
from typing import TYPE_CHECKING

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


_UpperCAmelCase      :				Dict          = {
    "configuration_altclip": [
        "ALTCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "AltCLIPConfig",
        "AltCLIPTextConfig",
        "AltCLIPVisionConfig",
    ],
    "processing_altclip": ["AltCLIPProcessor"],
}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase      :				List[Any]          = [
					    "ALTCLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "AltCLIPPreTrainedModel",
					    "AltCLIPModel",
					    "AltCLIPTextModel",
					    "AltCLIPVisionModel",
					]


if TYPE_CHECKING:
					from .configuration_altclip import (
					    ALTCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    AltCLIPConfig,
					    AltCLIPTextConfig,
					    AltCLIPVisionConfig,
					)
					from .processing_altclip import AltCLIPProcessor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_altclip import (
										    ALTCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
										    AltCLIPModel,
										    AltCLIPPreTrainedModel,
										    AltCLIPTextModel,
										    AltCLIPVisionModel,
										)


else:
					import sys

					_UpperCAmelCase      :				List[str]          = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)


import re


def    A (      lowercase				)     ->						str:
		'''simple docstring'''

		if len(re.findall('[ATCG]'					, lowercase				)				) != len(lowercase				):
				raise ValueError('Invalid Strand'				)

		return dna.translate(dna.maketrans('ATCG'					, 'TAGC'				)				)


if __name__ == "__main__":
					import doctest

					doctest.testmod()
