





from typing import TYPE_CHECKING

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


UpperCamelCase__  			={
    'configuration_data2vec_audio': ['DATA2VEC_AUDIO_PRETRAINED_CONFIG_ARCHIVE_MAP', 'Data2VecAudioConfig'],
    'configuration_data2vec_text': [
        'DATA2VEC_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'Data2VecTextConfig',
        'Data2VecTextOnnxConfig',
    ],
    'configuration_data2vec_vision': [
        'DATA2VEC_VISION_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'Data2VecVisionConfig',
        'Data2VecVisionOnnxConfig',
    ],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__  			=[
           'DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST',
           'Data2VecAudioForAudioFrameClassification',
           'Data2VecAudioForCTC',
           'Data2VecAudioForSequenceClassification',
           'Data2VecAudioForXVector',
           'Data2VecAudioModel',
           'Data2VecAudioPreTrainedModel',
       ]
       UpperCamelCase__  			=[
           'DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST',
           'Data2VecTextForCausalLM',
           'Data2VecTextForMaskedLM',
           'Data2VecTextForMultipleChoice',
           'Data2VecTextForQuestionAnswering',
           'Data2VecTextForSequenceClassification',
           'Data2VecTextForTokenClassification',
           'Data2VecTextModel',
           'Data2VecTextPreTrainedModel',
       ]
       UpperCamelCase__  			=[
           'DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST',
           'Data2VecVisionForImageClassification',
           'Data2VecVisionForMaskedImageModeling',
           'Data2VecVisionForSemanticSegmentation',
           'Data2VecVisionModel',
           'Data2VecVisionPreTrainedModel',
       ]

if is_tf_available():
       UpperCamelCase__  			=[
           'TFData2VecVisionForImageClassification',
           'TFData2VecVisionForSemanticSegmentation',
           'TFData2VecVisionModel',
           'TFData2VecVisionPreTrainedModel',
       ]

if TYPE_CHECKING:
       from .configuration_dataavec_audio import DATA2VEC_AUDIO_PRETRAINED_CONFIG_ARCHIVE_MAP, DataaVecAudioConfig
       from .configuration_dataavec_text import (
           DATA2VEC_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP,
           DataaVecTextConfig,
           DataaVecTextOnnxConfig,
       )
       from .configuration_dataavec_vision import (
           DATA2VEC_VISION_PRETRAINED_CONFIG_ARCHIVE_MAP,
           DataaVecVisionConfig,
           DataaVecVisionOnnxConfig,
       )

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_dataavec_audio import (
                  DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST,
                  DataaVecAudioForAudioFrameClassification,
                  DataaVecAudioForCTC,
                  DataaVecAudioForSequenceClassification,
                  DataaVecAudioForXVector,
                  DataaVecAudioModel,
                  DataaVecAudioPreTrainedModel,
              )
              from .modeling_dataavec_text import (
                  DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  DataaVecTextForCausalLM,
                  DataaVecTextForMaskedLM,
                  DataaVecTextForMultipleChoice,
                  DataaVecTextForQuestionAnswering,
                  DataaVecTextForSequenceClassification,
                  DataaVecTextForTokenClassification,
                  DataaVecTextModel,
                  DataaVecTextPreTrainedModel,
              )
              from .modeling_dataavec_vision import (
                  DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST,
                  DataaVecVisionForImageClassification,
                  DataaVecVisionForMaskedImageModeling,
                  DataaVecVisionForSemanticSegmentation,
                  DataaVecVisionModel,
                  DataaVecVisionPreTrainedModel,
              )
       if is_tf_available():
              from .modeling_tf_dataavec_vision import (
                  TFDataaVecVisionForImageClassification,
                  TFDataaVecVisionForSemanticSegmentation,
                  TFDataaVecVisionModel,
                  TFDataaVecVisionPreTrainedModel,
              )

else:
       import sys

       UpperCamelCase__  			=_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)



'''simple docstring'''


import os


# All paths are set with the intent you should run this script from the root of the repo with the command
# python utils/check_doctest_list.py
UpperCAmelCase_						:  List[Any]				  =						'.'


if __name__ == "__main__":
				UpperCAmelCase_						:  Any				  =						os.path.join(REPO_PATH, 'utils/documentation_tests.txt')
				UpperCAmelCase_						:  Dict				  =						[]
				UpperCAmelCase_						:  Union[str, Any]				  =						[]
				with open(doctest_file_path) as fp:
								for line in fp:
												UpperCAmelCase_						:  int				  =						line.strip()
												UpperCAmelCase_						:  str				  =						os.path.join(REPO_PATH, line)
												if not (os.path.isfile(path) or os.path.isdir(path)):
																non_existent_paths.append(line)
												all_paths.append(path)
				if len(non_existent_paths) > 0:
								UpperCAmelCase_						:  int				  =						'\n'.join(non_existent_paths)
								raise ValueError(F"`utils/documentation_tests.txt` contains non-existent paths:\n{non_existent_paths}")
				if all_paths != sorted(all_paths):
								raise ValueError('Files in `utils/documentation_tests.txt` are not in alphabetical order.')




