Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
DeFi
Overview
Max Total Supply
999,999,999,999,999 CU
Holders
98 (0.00%)
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CryptoUnderground
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-03 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; // Crypto Underground (D4D.com) /** * We see the Unseen. Imagine a search engine specifically tailored for * Ethereum blockchain. Our core functionality revolves around providing * analytical insights into ERC-20 projects. Unlike conventional approaches * that might rely on influencer opinions, we strictly adhere to a data-driven, * analytics-based methodology. This ensures an objective assessment, focusing * on projects with a high probability of success. * * Our platform is ideal for users who value unbiased, analytical perspectives * in the rapidly evolving crypto space. For more information or to join our * community, visit our website and social media channels: * - Website: https://D4D.com * - Discord: https://discord.gg/eGWgN7M3mv * - Telegram: https://t.me/CryptoUndergroundCU */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) /** * @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. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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); } } /** * @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); } /** * @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); } contract CryptoUnderground is Context, IERC20, IERC20Metadata, Ownable { uint256 private constant MAX = ~uint256(0); uint256 private _rTotalSupply; // total supply in r-space uint256 private immutable _tTotalSupply; // total supply in t-space string private _name; string private _symbol; address[] private _excludedFromReward; uint256 public taxFee = 4; // 4 => 4% uint256 public totalFees; mapping(address => uint256) private _rBalances; // balances in r-space mapping(address => uint256) private _tBalances; // balances in t-space mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExcludedFromFee; mapping(address => bool) public isExcludedFromReward; mapping(address => bool) private whitelist; mapping(address => bool) public bots; bool public tradingActive = false; event SetFee(uint256 value); constructor(address owner_) { _name = 'Crypto Underground'; _symbol = 'CU'; _tTotalSupply = 999999999999999 * 10 ** decimals(); excludeFromFee(owner_); excludeFromFee(address(this)); _mint(owner_, _tTotalSupply); _transferOwnership(owner_); } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _tTotalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { uint256 rate = _getRate(); return _rBalances[account] / rate; } function transfer( address to, uint256 amount ) public virtual override returns (bool) { _transfer(msg.sender, to, amount); return true; } function allowance( address account, address spender ) public view virtual override returns (uint256) { return _allowances[account][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(msg.sender, spender, amount); return true; } 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; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( msg.sender, spender, allowance(msg.sender, spender) + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = allowance(msg.sender, spender); require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(msg.sender, spender, currentAllowance - subtractedValue); } return true; } function setFee(uint256 newTxFee) public onlyOwner { taxFee = newTxFee; emit SetFee(taxFee); } function enableTrading() external onlyOwner { require( tradingActive==false, "Trading is Already active." ); tradingActive = true; } function excludeFromReward(address account) public onlyOwner { require(!isExcludedFromReward[account], "Address already excluded"); require(_excludedFromReward.length < 100, "Excluded list is too long"); if (_rBalances[account] > 0) { uint256 rate = _getRate(); _tBalances[account] = _rBalances[account] / rate; } isExcludedFromReward[account] = true; _excludedFromReward.push(account); } function includeInReward(address account) public onlyOwner { require(isExcludedFromReward[account], "Account is already included"); uint256 nExcluded = _excludedFromReward.length; for (uint256 i = 0; i < nExcluded; i++) { if (_excludedFromReward[i] == account) { _excludedFromReward[i] = _excludedFromReward[ _excludedFromReward.length - 1 ]; _tBalances[account] = 0; isExcludedFromReward[account] = false; _excludedFromReward.pop(); break; } } } function excludeFromFee(address account) public onlyOwner { isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { isExcludedFromFee[account] = false; } function withdrawTokens( address tokenAddress, address receiverAddress ) external onlyOwner returns (bool success) { IERC20 tokenContract = IERC20(tokenAddress); uint256 amount = tokenContract.balanceOf(address(this)); return tokenContract.transfer(receiverAddress, amount); } function isWhiteListed(address account) public view returns (bool) { return whitelist[account]; } function removeWhitelist(address account) public onlyOwner() { whitelist[account] = false; } function setWhitelist(address[] memory whitelist_) public onlyOwner() { for (uint256 i = 0; i < whitelist_.length; i++) { whitelist[whitelist_[i]] = true; } } function blackListAddress(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBlackList(address notbot) public onlyOwner { bots[notbot] = false; } function _getRate() private view returns (uint256) { uint256 rSupply = _rTotalSupply; uint256 tSupply = _tTotalSupply; uint256 nExcluded = _excludedFromReward.length; for (uint256 i = 0; i < nExcluded; i++) { rSupply = rSupply - _rBalances[_excludedFromReward[i]]; tSupply = tSupply - _tBalances[_excludedFromReward[i]]; } if (rSupply < _rTotalSupply / _tTotalSupply) { rSupply = _rTotalSupply; tSupply = _tTotalSupply; } // rSupply always > tSupply (no precision loss) uint256 rate = rSupply / tSupply; return rate; } 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"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()){ require(!bots[from] && !bots[to], "Your account is blacklisted!"); if(!tradingActive){ require(whitelist[from] || whitelist[to] || whitelist[msg.sender]); } } uint256 _taxFee; if (isExcludedFromFee[from] || isExcludedFromFee[to]) { _taxFee = 0; } else { _taxFee = taxFee; } // calc t-values uint256 tAmount = amount; uint256 tTxFee = (tAmount * _taxFee) / 100; uint256 tTransferAmount = tAmount - tTxFee; // calc r-values uint256 rate = _getRate(); uint256 rTxFee = tTxFee * rate; uint256 rAmount = tAmount * rate; uint256 rTransferAmount = rAmount - rTxFee; // check balances uint256 rFromBalance = _rBalances[from]; uint256 tFromBalance = _tBalances[from]; if (isExcludedFromReward[from]) { require( tFromBalance >= tAmount, "ERC20: transfer amount exceeds balance" ); } else { require( rFromBalance >= rAmount, "ERC20: transfer amount exceeds balance" ); } // Overflow not possible: the sum of all balances is capped by // rTotalSupply and tTotalSupply, and the sum is preserved by // decrementing then incrementing. unchecked { // udpate balances in r-space _rBalances[from] = rFromBalance - rAmount; _rBalances[to] += rTransferAmount; // update balances in t-space if (isExcludedFromReward[from] && isExcludedFromReward[to]) { _tBalances[from] = tFromBalance - tAmount; _tBalances[to] += tTransferAmount; } else if ( isExcludedFromReward[from] && !isExcludedFromReward[to] ) { // could technically underflow but because tAmount is a // function of rAmount and _rTotalSupply == _tTotalSupply // it won't _tBalances[from] = tFromBalance - tAmount; } else if ( !isExcludedFromReward[from] && isExcludedFromReward[to] ) { // could technically overflow but because tAmount is a // function of rAmount and _rTotalSupply == _tTotalSupply // it won't _tBalances[to] += tTransferAmount; } // reflect fee // can never go below zero because rTxFee percentage of // current _rTotalSupply _rTotalSupply = _rTotalSupply - rTxFee; totalFees += tTxFee; } emit Transfer(from, to, tTransferAmount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _rTotalSupply += (MAX - (MAX % amount)); unchecked { _rBalances[account] += _rTotalSupply; } emit Transfer(address(0), account, amount); } function _approve( address account, address spender, uint256 amount ) internal virtual { require(account != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[account][spender] = amount; emit Approval(account, spender, amount); } function _spendAllowance( address account, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(account, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(account, spender, currentAllowance - amount); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"owner_","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":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"SetFee","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":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blackListAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhiteListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"whitelist_","type":"address[]"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"receiverAddress","type":"address"}],"name":"withdrawTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040526004600555600e805460ff191690553480156200001f575f80fd5b5060405162001fbc38038062001fbc8339810160408190526200004291620002d9565b6200004d336200010f565b60408051808201909152601281527110dc9e5c1d1bc8155b99195c99dc9bdd5b9960721b6020820152600290620000859082620003a6565b50604080518082019091526002815261435560f01b6020820152600390620000ae9082620003a6565b50620000bd6012600a62000581565b620000d09066038d7ea4c67fff62000591565b608052620000de816200015e565b620000e9306200015e565b620000fd816080516200018b60201b60201c565b62000108816200010f565b50620005f7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620001686200027c565b6001600160a01b03165f908152600a60205260409020805460ff19166001179055565b6001600160a01b038216620001e75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001f4815f19620005ab565b62000201905f19620005cb565b60015f828254620002139190620005e1565b90915550506001546001600160a01b0383165f81815260076020526040808220805490940190935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002709085815260200190565b60405180910390a35050565b5f546001600160a01b03163314620002d75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620001de565b565b5f60208284031215620002ea575f80fd5b81516001600160a01b038116811462000301575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200033157607f821691505b6020821081036200035057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003a157805f5260205f20601f840160051c810160208510156200037d5750805b601f840160051c820191505b818110156200039e575f815560010162000389565b50505b505050565b81516001600160401b03811115620003c257620003c262000308565b620003da81620003d384546200031c565b8462000356565b602080601f83116001811462000410575f8415620003f85750858301515b5f19600386901b1c1916600185901b1785556200046a565b5f85815260208120601f198616915b8281101562000440578886015182559484019460019091019084016200041f565b50858210156200045e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004c657815f1904821115620004aa57620004aa62000472565b80851615620004b857918102915b93841c93908002906200048b565b509250929050565b5f82620004de575060016200057b565b81620004ec57505f6200057b565b8160018114620005055760028114620005105762000530565b60019150506200057b565b60ff84111562000524576200052462000472565b50506001821b6200057b565b5060208310610133831016604e8410600b841016171562000555575081810a6200057b565b62000561838362000486565b805f190482111562000577576200057762000472565b0290505b92915050565b5f6200030160ff841683620004ce565b80820281158282048414176200057b576200057b62000472565b5f82620005c657634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200057b576200057b62000472565b808201808211156200057b576200057b62000472565b608051611997620006255f395f8181610245015281816114a101528181611562015261159c01526119975ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c8063715018a611610109578063a522ad251161009e578063dd62ed3e1161006e578063dd62ed3e1461044a578063ea2f0b371461045d578063f2fde38b14610470578063f421764814610483575f80fd5b8063a522ad25146103f5578063a9059cbb14610408578063bbc0c7421461041b578063bfd7928414610428575f80fd5b80638da5cb5b116100d95780638da5cb5b146103b757806395d89b41146103d1578063a071dcf4146103d9578063a457c2d7146103e2575f80fd5b8063715018a61461037257806378c8cda71461037a57806388f820201461038d5780638a8c523c146103af575f80fd5b8063437823ec1161017f57806369fe0e2d1161014f57806369fe0e2d1461030e5780636a01e33b146103215780636f9170f61461033457806370a082311461035f575f80fd5b8063437823ec146102b357806352390c02146102c65780635342acb4146102d9578063583a71b6146102fb575f80fd5b806323b872dd116101ba57806323b872dd14610269578063313ce5671461027c5780633685d4191461028b57806339509351146102a0575f80fd5b806306fdde03146101eb578063095ea7b31461020957806313114a9d1461022c57806318160ddd14610243575b5f80fd5b6101f3610496565b6040516102009190611618565b60405180910390f35b61021c61021736600461167f565b610526565b6040519015158152602001610200565b61023560065481565b604051908152602001610200565b7f0000000000000000000000000000000000000000000000000000000000000000610235565b61021c6102773660046116a7565b61053c565b60405160128152602001610200565b61029e6102993660046116e0565b61055f565b005b61021c6102ae36600461167f565b6106ea565b61029e6102c13660046116e0565b61070a565b61029e6102d43660046116e0565b610735565b61021c6102e73660046116e0565b600a6020525f908152604090205460ff1681565b61029e61030936600461170d565b6108c2565b61029e61031c3660046117cd565b610929565b61029e61032f3660046116e0565b61096b565b61021c6103423660046116e0565b6001600160a01b03165f908152600c602052604090205460ff1690565b61023561036d3660046116e0565b610993565b61029e6109ca565b61029e6103883660046116e0565b6109dd565b61021c61039b3660046116e0565b600b6020525f908152604090205460ff1681565b61029e610a05565b5f546040516001600160a01b039091168152602001610200565b6101f3610a6f565b61023560055481565b61021c6103f036600461167f565b610a7e565b61021c6104033660046117e4565b610b01565b61021c61041636600461167f565b610bf1565b600e5461021c9060ff1681565b61021c6104363660046116e0565b600d6020525f908152604090205460ff1681565b6102356104583660046117e4565b610bfd565b61029e61046b3660046116e0565b610c27565b61029e61047e3660046116e0565b610c4f565b61029e61049136600461170d565b610cc8565b6060600280546104a590611815565b80601f01602080910402602001604051908101604052809291908181526020018280546104d190611815565b801561051c5780601f106104f35761010080835404028352916020019161051c565b820191905f5260205f20905b8154815290600101906020018083116104ff57829003601f168201915b5050505050905090565b5f610532338484610d2b565b5060015b92915050565b5f33610549858285610e4e565b610554858585610ec6565b506001949350505050565b61056761143d565b6001600160a01b0381165f908152600b602052604090205460ff166105d35760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064015b60405180910390fd5b6004545f5b818110156106e557826001600160a01b0316600482815481106105fd576105fd61184d565b5f918252602090912001546001600160a01b0316036106dd576004805461062690600190611875565b815481106106365761063661184d565b5f91825260209091200154600480546001600160a01b0390921691839081106106615761066161184d565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559185168152600882526040808220829055600b90925220805460ff1916905560048054806106b8576106b8611888565b5f8281526020902081015f1990810180546001600160a01b0319169055019055505050565b6001016105d8565b505050565b5f6105323384846106fb3388610bfd565b610705919061189c565b610d2b565b61071261143d565b6001600160a01b03165f908152600a60205260409020805460ff19166001179055565b61073d61143d565b6001600160a01b0381165f908152600b602052604090205460ff16156107a55760405162461bcd60e51b815260206004820152601860248201527f4164647265737320616c7265616479206578636c75646564000000000000000060448201526064016105ca565b6004546064116107f75760405162461bcd60e51b815260206004820152601960248201527f4578636c75646564206c69737420697320746f6f206c6f6e670000000000000060448201526064016105ca565b6001600160a01b0381165f908152600760205260409020541561085d575f61081d611496565b6001600160a01b0383165f908152600760205260409020549091506108439082906118af565b6001600160a01b0383165f90815260086020526040902055505b6001600160a01b03165f818152600b60205260408120805460ff191660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055565b6108ca61143d565b5f5b8151811015610925576001600d5f8484815181106108ec576108ec61184d565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108cc565b5050565b61093161143d565b60058190556040518181527e172ddfc5ae88d08b3de01a5a187667c37a5a53989e8c175055cb6c993792a79060200160405180910390a150565b61097361143d565b6001600160a01b03165f908152600d60205260409020805460ff19169055565b5f8061099d611496565b6001600160a01b0384165f908152600760205260409020549091506109c39082906118af565b9392505050565b6109d261143d565b6109db5f6115c9565b565b6109e561143d565b6001600160a01b03165f908152600c60205260409020805460ff19169055565b610a0d61143d565b600e5460ff1615610a605760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320416c7265616479206163746976652e00000000000060448201526064016105ca565b600e805460ff19166001179055565b6060600380546104a590611815565b5f80610a8a3385610bfd565b905082811015610aea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105ca565b610af73385858403610d2b565b5060019392505050565b5f610b0a61143d565b6040516370a0823160e01b815230600482015283905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610b50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7491906118ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192509083169063a9059cbb906044016020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906118e5565b95945050505050565b5f610532338484610ec6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b610c2f61143d565b6001600160a01b03165f908152600a60205260409020805460ff19169055565b610c5761143d565b6001600160a01b038116610cbc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ca565b610cc5816115c9565b50565b610cd061143d565b5f5b8151811015610925576001600c5f848481518110610cf257610cf261184d565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610cd2565b6001600160a01b038316610d8d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ca565b6001600160a01b038216610dee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ca565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610e598484610bfd565b90505f198114610ec05781811015610eb35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105ca565b610ec08484848403610d2b565b50505050565b6001600160a01b038316610f2a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ca565b6001600160a01b038216610f8c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ca565b5f8111610fed5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ca565b5f546001600160a01b0384811691161480159061101757505f546001600160a01b03838116911614155b15611110576001600160a01b0383165f908152600d602052604090205460ff1615801561105c57506001600160a01b0382165f908152600d602052604090205460ff16155b6110a85760405162461bcd60e51b815260206004820152601c60248201527f596f7572206163636f756e7420697320626c61636b6c6973746564210000000060448201526064016105ca565b600e5460ff16611110576001600160a01b0383165f908152600c602052604090205460ff16806110ef57506001600160a01b0382165f908152600c602052604090205460ff165b806111085750335f908152600c602052604090205460ff165b611110575f80fd5b6001600160a01b0383165f908152600a602052604081205460ff168061114d57506001600160a01b0383165f908152600a602052604090205460ff165b1561115957505f61115e565b506005545b815f606461116c8484611904565b61117691906118af565b90505f6111838284611875565b90505f61118e611496565b90505f61119b8285611904565b90505f6111a88387611904565b90505f6111b58383611875565b6001600160a01b038c165f908152600760209081526040808320546008835281842054600b909352922054929350909160ff1615611212578881101561120d5760405162461bcd60e51b81526004016105ca9061191b565b611232565b838210156112325760405162461bcd60e51b81526004016105ca9061191b565b83820360075f8f6001600160a01b03166001600160a01b031681526020019081526020015f20819055508260075f8e6001600160a01b03166001600160a01b031681526020019081526020015f205f8282540192505081905550600b5f8e6001600160a01b03166001600160a01b031681526020019081526020015f205f9054906101000a900460ff1680156112df57506001600160a01b038c165f908152600b602052604090205460ff165b15611313576001600160a01b03808e165f908152600860205260408082208c85039055918e168152208054880190556113da565b6001600160a01b038d165f908152600b602052604090205460ff16801561135257506001600160a01b038c165f908152600b602052604090205460ff16155b15611378576001600160a01b038d165f90815260086020526040902089820390556113da565b6001600160a01b038d165f908152600b602052604090205460ff161580156113b757506001600160a01b038c165f908152600b602052604090205460ff165b156113da576001600160a01b038c165f9081526008602052604090208054880190555b60018054869003905560068054890190556040518781526001600160a01b038d811691908f16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050505050505050565b5f546001600160a01b031633146109db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ca565b6001546004545f91907f000000000000000000000000000000000000000000000000000000000000000090835b8181101561155f5760075f600483815481106114e1576114e161184d565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205461150f9085611875565b935060085f600483815481106115275761152761184d565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546115559084611875565b92506001016114c3565b507f000000000000000000000000000000000000000000000000000000000000000060015461158e91906118af565b8310156115be5760015492507f000000000000000000000000000000000000000000000000000000000000000091505b5f610be883856118af565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602080835283518060208501525f5b8181101561164457858101830151858201604001528201611628565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461167a575f80fd5b919050565b5f8060408385031215611690575f80fd5b61169983611664565b946020939093013593505050565b5f805f606084860312156116b9575f80fd5b6116c284611664565b92506116d060208501611664565b9150604084013590509250925092565b5f602082840312156116f0575f80fd5b6109c382611664565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561171e575f80fd5b823567ffffffffffffffff80821115611735575f80fd5b818501915085601f830112611748575f80fd5b81358181111561175a5761175a6116f9565b8060051b604051601f19603f8301168101818110858211171561177f5761177f6116f9565b60405291825284820192508381018501918883111561179c575f80fd5b938501935b828510156117c1576117b285611664565b845293850193928501926117a1565b98975050505050505050565b5f602082840312156117dd575f80fd5b5035919050565b5f80604083850312156117f5575f80fd5b6117fe83611664565b915061180c60208401611664565b90509250929050565b600181811c9082168061182957607f821691505b60208210810361184757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561053657610536611861565b634e487b7160e01b5f52603160045260245ffd5b8082018082111561053657610536611861565b5f826118c957634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156118de575f80fd5b5051919050565b5f602082840312156118f5575f80fd5b815180151581146109c3575f80fd5b808202811582820484141761053657610536611861565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b60608201526080019056fea2646970667358221220beec0a182d8d0327c95b8a1115ef671e9d6458fc34fdc71e0993b45b85d47d7864736f6c63430008170033000000000000000000000000621064934b6a8a6d937fbf6532a20558b52367dc
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101e7575f3560e01c8063715018a611610109578063a522ad251161009e578063dd62ed3e1161006e578063dd62ed3e1461044a578063ea2f0b371461045d578063f2fde38b14610470578063f421764814610483575f80fd5b8063a522ad25146103f5578063a9059cbb14610408578063bbc0c7421461041b578063bfd7928414610428575f80fd5b80638da5cb5b116100d95780638da5cb5b146103b757806395d89b41146103d1578063a071dcf4146103d9578063a457c2d7146103e2575f80fd5b8063715018a61461037257806378c8cda71461037a57806388f820201461038d5780638a8c523c146103af575f80fd5b8063437823ec1161017f57806369fe0e2d1161014f57806369fe0e2d1461030e5780636a01e33b146103215780636f9170f61461033457806370a082311461035f575f80fd5b8063437823ec146102b357806352390c02146102c65780635342acb4146102d9578063583a71b6146102fb575f80fd5b806323b872dd116101ba57806323b872dd14610269578063313ce5671461027c5780633685d4191461028b57806339509351146102a0575f80fd5b806306fdde03146101eb578063095ea7b31461020957806313114a9d1461022c57806318160ddd14610243575b5f80fd5b6101f3610496565b6040516102009190611618565b60405180910390f35b61021c61021736600461167f565b610526565b6040519015158152602001610200565b61023560065481565b604051908152602001610200565b7f000000000000000000000000000000000000314dc6448d932ae0a456589c0000610235565b61021c6102773660046116a7565b61053c565b60405160128152602001610200565b61029e6102993660046116e0565b61055f565b005b61021c6102ae36600461167f565b6106ea565b61029e6102c13660046116e0565b61070a565b61029e6102d43660046116e0565b610735565b61021c6102e73660046116e0565b600a6020525f908152604090205460ff1681565b61029e61030936600461170d565b6108c2565b61029e61031c3660046117cd565b610929565b61029e61032f3660046116e0565b61096b565b61021c6103423660046116e0565b6001600160a01b03165f908152600c602052604090205460ff1690565b61023561036d3660046116e0565b610993565b61029e6109ca565b61029e6103883660046116e0565b6109dd565b61021c61039b3660046116e0565b600b6020525f908152604090205460ff1681565b61029e610a05565b5f546040516001600160a01b039091168152602001610200565b6101f3610a6f565b61023560055481565b61021c6103f036600461167f565b610a7e565b61021c6104033660046117e4565b610b01565b61021c61041636600461167f565b610bf1565b600e5461021c9060ff1681565b61021c6104363660046116e0565b600d6020525f908152604090205460ff1681565b6102356104583660046117e4565b610bfd565b61029e61046b3660046116e0565b610c27565b61029e61047e3660046116e0565b610c4f565b61029e61049136600461170d565b610cc8565b6060600280546104a590611815565b80601f01602080910402602001604051908101604052809291908181526020018280546104d190611815565b801561051c5780601f106104f35761010080835404028352916020019161051c565b820191905f5260205f20905b8154815290600101906020018083116104ff57829003601f168201915b5050505050905090565b5f610532338484610d2b565b5060015b92915050565b5f33610549858285610e4e565b610554858585610ec6565b506001949350505050565b61056761143d565b6001600160a01b0381165f908152600b602052604090205460ff166105d35760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064015b60405180910390fd5b6004545f5b818110156106e557826001600160a01b0316600482815481106105fd576105fd61184d565b5f918252602090912001546001600160a01b0316036106dd576004805461062690600190611875565b815481106106365761063661184d565b5f91825260209091200154600480546001600160a01b0390921691839081106106615761066161184d565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559185168152600882526040808220829055600b90925220805460ff1916905560048054806106b8576106b8611888565b5f8281526020902081015f1990810180546001600160a01b0319169055019055505050565b6001016105d8565b505050565b5f6105323384846106fb3388610bfd565b610705919061189c565b610d2b565b61071261143d565b6001600160a01b03165f908152600a60205260409020805460ff19166001179055565b61073d61143d565b6001600160a01b0381165f908152600b602052604090205460ff16156107a55760405162461bcd60e51b815260206004820152601860248201527f4164647265737320616c7265616479206578636c75646564000000000000000060448201526064016105ca565b6004546064116107f75760405162461bcd60e51b815260206004820152601960248201527f4578636c75646564206c69737420697320746f6f206c6f6e670000000000000060448201526064016105ca565b6001600160a01b0381165f908152600760205260409020541561085d575f61081d611496565b6001600160a01b0383165f908152600760205260409020549091506108439082906118af565b6001600160a01b0383165f90815260086020526040902055505b6001600160a01b03165f818152600b60205260408120805460ff191660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055565b6108ca61143d565b5f5b8151811015610925576001600d5f8484815181106108ec576108ec61184d565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108cc565b5050565b61093161143d565b60058190556040518181527e172ddfc5ae88d08b3de01a5a187667c37a5a53989e8c175055cb6c993792a79060200160405180910390a150565b61097361143d565b6001600160a01b03165f908152600d60205260409020805460ff19169055565b5f8061099d611496565b6001600160a01b0384165f908152600760205260409020549091506109c39082906118af565b9392505050565b6109d261143d565b6109db5f6115c9565b565b6109e561143d565b6001600160a01b03165f908152600c60205260409020805460ff19169055565b610a0d61143d565b600e5460ff1615610a605760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320416c7265616479206163746976652e00000000000060448201526064016105ca565b600e805460ff19166001179055565b6060600380546104a590611815565b5f80610a8a3385610bfd565b905082811015610aea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105ca565b610af73385858403610d2b565b5060019392505050565b5f610b0a61143d565b6040516370a0823160e01b815230600482015283905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610b50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7491906118ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192509083169063a9059cbb906044016020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906118e5565b95945050505050565b5f610532338484610ec6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b610c2f61143d565b6001600160a01b03165f908152600a60205260409020805460ff19169055565b610c5761143d565b6001600160a01b038116610cbc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ca565b610cc5816115c9565b50565b610cd061143d565b5f5b8151811015610925576001600c5f848481518110610cf257610cf261184d565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610cd2565b6001600160a01b038316610d8d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ca565b6001600160a01b038216610dee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ca565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610e598484610bfd565b90505f198114610ec05781811015610eb35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105ca565b610ec08484848403610d2b565b50505050565b6001600160a01b038316610f2a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ca565b6001600160a01b038216610f8c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ca565b5f8111610fed5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ca565b5f546001600160a01b0384811691161480159061101757505f546001600160a01b03838116911614155b15611110576001600160a01b0383165f908152600d602052604090205460ff1615801561105c57506001600160a01b0382165f908152600d602052604090205460ff16155b6110a85760405162461bcd60e51b815260206004820152601c60248201527f596f7572206163636f756e7420697320626c61636b6c6973746564210000000060448201526064016105ca565b600e5460ff16611110576001600160a01b0383165f908152600c602052604090205460ff16806110ef57506001600160a01b0382165f908152600c602052604090205460ff165b806111085750335f908152600c602052604090205460ff165b611110575f80fd5b6001600160a01b0383165f908152600a602052604081205460ff168061114d57506001600160a01b0383165f908152600a602052604090205460ff165b1561115957505f61115e565b506005545b815f606461116c8484611904565b61117691906118af565b90505f6111838284611875565b90505f61118e611496565b90505f61119b8285611904565b90505f6111a88387611904565b90505f6111b58383611875565b6001600160a01b038c165f908152600760209081526040808320546008835281842054600b909352922054929350909160ff1615611212578881101561120d5760405162461bcd60e51b81526004016105ca9061191b565b611232565b838210156112325760405162461bcd60e51b81526004016105ca9061191b565b83820360075f8f6001600160a01b03166001600160a01b031681526020019081526020015f20819055508260075f8e6001600160a01b03166001600160a01b031681526020019081526020015f205f8282540192505081905550600b5f8e6001600160a01b03166001600160a01b031681526020019081526020015f205f9054906101000a900460ff1680156112df57506001600160a01b038c165f908152600b602052604090205460ff165b15611313576001600160a01b03808e165f908152600860205260408082208c85039055918e168152208054880190556113da565b6001600160a01b038d165f908152600b602052604090205460ff16801561135257506001600160a01b038c165f908152600b602052604090205460ff16155b15611378576001600160a01b038d165f90815260086020526040902089820390556113da565b6001600160a01b038d165f908152600b602052604090205460ff161580156113b757506001600160a01b038c165f908152600b602052604090205460ff165b156113da576001600160a01b038c165f9081526008602052604090208054880190555b60018054869003905560068054890190556040518781526001600160a01b038d811691908f16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050505050505050565b5f546001600160a01b031633146109db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ca565b6001546004545f91907f000000000000000000000000000000000000314dc6448d932ae0a456589c000090835b8181101561155f5760075f600483815481106114e1576114e161184d565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205461150f9085611875565b935060085f600483815481106115275761152761184d565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546115559084611875565b92506001016114c3565b507f000000000000000000000000000000000000314dc6448d932ae0a456589c000060015461158e91906118af565b8310156115be5760015492507f000000000000000000000000000000000000314dc6448d932ae0a456589c000091505b5f610be883856118af565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602080835283518060208501525f5b8181101561164457858101830151858201604001528201611628565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461167a575f80fd5b919050565b5f8060408385031215611690575f80fd5b61169983611664565b946020939093013593505050565b5f805f606084860312156116b9575f80fd5b6116c284611664565b92506116d060208501611664565b9150604084013590509250925092565b5f602082840312156116f0575f80fd5b6109c382611664565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561171e575f80fd5b823567ffffffffffffffff80821115611735575f80fd5b818501915085601f830112611748575f80fd5b81358181111561175a5761175a6116f9565b8060051b604051601f19603f8301168101818110858211171561177f5761177f6116f9565b60405291825284820192508381018501918883111561179c575f80fd5b938501935b828510156117c1576117b285611664565b845293850193928501926117a1565b98975050505050505050565b5f602082840312156117dd575f80fd5b5035919050565b5f80604083850312156117f5575f80fd5b6117fe83611664565b915061180c60208401611664565b90509250929050565b600181811c9082168061182957607f821691505b60208210810361184757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561053657610536611861565b634e487b7160e01b5f52603160045260245ffd5b8082018082111561053657610536611861565b5f826118c957634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156118de575f80fd5b5051919050565b5f602082840312156118f5575f80fd5b815180151581146109c3575f80fd5b808202811582820484141761053657610536611861565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b60608201526080019056fea2646970667358221220beec0a182d8d0327c95b8a1115ef671e9d6458fc34fdc71e0993b45b85d47d7864736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000621064934b6a8a6d937fbf6532a20558b52367dc
-----Decoded View---------------
Arg [0] : owner_ (address): 0x621064934b6A8A6D937fbF6532A20558b52367DC
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000621064934b6a8a6d937fbf6532a20558b52367dc
Deployed Bytecode Sourcemap
6984:11527:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8269:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9282:192;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;9282:192:0;1004:187:1;7392:24:0;;;;;;;;;1342:25:1;;;1330:2;1315:18;7392:24:0;1196:177:1;8590:109:0;8678:13;8590:109;;9482:295;;;;;;:::i;:::-;;:::i;8489:93::-;;;8572:2;1853:36:1;;1841:2;1826:18;8489:93:0;1711:184:1;11387:636:0;;;;;;:::i;:::-;;:::i;:::-;;9785:284;;;;;;:::i;:::-;;:::i;12031:110::-;;;;;;:::i;:::-;;:::i;10904:475::-;;;;;;:::i;:::-;;:::i;7653:49::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;13039:176;;;;;;:::i;:::-;;:::i;10554:117::-;;;;;;:::i;:::-;;:::i;13222:98::-;;;;;;:::i;:::-;;:::i;12604:111::-;;;;;;:::i;:::-;-1:-1:-1;;;;;12689:18:0;12665:4;12689:18;;;:9;:18;;;;;;;;;12604:111;8707:187;;;;;;:::i;:::-;;:::i;2940:103::-;;;:::i;12724:105::-;;;;;;:::i;:::-;;:::i;7709:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10673:225;;;:::i;2299:87::-;2345:7;2372:6;2299:87;;-1:-1:-1;;;;;2372:6:0;;;3680:51:1;;3668:2;3653:18;2299:87:0;3534:203:1;8377:104:0;;;:::i;7349:25::-;;;;;;10077:469;;;;;;:::i;:::-;;:::i;12266:331::-;;;;;;:::i;:::-;;:::i;8902:184::-;;;;;;:::i;:::-;;:::i;7866:33::-;;;;;;;;;7822:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9094:180;;;;;;:::i;:::-;;:::i;12149:109::-;;;;;;:::i;:::-;;:::i;3198:201::-;;;;;;:::i;:::-;;:::i;12837:194::-;;;;;;:::i;:::-;;:::i;8269:100::-;8323:13;8356:5;8349:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8269:100;:::o;9282:192::-;9390:4;9407:37;9416:10;9428:7;9437:6;9407:8;:37::i;:::-;-1:-1:-1;9462:4:0;9282:192;;;;;:::o;9482:295::-;9613:4;1014:10;9671:38;9687:4;1014:10;9702:6;9671:15;:38::i;:::-;9720:27;9730:4;9736:2;9740:6;9720:9;:27::i;:::-;-1:-1:-1;9765:4:0;;9482:295;-1:-1:-1;;;;9482:295:0:o;11387:636::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;11465:29:0;::::1;;::::0;;;:20:::1;:29;::::0;;;;;::::1;;11457:69;;;::::0;-1:-1:-1;;;11457:69:0;;4594:2:1;11457:69:0::1;::::0;::::1;4576:21:1::0;4633:2;4613:18;;;4606:30;4672:29;4652:18;;;4645:57;4719:18;;11457:69:0::1;;;;;;;;;11557:19;:26:::0;11537:17:::1;11594:422;11618:9;11614:1;:13;11594:422;;;11679:7;-1:-1:-1::0;;;;;11653:33:0::1;:19;11673:1;11653:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;11653:22:0::1;:33:::0;11649:356:::1;;11732:19;11774:26:::0;;:30:::1;::::0;11803:1:::1;::::0;11774:30:::1;:::i;:::-;11732:91;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;11707:19:::1;:22:::0;;-1:-1:-1;;;;;11732:91:0;;::::1;::::0;11727:1;;11707:22;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:116:::0;;-1:-1:-1;;;;;;11707:116:0::1;-1:-1:-1::0;;;;;11707:116:0;;::::1;;::::0;;11842:19;;::::1;::::0;;:10:::1;:19:::0;;;;;;:23;;;11884:20:::1;:29:::0;;;;:37;;-1:-1:-1;;11884:37:0::1;::::0;;11940:19:::1;:25:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;11940:25:0;;;;;-1:-1:-1;;;;;;11940:25:0::1;::::0;;;;;11594:422:::1;11446:577;11387:636:::0;:::o;11649:356::-:1;11629:3;;11594:422;;;;11446:577;11387:636:::0;:::o;9785:284::-;9898:4;9915:124;9938:10;9963:7;10018:10;9985:30;9995:10;10007:7;9985:9;:30::i;:::-;:43;;;;:::i;:::-;9915:8;:124::i;12031:110::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;12100:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;12100:33:0::1;12129:4;12100:33;::::0;;12031:110::o;10904:475::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;10985:29:0;::::1;;::::0;;;:20:::1;:29;::::0;;;;;::::1;;10984:30;10976:67;;;::::0;-1:-1:-1;;;10976:67:0;;5609:2:1;10976:67:0::1;::::0;::::1;5591:21:1::0;5648:2;5628:18;;;5621:30;5687:26;5667:18;;;5660:54;5731:18;;10976:67:0::1;5407:348:1::0;10976:67:0::1;11062:19;:26:::0;11091:3:::1;-1:-1:-1::0;11054:70:0::1;;;::::0;-1:-1:-1;;;11054:70:0;;5962:2:1;11054:70:0::1;::::0;::::1;5944:21:1::0;6001:2;5981:18;;;5974:30;6040:27;6020:18;;;6013:55;6085:18;;11054:70:0::1;5760:349:1::0;11054:70:0::1;-1:-1:-1::0;;;;;11141:19:0;::::1;11163:1;11141:19:::0;;;:10:::1;:19;::::0;;;;;:23;11137:144:::1;;11181:12;11196:10;:8;:10::i;:::-;-1:-1:-1::0;;;;;11243:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;11181:25;;-1:-1:-1;11243:26:0::1;::::0;11181:25;;11243:26:::1;:::i;:::-;-1:-1:-1::0;;;;;11221:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;:48;-1:-1:-1;11137:144:0::1;-1:-1:-1::0;;;;;11291:29:0::1;;::::0;;;:20:::1;:29;::::0;;;;:36;;-1:-1:-1;;11291:36:0::1;11323:4;11291:36:::0;;::::1;::::0;;;11338:19:::1;:33:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;11338:33:0::1;::::0;;::::1;::::0;;10904:475::o;13039:176::-;2185:13;:11;:13::i;:::-;13122:9:::1;13117:91;13141:5;:12;13137:1;:16;13117:91;;;13192:4;13175;:14;13180:5;13186:1;13180:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13175:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13175:14:0;:21;;-1:-1:-1;;13175:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13155:3:0::1;13117:91;;;;13039:176:::0;:::o;10554:117::-;2185:13;:11;:13::i;:::-;10616:6:::1;:17:::0;;;10649:14:::1;::::0;1342:25:1;;;10649:14:0::1;::::0;1330:2:1;1315:18;10649:14:0::1;;;;;;;10554:117:::0;:::o;13222:98::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;13292:12:0::1;13307:5;13292:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13292:20:0::1;::::0;;13222:98::o;8707:187::-;8797:7;8817:12;8832:10;:8;:10::i;:::-;-1:-1:-1;;;;;8860:19:0;;;;;;:10;:19;;;;;;8817:25;;-1:-1:-1;8860:26:0;;8817:25;;8860:26;:::i;:::-;8853:33;8707:187;-1:-1:-1;;;8707:187:0:o;2940:103::-;2185:13;:11;:13::i;:::-;3005:30:::1;3032:1;3005:18;:30::i;:::-;2940:103::o:0;12724:105::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;12795:18:0::1;12816:5;12795:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;12795:26:0::1;::::0;;12724:105::o;10673:225::-;2185:13;:11;:13::i;:::-;10761::::1;::::0;::::1;;:20;10730:129;;;::::0;-1:-1:-1;;;10730:129:0;;6538:2:1;10730:129:0::1;::::0;::::1;6520:21:1::0;6577:2;6557:18;;;6550:30;6616:28;6596:18;;;6589:56;6662:18;;10730:129:0::1;6336:350:1::0;10730:129:0::1;10870:13;:20:::0;;-1:-1:-1;;10870:20:0::1;10886:4;10870:20;::::0;;10673:225::o;8377:104::-;8433:13;8466:7;8459:14;;;;;:::i;10077:469::-;10195:4;10212:24;10239:30;10249:10;10261:7;10239:9;:30::i;:::-;10212:57;;10322:15;10302:16;:35;;10280:122;;;;-1:-1:-1;;;10280:122:0;;6893:2:1;10280:122:0;;;6875:21:1;6932:2;6912:18;;;6905:30;6971:34;6951:18;;;6944:62;-1:-1:-1;;;7022:18:1;;;7015:35;7067:19;;10280:122:0;6691:401:1;10280:122:0;10438:65;10447:10;10459:7;10487:15;10468:16;:34;10438:8;:65::i;:::-;-1:-1:-1;10534:4:0;;10077:469;-1:-1:-1;;;10077:469:0:o;12266:331::-;12390:12;2185:13;:11;:13::i;:::-;12486:38:::1;::::0;-1:-1:-1;;;12486:38:0;;12518:4:::1;12486:38;::::0;::::1;3680:51:1::0;12445:12:0;;12415:20:::1;::::0;-1:-1:-1;;;;;12486:23:0;::::1;::::0;::::1;::::0;3653:18:1;;12486:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12542:47;::::0;-1:-1:-1;;;12542:47:0;;-1:-1:-1;;;;;7478:32:1;;;12542:47:0::1;::::0;::::1;7460:51:1::0;7527:18;;;7520:34;;;12469:55:0;;-1:-1:-1;12542:22:0;;::::1;::::0;::::1;::::0;7433:18:1;;12542:47:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12535:54:::0;12266:331;-1:-1:-1;;;;;12266:331:0:o;8902:184::-;9006:4;9023:33;9033:10;9045:2;9049:6;9023:9;:33::i;9094:180::-;-1:-1:-1;;;;;9237:20:0;;;9210:7;9237:20;;;:11;:20;;;;;;;;:29;;;;;;;;;;;;;9094:180::o;12149:109::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;12216:26:0::1;12245:5;12216:26:::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;12216:34:0::1;::::0;;12149:109::o;3198:201::-;2185:13;:11;:13::i;:::-;-1:-1:-1;;;;;3287:22:0;::::1;3279:73;;;::::0;-1:-1:-1;;;3279:73:0;;8049:2:1;3279:73:0::1;::::0;::::1;8031:21:1::0;8088:2;8068:18;;;8061:30;8127:34;8107:18;;;8100:62;-1:-1:-1;;;8178:18:1;;;8171:36;8224:19;;3279:73:0::1;7847:402:1::0;3279:73:0::1;3363:28;3382:8;3363:18;:28::i;:::-;3198:201:::0;:::o;12837:194::-;2185:13;:11;:13::i;:::-;12923:9:::1;12918:106;12942:10;:17;12938:1;:21;12918:106;;;13008:4;12981:9;:24;12991:10;13002:1;12991:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12981:24:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12981:24:0;:31;;-1:-1:-1;;12981:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12961:3:0::1;12918:106;;17604:388:::0;-1:-1:-1;;;;;17742:21:0;;17734:70;;;;-1:-1:-1;;;17734:70:0;;8456:2:1;17734:70:0;;;8438:21:1;8495:2;8475:18;;;8468:30;8534:34;8514:18;;;8507:62;-1:-1:-1;;;8585:18:1;;;8578:34;8629:19;;17734:70:0;8254:400:1;17734:70:0;-1:-1:-1;;;;;17823:21:0;;17815:68;;;;-1:-1:-1;;;17815:68:0;;8861:2:1;17815:68:0;;;8843:21:1;8900:2;8880:18;;;8873:30;8939:34;8919:18;;;8912:62;-1:-1:-1;;;8990:18:1;;;8983:32;9032:19;;17815:68:0;8659:398:1;17815:68:0;-1:-1:-1;;;;;17896:20:0;;;;;;;:11;:20;;;;;;;;:29;;;;;;;;;;;;;:38;;;17950:34;;1342:25:1;;;17950:34:0;;1315:18:1;17950:34:0;;;;;;;17604:388;;;:::o;18000:508::-;18137:24;18164:27;18174:7;18183;18164:9;:27::i;:::-;18137:54;;-1:-1:-1;;18206:16:0;:37;18202:299;;18306:6;18286:16;:26;;18260:117;;;;-1:-1:-1;;;18260:117:0;;9264:2:1;18260:117:0;;;9246:21:1;9303:2;9283:18;;;9276:30;9342:31;9322:18;;;9315:59;9391:18;;18260:117:0;9062:353:1;18260:117:0;18421:53;18430:7;18439;18467:6;18448:16;:25;18421:8;:53::i;:::-;18126:382;18000:508;;;:::o;14005:3246::-;-1:-1:-1;;;;;14136:18:0;;14128:68;;;;-1:-1:-1;;;14128:68:0;;9622:2:1;14128:68:0;;;9604:21:1;9661:2;9641:18;;;9634:30;9700:34;9680:18;;;9673:62;-1:-1:-1;;;9751:18:1;;;9744:35;9796:19;;14128:68:0;9420:401:1;14128:68:0;-1:-1:-1;;;;;14215:16:0;;14207:64;;;;-1:-1:-1;;;14207:64:0;;10028:2:1;14207:64:0;;;10010:21:1;10067:2;10047:18;;;10040:30;10106:34;10086:18;;;10079:62;-1:-1:-1;;;10157:18:1;;;10150:33;10200:19;;14207:64:0;9826:399:1;14207:64:0;14299:1;14290:6;:10;14282:64;;;;-1:-1:-1;;;14282:64:0;;10432:2:1;14282:64:0;;;10414:21:1;10471:2;10451:18;;;10444:30;10510:34;10490:18;;;10483:62;-1:-1:-1;;;10561:18:1;;;10554:39;10610:19;;14282:64:0;10230:405:1;14282:64:0;2345:7;2372:6;-1:-1:-1;;;;;14363:15:0;;;2372:6;;14363:15;;;;:32;;-1:-1:-1;2345:7:0;2372:6;-1:-1:-1;;;;;14382:13:0;;;2372:6;;14382:13;;14363:32;14359:268;;;-1:-1:-1;;;;;14421:10:0;;;;;;:4;:10;;;;;;;;14420:11;:24;;;;-1:-1:-1;;;;;;14436:8:0;;;;;;:4;:8;;;;;;;;14435:9;14420:24;14412:65;;;;-1:-1:-1;;;14412:65:0;;10842:2:1;14412:65:0;;;10824:21:1;10881:2;10861:18;;;10854:30;10920;10900:18;;;10893:58;10968:18;;14412:65:0;10640:352:1;14412:65:0;14497:13;;;;14493:119;;-1:-1:-1;;;;;14538:15:0;;;;;;:9;:15;;;;;;;;;:32;;-1:-1:-1;;;;;;14557:13:0;;;;;;:9;:13;;;;;;;;14538:32;:57;;;-1:-1:-1;14584:10:0;14574:21;;;;:9;:21;;;;;;;;14538:57;14530:66;;;;;;-1:-1:-1;;;;;14669:23:0;;14639:15;14669:23;;;:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;14696:21:0;;;;;;:17;:21;;;;;;;;14669:48;14665:141;;;-1:-1:-1;14744:1:0;14665:141;;;-1:-1:-1;14788:6:0;;14665:141;14862:6;14844:15;14918:3;14897:17;14907:7;14862:6;14897:17;:::i;:::-;14896:25;;;;:::i;:::-;14879:42;-1:-1:-1;14932:23:0;14958:16;14879:42;14958:7;:16;:::i;:::-;14932:42;;15013:12;15028:10;:8;:10::i;:::-;15013:25;-1:-1:-1;15049:14:0;15066:13;15013:25;15066:6;:13;:::i;:::-;15049:30;-1:-1:-1;15090:15:0;15108:14;15118:4;15108:7;:14;:::i;:::-;15090:32;-1:-1:-1;15133:23:0;15159:16;15169:6;15090:32;15159:16;:::i;:::-;-1:-1:-1;;;;;15238:16:0;;15215:20;15238:16;;;:10;:16;;;;;;;;;15288:10;:16;;;;;;15321:20;:26;;;;;;15133:42;;-1:-1:-1;15238:16:0;;15321:26;;15317:338;;;15406:7;15390:12;:23;;15364:123;;;;-1:-1:-1;;;15364:123:0;;;;;;;:::i;:::-;15317:338;;;15562:7;15546:12;:23;;15520:123;;;;-1:-1:-1;;;15520:123:0;;;;;;;:::i;:::-;15956:7;15941:12;:22;15922:10;:16;15933:4;-1:-1:-1;;;;;15922:16:0;-1:-1:-1;;;;;15922:16:0;;;;;;;;;;;;:41;;;;15996:15;15978:10;:14;15989:2;-1:-1:-1;;;;;15978:14:0;-1:-1:-1;;;;;15978:14:0;;;;;;;;;;;;;:33;;;;;;;;;;;16075:20;:26;16096:4;-1:-1:-1;;;;;16075:26:0;-1:-1:-1;;;;;16075:26:0;;;;;;;;;;;;;;;;;;;;;;:54;;;;-1:-1:-1;;;;;;16105:24:0;;;;;;:20;:24;;;;;;;;16075:54;16071:883;;;-1:-1:-1;;;;;16150:16:0;;;;;;;:10;:16;;;;;;16169:22;;;16150:41;;16210:14;;;;;;:33;;;;;;16071:883;;;-1:-1:-1;;;;;16287:26:0;;;;;;:20;:26;;;;;;;;:55;;;;-1:-1:-1;;;;;;16318:24:0;;;;;;:20;:24;;;;;;;;16317:25;16287:55;16265:689;;;-1:-1:-1;;;;;16554:16:0;;;;;;:10;:16;;;;;16573:22;;;16554:41;;16265:689;;;-1:-1:-1;;;;;16640:26:0;;;;;;:20;:26;;;;;;;;16639:27;:55;;;;-1:-1:-1;;;;;;16670:24:0;;;;;;:20;:24;;;;;;;;16639:55;16617:337;;;-1:-1:-1;;;;;16905:14:0;;;;;;:10;:14;;;;;:33;;;;;;16617:337;17121:13;;;:22;;;17105:38;;17158:9;:19;;;;;;17206:35;;1342:25:1;;;-1:-1:-1;;;;;17206:35:0;;;;;;;;;;1330:2:1;1315:18;17206:35:0;;;;;;;14117:3134;;;;;;;;;;14005:3246;;;:::o;2464:132::-;2345:7;2372:6;-1:-1:-1;;;;;2372:6:0;1014:10;2528:23;2520:68;;;;-1:-1:-1;;;2520:68:0;;11779:2:1;2520:68:0;;;11761:21:1;;;11798:18;;;11791:30;11857:34;11837:18;;;11830:62;11909:18;;2520:68:0;11577:356:1;13330:667:0;13410:13;;13498:19;:26;13372:7;;13410:13;13452;;13372:7;13535:190;13559:9;13555:1;:13;13535:190;;;13610:10;:34;13621:19;13641:1;13621:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13621:22:0;13610:34;;;;;;;;;;;;;13600:44;;:7;:44;:::i;:::-;13590:54;;13679:10;:34;13690:19;13710:1;13690:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13690:22:0;13679:34;;;;;;;;;;;;;13669:44;;:7;:44;:::i;:::-;13659:54;-1:-1:-1;13570:3:0;;13535:190;;;;13765:13;13749;;:29;;;;:::i;:::-;13739:7;:39;13735:133;;;13805:13;;13795:23;;13843:13;13833:23;;13735:133;13935:12;13950:17;13960:7;13950;:17;:::i;3559:191::-;3633:16;3652:6;;-1:-1:-1;;;;;3669:17:0;;;-1:-1:-1;;;;;;3669:17:0;;;;;;3702:40;;3652:6;;;;;;;3702:40;;3633:16;3702:40;3622:128;3559:191;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;2091:127::-;2152:10;2147:3;2143:20;2140:1;2133:31;2183:4;2180:1;2173:15;2207:4;2204:1;2197:15;2223:1121;2307:6;2338:2;2381;2369:9;2360:7;2356:23;2352:32;2349:52;;;2397:1;2394;2387:12;2349:52;2437:9;2424:23;2466:18;2507:2;2499:6;2496:14;2493:34;;;2523:1;2520;2513:12;2493:34;2561:6;2550:9;2546:22;2536:32;;2606:7;2599:4;2595:2;2591:13;2587:27;2577:55;;2628:1;2625;2618:12;2577:55;2664:2;2651:16;2686:2;2682;2679:10;2676:36;;;2692:18;;:::i;:::-;2738:2;2735:1;2731:10;2770:2;2764:9;2833:2;2829:7;2824:2;2820;2816:11;2812:25;2804:6;2800:38;2888:6;2876:10;2873:22;2868:2;2856:10;2853:18;2850:46;2847:72;;;2899:18;;:::i;:::-;2935:2;2928:22;2985:18;;;3019:15;;;;-1:-1:-1;3061:11:1;;;3057:20;;;3089:19;;;3086:39;;;3121:1;3118;3111:12;3086:39;3145:11;;;;3165:148;3181:6;3176:3;3173:15;3165:148;;;3247:23;3266:3;3247:23;:::i;:::-;3235:36;;3198:12;;;;3291;;;;3165:148;;;3332:6;2223:1121;-1:-1:-1;;;;;;;;2223:1121:1:o;3349:180::-;3408:6;3461:2;3449:9;3440:7;3436:23;3432:32;3429:52;;;3477:1;3474;3467:12;3429:52;-1:-1:-1;3500:23:1;;3349:180;-1:-1:-1;3349:180:1:o;3742:260::-;3810:6;3818;3871:2;3859:9;3850:7;3846:23;3842:32;3839:52;;;3887:1;3884;3877:12;3839:52;3910:29;3929:9;3910:29;:::i;:::-;3900:39;;3958:38;3992:2;3981:9;3977:18;3958:38;:::i;:::-;3948:48;;3742:260;;;;;:::o;4007:380::-;4086:1;4082:12;;;;4129;;;4150:61;;4204:4;4196:6;4192:17;4182:27;;4150:61;4257:2;4249:6;4246:14;4226:18;4223:38;4220:161;;4303:10;4298:3;4294:20;4291:1;4284:31;4338:4;4335:1;4328:15;4366:4;4363:1;4356:15;4220:161;;4007:380;;;:::o;4748:127::-;4809:10;4804:3;4800:20;4797:1;4790:31;4840:4;4837:1;4830:15;4864:4;4861:1;4854:15;4880:127;4941:10;4936:3;4932:20;4929:1;4922:31;4972:4;4969:1;4962:15;4996:4;4993:1;4986:15;5012:128;5079:9;;;5100:11;;;5097:37;;;5114:18;;:::i;5145:127::-;5206:10;5201:3;5197:20;5194:1;5187:31;5237:4;5234:1;5227:15;5261:4;5258:1;5251:15;5277:125;5342:9;;;5363:10;;;5360:36;;;5376:18;;:::i;6114:217::-;6154:1;6180;6170:132;;6224:10;6219:3;6215:20;6212:1;6205:31;6259:4;6256:1;6249:15;6287:4;6284:1;6277:15;6170:132;-1:-1:-1;6316:9:1;;6114:217::o;7097:184::-;7167:6;7220:2;7208:9;7199:7;7195:23;7191:32;7188:52;;;7236:1;7233;7226:12;7188:52;-1:-1:-1;7259:16:1;;7097:184;-1:-1:-1;7097:184:1:o;7565:277::-;7632:6;7685:2;7673:9;7664:7;7660:23;7656:32;7653:52;;;7701:1;7698;7691:12;7653:52;7733:9;7727:16;7786:5;7779:13;7772:21;7765:5;7762:32;7752:60;;7808:1;7805;7798:12;10997:168;11070:9;;;11101;;11118:15;;;11112:22;;11098:37;11088:71;;11139:18;;:::i;11170:402::-;11372:2;11354:21;;;11411:2;11391:18;;;11384:30;11450:34;11445:2;11430:18;;11423:62;-1:-1:-1;;;11516:2:1;11501:18;;11494:36;11562:3;11547:19;;11170:402::o
Swarm Source
ipfs://beec0a182d8d0327c95b8a1115ef671e9d6458fc34fdc71e0993b45b85d47d78
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.