



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


_lowerCamelCase         =	logging.get_logger(__name__)

_lowerCamelCase         =	{
    """openbmb/cpm-ant-10b""": """https://huggingface.co/openbmb/cpm-ant-10b/blob/main/config.json"""
    # See all CPMAnt models at https://huggingface.co/models?filter=cpmant
}

class    _SCREAMING_SNAKE_CASE						(UpperCamelCase			):
     lowerCAmelCase       =      """cpmant"""





     def __init__(							self			:				Tuple  ,	UpperCamelCase			:				int = 3_0_7_2_0  ,	UpperCamelCase			:				int = 4_0_9_6  ,	UpperCamelCase			:				int = 3_2  ,	UpperCamelCase			:				int = 1_2_8  ,	UpperCamelCase			:				int = 1_0_2_4_0  ,	UpperCamelCase			:				int = 4_8  ,	UpperCamelCase			:				int = 0.0  ,	UpperCamelCase			:				int = 5_1_2  ,	UpperCamelCase			:				int = 2_0_4_8  ,	UpperCamelCase			:				int = 1E-6  ,	UpperCamelCase			:				float = 1.0  ,	UpperCamelCase			:				int = 3_2  ,	UpperCamelCase			:				int = 3_2  ,	UpperCamelCase			:				int = 3_2  ,	UpperCamelCase			:				bool = True  ,	**UpperCamelCase			:				Tuple  ,	)->Dict:
      super().__init__(**UpperCamelCase					)
      __SCREAMING_SNAKE_CASE							:     Dict							=						prompt_types
      __SCREAMING_SNAKE_CASE							:     List[Any]							=						prompt_length
      __SCREAMING_SNAKE_CASE							:     str							=						segment_types
      __SCREAMING_SNAKE_CASE							:     Dict							=						hidden_size
      __SCREAMING_SNAKE_CASE							:     str							=						num_attention_heads
      __SCREAMING_SNAKE_CASE							:     str							=						dim_head
      __SCREAMING_SNAKE_CASE							:     str							=						dim_ff
      __SCREAMING_SNAKE_CASE							:     Optional[Any]							=						num_hidden_layers
      __SCREAMING_SNAKE_CASE							:     Union[str, Any]							=						position_bias_num_buckets
      __SCREAMING_SNAKE_CASE							:     Dict							=						position_bias_max_distance
      __SCREAMING_SNAKE_CASE							:     int							=						dropout_p
      __SCREAMING_SNAKE_CASE							:     str							=						eps
      __SCREAMING_SNAKE_CASE							:     Tuple							=						use_cache
      __SCREAMING_SNAKE_CASE							:     int							=						vocab_size
      __SCREAMING_SNAKE_CASE							:     Optional[Any]							=						init_std









def 						_snake_case		(     SCREAMING_SNAKE_CASE		,				SCREAMING_SNAKE_CASE		,				SCREAMING_SNAKE_CASE					)							->   Optional[int]:

     """simple docstring"""







     if power < 0:
          return -1
     base %= mod
     _lowerCAmelCase :       Tuple	   =     1

     while power > 0:
          if power & 1:
               _lowerCAmelCase :       Optional[Any]	   =     (result * base) % mod
          _lowerCAmelCase :       int	   =     power >> 1
          _lowerCAmelCase :       Optional[int]	   =     (base * base) % mod

     return result







def 						_snake_case		(     )							->   Optional[int]:

     """simple docstring"""







     print(modular_exponential(3		,				200		,				13					)					)


if __name__ == "__main__":
  import doctest

  doctest.testmod()

  main()






