



from __future__ import annotations


class 	__snake_case   :
		def __init__(							self    ,a_=None						):







						"""simple docstring"""
						lowerCAmelCase__		  =  data
						lowerCAmelCase__		  =  None



		def __repr__(							self						):







						"""simple docstring"""
						lowerCAmelCase__		  =  []
						lowerCAmelCase__		  =  self
						while temp:
										string_rep.append(f'{temp.data}'						)
										lowerCAmelCase__		  =  temp.next
						return "->".join(a_						)







def     UpperCAmelCase_		(					snake_case__					)	->     Union[str, Any]:



				"""simple docstring"""





				if not elements_list:
								raise Exception('The Elements List is empty'					)

				lowerCAmelCase__		  =  lowerCAmelCase__		  =  Node(elements_list[0]					)
				for i in range(1    ,			len(snake_case__					)					):
								lowerCAmelCase__		  =  Node(elements_list[i]					)
								lowerCAmelCase__		  =  current.next
				return head







def     UpperCAmelCase_		(					snake_case__					)	->     None:



				"""simple docstring"""





				if head_node is not None and isinstance(snake_case__    ,			snake_case__					):
								print_reverse(head_node.next					)
								print(head_node.data					)







def     UpperCAmelCase_		(					)	->     List[str]:



				"""simple docstring"""





				from doctest import testmod

				testmod()

				lowerCAmelCase__		  =  make_linked_list([14, 52, 14, 12, 43]					)
				print('Linked List:'					)
				print(snake_case__					)
				print('Elements in Reverse:'					)
				print_reverse(snake_case__					)


if __name__ == "__main__":
	main()





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


_lowerCAmelCase	:   Any    =   {
    "configuration_chinese_clip": [
        "CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "ChineseCLIPConfig",
        "ChineseCLIPOnnxConfig",
        "ChineseCLIPTextConfig",
        "ChineseCLIPVisionConfig",
    ],
    "processing_chinese_clip": ["ChineseCLIPProcessor"],
}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_lowerCAmelCase	:   str    =   ["ChineseCLIPFeatureExtractor"]
	_lowerCAmelCase	:   Any    =   ["ChineseCLIPImageProcessor"]

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_lowerCAmelCase	:   Optional[int]    =   [
	    "CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "ChineseCLIPModel",
	    "ChineseCLIPPreTrainedModel",
	    "ChineseCLIPTextModel",
	    "ChineseCLIPVisionModel",
	]

if TYPE_CHECKING:
	from .configuration_chinese_clip import (
	    CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    ChineseCLIPConfig,
	    ChineseCLIPOnnxConfig,
	    ChineseCLIPTextConfig,
	    ChineseCLIPVisionConfig,
	)
	from .processing_chinese_clip import ChineseCLIPProcessor

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .feature_extraction_chinese_clip import ChineseCLIPFeatureExtractor, ChineseCLIPImageProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_chinese_clip import (
		    CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
		    ChineseCLIPModel,
		    ChineseCLIPPreTrainedModel,
		    ChineseCLIPTextModel,
		    ChineseCLIPVisionModel,
		)

else:
	import sys

	_lowerCAmelCase	:   Any    =   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
