




'''simple docstring'''





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


__lowerCAmelCase	:       Tuple     =	logging.get_logger(__name__)

__lowerCAmelCase	:       Union[str, Any]     =	{
    'sayakpaul/vit-msn-base': 'https://huggingface.co/sayakpaul/vit-msn-base/resolve/main/config.json',
    # See all ViT MSN models at https://huggingface.co/models?filter=vit_msn
}




class 					snake_case__							(__SCREAMING_SNAKE_CASE     ):
				"""simple docstring"""



				SCREAMING_SNAKE_CASE_ :							int											=      """vit_msn"""





				def __init__(   self       :  List[str]      ,   __lowerCamelCase       :  Union[str, Any]=7_68      ,   __lowerCamelCase       :  Any=12      ,   __lowerCamelCase       :  List[str]=12      ,   __lowerCamelCase       :  Any=30_72      ,   __lowerCamelCase       :  Any="gelu"      ,   __lowerCamelCase       :  int=0.0      ,   __lowerCamelCase       :  str=0.0      ,   __lowerCamelCase       :  List[Any]=0.02      ,   __lowerCamelCase       :  int=1e-06      ,   __lowerCamelCase       :  Any=2_24      ,   __lowerCamelCase       :  Dict=16      ,   __lowerCamelCase       :  Dict=3      ,   __lowerCamelCase       :  Union[str, Any]=True      ,   **__lowerCamelCase       :  Union[str, Any]      ,   )      ->  Union[str, Any]:
							super().__init__(**__snake_case							)

							a					=    hidden_size
							a					=    num_hidden_layers
							a					=    num_attention_heads
							a					=    intermediate_size
							a					=    hidden_act
							a					=    hidden_dropout_prob
							a					=    attention_probs_dropout_prob
							a					=    initializer_range
							a					=    layer_norm_eps
							a					=    image_size
							a					=    patch_size
							a					=    num_channels
							a					=    qkv_bias












def     __magic_name__       (				A	:      list     ):






			'''simple docstring'''







			for i in range(len(A     ) - 1,						0,						-1     ):
						a					=    False

						for j in range(A,						0,						-1     ):
									if unsorted[j] < unsorted[j - 1]:
												a					,	a					=    unsorted[j - 1], unsorted[j]
												a					=    True

						for j in range(A     ):
									if unsorted[j] > unsorted[j + 1]:
												a					,	a					=    unsorted[j + 1], unsorted[j]
												a					=    True

						if not swapped:
									break
			return unsorted


if __name__ == "__main__":
		import doctest

		doctest.testmod()
		__lowerCAmelCase	:       Tuple     =	input('Enter numbers separated by a comma:\n').strip()
		__lowerCAmelCase	:       List[Any]     =	[int(item) for item in user_input.split(',')]
		print(F'''{cocktail_shaker_sort(unsorted) = }''')






