





def 				SCREAMING_SNAKE_CASE__    (     __a ):
	# must be
	snake_case_		:      str           =						[list(__a ) for row in matrix]
	if matrix and isinstance(__a ,			__a ):
		if isinstance(matrix[0] ,			__a ):
			snake_case_		:      Union[str, Any]           =						0
			for row in matrix:
				if prev_len == 0:
					snake_case_		:      str           =						len(__a )
					snake_case_		:      Union[str, Any]           =						True
				else:
					snake_case_		:      List[str]           =						prev_len == len(__a )
		else:
			snake_case_		:      List[Any]           =						True
	else:
		snake_case_		:      Optional[Any]           =						False

	return result


def 				SCREAMING_SNAKE_CASE__    (     __a ):
	if check_matrix(__a ) and len(__a ) > 0:
		snake_case_		:      Tuple           =						[list(__a ) for row in a]
		snake_case_		:      Dict           =						len(__a )
		if isinstance(a[0] ,			__a ):
			snake_case_		:      Any           =						len(a[0] )
		else:
			for dat in a:
				print(__a )
			return

		# horizotal printing increasing
		for i in range(0 ,			__a ):
			print(a[0][i] )
		# vertical printing down
		for i in range(1 ,			__a ):
			print(a[i][mat_col - 1] )
		# horizotal printing decreasing
		if mat_row > 1:
			for i in range(mat_col - 2 ,			-1 ,			-1 ):
				print(a[mat_row - 1][i] )
        # vertical printing up
		for i in range(mat_row - 2 ,			0 ,			-1 ):
			print(a[i][0] )
		snake_case_		:      int           =						[row[1 : mat_col - 1] for row in a[1 : mat_row - 1]]
		if len(__a ) > 0:
			spiral_print_clockwise(__a )
		else:
			return
	else:
		print('Not a valid matrix' )
		return


def 				SCREAMING_SNAKE_CASE__    (     __a ):
	if matrix:
		return list(matrix.pop(0 ) ) + spiral_traversal(list(zip(*__a ) )[::-1] )
	else:
		return []


# driver code
if __name__ == "__main__":
						import doctest

						doctest.testmod()

						_SCREAMING_SNAKE_CASE   						=		[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
						spiral_print_clockwise(a)








import os
import shutil
import unittest
from unittest.mock import patch

from transformers.testing_utils import CaptureStd, is_pt_tf_cross_test, require_torch
class SCREAMING_SNAKE_CASE_    (       unittest.TestCase       ):






						@patch('sys.argv'		, ['fakeprogrampath', 'env']						)
						def UpperCAmelCase_					(   self   :   Tuple						)				->     Dict:







							"""simple docstring"""


							import transformers.commands.transformers_cli

							with CaptureStd() as cs:
								transformers.commands.transformers_cli.main()
							self.assertIn('Python version'		, cs.out						)
							self.assertIn('Platform'		, cs.out						)
							self.assertIn('Using distributed or parallel set-up in script?'		, cs.out						)






						@is_pt_tf_cross_test
						@patch(
						    'sys.argv'		, ['fakeprogrampath', 'pt-to-tf', '--model-name', 'hf-internal-testing/tiny-random-gptj', '--no-pr']						)
						def UpperCAmelCase_					(   self   :   Union[str, Any]						)				->     Optional[Any]:







							"""simple docstring"""


							import transformers.commands.transformers_cli

							shutil.rmtree('/tmp/hf-internal-testing/tiny-random-gptj'		, ignore_errors=_A						)  # cleans potential past runs
							transformers.commands.transformers_cli.main()

							# The original repo has no TF weights -- if they exist, they were created by the CLI
							self.assertTrue(os.path.exists('/tmp/hf-internal-testing/tiny-random-gptj/tf_model.h5'						)						)






						@require_torch
						@patch('sys.argv'		, ['fakeprogrampath', 'download', 'hf-internal-testing/tiny-random-gptj', '--cache-dir', '/tmp']						)
						def UpperCAmelCase_					(   self   :   List[Any]						)				->     str:







							"""simple docstring"""


							import transformers.commands.transformers_cli

							# # remove any previously downloaded model to start clean
							shutil.rmtree('/tmp/models--hf-internal-testing--tiny-random-gptj'		, ignore_errors=_A						)

							# run the command
							transformers.commands.transformers_cli.main()

							# check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--tiny-random-gptj
							self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--tiny-random-gptj/blobs'						)						)
							self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--tiny-random-gptj/refs'						)						)
							self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--tiny-random-gptj/snapshots'						)						)






						@require_torch
						@patch(
						    'sys.argv'		, [
						        'fakeprogrampath',
						        'download',
						        'hf-internal-testing/test_dynamic_model_with_tokenizer',
						        '--trust-remote-code',
						        '--cache-dir',
						        '/tmp',
						    ]		, )
						def UpperCAmelCase_					(   self   :   Optional[Any]						)				->     str:







							"""simple docstring"""


							import transformers.commands.transformers_cli

							# # remove any previously downloaded model to start clean
							shutil.rmtree('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer'		, ignore_errors=_A						)

							# run the command
							transformers.commands.transformers_cli.main()

							# check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer
							self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/blobs'						)						)
							self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/refs'						)						)
							self.assertTrue(
							    os.path.exists('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/snapshots'						)						)

