



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


__UpperCAmelCase      :      int   					=					logging.get_logger(__name__)

__UpperCAmelCase      :      List[str]   					=					{
    'apple/mobilevitv2-1.0': 'https://huggingface.co/apple/mobilevitv2-1.0/resolve/main/config.json',
}

class 	__lowerCAmelCase							(__UpperCamelCase  ):


					'''simple docstring'''


					a__        =     'mobilevitv2'







					def __init__(      self    ,       a=3    ,       a=2_56    ,       a=2    ,       a=2.0    ,       a="swish"    ,       a=3    ,       a=32    ,       a=0.1    ,       a=0.02    ,       a=1e-5    ,       a=5_12    ,       a=[6, 12, 18]    ,       a=0.1    ,       a=2_55    ,       a=[2, 4, 3]    ,       a=[1_28, 1_92, 2_56]    ,       a=1.0    ,       a=2    ,       a=0.0    ,       a=0.0    ,       **a    ,       ):




										"""simple docstring"""





										super().__init__(**a   )

										snake_case_						:str								=						num_channels
										snake_case_						:str								=						image_size
										snake_case_						:Tuple								=						patch_size
										snake_case_						:str								=						expand_ratio
										snake_case_						:Union[str, Any]								=						hidden_act
										snake_case_						:Tuple								=						conv_kernel_size
										snake_case_						:Optional[Any]								=						output_stride
										snake_case_						:Union[str, Any]								=						initializer_range
										snake_case_						:int								=						layer_norm_eps
										snake_case_						:List[Any]								=						n_attn_blocks
										snake_case_						:Any								=						base_attn_unit_dims
										snake_case_						:Optional[int]								=						width_multiplier
										snake_case_						:Union[str, Any]								=						ffn_multiplier
										snake_case_						:Optional[int]								=						ffn_dropout
										snake_case_						:List[str]								=						attn_dropout
										snake_case_						:Optional[Any]								=						classifier_dropout_prob

										# decode head attributes for semantic segmentation
										snake_case_						:Any								=						aspp_out_channels
										snake_case_						:List[str]								=						atrous_rates
										snake_case_						:List[Any]								=						aspp_dropout_prob
										snake_case_						:List[str]								=						semantic_loss_ignore_index



class 	__lowerCAmelCase							(__UpperCamelCase  ):


					'''simple docstring'''


					a__        =     version.parse('1.11'  )







					@property
					def 		_a (      self   ):




										"""simple docstring"""





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







					@property
					def 		_a (      self   ):




										"""simple docstring"""





										if self.task == "image-classification":
															return OrderedDict([("logits", {0: "batch"})]   )
										else:
															return OrderedDict([("last_hidden_state", {0: "batch"}), ("pooler_output", {0: "batch"})]   )







					@property
					def 		_a (      self   ):




										"""simple docstring"""





										return 1e-4






"""simple docstring"""






def      A      (			_A,     _A							):




					"""simple docstring"""
					if n == 0:
										return 1

					elif n % 2 == 1:
										return binary_exponentiation(_A,     n - 1							) * a

					else:
										snake_case_						:Optional[int]								=						binary_exponentiation(_A,     n / 2							)
										return b * b


if __name__ == "__main__":
				try:
								__UpperCAmelCase      :      str   					=					int(input('Enter Base : ').strip())
								__UpperCAmelCase      :      Any   					=					int(input('Enter Power : ').strip())
				except ValueError:
								print('Invalid literal for integer')

				__UpperCAmelCase      :      Optional[int]   					=					binary_exponentiation(BASE, POWER)
				print(F'''{BASE}^({POWER}) : {RESULT}''')

