




from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCamelCase__					    =    logging.get_logger(__name__)

UpperCamelCase__					    =    {
    """microsoft/trocr-base-handwritten""": (
        """https://huggingface.co/microsoft/trocr-base-handwritten/resolve/main/config.json"""
    ),
    # See all TrOCR models at https://huggingface.co/models?filter=trocr
}
class     a__					(      snake_case__   ):
						_a							:					List[Any]      =					"""trocr"""
						_a							:					int      =					["""past_key_values"""]
						_a							:					Optional[Any]      =					{
						    """num_attention_heads""": """decoder_attention_heads""",
						    """hidden_size""": """d_model""",
						    """num_hidden_layers""": """decoder_layers""",
						}






						def __init__(     self	,    _A=5_0_2_6_5	,    _A=1_0_2_4	,    _A=1_2	,    _A=1_6	,    _A=4_0_9_6	,    _A="gelu"	,    _A=5_1_2	,    _A=0.1	,    _A=0.0	,    _A=0.0	,    _A=2	,    _A=0.02	,    _A=0.0	,    _A=True	,    _A=False	,    _A=True	,    _A=True	,    _A=1	,    _A=0	,    _A=2	,    **_A	,    ):




											"""simple docstring"""



											__lowerCAmelCase            = vocab_size
											__lowerCAmelCase            = d_model
											__lowerCAmelCase            = decoder_layers
											__lowerCAmelCase            = decoder_attention_heads
											__lowerCAmelCase            = decoder_ffn_dim
											__lowerCAmelCase            = activation_function
											__lowerCAmelCase            = max_position_embeddings
											__lowerCAmelCase            = dropout
											__lowerCAmelCase            = attention_dropout
											__lowerCAmelCase            = activation_dropout
											__lowerCAmelCase            = init_std
											__lowerCAmelCase            = decoder_layerdrop
											__lowerCAmelCase            = use_cache
											__lowerCAmelCase            = scale_embedding
											__lowerCAmelCase            = use_learned_position_embeddings
											__lowerCAmelCase            = layernorm_embedding

											super().__init__(
											    pad_token_id=_A	,    bos_token_id=_A	,    eos_token_id=_A	,    decoder_start_token_id=_A	,    **_A	,    )










def 			_a   (		SCREAMING_SNAKE_CASE_							:       int   ,   SCREAMING_SNAKE_CASE_							:       int  ):
					if b == 0:
										return 1
					if (b % 2) == 0:
										return actual_power(SCREAMING_SNAKE_CASE_   ,   int(b / 2  )  ) * actual_power(SCREAMING_SNAKE_CASE_   ,   int(b / 2  )  )
					else:
										return a * actual_power(SCREAMING_SNAKE_CASE_   ,   int(b / 2  )  ) * actual_power(SCREAMING_SNAKE_CASE_   ,   int(b / 2  )  )







def 			_a   (		SCREAMING_SNAKE_CASE_							:       int   ,   SCREAMING_SNAKE_CASE_							:       int  ):
					if b < 0:
										return 1 / actual_power(SCREAMING_SNAKE_CASE_   ,   SCREAMING_SNAKE_CASE_  )
					return actual_power(SCREAMING_SNAKE_CASE_   ,   SCREAMING_SNAKE_CASE_  )


if __name__ == "__main__":
					print(power(-2, -3))




