


import inspect
import unittest

class 		__a				(    unittest.TestCase      ):
		def      UpperCAmelCase__    (      self						)			->	Tuple:




									"""simple docstring"""





									try:
																import diffusers  # noqa: F401
									except ImportError:
																assert False






		def      UpperCAmelCase__    (      self						)			->	List[Any]:




									"""simple docstring"""





									import diffusers
									from diffusers.dependency_versions_table import deps

									_UpperCAmelCase					=      inspect.getmembers(_SCREAMING_SNAKE_CASE      ,   inspect.isclass						)

									for cls_name, cls_module in all_classes:
																if "dummy_" in cls_module.__module__:
																							for backend in cls_module._backends:
																														if backend == "k_diffusion":
																																					_UpperCAmelCase					=      'k-diffusion'
																														elif backend == "invisible_watermark":
																																					_UpperCAmelCase					=      'invisible-watermark'
																														assert backend in deps, f'''{backend} is not in the deps table!'''




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCAmelCase__  :List[str]             =							{
    '''configuration_x_clip''': [
        '''XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''XCLIPConfig''',
        '''XCLIPTextConfig''',
        '''XCLIPVisionConfig''',
    ],
    '''processing_x_clip''': ['''XCLIPProcessor'''],
}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowerCAmelCase__  :Any             =							[
		    '''XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''XCLIPModel''',
		    '''XCLIPPreTrainedModel''',
		    '''XCLIPTextModel''',
		    '''XCLIPVisionModel''',
		]

if TYPE_CHECKING:
		from .configuration_x_clip import (
		    XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    XCLIPConfig,
		    XCLIPTextConfig,
		    XCLIPVisionConfig,
		)
		from .processing_x_clip import XCLIPProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_x_clip import (
				    XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
				    XCLIPModel,
				    XCLIPPreTrainedModel,
				    XCLIPTextModel,
				    XCLIPVisionModel,
				)

else:
		import sys

		lowerCAmelCase__  :str             =							_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)
