





from typing import TYPE_CHECKING

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


snake_case 				=       {
    """configuration_mobilebert""": [
        """MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """MobileBertConfig""",
        """MobileBertOnnxConfig""",
    ],
    """tokenization_mobilebert""": ["""MobileBertTokenizer"""],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      snake_case 				=       ["""MobileBertTokenizerFast"""]

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      snake_case 				=       [
          """MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """MobileBertForMaskedLM""",
          """MobileBertForMultipleChoice""",
          """MobileBertForNextSentencePrediction""",
          """MobileBertForPreTraining""",
          """MobileBertForQuestionAnswering""",
          """MobileBertForSequenceClassification""",
          """MobileBertForTokenClassification""",
          """MobileBertLayer""",
          """MobileBertModel""",
          """MobileBertPreTrainedModel""",
          """load_tf_weights_in_mobilebert""",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      snake_case 				=       [
          """TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """TFMobileBertForMaskedLM""",
          """TFMobileBertForMultipleChoice""",
          """TFMobileBertForNextSentencePrediction""",
          """TFMobileBertForPreTraining""",
          """TFMobileBertForQuestionAnswering""",
          """TFMobileBertForSequenceClassification""",
          """TFMobileBertForTokenClassification""",
          """TFMobileBertMainLayer""",
          """TFMobileBertModel""",
          """TFMobileBertPreTrainedModel""",
      ]


if TYPE_CHECKING:
      from .configuration_mobilebert import (
          MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
          MobileBertConfig,
          MobileBertOnnxConfig,
      )
      from .tokenization_mobilebert import MobileBertTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_mobilebert_fast import MobileBertTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_mobilebert import (
                MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                MobileBertForMaskedLM,
                MobileBertForMultipleChoice,
                MobileBertForNextSentencePrediction,
                MobileBertForPreTraining,
                MobileBertForQuestionAnswering,
                MobileBertForSequenceClassification,
                MobileBertForTokenClassification,
                MobileBertLayer,
                MobileBertModel,
                MobileBertPreTrainedModel,
                load_tf_weights_in_mobilebert,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_mobilebert import (
                TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFMobileBertForMaskedLM,
                TFMobileBertForMultipleChoice,
                TFMobileBertForNextSentencePrediction,
                TFMobileBertForPreTraining,
                TFMobileBertForQuestionAnswering,
                TFMobileBertForSequenceClassification,
                TFMobileBertForTokenClassification,
                TFMobileBertMainLayer,
                TFMobileBertModel,
                TFMobileBertPreTrainedModel,
            )

else:
      import sys

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






def 							SCREAMING_SNAKE_CASE__       (  snake_case__  :str			,							snake_case__  :int     )      ->						list[str]:
  return [sentence[i : i + ngram_size] for i in range(len(snake_case__     ) - ngram_size + 1     )]


if __name__ == "__main__":
      from doctest import testmod

      testmod()