
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCamelCase_    :			List[Any]    =	{
    """configuration_lilt""": ["""LILT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """LiltConfig"""],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCamelCase_    :			List[str]    =	[
							    """LILT_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """LiltForQuestionAnswering""",
							    """LiltForSequenceClassification""",
							    """LiltForTokenClassification""",
							    """LiltModel""",
							    """LiltPreTrainedModel""",
							]

if TYPE_CHECKING:
							from .configuration_lilt import LILT_PRETRAINED_CONFIG_ARCHIVE_MAP, LiltConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_lilt import (
														    LILT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    LiltForQuestionAnswering,
														    LiltForSequenceClassification,
														    LiltForTokenClassification,
														    LiltModel,
														    LiltPreTrainedModel,
														)

else:
							import sys

							lowerCamelCase_    :			Union[str, Any]    =	_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()






