"""simple docstring"""







from typing import TYPE_CHECKING

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


_a					:					Dict=			{"configuration_swin": ["SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP", "SwinConfig", "SwinOnnxConfig"]}


try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_a					:					List[str]=			[
	    "SWIN_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "SwinForImageClassification",
	    "SwinForMaskedImageModeling",
	    "SwinModel",
	    "SwinPreTrainedModel",
	    "SwinBackbone",
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_a					:					List[Any]=			[
	    "TF_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "TFSwinForImageClassification",
	    "TFSwinForMaskedImageModeling",
	    "TFSwinModel",
	    "TFSwinPreTrainedModel",
	]

if TYPE_CHECKING:
	from .configuration_swin import SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP, SwinConfig, SwinOnnxConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_swin import (
		    SWIN_PRETRAINED_MODEL_ARCHIVE_LIST,
		    SwinBackbone,
		    SwinForImageClassification,
		    SwinForMaskedImageModeling,
		    SwinModel,
		    SwinPreTrainedModel,
		)

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_swin import (
		    TF_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST,
		    TFSwinForImageClassification,
		    TFSwinForMaskedImageModeling,
		    TFSwinModel,
		    TFSwinPreTrainedModel,
		)

else:
	import sys

	_a					:					Tuple=			_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






"""simple docstring"""







def   __UpperCAmelCase    (   UpperCAmelCase_   :    list      ,							UpperCAmelCase_   :    int      ,							UpperCAmelCase_   :    int = 0      ,							UpperCAmelCase_   :    int = 0  )							->      int:

	'''simple docstring'''





	__snake_case      :							str						=			right or len(UpperCAmelCase_  ) - 1
	if left > right:
		return -1
	elif list_data[left] == key:
		return left
	elif list_data[right] == key:
		return right
	else:
		return search(UpperCAmelCase_      ,							UpperCAmelCase_      ,							left + 1      ,							right - 1  )


if __name__ == "__main__":
	import doctest

	doctest.testmod()





