
from typing import TYPE_CHECKING

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


lowercase__	:int										=					{
    "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:
							lowercase__	:str										=					["ChineseCLIPFeatureExtractor"]
							lowercase__	:Union[str, Any]										=					["ChineseCLIPImageProcessor"]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__	: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

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








def  UpperCamelCase					(							lowerCAmelCase__ = 1000	):
					'''simple docstring'''
					lowercase					=		-1
					lowercase					=		0
					for a in range(1				,    n // 3	):
										# Solving the two equations a**2+b**2=c**2 and a+b+c=N eliminating c
										lowercase					=		(n * n - 2 * a * n) // (2 * n - 2 * a)
										lowercase					=		n - a - b
										if c * c == (a * a + b * b):
															lowercase					=		a * b * c
															if candidate >= product:
																				lowercase					=		candidate
					return product


if __name__ == "__main__":
							print(F'{solution() = }')




