Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
53 HoodZ
Holders
28
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
3 HoodZLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BoyzNthaHoodz
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-28 */ // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; interface IERC165 { function supportsInterface(bytes4 interfaceId) external view returns (bool); } pragma solidity ^0.8.0; interface IERC721 is IERC165 { event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function safeTransferFrom( address from, address to, uint256 tokenId ) external; function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function getApproved(uint256 tokenId) external view returns (address operator); function setApprovalForAll(address operator, bool _approved) external; function isApprovedForAll(address owner, address operator) external view returns (bool); function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } pragma solidity ^0.8.0; interface IERC721Enumerable is IERC721 { function totalSupply() external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); function tokenByIndex(uint256 index) external view returns (uint256); } pragma solidity ^0.8.0; abstract contract ERC165 is IERC165 { function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } pragma solidity ^0.8.0; library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; function toString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } pragma solidity ^0.8.0; library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } pragma solidity ^0.8.0; interface IERC721Metadata is IERC721 { function name() external view returns (string memory); function symbol() external view returns (string memory); function tokenURI(uint256 tokenId) external view returns (string memory); } pragma solidity ^0.8.0; interface IERC721Receiver { function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.0; contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { using Address for address; using Strings for uint256; string private _name; string private _symbol; mapping(uint256 => address) private _owners; mapping(address => uint256) private _balances; mapping(uint256 => address) private _tokenApprovals; mapping(address => mapping(address => bool)) private _operatorApprovals; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); } function balanceOf(address owner) public view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _balances[owner]; } function ownerOf(uint256 tokenId) public view virtual override returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } function _baseURI() internal view virtual returns (string memory) { return ""; } function approve(address to, uint256 tokenId) public virtual override { address owner = ERC721.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require( _msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _approve(to, tokenId); } function getApproved(uint256 tokenId) public view virtual override returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } function setApprovalForAll(address operator, bool approved) public virtual override { require(operator != _msgSender(), "ERC721: approve to caller"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } function transferFrom( address from, address to, uint256 tokenId ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _transfer(from, to, tokenId); } function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _safeTransfer(from, to, tokenId, _data); } function _safeTransfer( address from, address to, uint256 tokenId, bytes memory _data ) internal virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721.ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } function _safeMint(address to, uint256 tokenId) internal virtual { _safeMint(to, tokenId, ""); } function _safeMint( address to, uint256 tokenId, bytes memory _data ) internal virtual { _mint(to, tokenId); require( _checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer" ); } function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); } function _burn(uint256 tokenId) internal virtual { address owner = ERC721.ownerOf(tokenId); _beforeTokenTransfer(owner, address(0), tokenId); _approve(address(0), tokenId); _balances[owner] -= 1; delete _owners[tokenId]; emit Transfer(owner, address(0), tokenId); } function _transfer( address from, address to, uint256 tokenId ) internal virtual { require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); _approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); } function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721.ownerOf(tokenId), to, tokenId); } function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} } pragma solidity ^0.8.0; abstract contract ERC721Enumerable is ERC721, IERC721Enumerable { mapping(address => mapping(uint256 => uint256)) private _ownedTokens; mapping(uint256 => uint256) private _ownedTokensIndex; uint256[] private _allTokens; mapping(uint256 => uint256) private _allTokensIndex; function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) { return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); } function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) { require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds"); return _ownedTokens[owner][index]; } function totalSupply() public view virtual override returns (uint256) { return _allTokens.length; } function tokenByIndex(uint256 index) public view virtual override returns (uint256) { require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds"); return _allTokens[index]; } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual override { super._beforeTokenTransfer(from, to, tokenId); if (from == address(0)) { _addTokenToAllTokensEnumeration(tokenId); } else if (from != to) { _removeTokenFromOwnerEnumeration(from, tokenId); } if (to == address(0)) { _removeTokenFromAllTokensEnumeration(tokenId); } else if (to != from) { _addTokenToOwnerEnumeration(to, tokenId); } } function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private { uint256 length = ERC721.balanceOf(to); _ownedTokens[to][length] = tokenId; _ownedTokensIndex[tokenId] = length; } function _addTokenToAllTokensEnumeration(uint256 tokenId) private { _allTokensIndex[tokenId] = _allTokens.length; _allTokens.push(tokenId); } function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private { uint256 lastTokenIndex = ERC721.balanceOf(from) - 1; uint256 tokenIndex = _ownedTokensIndex[tokenId]; if (tokenIndex != lastTokenIndex) { uint256 lastTokenId = _ownedTokens[from][lastTokenIndex]; _ownedTokens[from][tokenIndex] = lastTokenId; _ownedTokensIndex[lastTokenId] = tokenIndex; } delete _ownedTokensIndex[tokenId]; delete _ownedTokens[from][lastTokenIndex]; } function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private { uint256 lastTokenIndex = _allTokens.length - 1; uint256 tokenIndex = _allTokensIndex[tokenId]; uint256 lastTokenId = _allTokens[lastTokenIndex]; _allTokens[tokenIndex] = lastTokenId; _allTokensIndex[lastTokenId] = tokenIndex; delete _allTokensIndex[tokenId]; _allTokens.pop(); } } pragma solidity ^0.8.0; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } pragma solidity ^0.8.0; contract BoyzNthaHoodz is ERC721Enumerable, Ownable { using Strings for uint256; string public baseURI; string public baseExtension = ".json"; uint256 public constant MAX_HOODZ = 9991; uint256 private _price = 0.04 ether; uint256 public constant MAX_PER_MINT = 5; uint256 public constant PRESALE_MAX_MINT = 3; uint256 public constant MAX_HOODZ_PRE = 1000; uint256 public constant RESERVED_HOODZ = 150; address public constant artistAddress = 0x0524F852302D5D1249089F9062eB953d592CC5d7; address public constant founderAddress = 0x85893Cc28F86C3138e1e3F888B16466E8acCaFC6; address public constant devAddress = 0xeE0032B90e39E4D9ACb3CF93e7b9bF04fbD68C77; uint256 public reservedClaimed; uint256 public numHoodZminted; bool public publicsalestarted; bool public presalestarted; mapping(address => bool) private _presaleEligible; mapping(address => uint256) private _totalClaimed; event BaseURIChanged(string baseURI); event PresaleMint(address minter, uint256 amountOfHoodz); event PublicSaleMint(address minter, uint256 amountOfHoodz); modifier whenPreSaleStarted() { require(presalestarted, "Presale has not Begun"); _; } modifier whenPublicsaleStarted { require(publicsalestarted, "Public sale has not Begun"); _; } constructor( string memory _name, string memory _symbol, string memory _initBaseURI ) ERC721(_name, _symbol) { setBaseURI(_initBaseURI); } function _baseURI() internal view virtual override returns (string memory) { return baseURI; } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require( _exists(tokenId), "ERC721Metadata: URI query for nonexistent token" ); string memory currentBaseURI = _baseURI(); return bytes(currentBaseURI).length > 0 ? string(abi.encodePacked(currentBaseURI, tokenId.toString(), baseExtension)) : ""; } function claimReserved(address recipient, uint256 amount) external onlyOwner { require(reservedClaimed != RESERVED_HOODZ, "Already claimed all reserved HOODZ"); require(reservedClaimed + amount <= RESERVED_HOODZ, "Minting would exceed max reserved HOODZ"); require(recipient != address(0), "Cannot add null address"); require(totalSupply() < MAX_HOODZ, "All tokens have been minted"); require(totalSupply() + amount <= MAX_HOODZ, "Minting would exceed max supply"); uint256 _nextTokenId = numHoodZminted + 1; for (uint256 i = 0; i < amount; i++) { _safeMint(recipient, _nextTokenId + i); } numHoodZminted += amount; reservedClaimed += amount; } function addtoPresale(address[] calldata addresses) external onlyOwner { for (uint256 i = 0; i < addresses.length; i++) { require(addresses[i] != address(0), "Cannot add null address"); _presaleEligible[addresses[i]] = true; _totalClaimed[addresses[i]] > 0 ? _totalClaimed[addresses[i]] : 0; } } function checkPresaleEligibilty(address addr) external view returns (bool) { return _presaleEligible[addr]; } function amountClaimedby(address owner) external view returns (uint256) { require(owner != address(0), "Cannot add null address"); return _totalClaimed[owner]; } function mintPresale(uint256 amountOfHoodz) external payable whenPreSaleStarted { require(_presaleEligible[msg.sender], "You are not eligible for presale"); require(totalSupply() < MAX_HOODZ, "All NFTs minted"); require(amountOfHoodz <= PRESALE_MAX_MINT, "Cannot purchase this many during presale"); require(totalSupply() + amountOfHoodz <= MAX_HOODZ_PRE, "Minting would exceed max for presale"); require(_totalClaimed[msg.sender] + amountOfHoodz <= PRESALE_MAX_MINT, "Purchase exceeds max allowed"); require(amountOfHoodz > 0, "Must mint at least one Hoodz"); require(_price * amountOfHoodz == msg.value, "ETH amount is incorrect"); for(uint256 i = 0; i < amountOfHoodz; i++) { uint256 tokenId = numHoodZminted + 1; numHoodZminted += 1; _totalClaimed[msg.sender] += 1; _safeMint(msg.sender, tokenId); } emit PresaleMint(msg.sender, amountOfHoodz); } function mint(uint256 amountOfHoodz) external payable whenPublicsaleStarted { require(totalSupply() < MAX_HOODZ, "All HoodZ have been minted"); require(amountOfHoodz <= MAX_PER_MINT, "Cannot purchase this many HoodZ in one transaction"); require(totalSupply() + amountOfHoodz <= MAX_HOODZ, "Minting would exceed max supply"); require(_totalClaimed[msg.sender] + amountOfHoodz <= MAX_PER_MINT, "Purchase exceeds max allowed per address"); require(amountOfHoodz > 0, "Must mint at least one HoodZ"); require(_price * amountOfHoodz == msg.value, "ETH amount is incorrect"); for (uint256 i = 0; i < amountOfHoodz; i++) { uint256 tokenId = numHoodZminted + 1; numHoodZminted += 1; _totalClaimed[msg.sender] += 1; _safeMint(msg.sender, tokenId); } emit PublicSaleMint(msg.sender, amountOfHoodz); } function walletOfOwner(address _owner) public view returns (uint256[] memory) { uint256 ownerTokenCount = balanceOf(_owner); uint256[] memory tokenIds = new uint256[](ownerTokenCount); for (uint256 i; i < ownerTokenCount; i++) { tokenIds[i] = tokenOfOwnerByIndex(_owner, i); } return tokenIds; } function togglePresaleStarted() external onlyOwner { presalestarted = !presalestarted; } function togglePublicsaleStarted() external onlyOwner { publicsalestarted = !publicsalestarted; } function setBaseURI(string memory _newBaseURI) public onlyOwner { baseURI = _newBaseURI; } function setBaseExtension(string memory _newBaseExtension) public onlyOwner { baseExtension = _newBaseExtension; } function setPrice(uint256 _newPrice) public onlyOwner() { _price = _newPrice; } function getPrice() public view returns (uint256){ return _price; } function widthdrawAll() public onlyOwner { uint256 balance = address(this).balance; require(balance > 0, "insuffcient balance"); _widthdraw(devAddress, (balance * 25 / 100)); _widthdraw(artistAddress, (balance * 50 / 100)); _widthdraw(founderAddress, address(this).balance); } function _widthdraw(address _address, uint256 _amount) private { (bool success, ) = _address.call{ value: _amount }(""); require(success, "Failed to withdraw Ether"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_initBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"baseURI","type":"string"}],"name":"BaseURIChanged","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":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountOfHoodz","type":"uint256"}],"name":"PresaleMint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountOfHoodz","type":"uint256"}],"name":"PublicSaleMint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_HOODZ","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_HOODZ_PRE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PER_MINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRESALE_MAX_MINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RESERVED_HOODZ","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"addtoPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"amountClaimedby","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"artistAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseExtension","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"checkPresaleEligibilty","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimReserved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"founderAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOfHoodz","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOfHoodz","type":"uint256"}],"name":"mintPresale","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numHoodZminted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presalestarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicsalestarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reservedClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseExtension","type":"string"}],"name":"setBaseExtension","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"togglePresaleStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togglePublicsaleStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"widthdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040526005608081905264173539b7b760d91b60a09081526200002891600c919062000191565b50668e1bc9bf040000600d553480156200004157600080fd5b5060405162003770380380620037708339810160408190526200006491620002e2565b8251839083906200007d90600090602085019062000191565b5080516200009390600190602084019062000191565b505050620000b0620000aa620000c460201b60201c565b620000c8565b620000bb816200011a565b505050620003f7565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b62000124620000c4565b6001600160a01b03166200013762000182565b6001600160a01b031614620001695760405162461bcd60e51b815260040162000160906200036f565b60405180910390fd5b80516200017e90600b90602084019062000191565b5050565b600a546001600160a01b031690565b8280546200019f90620003a4565b90600052602060002090601f016020900481019282620001c357600085556200020e565b82601f10620001de57805160ff19168380011785556200020e565b828001600101855582156200020e579182015b828111156200020e578251825591602001919060010190620001f1565b506200021c92915062000220565b5090565b5b808211156200021c576000815560010162000221565b600082601f83011262000248578081fd5b81516001600160401b0380821115620002655762000265620003e1565b6040516020601f8401601f19168201810183811183821017156200028d576200028d620003e1565b6040528382528584018101871015620002a4578485fd5b8492505b83831015620002c75785830181015182840182015291820191620002a8565b83831115620002d857848185840101525b5095945050505050565b600080600060608486031215620002f7578283fd5b83516001600160401b03808211156200030e578485fd5b6200031c8783880162000237565b9450602086015191508082111562000332578384fd5b620003408783880162000237565b9350604086015191508082111562000356578283fd5b50620003658682870162000237565b9150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600281046001821680620003b957607f821691505b60208210811415620003db57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61336980620004076000396000f3fe6080604052600436106102885760003560e01c806359de8c9f1161015a578063a22cb465116100c1578063dab24ad61161007a578063dab24ad614610705578063de965ccd1461071a578063e985e9c51461073a578063ed1fc2a21461075a578063f2fde38b1461076f578063f759867a1461078f57610288565b8063a22cb4651461065b578063b88d4fde1461067b578063c66828621461069b578063c87b56dd146106b0578063d7eb3f3a146106d0578063da3ef23f146106e557610288565b8063862837bb11610113578063862837bb146105d45780638da5cb5b146105e957806391b7f5ed146105fe57806395d89b411461061e57806398d5fdca14610633578063a0712d681461064857610288565b806359de8c9f146105405780636352211e146105555780636c0360eb1461057557806370a082311461058a578063715018a6146105aa57806371f1f038146105bf57610288565b80632823d195116101fe578063438b6300116101b7578063438b63001461049457806346bb2833146104c15780634f6ccce7146104d6578063503161ea146104f6578063549527c31461050b57806355f804b31461052057610288565b80632823d195146103ea5780632f745c591461040a5780633344e3cb1461042a5780633ad10ef61461044a5780633c4593751461045f57806342842e0e1461047457610288565b806316e8596b1161025057806316e8596b1461035657806318160ddd1461036b57806319b0f953146103805780631b5757f21461039557806323b872dd146103b557806324510043146103d557610288565b806301ffc9a71461028d57806306fdde03146102c3578063081812fc146102e5578063095ea7b31461031257806309d42b3014610334575b600080fd5b34801561029957600080fd5b506102ad6102a83660046125ef565b6107a2565b6040516102ba9190612824565b60405180910390f35b3480156102cf57600080fd5b506102d86107cf565b6040516102ba919061282f565b3480156102f157600080fd5b5061030561030036600461266d565b610861565b6040516102ba9190612776565b34801561031e57600080fd5b5061033261032d366004612557565b6108ad565b005b34801561034057600080fd5b50610349610945565b6040516102ba91906131ce565b34801561036257600080fd5b5061034961094a565b34801561037757600080fd5b50610349610950565b34801561038c57600080fd5b50610349610956565b3480156103a157600080fd5b506103326103b0366004612557565b61095c565b3480156103c157600080fd5b506103326103d0366004612469565b610ae7565b3480156103e157600080fd5b50610349610b1f565b3480156103f657600080fd5b506102ad61040536600461241d565b610b25565b34801561041657600080fd5b50610349610425366004612557565b610b43565b34801561043657600080fd5b50610332610445366004612580565b610b95565b34801561045657600080fd5b50610305610d76565b34801561046b57600080fd5b50610332610d8e565b34801561048057600080fd5b5061033261048f366004612469565b610e65565b3480156104a057600080fd5b506104b46104af36600461241d565b610e80565b6040516102ba91906127e0565b3480156104cd57600080fd5b50610305610f3e565b3480156104e257600080fd5b506103496104f136600461266d565b610f56565b34801561050257600080fd5b50610349610fb1565b34801561051757600080fd5b50610349610fb7565b34801561052c57600080fd5b5061033261053b366004612627565b610fbc565b34801561054c57600080fd5b506102ad611012565b34801561056157600080fd5b5061030561057036600461266d565b61101b565b34801561058157600080fd5b506102d8611050565b34801561059657600080fd5b506103496105a536600461241d565b6110de565b3480156105b657600080fd5b50610332611122565b3480156105cb57600080fd5b5061034961116d565b3480156105e057600080fd5b506102ad611172565b3480156105f557600080fd5b50610305611180565b34801561060a57600080fd5b5061033261061936600461266d565b61118f565b34801561062a57600080fd5b506102d86111d3565b34801561063f57600080fd5b506103496111e2565b61033261065636600461266d565b6111e8565b34801561066757600080fd5b5061033261067636600461251d565b6113c5565b34801561068757600080fd5b506103326106963660046124a4565b611493565b3480156106a757600080fd5b506102d86114d2565b3480156106bc57600080fd5b506102d86106cb36600461266d565b6114df565b3480156106dc57600080fd5b50610305611565565b3480156106f157600080fd5b50610332610700366004612627565b61157d565b34801561071157600080fd5b506103326115cf565b34801561072657600080fd5b5061034961073536600461241d565b611622565b34801561074657600080fd5b506102ad610755366004612437565b611666565b34801561076657600080fd5b50610332611694565b34801561077b57600080fd5b5061033261078a36600461241d565b6116f0565b61033261079d36600461266d565b61175e565b60006001600160e01b0319821663780e9d6360e01b14806107c757506107c782611964565b90505b919050565b6060600080546107de90613271565b80601f016020809104026020016040519081016040528092919081815260200182805461080a90613271565b80156108575780601f1061082c57610100808354040283529160200191610857565b820191906000526020600020905b81548152906001019060200180831161083a57829003601f168201915b5050505050905090565b600061086c826119a4565b6108915760405162461bcd60e51b815260040161088890612cfb565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006108b88261101b565b9050806001600160a01b0316836001600160a01b031614156108ec5760405162461bcd60e51b815260040161088890612efe565b806001600160a01b03166108fe6119c1565b6001600160a01b0316148061091a575061091a816107556119c1565b6109365760405162461bcd60e51b815260040161088890612af7565b61094083836119c5565b505050565b600581565b600f5481565b60085490565b61270781565b6109646119c1565b6001600160a01b0316610975611180565b6001600160a01b03161461099b5760405162461bcd60e51b815260040161088890612d47565b6096600e5414156109be5760405162461bcd60e51b815260040161088890612dee565b609681600e546109ce91906131e3565b11156109ec5760405162461bcd60e51b815260040161088890613187565b6001600160a01b038216610a125760405162461bcd60e51b815260040161088890612fc8565b612707610a1d610950565b10610a3a5760405162461bcd60e51b815260040161088890613150565b61270781610a46610950565b610a5091906131e3565b1115610a6e5760405162461bcd60e51b815260040161088890612be7565b6000600f546001610a7f91906131e3565b905060005b82811015610ab157610a9f84610a9a83856131e3565b611a33565b80610aa9816132ac565b915050610a84565b5081600f6000828254610ac491906131e3565b9250508190555081600e6000828254610add91906131e3565b9091555050505050565b610af8610af26119c1565b82611a4d565b610b145760405162461bcd60e51b815260040161088890612fff565b610940838383611ad2565b600e5481565b6001600160a01b031660009081526011602052604090205460ff1690565b6000610b4e836110de565b8210610b6c5760405162461bcd60e51b815260040161088890612879565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b610b9d6119c1565b6001600160a01b0316610bae611180565b6001600160a01b031614610bd45760405162461bcd60e51b815260040161088890612d47565b60005b81811015610940576000838383818110610c0157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c16919061241d565b6001600160a01b03161415610c3d5760405162461bcd60e51b815260040161088890612fc8565b600160116000858585818110610c6357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c78919061241d565b6001600160a01b0316815260208101919091526040016000908120805460ff191692151592909217909155601281858585818110610cc657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610cdb919061241d565b6001600160a01b03166001600160a01b031681526020019081526020016000205411610d08576000610d63565b60126000848484818110610d2c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610d41919061241d565b6001600160a01b03166001600160a01b03168152602001908152602001600020545b5080610d6e816132ac565b915050610bd7565b73ee0032b90e39e4d9acb3cf93e7b9bf04fbd68c7781565b610d966119c1565b6001600160a01b0316610da7611180565b6001600160a01b031614610dcd5760405162461bcd60e51b815260040161088890612d47565b4780610deb5760405162461bcd60e51b815260040161088890612c62565b610e1f73ee0032b90e39e4d9acb3cf93e7b9bf04fbd68c776064610e1084601961320f565b610e1a91906131fb565b611bff565b610e44730524f852302d5d1249089f9062eb953d592cc5d76064610e1084603261320f565b610e627385893cc28f86c3138e1e3f888b16466e8accafc647611bff565b50565b61094083838360405180602001604052806000815250611493565b60606000610e8d836110de565b905060008167ffffffffffffffff811115610eb857634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610ee1578160200160208202803683370190505b50905060005b82811015610f3657610ef98582610b43565b828281518110610f1957634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610f2e816132ac565b915050610ee7565b509392505050565b7385893cc28f86c3138e1e3f888b16466e8accafc681565b6000610f60610950565b8210610f7e5760405162461bcd60e51b815260040161088890613050565b60088281548110610f9f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6103e881565b600381565b610fc46119c1565b6001600160a01b0316610fd5611180565b6001600160a01b031614610ffb5760405162461bcd60e51b815260040161088890612d47565b805161100e90600b9060208401906122fd565b5050565b60105460ff1681565b6000818152600260205260408120546001600160a01b0316806107c75760405162461bcd60e51b815260040161088890612b9e565b600b805461105d90613271565b80601f016020809104026020016040519081016040528092919081815260200182805461108990613271565b80156110d65780601f106110ab576101008083540402835291602001916110d6565b820191906000526020600020905b8154815290600101906020018083116110b957829003601f168201915b505050505081565b60006001600160a01b0382166111065760405162461bcd60e51b815260040161088890612b54565b506001600160a01b031660009081526003602052604090205490565b61112a6119c1565b6001600160a01b031661113b611180565b6001600160a01b0316146111615760405162461bcd60e51b815260040161088890612d47565b61116b6000611c7b565b565b609681565b601054610100900460ff1681565b600a546001600160a01b031690565b6111976119c1565b6001600160a01b03166111a8611180565b6001600160a01b0316146111ce5760405162461bcd60e51b815260040161088890612d47565b600d55565b6060600180546107de90613271565b600d5490565b60105460ff1661120a5760405162461bcd60e51b815260040161088890612f91565b612707611215610950565b106112325760405162461bcd60e51b8152600401610888906129c2565b60058111156112535760405162461bcd60e51b815260040161088890612f3f565b6127078161125f610950565b61126991906131e3565b11156112875760405162461bcd60e51b815260040161088890612be7565b336000908152601260205260409020546005906112a59083906131e3565b11156112c35760405162461bcd60e51b815260040161088890612eb6565b600081116112e35760405162461bcd60e51b815260040161088890612842565b3481600d546112f2919061320f565b1461130f5760405162461bcd60e51b815260040161088890612cc4565b60005b81811015611388576000600f54600161132b91906131e3565b90506001600f600082825461134091906131e3565b90915550503360009081526012602052604081208054600192906113659084906131e3565b9091555061137590503382611a33565b5080611380816132ac565b915050611312565b507f239739eec2dbaccb604ff1de6462a5eccd5f3148924696dd88f04d636ff582b533826040516113ba9291906127c7565b60405180910390a150565b6113cd6119c1565b6001600160a01b0316826001600160a01b031614156113fe5760405162461bcd60e51b815260040161088890612a3d565b806005600061140b6119c1565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561144f6119c1565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516114879190612824565b60405180910390a35050565b6114a461149e6119c1565b83611a4d565b6114c05760405162461bcd60e51b815260040161088890612fff565b6114cc84848484611ccd565b50505050565b600c805461105d90613271565b60606114ea826119a4565b6115065760405162461bcd60e51b815260040161088890612e30565b6000611510611d00565b90506000815111611530576040518060200160405280600081525061155e565b8061153a84611d0f565b600c60405160200161154e939291906126b1565b6040516020818303038152906040525b9392505050565b730524f852302d5d1249089f9062eb953d592cc5d781565b6115856119c1565b6001600160a01b0316611596611180565b6001600160a01b0316146115bc5760405162461bcd60e51b815260040161088890612d47565b805161100e90600c9060208401906122fd565b6115d76119c1565b6001600160a01b03166115e8611180565b6001600160a01b03161461160e5760405162461bcd60e51b815260040161088890612d47565b6010805460ff19811660ff90911615179055565b60006001600160a01b03821661164a5760405162461bcd60e51b815260040161088890612fc8565b506001600160a01b031660009081526012602052604090205490565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61169c6119c1565b6001600160a01b03166116ad611180565b6001600160a01b0316146116d35760405162461bcd60e51b815260040161088890612d47565b6010805461ff001981166101009182900460ff1615909102179055565b6116f86119c1565b6001600160a01b0316611709611180565b6001600160a01b03161461172f5760405162461bcd60e51b815260040161088890612d47565b6001600160a01b0381166117555760405162461bcd60e51b815260040161088890612916565b610e6281611c7b565b601054610100900460ff166117855760405162461bcd60e51b815260040161088890612993565b3360009081526011602052604090205460ff166117b45760405162461bcd60e51b81526004016108889061311b565b6127076117bf610950565b106117dc5760405162461bcd60e51b815260040161088890612d7c565b60038111156117fd5760405162461bcd60e51b81526004016108889061309c565b6103e881611809610950565b61181391906131e3565b11156118315760405162461bcd60e51b815260040161088890612c1e565b3360009081526012602052604090205460039061184f9083906131e3565b111561186d5760405162461bcd60e51b8152600401610888906130e4565b6000811161188d5760405162461bcd60e51b815260040161088890612a74565b3481600d5461189c919061320f565b146118b95760405162461bcd60e51b815260040161088890612cc4565b60005b81811015611932576000600f5460016118d591906131e3565b90506001600f60008282546118ea91906131e3565b909155505033600090815260126020526040812080546001929061190f9084906131e3565b9091555061191f90503382611a33565b508061192a816132ac565b9150506118bc565b507ff5df7d07fef0d8ac7581015ebd1a3b7b7760da84b12f0c8174ae0dcd639cb6a333826040516113ba9291906127c7565b60006001600160e01b031982166380ac58cd60e01b148061199557506001600160e01b03198216635b5e139f60e01b145b806107c757506107c782611e2a565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906119fa8261101b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61100e828260405180602001604052806000815250611e43565b6000611a58826119a4565b611a745760405162461bcd60e51b815260040161088890612aab565b6000611a7f8361101b565b9050806001600160a01b0316846001600160a01b03161480611aba5750836001600160a01b0316611aaf84610861565b6001600160a01b0316145b80611aca5750611aca8185611666565b949350505050565b826001600160a01b0316611ae58261101b565b6001600160a01b031614611b0b5760405162461bcd60e51b815260040161088890612da5565b6001600160a01b038216611b315760405162461bcd60e51b8152600401610888906129f9565b611b3c838383611e76565b611b476000826119c5565b6001600160a01b0383166000908152600360205260408120805460019290611b7090849061322e565b90915550506001600160a01b0382166000908152600360205260408120805460019290611b9e9084906131e3565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000826001600160a01b031682604051611c1890612773565b60006040518083038185875af1925050503d8060008114611c55576040519150601f19603f3d011682016040523d82523d6000602084013e611c5a565b606091505b50509050806109405760405162461bcd60e51b815260040161088890612e7f565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611cd8848484611ad2565b611ce484848484611eff565b6114cc5760405162461bcd60e51b8152600401610888906128c4565b6060600b80546107de90613271565b606081611d3457506040805180820190915260018152600360fc1b60208201526107ca565b8160005b8115611d5e5780611d48816132ac565b9150611d579050600a836131fb565b9150611d38565b60008167ffffffffffffffff811115611d8757634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611db1576020820181803683370190505b5090505b8415611aca57611dc660018361322e565b9150611dd3600a866132c7565b611dde9060306131e3565b60f81b818381518110611e0157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611e23600a866131fb565b9450611db5565b6001600160e01b031981166301ffc9a760e01b14919050565b611e4d838361201a565b611e5a6000848484611eff565b6109405760405162461bcd60e51b8152600401610888906128c4565b611e81838383610940565b6001600160a01b038316611e9d57611e98816120f9565b611ec0565b816001600160a01b0316836001600160a01b031614611ec057611ec0838261213d565b6001600160a01b038216611edc57611ed7816121da565b610940565b826001600160a01b0316826001600160a01b0316146109405761094082826122b3565b6000611f13846001600160a01b03166122f7565b1561200f57836001600160a01b031663150b7a02611f2f6119c1565b8786866040518563ffffffff1660e01b8152600401611f51949392919061278a565b602060405180830381600087803b158015611f6b57600080fd5b505af1925050508015611f9b575060408051601f3d908101601f19168201909252611f989181019061260b565b60015b611ff5573d808015611fc9576040519150601f19603f3d011682016040523d82523d6000602084013e611fce565b606091505b508051611fed5760405162461bcd60e51b8152600401610888906128c4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611aca565b506001949350505050565b6001600160a01b0382166120405760405162461bcd60e51b815260040161088890612c8f565b612049816119a4565b156120665760405162461bcd60e51b81526004016108889061295c565b61207260008383611e76565b6001600160a01b038216600090815260036020526040812080546001929061209b9084906131e3565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6000600161214a846110de565b612154919061322e565b6000838152600760205260409020549091508082146121a7576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906121ec9060019061322e565b6000838152600960205260408120546008805493945090928490811061222257634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050806008838154811061225157634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061229757634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006122be836110de565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b3b151590565b82805461230990613271565b90600052602060002090601f01602090048101928261232b5760008555612371565b82601f1061234457805160ff1916838001178555612371565b82800160010185558215612371579182015b82811115612371578251825591602001919060010190612356565b5061237d929150612381565b5090565b5b8082111561237d5760008155600101612382565b600067ffffffffffffffff808411156123b1576123b1613307565b604051601f8501601f1916810160200182811182821017156123d5576123d5613307565b6040528481529150818385018610156123ed57600080fd5b8484602083013760006020868301015250509392505050565b80356001600160a01b03811681146107ca57600080fd5b60006020828403121561242e578081fd5b61155e82612406565b60008060408385031215612449578081fd5b61245283612406565b915061246060208401612406565b90509250929050565b60008060006060848603121561247d578081fd5b61248684612406565b925061249460208501612406565b9150604084013590509250925092565b600080600080608085870312156124b9578081fd5b6124c285612406565b93506124d060208601612406565b925060408501359150606085013567ffffffffffffffff8111156124f2578182fd5b8501601f81018713612502578182fd5b61251187823560208401612396565b91505092959194509250565b6000806040838503121561252f578182fd5b61253883612406565b91506020830135801515811461254c578182fd5b809150509250929050565b60008060408385031215612569578182fd5b61257283612406565b946020939093013593505050565b60008060208385031215612592578182fd5b823567ffffffffffffffff808211156125a9578384fd5b818501915085601f8301126125bc578384fd5b8135818111156125ca578485fd5b86602080830285010111156125dd578485fd5b60209290920196919550909350505050565b600060208284031215612600578081fd5b813561155e8161331d565b60006020828403121561261c578081fd5b815161155e8161331d565b600060208284031215612638578081fd5b813567ffffffffffffffff81111561264e578182fd5b8201601f8101841361265e578182fd5b611aca84823560208401612396565b60006020828403121561267e578081fd5b5035919050565b6000815180845261269d816020860160208601613245565b601f01601f19169290920160200192915050565b6000845160206126c48285838a01613245565b8551918401916126d78184848a01613245565b85549201918390600281046001808316806126f357607f831692505b85831081141561271157634e487b7160e01b88526022600452602488fd5b808015612725576001811461273657612762565b60ff19851688528388019550612762565b61273f8b6131d7565b895b8581101561275a5781548a820152908401908801612741565b505083880195505b50939b9a5050505050505050505050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906127bd90830184612685565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015612818578351835292840192918401916001016127fc565b50909695505050505050565b901515815260200190565b60006020825261155e6020830184612685565b6020808252601c908201527f4d757374206d696e74206174206c65617374206f6e6520486f6f645a00000000604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b602080825260159082015274283932b9b0b632903430b9903737ba102132b3bab760591b604082015260600190565b6020808252601a908201527f416c6c20486f6f645a2068617665206265656e206d696e746564000000000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252601c908201527f4d757374206d696e74206174206c65617374206f6e6520486f6f647a00000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252601f908201527f4d696e74696e6720776f756c6420657863656564206d617820737570706c7900604082015260600190565b60208082526024908201527f4d696e74696e6720776f756c6420657863656564206d617820666f722070726560408201526373616c6560e01b606082015260800190565b602080825260139082015272696e737566666369656e742062616c616e636560681b604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526017908201527f45544820616d6f756e7420697320696e636f7272656374000000000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600f908201526e105b1b081391951cc81b5a5b9d1959608a1b604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201526839903737ba1037bbb760b91b606082015260800190565b60208082526022908201527f416c726561647920636c61696d656420616c6c20726573657276656420484f4f604082015261222d60f11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526018908201527f4661696c656420746f2077697468647261772045746865720000000000000000604082015260600190565b60208082526028908201527f50757263686173652065786365656473206d617820616c6c6f77656420706572604082015267206164647265737360c01b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526032908201527f43616e6e6f742070757263686173652074686973206d616e7920486f6f645a2060408201527134b71037b732903a3930b739b0b1ba34b7b760711b606082015260800190565b60208082526019908201527f5075626c69632073616c6520686173206e6f7420426567756e00000000000000604082015260600190565b60208082526017908201527f43616e6e6f7420616464206e756c6c2061646472657373000000000000000000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526028908201527f43616e6e6f742070757263686173652074686973206d616e7920647572696e676040820152672070726573616c6560c01b606082015260800190565b6020808252601c908201527f50757263686173652065786365656473206d617820616c6c6f77656400000000604082015260600190565b6020808252818101527f596f7520617265206e6f7420656c696769626c6520666f722070726573616c65604082015260600190565b6020808252601b908201527f416c6c20746f6b656e732068617665206265656e206d696e7465640000000000604082015260600190565b60208082526027908201527f4d696e74696e6720776f756c6420657863656564206d6178207265736572766560408201526632102427a7a22d60c91b606082015260800190565b90815260200190565b60009081526020902090565b600082198211156131f6576131f66132db565b500190565b60008261320a5761320a6132f1565b500490565b6000816000190483118215151615613229576132296132db565b500290565b600082821015613240576132406132db565b500390565b60005b83811015613260578181015183820152602001613248565b838111156114cc5750506000910152565b60028104600182168061328557607f821691505b602082108114156132a657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156132c0576132c06132db565b5060010190565b6000826132d6576132d66132f1565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610e6257600080fdfea2646970667358221220ae39718e37293fa38e5fdddf0e18a25cea9e9831ddc07982dbdad66d9b9a454864736f6c63430008000033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010426f797a204e2054686120486f6f645a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005486f6f645a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019687474703a2f2f626f797a6e746861686f6f647a2e636f6d2f00000000000000
Deployed Bytecode
0x6080604052600436106102885760003560e01c806359de8c9f1161015a578063a22cb465116100c1578063dab24ad61161007a578063dab24ad614610705578063de965ccd1461071a578063e985e9c51461073a578063ed1fc2a21461075a578063f2fde38b1461076f578063f759867a1461078f57610288565b8063a22cb4651461065b578063b88d4fde1461067b578063c66828621461069b578063c87b56dd146106b0578063d7eb3f3a146106d0578063da3ef23f146106e557610288565b8063862837bb11610113578063862837bb146105d45780638da5cb5b146105e957806391b7f5ed146105fe57806395d89b411461061e57806398d5fdca14610633578063a0712d681461064857610288565b806359de8c9f146105405780636352211e146105555780636c0360eb1461057557806370a082311461058a578063715018a6146105aa57806371f1f038146105bf57610288565b80632823d195116101fe578063438b6300116101b7578063438b63001461049457806346bb2833146104c15780634f6ccce7146104d6578063503161ea146104f6578063549527c31461050b57806355f804b31461052057610288565b80632823d195146103ea5780632f745c591461040a5780633344e3cb1461042a5780633ad10ef61461044a5780633c4593751461045f57806342842e0e1461047457610288565b806316e8596b1161025057806316e8596b1461035657806318160ddd1461036b57806319b0f953146103805780631b5757f21461039557806323b872dd146103b557806324510043146103d557610288565b806301ffc9a71461028d57806306fdde03146102c3578063081812fc146102e5578063095ea7b31461031257806309d42b3014610334575b600080fd5b34801561029957600080fd5b506102ad6102a83660046125ef565b6107a2565b6040516102ba9190612824565b60405180910390f35b3480156102cf57600080fd5b506102d86107cf565b6040516102ba919061282f565b3480156102f157600080fd5b5061030561030036600461266d565b610861565b6040516102ba9190612776565b34801561031e57600080fd5b5061033261032d366004612557565b6108ad565b005b34801561034057600080fd5b50610349610945565b6040516102ba91906131ce565b34801561036257600080fd5b5061034961094a565b34801561037757600080fd5b50610349610950565b34801561038c57600080fd5b50610349610956565b3480156103a157600080fd5b506103326103b0366004612557565b61095c565b3480156103c157600080fd5b506103326103d0366004612469565b610ae7565b3480156103e157600080fd5b50610349610b1f565b3480156103f657600080fd5b506102ad61040536600461241d565b610b25565b34801561041657600080fd5b50610349610425366004612557565b610b43565b34801561043657600080fd5b50610332610445366004612580565b610b95565b34801561045657600080fd5b50610305610d76565b34801561046b57600080fd5b50610332610d8e565b34801561048057600080fd5b5061033261048f366004612469565b610e65565b3480156104a057600080fd5b506104b46104af36600461241d565b610e80565b6040516102ba91906127e0565b3480156104cd57600080fd5b50610305610f3e565b3480156104e257600080fd5b506103496104f136600461266d565b610f56565b34801561050257600080fd5b50610349610fb1565b34801561051757600080fd5b50610349610fb7565b34801561052c57600080fd5b5061033261053b366004612627565b610fbc565b34801561054c57600080fd5b506102ad611012565b34801561056157600080fd5b5061030561057036600461266d565b61101b565b34801561058157600080fd5b506102d8611050565b34801561059657600080fd5b506103496105a536600461241d565b6110de565b3480156105b657600080fd5b50610332611122565b3480156105cb57600080fd5b5061034961116d565b3480156105e057600080fd5b506102ad611172565b3480156105f557600080fd5b50610305611180565b34801561060a57600080fd5b5061033261061936600461266d565b61118f565b34801561062a57600080fd5b506102d86111d3565b34801561063f57600080fd5b506103496111e2565b61033261065636600461266d565b6111e8565b34801561066757600080fd5b5061033261067636600461251d565b6113c5565b34801561068757600080fd5b506103326106963660046124a4565b611493565b3480156106a757600080fd5b506102d86114d2565b3480156106bc57600080fd5b506102d86106cb36600461266d565b6114df565b3480156106dc57600080fd5b50610305611565565b3480156106f157600080fd5b50610332610700366004612627565b61157d565b34801561071157600080fd5b506103326115cf565b34801561072657600080fd5b5061034961073536600461241d565b611622565b34801561074657600080fd5b506102ad610755366004612437565b611666565b34801561076657600080fd5b50610332611694565b34801561077b57600080fd5b5061033261078a36600461241d565b6116f0565b61033261079d36600461266d565b61175e565b60006001600160e01b0319821663780e9d6360e01b14806107c757506107c782611964565b90505b919050565b6060600080546107de90613271565b80601f016020809104026020016040519081016040528092919081815260200182805461080a90613271565b80156108575780601f1061082c57610100808354040283529160200191610857565b820191906000526020600020905b81548152906001019060200180831161083a57829003601f168201915b5050505050905090565b600061086c826119a4565b6108915760405162461bcd60e51b815260040161088890612cfb565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006108b88261101b565b9050806001600160a01b0316836001600160a01b031614156108ec5760405162461bcd60e51b815260040161088890612efe565b806001600160a01b03166108fe6119c1565b6001600160a01b0316148061091a575061091a816107556119c1565b6109365760405162461bcd60e51b815260040161088890612af7565b61094083836119c5565b505050565b600581565b600f5481565b60085490565b61270781565b6109646119c1565b6001600160a01b0316610975611180565b6001600160a01b03161461099b5760405162461bcd60e51b815260040161088890612d47565b6096600e5414156109be5760405162461bcd60e51b815260040161088890612dee565b609681600e546109ce91906131e3565b11156109ec5760405162461bcd60e51b815260040161088890613187565b6001600160a01b038216610a125760405162461bcd60e51b815260040161088890612fc8565b612707610a1d610950565b10610a3a5760405162461bcd60e51b815260040161088890613150565b61270781610a46610950565b610a5091906131e3565b1115610a6e5760405162461bcd60e51b815260040161088890612be7565b6000600f546001610a7f91906131e3565b905060005b82811015610ab157610a9f84610a9a83856131e3565b611a33565b80610aa9816132ac565b915050610a84565b5081600f6000828254610ac491906131e3565b9250508190555081600e6000828254610add91906131e3565b9091555050505050565b610af8610af26119c1565b82611a4d565b610b145760405162461bcd60e51b815260040161088890612fff565b610940838383611ad2565b600e5481565b6001600160a01b031660009081526011602052604090205460ff1690565b6000610b4e836110de565b8210610b6c5760405162461bcd60e51b815260040161088890612879565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b610b9d6119c1565b6001600160a01b0316610bae611180565b6001600160a01b031614610bd45760405162461bcd60e51b815260040161088890612d47565b60005b81811015610940576000838383818110610c0157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c16919061241d565b6001600160a01b03161415610c3d5760405162461bcd60e51b815260040161088890612fc8565b600160116000858585818110610c6357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c78919061241d565b6001600160a01b0316815260208101919091526040016000908120805460ff191692151592909217909155601281858585818110610cc657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610cdb919061241d565b6001600160a01b03166001600160a01b031681526020019081526020016000205411610d08576000610d63565b60126000848484818110610d2c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610d41919061241d565b6001600160a01b03166001600160a01b03168152602001908152602001600020545b5080610d6e816132ac565b915050610bd7565b73ee0032b90e39e4d9acb3cf93e7b9bf04fbd68c7781565b610d966119c1565b6001600160a01b0316610da7611180565b6001600160a01b031614610dcd5760405162461bcd60e51b815260040161088890612d47565b4780610deb5760405162461bcd60e51b815260040161088890612c62565b610e1f73ee0032b90e39e4d9acb3cf93e7b9bf04fbd68c776064610e1084601961320f565b610e1a91906131fb565b611bff565b610e44730524f852302d5d1249089f9062eb953d592cc5d76064610e1084603261320f565b610e627385893cc28f86c3138e1e3f888b16466e8accafc647611bff565b50565b61094083838360405180602001604052806000815250611493565b60606000610e8d836110de565b905060008167ffffffffffffffff811115610eb857634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610ee1578160200160208202803683370190505b50905060005b82811015610f3657610ef98582610b43565b828281518110610f1957634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610f2e816132ac565b915050610ee7565b509392505050565b7385893cc28f86c3138e1e3f888b16466e8accafc681565b6000610f60610950565b8210610f7e5760405162461bcd60e51b815260040161088890613050565b60088281548110610f9f57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6103e881565b600381565b610fc46119c1565b6001600160a01b0316610fd5611180565b6001600160a01b031614610ffb5760405162461bcd60e51b815260040161088890612d47565b805161100e90600b9060208401906122fd565b5050565b60105460ff1681565b6000818152600260205260408120546001600160a01b0316806107c75760405162461bcd60e51b815260040161088890612b9e565b600b805461105d90613271565b80601f016020809104026020016040519081016040528092919081815260200182805461108990613271565b80156110d65780601f106110ab576101008083540402835291602001916110d6565b820191906000526020600020905b8154815290600101906020018083116110b957829003601f168201915b505050505081565b60006001600160a01b0382166111065760405162461bcd60e51b815260040161088890612b54565b506001600160a01b031660009081526003602052604090205490565b61112a6119c1565b6001600160a01b031661113b611180565b6001600160a01b0316146111615760405162461bcd60e51b815260040161088890612d47565b61116b6000611c7b565b565b609681565b601054610100900460ff1681565b600a546001600160a01b031690565b6111976119c1565b6001600160a01b03166111a8611180565b6001600160a01b0316146111ce5760405162461bcd60e51b815260040161088890612d47565b600d55565b6060600180546107de90613271565b600d5490565b60105460ff1661120a5760405162461bcd60e51b815260040161088890612f91565b612707611215610950565b106112325760405162461bcd60e51b8152600401610888906129c2565b60058111156112535760405162461bcd60e51b815260040161088890612f3f565b6127078161125f610950565b61126991906131e3565b11156112875760405162461bcd60e51b815260040161088890612be7565b336000908152601260205260409020546005906112a59083906131e3565b11156112c35760405162461bcd60e51b815260040161088890612eb6565b600081116112e35760405162461bcd60e51b815260040161088890612842565b3481600d546112f2919061320f565b1461130f5760405162461bcd60e51b815260040161088890612cc4565b60005b81811015611388576000600f54600161132b91906131e3565b90506001600f600082825461134091906131e3565b90915550503360009081526012602052604081208054600192906113659084906131e3565b9091555061137590503382611a33565b5080611380816132ac565b915050611312565b507f239739eec2dbaccb604ff1de6462a5eccd5f3148924696dd88f04d636ff582b533826040516113ba9291906127c7565b60405180910390a150565b6113cd6119c1565b6001600160a01b0316826001600160a01b031614156113fe5760405162461bcd60e51b815260040161088890612a3d565b806005600061140b6119c1565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561144f6119c1565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516114879190612824565b60405180910390a35050565b6114a461149e6119c1565b83611a4d565b6114c05760405162461bcd60e51b815260040161088890612fff565b6114cc84848484611ccd565b50505050565b600c805461105d90613271565b60606114ea826119a4565b6115065760405162461bcd60e51b815260040161088890612e30565b6000611510611d00565b90506000815111611530576040518060200160405280600081525061155e565b8061153a84611d0f565b600c60405160200161154e939291906126b1565b6040516020818303038152906040525b9392505050565b730524f852302d5d1249089f9062eb953d592cc5d781565b6115856119c1565b6001600160a01b0316611596611180565b6001600160a01b0316146115bc5760405162461bcd60e51b815260040161088890612d47565b805161100e90600c9060208401906122fd565b6115d76119c1565b6001600160a01b03166115e8611180565b6001600160a01b03161461160e5760405162461bcd60e51b815260040161088890612d47565b6010805460ff19811660ff90911615179055565b60006001600160a01b03821661164a5760405162461bcd60e51b815260040161088890612fc8565b506001600160a01b031660009081526012602052604090205490565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61169c6119c1565b6001600160a01b03166116ad611180565b6001600160a01b0316146116d35760405162461bcd60e51b815260040161088890612d47565b6010805461ff001981166101009182900460ff1615909102179055565b6116f86119c1565b6001600160a01b0316611709611180565b6001600160a01b03161461172f5760405162461bcd60e51b815260040161088890612d47565b6001600160a01b0381166117555760405162461bcd60e51b815260040161088890612916565b610e6281611c7b565b601054610100900460ff166117855760405162461bcd60e51b815260040161088890612993565b3360009081526011602052604090205460ff166117b45760405162461bcd60e51b81526004016108889061311b565b6127076117bf610950565b106117dc5760405162461bcd60e51b815260040161088890612d7c565b60038111156117fd5760405162461bcd60e51b81526004016108889061309c565b6103e881611809610950565b61181391906131e3565b11156118315760405162461bcd60e51b815260040161088890612c1e565b3360009081526012602052604090205460039061184f9083906131e3565b111561186d5760405162461bcd60e51b8152600401610888906130e4565b6000811161188d5760405162461bcd60e51b815260040161088890612a74565b3481600d5461189c919061320f565b146118b95760405162461bcd60e51b815260040161088890612cc4565b60005b81811015611932576000600f5460016118d591906131e3565b90506001600f60008282546118ea91906131e3565b909155505033600090815260126020526040812080546001929061190f9084906131e3565b9091555061191f90503382611a33565b508061192a816132ac565b9150506118bc565b507ff5df7d07fef0d8ac7581015ebd1a3b7b7760da84b12f0c8174ae0dcd639cb6a333826040516113ba9291906127c7565b60006001600160e01b031982166380ac58cd60e01b148061199557506001600160e01b03198216635b5e139f60e01b145b806107c757506107c782611e2a565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906119fa8261101b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61100e828260405180602001604052806000815250611e43565b6000611a58826119a4565b611a745760405162461bcd60e51b815260040161088890612aab565b6000611a7f8361101b565b9050806001600160a01b0316846001600160a01b03161480611aba5750836001600160a01b0316611aaf84610861565b6001600160a01b0316145b80611aca5750611aca8185611666565b949350505050565b826001600160a01b0316611ae58261101b565b6001600160a01b031614611b0b5760405162461bcd60e51b815260040161088890612da5565b6001600160a01b038216611b315760405162461bcd60e51b8152600401610888906129f9565b611b3c838383611e76565b611b476000826119c5565b6001600160a01b0383166000908152600360205260408120805460019290611b7090849061322e565b90915550506001600160a01b0382166000908152600360205260408120805460019290611b9e9084906131e3565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000826001600160a01b031682604051611c1890612773565b60006040518083038185875af1925050503d8060008114611c55576040519150601f19603f3d011682016040523d82523d6000602084013e611c5a565b606091505b50509050806109405760405162461bcd60e51b815260040161088890612e7f565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611cd8848484611ad2565b611ce484848484611eff565b6114cc5760405162461bcd60e51b8152600401610888906128c4565b6060600b80546107de90613271565b606081611d3457506040805180820190915260018152600360fc1b60208201526107ca565b8160005b8115611d5e5780611d48816132ac565b9150611d579050600a836131fb565b9150611d38565b60008167ffffffffffffffff811115611d8757634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611db1576020820181803683370190505b5090505b8415611aca57611dc660018361322e565b9150611dd3600a866132c7565b611dde9060306131e3565b60f81b818381518110611e0157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611e23600a866131fb565b9450611db5565b6001600160e01b031981166301ffc9a760e01b14919050565b611e4d838361201a565b611e5a6000848484611eff565b6109405760405162461bcd60e51b8152600401610888906128c4565b611e81838383610940565b6001600160a01b038316611e9d57611e98816120f9565b611ec0565b816001600160a01b0316836001600160a01b031614611ec057611ec0838261213d565b6001600160a01b038216611edc57611ed7816121da565b610940565b826001600160a01b0316826001600160a01b0316146109405761094082826122b3565b6000611f13846001600160a01b03166122f7565b1561200f57836001600160a01b031663150b7a02611f2f6119c1565b8786866040518563ffffffff1660e01b8152600401611f51949392919061278a565b602060405180830381600087803b158015611f6b57600080fd5b505af1925050508015611f9b575060408051601f3d908101601f19168201909252611f989181019061260b565b60015b611ff5573d808015611fc9576040519150601f19603f3d011682016040523d82523d6000602084013e611fce565b606091505b508051611fed5760405162461bcd60e51b8152600401610888906128c4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611aca565b506001949350505050565b6001600160a01b0382166120405760405162461bcd60e51b815260040161088890612c8f565b612049816119a4565b156120665760405162461bcd60e51b81526004016108889061295c565b61207260008383611e76565b6001600160a01b038216600090815260036020526040812080546001929061209b9084906131e3565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6000600161214a846110de565b612154919061322e565b6000838152600760205260409020549091508082146121a7576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906121ec9060019061322e565b6000838152600960205260408120546008805493945090928490811061222257634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050806008838154811061225157634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061229757634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006122be836110de565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b3b151590565b82805461230990613271565b90600052602060002090601f01602090048101928261232b5760008555612371565b82601f1061234457805160ff1916838001178555612371565b82800160010185558215612371579182015b82811115612371578251825591602001919060010190612356565b5061237d929150612381565b5090565b5b8082111561237d5760008155600101612382565b600067ffffffffffffffff808411156123b1576123b1613307565b604051601f8501601f1916810160200182811182821017156123d5576123d5613307565b6040528481529150818385018610156123ed57600080fd5b8484602083013760006020868301015250509392505050565b80356001600160a01b03811681146107ca57600080fd5b60006020828403121561242e578081fd5b61155e82612406565b60008060408385031215612449578081fd5b61245283612406565b915061246060208401612406565b90509250929050565b60008060006060848603121561247d578081fd5b61248684612406565b925061249460208501612406565b9150604084013590509250925092565b600080600080608085870312156124b9578081fd5b6124c285612406565b93506124d060208601612406565b925060408501359150606085013567ffffffffffffffff8111156124f2578182fd5b8501601f81018713612502578182fd5b61251187823560208401612396565b91505092959194509250565b6000806040838503121561252f578182fd5b61253883612406565b91506020830135801515811461254c578182fd5b809150509250929050565b60008060408385031215612569578182fd5b61257283612406565b946020939093013593505050565b60008060208385031215612592578182fd5b823567ffffffffffffffff808211156125a9578384fd5b818501915085601f8301126125bc578384fd5b8135818111156125ca578485fd5b86602080830285010111156125dd578485fd5b60209290920196919550909350505050565b600060208284031215612600578081fd5b813561155e8161331d565b60006020828403121561261c578081fd5b815161155e8161331d565b600060208284031215612638578081fd5b813567ffffffffffffffff81111561264e578182fd5b8201601f8101841361265e578182fd5b611aca84823560208401612396565b60006020828403121561267e578081fd5b5035919050565b6000815180845261269d816020860160208601613245565b601f01601f19169290920160200192915050565b6000845160206126c48285838a01613245565b8551918401916126d78184848a01613245565b85549201918390600281046001808316806126f357607f831692505b85831081141561271157634e487b7160e01b88526022600452602488fd5b808015612725576001811461273657612762565b60ff19851688528388019550612762565b61273f8b6131d7565b895b8581101561275a5781548a820152908401908801612741565b505083880195505b50939b9a5050505050505050505050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906127bd90830184612685565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015612818578351835292840192918401916001016127fc565b50909695505050505050565b901515815260200190565b60006020825261155e6020830184612685565b6020808252601c908201527f4d757374206d696e74206174206c65617374206f6e6520486f6f645a00000000604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b602080825260159082015274283932b9b0b632903430b9903737ba102132b3bab760591b604082015260600190565b6020808252601a908201527f416c6c20486f6f645a2068617665206265656e206d696e746564000000000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252601c908201527f4d757374206d696e74206174206c65617374206f6e6520486f6f647a00000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252601f908201527f4d696e74696e6720776f756c6420657863656564206d617820737570706c7900604082015260600190565b60208082526024908201527f4d696e74696e6720776f756c6420657863656564206d617820666f722070726560408201526373616c6560e01b606082015260800190565b602080825260139082015272696e737566666369656e742062616c616e636560681b604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526017908201527f45544820616d6f756e7420697320696e636f7272656374000000000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600f908201526e105b1b081391951cc81b5a5b9d1959608a1b604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201526839903737ba1037bbb760b91b606082015260800190565b60208082526022908201527f416c726561647920636c61696d656420616c6c20726573657276656420484f4f604082015261222d60f11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526018908201527f4661696c656420746f2077697468647261772045746865720000000000000000604082015260600190565b60208082526028908201527f50757263686173652065786365656473206d617820616c6c6f77656420706572604082015267206164647265737360c01b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526032908201527f43616e6e6f742070757263686173652074686973206d616e7920486f6f645a2060408201527134b71037b732903a3930b739b0b1ba34b7b760711b606082015260800190565b60208082526019908201527f5075626c69632073616c6520686173206e6f7420426567756e00000000000000604082015260600190565b60208082526017908201527f43616e6e6f7420616464206e756c6c2061646472657373000000000000000000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526028908201527f43616e6e6f742070757263686173652074686973206d616e7920647572696e676040820152672070726573616c6560c01b606082015260800190565b6020808252601c908201527f50757263686173652065786365656473206d617820616c6c6f77656400000000604082015260600190565b6020808252818101527f596f7520617265206e6f7420656c696769626c6520666f722070726573616c65604082015260600190565b6020808252601b908201527f416c6c20746f6b656e732068617665206265656e206d696e7465640000000000604082015260600190565b60208082526027908201527f4d696e74696e6720776f756c6420657863656564206d6178207265736572766560408201526632102427a7a22d60c91b606082015260800190565b90815260200190565b60009081526020902090565b600082198211156131f6576131f66132db565b500190565b60008261320a5761320a6132f1565b500490565b6000816000190483118215151615613229576132296132db565b500290565b600082821015613240576132406132db565b500390565b60005b83811015613260578181015183820152602001613248565b838111156114cc5750506000910152565b60028104600182168061328557607f821691505b602082108114156132a657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156132c0576132c06132db565b5060010190565b6000826132d6576132d66132f1565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610e6257600080fdfea2646970667358221220ae39718e37293fa38e5fdddf0e18a25cea9e9831ddc07982dbdad66d9b9a454864736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010426f797a204e2054686120486f6f645a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005486f6f645a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019687474703a2f2f626f797a6e746861686f6f647a2e636f6d2f00000000000000
-----Decoded View---------------
Arg [0] : _name (string): Boyz N Tha HoodZ
Arg [1] : _symbol (string): HoodZ
Arg [2] : _initBaseURI (string): http://boyznthahoodz.com/
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [4] : 426f797a204e2054686120486f6f645a00000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 486f6f645a000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [8] : 687474703a2f2f626f797a6e746861686f6f647a2e636f6d2f00000000000000
Deployed Bytecode Sourcemap
19314:7019:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15515:224;;;;;;;;;;-1:-1:-1;15515:224:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9000:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10073:221::-;;;;;;;;;;-1:-1:-1;10073:221:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9656:411::-;;;;;;;;;;-1:-1:-1;9656:411:0;;;;;:::i;:::-;;:::i;:::-;;19573:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;20083:29::-;;;;;;;;;;;;;:::i;16007:113::-;;;;;;;;;;;;;:::i;19482:40::-;;;;;;;;;;;;;:::i;21415:752::-;;;;;;;;;;-1:-1:-1;21415:752:0;;;;;:::i;:::-;;:::i;10771:284::-;;;;;;;;;;-1:-1:-1;10771:284:0;;;;;:::i;:::-;;:::i;20045:30::-;;;;;;;;;;;;;:::i;22536:123::-;;;;;;;;;;-1:-1:-1;22536:123:0;;;;;:::i;:::-;;:::i;15745:256::-;;;;;;;;;;-1:-1:-1;15745:256:0;;;;;:::i;:::-;;:::i;22173:357::-;;;;;;;;;;-1:-1:-1;22173:357:0;;;;;:::i;:::-;;:::i;19958:79::-;;;;;;;;;;;;;:::i;25807:326::-;;;;;;;;;;;;;:::i;11061:185::-;;;;;;;;;;-1:-1:-1;11061:185:0;;;;;:::i;:::-;;:::i;24793:358::-;;;;;;;;;;-1:-1:-1;24793:358:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19867:83::-;;;;;;;;;;;;;:::i;16126:233::-;;;;;;;;;;-1:-1:-1;16126:233:0;;;;;:::i;:::-;;:::i;19673:44::-;;;;;;;;;;;;;:::i;19621:::-;;;;;;;;;;;;;:::i;25386:98::-;;;;;;;;;;-1:-1:-1;25386:98:0;;;;;:::i;:::-;;:::i;20120:29::-;;;;;;;;;;;;;:::i;8755:239::-;;;;;;;;;;-1:-1:-1;8755:239:0;;;;;:::i;:::-;;:::i;19408:21::-;;;;;;;;;;;;;:::i;8541:208::-;;;;;;;;;;-1:-1:-1;8541:208:0;;;;;:::i;:::-;;:::i;18809:94::-;;;;;;;;;;;;;:::i;19725:44::-;;;;;;;;;;;;;:::i;20157:26::-;;;;;;;;;;;;;:::i;18590:87::-;;;;;;;;;;;;;:::i;25618:92::-;;;;;;;;;;-1:-1:-1;25618:92:0;;;;;:::i;:::-;;:::i;9106:104::-;;;;;;;;;;;;;:::i;25720:81::-;;;;;;;;;;;;;:::i;23858:929::-;;;;;;:::i;:::-;;:::i;10300:295::-;;;;;;;;;;-1:-1:-1;10300:295:0;;;;;:::i;:::-;;:::i;11252:328::-;;;;;;;;;;-1:-1:-1;11252:328:0;;;;;:::i;:::-;;:::i;19437:37::-;;;;;;;;;;;;;:::i;21001:408::-;;;;;;;;;;-1:-1:-1;21001:408:0;;;;;:::i;:::-;;:::i;19777:82::-;;;;;;;;;;;;;:::i;25490:122::-;;;;;;;;;;-1:-1:-1;25490:122:0;;;;;:::i;:::-;;:::i;25265:111::-;;;;;;;;;;;;;:::i;22665:184::-;;;;;;;;;;-1:-1:-1;22665:184:0;;;;;:::i;:::-;;:::i;10601:164::-;;;;;;;;;;-1:-1:-1;10601:164:0;;;;;:::i;:::-;;:::i;25157:102::-;;;;;;;;;;;;;:::i;18909:192::-;;;;;;;;;;-1:-1:-1;18909:192:0;;;;;:::i;:::-;;:::i;22855:997::-;;;;;;:::i;:::-;;:::i;15515:224::-;15617:4;-1:-1:-1;;;;;;15641:50:0;;-1:-1:-1;;;15641:50:0;;:90;;;15695:36;15719:11;15695:23;:36::i;:::-;15634:97;;15515:224;;;;:::o;9000:100::-;9054:13;9087:5;9080:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9000:100;:::o;10073:221::-;10149:7;10177:16;10185:7;10177;:16::i;:::-;10169:73;;;;-1:-1:-1;;;10169:73:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;10262:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;10262:24:0;;10073:221::o;9656:411::-;9737:13;9753:23;9768:7;9753:14;:23::i;:::-;9737:39;;9801:5;-1:-1:-1;;;;;9795:11:0;:2;-1:-1:-1;;;;;9795:11:0;;;9787:57;;;;-1:-1:-1;;;9787:57:0;;;;;;;:::i;:::-;9895:5;-1:-1:-1;;;;;9879:21:0;:12;:10;:12::i;:::-;-1:-1:-1;;;;;9879:21:0;;:62;;;;9904:37;9921:5;9928:12;:10;:12::i;9904:37::-;9857:168;;;;-1:-1:-1;;;9857:168:0;;;;;;;:::i;:::-;10038:21;10047:2;10051:7;10038:8;:21::i;:::-;9656:411;;;:::o;19573:40::-;19612:1;19573:40;:::o;20083:29::-;;;;:::o;16007:113::-;16095:10;:17;16007:113;:::o;19482:40::-;19518:4;19482:40;:::o;21415:752::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;19766:3:::1;21511:15;;:33;;21503:80;;;;-1:-1:-1::0;;;21503:80:0::1;;;;;;;:::i;:::-;19766:3;21620:6;21602:15;;:24;;;;:::i;:::-;:42;;21594:94;;;;-1:-1:-1::0;;;21594:94:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21707:23:0;::::1;21699:59;;;;-1:-1:-1::0;;;21699:59:0::1;;;;;;;:::i;:::-;19518:4;21777:13;:11;:13::i;:::-;:25;21769:65;;;;-1:-1:-1::0;;;21769:65:0::1;;;;;;;:::i;:::-;19518:4;21869:6;21853:13;:11;:13::i;:::-;:22;;;;:::i;:::-;:35;;21845:79;;;;-1:-1:-1::0;;;21845:79:0::1;;;;;;;:::i;:::-;21935:20;21958:14;;21975:1;21958:18;;;;:::i;:::-;21935:41;;21992:9;21987:102;22011:6;22007:1;:10;21987:102;;;22039:38;22049:9:::0;22060:16:::1;22075:1:::0;22060:12;:16:::1;:::i;:::-;22039:9;:38::i;:::-;22019:3:::0;::::1;::::0;::::1;:::i;:::-;;;;21987:102;;;;22117:6;22099:14;;:24;;;;;;;:::i;:::-;;;;;;;;22153:6;22134:15;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;21415:752:0:o;10771:284::-;10913:41;10932:12;:10;:12::i;:::-;10946:7;10913:18;:41::i;:::-;10905:103;;;;-1:-1:-1;;;10905:103:0;;;;;;;:::i;:::-;11019:28;11029:4;11035:2;11039:7;11019:9;:28::i;20045:30::-;;;;:::o;22536:123::-;-1:-1:-1;;;;;22629:22:0;22605:4;22629:22;;;:16;:22;;;;;;;;;22536:123::o;15745:256::-;15842:7;15878:23;15895:5;15878:16;:23::i;:::-;15870:5;:31;15862:87;;;;-1:-1:-1;;;15862:87:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;15967:19:0;;;;;;;;:12;:19;;;;;;;;:26;;;;;;;;;15745:256::o;22173:357::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;22260:9:::1;22255:268;22275:20:::0;;::::1;22255:268;;;22349:1;22325:9:::0;;22335:1;22325:12;;::::1;;;-1:-1:-1::0;;;22325:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22325:26:0::1;;;22317:62;;;;-1:-1:-1::0;;;22317:62:0::1;;;;;;;:::i;:::-;22427:4;22394:16;:30;22411:9;;22421:1;22411:12;;;;;-1:-1:-1::0;;;22411:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22394:30:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22394:30:0;;;:37;;-1:-1:-1;;22394:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;22446:13:::1;-1:-1:-1::0;22460:9:0;;22470:1;22460:12;;::::1;;;-1:-1:-1::0;;;22460:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22446:27:0::1;-1:-1:-1::0;;;;;22446:27:0::1;;;;;;;;;;;;;:31;:65;;22510:1;22446:65;;;22480:13;:27;22494:9;;22504:1;22494:12;;;;;-1:-1:-1::0;;;22494:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22480:27:0::1;-1:-1:-1::0;;;;;22480:27:0::1;;;;;;;;;;;;;22446:65;-1:-1:-1::0;22297:3:0;::::1;::::0;::::1;:::i;:::-;;;;22255:268;;19958:79:::0;19995:42;19958:79;:::o;25807:326::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;25877:21:::1;25917:11:::0;25909:43:::1;;;;-1:-1:-1::0;;;25909:43:0::1;;;;;;;:::i;:::-;25963:44;19995:42;26002:3;25987:12;:7:::0;25997:2:::1;25987:12;:::i;:::-;:18;;;;:::i;:::-;25963:10;:44::i;:::-;26018:47;19817:42;26060:3;26045:12;:7:::0;26055:2:::1;26045:12;:::i;26018:47::-;26076:49;19908:42;26103:21;26076:10;:49::i;:::-;18794:1;25807:326::o:0;11061:185::-;11199:39;11216:4;11222:2;11226:7;11199:39;;;;;;;;;;;;:16;:39::i;24793:358::-;24853:16;24882:23;24908:17;24918:6;24908:9;:17::i;:::-;24882:43;;24936:25;24978:15;24964:30;;;;;;-1:-1:-1;;;24964:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24964:30:0;;24936:58;;25010:9;25005:113;25025:15;25021:1;:19;25005:113;;;25076:30;25096:6;25104:1;25076:19;:30::i;:::-;25062:8;25071:1;25062:11;;;;;;-1:-1:-1;;;25062:11:0;;;;;;;;;;;;;;;;;;:44;25042:3;;;;:::i;:::-;;;;25005:113;;;-1:-1:-1;25135:8:0;24793:358;-1:-1:-1;;;24793:358:0:o;19867:83::-;19908:42;19867:83;:::o;16126:233::-;16201:7;16237:30;:28;:30::i;:::-;16229:5;:38;16221:95;;;;-1:-1:-1;;;16221:95:0;;;;;;;:::i;:::-;16334:10;16345:5;16334:17;;;;;;-1:-1:-1;;;16334:17:0;;;;;;;;;;;;;;;;;16327:24;;16126:233;;;:::o;19673:44::-;19713:4;19673:44;:::o;19621:::-;19664:1;19621:44;:::o;25386:98::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;25457:21;;::::1;::::0;:7:::1;::::0;:21:::1;::::0;::::1;::::0;::::1;:::i;:::-;;25386:98:::0;:::o;20120:29::-;;;;;;:::o;8755:239::-;8827:7;8863:16;;;:7;:16;;;;;;-1:-1:-1;;;;;8863:16:0;8898:19;8890:73;;;;-1:-1:-1;;;8890:73:0;;;;;;;:::i;19408:21::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8541:208::-;8613:7;-1:-1:-1;;;;;8641:19:0;;8633:74;;;;-1:-1:-1;;;8633:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;8725:16:0;;;;;:9;:16;;;;;;;8541:208::o;18809:94::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;18874:21:::1;18892:1;18874:9;:21::i;:::-;18809:94::o:0;19725:44::-;19766:3;19725:44;:::o;20157:26::-;;;;;;;;;:::o;18590:87::-;18663:6;;-1:-1:-1;;;;;18663:6:0;18590:87;:::o;25618:92::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;25684:6:::1;:18:::0;25618:92::o;9106:104::-;9162:13;9195:7;9188:14;;;;;:::i;25720:81::-;25787:6;;25720:81;:::o;23858:929::-;20650:17;;;;20642:55;;;;-1:-1:-1;;;20642:55:0;;;;;;;:::i;:::-;19518:4:::1;23953:13;:11;:13::i;:::-;:25;23945:64;;;;-1:-1:-1::0;;;23945:64:0::1;;;;;;;:::i;:::-;19612:1;24028:13;:29;;24020:92;;;;-1:-1:-1::0;;;24020:92:0::1;;;;;;;:::i;:::-;19518:4;24147:13;24131;:11;:13::i;:::-;:29;;;;:::i;:::-;:42;;24123:86;;;;-1:-1:-1::0;;;24123:86:0::1;;;;;;;:::i;:::-;24242:10;24228:25;::::0;;;:13:::1;:25;::::0;;;;;19612:1:::1;::::0;24228:41:::1;::::0;24256:13;;24228:41:::1;:::i;:::-;:57;;24220:110;;;;-1:-1:-1::0;;;24220:110:0::1;;;;;;;:::i;:::-;24365:1;24349:13;:17;24341:58;;;;-1:-1:-1::0;;;24341:58:0::1;;;;;;;:::i;:::-;24444:9;24427:13;24418:6;;:22;;;;:::i;:::-;:35;24410:71;;;;-1:-1:-1::0;;;24410:71:0::1;;;;;;;:::i;:::-;24497:9;24492:231;24516:13;24512:1;:17;24492:231;;;24551:15;24569:14;;24586:1;24569:18;;;;:::i;:::-;24551:36;;24620:1;24602:14;;:19;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;24650:10:0::1;24636:25;::::0;;;:13:::1;:25;::::0;;;;:30;;24665:1:::1;::::0;24636:25;:30:::1;::::0;24665:1;;24636:30:::1;:::i;:::-;::::0;;;-1:-1:-1;24681:30:0::1;::::0;-1:-1:-1;24691:10:0::1;24703:7:::0;24681:9:::1;:30::i;:::-;-1:-1:-1::0;24531:3:0;::::1;::::0;::::1;:::i;:::-;;;;24492:231;;;;24738:41;24753:10;24765:13;24738:41;;;;;;;:::i;:::-;;;;;;;;23858:929:::0;:::o;10300:295::-;10415:12;:10;:12::i;:::-;-1:-1:-1;;;;;10403:24:0;:8;-1:-1:-1;;;;;10403:24:0;;;10395:62;;;;-1:-1:-1;;;10395:62:0;;;;;;;:::i;:::-;10515:8;10470:18;:32;10489:12;:10;:12::i;:::-;-1:-1:-1;;;;;10470:32:0;;;;;;;;;;;;;;;;;-1:-1:-1;10470:32:0;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;10470:53:0;;;;;;;;;;;10554:12;:10;:12::i;:::-;-1:-1:-1;;;;;10539:48:0;;10578:8;10539:48;;;;;;:::i;:::-;;;;;;;;10300:295;;:::o;11252:328::-;11427:41;11446:12;:10;:12::i;:::-;11460:7;11427:18;:41::i;:::-;11419:103;;;;-1:-1:-1;;;11419:103:0;;;;;;;:::i;:::-;11533:39;11547:4;11553:2;11557:7;11566:5;11533:13;:39::i;:::-;11252:328;;;;:::o;19437:37::-;;;;;;;:::i;21001:408::-;21084:13;21125:16;21133:7;21125;:16::i;:::-;21109:97;;;;-1:-1:-1;;;21109:97:0;;;;;;;:::i;:::-;21215:28;21246:10;:8;:10::i;:::-;21215:41;;21301:1;21276:14;21270:28;:32;:133;;;;;;;;;;;;;;;;;21338:14;21354:18;:7;:16;:18::i;:::-;21374:13;21321:67;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;21270:133;21263:140;21001:408;-1:-1:-1;;;21001:408:0:o;19777:82::-;19817:42;19777:82;:::o;25490:122::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;25573:33;;::::1;::::0;:13:::1;::::0;:33:::1;::::0;::::1;::::0;::::1;:::i;25265:111::-:0;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;25351:17:::1;::::0;;-1:-1:-1;;25330:38:0;::::1;25351:17;::::0;;::::1;25350:18;25330:38;::::0;;25265:111::o;22665:184::-;22728:7;-1:-1:-1;;;;;22756:19:0;;22748:55;;;;-1:-1:-1;;;22748:55:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;22821:20:0;;;;;:13;:20;;;;;;;22665:184::o;10601:164::-;-1:-1:-1;;;;;10722:25:0;;;10698:4;10722:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;10601:164::o;25157:102::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;25237:14:::1;::::0;;-1:-1:-1;;25219:32:0;::::1;25237:14;::::0;;;::::1;;;25236:15;25219:32:::0;;::::1;;::::0;;25157:102::o;18909:192::-;18734:12;:10;:12::i;:::-;-1:-1:-1;;;;;18723:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;18723:23:0;;18715:68;;;;-1:-1:-1;;;18715:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18998:22:0;::::1;18990:73;;;;-1:-1:-1::0;;;18990:73:0::1;;;;;;;:::i;:::-;19074:19;19084:8;19074:9;:19::i;22855:997::-:0;20530:14;;;;;;;20522:48;;;;-1:-1:-1;;;20522:48:0;;;;;;;:::i;:::-;22971:10:::1;22954:28;::::0;;;:16:::1;:28;::::0;;;;;::::1;;22946:73;;;;-1:-1:-1::0;;;22946:73:0::1;;;;;;;:::i;:::-;19518:4;23038:13;:11;:13::i;:::-;:25;23030:53;;;;-1:-1:-1::0;;;23030:53:0::1;;;;;;;:::i;:::-;19664:1;23102:13;:33;;23094:86;;;;-1:-1:-1::0;;;23094:86:0::1;;;;;;;:::i;:::-;19713:4;23215:13;23199;:11;:13::i;:::-;:29;;;;:::i;:::-;:46;;23191:95;;;;-1:-1:-1::0;;;23191:95:0::1;;;;;;;:::i;:::-;23319:10;23305:25;::::0;;;:13:::1;:25;::::0;;;;;19664:1:::1;::::0;23305:41:::1;::::0;23333:13;;23305:41:::1;:::i;:::-;:61;;23297:102;;;;-1:-1:-1::0;;;23297:102:0::1;;;;;;;:::i;:::-;23434:1;23418:13;:17;23410:58;;;;-1:-1:-1::0;;;23410:58:0::1;;;;;;;:::i;:::-;23513:9;23496:13;23487:6;;:22;;;;:::i;:::-;:35;23479:71;;;;-1:-1:-1::0;;;23479:71:0::1;;;;;;;:::i;:::-;23565:9;23561:230;23584:13;23580:1;:17;23561:230;;;23619:15;23637:14;;23654:1;23637:18;;;;:::i;:::-;23619:36;;23688:1;23670:14;;:19;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;23718:10:0::1;23704:25;::::0;;;:13:::1;:25;::::0;;;;:30;;23733:1:::1;::::0;23704:25;:30:::1;::::0;23733:1;;23704:30:::1;:::i;:::-;::::0;;;-1:-1:-1;23749:30:0::1;::::0;-1:-1:-1;23759:10:0::1;23771:7:::0;23749:9:::1;:30::i;:::-;-1:-1:-1::0;23599:3:0;::::1;::::0;::::1;:::i;:::-;;;;23561:230;;;;23806:38;23818:10;23830:13;23806:38;;;;;;;:::i;8230:305::-:0;8332:4;-1:-1:-1;;;;;;8369:40:0;;-1:-1:-1;;;8369:40:0;;:105;;-1:-1:-1;;;;;;;8426:48:0;;-1:-1:-1;;;8426:48:0;8369:105;:158;;;;8491:36;8515:11;8491:23;:36::i;11907:127::-;11972:4;11996:16;;;:7;:16;;;;;;-1:-1:-1;;;;;11996:16:0;:30;;;11907:127::o;7445:98::-;7525:10;7445:98;:::o;14075:174::-;14150:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;14150:29:0;-1:-1:-1;;;;;14150:29:0;;;;;;;;:24;;14204:23;14150:24;14204:14;:23::i;:::-;-1:-1:-1;;;;;14195:46:0;;;;;;;;;;;14075:174;;:::o;12394:110::-;12470:26;12480:2;12484:7;12470:26;;;;;;;;;;;;:9;:26::i;12040:348::-;12133:4;12158:16;12166:7;12158;:16::i;:::-;12150:73;;;;-1:-1:-1;;;12150:73:0;;;;;;;:::i;:::-;12234:13;12250:23;12265:7;12250:14;:23::i;:::-;12234:39;;12303:5;-1:-1:-1;;;;;12292:16:0;:7;-1:-1:-1;;;;;12292:16:0;;:51;;;;12336:7;-1:-1:-1;;;;;12312:31:0;:20;12324:7;12312:11;:20::i;:::-;-1:-1:-1;;;;;12312:31:0;;12292:51;:87;;;;12347:32;12364:5;12371:7;12347:16;:32::i;:::-;12284:96;12040:348;-1:-1:-1;;;;12040:348:0:o;13549:520::-;13708:4;-1:-1:-1;;;;;13681:31:0;:23;13696:7;13681:14;:23::i;:::-;-1:-1:-1;;;;;13681:31:0;;13673:85;;;;-1:-1:-1;;;13673:85:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13777:16:0;;13769:65;;;;-1:-1:-1;;;13769:65:0;;;;;;;:::i;:::-;13847:39;13868:4;13874:2;13878:7;13847:20;:39::i;:::-;13897:29;13914:1;13918:7;13897:8;:29::i;:::-;-1:-1:-1;;;;;13937:15:0;;;;;;:9;:15;;;;;:20;;13956:1;;13937:15;:20;;13956:1;;13937:20;:::i;:::-;;;;-1:-1:-1;;;;;;;13968:13:0;;;;;;:9;:13;;;;;:18;;13985:1;;13968:13;:18;;13985:1;;13968:18;:::i;:::-;;;;-1:-1:-1;;13997:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;13997:21:0;-1:-1:-1;;;;;13997:21:0;;;;;;;;;14034:27;;13997:16;;14034:27;;;;;;;13549:520;;;:::o;26139:191::-;26214:12;26232:8;-1:-1:-1;;;;;26232:13:0;26254:7;26232:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26213:54;;;26286:7;26278:44;;;;-1:-1:-1;;;26278:44:0;;;;;;;:::i;19109:173::-;19184:6;;;-1:-1:-1;;;;;19201:17:0;;;-1:-1:-1;;;;;;19201:17:0;;;;;;;19234:40;;19184:6;;;19201:17;19184:6;;19234:40;;19165:16;;19234:40;19109:173;;:::o;11586:315::-;11743:28;11753:4;11759:2;11763:7;11743:9;:28::i;:::-;11790:48;11813:4;11819:2;11823:7;11832:5;11790:22;:48::i;:::-;11782:111;;;;-1:-1:-1;;;11782:111:0;;;;;;;:::i;20893:102::-;20953:13;20982:7;20975:14;;;;;:::i;2010:532::-;2066:13;2096:10;2092:53;;-1:-1:-1;2123:10:0;;;;;;;;;;;;-1:-1:-1;;;2123:10:0;;;;;;2092:53;2170:5;2155:12;2211:78;2218:9;;2211:78;;2244:8;;;;:::i;:::-;;-1:-1:-1;2267:10:0;;-1:-1:-1;2275:2:0;2267:10;;:::i;:::-;;;2211:78;;;2299:19;2331:6;2321:17;;;;;;-1:-1:-1;;;2321:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2321:17:0;;2299:39;;2349:154;2356:10;;2349:154;;2383:11;2393:1;2383:11;;:::i;:::-;;-1:-1:-1;2452:10:0;2460:2;2452:5;:10;:::i;:::-;2439:24;;:2;:24;:::i;:::-;2426:39;;2409:6;2416;2409:14;;;;;;-1:-1:-1;;;2409:14:0;;;;;;;;;;;;:56;-1:-1:-1;;;;;2409:56:0;;;;;;;;-1:-1:-1;2480:11:0;2489:2;2480:11;;:::i;:::-;;;2349:154;;1735:157;-1:-1:-1;;;;;;1844:40:0;;-1:-1:-1;;;1844:40:0;1735:157;;;:::o;12510:321::-;12640:18;12646:2;12650:7;12640:5;:18::i;:::-;12691:54;12722:1;12726:2;12730:7;12739:5;12691:22;:54::i;:::-;12669:154;;;;-1:-1:-1;;;12669:154:0;;;;;;;:::i;16365:589::-;16509:45;16536:4;16542:2;16546:7;16509:26;:45::i;:::-;-1:-1:-1;;;;;16571:18:0;;16567:187;;16606:40;16638:7;16606:31;:40::i;:::-;16567:187;;;16676:2;-1:-1:-1;;;;;16668:10:0;:4;-1:-1:-1;;;;;16668:10:0;;16664:90;;16695:47;16728:4;16734:7;16695:32;:47::i;:::-;-1:-1:-1;;;;;16768:16:0;;16764:183;;16801:45;16838:7;16801:36;:45::i;:::-;16764:183;;;16874:4;-1:-1:-1;;;;;16868:10:0;:2;-1:-1:-1;;;;;16868:10:0;;16864:83;;16895:40;16923:2;16927:7;16895:27;:40::i;14255:799::-;14410:4;14431:15;:2;-1:-1:-1;;;;;14431:13:0;;:15::i;:::-;14427:620;;;14483:2;-1:-1:-1;;;;;14467:36:0;;14504:12;:10;:12::i;:::-;14518:4;14524:7;14533:5;14467:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14467:72:0;;;;;;;;-1:-1:-1;;14467:72:0;;;;;;;;;;;;:::i;:::-;;;14463:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14709:13:0;;14705:272;;14752:60;;-1:-1:-1;;;14752:60:0;;;;;;;:::i;14705:272::-;14927:6;14921:13;14912:6;14908:2;14904:15;14897:38;14463:529;-1:-1:-1;;;;;;14590:51:0;-1:-1:-1;;;14590:51:0;;-1:-1:-1;14583:58:0;;14427:620;-1:-1:-1;15031:4:0;14255:799;;;;;;:::o;12837:376::-;-1:-1:-1;;;;;12917:16:0;;12909:61;;;;-1:-1:-1;;;12909:61:0;;;;;;;:::i;:::-;12990:16;12998:7;12990;:16::i;:::-;12989:17;12981:58;;;;-1:-1:-1;;;12981:58:0;;;;;;;:::i;:::-;13050:45;13079:1;13083:2;13087:7;13050:20;:45::i;:::-;-1:-1:-1;;;;;13106:13:0;;;;;;:9;:13;;;;;:18;;13123:1;;13106:13;:18;;13123:1;;13106:18;:::i;:::-;;;;-1:-1:-1;;13135:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;13135:21:0;-1:-1:-1;;;;;13135:21:0;;;;;;;;13172:33;;13135:16;;;13172:33;;13135:16;;13172:33;12837:376;;:::o;17187:164::-;17291:10;:17;;17264:24;;;;:15;:24;;;;;:44;;;17319:24;;;;;;;;;;;;17187:164::o;17357:551::-;17449:22;17499:1;17474:22;17491:4;17474:16;:22::i;:::-;:26;;;;:::i;:::-;17511:18;17532:26;;;:17;:26;;;;;;17449:51;;-1:-1:-1;17573:28:0;;;17569:236;;-1:-1:-1;;;;;17640:18:0;;17618:19;17640:18;;;:12;:18;;;;;;;;:34;;;;;;;;;17691:30;;;;;;:44;;;17750:30;;:17;:30;;;;;:43;;;17569:236;-1:-1:-1;17822:26:0;;;;:17;:26;;;;;;;;17815:33;;;-1:-1:-1;;;;;17866:18:0;;;;;:12;:18;;;;;:34;;;;;;;17859:41;17357:551::o;17914:419::-;18021:10;:17;17996:22;;18021:21;;18041:1;;18021:21;:::i;:::-;18053:18;18074:24;;;:15;:24;;;;;;18131:10;:26;;17996:46;;-1:-1:-1;18074:24:0;;17996:46;;18131:26;;;;-1:-1:-1;;;18131:26:0;;;;;;;;;;;;;;;;;18109:48;;18193:11;18168:10;18179;18168:22;;;;;;-1:-1:-1;;;18168:22:0;;;;;;;;;;;;;;;;;;;;:36;;;;18215:28;;;:15;:28;;;;;;;:41;;;18274:24;;;;;18267:31;18309:10;:16;;;;;-1:-1:-1;;;18309:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;17914:419;;;;:::o;16960:221::-;17045:14;17062:20;17079:2;17062:16;:20::i;:::-;-1:-1:-1;;;;;17093:16:0;;;;;;;:12;:16;;;;;;;;:24;;;;;;;;:34;;;17138:26;;;:17;:26;;;;;;:35;;;;-1:-1:-1;16960:221:0:o;3398:196::-;3530:20;3578:8;;;3398:196::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:607:1;;110:18;151:2;143:6;140:14;137:2;;;157:18;;:::i;:::-;206:2;200:9;279:2;256:17;;-1:-1:-1;;252:31:1;240:44;;286:4;236:55;306:18;;;326:22;;;303:46;300:2;;;352:18;;:::i;:::-;388:2;381:22;436;;;421:6;-1:-1:-1;421:6:1;473:16;;;470:25;-1:-1:-1;467:2:1;;;508:1;505;498:12;467:2;558:6;553:3;546:4;538:6;534:17;521:44;613:1;606:4;597:6;589;585:19;581:30;574:41;;;90:531;;;;;:::o;626:175::-;696:20;;-1:-1:-1;;;;;745:31:1;;735:42;;725:2;;791:1;788;781:12;806:198;;918:2;906:9;897:7;893:23;889:32;886:2;;;939:6;931;924:22;886:2;967:31;988:9;967:31;:::i;1009:274::-;;;1138:2;1126:9;1117:7;1113:23;1109:32;1106:2;;;1159:6;1151;1144:22;1106:2;1187:31;1208:9;1187:31;:::i;:::-;1177:41;;1237:40;1273:2;1262:9;1258:18;1237:40;:::i;:::-;1227:50;;1096:187;;;;;:::o;1288:342::-;;;;1434:2;1422:9;1413:7;1409:23;1405:32;1402:2;;;1455:6;1447;1440:22;1402:2;1483:31;1504:9;1483:31;:::i;:::-;1473:41;;1533:40;1569:2;1558:9;1554:18;1533:40;:::i;:::-;1523:50;;1620:2;1609:9;1605:18;1592:32;1582:42;;1392:238;;;;;:::o;1635:702::-;;;;;1807:3;1795:9;1786:7;1782:23;1778:33;1775:2;;;1829:6;1821;1814:22;1775:2;1857:31;1878:9;1857:31;:::i;:::-;1847:41;;1907:40;1943:2;1932:9;1928:18;1907:40;:::i;:::-;1897:50;;1994:2;1983:9;1979:18;1966:32;1956:42;;2049:2;2038:9;2034:18;2021:32;2076:18;2068:6;2065:30;2062:2;;;2113:6;2105;2098:22;2062:2;2141:22;;2194:4;2186:13;;2182:27;-1:-1:-1;2172:2:1;;2228:6;2220;2213:22;2172:2;2256:75;2323:7;2318:2;2305:16;2300:2;2296;2292:11;2256:75;:::i;:::-;2246:85;;;1765:572;;;;;;;:::o;2342:369::-;;;2468:2;2456:9;2447:7;2443:23;2439:32;2436:2;;;2489:6;2481;2474:22;2436:2;2517:31;2538:9;2517:31;:::i;:::-;2507:41;;2598:2;2587:9;2583:18;2570:32;2645:5;2638:13;2631:21;2624:5;2621:32;2611:2;;2672:6;2664;2657:22;2611:2;2700:5;2690:15;;;2426:285;;;;;:::o;2716:266::-;;;2845:2;2833:9;2824:7;2820:23;2816:32;2813:2;;;2866:6;2858;2851:22;2813:2;2894:31;2915:9;2894:31;:::i;:::-;2884:41;2972:2;2957:18;;;;2944:32;;-1:-1:-1;;;2803:179:1:o;2987:666::-;;;3134:2;3122:9;3113:7;3109:23;3105:32;3102:2;;;3155:6;3147;3140:22;3102:2;3200:9;3187:23;3229:18;3270:2;3262:6;3259:14;3256:2;;;3291:6;3283;3276:22;3256:2;3334:6;3323:9;3319:22;3309:32;;3379:7;3372:4;3368:2;3364:13;3360:27;3350:2;;3406:6;3398;3391:22;3350:2;3451;3438:16;3477:2;3469:6;3466:14;3463:2;;;3498:6;3490;3483:22;3463:2;3557:7;3552:2;3546;3538:6;3534:15;3530:2;3526:24;3522:33;3519:46;3516:2;;;3583:6;3575;3568:22;3516:2;3619;3611:11;;;;;3641:6;;-1:-1:-1;3092:561:1;;-1:-1:-1;;;;3092:561:1:o;3658:257::-;;3769:2;3757:9;3748:7;3744:23;3740:32;3737:2;;;3790:6;3782;3775:22;3737:2;3834:9;3821:23;3853:32;3879:5;3853:32;:::i;3920:261::-;;4042:2;4030:9;4021:7;4017:23;4013:32;4010:2;;;4063:6;4055;4048:22;4010:2;4100:9;4094:16;4119:32;4145:5;4119:32;:::i;4186:482::-;;4308:2;4296:9;4287:7;4283:23;4279:32;4276:2;;;4329:6;4321;4314:22;4276:2;4374:9;4361:23;4407:18;4399:6;4396:30;4393:2;;;4444:6;4436;4429:22;4393:2;4472:22;;4525:4;4517:13;;4513:27;-1:-1:-1;4503:2:1;;4559:6;4551;4544:22;4503:2;4587:75;4654:7;4649:2;4636:16;4631:2;4627;4623:11;4587:75;:::i;4673:190::-;;4785:2;4773:9;4764:7;4760:23;4756:32;4753:2;;;4806:6;4798;4791:22;4753:2;-1:-1:-1;4834:23:1;;4743:120;-1:-1:-1;4743:120:1:o;4868:259::-;;4949:5;4943:12;4976:6;4971:3;4964:19;4992:63;5048:6;5041:4;5036:3;5032:14;5025:4;5018:5;5014:16;4992:63;:::i;:::-;5109:2;5088:15;-1:-1:-1;;5084:29:1;5075:39;;;;5116:4;5071:50;;4919:208;-1:-1:-1;;4919:208:1:o;5132:1532::-;;5394:6;5388:13;5420:4;5433:51;5477:6;5472:3;5467:2;5459:6;5455:15;5433:51;:::i;:::-;5547:13;;5506:16;;;;5569:55;5547:13;5506:16;5591:15;;;5569:55;:::i;:::-;5715:13;;5646:20;;;5686:3;;5792:1;5777:17;;5813:1;5849:18;;;;5876:2;;5954:4;5944:8;5940:19;5928:31;;5876:2;6017;6007:8;6004:16;5984:18;5981:40;5978:2;;;-1:-1:-1;;;6044:33:1;;6100:4;6097:1;6090:15;6130:4;6051:3;6118:17;5978:2;6161:18;6188:110;;;;6312:1;6307:332;;;;6154:485;;6188:110;-1:-1:-1;;6223:24:1;;6209:39;;6268:20;;;;-1:-1:-1;6188:110:1;;6307:332;6343:39;6375:6;6343:39;:::i;:::-;6404:3;6420:169;6434:8;6431:1;6428:15;6420:169;;;6516:14;;6501:13;;;6494:37;6559:16;;;;6451:10;;6420:169;;;6424:3;;6620:8;6613:5;6609:20;6602:27;;6154:485;-1:-1:-1;6655:3:1;;5364:1300;-1:-1:-1;;;;;;;;;;;5364:1300:1:o;6669:205::-;6869:3;6860:14::o;6879:203::-;-1:-1:-1;;;;;7043:32:1;;;;7025:51;;7013:2;6998:18;;6980:102::o;7087:490::-;-1:-1:-1;;;;;7356:15:1;;;7338:34;;7408:15;;7403:2;7388:18;;7381:43;7455:2;7440:18;;7433:34;;;7503:3;7498:2;7483:18;;7476:31;;;7087:490;;7524:47;;7551:19;;7543:6;7524:47;:::i;:::-;7516:55;7290:287;-1:-1:-1;;;;;;7290:287:1:o;7582:274::-;-1:-1:-1;;;;;7774:32:1;;;;7756:51;;7838:2;7823:18;;7816:34;7744:2;7729:18;;7711:145::o;7861:635::-;8032:2;8084:21;;;8154:13;;8057:18;;;8176:22;;;7861:635;;8032:2;8255:15;;;;8229:2;8214:18;;;7861:635;8301:169;8315:6;8312:1;8309:13;8301:169;;;8376:13;;8364:26;;8445:15;;;;8410:12;;;;8337:1;8330:9;8301:169;;;-1:-1:-1;8487:3:1;;8012:484;-1:-1:-1;;;;;;8012:484:1:o;8501:187::-;8666:14;;8659:22;8641:41;;8629:2;8614:18;;8596:92::o;8693:221::-;;8842:2;8831:9;8824:21;8862:46;8904:2;8893:9;8889:18;8881:6;8862:46;:::i;8919:352::-;9121:2;9103:21;;;9160:2;9140:18;;;9133:30;9199;9194:2;9179:18;;9172:58;9262:2;9247:18;;9093:178::o;9276:407::-;9478:2;9460:21;;;9517:2;9497:18;;;9490:30;9556:34;9551:2;9536:18;;9529:62;-1:-1:-1;;;9622:2:1;9607:18;;9600:41;9673:3;9658:19;;9450:233::o;9688:414::-;9890:2;9872:21;;;9929:2;9909:18;;;9902:30;9968:34;9963:2;9948:18;;9941:62;-1:-1:-1;;;10034:2:1;10019:18;;10012:48;10092:3;10077:19;;9862:240::o;10107:402::-;10309:2;10291:21;;;10348:2;10328:18;;;10321:30;10387:34;10382:2;10367:18;;10360:62;-1:-1:-1;;;10453:2:1;10438:18;;10431:36;10499:3;10484:19;;10281:228::o;10514:352::-;10716:2;10698:21;;;10755:2;10735:18;;;10728:30;10794;10789:2;10774:18;;10767:58;10857:2;10842:18;;10688:178::o;10871:345::-;11073:2;11055:21;;;11112:2;11092:18;;;11085:30;-1:-1:-1;;;11146:2:1;11131:18;;11124:51;11207:2;11192:18;;11045:171::o;11221:350::-;11423:2;11405:21;;;11462:2;11442:18;;;11435:30;11501:28;11496:2;11481:18;;11474:56;11562:2;11547:18;;11395:176::o;11576:400::-;11778:2;11760:21;;;11817:2;11797:18;;;11790:30;11856:34;11851:2;11836:18;;11829:62;-1:-1:-1;;;11922:2:1;11907:18;;11900:34;11966:3;11951:19;;11750:226::o;11981:349::-;12183:2;12165:21;;;12222:2;12202:18;;;12195:30;12261:27;12256:2;12241:18;;12234:55;12321:2;12306:18;;12155:175::o;12335:352::-;12537:2;12519:21;;;12576:2;12556:18;;;12549:30;12615;12610:2;12595:18;;12588:58;12678:2;12663:18;;12509:178::o;12692:408::-;12894:2;12876:21;;;12933:2;12913:18;;;12906:30;12972:34;12967:2;12952:18;;12945:62;-1:-1:-1;;;13038:2:1;13023:18;;13016:42;13090:3;13075:19;;12866:234::o;13105:420::-;13307:2;13289:21;;;13346:2;13326:18;;;13319:30;13385:34;13380:2;13365:18;;13358:62;13456:26;13451:2;13436:18;;13429:54;13515:3;13500:19;;13279:246::o;13530:406::-;13732:2;13714:21;;;13771:2;13751:18;;;13744:30;13810:34;13805:2;13790:18;;13783:62;-1:-1:-1;;;13876:2:1;13861:18;;13854:40;13926:3;13911:19;;13704:232::o;13941:405::-;14143:2;14125:21;;;14182:2;14162:18;;;14155:30;14221:34;14216:2;14201:18;;14194:62;-1:-1:-1;;;14287:2:1;14272:18;;14265:39;14336:3;14321:19;;14115:231::o;14351:355::-;14553:2;14535:21;;;14592:2;14572:18;;;14565:30;14631:33;14626:2;14611:18;;14604:61;14697:2;14682:18;;14525:181::o;14711:400::-;14913:2;14895:21;;;14952:2;14932:18;;;14925:30;14991:34;14986:2;14971:18;;14964:62;-1:-1:-1;;;15057:2:1;15042:18;;15035:34;15101:3;15086:19;;14885:226::o;15116:343::-;15318:2;15300:21;;;15357:2;15337:18;;;15330:30;-1:-1:-1;;;15391:2:1;15376:18;;15369:49;15450:2;15435:18;;15290:169::o;15464:356::-;15666:2;15648:21;;;15685:18;;;15678:30;15744:34;15739:2;15724:18;;15717:62;15811:2;15796:18;;15638:182::o;15825:347::-;16027:2;16009:21;;;16066:2;16046:18;;;16039:30;16105:25;16100:2;16085:18;;16078:53;16163:2;16148:18;;15999:173::o;16177:408::-;16379:2;16361:21;;;16418:2;16398:18;;;16391:30;16457:34;16452:2;16437:18;;16430:62;-1:-1:-1;;;16523:2:1;16508:18;;16501:42;16575:3;16560:19;;16351:234::o;16590:356::-;16792:2;16774:21;;;16811:18;;;16804:30;16870:34;16865:2;16850:18;;16843:62;16937:2;16922:18;;16764:182::o;16951:339::-;17153:2;17135:21;;;17192:2;17172:18;;;17165:30;-1:-1:-1;;;17226:2:1;17211:18;;17204:45;17281:2;17266:18;;17125:165::o;17295:405::-;17497:2;17479:21;;;17536:2;17516:18;;;17509:30;17575:34;17570:2;17555:18;;17548:62;-1:-1:-1;;;17641:2:1;17626:18;;17619:39;17690:3;17675:19;;17469:231::o;17705:398::-;17907:2;17889:21;;;17946:2;17926:18;;;17919:30;17985:34;17980:2;17965:18;;17958:62;-1:-1:-1;;;18051:2:1;18036:18;;18029:32;18093:3;18078:19;;17879:224::o;18108:411::-;18310:2;18292:21;;;18349:2;18329:18;;;18322:30;18388:34;18383:2;18368:18;;18361:62;-1:-1:-1;;;18454:2:1;18439:18;;18432:45;18509:3;18494:19;;18282:237::o;18524:348::-;18726:2;18708:21;;;18765:2;18745:18;;;18738:30;18804:26;18799:2;18784:18;;18777:54;18863:2;18848:18;;18698:174::o;18877:404::-;19079:2;19061:21;;;19118:2;19098:18;;;19091:30;19157:34;19152:2;19137:18;;19130:62;-1:-1:-1;;;19223:2:1;19208:18;;19201:38;19271:3;19256:19;;19051:230::o;19286:397::-;19488:2;19470:21;;;19527:2;19507:18;;;19500:30;19566:34;19561:2;19546:18;;19539:62;-1:-1:-1;;;19632:2:1;19617:18;;19610:31;19673:3;19658:19;;19460:223::o;19688:414::-;19890:2;19872:21;;;19929:2;19909:18;;;19902:30;19968:34;19963:2;19948:18;;19941:62;-1:-1:-1;;;20034:2:1;20019:18;;20012:48;20092:3;20077:19;;19862:240::o;20107:349::-;20309:2;20291:21;;;20348:2;20328:18;;;20321:30;20387:27;20382:2;20367:18;;20360:55;20447:2;20432:18;;20281:175::o;20461:347::-;20663:2;20645:21;;;20702:2;20682:18;;;20675:30;20741:25;20736:2;20721:18;;20714:53;20799:2;20784:18;;20635:173::o;20813:413::-;21015:2;20997:21;;;21054:2;21034:18;;;21027:30;21093:34;21088:2;21073:18;;21066:62;-1:-1:-1;;;21159:2:1;21144:18;;21137:47;21216:3;21201:19;;20987:239::o;21231:408::-;21433:2;21415:21;;;21472:2;21452:18;;;21445:30;21511:34;21506:2;21491:18;;21484:62;-1:-1:-1;;;21577:2:1;21562:18;;21555:42;21629:3;21614:19;;21405:234::o;21644:404::-;21846:2;21828:21;;;21885:2;21865:18;;;21858:30;21924:34;21919:2;21904:18;;21897:62;-1:-1:-1;;;21990:2:1;21975:18;;21968:38;22038:3;22023:19;;21818:230::o;22053:352::-;22255:2;22237:21;;;22294:2;22274:18;;;22267:30;22333;22328:2;22313:18;;22306:58;22396:2;22381:18;;22227:178::o;22410:356::-;22612:2;22594:21;;;22631:18;;;22624:30;22690:34;22685:2;22670:18;;22663:62;22757:2;22742:18;;22584:182::o;22771:351::-;22973:2;22955:21;;;23012:2;22992:18;;;22985:30;23051:29;23046:2;23031:18;;23024:57;23113:2;23098:18;;22945:177::o;23127:403::-;23329:2;23311:21;;;23368:2;23348:18;;;23341:30;23407:34;23402:2;23387:18;;23380:62;-1:-1:-1;;;23473:2:1;23458:18;;23451:37;23520:3;23505:19;;23301:229::o;23535:177::-;23681:25;;;23669:2;23654:18;;23636:76::o;23717:129::-;;23785:17;;;23835:4;23819:21;;;23775:71::o;23851:128::-;;23922:1;23918:6;23915:1;23912:13;23909:2;;;23928:18;;:::i;:::-;-1:-1:-1;23964:9:1;;23899:80::o;23984:120::-;;24050:1;24040:2;;24055:18;;:::i;:::-;-1:-1:-1;24089:9:1;;24030:74::o;24109:168::-;;24215:1;24211;24207:6;24203:14;24200:1;24197:21;24192:1;24185:9;24178:17;24174:45;24171:2;;;24222:18;;:::i;:::-;-1:-1:-1;24262:9:1;;24161:116::o;24282:125::-;;24350:1;24347;24344:8;24341:2;;;24355:18;;:::i;:::-;-1:-1:-1;24392:9:1;;24331:76::o;24412:258::-;24484:1;24494:113;24508:6;24505:1;24502:13;24494:113;;;24584:11;;;24578:18;24565:11;;;24558:39;24530:2;24523:10;24494:113;;;24625:6;24622:1;24619:13;24616:2;;;-1:-1:-1;;24660:1:1;24642:16;;24635:27;24465:205::o;24675:380::-;24760:1;24750:12;;24807:1;24797:12;;;24818:2;;24872:4;24864:6;24860:17;24850:27;;24818:2;24925;24917:6;24914:14;24894:18;24891:38;24888:2;;;24971:10;24966:3;24962:20;24959:1;24952:31;25006:4;25003:1;24996:15;25034:4;25031:1;25024:15;24888:2;;24730:325;;;:::o;25060:135::-;;-1:-1:-1;;25120:17:1;;25117:2;;;25140:18;;:::i;:::-;-1:-1:-1;25187:1:1;25176:13;;25107:88::o;25200:112::-;;25258:1;25248:2;;25263:18;;:::i;:::-;-1:-1:-1;25297:9:1;;25238:74::o;25317:127::-;25378:10;25373:3;25369:20;25366:1;25359:31;25409:4;25406:1;25399:15;25433:4;25430:1;25423:15;25449:127;25510:10;25505:3;25501:20;25498:1;25491:31;25541:4;25538:1;25531:15;25565:4;25562:1;25555:15;25581:127;25642:10;25637:3;25633:20;25630:1;25623:31;25673:4;25670:1;25663:15;25697:4;25694:1;25687:15;25713:133;-1:-1:-1;;;;;;25789:32:1;;25779:43;;25769:2;;25836:1;25833;25826:12
Swarm Source
ipfs://ae39718e37293fa38e5fdddf0e18a25cea9e9831ddc07982dbdad66d9b9a4548
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.