



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_torch_available,
    is_vision_available,
)


snake_case_    					=	{"configuration_beit": ["BEIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "BeitConfig", "BeitOnnxConfig"]}

try:
				if not is_vision_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	["BeitFeatureExtractor"]
				snake_case_    					=	["BeitImageProcessor"]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	[
				    "BEIT_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "BeitForImageClassification",
				    "BeitForMaskedImageModeling",
				    "BeitForSemanticSegmentation",
				    "BeitModel",
				    "BeitPreTrainedModel",
				]


try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	[
				    "FlaxBeitForImageClassification",
				    "FlaxBeitForMaskedImageModeling",
				    "FlaxBeitModel",
				    "FlaxBeitPreTrainedModel",
				]

if TYPE_CHECKING:
				from .configuration_beit import BEIT_PRETRAINED_CONFIG_ARCHIVE_MAP, BeitConfig, BeitOnnxConfig

				try:
								if not is_vision_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .feature_extraction_beit import BeitFeatureExtractor
								from .image_processing_beit import BeitImageProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_beit import (
								    BEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    BeitForImageClassification,
								    BeitForMaskedImageModeling,
								    BeitForSemanticSegmentation,
								    BeitModel,
								    BeitPreTrainedModel,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_beit import (
								    FlaxBeitForImageClassification,
								    FlaxBeitForMaskedImageModeling,
								    FlaxBeitModel,
								    FlaxBeitPreTrainedModel,
								)


else:
				import sys

				snake_case_    					=	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)










"""simple docstring"""


def 			_lowerCAmelCase				(       lowercase_						):

						if not isinstance(lowercase_		,     lowercase_						):
												UpperCAmelCase					=			F"""Input value of [number={number}] must be an integer"""
												raise TypeError(lowercase_						)

						if number < 1:
												UpperCAmelCase					=			F"""Input value of [number={number}] must be > 0"""
												raise ValueError(lowercase_						)

						UpperCAmelCase					=			1

						for i in range(1		,     lowercase_						):
												current_number *= 4 * i - 2
												current_number //= i + 1

						return current_number


if __name__ == "__main__":
				import doctest

				doctest.testmod()





