



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


_lowercase		:				List[str]      		={
    "configuration_electra": ["ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP", "ElectraConfig", "ElectraOnnxConfig"],
    "tokenization_electra": ["ElectraTokenizer"],
}

try:
  if not is_tokenizers_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowercase		:				int      		=["ElectraTokenizerFast"]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowercase		:				Dict      		=[
      "ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST",
      "ElectraForCausalLM",
      "ElectraForMaskedLM",
      "ElectraForMultipleChoice",
      "ElectraForPreTraining",
      "ElectraForQuestionAnswering",
      "ElectraForSequenceClassification",
      "ElectraForTokenClassification",
      "ElectraModel",
      "ElectraPreTrainedModel",
      "load_tf_weights_in_electra",
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowercase		:				Union[str, Any]      		=[
      "TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST",
      "TFElectraForMaskedLM",
      "TFElectraForMultipleChoice",
      "TFElectraForPreTraining",
      "TFElectraForQuestionAnswering",
      "TFElectraForSequenceClassification",
      "TFElectraForTokenClassification",
      "TFElectraModel",
      "TFElectraPreTrainedModel",
  ]

try:
  if not is_flax_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowercase		:				Tuple      		=[
      "FlaxElectraForCausalLM",
      "FlaxElectraForMaskedLM",
      "FlaxElectraForMultipleChoice",
      "FlaxElectraForPreTraining",
      "FlaxElectraForQuestionAnswering",
      "FlaxElectraForSequenceClassification",
      "FlaxElectraForTokenClassification",
      "FlaxElectraModel",
      "FlaxElectraPreTrainedModel",
  ]


if TYPE_CHECKING:
  from .configuration_electra import ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP, ElectraConfig, ElectraOnnxConfig
  from .tokenization_electra import ElectraTokenizer

  try:
    if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_electra_fast import ElectraTokenizerFast

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_electra import (
        ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
        ElectraForCausalLM,
        ElectraForMaskedLM,
        ElectraForMultipleChoice,
        ElectraForPreTraining,
        ElectraForQuestionAnswering,
        ElectraForSequenceClassification,
        ElectraForTokenClassification,
        ElectraModel,
        ElectraPreTrainedModel,
        load_tf_weights_in_electra,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_electra import (
        TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFElectraForMaskedLM,
        TFElectraForMultipleChoice,
        TFElectraForPreTraining,
        TFElectraForQuestionAnswering,
        TFElectraForSequenceClassification,
        TFElectraForTokenClassification,
        TFElectraModel,
        TFElectraPreTrainedModel,
    )

  try:
    if not is_flax_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_flax_electra import (
        FlaxElectraForCausalLM,
        FlaxElectraForMaskedLM,
        FlaxElectraForMultipleChoice,
        FlaxElectraForPreTraining,
        FlaxElectraForQuestionAnswering,
        FlaxElectraForSequenceClassification,
        FlaxElectraForTokenClassification,
        FlaxElectraModel,
        FlaxElectraPreTrainedModel,
    )

else:
  import sys

  _lowercase		:				Optional[int]      		=_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)









def      lowerCAmelCase_					(  _lowercase    :       int)							->	int:







			"""simple docstring"""

			if not isinstance(_lowercase						,       _lowercase):
						raise TypeError("""only integers accepted as input""")
			else:
						a__       :						Any							=  str(abs(_lowercase))
						a__       :						str							=  [list(_lowercase) for char in range(len(_lowercase))]
						for index in range(len(_lowercase)):
									num_transpositions[index].pop(_lowercase)
						return max(
						    int("""""".join(list(_lowercase))) for transposition in num_transpositions)


if __name__ == "__main__":
		__import__("doctest").testmod()




