

'''simple docstring'''




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_speech_available, is_torch_available


_lowerCAmelCase         =						{
    "configuration_audio_spectrogram_transformer": [
        "AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "ASTConfig",
    ]
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _lowerCAmelCase         =						[
          "AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
          "ASTForAudioClassification",
          "ASTModel",
          "ASTPreTrainedModel",
      ]

try:
      if not is_speech_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _lowerCAmelCase         =						["ASTFeatureExtractor"]

if TYPE_CHECKING:
      from .configuration_audio_spectrogram_transformer import (
          AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
          ASTConfig,
      )

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_audio_spectrogram_transformer import (
                AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                ASTForAudioClassification,
                ASTModel,
                ASTPreTrainedModel,
            )

      try:
            if not is_speech_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .feature_extraction_audio_spectrogram_transformer import ASTFeatureExtractor


else:
      import sys

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









'''simple docstring'''




import functools




def 						UpperCamelCase	(			a		,						a			)				->     int:






     '''simple docstring'''
     __magic_name__						       =    len(a			)
     __magic_name__						       =    len(a			)

     @functools.cache
     def min_distance(a		,						a			) -> int:
          # if first word index is overflow - delete all from the second word
          if indexa >= len_worda:
               return len_worda - indexa
          # if second word index is overflow - delete all from the first word
          if indexa >= len_worda:
               return len_worda - indexa
          __magic_name__						       =    int(worda[indexa] != worda[indexa]			)  # current letters not identical
          return min(
              1 + min_distance(indexa + 1		,						a			)		,						1 + min_distance(a		,						indexa + 1			)		,						diff + min_distance(indexa + 1		,						indexa + 1			)		,						)

     return min_distance(0		,						0			)


if __name__ == "__main__":
      import doctest

      doctest.testmod()






