



from ...processing_utils import ProcessorMixin





class    lowerCamelCase__  (						UpperCAmelCase_):
     """simple docstring"""



     _A       =			["""image_processor""", """feature_extractor"""]
     _A       =			"""TvltImageProcessor"""
     _A       =			"""TvltFeatureExtractor"""







     def __init__(self				,			__a				,			__a    ):






           '''simple docstring'''



           super().__init__(image_processor=__a				,			feature_extractor=__a    )

           lowerCamelCase								=		image_processor
           lowerCamelCase								=		feature_extractor







     def __call__(self				,			__a=None				,			__a=None				,			__a=None				,			__a=None				,			__a=False				,			__a=False				,			*__a				,			**__a				,			):






           '''simple docstring'''



           if images is None and audio is None:
                 raise ValueError("You need to specify either an `images` or `audio` input to process."    )

           lowerCamelCase								=		None
           if images is not None:
                 lowerCamelCase								=		self.image_processor(__a				,			mask_pixel=__a				,			*__a				,			**__a    )
           if images_mixed is not None:
                 lowerCamelCase								=		self.image_processor(__a				,			is_mixed=__a				,			*__a				,			**__a    )
           if audio is not None:
                 lowerCamelCase								=		self.feature_extractor(
                     __a				,			*__a				,			sampling_rate=__a				,			mask_audio=__a				,			**__a    )

           lowerCamelCase								=		{}
           if audio is not None:
                 output_dict.update(__a    )
           if images is not None:
                 output_dict.update(__a    )
           if images_mixed_dict is not None:
                 output_dict.update(__a    )
           return output_dict







     @property
     def 						_a      (self    ):






           '''simple docstring'''



           lowerCamelCase								=		self.image_processor.model_input_names
           lowerCamelCase								=		self.feature_extractor.model_input_names
           return list(dict.fromkeys(image_processor_input_names + feature_extractor_input_names    )    )




from typing import TYPE_CHECKING

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


a_						:     int	     =		{'configuration_van': ['VAN_PRETRAINED_CONFIG_ARCHIVE_MAP', 'VanConfig']}


try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     a_						:     Dict	     =		[
         'VAN_PRETRAINED_MODEL_ARCHIVE_LIST',
         'VanForImageClassification',
         'VanModel',
         'VanPreTrainedModel',
     ]

if TYPE_CHECKING:
     from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_van import (
              VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
              VanForImageClassification,
              VanModel,
              VanPreTrainedModel,
          )

else:
     import sys

     a_						:     Union[str, Any]	     =		_LazyModule(__name__, globals()['__file__'], _import_structure)