





"""simple docstring"""




def       _SCREAMING_SNAKE_CASE		(	_lowercase						:    Union[str, Any]					) ->bool:






	'''simple docstring'''






	if p < 2:
		raise ValueError("p should not be less than 2!"					)
	elif p == 2:
		return True

	a      :		Optional[Any]	=				4
	a      :		Union[str, Any]	=				(1 << p) - 1
	for _ in range(p - 2					):
		a      :		Optional[Any]	=				((s * s) - 2) % m
	return s == 0


if __name__ == "__main__":
		print(lucas_lehmer_test(7))
		print(lucas_lehmer_test(11))






import unittest

from transformers import MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING, is_vision_available, pipeline
from transformers.testing_utils import (
    is_pipeline_test,
    nested_simplify,
    require_tf,
    require_torch,
    require_vision,
    slow,
)

from .test_pipelines_common import ANY


if is_vision_available():
						from PIL import Image
else:







						class  snake_case__:







												'''simple docstring'''




												@staticmethod
												def   lowercase_       ( *__lowercase      ,  **__lowercase							)    ->			Union[str, Any]:
																pass







@is_pipeline_test
@require_vision
@require_torch
class  snake_case__(							unittest.TestCase							):







						'''simple docstring'''




						SCREAMING_SNAKE_CASE__					:     Union[str, Any]    =							MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING




						def   lowercase_       ( self      ,  __lowercase      ,  __lowercase      ,  __lowercase							)    ->			List[str]:
										lowerCAmelCase_       :					Union[str, Any]			 = pipeline(
										    '''zero-shot-object-detection'''      ,  model='''hf-internal-testing/tiny-random-owlvit-object-detection'''							)

										lowerCAmelCase_       :					str			 = [
										    {
										        '''image''': '''./tests/fixtures/tests_samples/COCO/000000039769.png''',
										        '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
										    }
										]
										return object_detector, examples




						def   lowercase_       ( self      ,  __lowercase      ,  __lowercase							)    ->			str:
										lowerCAmelCase_       :					Tuple			 = object_detector(examples[0]      ,  threshold=0.0							)

										lowerCAmelCase_       :					Dict			 = len(__lowercase							)
										self.assertGreater(__lowercase      ,  0							)
										self.assertEqual(
										    __lowercase      ,  [
										        {
										            '''score''': ANY(__lowercase							),
										            '''label''': ANY(__lowercase							),
										            '''box''': {'''xmin''': ANY(__lowercase							), '''ymin''': ANY(__lowercase							), '''xmax''': ANY(__lowercase							), '''ymax''': ANY(__lowercase							)},
										        }
										        for i in range(__lowercase							)
										    ]      ,  )




						@require_tf
						@unittest.skip('''Zero Shot Object Detection not implemented in TF'''							)
						def   lowercase_       ( self							)    ->			List[str]:
										pass




						@require_torch
						def   lowercase_       ( self							)    ->			int:
										lowerCAmelCase_       :					Union[str, Any]			 = pipeline(
										    '''zero-shot-object-detection'''      ,  model='''hf-internal-testing/tiny-random-owlvit-object-detection'''							)

										lowerCAmelCase_       :					Union[str, Any]			 = object_detector(
										    '''./tests/fixtures/tests_samples/COCO/000000039769.png'''      ,  candidate_labels=['''cat''', '''remote''', '''couch''']      ,  threshold=0.64      ,  )

										self.assertEqual(
										    nested_simplify(__lowercase      ,  decimals=4							)      ,  [
										        {'''score''': 0.72_35, '''label''': '''cat''', '''box''': {'''xmin''': 2_0_4, '''ymin''': 1_6_7, '''xmax''': 2_3_2, '''ymax''': 1_9_0}},
										        {'''score''': 0.72_18, '''label''': '''remote''', '''box''': {'''xmin''': 2_0_4, '''ymin''': 1_6_7, '''xmax''': 2_3_2, '''ymax''': 1_9_0}},
										        {'''score''': 0.71_84, '''label''': '''couch''', '''box''': {'''xmin''': 2_0_4, '''ymin''': 1_6_7, '''xmax''': 2_3_2, '''ymax''': 1_9_0}},
										        {'''score''': 0.67_48, '''label''': '''remote''', '''box''': {'''xmin''': 5_7_1, '''ymin''': 8_3, '''xmax''': 5_9_8, '''ymax''': 1_0_3}},
										        {'''score''': 0.66_56, '''label''': '''cat''', '''box''': {'''xmin''': 5_7_1, '''ymin''': 8_3, '''xmax''': 5_9_8, '''ymax''': 1_0_3}},
										        {'''score''': 0.66_14, '''label''': '''couch''', '''box''': {'''xmin''': 5_7_1, '''ymin''': 8_3, '''xmax''': 5_9_8, '''ymax''': 1_0_3}},
										        {'''score''': 0.64_56, '''label''': '''remote''', '''box''': {'''xmin''': 4_9_4, '''ymin''': 1_0_5, '''xmax''': 5_2_1, '''ymax''': 1_2_7}},
										        {'''score''': 0.6_42, '''label''': '''remote''', '''box''': {'''xmin''': 6_7, '''ymin''': 2_7_4, '''xmax''': 9_3, '''ymax''': 2_9_7}},
										        {'''score''': 0.64_19, '''label''': '''cat''', '''box''': {'''xmin''': 4_9_4, '''ymin''': 1_0_5, '''xmax''': 5_2_1, '''ymax''': 1_2_7}},
										    ]      ,  )

										lowerCAmelCase_       :					Union[str, Any]			 = object_detector(
										    [
										        {
										            '''image''': '''./tests/fixtures/tests_samples/COCO/000000039769.png''',
										            '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
										        }
										    ]      ,  threshold=0.64      ,  )

										self.assertEqual(
										    nested_simplify(__lowercase      ,  decimals=4							)      ,  [
										        [
										            {'''score''': 0.72_35, '''label''': '''cat''', '''box''': {'''xmin''': 2_0_4, '''ymin''': 1_6_7, '''xmax''': 2_3_2, '''ymax''': 1_9_0}},
										            {'''score''': 0.72_18, '''label''': '''remote''', '''box''': {'''xmin''': 2_0_4, '''ymin''': 1_6_7, '''xmax''': 2_3_2, '''ymax''': 1_9_0}},
										            {'''score''': 0.71_84, '''label''': '''couch''', '''box''': {'''xmin''': 2_0_4, '''ymin''': 1_6_7, '''xmax''': 2_3_2, '''ymax''': 1_9_0}},
										            {'''score''': 0.67_48, '''label''': '''remote''', '''box''': {'''xmin''': 5_7_1, '''ymin''': 8_3, '''xmax''': 5_9_8, '''ymax''': 1_0_3}},
										            {'''score''': 0.66_56, '''label''': '''cat''', '''box''': {'''xmin''': 5_7_1, '''ymin''': 8_3, '''xmax''': 5_9_8, '''ymax''': 1_0_3}},
										            {'''score''': 0.66_14, '''label''': '''couch''', '''box''': {'''xmin''': 5_7_1, '''ymin''': 8_3, '''xmax''': 5_9_8, '''ymax''': 1_0_3}},
										            {'''score''': 0.64_56, '''label''': '''remote''', '''box''': {'''xmin''': 4_9_4, '''ymin''': 1_0_5, '''xmax''': 5_2_1, '''ymax''': 1_2_7}},
										            {'''score''': 0.6_42, '''label''': '''remote''', '''box''': {'''xmin''': 6_7, '''ymin''': 2_7_4, '''xmax''': 9_3, '''ymax''': 2_9_7}},
										            {'''score''': 0.64_19, '''label''': '''cat''', '''box''': {'''xmin''': 4_9_4, '''ymin''': 1_0_5, '''xmax''': 5_2_1, '''ymax''': 1_2_7}},
										        ]
										    ]      ,  )




						@require_torch
						@slow
						def   lowercase_       ( self							)    ->			Union[str, Any]:
										lowerCAmelCase_       :					Any			 = pipeline('''zero-shot-object-detection'''							)

										lowerCAmelCase_       :					Dict			 = object_detector(
										    '''http://images.cocodataset.org/val2017/000000039769.jpg'''      ,  candidate_labels=['''cat''', '''remote''', '''couch''']      ,  )
										self.assertEqual(
										    nested_simplify(__lowercase      ,  decimals=4							)      ,  [
										        {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_2_4, '''ymin''': 2_0, '''xmax''': 6_4_0, '''ymax''': 3_7_3}},
										        {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 4_0, '''ymin''': 7_2, '''xmax''': 1_7_7, '''ymax''': 1_1_5}},
										        {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 5_5, '''xmax''': 3_1_5, '''ymax''': 4_7_2}},
										        {'''score''': 0.14_74, '''label''': '''remote''', '''box''': {'''xmin''': 3_3_5, '''ymin''': 7_4, '''xmax''': 3_7_1, '''ymax''': 1_8_7}},
										        {'''score''': 0.12_08, '''label''': '''couch''', '''box''': {'''xmin''': 4, '''ymin''': 0, '''xmax''': 6_4_2, '''ymax''': 4_7_6}},
										    ]      ,  )

										lowerCAmelCase_       :					Tuple			 = object_detector(
										    [
										        {
										            '''image''': '''http://images.cocodataset.org/val2017/000000039769.jpg''',
										            '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
										        },
										        {
										            '''image''': '''http://images.cocodataset.org/val2017/000000039769.jpg''',
										            '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
										        },
										    ]      ,  )
										self.assertEqual(
										    nested_simplify(__lowercase      ,  decimals=4							)      ,  [
										        [
										            {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_2_4, '''ymin''': 2_0, '''xmax''': 6_4_0, '''ymax''': 3_7_3}},
										            {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 4_0, '''ymin''': 7_2, '''xmax''': 1_7_7, '''ymax''': 1_1_5}},
										            {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 5_5, '''xmax''': 3_1_5, '''ymax''': 4_7_2}},
										            {'''score''': 0.14_74, '''label''': '''remote''', '''box''': {'''xmin''': 3_3_5, '''ymin''': 7_4, '''xmax''': 3_7_1, '''ymax''': 1_8_7}},
										            {'''score''': 0.12_08, '''label''': '''couch''', '''box''': {'''xmin''': 4, '''ymin''': 0, '''xmax''': 6_4_2, '''ymax''': 4_7_6}},
										        ],
										        [
										            {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_2_4, '''ymin''': 2_0, '''xmax''': 6_4_0, '''ymax''': 3_7_3}},
										            {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 4_0, '''ymin''': 7_2, '''xmax''': 1_7_7, '''ymax''': 1_1_5}},
										            {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 5_5, '''xmax''': 3_1_5, '''ymax''': 4_7_2}},
										            {'''score''': 0.14_74, '''label''': '''remote''', '''box''': {'''xmin''': 3_3_5, '''ymin''': 7_4, '''xmax''': 3_7_1, '''ymax''': 1_8_7}},
										            {'''score''': 0.12_08, '''label''': '''couch''', '''box''': {'''xmin''': 4, '''ymin''': 0, '''xmax''': 6_4_2, '''ymax''': 4_7_6}},
										        ],
										    ]      ,  )




						@require_tf
						@unittest.skip('''Zero Shot Object Detection not implemented in TF'''							)
						def   lowercase_       ( self							)    ->			List[str]:
										pass




						@require_torch
						@slow
						def   lowercase_       ( self							)    ->			Optional[int]:
										lowerCAmelCase_       :					Any			 = 0.2
										lowerCAmelCase_       :					List[Any]			 = pipeline('''zero-shot-object-detection'''							)

										lowerCAmelCase_       :					Optional[Any]			 = object_detector(
										    '''http://images.cocodataset.org/val2017/000000039769.jpg'''      ,  candidate_labels=['''cat''', '''remote''', '''couch''']      ,  threshold=__lowercase      ,  )
										self.assertEqual(
										    nested_simplify(__lowercase      ,  decimals=4							)      ,  [
										        {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_2_4, '''ymin''': 2_0, '''xmax''': 6_4_0, '''ymax''': 3_7_3}},
										        {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 4_0, '''ymin''': 7_2, '''xmax''': 1_7_7, '''ymax''': 1_1_5}},
										        {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 5_5, '''xmax''': 3_1_5, '''ymax''': 4_7_2}},
										    ]      ,  )




						@require_torch
						@slow
						def   lowercase_       ( self							)    ->			Optional[int]:
										lowerCAmelCase_       :					Dict			 = 2
										lowerCAmelCase_       :					Union[str, Any]			 = pipeline('''zero-shot-object-detection'''							)

										lowerCAmelCase_       :					Optional[Any]			 = object_detector(
										    '''http://images.cocodataset.org/val2017/000000039769.jpg'''      ,  candidate_labels=['''cat''', '''remote''', '''couch''']      ,  top_k=__lowercase      ,  )
										self.assertEqual(
										    nested_simplify(__lowercase      ,  decimals=4							)      ,  [
										        {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_2_4, '''ymin''': 2_0, '''xmax''': 6_4_0, '''ymax''': 3_7_3}},
										        {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 4_0, '''ymin''': 7_2, '''xmax''': 1_7_7, '''ymax''': 1_1_5}},
										    ]      ,  )