





"""simple docstring"""




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


a		:					List[str]	      =     logging.get_logger(__name__)

a		:					List[str]	      =     {
    '''tiiuae/falcon-40b''': '''https://huggingface.co/tiiuae/falcon-40b/resolve/main/config.json''',
    '''tiiuae/falcon-7b''': '''https://huggingface.co/tiiuae/falcon-7b/resolve/main/config.json''',
}


class 			__UpperCamelCase							(		UpperCAmelCase_		):
							lowerCamelCase  :   Union[str, Any]    ='''falcon'''
							lowerCamelCase  :   str    =['''past_key_values''']






							def __init__(  self ,   lowerCAmelCase__=6_5024 ,   lowerCAmelCase__=4544 ,   lowerCAmelCase__=32 ,   lowerCAmelCase__=71 ,   lowerCAmelCase__=1E-5 ,   lowerCAmelCase__=0.02 ,   lowerCAmelCase__=True ,   lowerCAmelCase__=0.0 ,   lowerCAmelCase__=0.0 ,   lowerCAmelCase__=None ,   lowerCAmelCase__=False ,   lowerCAmelCase__=False ,   lowerCAmelCase__=True ,   lowerCAmelCase__=True ,   lowerCAmelCase__=False ,   lowerCAmelCase__=11 ,   lowerCAmelCase__=11 ,   **lowerCAmelCase__ ,   )      ->					str:
								a :						Any      =							vocab_size
								# Backward compatibility with n_embed kwarg
								a :						List[str]      =							kwargs.pop("n_embed" ,   lowerCamelCase__ )
								a :						Union[str, Any]      =							hidden_size if n_embed is None else n_embed
								a :						Optional[Any]      =							num_hidden_layers
								a :						Optional[int]      =							num_attention_heads
								a :						Optional[int]      =							layer_norm_epsilon
								a :						List[Any]      =							initializer_range
								a :						str      =							use_cache
								a :						int      =							hidden_dropout
								a :						str      =							attention_dropout

								a :						Optional[Any]      =							bos_token_id
								a :						Union[str, Any]      =							eos_token_id
								a :						str      =							num_attention_heads if num_kv_heads is None else num_kv_heads
								a :						Union[str, Any]      =							alibi
								a :						Optional[int]      =							new_decoder_architecture
								a :						Dict      =							multi_query  # Ignored when new_decoder_architecture is True
								a :						Tuple      =							parallel_attn
								a :						Tuple      =							bias

								super().__init__(bos_token_id=lowerCamelCase__ ,   eos_token_id=lowerCamelCase__ ,   **lowerCamelCase__ )






							@property
							def        __a  (  self )      ->					Dict:
								return self.hidden_size // self.num_attention_heads






							@property
							def        __a  (  self )      ->					Optional[Any]:
								return not self.alibi










from __future__ import annotations







class 		_A						:

  def __init__(    self						:	List[str]   ,				lowerCamelCase__						:	Any=None			):
     """simple docstring"""

     __UpperCamelCase	:			Union[str, Any]					=					data
     __UpperCamelCase	:			Union[str, Any]					=					None

  def __repr__(    self						:	int			):
     """simple docstring"""

     __UpperCamelCase	:			Union[str, Any]					=					[]
     __UpperCamelCase	:			Optional[int]					=					self
     while temp:
        string_rep.append(f'{temp.data}'			)
        __UpperCamelCase	:			Dict					=					temp.next
     return "->".join(lowerCamelCase__			)







def 				__lowerCamelCase     (							__lowerCAmelCase							:					list							)     ->  Tuple:
   if not elements_list:
      raise Exception("""The Elements List is empty"""							)

   __UpperCamelCase	:			Dict					=					Node(elements_list[0]							)
   for i in range(1					,							len(__lowerCAmelCase							)							):
      __UpperCamelCase	:			List[str]					=					Node(elements_list[i]							)
      __UpperCamelCase	:			Optional[int]					=					current.next
   return head


def 				__lowerCamelCase     (							__lowerCAmelCase							:					Node							)     ->  None:
   if head_node is not None and isinstance(__lowerCAmelCase					,							__lowerCAmelCase							):
      print_reverse(head_node.next							)
      print(head_node.data							)


def 				__lowerCamelCase     (							)     ->  Union[str, Any]:
   from doctest import testmod

   testmod()

   __UpperCamelCase	:			Any					=					make_linked_list([14, 52, 14, 12, 43]							)
   print("""Linked List:"""							)
   print(__lowerCAmelCase							)
   print("""Elements in Reverse:"""							)
   print_reverse(__lowerCAmelCase							)


if __name__ == "__main__":
       main()



