"""simple docstring"""
def    lowerCAmelCase__    (			_UpperCamelCase       :				Dict					)					->				Optional[int]:





						"""simple docstring"""






						snake_case								=			[0] * len(_UpperCamelCase					)
						snake_case								=			[]
						snake_case								=			[1] * len(_UpperCamelCase					)

						for values in graph.values():
												for i in values:
																		indegree[i] += 1

						for i in range(len(_UpperCamelCase					)					):
												if indegree[i] == 0:
																		queue.append(_UpperCamelCase					)

						while queue:
												snake_case								=			queue.pop(0					)
												for x in graph[vertex]:
																		indegree[x] -= 1

																		if long_dist[vertex] + 1 > long_dist[x]:
																								snake_case								=			long_dist[vertex] + 1

																		if indegree[x] == 0:
																								queue.append(_UpperCamelCase					)

						print(max(_UpperCamelCase					)					)


# Adjacency list of Graph
SCREAMING_SNAKE_CASE__      						=  {0: [2, 3, 4], 1: [2, 7], 2: [5], 3: [5, 7], 4: [7], 5: [6], 6: [7], 7: []}



longest_distance(graph)



"""simple docstring"""
from ...utils import (
    OptionalDependencyNotAvailable,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)


try:
					if not (is_transformers_available() and is_torch_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline
else:
					from .camera import create_pan_cameras
					from .pipeline_shap_e import ShapEPipeline
					from .pipeline_shap_e_img2img import ShapEImgaImgPipeline
					from .renderer import (
					    BoundingBoxVolume,
					    ImportanceRaySampler,
					    MLPNeRFModelOutput,
					    MLPNeRSTFModel,
					    ShapEParamsProjModel,
					    ShapERenderer,
					    StratifiedRaySampler,
					    VoidNeRFModel,
					)


