interface IERC165 {
  /**
   * @notice query whether contract has registered support for given interface
   * @param interfaceId interface id
   * @return bool whether interface is supported
   */
  function supportsInterface (
    bytes4 interfaceId
  ) external view returns (bool);
}
/**
 * @title ERC165 interface registration interface
 * @dev see https://eips.ethereum.org/EIPS/eip-165
 */
function supportsInterface (
  bytes4 interfaceId
) external view returns (bool);

/**
 * @notice query whether contract has registered support for given interface
 * @param interfaceId interface id
 * @return bool whether interface is supported
 */