

'''simple docstring'''



def      a__ (						a__		):




     """simple docstring"""


     if len(a__		) > 1:
          __SCREAMING_SNAKE_CASE						     =   len(a__		) // 2  # Finds the middle of the array
          __SCREAMING_SNAKE_CASE						     =   arr[
              :middle_length
          ]  # Creates an array of the elements in the first half.
          __SCREAMING_SNAKE_CASE						     =   arr[
              middle_length:
          ]  # Creates an array of the elements in the second half.
          __SCREAMING_SNAKE_CASE						     =   len(a__		)
          __SCREAMING_SNAKE_CASE						     =   len(a__		)
          merge(a__		)  # Starts sorting the left.
          merge(a__		)  # Starts sorting the right
          __SCREAMING_SNAKE_CASE						     =   0  # Left Counter
          __SCREAMING_SNAKE_CASE						     =   0  # Right Counter
          __SCREAMING_SNAKE_CASE						     =   0  # Position Counter
          while (
              left_index < left_size and right_index < right_size
          ):  # Runs until the lowers size of the left and right are sorted.
               if left_array[left_index] < right_array[right_index]:
                    __SCREAMING_SNAKE_CASE						     =   left_array[left_index]
                    left_index += 1
               else:
                    __SCREAMING_SNAKE_CASE						     =   right_array[right_index]
                    right_index += 1
               index += 1
          while (
              left_index < left_size
          ):  # Adds the left over elements in the left half of the array
               __SCREAMING_SNAKE_CASE						     =   left_array[left_index]
               left_index += 1
               index += 1
          while (
              right_index < right_size
          ):  # Adds the left over elements in the right half of the array
               __SCREAMING_SNAKE_CASE						     =   right_array[right_index]
               right_index += 1
               index += 1
     return arr


if __name__ == "__main__":
  import doctest

  doctest.testmod()









'''simple docstring'''



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


UpperCAmelCase				: Union[str, Any]         =  logging.get_logger(__name__)

UpperCAmelCase				: Optional[int]         =  {
    'bert-base-uncased': 'https://huggingface.co/bert-base-uncased/resolve/main/config.json',
    # QDQBERT models can be loaded from any BERT checkpoint, available at https://huggingface.co/models?filter=bert
}







class 		lowerCAmelCase__     (   a      ):



 """simple docstring"""



 lowerCAmelCase__						      =   "qdqbert"
 def __init__(	self      : str      ,							__SCREAMING_SNAKE_CASE      : Optional[int]=30_522      ,							__SCREAMING_SNAKE_CASE      : str=768      ,							__SCREAMING_SNAKE_CASE      : Union[str, Any]=12      ,							__SCREAMING_SNAKE_CASE      : Any=12      ,							__SCREAMING_SNAKE_CASE      : Any=3_072      ,							__SCREAMING_SNAKE_CASE      : List[str]="gelu"      ,							__SCREAMING_SNAKE_CASE      : Any=0.1      ,							__SCREAMING_SNAKE_CASE      : Any=0.1      ,							__SCREAMING_SNAKE_CASE      : Optional[int]=512      ,							__SCREAMING_SNAKE_CASE      : List[str]=2      ,							__SCREAMING_SNAKE_CASE      : Dict=0.02      ,							__SCREAMING_SNAKE_CASE      : List[str]=1E-12      ,							__SCREAMING_SNAKE_CASE      : str=True      ,							__SCREAMING_SNAKE_CASE      : Optional[int]=1      ,							__SCREAMING_SNAKE_CASE      : Optional[int]=0      ,							__SCREAMING_SNAKE_CASE      : Dict=2      ,							**__SCREAMING_SNAKE_CASE      : Union[str, Any]      ,							)						->				str:


      """simple docstring"""




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

      __SCREAMING_SNAKE_CASE						     =   vocab_size
      __SCREAMING_SNAKE_CASE						     =   max_position_embeddings
      __SCREAMING_SNAKE_CASE						     =   hidden_size
      __SCREAMING_SNAKE_CASE						     =   num_hidden_layers
      __SCREAMING_SNAKE_CASE						     =   num_attention_heads
      __SCREAMING_SNAKE_CASE						     =   intermediate_size
      __SCREAMING_SNAKE_CASE						     =   hidden_act
      __SCREAMING_SNAKE_CASE						     =   hidden_dropout_prob
      __SCREAMING_SNAKE_CASE						     =   attention_probs_dropout_prob
      __SCREAMING_SNAKE_CASE						     =   initializer_range
      __SCREAMING_SNAKE_CASE						     =   type_vocab_size
      __SCREAMING_SNAKE_CASE						     =   layer_norm_eps
      __SCREAMING_SNAKE_CASE						     =   use_cache






