





from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__lowerCAmelCase :Tuple     =    logging.get_logger(__name__)

__lowerCAmelCase :Union[str, Any]     =    {
    'facebook/levit-128S': 'https://huggingface.co/facebook/levit-128S/resolve/main/config.json',
    # See all LeViT models at https://huggingface.co/models?filter=levit
}






class        _a(    __A    ):
		lowerCamelCase__     :Tuple   				=		'levit'







		def __init__(    self ,						__snake_case=2_2_4 ,						__snake_case=3 ,						__snake_case=3 ,						__snake_case=2 ,						__snake_case=1 ,						__snake_case=1_6 ,						__snake_case=[1_2_8, 2_5_6, 3_8_4] ,						__snake_case=[4, 8, 1_2] ,						__snake_case=[4, 4, 4] ,						__snake_case=[1_6, 1_6, 1_6] ,						__snake_case=0 ,						__snake_case=[2, 2, 2] ,						__snake_case=[2, 2, 2] ,						__snake_case=0.02 ,						**__snake_case ,						)      ->      Tuple:


							'''simple docstring'''

							super().__init__(**__snake_case				)
							_snake_case       :					List[Any]				       =   image_size
							_snake_case       :					Union[str, Any]				       =   num_channels
							_snake_case       :					List[Any]				       =   kernel_size
							_snake_case       :					Tuple				       =   stride
							_snake_case       :					Dict				       =   padding
							_snake_case       :					int				       =   hidden_sizes
							_snake_case       :					Any				       =   num_attention_heads
							_snake_case       :					List[Any]				       =   depths
							_snake_case       :					List[str]				       =   key_dim
							_snake_case       :					Optional[int]				       =   drop_path_rate
							_snake_case       :					str				       =   patch_size
							_snake_case       :					Optional[int]				       =   attention_ratio
							_snake_case       :					Optional[int]				       =   mlp_ratio
							_snake_case       :					List[str]				       =   initializer_range
							_snake_case       :					List[Any]				       =   [
							    ["Subsample", key_dim[0], hidden_sizes[0] // key_dim[0], 4, 2, 2],
							    ["Subsample", key_dim[0], hidden_sizes[1] // key_dim[0], 4, 2, 2],
							]






class        _a(    __A    ):
		lowerCamelCase__     :Optional[int]   				=		version.parse('1.11'    )







		@property
		def        lowercase       (    self				)      ->      Mapping[str, Mapping[int, str]]:


							'''simple docstring'''

							return OrderedDict(
							    [
							        ("pixel_values", {0: "batch", 1: "num_channels", 2: "height", 3: "width"}),
							    ]				)







		@property
		def        lowercase       (    self				)      ->      float:


							'''simple docstring'''

							return 1E-4






import re







def    A				(							UpperCAmelCase				):
					_snake_case       :					Any				       =   re.compile(R"^(\+91[\-\s]?)?[0]?(91)?[789]\d{9}$"				)
					if match := re.search(UpperCAmelCase  ,  UpperCAmelCase				):
										return match.string == phone
					return False


if __name__ == "__main__":
							print(indian_phone_validator('+918827897895'))