



"""simple docstring"""




def 	a						(				_UpperCAmelCase							: Any						):







		'''simple docstring'''





		if len(snake_case__						) > 1:
				__UpperCAmelCase   :					Optional[int]													=     len(snake_case__						) // 2  # Finds the middle of the array
				__UpperCAmelCase   :					str													=     arr[
				    :middle_length
				]  # Creates an array of the elements in the first half.
				__UpperCAmelCase   :					List[str]													=     arr[
				    middle_length:
				]  # Creates an array of the elements in the second half.
				__UpperCAmelCase   :					Optional[Any]													=     len(snake_case__						)
				__UpperCAmelCase   :					List[str]													=     len(snake_case__						)
				merge(snake_case__						)  # Starts sorting the left.
				merge(snake_case__						)  # Starts sorting the right
				__UpperCAmelCase   :					List[str]													=     0  # Left Counter
				__UpperCAmelCase   :					int													=     0  # Right Counter
				__UpperCAmelCase   :					Dict													=     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]:
								__UpperCAmelCase   :					List[Any]													=     left_array[left_index]
								left_index += 1
						else:
								__UpperCAmelCase   :					int													=     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
						__UpperCAmelCase   :					List[Any]													=     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
						__UpperCAmelCase   :					Tuple													=     right_array[right_index]
						right_index += 1
						index += 1
		return arr


if __name__ == "__main__":
				import doctest

				doctest.testmod()










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


__A             =logging.get_logger(__name__)

__A             ={
    "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__      (      __UpperCamelCase       ):




			'''simple docstring'''






			UpperCamelCase      						=	"""splinter"""




			def __init__(       self							:			Any	,	a_							:			Optional[int]=3_05_22	,	a_							:			Union[str, Any]=7_68	,	a_							:			int=12	,	a_							:			int=12	,	a_							:			List[Any]=30_72	,	a_							:			Union[str, Any]="gelu"	,	a_							:			Any=0.1	,	a_							:			Union[str, Any]=0.1	,	a_							:			Any=5_12	,	a_							:			str=2	,	a_							:			Dict=0.0_2	,	a_							:			int=1e-12	,	a_							:			str=True	,	a_							:			Tuple=0	,	a_							:			List[Any]=1_04	,	**a_							:			str	,	):
					'''simple docstring'''





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

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





