from typing import TYPE_CHECKING

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


UpperCamelCase													=		{'''configuration_vit_hybrid''': ['''VIT_HYBRID_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ViTHybridConfig''']}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      UpperCamelCase													=		[
          '''VIT_HYBRID_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''ViTHybridForImageClassification''',
          '''ViTHybridModel''',
          '''ViTHybridPreTrainedModel''',
      ]

try:
      if not is_vision_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      UpperCamelCase													=		['''ViTHybridImageProcessor''']


if TYPE_CHECKING:
      from .configuration_vit_hybrid import VIT_HYBRID_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTHybridConfig

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_vit_hybrid import (
                VIT_HYBRID_PRETRAINED_MODEL_ARCHIVE_LIST,
                ViTHybridForImageClassification,
                ViTHybridModel,
                ViTHybridPreTrainedModel,
            )

      try:
            if not is_vision_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .image_processing_vit_hybrid import ViTHybridImageProcessor


else:
      import sys

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




def     lowercase_       (    _lowerCamelCase							: str	,			_lowerCamelCase							: Optional[int]):
    if len(str(_lowerCamelCase)) == 1 or len(str(_lowerCamelCase)) == 1:
        return a * b

    lowercase__				:     Tuple					      =       max(len(str(_lowerCamelCase))	,			len(str(_lowerCamelCase)))
    lowercase__				:     Union[str, Any]					      =       ma // 2

    lowercase__      ,     lowercase__				:     Union[str, Any]					      =       divmod(_lowerCamelCase	,			10**ma)
    lowercase__      ,     lowercase__				:     Tuple					      =       divmod(_lowerCamelCase	,			10**ma)

    lowercase__				:     int					      =       karatsuba(_lowerCamelCase	,			_lowerCamelCase)
    lowercase__				:     Dict					      =       karatsuba((aa + aa)	,			(ba + ba))
    lowercase__				:     Optional[int]					      =       karatsuba(_lowerCamelCase	,			_lowerCamelCase)

    return (z * 10 ** (2 * ma)) + ((y - z - x) * 10 ** (ma)) + (x)

def     lowercase_       (    ):
    print(karatsuba(1_5463	,			2_3489))


if __name__ == "__main__":
      main()



