





'''simple docstring'''






from typing import TYPE_CHECKING

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


A__							:  int    ={
    '''configuration_wav2vec2''': ['''WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''Wav2Vec2Config'''],
    '''feature_extraction_wav2vec2''': ['''Wav2Vec2FeatureExtractor'''],
    '''processing_wav2vec2''': ['''Wav2Vec2Processor'''],
    '''tokenization_wav2vec2''': ['''Wav2Vec2CTCTokenizer''', '''Wav2Vec2Tokenizer'''],
}


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__							:  str    =[
          '''WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''Wav2Vec2ForAudioFrameClassification''',
          '''Wav2Vec2ForCTC''',
          '''Wav2Vec2ForMaskedLM''',
          '''Wav2Vec2ForPreTraining''',
          '''Wav2Vec2ForSequenceClassification''',
          '''Wav2Vec2ForXVector''',
          '''Wav2Vec2Model''',
          '''Wav2Vec2PreTrainedModel''',
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__							:  Union[str, Any]    =[
          '''TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''TFWav2Vec2ForCTC''',
          '''TFWav2Vec2Model''',
          '''TFWav2Vec2PreTrainedModel''',
          '''TFWav2Vec2ForSequenceClassification''',
      ]

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__							:  List[str]    =[
          '''FlaxWav2Vec2ForCTC''',
          '''FlaxWav2Vec2ForPreTraining''',
          '''FlaxWav2Vec2Model''',
          '''FlaxWav2Vec2PreTrainedModel''',
      ]


if TYPE_CHECKING:
      from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
      from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
      from .processing_wavaveca import WavaVecaProcessor
      from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_wavaveca import (
                WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                WavaVecaForAudioFrameClassification,
                WavaVecaForCTC,
                WavaVecaForMaskedLM,
                WavaVecaForPreTraining,
                WavaVecaForSequenceClassification,
                WavaVecaForXVector,
                WavaVecaModel,
                WavaVecaPreTrainedModel,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_wavaveca import (
                TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFWavaVecaForCTC,
                TFWavaVecaForSequenceClassification,
                TFWavaVecaModel,
                TFWavaVecaPreTrainedModel,
            )

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_wavaveca import (
                FlaxWavaVecaForCTC,
                FlaxWavaVecaForPreTraining,
                FlaxWavaVecaModel,
                FlaxWavaVecaPreTrainedModel,
            )


else:
      import sys

      A__							:  Any    =_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)













'''simple docstring'''






from ..utils import DummyObject, requires_backends




class 					UpperCAmelCase	(     metaclass=snake_case_  ):
      _lowercase:     List[Any]			=  ['''torch''', '''scipy''']




      def __init__(     self     :					Tuple     ,     *__snake_case     :					Dict     ,     **__snake_case     :					List[str]    )							-> str:
            requires_backends(self     ,     ["""torch""", """scipy"""]    )




      @classmethod
      def 							lowercase__       (     cls     :					str     ,     *__snake_case     :					List[str]     ,     **__snake_case     :					str    )							-> Tuple:
            requires_backends(cls     ,     ["""torch""", """scipy"""]    )




      @classmethod
      def 							lowercase__       (     cls     :					Optional[int]     ,     *__snake_case     :					int     ,     **__snake_case     :					Union[str, Any]    )							-> Optional[int]:
            requires_backends(cls     ,     ["""torch""", """scipy"""]    )






