


"""simple docstring"""





class 						snake_case_:  # Public class to implement a graph






     def __init__(		self     :    List[Any]    , UpperCamelCase_     :    Tuple    , UpperCamelCase_     :    Optional[Any]    , UpperCamelCase_     :    List[Any] ):
           lowerCAmelCase    :		str				=      row
           lowerCAmelCase    :		str				=      col
           lowerCAmelCase    :		int				=      graph






     def    lowerCamelCase__   (		self     :    Union[str, Any]    , UpperCamelCase_     :    Any    , UpperCamelCase_     :    Dict    , UpperCamelCase_     :    int ):
           return (
               0 <= i < self.ROW
               and 0 <= j < self.COL
               and not visited[i][j]
               and self.graph[i][j]
           )






     def    lowerCamelCase__   (		self     :    Optional[Any]    , UpperCamelCase_     :    Optional[Any]    , UpperCamelCase_     :    int    , UpperCamelCase_     :    List[Any] ):
           lowerCAmelCase    :		str				=      [-1, -1, -1, 0, 0, 1, 1, 1]  # Coordinate order
           lowerCAmelCase    :		Dict				=      [-1, 0, 1, -1, 1, -1, 0, 1]
           lowerCAmelCase    :		Optional[Any]				=      True  # Make those cells visited
           for k in range(8 ):
                 if self.is_safe(i + row_nbr[k]    , j + col_nbr[k]    , _UpperCAmelCase ):
                       self.diffs(i + row_nbr[k]    , j + col_nbr[k]    , _UpperCAmelCase )






     def    lowerCamelCase__   (		self     :    Optional[int] ):  # And finally, count all islands.
           lowerCAmelCase    :		Union[str, Any]				=      [[False for j in range(self.COL )] for i in range(self.ROW )]
           lowerCAmelCase    :		List[Any]				=      0
           for i in range(self.ROW ):
                 for j in range(self.COL ):
                       if visited[i][j] is False and self.graph[i][j] == 1:
                             self.diffs(_UpperCAmelCase    , _UpperCAmelCase    , _UpperCAmelCase )
                             count += 1
           return count









'''simple docstring'''




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


lowercase__    :      List[Any]						=    logging.get_logger(__name__)

lowercase__    :      str						=    {}


class  SCREAMING_SNAKE_CASE    (a__							):
     lowerCAmelCase					=       '''llama'''
     lowerCAmelCase					=       ['''past_key_values''']


     def __init__(						self						,	_UpperCAmelCase=3_2000						,	_UpperCAmelCase=4096						,	_UpperCAmelCase=1_1008						,	_UpperCAmelCase=32						,	_UpperCAmelCase=32						,	_UpperCAmelCase=None						,	_UpperCAmelCase="silu"						,	_UpperCAmelCase=2048						,	_UpperCAmelCase=0.02						,	_UpperCAmelCase=1e-6						,	_UpperCAmelCase=True						,	_UpperCAmelCase=0						,	_UpperCAmelCase=1						,	_UpperCAmelCase=2						,	_UpperCAmelCase=1						,	_UpperCAmelCase=False						,	_UpperCAmelCase=None						,	**_UpperCAmelCase						,	):

          '''simple docstring'''






          __A						: Union[str, Any]      =       vocab_size
          __A						: Union[str, Any]      =       max_position_embeddings
          __A						: Any      =       hidden_size
          __A						: Optional[Any]      =       intermediate_size
          __A						: str      =       num_hidden_layers
          __A						: Optional[Any]      =       num_attention_heads

          # for backward compatibility
          if num_key_value_heads is None:
               __A						: List[Any]      =       num_attention_heads

          __A						: int      =       num_key_value_heads
          __A						: List[Any]      =       hidden_act
          __A						: Union[str, Any]      =       initializer_range
          __A						: List[Any]      =       rms_norm_eps
          __A						: Any      =       pretraining_tp
          __A						: Optional[Any]      =       use_cache
          __A						: Dict      =       rope_scaling
          self._rope_scaling_validation()

          super().__init__(
              pad_token_id=_UpperCAmelCase						,	bos_token_id=_UpperCAmelCase						,	eos_token_id=_UpperCAmelCase						,	tie_word_embeddings=_UpperCAmelCase						,	**_UpperCAmelCase						,	)


     def 							SCREAMING_SNAKE_CASE  (						self):

          '''simple docstring'''






          if self.rope_scaling is None:
               return

          if not isinstance(self.rope_scaling						,	_UpperCAmelCase) or len(self.rope_scaling) != 2:
               raise ValueError(
                   '`rope_scaling` must be a dictionary with with two fields, `name` and `factor`, '
                   F'got {self.rope_scaling}')
          __A						: Optional[Any]      =       self.rope_scaling.get('type'						,	_UpperCAmelCase)
          __A						: Tuple      =       self.rope_scaling.get('factor'						,	_UpperCAmelCase)
          if rope_scaling_type is None or rope_scaling_type not in ["linear", "dynamic"]:
               raise ValueError(
                   F'`rope_scaling`\'s name field must be one of [\'linear\', \'dynamic\'], got {rope_scaling_type}')
          if rope_scaling_factor is None or not isinstance(_UpperCAmelCase						,	_UpperCAmelCase) or rope_scaling_factor <= 1.0:
               raise ValueError(F'`rope_scaling`\'s factor field must be an float > 1, got {rope_scaling_factor}')