ERC-721
Overview
Max Total Supply
1,492 BUMS
Holders
318
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
5 BUMSLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MetaBums
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-18 */ //SPDX-License-Identifier: MIT pragma solidity >=0.8.0; // OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol) /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; uint8 private constant _ADDRESS_LENGTH = 20; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol 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); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ 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); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed 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); } /** * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation. */ function toHexString(address addr) internal pure returns (string memory) { return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH); } } // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /// @notice Modern, minimalist, and gas efficient ERC-721 implementation. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol) abstract contract ERC721 { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 indexed id); event Approval(address indexed owner, address indexed spender, uint256 indexed id); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /*////////////////////////////////////////////////////////////// METADATA STORAGE/LOGIC //////////////////////////////////////////////////////////////*/ string public name; string public symbol; function tokenURI(uint256 id) public view virtual returns (string memory); /*////////////////////////////////////////////////////////////// ERC721 BALANCE/OWNER STORAGE //////////////////////////////////////////////////////////////*/ mapping(uint256 => address) internal _ownerOf; mapping(address => uint256) internal _balanceOf; function ownerOf(uint256 id) public view virtual returns (address owner) { require((owner = _ownerOf[id]) != address(0), "NOT_MINTED"); } function balanceOf(address owner) public view virtual returns (uint256) { require(owner != address(0), "ZERO_ADDRESS"); return _balanceOf[owner]; } /*////////////////////////////////////////////////////////////// ERC721 APPROVAL STORAGE //////////////////////////////////////////////////////////////*/ mapping(uint256 => address) public getApproved; mapping(address => mapping(address => bool)) public isApprovedForAll; /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(string memory _name, string memory _symbol) { name = _name; symbol = _symbol; } /*////////////////////////////////////////////////////////////// ERC721 LOGIC //////////////////////////////////////////////////////////////*/ function approve(address spender, uint256 id) public virtual { address owner = _ownerOf[id]; require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED"); getApproved[id] = spender; emit Approval(owner, spender, id); } function setApprovalForAll(address operator, bool approved) public virtual { isApprovedForAll[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } function transferFrom( address from, address to, uint256 id ) public virtual { require(from == _ownerOf[id], "WRONG_FROM"); require(to != address(0), "INVALID_RECIPIENT"); require( msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id], "NOT_AUTHORIZED" ); // Underflow of the sender's balance is impossible because we check for // ownership above and the recipient's balance can't realistically overflow. unchecked { _balanceOf[from]--; _balanceOf[to]++; } _ownerOf[id] = to; delete getApproved[id]; emit Transfer(from, to, id); } function safeTransferFrom( address from, address to, uint256 id ) public virtual { transferFrom(from, to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } function safeTransferFrom( address from, address to, uint256 id, bytes calldata data ) public virtual { transferFrom(from, to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } /*////////////////////////////////////////////////////////////// ERC165 LOGIC //////////////////////////////////////////////////////////////*/ function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165 interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721 interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata } /*////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint(address to, uint256 id) internal virtual { require(to != address(0), "INVALID_RECIPIENT"); require(_ownerOf[id] == address(0), "ALREADY_MINTED"); // Counter overflow is incredibly unrealistic. unchecked { _balanceOf[to]++; } _ownerOf[id] = to; emit Transfer(address(0), to, id); } function _burn(uint256 id) internal virtual { address owner = _ownerOf[id]; require(owner != address(0), "NOT_MINTED"); // Ownership check above ensures no underflow. unchecked { _balanceOf[owner]--; } delete _ownerOf[id]; delete getApproved[id]; emit Transfer(owner, address(0), id); } /*////////////////////////////////////////////////////////////// INTERNAL SAFE MINT LOGIC //////////////////////////////////////////////////////////////*/ function _safeMint(address to, uint256 id) internal virtual { _mint(to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, "") == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } function _safeMint( address to, uint256 id, bytes memory data ) internal virtual { _mint(to, id); require( to.code.length == 0 || ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) == ERC721TokenReceiver.onERC721Received.selector, "UNSAFE_RECIPIENT" ); } } /// @notice A generic interface for a contract which properly accepts ERC721 tokens. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol) abstract contract ERC721TokenReceiver { function onERC721Received( address, address, uint256, bytes calldata ) external virtual returns (bytes4) { return ERC721TokenReceiver.onERC721Received.selector; } } //****************************************************************************// // WELCOME TO THE CRYPTO WINTER. IT'S TIME TO BURN SOME TRASH FOR HEAT IF YOU // // WANT TO SURVIVE THE CYPHERPUNK DYSTOPIA WE CALL ... // // __ __ // // /'\_/`\ /\ \__ /\ \ // // /\ \ __\ \ ,_\ __ \ \ \____ __ __ ___ ___ ____ // // \ \ \__\ \ /'__`\ \ \/ /'__`\ \ \ '__`\/\ \/\ \ /' __` __`\ /',__\ // // \ \ \_/\ \/\ __/\ \ \_/\ \L\.\_\ \ \L\ \ \ \_\ \/\ \/\ \/\ \/\__, `\ // // \ \_\\ \_\ \____\\ \__\ \__/.\_\\ \_,__/\ \____/\ \_\ \_\ \_\/\____/ // // \/_/ \/_/\/____/ \/__/\/__/\/_/ \/___/ \/___/ \/_/\/_/\/_/\/___/ // // __________________ // // \................\ // // \.................\ // // \.................\ // // \xxxxxxxxxxxxxxxxx\ // // /------------------------------------- // // //xxxxxxxxxxxxxxx// // | // // // // // | // // // // / / || // // // // / / || // // //_______________// / / || // // -------------------------------------/ /------- | // // | WASTE | NO |RESIDENTIAL| | // // | MANAGEMENT |RECYCLING|TRASH ONLY | | // // |-----------------------------------| | // // | PROPERTY OF METABUMS INCORPORATED | | // // ------------------------------------------------- // //****************************************************************************// contract MetaBums is ERC721, Ownable { // saves 66 gas using < MAX+1 rather than <= MAX uint256 public constant MAX_SUPPLY_PLUS_ONE = 6970; bool public metadataFrozen; uint256 public totalSupply; string public baseURI; mapping(address => uint256) bumAdopters; uint256 public trash = type(uint256).max; bytes32 public fire; mapping(address=>uint) public donations; event Shout(string exclamation); constructor(string memory _baseURI) ERC721("Metabums", "BUMS") { baseURI = _baseURI; _mint(msg.sender, 0); totalSupply = 1; } function adoptABum(uint8 quantity) external fleeTheRobotOverlords payable { uint256 currentId = totalSupply; require(quantity > 0 && quantity < 6, "BAD_QUANTITY"); require(currentId + quantity < MAX_SUPPLY_PLUS_ONE, "MINT_COMPLETE"); require(bumAdopters[msg.sender] == 0, "CAN_ONLY_MINT_ONCE"); for (uint i = 0; i < quantity; ++i) _mint(msg.sender, currentId + i); unchecked{ totalSupply += quantity; } if(msg.value > 0) donations[msg.sender] = donations[msg.sender] + msg.value; bumAdopters[msg.sender] = 1 + uint(bytes32(abi.encodePacked(msg.sender))) ^ uint(blockhash(block.number)); } function burnTrashForHeat() external fleeTheRobotOverlords { unchecked { trash -= 1; fire = keccak256(abi.encodePacked(blockhash(block.number), msg.sender, trash)); } } function moveBackInWithMom(address basement) external fleeTheRobotOverlords { address mom = _ownerOf[0]; unchecked { _balanceOf[mom]--; _balanceOf[basement]++; } _ownerOf[0] = basement; delete getApproved[0]; emit Transfer(mom, basement, 0); } function begForChange() external fleeTheRobotOverlords payable { require(msg.value != 0, "MUST_PAY"); unchecked{ donations[msg.sender] = donations[msg.sender] + msg.value; fire = keccak256(abi.encodePacked(msg.value)) ^ fire; } } function holla(uint wut, address atyaboi) external fleeTheRobotOverlords { bool robot = toBool(uint256(keccak256(abi.encodePacked(block.number))) % 2); uint firstLetter = wut; uint secondLetter = wut % 8 + bumAdopters[msg.sender] + donations[msg.sender]; uint thirdLetter = addmod(uint(bytes32(abi.encode(address(msg.sender)))), trash, 26); (bool dongle, bytes memory port) = atyaboi.call(abi.encode(robot)); uint fourthLetter = addmod(uint(bytes32(port)), thirdLetter, 26); string memory out; if(!(robot && dongle)) { out = string.concat( uintToString(firstLetter), uintToString(secondLetter), uintToString(thirdLetter), uintToString(fourthLetter) ); } else { // THE AI APOCALYPSE COMETH out = string.concat( Strings.toHexString(firstLetter % 10), Strings.toHexString(secondLetter % 10), Strings.toHexString(thirdLetter % 10), Strings.toHexString(fourthLetter % 10 ) ); } emit Shout(out); } function tokenURI(uint256 _tokenId) public view virtual override returns (string memory) { require(ownerOf(_tokenId) != address(0)); return string(abi.encodePacked(baseURI, paddedString(_tokenId), ".json")); } function paddedString(uint256 _tokenId) internal pure returns (string memory) { if(_tokenId > 999) return Strings.toString(_tokenId); if (_tokenId > 99) return string.concat("0", Strings.toString(_tokenId)); if (_tokenId > 9) return string.concat("00", Strings.toString(_tokenId)); return string.concat("000", Strings.toString(_tokenId)); } function updateBaseURI(string memory _baseURI) external onlyOwner { require(metadataFrozen == false, "METADATA_FROZEN"); baseURI = _baseURI; } function freezeBaseURI() external onlyOwner { metadataFrozen = true; } function toBool(uint256 x) internal pure returns (bool r) { assembly { r := x } } function uintToString(uint256 x) internal pure returns (string memory) { bytes memory LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; bytes memory _string = new bytes(1); _string[0] = LETTERS[x % 26]; return string(_string); } modifier fleeTheRobotOverlords() { require(msg.sender.code.length == 0, "ERR_NO_BOTS"); _; } function bankTheUnbanked() external onlyOwner { payable(owner()).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","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":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":"string","name":"exclamation","type":"string"}],"name":"Shout","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":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_SUPPLY_PLUS_ONE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"quantity","type":"uint8"}],"name":"adoptABum","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bankTheUnbanked","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"begForChange","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"burnTrashForHeat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"donations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fire","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freezeBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wut","type":"uint256"},{"internalType":"address","name":"atyaboi","type":"address"}],"name":"holla","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"basement","type":"address"}],"name":"moveBackInWithMom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","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":"id","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":"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":[{"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":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"trash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"name":"updateBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600019600a553480156200001757600080fd5b50604051620026d4380380620026d48339810160408190526200003a916200025c565b604051806040016040528060088152602001674d65746162756d7360c01b8152506040518060400160405280600481526020016342554d5360e01b8152508160009081620000899190620003c7565b506001620000988282620003c7565b505050620000b5620000af620000dd60201b60201c565b620000e1565b6008620000c38282620003c7565b50620000d133600062000133565b50600160075562000493565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001835760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064015b60405180910390fd5b6000818152600260205260409020546001600160a01b031615620001db5760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016200017a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200027057600080fd5b82516001600160401b03808211156200028857600080fd5b818501915085601f8301126200029d57600080fd5b815181811115620002b257620002b262000246565b604051601f8201601f19908116603f01168101908382118183101715620002dd57620002dd62000246565b816040528281528886848701011115620002f657600080fd5b600093505b828410156200031a5784840186015181850187015292850192620002fb565b828411156200032c5760008684830101525b98975050505050505050565b600181811c908216806200034d57607f821691505b6020821081036200036e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003c257600081815260208120601f850160051c810160208610156200039d5750805b601f850160051c820191505b81811015620003be57828155600101620003a9565b5050505b505050565b81516001600160401b03811115620003e357620003e362000246565b620003fb81620003f4845462000338565b8462000374565b602080601f8311600181146200043357600084156200041a5750858301515b600019600386901b1c1916600185901b178555620003be565b600085815260208120601f198616915b82811015620004645788860151825594840194600190910190840162000443565b5085821015620004835787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61223180620004a36000396000f3fe6080604052600436106101d85760003560e01c806370a0823111610102578063c3e7005511610095578063e7bc820811610064578063e7bc820814610519578063e985e9c51461052e578063f2fde38b14610569578063fb3cc6c21461058957600080fd5b8063c3e70055146104ae578063c87b56dd146104c4578063cc3980f4146104e4578063cc6cb19a146104ec57600080fd5b8063931688cb116100d1578063931688cb1461043957806395d89b4114610459578063a22cb4651461046e578063b88d4fde1461048e57600080fd5b806370a08231146103d0578063715018a6146103f057806382d5b249146104055780638da5cb5b1461041b57600080fd5b806335e8f5081161017a5780635859bb18116101495780635859bb181461035b5780635c9826181461037b5780636352211e1461039b5780636c0360eb146103bb57600080fd5b806335e8f508146102fb5780633c8036e41461031057806342842e0e14610325578063457094cc1461034557600080fd5b8063081812fc116101b6578063081812fc14610249578063095ea7b31461029757806318160ddd146102b757806323b872dd146102db57600080fd5b806301ffc9a7146101dd57806306fdde031461021257806307f96b2a14610234575b600080fd5b3480156101e957600080fd5b506101fd6101f8366004611a41565b6105aa565b60405190151581526020015b60405180910390f35b34801561021e57600080fd5b506102276105fc565b6040516102099190611a8e565b610247610242366004611ac1565b61068a565b005b34801561025557600080fd5b5061027f610264366004611ae4565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610209565b3480156102a357600080fd5b506102476102b2366004611b14565b61086e565b3480156102c357600080fd5b506102cd60075481565b604051908152602001610209565b3480156102e757600080fd5b506102476102f6366004611b3e565b610950565b34801561030757600080fd5b50610247610b17565b34801561031c57600080fd5b50610247610b5b565b34801561033157600080fd5b50610247610340366004611b3e565b610bd3565b34801561035157600080fd5b506102cd600b5481565b34801561036757600080fd5b50610247610376366004611b7a565b610ccb565b34801561038757600080fd5b50610247610396366004611b95565b610db5565b3480156103a757600080fd5b5061027f6103b6366004611ae4565b611025565b3480156103c757600080fd5b5061022761107c565b3480156103dc57600080fd5b506102cd6103eb366004611b7a565b611089565b3480156103fc57600080fd5b506102476110ec565b34801561041157600080fd5b506102cd611b3a81565b34801561042757600080fd5b506006546001600160a01b031661027f565b34801561044557600080fd5b50610247610454366004611bd7565b611100565b34801561046557600080fd5b50610227611164565b34801561047a57600080fd5b50610247610489366004611c88565b611171565b34801561049a57600080fd5b506102476104a9366004611cc4565b6111dd565b3480156104ba57600080fd5b506102cd600a5481565b3480156104d057600080fd5b506102276104df366004611ae4565b6112c5565b610247611317565b3480156104f857600080fd5b506102cd610507366004611b7a565b600c6020526000908152604090205481565b34801561052557600080fd5b506102476113be565b34801561053a57600080fd5b506101fd610549366004611d5f565b600560209081526000928352604080842090915290825290205460ff1681565b34801561057557600080fd5b50610247610584366004611b7a565b6113db565b34801561059557600080fd5b506006546101fd90600160a01b900460ff1681565b60006301ffc9a760e01b6001600160e01b0319831614806105db57506380ac58cd60e01b6001600160e01b03198316145b806105f65750635b5e139f60e01b6001600160e01b03198316145b92915050565b6000805461060990611d89565b80601f016020809104026020016040519081016040528092919081815260200182805461063590611d89565b80156106825780601f1061065757610100808354040283529160200191610682565b820191906000526020600020905b81548152906001019060200180831161066557829003601f168201915b505050505081565b333b156106b25760405162461bcd60e51b81526004016106a990611dc3565b60405180910390fd5b60075460ff8216158015906106ca575060068260ff16105b6107055760405162461bcd60e51b815260206004820152600c60248201526b4241445f5155414e5449545960a01b60448201526064016106a9565b611b3a61071560ff841683611dfe565b106107525760405162461bcd60e51b815260206004820152600d60248201526c4d494e545f434f4d504c45544560981b60448201526064016106a9565b33600090815260096020526040902054156107a45760405162461bcd60e51b815260206004820152601260248201527143414e5f4f4e4c595f4d494e545f4f4e434560701b60448201526064016106a9565b60005b8260ff168110156107d5576107c5336107c08385611dfe565b611451565b6107ce81611e16565b90506107a7565b506007805460ff8416019055341561081357336000908152600c6020526040902054610802903490611dfe565b336000908152600c60205260409020555b6040516bffffffffffffffffffffffff193360601b16602082015243409060340160405160208183030381529060405261084c90611e2f565b610857906001611dfe565b336000908152600960205260409020911890555050565b6000818152600260205260409020546001600160a01b0316338114806108b757506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6108f45760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016106a9565b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600260205260409020546001600160a01b038481169116146109a65760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b60448201526064016106a9565b6001600160a01b0382166109f05760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106a9565b336001600160a01b0384161480610a2a57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b80610a4b57506000818152600460205260409020546001600160a01b031633145b610a885760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016106a9565b6001600160a01b0380841660008181526003602090815260408083208054600019019055938616808352848320805460010190558583526002825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610b1f61155c565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610b58573d6000803e3d6000fd5b50565b333b15610b7a5760405162461bcd60e51b81526004016106a990611dc3565b600a8054600019019081905560408051434060208201526bffffffffffffffffffffffff193360601b1691810191909152605481019190915260740160408051601f198184030181529190528051602090910120600b55565b610bde838383610950565b6001600160a01b0382163b1580610c875750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b9190611e53565b6001600160e01b031916145b610cc65760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016106a9565b505050565b333b15610cea5760405162461bcd60e51b81526004016106a990611dc3565b7fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b80546001600160a01b03908116600081815260036020908152604080832080546000190190559386168083528483208054600101905582805285546001600160a01b0319908116821790965560049091527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec8054909516909455915190929083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908490a45050565b333b15610dd45760405162461bcd60e51b81526004016106a990611dc3565b6000610e14600243604051602001610dee91815260200190565b6040516020818303038152906040528051906020012060001c610e119190611e86565b90565b336000908152600c602090815260408083205460099092528220549293508592610e3f600885611e86565b610e499190611dfe565b610e539190611dfe565b90506000601a600a546040805133602082015201604051602081830303815290604052610e7f90611e2f565b089050600080866001600160a01b031686604051602001610ea4911515815260200190565b60408051601f1981840301815290829052610ebe91611e9a565b6000604051808303816000865af19150503d8060008114610efb576040519150601f19603f3d011682016040523d82523d6000602084013e610f00565b606091505b50915091506000601a80610f1657610f16611e70565b84610f2084611e2f565b0890506060878015610f2f5750835b610f8057610f3c876115b6565b610f45876115b6565b610f4e876115b6565b610f57856115b6565b604051602001610f6a9493929190611eb6565b6040516020818303038152906040529050610fe2565b610f93610f8e600a89611e86565b611664565b610fa1610f8e600a89611e86565b610faf610f8e600a89611e86565b610fbd610f8e600a87611e86565b604051602001610fd09493929190611eb6565b60405160208183030381529060405290505b7fc4b6d1a9592f16d28278009987015b57bb254ed09235a526c7210288fbcb34dc816040516110119190611a8e565b60405180910390a150505050505050505050565b6000818152600260205260409020546001600160a01b0316806110775760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b60448201526064016106a9565b919050565b6008805461060990611d89565b60006001600160a01b0382166110d05760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016106a9565b506001600160a01b031660009081526003602052604090205490565b6110f461155c565b6110fe60006116c3565b565b61110861155c565b600654600160a01b900460ff16156111545760405162461bcd60e51b815260206004820152600f60248201526e26a2aa20a220aa20afa32927ad22a760891b60448201526064016106a9565b60086111608282611f5b565b5050565b6001805461060990611d89565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6111e8858585610950565b6001600160a01b0384163b158061127f5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a02906112309033908a9089908990899060040161201b565b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611e53565b6001600160e01b031916145b6112be5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016106a9565b5050505050565b606060006112d283611025565b6001600160a01b0316036112e557600080fd5b60086112f083611715565b60405160200161130192919061206f565b6040516020818303038152906040529050919050565b333b156113365760405162461bcd60e51b81526004016106a990611dc3565b346000036113715760405162461bcd60e51b81526020600482015260086024820152674d5553545f50415960c01b60448201526064016106a9565b336000908152600c6020908152604091829020805434908101909155600b5492516113a0920190815260200190565b60408051601f19818403018152919052805160209091012018600b55565b6113c661155c565b6006805460ff60a01b1916600160a01b179055565b6113e361155c565b6001600160a01b0381166114485760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a9565b610b58816116c3565b6001600160a01b03821661149b5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106a9565b6000818152600260205260409020546001600160a01b0316156114f15760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016106a9565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6006546001600160a01b031633146110fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106a9565b604080518082018252601a81527f4142434445464748494a4b4c4d4e4f505152535455565758595a0000000000006020820152815160018082528184019093526060926000919060208201818036833701905050905081611618601a86611e86565b8151811061162857611628612106565b602001015160f81c60f81b8160008151811061164657611646612106565b60200101906001600160f81b031916908160001a9053509392505050565b60608160000361168e5750506040805180820190915260048152630307830360e41b602082015290565b8160005b81156116b157806116a281611e16565b915050600882901c9150611692565b6116bb8482611787565b949350505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606103e782111561172a576105f68261192a565b606382111561174c5761173c8261192a565b604051602001611301919061211c565b600982111561176e5761175e8261192a565b6040516020016113019190612145565b6117778261192a565b604051602001611301919061216f565b6060600061179683600261219a565b6117a1906002611dfe565b67ffffffffffffffff8111156117b9576117b9611bc1565b6040519080825280601f01601f1916602001820160405280156117e3576020820181803683370190505b509050600360fc1b816000815181106117fe576117fe612106565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061182d5761182d612106565b60200101906001600160f81b031916908160001a905350600061185184600261219a565b61185c906001611dfe565b90505b60018111156118d4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061189057611890612106565b1a60f81b8282815181106118a6576118a6612106565b60200101906001600160f81b031916908160001a90535060049490941c936118cd816121b9565b905061185f565b5083156119235760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106a9565b9392505050565b6060816000036119515750506040805180820190915260018152600360fc1b602082015290565b8160005b811561197b578061196581611e16565b91506119749050600a836121d0565b9150611955565b60008167ffffffffffffffff81111561199657611996611bc1565b6040519080825280601f01601f1916602001820160405280156119c0576020820181803683370190505b5090505b84156116bb576119d56001836121e4565b91506119e2600a86611e86565b6119ed906030611dfe565b60f81b818381518110611a0257611a02612106565b60200101906001600160f81b031916908160001a905350611a24600a866121d0565b94506119c4565b6001600160e01b031981168114610b5857600080fd5b600060208284031215611a5357600080fd5b813561192381611a2b565b60005b83811015611a79578181015183820152602001611a61565b83811115611a88576000848401525b50505050565b6020815260008251806020840152611aad816040850160208701611a5e565b601f01601f19169190910160400192915050565b600060208284031215611ad357600080fd5b813560ff8116811461192357600080fd5b600060208284031215611af657600080fd5b5035919050565b80356001600160a01b038116811461107757600080fd5b60008060408385031215611b2757600080fd5b611b3083611afd565b946020939093013593505050565b600080600060608486031215611b5357600080fd5b611b5c84611afd565b9250611b6a60208501611afd565b9150604084013590509250925092565b600060208284031215611b8c57600080fd5b61192382611afd565b60008060408385031215611ba857600080fd5b82359150611bb860208401611afd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611be957600080fd5b813567ffffffffffffffff80821115611c0157600080fd5b818401915084601f830112611c1557600080fd5b813581811115611c2757611c27611bc1565b604051601f8201601f19908116603f01168101908382118183101715611c4f57611c4f611bc1565b81604052828152876020848701011115611c6857600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060408385031215611c9b57600080fd5b611ca483611afd565b915060208301358015158114611cb957600080fd5b809150509250929050565b600080600080600060808688031215611cdc57600080fd5b611ce586611afd565b9450611cf360208701611afd565b935060408601359250606086013567ffffffffffffffff80821115611d1757600080fd5b818801915088601f830112611d2b57600080fd5b813581811115611d3a57600080fd5b896020828501011115611d4c57600080fd5b9699959850939650602001949392505050565b60008060408385031215611d7257600080fd5b611d7b83611afd565b9150611bb860208401611afd565b600181811c90821680611d9d57607f821691505b602082108103611dbd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600b908201526a4552525f4e4f5f424f545360a81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611e1157611e11611de8565b500190565b600060018201611e2857611e28611de8565b5060010190565b80516020808301519190811015611dbd5760001960209190910360031b1b16919050565b600060208284031215611e6557600080fd5b815161192381611a2b565b634e487b7160e01b600052601260045260246000fd5b600082611e9557611e95611e70565b500690565b60008251611eac818460208701611a5e565b9190910192915050565b60008551611ec8818460208a01611a5e565b855190830190611edc818360208a01611a5e565b8551910190611eef818360208901611a5e565b8451910190611f02818360208801611a5e565b019695505050505050565b601f821115610cc657600081815260208120601f850160051c81016020861015611f345750805b601f850160051c820191505b81811015611f5357828155600101611f40565b505050505050565b815167ffffffffffffffff811115611f7557611f75611bc1565b611f8981611f838454611d89565b84611f0d565b602080601f831160018114611fbe5760008415611fa65750858301515b600019600386901b1c1916600185901b178555611f53565b600085815260208120601f198616915b82811015611fed57888601518255948401946001909101908401611fce565b508582101561200b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b600080845461207d81611d89565b6001828116801561209557600181146120aa576120d9565b60ff19841687528215158302870194506120d9565b8860005260208060002060005b858110156120d05781548a8201529084019082016120b7565b50505082870194505b5050505083516120ed818360208801611a5e565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052603260045260246000fd5b600360fc1b815260008251612138816001850160208701611a5e565b9190910160010192915050565b61030360f41b815260008251612162816002850160208701611a5e565b9190910160020192915050565b6203030360ec1b81526000825161218d816003850160208701611a5e565b9190910160030192915050565b60008160001904831182151516156121b4576121b4611de8565b500290565b6000816121c8576121c8611de8565b506000190190565b6000826121df576121df611e70565b500490565b6000828210156121f6576121f6611de8565b50039056fea2646970667358221220a0db50b339ad3ad8b1d7df5ada104748099a69782eecadc74f929a3d9b95e54e64736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004e68747470733a2f2f697066732e6d65746162756d732e7774662f697066732f516d58427433446b365247674b64574a644a6f454d3757724e6977536d4a724e39574165593978717a716f4d53752f000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101d85760003560e01c806370a0823111610102578063c3e7005511610095578063e7bc820811610064578063e7bc820814610519578063e985e9c51461052e578063f2fde38b14610569578063fb3cc6c21461058957600080fd5b8063c3e70055146104ae578063c87b56dd146104c4578063cc3980f4146104e4578063cc6cb19a146104ec57600080fd5b8063931688cb116100d1578063931688cb1461043957806395d89b4114610459578063a22cb4651461046e578063b88d4fde1461048e57600080fd5b806370a08231146103d0578063715018a6146103f057806382d5b249146104055780638da5cb5b1461041b57600080fd5b806335e8f5081161017a5780635859bb18116101495780635859bb181461035b5780635c9826181461037b5780636352211e1461039b5780636c0360eb146103bb57600080fd5b806335e8f508146102fb5780633c8036e41461031057806342842e0e14610325578063457094cc1461034557600080fd5b8063081812fc116101b6578063081812fc14610249578063095ea7b31461029757806318160ddd146102b757806323b872dd146102db57600080fd5b806301ffc9a7146101dd57806306fdde031461021257806307f96b2a14610234575b600080fd5b3480156101e957600080fd5b506101fd6101f8366004611a41565b6105aa565b60405190151581526020015b60405180910390f35b34801561021e57600080fd5b506102276105fc565b6040516102099190611a8e565b610247610242366004611ac1565b61068a565b005b34801561025557600080fd5b5061027f610264366004611ae4565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610209565b3480156102a357600080fd5b506102476102b2366004611b14565b61086e565b3480156102c357600080fd5b506102cd60075481565b604051908152602001610209565b3480156102e757600080fd5b506102476102f6366004611b3e565b610950565b34801561030757600080fd5b50610247610b17565b34801561031c57600080fd5b50610247610b5b565b34801561033157600080fd5b50610247610340366004611b3e565b610bd3565b34801561035157600080fd5b506102cd600b5481565b34801561036757600080fd5b50610247610376366004611b7a565b610ccb565b34801561038757600080fd5b50610247610396366004611b95565b610db5565b3480156103a757600080fd5b5061027f6103b6366004611ae4565b611025565b3480156103c757600080fd5b5061022761107c565b3480156103dc57600080fd5b506102cd6103eb366004611b7a565b611089565b3480156103fc57600080fd5b506102476110ec565b34801561041157600080fd5b506102cd611b3a81565b34801561042757600080fd5b506006546001600160a01b031661027f565b34801561044557600080fd5b50610247610454366004611bd7565b611100565b34801561046557600080fd5b50610227611164565b34801561047a57600080fd5b50610247610489366004611c88565b611171565b34801561049a57600080fd5b506102476104a9366004611cc4565b6111dd565b3480156104ba57600080fd5b506102cd600a5481565b3480156104d057600080fd5b506102276104df366004611ae4565b6112c5565b610247611317565b3480156104f857600080fd5b506102cd610507366004611b7a565b600c6020526000908152604090205481565b34801561052557600080fd5b506102476113be565b34801561053a57600080fd5b506101fd610549366004611d5f565b600560209081526000928352604080842090915290825290205460ff1681565b34801561057557600080fd5b50610247610584366004611b7a565b6113db565b34801561059557600080fd5b506006546101fd90600160a01b900460ff1681565b60006301ffc9a760e01b6001600160e01b0319831614806105db57506380ac58cd60e01b6001600160e01b03198316145b806105f65750635b5e139f60e01b6001600160e01b03198316145b92915050565b6000805461060990611d89565b80601f016020809104026020016040519081016040528092919081815260200182805461063590611d89565b80156106825780601f1061065757610100808354040283529160200191610682565b820191906000526020600020905b81548152906001019060200180831161066557829003601f168201915b505050505081565b333b156106b25760405162461bcd60e51b81526004016106a990611dc3565b60405180910390fd5b60075460ff8216158015906106ca575060068260ff16105b6107055760405162461bcd60e51b815260206004820152600c60248201526b4241445f5155414e5449545960a01b60448201526064016106a9565b611b3a61071560ff841683611dfe565b106107525760405162461bcd60e51b815260206004820152600d60248201526c4d494e545f434f4d504c45544560981b60448201526064016106a9565b33600090815260096020526040902054156107a45760405162461bcd60e51b815260206004820152601260248201527143414e5f4f4e4c595f4d494e545f4f4e434560701b60448201526064016106a9565b60005b8260ff168110156107d5576107c5336107c08385611dfe565b611451565b6107ce81611e16565b90506107a7565b506007805460ff8416019055341561081357336000908152600c6020526040902054610802903490611dfe565b336000908152600c60205260409020555b6040516bffffffffffffffffffffffff193360601b16602082015243409060340160405160208183030381529060405261084c90611e2f565b610857906001611dfe565b336000908152600960205260409020911890555050565b6000818152600260205260409020546001600160a01b0316338114806108b757506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6108f45760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016106a9565b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600260205260409020546001600160a01b038481169116146109a65760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b60448201526064016106a9565b6001600160a01b0382166109f05760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106a9565b336001600160a01b0384161480610a2a57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b80610a4b57506000818152600460205260409020546001600160a01b031633145b610a885760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016106a9565b6001600160a01b0380841660008181526003602090815260408083208054600019019055938616808352848320805460010190558583526002825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610b1f61155c565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610b58573d6000803e3d6000fd5b50565b333b15610b7a5760405162461bcd60e51b81526004016106a990611dc3565b600a8054600019019081905560408051434060208201526bffffffffffffffffffffffff193360601b1691810191909152605481019190915260740160408051601f198184030181529190528051602090910120600b55565b610bde838383610950565b6001600160a01b0382163b1580610c875750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b9190611e53565b6001600160e01b031916145b610cc65760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016106a9565b505050565b333b15610cea5760405162461bcd60e51b81526004016106a990611dc3565b7fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b80546001600160a01b03908116600081815260036020908152604080832080546000190190559386168083528483208054600101905582805285546001600160a01b0319908116821790965560049091527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec8054909516909455915190929083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908490a45050565b333b15610dd45760405162461bcd60e51b81526004016106a990611dc3565b6000610e14600243604051602001610dee91815260200190565b6040516020818303038152906040528051906020012060001c610e119190611e86565b90565b336000908152600c602090815260408083205460099092528220549293508592610e3f600885611e86565b610e499190611dfe565b610e539190611dfe565b90506000601a600a546040805133602082015201604051602081830303815290604052610e7f90611e2f565b089050600080866001600160a01b031686604051602001610ea4911515815260200190565b60408051601f1981840301815290829052610ebe91611e9a565b6000604051808303816000865af19150503d8060008114610efb576040519150601f19603f3d011682016040523d82523d6000602084013e610f00565b606091505b50915091506000601a80610f1657610f16611e70565b84610f2084611e2f565b0890506060878015610f2f5750835b610f8057610f3c876115b6565b610f45876115b6565b610f4e876115b6565b610f57856115b6565b604051602001610f6a9493929190611eb6565b6040516020818303038152906040529050610fe2565b610f93610f8e600a89611e86565b611664565b610fa1610f8e600a89611e86565b610faf610f8e600a89611e86565b610fbd610f8e600a87611e86565b604051602001610fd09493929190611eb6565b60405160208183030381529060405290505b7fc4b6d1a9592f16d28278009987015b57bb254ed09235a526c7210288fbcb34dc816040516110119190611a8e565b60405180910390a150505050505050505050565b6000818152600260205260409020546001600160a01b0316806110775760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b60448201526064016106a9565b919050565b6008805461060990611d89565b60006001600160a01b0382166110d05760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016106a9565b506001600160a01b031660009081526003602052604090205490565b6110f461155c565b6110fe60006116c3565b565b61110861155c565b600654600160a01b900460ff16156111545760405162461bcd60e51b815260206004820152600f60248201526e26a2aa20a220aa20afa32927ad22a760891b60448201526064016106a9565b60086111608282611f5b565b5050565b6001805461060990611d89565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6111e8858585610950565b6001600160a01b0384163b158061127f5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a02906112309033908a9089908990899060040161201b565b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611e53565b6001600160e01b031916145b6112be5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016106a9565b5050505050565b606060006112d283611025565b6001600160a01b0316036112e557600080fd5b60086112f083611715565b60405160200161130192919061206f565b6040516020818303038152906040529050919050565b333b156113365760405162461bcd60e51b81526004016106a990611dc3565b346000036113715760405162461bcd60e51b81526020600482015260086024820152674d5553545f50415960c01b60448201526064016106a9565b336000908152600c6020908152604091829020805434908101909155600b5492516113a0920190815260200190565b60408051601f19818403018152919052805160209091012018600b55565b6113c661155c565b6006805460ff60a01b1916600160a01b179055565b6113e361155c565b6001600160a01b0381166114485760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a9565b610b58816116c3565b6001600160a01b03821661149b5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106a9565b6000818152600260205260409020546001600160a01b0316156114f15760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016106a9565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6006546001600160a01b031633146110fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106a9565b604080518082018252601a81527f4142434445464748494a4b4c4d4e4f505152535455565758595a0000000000006020820152815160018082528184019093526060926000919060208201818036833701905050905081611618601a86611e86565b8151811061162857611628612106565b602001015160f81c60f81b8160008151811061164657611646612106565b60200101906001600160f81b031916908160001a9053509392505050565b60608160000361168e5750506040805180820190915260048152630307830360e41b602082015290565b8160005b81156116b157806116a281611e16565b915050600882901c9150611692565b6116bb8482611787565b949350505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606103e782111561172a576105f68261192a565b606382111561174c5761173c8261192a565b604051602001611301919061211c565b600982111561176e5761175e8261192a565b6040516020016113019190612145565b6117778261192a565b604051602001611301919061216f565b6060600061179683600261219a565b6117a1906002611dfe565b67ffffffffffffffff8111156117b9576117b9611bc1565b6040519080825280601f01601f1916602001820160405280156117e3576020820181803683370190505b509050600360fc1b816000815181106117fe576117fe612106565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061182d5761182d612106565b60200101906001600160f81b031916908160001a905350600061185184600261219a565b61185c906001611dfe565b90505b60018111156118d4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061189057611890612106565b1a60f81b8282815181106118a6576118a6612106565b60200101906001600160f81b031916908160001a90535060049490941c936118cd816121b9565b905061185f565b5083156119235760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106a9565b9392505050565b6060816000036119515750506040805180820190915260018152600360fc1b602082015290565b8160005b811561197b578061196581611e16565b91506119749050600a836121d0565b9150611955565b60008167ffffffffffffffff81111561199657611996611bc1565b6040519080825280601f01601f1916602001820160405280156119c0576020820181803683370190505b5090505b84156116bb576119d56001836121e4565b91506119e2600a86611e86565b6119ed906030611dfe565b60f81b818381518110611a0257611a02612106565b60200101906001600160f81b031916908160001a905350611a24600a866121d0565b94506119c4565b6001600160e01b031981168114610b5857600080fd5b600060208284031215611a5357600080fd5b813561192381611a2b565b60005b83811015611a79578181015183820152602001611a61565b83811115611a88576000848401525b50505050565b6020815260008251806020840152611aad816040850160208701611a5e565b601f01601f19169190910160400192915050565b600060208284031215611ad357600080fd5b813560ff8116811461192357600080fd5b600060208284031215611af657600080fd5b5035919050565b80356001600160a01b038116811461107757600080fd5b60008060408385031215611b2757600080fd5b611b3083611afd565b946020939093013593505050565b600080600060608486031215611b5357600080fd5b611b5c84611afd565b9250611b6a60208501611afd565b9150604084013590509250925092565b600060208284031215611b8c57600080fd5b61192382611afd565b60008060408385031215611ba857600080fd5b82359150611bb860208401611afd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611be957600080fd5b813567ffffffffffffffff80821115611c0157600080fd5b818401915084601f830112611c1557600080fd5b813581811115611c2757611c27611bc1565b604051601f8201601f19908116603f01168101908382118183101715611c4f57611c4f611bc1565b81604052828152876020848701011115611c6857600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060408385031215611c9b57600080fd5b611ca483611afd565b915060208301358015158114611cb957600080fd5b809150509250929050565b600080600080600060808688031215611cdc57600080fd5b611ce586611afd565b9450611cf360208701611afd565b935060408601359250606086013567ffffffffffffffff80821115611d1757600080fd5b818801915088601f830112611d2b57600080fd5b813581811115611d3a57600080fd5b896020828501011115611d4c57600080fd5b9699959850939650602001949392505050565b60008060408385031215611d7257600080fd5b611d7b83611afd565b9150611bb860208401611afd565b600181811c90821680611d9d57607f821691505b602082108103611dbd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600b908201526a4552525f4e4f5f424f545360a81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611e1157611e11611de8565b500190565b600060018201611e2857611e28611de8565b5060010190565b80516020808301519190811015611dbd5760001960209190910360031b1b16919050565b600060208284031215611e6557600080fd5b815161192381611a2b565b634e487b7160e01b600052601260045260246000fd5b600082611e9557611e95611e70565b500690565b60008251611eac818460208701611a5e565b9190910192915050565b60008551611ec8818460208a01611a5e565b855190830190611edc818360208a01611a5e565b8551910190611eef818360208901611a5e565b8451910190611f02818360208801611a5e565b019695505050505050565b601f821115610cc657600081815260208120601f850160051c81016020861015611f345750805b601f850160051c820191505b81811015611f5357828155600101611f40565b505050505050565b815167ffffffffffffffff811115611f7557611f75611bc1565b611f8981611f838454611d89565b84611f0d565b602080601f831160018114611fbe5760008415611fa65750858301515b600019600386901b1c1916600185901b178555611f53565b600085815260208120601f198616915b82811015611fed57888601518255948401946001909101908401611fce565b508582101561200b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b600080845461207d81611d89565b6001828116801561209557600181146120aa576120d9565b60ff19841687528215158302870194506120d9565b8860005260208060002060005b858110156120d05781548a8201529084019082016120b7565b50505082870194505b5050505083516120ed818360208801611a5e565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052603260045260246000fd5b600360fc1b815260008251612138816001850160208701611a5e565b9190910160010192915050565b61030360f41b815260008251612162816002850160208701611a5e565b9190910160020192915050565b6203030360ec1b81526000825161218d816003850160208701611a5e565b9190910160030192915050565b60008160001904831182151516156121b4576121b4611de8565b500290565b6000816121c8576121c8611de8565b506000190190565b6000826121df576121df611e70565b500490565b6000828210156121f6576121f6611de8565b50039056fea2646970667358221220a0db50b339ad3ad8b1d7df5ada104748099a69782eecadc74f929a3d9b95e54e64736f6c634300080f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004e68747470733a2f2f697066732e6d65746162756d732e7774662f697066732f516d58427433446b365247674b64574a644a6f454d3757724e6977536d4a724e39574165593978717a716f4d53752f000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _baseURI (string): https://ipfs.metabums.wtf/ipfs/QmXBt3Dk6RGgKdWJdJoEM7WrNiwSmJrN9WAeY9xqzqoMSu/
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 000000000000000000000000000000000000000000000000000000000000004e
Arg [2] : 68747470733a2f2f697066732e6d65746162756d732e7774662f697066732f51
Arg [3] : 6d58427433446b365247674b64574a644a6f454d3757724e6977536d4a724e39
Arg [4] : 574165593978717a716f4d53752f000000000000000000000000000000000000
Deployed Bytecode Sourcemap
15726:4929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10685:340;;;;;;;;;;-1:-1:-1;10685:340:0;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;10685:340:0;;;;;;;;6745:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;16353:691::-;;;;;;:::i;:::-;;:::i;:::-;;7718:46;;;;;;;;;;-1:-1:-1;7718:46:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;7718:46:0;;;;;;-1:-1:-1;;;;;1866:32:1;;;1848:51;;1836:2;1821:18;7718:46:0;1702:203:1;8344:290:0;;;;;;;;;;-1:-1:-1;8344:290:0;;;;;:::i;:::-;;:::i;15916:26::-;;;;;;;;;;;;;;;;;;;2493:25:1;;;2481:2;2466:18;15916:26:0;2347:177:1;8857:768:0;;;;;;;;;;-1:-1:-1;8857:768:0;;;;;:::i;:::-;;:::i;20539:113::-;;;;;;;;;;;;;:::i;17052:217::-;;;;;;;;;;;;;:::i;9633:409::-;;;;;;;;;;-1:-1:-1;9633:409:0;;;;;:::i;:::-;;:::i;16072:19::-;;;;;;;;;;;;;;;;17277:328;;;;;;;;;;-1:-1:-1;17277:328:0;;;;;:::i;:::-;;:::i;17909:1196::-;;;;;;;;;;-1:-1:-1;17909:1196:0;;;;;:::i;:::-;;:::i;7187:151::-;;;;;;;;;;-1:-1:-1;7187:151:0;;;;;:::i;:::-;;:::i;15949:21::-;;;;;;;;;;;;;:::i;7346:172::-;;;;;;;;;;-1:-1:-1;7346:172:0;;;;;:::i;:::-;;:::i;5083:103::-;;;;;;;;;;;;;:::i;15824:50::-;;;;;;;;;;;;15870:4;15824:50;;4435:87;;;;;;;;;;-1:-1:-1;4508:6:0;;-1:-1:-1;;;;;4508:6:0;4435:87;;19781:165;;;;;;;;;;-1:-1:-1;19781:165:0;;;;;:::i;:::-;;:::i;6772:20::-;;;;;;;;;;;;;:::i;8642:207::-;;;;;;;;;;-1:-1:-1;8642:207:0;;;;;:::i;:::-;;:::i;10050:441::-;;;;;;;;;;-1:-1:-1;10050:441:0;;;;;:::i;:::-;;:::i;16025:40::-;;;;;;;;;;;;;;;;19113:232;;;;;;;;;;-1:-1:-1;19113:232:0;;;;;:::i;:::-;;:::i;17613:288::-;;;:::i;16100:39::-;;;;;;;;;;-1:-1:-1;16100:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;19954:84;;;;;;;;;;;;;:::i;7773:68::-;;;;;;;;;;-1:-1:-1;7773:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;5341:201;;;;;;;;;;-1:-1:-1;5341:201:0;;;;;:::i;:::-;;:::i;15883:26::-;;;;;;;;;;-1:-1:-1;15883:26:0;;;;-1:-1:-1;;;15883:26:0;;;;;;10685:340;10761:4;-1:-1:-1;;;;;;;;;10798:25:0;;;;:101;;-1:-1:-1;;;;;;;;;;10874:25:0;;;10798:101;:177;;;-1:-1:-1;;;;;;;;;;10950:25:0;;;10798:177;10778:197;10685:340;-1:-1:-1;;10685:340:0:o;6745:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16353:691::-;20468:10;:22;:27;20460:51;;;;-1:-1:-1;;;20460:51:0;;;;;;;:::i;:::-;;;;;;;;;16458:11:::1;::::0;16488:12:::1;::::0;::::1;::::0;;;;:28:::1;;;16515:1;16504:8;:12;;;16488:28;16480:53;;;::::0;-1:-1:-1;;;16480:53:0;;6910:2:1;16480:53:0::1;::::0;::::1;6892:21:1::0;6949:2;6929:18;;;6922:30;-1:-1:-1;;;6968:18:1;;;6961:42;7020:18;;16480:53:0::1;6708:336:1::0;16480:53:0::1;15870:4;16552:20;;::::0;::::1;:9:::0;:20:::1;:::i;:::-;:42;16544:68;;;::::0;-1:-1:-1;;;16544:68:0;;7516:2:1;16544:68:0::1;::::0;::::1;7498:21:1::0;7555:2;7535:18;;;7528:30;-1:-1:-1;;;7574:18:1;;;7567:43;7627:18;;16544:68:0::1;7314:337:1::0;16544:68:0::1;16643:10;16631:23;::::0;;;:11:::1;:23;::::0;;;;;:28;16623:59:::1;;;::::0;-1:-1:-1;;;16623:59:0;;7858:2:1;16623:59:0::1;::::0;::::1;7840:21:1::0;7897:2;7877:18;;;7870:30;-1:-1:-1;;;7916:18:1;;;7909:48;7974:18;;16623:59:0::1;7656:342:1::0;16623:59:0::1;16698:6;16693:81;16714:8;16710:12;;:1;:12;16693:81;;;16742:32;16748:10;16760:13;16772:1:::0;16760:9;:13:::1;:::i;:::-;16742:5;:32::i;:::-;16724:3;::::0;::::1;:::i;:::-;;;16693:81;;;-1:-1:-1::0;16796:11:0::1;:23:::0;;::::1;::::0;::::1;;::::0;;16835:9:::1;:13:::0;16832:88:::1;;16897:10;16887:21;::::0;;;:9:::1;:21;::::0;;;;;:33:::1;::::0;16911:9:::1;::::0;16887:33:::1;:::i;:::-;16873:10;16863:21;::::0;;;:9:::1;:21;::::0;;;;:57;16832:88:::1;16974:28;::::0;-1:-1:-1;;16991:10:0::1;8292:2:1::0;8288:15;8284:53;16974:28:0::1;::::0;::::1;8272:66:1::0;17022:12:0::1;17012:23;::::0;8354:12:1;;16974:28:0::1;;;;;;;;;;;;16966:37;;;:::i;:::-;16957:47;::::0;:1:::1;:47;:::i;:::-;16943:10;16931:23;::::0;;;:11:::1;:23;::::0;;;;16957:79;::::1;16931:105:::0;;-1:-1:-1;;16353:691:0:o;8344:290::-;8416:13;8432:12;;;:8;:12;;;;;;-1:-1:-1;;;;;8432:12:0;8465:10;:19;;;:58;;-1:-1:-1;;;;;;8488:23:0;;;;;;:16;:23;;;;;;;;8512:10;8488:35;;;;;;;;;;8465:58;8457:85;;;;-1:-1:-1;;;8457:85:0;;8881:2:1;8457:85:0;;;8863:21:1;8920:2;8900:18;;;8893:30;-1:-1:-1;;;8939:18:1;;;8932:44;8993:18;;8457:85:0;8679:338:1;8457:85:0;8555:15;;;;:11;:15;;;;;;:25;;-1:-1:-1;;;;;;8555:25:0;-1:-1:-1;;;;;8555:25:0;;;;;;;;;8598:28;;8555:15;;8598:28;;;;;;;8405:229;8344:290;;:::o;8857:768::-;8993:12;;;;:8;:12;;;;;;-1:-1:-1;;;;;8985:20:0;;;8993:12;;8985:20;8977:43;;;;-1:-1:-1;;;8977:43:0;;9224:2:1;8977:43:0;;;9206:21:1;9263:2;9243:18;;;9236:30;-1:-1:-1;;;9282:18:1;;;9275:40;9332:18;;8977:43:0;9022:334:1;8977:43:0;-1:-1:-1;;;;;9041:16:0;;9033:46;;;;-1:-1:-1;;;9033:46:0;;9563:2:1;9033:46:0;;;9545:21:1;9602:2;9582:18;;;9575:30;-1:-1:-1;;;9621:18:1;;;9614:47;9678:18;;9033:46:0;9361:341:1;9033:46:0;9114:10;-1:-1:-1;;;;;9114:18:0;;;;:56;;-1:-1:-1;;;;;;9136:22:0;;;;;;:16;:22;;;;;;;;9159:10;9136:34;;;;;;;;;;9114:56;:89;;;-1:-1:-1;9188:15:0;;;;:11;:15;;;;;;-1:-1:-1;;;;;9188:15:0;9174:10;:29;9114:89;9092:153;;;;-1:-1:-1;;;9092:153:0;;8881:2:1;9092:153:0;;;8863:21:1;8920:2;8900:18;;;8893:30;-1:-1:-1;;;8939:18:1;;;8932:44;8993:18;;9092:153:0;8679:338:1;9092:153:0;-1:-1:-1;;;;;9450:16:0;;;;;;;:10;:16;;;;;;;;:18;;-1:-1:-1;;9450:18:0;;;9485:14;;;;;;;;;:16;;9450:18;9485:16;;;9525:12;;;:8;:12;;;;;:17;;-1:-1:-1;;;;;;9525:17:0;;;;;;;;9562:11;:15;;;;;;9555:22;;;;;;;;9595;;9534:2;;9485:14;9450:16;9595:22;;;8857:768;;;:::o;20539:113::-;4321:13;:11;:13::i;:::-;4508:6;;20596:48:::1;::::0;-1:-1:-1;;;;;4508:6:0;;;;20622:21:::1;20596:48:::0;::::1;;;::::0;::::1;::::0;;;20622:21;4508:6;20596:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20539:113::o:0;17052:217::-;20468:10;:22;:27;20460:51;;;;-1:-1:-1;;;20460:51:0;;;;;;;:::i;:::-;17147:5:::1;:10:::0;;-1:-1:-1;;17147:10:0;;;;;17189:60:::1;::::0;;17216:12:::1;17206:23;17189:60;::::0;::::1;9892:19:1::0;-1:-1:-1;;17231:10:0::1;9949:2:1::0;9945:15;9941:53;9927:12;;;9920:75;;;;10011:12;;;10004:28;;;;10048:12;;17189:60:0::1;::::0;;-1:-1:-1;;17189:60:0;;::::1;::::0;;;;;;17179:71;;17189:60:::1;17179:71:::0;;::::1;::::0;17172:4:::1;:78:::0;17052:217::o;9633:409::-;9757:26;9770:4;9776:2;9780;9757:12;:26::i;:::-;-1:-1:-1;;;;;9818:14:0;;;:19;;:172;;-1:-1:-1;9858:66:0;;-1:-1:-1;;;9858:66:0;;;9899:10;9858:66;;;10376:34:1;-1:-1:-1;;;;;10446:15:1;;;10426:18;;;10419:43;10478:18;;;10471:34;;;10541:3;10521:18;;;10514:31;-1:-1:-1;10561:19:1;;;10554:30;9945:45:0;;9858:40;;;;9945:45;;10601:19:1;;9858:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;9858:132:0;;9818:172;9796:238;;;;-1:-1:-1;;;9796:238:0;;11087:2:1;9796:238:0;;;11069:21:1;11126:2;11106:18;;;11099:30;-1:-1:-1;;;11145:18:1;;;11138:46;11201:18;;9796:238:0;10885:340:1;9796:238:0;9633:409;;;:::o;17277:328::-;20468:10;:22;:27;20460:51;;;;-1:-1:-1;;;20460:51:0;;;;;;;:::i;:::-;17378:11;;;-1:-1:-1;;;;;17378:11:0;;::::1;17364;17425:15:::0;;;:10:::1;17378:11;17425:15:::0;;;17378:11;17425:15;;;:17;;-1:-1:-1;;17425:17:0;;;17457:20;;::::1;::::0;;;;;;:22;;17378:11;17457:22:::1;::::0;;17501:11;;;:22;;-1:-1:-1;;;;;;17501:22:0;;::::1;::::0;::::1;::::0;;;17541:11:::1;:14:::0;;;;17534:21;;;;::::1;::::0;;;17571:26;;17378:11;;17457:20;17378:11;;17571:26:::1;::::0;17364:11;;17571:26:::1;17353:252;17277:328:::0;:::o;17909:1196::-;20468:10;:22;:27;20460:51;;;;-1:-1:-1;;;20460:51:0;;;;;;;:::i;:::-;17993:10:::1;18006:62;18066:1;18048:12;18031:30;;;;;;11359:19:1::0;;11403:2;11394:12;;11230:182;18031:30:0::1;;;;;;;;;;;;;18021:41;;;;;;18013:50;;:54;;;;:::i;:::-;20131:1:::0;20046:95;18006:62:::1;18178:10;18079:16;18168:21:::0;;;:9:::1;:21;::::0;;;;;;;;18142:11:::1;:23:::0;;;;;;17993:75;;-1:-1:-1;18098:3:0;;18132:7:::1;18138:1;18098:3:::0;18132:7:::1;:::i;:::-;:33;;;;:::i;:::-;:57;;;;:::i;:::-;18112:77:::0;-1:-1:-1;18200:16:0::1;18281:2;18274:5;::::0;18239:31:::1;::::0;;18258:10:::1;18239:31;::::0;::::1;1848:51:1::0;1821:18;18239:31:0::1;;;;;;;;;;;;18231:40;;;:::i;:::-;18219:65;18200:84;;18296:11;18309:17:::0;18330:7:::1;-1:-1:-1::0;;;;;18330:12:0::1;18354:5;18343:17;;;;;;565:14:1::0;558:22;540:41;;528:2;513:18;;400:187;18343:17:0::1;;::::0;;-1:-1:-1;;18343:17:0;;::::1;::::0;;;;;;;18330:31:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18295:66;;;;18372:17;18433:2;18392:44;;;;;:::i;:::-;18420:11:::0;18404:13:::1;18412:4:::0;18404:13:::1;:::i;:::-;18392:44;18372:64;;18447:17;18480:5;:15;;;;;18489:6;18480:15;18475:597;;18551:25;18564:11;18551:12;:25::i;:::-;18595:26;18608:12;18595;:26::i;:::-;18640:25;18653:11;18640:12;:25::i;:::-;18684:26;18697:12;18684;:26::i;:::-;18519:206;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18513:212;;18475:597;;;18837:37;18857:16;18871:2;18857:11:::0;:16:::1;:::i;:::-;18837:19;:37::i;:::-;18893:38;18913:17;18928:2;18913:12:::0;:17:::1;:::i;18893:38::-;18950:37;18970:16;18984:2;18970:11:::0;:16:::1;:::i;18950:37::-;19006:39;19026:17;19041:2;19026:12:::0;:17:::1;:::i;19006:39::-;18805:255;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18799:261;;18475:597;19087:10;19093:3;19087:10;;;;;;:::i;:::-;;;;;;;;17982:1123;;;;;;;;17909:1196:::0;;:::o;7187:151::-;7245:13;7288:12;;;:8;:12;;;;;;-1:-1:-1;;;;;7288:12:0;;7271:59;;;;-1:-1:-1;;;7271:59:0;;13010:2:1;7271:59:0;;;12992:21:1;13049:2;13029:18;;;13022:30;-1:-1:-1;;;13068:18:1;;;13061:40;13118:18;;7271:59:0;12808:334:1;7271:59:0;7187:151;;;:::o;15949:21::-;;;;;;;:::i;7346:172::-;7409:7;-1:-1:-1;;;;;7437:19:0;;7429:44;;;;-1:-1:-1;;;7429:44:0;;13349:2:1;7429:44:0;;;13331:21:1;13388:2;13368:18;;;13361:30;-1:-1:-1;;;13407:18:1;;;13400:42;13459:18;;7429:44:0;13147:336:1;7429:44:0;-1:-1:-1;;;;;;7493:17:0;;;;;:10;:17;;;;;;;7346:172::o;5083:103::-;4321:13;:11;:13::i;:::-;5148:30:::1;5175:1;5148:18;:30::i;:::-;5083:103::o:0;19781:165::-;4321:13;:11;:13::i;:::-;19866:14:::1;::::0;-1:-1:-1;;;19866:14:0;::::1;;;:23;19858:51;;;::::0;-1:-1:-1;;;19858:51:0;;13690:2:1;19858:51:0::1;::::0;::::1;13672:21:1::0;13729:2;13709:18;;;13702:30;-1:-1:-1;;;13748:18:1;;;13741:45;13803:18;;19858:51:0::1;13488:339:1::0;19858:51:0::1;19920:7;:18;19930:8:::0;19920:7;:18:::1;:::i;:::-;;19781:165:::0;:::o;6772:20::-;;;;;;;:::i;8642:207::-;8745:10;8728:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;8728:38:0;;;;;;;;;;;;:49;;-1:-1:-1;;8728:49:0;;;;;;;;;;8795:46;;540:41:1;;;8728:38:0;;8745:10;8795:46;;513:18:1;8795:46:0;;;;;;;8642:207;;:::o;10050:441::-;10204:26;10217:4;10223:2;10227;10204:12;:26::i;:::-;-1:-1:-1;;;;;10265:14:0;;;:19;;:174;;-1:-1:-1;10305:68:0;;-1:-1:-1;;;10305:68:0;;;10394:45;-1:-1:-1;;;;;10305:40:0;;;10394:45;;10305:68;;10346:10;;10358:4;;10364:2;;10368:4;;;;10305:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;10305:134:0;;10265:174;10243:240;;;;-1:-1:-1;;;10243:240:0;;11087:2:1;10243:240:0;;;11069:21:1;11126:2;11106:18;;;11099:30;-1:-1:-1;;;11145:18:1;;;11138:46;11201:18;;10243:240:0;10885:340:1;10243:240:0;10050:441;;;;;:::o;19113:232::-;19187:13;19250:1;19221:17;19229:8;19221:7;:17::i;:::-;-1:-1:-1;;;;;19221:31:0;;19213:40;;;;;;19295:7;19304:22;19317:8;19304:12;:22::i;:::-;19278:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19264:73;;19113:232;;;:::o;17613:288::-;20468:10;:22;:27;20460:51;;;;-1:-1:-1;;;20460:51:0;;;;;;;:::i;:::-;17696:9:::1;17709:1;17696:14:::0;17688:35:::1;;;::::0;-1:-1:-1;;;17688:35:0;;18084:2:1;17688:35:0::1;::::0;::::1;18066:21:1::0;18123:1;18103:18;;;18096:29;-1:-1:-1;;;18141:18:1;;;18134:38;18189:18;;17688:35:0::1;17882:331:1::0;17688:35:0::1;17792:10;17782:21;::::0;;;:9:::1;:21;::::0;;;;;;;;;;17806:9:::1;17782:33:::0;;::::1;17758:57:::0;;;17878:4:::1;::::0;17847:27;;::::1;::::0;::::1;11359:19:1::0;;;11403:2;11394:12;;11230:182;17847:27:0::1;;::::0;;-1:-1:-1;;17847:27:0;;::::1;::::0;;;;;;17837:38;;17847:27:::1;17837:38:::0;;::::1;::::0;:45:::1;17830:4;:52:::0;17613:288::o;19954:84::-;4321:13;:11;:13::i;:::-;20009:14:::1;:21:::0;;-1:-1:-1;;;;20009:21:0::1;-1:-1:-1::0;;;20009:21:0::1;::::0;;19954:84::o;5341:201::-;4321:13;:11;:13::i;:::-;-1:-1:-1;;;;;5430:22:0;::::1;5422:73;;;::::0;-1:-1:-1;;;5422:73:0;;18420:2:1;5422:73:0::1;::::0;::::1;18402:21:1::0;18459:2;18439:18;;;18432:30;18498:34;18478:18;;;18471:62;-1:-1:-1;;;18549:18:1;;;18542:36;18595:19;;5422:73:0::1;18218:402:1::0;5422:73:0::1;5506:28;5525:8;5506:18;:28::i;11225:384::-:0;-1:-1:-1;;;;;11300:16:0;;11292:46;;;;-1:-1:-1;;;11292:46:0;;9563:2:1;11292:46:0;;;9545:21:1;9602:2;9582:18;;;9575:30;-1:-1:-1;;;9621:18:1;;;9614:47;9678:18;;11292:46:0;9361:341:1;11292:46:0;11383:1;11359:12;;;:8;:12;;;;;;-1:-1:-1;;;;;11359:12:0;:26;11351:53;;;;-1:-1:-1;;;11351:53:0;;18827:2:1;11351:53:0;;;18809:21:1;18866:2;18846:18;;;18839:30;-1:-1:-1;;;18885:18:1;;;18878:44;18939:18;;11351:53:0;18625:338:1;11351:53:0;-1:-1:-1;;;;;11498:14:0;;;;;;:10;:14;;;;;;;;:16;;;;;;11538:12;;;:8;:12;;;;;;:17;;-1:-1:-1;;;;;;11538:17:0;;;;;11573:28;11547:2;;11498:14;;11573:28;;11498:14;;11573:28;11225:384;;:::o;4600:132::-;4508:6;;-1:-1:-1;;;;;4508:6:0;3224:10;4664:23;4656:68;;;;-1:-1:-1;;;4656:68:0;;19170:2:1;4656:68:0;;;19152:21:1;;;19189:18;;;19182:30;19248:34;19228:18;;;19221:62;19300:18;;4656:68:0;18968:356:1;20149:259:0;20231:51;;;;;;;;;;;;;;;;20316:12;;20326:1;20316:12;;;;;;;;;20205:13;;-1:-1:-1;;20316:12:0;;;;;;;;;;;-1:-1:-1;;20293:35:0;-1:-1:-1;20352:7:0;20360:6;20364:2;20360:1;:6;:::i;:::-;20352:15;;;;;;;;:::i;:::-;;;;;;;;;20339:7;20347:1;20339:10;;;;;;;;:::i;:::-;;;;:28;-1:-1:-1;;;;;20339:28:0;;;;;;;;-1:-1:-1;20392:7:0;20149:259;-1:-1:-1;;;20149:259:0:o;1242:340::-;1301:13;1331:5;1340:1;1331:10;1327:56;;-1:-1:-1;;1358:13:0;;;;;;;;;;;;-1:-1:-1;;;1358:13:0;;;;;1242:340::o;1327:56::-;1408:5;1393:12;1453:78;1460:9;;1453:78;;1486:8;;;;:::i;:::-;;;;1518:1;1509:10;;;;;1453:78;;;1548:26;1560:5;1567:6;1548:11;:26::i;:::-;1541:33;1242:340;-1:-1:-1;;;;1242:340:0:o;5702:191::-;5795:6;;;-1:-1:-1;;;;;5812:17:0;;;-1:-1:-1;;;;;;5812:17:0;;;;;;;5845:40;;5795:6;;;5812:17;5795:6;;5845:40;;5776:16;;5845:40;5765:128;5702:191;:::o;19353:420::-;19416:13;19456:3;19445:8;:14;19442:65;;;19481:26;19498:8;19481:16;:26::i;19442:65::-;19533:2;19522:8;:13;19518:85;;;19576:26;19593:8;19576:16;:26::i;:::-;19557:46;;;;;;;;:::i;19518:85::-;19629:1;19618:8;:12;19614:85;;;19672:26;19689:8;19672:16;:26::i;:::-;19652:47;;;;;;;;:::i;19614:85::-;19738:26;19755:8;19738:16;:26::i;:::-;19717:48;;;;;;;;:::i;1710:451::-;1785:13;1811:19;1843:10;1847:6;1843:1;:10;:::i;:::-;:14;;1856:1;1843:14;:::i;:::-;1833:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1833:25:0;;1811:47;;-1:-1:-1;;;1869:6:0;1876:1;1869:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1869:15:0;;;;;;;;;-1:-1:-1;;;1895:6:0;1902:1;1895:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1895:15:0;;;;;;;;-1:-1:-1;1926:9:0;1938:10;1942:6;1938:1;:10;:::i;:::-;:14;;1951:1;1938:14;:::i;:::-;1926:26;;1921:135;1958:1;1954;:5;1921:135;;;-1:-1:-1;;;2006:5:0;2014:3;2006:11;1993:25;;;;;;;:::i;:::-;;;;1981:6;1988:1;1981:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;1981:37:0;;;;;;;;-1:-1:-1;2043:1:0;2033:11;;;;;1961:3;;;:::i;:::-;;;1921:135;;;-1:-1:-1;2074:10:0;;2066:55;;;;-1:-1:-1;;;2066:55:0;;21216:2:1;2066:55:0;;;21198:21:1;;;21235:18;;;21228:30;21294:34;21274:18;;;21267:62;21346:18;;2066:55:0;21014:356:1;2066:55:0;2146:6;1710:451;-1:-1:-1;;;1710:451:0:o;409:723::-;465:13;686:5;695:1;686:10;682:53;;-1:-1:-1;;713:10:0;;;;;;;;;;;;-1:-1:-1;;;713:10:0;;;;;409:723::o;682:53::-;760:5;745:12;801:78;808:9;;801:78;;834:8;;;;:::i;:::-;;-1:-1:-1;857:10:0;;-1:-1:-1;865:2:0;857:10;;:::i;:::-;;;801:78;;;889:19;921:6;911:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:17:0;;889:39;;939:154;946:10;;939:154;;973:11;983:1;973:11;;:::i;:::-;;-1:-1:-1;1042:10:0;1050:2;1042:5;:10;:::i;:::-;1029:24;;:2;:24;:::i;:::-;1016:39;;999:6;1006;999:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;999:56:0;;;;;;;;-1:-1:-1;1070:11:0;1079:2;1070:11;;:::i;:::-;;;939:154;;14:131:1;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;840:1;831:6;826:3;822:16;815:27;796:48;;592:258;;;:::o;855:383::-;1004:2;993:9;986:21;967:4;1036:6;1030:13;1079:6;1074:2;1063:9;1059:18;1052:34;1095:66;1154:6;1149:2;1138:9;1134:18;1129:2;1121:6;1117:15;1095:66;:::i;:::-;1222:2;1201:15;-1:-1:-1;;1197:29:1;1182:45;;;;1229:2;1178:54;;855:383;-1:-1:-1;;855:383:1:o;1243:269::-;1300:6;1353:2;1341:9;1332:7;1328:23;1324:32;1321:52;;;1369:1;1366;1359:12;1321:52;1408:9;1395:23;1458:4;1451:5;1447:16;1440:5;1437:27;1427:55;;1478:1;1475;1468:12;1517:180;1576:6;1629:2;1617:9;1608:7;1604:23;1600:32;1597:52;;;1645:1;1642;1635:12;1597:52;-1:-1:-1;1668:23:1;;1517:180;-1:-1:-1;1517:180:1:o;1910:173::-;1978:20;;-1:-1:-1;;;;;2027:31:1;;2017:42;;2007:70;;2073:1;2070;2063:12;2088:254;2156:6;2164;2217:2;2205:9;2196:7;2192:23;2188:32;2185:52;;;2233:1;2230;2223:12;2185:52;2256:29;2275:9;2256:29;:::i;:::-;2246:39;2332:2;2317:18;;;;2304:32;;-1:-1:-1;;;2088:254:1:o;2529:328::-;2606:6;2614;2622;2675:2;2663:9;2654:7;2650:23;2646:32;2643:52;;;2691:1;2688;2681:12;2643:52;2714:29;2733:9;2714:29;:::i;:::-;2704:39;;2762:38;2796:2;2785:9;2781:18;2762:38;:::i;:::-;2752:48;;2847:2;2836:9;2832:18;2819:32;2809:42;;2529:328;;;;;:::o;3044:186::-;3103:6;3156:2;3144:9;3135:7;3131:23;3127:32;3124:52;;;3172:1;3169;3162:12;3124:52;3195:29;3214:9;3195:29;:::i;3235:254::-;3303:6;3311;3364:2;3352:9;3343:7;3339:23;3335:32;3332:52;;;3380:1;3377;3370:12;3332:52;3416:9;3403:23;3393:33;;3445:38;3479:2;3468:9;3464:18;3445:38;:::i;:::-;3435:48;;3235:254;;;;;:::o;3494:127::-;3555:10;3550:3;3546:20;3543:1;3536:31;3586:4;3583:1;3576:15;3610:4;3607:1;3600:15;3626:922;3695:6;3748:2;3736:9;3727:7;3723:23;3719:32;3716:52;;;3764:1;3761;3754:12;3716:52;3804:9;3791:23;3833:18;3874:2;3866:6;3863:14;3860:34;;;3890:1;3887;3880:12;3860:34;3928:6;3917:9;3913:22;3903:32;;3973:7;3966:4;3962:2;3958:13;3954:27;3944:55;;3995:1;3992;3985:12;3944:55;4031:2;4018:16;4053:2;4049;4046:10;4043:36;;;4059:18;;:::i;:::-;4134:2;4128:9;4102:2;4188:13;;-1:-1:-1;;4184:22:1;;;4208:2;4180:31;4176:40;4164:53;;;4232:18;;;4252:22;;;4229:46;4226:72;;;4278:18;;:::i;:::-;4318:10;4314:2;4307:22;4353:2;4345:6;4338:18;4393:7;4388:2;4383;4379;4375:11;4371:20;4368:33;4365:53;;;4414:1;4411;4404:12;4365:53;4470:2;4465;4461;4457:11;4452:2;4444:6;4440:15;4427:46;4515:1;4493:15;;;4510:2;4489:24;4482:35;;;;-1:-1:-1;4497:6:1;3626:922;-1:-1:-1;;;;;3626:922:1:o;4553:347::-;4618:6;4626;4679:2;4667:9;4658:7;4654:23;4650:32;4647:52;;;4695:1;4692;4685:12;4647:52;4718:29;4737:9;4718:29;:::i;:::-;4708:39;;4797:2;4786:9;4782:18;4769:32;4844:5;4837:13;4830:21;4823:5;4820:32;4810:60;;4866:1;4863;4856:12;4810:60;4889:5;4879:15;;;4553:347;;;;;:::o;4905:808::-;5002:6;5010;5018;5026;5034;5087:3;5075:9;5066:7;5062:23;5058:33;5055:53;;;5104:1;5101;5094:12;5055:53;5127:29;5146:9;5127:29;:::i;:::-;5117:39;;5175:38;5209:2;5198:9;5194:18;5175:38;:::i;:::-;5165:48;;5260:2;5249:9;5245:18;5232:32;5222:42;;5315:2;5304:9;5300:18;5287:32;5338:18;5379:2;5371:6;5368:14;5365:34;;;5395:1;5392;5385:12;5365:34;5433:6;5422:9;5418:22;5408:32;;5478:7;5471:4;5467:2;5463:13;5459:27;5449:55;;5500:1;5497;5490:12;5449:55;5540:2;5527:16;5566:2;5558:6;5555:14;5552:34;;;5582:1;5579;5572:12;5552:34;5627:7;5622:2;5613:6;5609:2;5605:15;5601:24;5598:37;5595:57;;;5648:1;5645;5638:12;5595:57;4905:808;;;;-1:-1:-1;4905:808:1;;-1:-1:-1;5679:2:1;5671:11;;5701:6;4905:808;-1:-1:-1;;;4905:808:1:o;5718:260::-;5786:6;5794;5847:2;5835:9;5826:7;5822:23;5818:32;5815:52;;;5863:1;5860;5853:12;5815:52;5886:29;5905:9;5886:29;:::i;:::-;5876:39;;5934:38;5968:2;5957:9;5953:18;5934:38;:::i;5983:380::-;6062:1;6058:12;;;;6105;;;6126:61;;6180:4;6172:6;6168:17;6158:27;;6126:61;6233:2;6225:6;6222:14;6202:18;6199:38;6196:161;;6279:10;6274:3;6270:20;6267:1;6260:31;6314:4;6311:1;6304:15;6342:4;6339:1;6332:15;6196:161;;5983:380;;;:::o;6368:335::-;6570:2;6552:21;;;6609:2;6589:18;;;6582:30;-1:-1:-1;;;6643:2:1;6628:18;;6621:41;6694:2;6679:18;;6368:335::o;7049:127::-;7110:10;7105:3;7101:20;7098:1;7091:31;7141:4;7138:1;7131:15;7165:4;7162:1;7155:15;7181:128;7221:3;7252:1;7248:6;7245:1;7242:13;7239:39;;;7258:18;;:::i;:::-;-1:-1:-1;7294:9:1;;7181:128::o;8003:135::-;8042:3;8063:17;;;8060:43;;8083:18;;:::i;:::-;-1:-1:-1;8130:1:1;8119:13;;8003:135::o;8377:297::-;8495:12;;8542:4;8531:16;;;8525:23;;8495:12;8560:16;;8557:111;;;-1:-1:-1;;8634:4:1;8630:17;;;;8627:1;8623:25;8619:38;8608:50;;8377:297;-1:-1:-1;8377:297:1:o;10631:249::-;10700:6;10753:2;10741:9;10732:7;10728:23;10724:32;10721:52;;;10769:1;10766;10759:12;10721:52;10801:9;10795:16;10820:30;10844:5;10820:30;:::i;11417:127::-;11478:10;11473:3;11469:20;11466:1;11459:31;11509:4;11506:1;11499:15;11533:4;11530:1;11523:15;11549:112;11581:1;11607;11597:35;;11612:18;;:::i;:::-;-1:-1:-1;11646:9:1;;11549:112::o;11666:274::-;11795:3;11833:6;11827:13;11849:53;11895:6;11890:3;11883:4;11875:6;11871:17;11849:53;:::i;:::-;11918:16;;;;;11666:274;-1:-1:-1;;11666:274:1:o;11945:858::-;12220:3;12258:6;12252:13;12274:53;12320:6;12315:3;12308:4;12300:6;12296:17;12274:53;:::i;:::-;12390:13;;12349:16;;;;12412:57;12390:13;12349:16;12446:4;12434:17;;12412:57;:::i;:::-;12536:13;;12491:20;;;12558:57;12536:13;12491:20;12592:4;12580:17;;12558:57;:::i;:::-;12682:13;;12637:20;;;12704:57;12682:13;12637:20;12738:4;12726:17;;12704:57;:::i;:::-;12777:20;;11945:858;-1:-1:-1;;;;;;11945:858:1:o;13958:545::-;14060:2;14055:3;14052:11;14049:448;;;14096:1;14121:5;14117:2;14110:17;14166:4;14162:2;14152:19;14236:2;14224:10;14220:19;14217:1;14213:27;14207:4;14203:38;14272:4;14260:10;14257:20;14254:47;;;-1:-1:-1;14295:4:1;14254:47;14350:2;14345:3;14341:12;14338:1;14334:20;14328:4;14324:31;14314:41;;14405:82;14423:2;14416:5;14413:13;14405:82;;;14468:17;;;14449:1;14438:13;14405:82;;;14409:3;;;13958:545;;;:::o;14679:1352::-;14805:3;14799:10;14832:18;14824:6;14821:30;14818:56;;;14854:18;;:::i;:::-;14883:97;14973:6;14933:38;14965:4;14959:11;14933:38;:::i;:::-;14927:4;14883:97;:::i;:::-;15035:4;;15099:2;15088:14;;15116:1;15111:663;;;;15818:1;15835:6;15832:89;;;-1:-1:-1;15887:19:1;;;15881:26;15832:89;-1:-1:-1;;14636:1:1;14632:11;;;14628:24;14624:29;14614:40;14660:1;14656:11;;;14611:57;15934:81;;15081:944;;15111:663;13905:1;13898:14;;;13942:4;13929:18;;-1:-1:-1;;15147:20:1;;;15265:236;15279:7;15276:1;15273:14;15265:236;;;15368:19;;;15362:26;15347:42;;15460:27;;;;15428:1;15416:14;;;;15295:19;;15265:236;;;15269:3;15529:6;15520:7;15517:19;15514:201;;;15590:19;;;15584:26;-1:-1:-1;;15673:1:1;15669:14;;;15685:3;15665:24;15661:37;15657:42;15642:58;15627:74;;15514:201;-1:-1:-1;;;;;15761:1:1;15745:14;;;15741:22;15728:36;;-1:-1:-1;14679:1352:1:o;16036:662::-;-1:-1:-1;;;;;16315:15:1;;;16297:34;;16367:15;;16362:2;16347:18;;16340:43;16414:2;16399:18;;16392:34;;;16462:3;16457:2;16442:18;;16435:31;;;16482:19;;16475:35;;;16240:4;16503:6;16553;16277:3;16532:19;;16519:49;16618:1;16612:3;16603:6;16592:9;16588:22;16584:32;16577:43;16688:3;16681:2;16677:7;16672:2;16664:6;16660:15;16656:29;16645:9;16641:45;16637:55;16629:63;;16036:662;;;;;;;;:::o;16703:1174::-;16980:3;17009:1;17042:6;17036:13;17072:36;17098:9;17072:36;:::i;:::-;17127:1;17144:18;;;17171:133;;;;17318:1;17313:356;;;;17137:532;;17171:133;-1:-1:-1;;17204:24:1;;17192:37;;17277:14;;17270:22;17258:35;;17249:45;;;-1:-1:-1;17171:133:1;;17313:356;17344:6;17341:1;17334:17;17374:4;17419:2;17416:1;17406:16;17444:1;17458:165;17472:6;17469:1;17466:13;17458:165;;;17550:14;;17537:11;;;17530:35;17593:16;;;;17487:10;;17458:165;;;17462:3;;;17652:6;17647:3;17643:16;17636:23;;17137:532;;;;;17700:6;17694:13;17716:55;17762:8;17757:3;17750:4;17742:6;17738:17;17716:55;:::i;:::-;-1:-1:-1;;;17793:18:1;;17820:22;;;17869:1;17858:13;;16703:1174;-1:-1:-1;;;;16703:1174:1:o;19329:127::-;19390:10;19385:3;19381:20;19378:1;19371:31;19421:4;19418:1;19411:15;19445:4;19442:1;19435:15;19461:407;-1:-1:-1;;;19707:3:1;19700:16;19682:3;19745:6;19739:13;19761:61;19815:6;19811:1;19806:3;19802:11;19795:4;19787:6;19783:17;19761:61;:::i;:::-;19842:16;;;;19860:1;19838:24;;19461:407;-1:-1:-1;;19461:407:1:o;19873:408::-;-1:-1:-1;;;20119:3:1;20112:17;20094:3;20158:6;20152:13;20174:61;20228:6;20224:1;20219:3;20215:11;20208:4;20200:6;20196:17;20174:61;:::i;:::-;20255:16;;;;20273:1;20251:24;;19873:408;-1:-1:-1;;19873:408:1:o;20286:409::-;-1:-1:-1;;;20532:3:1;20525:18;20507:3;20572:6;20566:13;20588:61;20642:6;20638:1;20633:3;20629:11;20622:4;20614:6;20610:17;20588:61;:::i;:::-;20669:16;;;;20687:1;20665:24;;20286:409;-1:-1:-1;;20286:409:1:o;20700:168::-;20740:7;20806:1;20802;20798:6;20794:14;20791:1;20788:21;20783:1;20776:9;20769:17;20765:45;20762:71;;;20813:18;;:::i;:::-;-1:-1:-1;20853:9:1;;20700:168::o;20873:136::-;20912:3;20940:5;20930:39;;20949:18;;:::i;:::-;-1:-1:-1;;;20985:18:1;;20873:136::o;21375:120::-;21415:1;21441;21431:35;;21446:18;;:::i;:::-;-1:-1:-1;21480:9:1;;21375:120::o;21500:125::-;21540:4;21568:1;21565;21562:8;21559:34;;;21573:18;;:::i;:::-;-1:-1:-1;21610:9:1;;21500:125::o
Swarm Source
ipfs://a0db50b339ad3ad8b1d7df5ada104748099a69782eecadc74f929a3d9b95e54e
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.