




'''simple docstring'''




from typing import TYPE_CHECKING

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


snake_case__ 							=    {
    """configuration_align""": [
        """ALIGN_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """AlignConfig""",
        """AlignTextConfig""",
        """AlignVisionConfig""",
    ],
    """processing_align""": ["""AlignProcessor"""],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							snake_case__ 							=    [
							    """ALIGN_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """AlignModel""",
							    """AlignPreTrainedModel""",
							    """AlignTextModel""",
							    """AlignVisionModel""",
							]

if TYPE_CHECKING:
							from .configuration_align import (
							    ALIGN_PRETRAINED_CONFIG_ARCHIVE_MAP,
							    AlignConfig,
							    AlignTextConfig,
							    AlignVisionConfig,
							)
							from .processing_align import AlignProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_align import (
														    ALIGN_PRETRAINED_MODEL_ARCHIVE_LIST,
														    AlignModel,
														    AlignPreTrainedModel,
														    AlignTextModel,
														    AlignVisionModel,
														)

else:
							import sys

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









'''simple docstring'''




import abc
import copy
import dataclasses
from dataclasses import dataclass
from typing import ClassVar, Dict, Type, TypeVar

from ..features import Features


snake_case__ 							=    TypeVar("""T""", bound="""TaskTemplate""")






@dataclass(frozen=a__  )
class      UpperCamelCase_  (abc.ABC  ):







						"""simple docstring"""


						_lowerCAmelCase         =       42
						_lowerCAmelCase         =       42
						_lowerCAmelCase         =       42







						def    _a     (  self   :							T				,			_lowerCamelCase   :							Features     ):





											"""simple docstring"""







											return copy.deepcopy(self     )







						@property
						def    _a     (  self   :							List[str]     ):





											"""simple docstring"""







											return Features(**self.input_schema				,			**self.label_schema     )







						@property
						@abc.abstractmethod
						def    _a     (  self   :							int     ):





											"""simple docstring"""







											raise NotImplementedError







						@classmethod
						def    _a     (  cls   :							Type[T]				,			_lowerCamelCase   :							dict     ):





											"""simple docstring"""







											A_			:  Dict			=				{f.name for f in dataclasses.fields(cls     )}
											return cls(**{k: v for k, v in template_dict.items() if k in field_names}     )



