



"""simple docstring"""







from typing import TYPE_CHECKING

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


UpperCamelCase     =							{
    """configuration_falcon""": ["""FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FalconConfig"""],
}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			UpperCamelCase     =							[
			    """FALCON_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """FalconForCausalLM""",
			    """FalconModel""",
			    """FalconPreTrainedModel""",
			    """FalconForSequenceClassification""",
			    """FalconForTokenClassification""",
			    """FalconForQuestionAnswering""",
			]


if TYPE_CHECKING:
			from .configuration_falcon import FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP, FalconConfig

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_falcon import (
						    FALCON_PRETRAINED_MODEL_ARCHIVE_LIST,
						    FalconForCausalLM,
						    FalconForQuestionAnswering,
						    FalconForSequenceClassification,
						    FalconForTokenClassification,
						    FalconModel,
						    FalconPreTrainedModel,
						)


else:
			import sys

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






from __future__ import annotations







def 							A__       (    lowerCamelCase    )	->						int:
				UpperCamelCase_:				Optional[Any]						=    len(lowerCamelCase    ) // 2

				# choose the middle 3 elements
				UpperCamelCase_:				Tuple						=    lst[m - 1 : m + 2]

				# if middle element is peak
				if three[1] > three[0] and three[1] > three[2]:
								return three[1]

				# if increasing, recurse on right
				elif three[0] < three[2]:
								if len(lst[:m]    ) == 2:
												m -= 1
								return peak(lst[m:]    )

				# decreasing
				else:
								if len(lst[:m]    ) == 2:
												m += 1
								return peak(lst[:m]    )


if __name__ == "__main__":
							import doctest

							doctest.testmod()






