from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
    is_vision_available,
)


_lowerCamelCase   :				Union[str, Any]     			=						{
    '''configuration_layoutlmv3''': [
        '''LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''LayoutLMv3Config''',
        '''LayoutLMv3OnnxConfig''',
    ],
    '''processing_layoutlmv3''': ['''LayoutLMv3Processor'''],
    '''tokenization_layoutlmv3''': ['''LayoutLMv3Tokenizer'''],
}

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							_lowerCamelCase   :				Tuple     			=						['''LayoutLMv3TokenizerFast''']

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							_lowerCamelCase   :				List[Any]     			=						[
							    '''LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''LayoutLMv3ForQuestionAnswering''',
							    '''LayoutLMv3ForSequenceClassification''',
							    '''LayoutLMv3ForTokenClassification''',
							    '''LayoutLMv3Model''',
							    '''LayoutLMv3PreTrainedModel''',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							_lowerCamelCase   :				Optional[int]     			=						[
							    '''TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''TFLayoutLMv3ForQuestionAnswering''',
							    '''TFLayoutLMv3ForSequenceClassification''',
							    '''TFLayoutLMv3ForTokenClassification''',
							    '''TFLayoutLMv3Model''',
							    '''TFLayoutLMv3PreTrainedModel''',
							]

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							_lowerCamelCase   :				Union[str, Any]     			=						['''LayoutLMv3FeatureExtractor''']
							_lowerCamelCase   :				int     			=						['''LayoutLMv3ImageProcessor''']


if TYPE_CHECKING:
							from .configuration_layoutlmva import (
							    LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP,
							    LayoutLMvaConfig,
							    LayoutLMvaOnnxConfig,
							)
							from .processing_layoutlmva import LayoutLMvaProcessor
							from .tokenization_layoutlmva import LayoutLMvaTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_layoutlmva_fast import LayoutLMvaTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_layoutlmva import (
														    LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
														    LayoutLMvaForQuestionAnswering,
														    LayoutLMvaForSequenceClassification,
														    LayoutLMvaForTokenClassification,
														    LayoutLMvaModel,
														    LayoutLMvaPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_layoutlmva import (
														    TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFLayoutLMvaForQuestionAnswering,
														    TFLayoutLMvaForSequenceClassification,
														    TFLayoutLMvaForTokenClassification,
														    TFLayoutLMvaModel,
														    TFLayoutLMvaPreTrainedModel,
														)

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .feature_extraction_layoutlmva import LayoutLMvaFeatureExtractor
														from .image_processing_layoutlmva import LayoutLMvaImageProcessor

else:
							import sys

							_lowerCamelCase   :				Optional[int]     			=						_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)





def 		__lowerCamelCase							(UpperCAmelCase__       :							int ,	UpperCAmelCase__       :							int					):
					while b:
										SCREAMING_SNAKE_CASE     ,				SCREAMING_SNAKE_CASE           =    b, a % b
					return a





def 		__lowerCamelCase							(UpperCAmelCase__       :							int ,	UpperCAmelCase__       :							int					):
					return a if b == 0 else euclidean_gcd_recursive(UpperCAmelCase__ ,	a % b					)





def 		__lowerCamelCase							():
					print(F"euclidean_gcd(3, 5) = {euclidean_gcd(3 ,	5					)}"					)
					print(F"euclidean_gcd(5, 3) = {euclidean_gcd(5 ,	3					)}"					)
					print(F"euclidean_gcd(1, 3) = {euclidean_gcd(1 ,	3					)}"					)
					print(F"euclidean_gcd(3, 6) = {euclidean_gcd(3 ,	6					)}"					)
					print(F"euclidean_gcd(6, 3) = {euclidean_gcd(6 ,	3					)}"					)

					print(F"euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3 ,	5					)}"					)
					print(F"euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5 ,	3					)}"					)
					print(F"euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1 ,	3					)}"					)
					print(F"euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3 ,	6					)}"					)
					print(F"euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6 ,	3					)}"					)


if __name__ == "__main__":
							main()




