
'''simple docstring'''





from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE     =       {
    """configuration_albert""": ["""ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """AlbertConfig""", """AlbertOnnxConfig"""],
}

try:
      if not is_sentencepiece_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE     =       ["""AlbertTokenizer"""]

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

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE     =       [
          """ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """AlbertForMaskedLM""",
          """AlbertForMultipleChoice""",
          """AlbertForPreTraining""",
          """AlbertForQuestionAnswering""",
          """AlbertForSequenceClassification""",
          """AlbertForTokenClassification""",
          """AlbertModel""",
          """AlbertPreTrainedModel""",
          """load_tf_weights_in_albert""",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE     =       [
          """TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """TFAlbertForMaskedLM""",
          """TFAlbertForMultipleChoice""",
          """TFAlbertForPreTraining""",
          """TFAlbertForQuestionAnswering""",
          """TFAlbertForSequenceClassification""",
          """TFAlbertForTokenClassification""",
          """TFAlbertMainLayer""",
          """TFAlbertModel""",
          """TFAlbertPreTrainedModel""",
      ]

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE     =       [
          """FlaxAlbertForMaskedLM""",
          """FlaxAlbertForMultipleChoice""",
          """FlaxAlbertForPreTraining""",
          """FlaxAlbertForQuestionAnswering""",
          """FlaxAlbertForSequenceClassification""",
          """FlaxAlbertForTokenClassification""",
          """FlaxAlbertModel""",
          """FlaxAlbertPreTrainedModel""",
      ]

if TYPE_CHECKING:
      from .configuration_albert import ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, AlbertConfig, AlbertOnnxConfig

      try:
            if not is_sentencepiece_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_albert import AlbertTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_albert_fast import AlbertTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_albert import (
                ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                AlbertForMaskedLM,
                AlbertForMultipleChoice,
                AlbertForPreTraining,
                AlbertForQuestionAnswering,
                AlbertForSequenceClassification,
                AlbertForTokenClassification,
                AlbertModel,
                AlbertPreTrainedModel,
                load_tf_weights_in_albert,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_albert import (
                TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFAlbertForMaskedLM,
                TFAlbertForMultipleChoice,
                TFAlbertForPreTraining,
                TFAlbertForQuestionAnswering,
                TFAlbertForSequenceClassification,
                TFAlbertForTokenClassification,
                TFAlbertMainLayer,
                TFAlbertModel,
                TFAlbertPreTrainedModel,
            )

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_flax_albert import (
                FlaxAlbertForMaskedLM,
                FlaxAlbertForMultipleChoice,
                FlaxAlbertForPreTraining,
                FlaxAlbertForQuestionAnswering,
                FlaxAlbertForSequenceClassification,
                FlaxAlbertForTokenClassification,
                FlaxAlbertModel,
                FlaxAlbertPreTrainedModel,
            )
else:
      import sys

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





'''simple docstring'''





def snake_case_     (					lowercase__ = "The quick brown fox jumps over the lazy dog"   ,       ):
  UpperCAmelCase__      :					Dict				       =							set()

  # Replace all the whitespace in our sentence
  UpperCAmelCase__      :					str				       =							input_str.replace(" "   ,       ""		)
  for alpha in input_str:
    if "a" <= alpha.lower() <= "z":
      frequency.add(alpha.lower()		)
  return len(lowercase__		) == 2_6







def snake_case_     (					lowercase__ = "The quick brown fox jumps over the lazy dog"   ,       ):
  UpperCAmelCase__      :					str				       =							[False] * 2_6
  for char in input_str:
    if char.islower():
      UpperCAmelCase__      :					List[Any]				       =							True
    elif char.isupper():
      UpperCAmelCase__      :					List[Any]				       =							True
  return all(lowercase__		)







def snake_case_     (					lowercase__ = "The quick brown fox jumps over the lazy dog"   ,       ):
  return len({char for char in input_str.lower() if char.isalpha()}		) == 2_6







def snake_case_     (					):
  from timeit import timeit

  UpperCAmelCase__      :					Union[str, Any]				       =							"from __main__ import is_pangram, is_pangram_faster, is_pangram_fastest"
  print(timeit("is_pangram()"   ,       setup=lowercase__		)		)
  print(timeit("is_pangram_faster()"   ,       setup=lowercase__		)		)
  print(timeit("is_pangram_fastest()"   ,       setup=lowercase__		)		)
  # 5.348480500048026, 2.6477354579837993, 1.8470395830227062
  # 5.036091582966037, 2.644472333951853,  1.8869528750656173


if __name__ == "__main__":
      import doctest

      doctest.testmod()
      benchmark()



