


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


_snake_case					=					logging.get_logger(__name__)

_snake_case					=					{
    '''tau/splinter-base''': '''https://huggingface.co/tau/splinter-base/resolve/main/config.json''',
    '''tau/splinter-base-qass''': '''https://huggingface.co/tau/splinter-base-qass/resolve/main/config.json''',
    '''tau/splinter-large''': '''https://huggingface.co/tau/splinter-large/resolve/main/config.json''',
    '''tau/splinter-large-qass''': '''https://huggingface.co/tau/splinter-large-qass/resolve/main/config.json''',
    # See all Splinter models at https://huggingface.co/models?filter=splinter
}
class      UpperCAmelCase_ ( __lowerCAmelCase   ):

   '''simple docstring'''




   __A			:				List[Any]							=		'''splinter'''






   def __init__(		self						,    __A=3_0522						,    __A=768						,    __A=12						,    __A=12						,    __A=3072						,    __A="gelu"						,    __A=0.1						,    __A=0.1						,    __A=512						,    __A=2						,    __A=0.02						,    __A=1e-12						,    __A=True						,    __A=0						,    __A=104						,    **__A						,    ):






     """simple docstring"""





     super().__init__(pad_token_id=__SCREAMING_SNAKE_CASE						,    **__SCREAMING_SNAKE_CASE			)

     lowerCamelCase			: Tuple   =    vocab_size
     lowerCamelCase			: List[Any]   =    max_position_embeddings
     lowerCamelCase			: List[str]   =    hidden_size
     lowerCamelCase			: Optional[int]   =    num_hidden_layers
     lowerCamelCase			: List[str]   =    num_attention_heads
     lowerCamelCase			: Optional[Any]   =    intermediate_size
     lowerCamelCase			: Optional[int]   =    hidden_act
     lowerCamelCase			: Optional[Any]   =    hidden_dropout_prob
     lowerCamelCase			: Optional[int]   =    attention_probs_dropout_prob
     lowerCamelCase			: Any   =    initializer_range
     lowerCamelCase			: Any   =    type_vocab_size
     lowerCamelCase			: Tuple   =    layer_norm_eps
     lowerCamelCase			: str   =    use_cache
     lowerCamelCase			: List[Any]   =    question_token_id







def 		lowercase_(  SCREAMING_SNAKE_CASE_     ):


  '''simple docstring'''

  if number != int(SCREAMING_SNAKE_CASE_     ):
    raise ValueError("factorial() only accepts integral values"     )
  if number < 0:
    raise ValueError("factorial() not defined for negative values"     )
  lowerCamelCase			: Optional[Any]   =    1
  for i in range(1				,						number + 1     ):
    value *= i
  return value






def 		lowercase_(  SCREAMING_SNAKE_CASE_     ):


  '''simple docstring'''

  if not isinstance(SCREAMING_SNAKE_CASE_				,						SCREAMING_SNAKE_CASE_     ):
    raise ValueError("factorial() only accepts integral values"     )
  if n < 0:
    raise ValueError("factorial() not defined for negative values"     )
  return 1 if n == 0 or n == 1 else n * factorial(n - 1     )


if __name__ == "__main__":
   import doctest

   doctest.testmod()

   _snake_case					=					int(input('''Enter a positive integer: ''').strip() or 0)
   print(f'''factorial{n} is {factorial(n)}''')



