
'''simple docstring'''



import math
import unittest


def A				(__lowerCamelCase				:Optional[int]		):
						assert isinstance(_lowerCamelCase			,     _lowerCamelCase		) and (
						    number >= 0
						), "'number' must been an int and positive"

						if 1 < number < 4:
												# 2 and 3 are primes
												return True
						elif number < 2 or number % 2 == 0 or number % 3 == 0:
												# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
												return False

						# All primes number are in format of 6k +/- 1
						for i in range(5			,     int(math.sqrt(_lowerCamelCase		) + 1		)			,     6		):
												if number % i == 0 or number % (i + 2) == 0:
																		return False
						return True




class   UpperCAmelCase_					(		unittest.TestCase			):






						'''simple docstring'''






						def  _lowercase     ( self				):

												"""simple docstring"""



												self.assertTrue(is_prime(2				)				)
												self.assertTrue(is_prime(3				)				)
												self.assertTrue(is_prime(5				)				)
												self.assertTrue(is_prime(7				)				)
												self.assertTrue(is_prime(11				)				)
												self.assertTrue(is_prime(13				)				)
												self.assertTrue(is_prime(17				)				)
												self.assertTrue(is_prime(19				)				)
												self.assertTrue(is_prime(23				)				)
												self.assertTrue(is_prime(29				)				)




						def  _lowercase     ( self				):

												"""simple docstring"""



												with self.assertRaises(_lowercase				):
																		is_prime(-19				)
												self.assertFalse(
												    is_prime(0				)   ,       """Zero doesn't have any positive factors, primes must have exactly two."""   ,       )
												self.assertFalse(
												    is_prime(1				)   ,       """One only has 1 positive factor, primes must have exactly two."""   ,       )
												self.assertFalse(is_prime(2 * 2				)				)
												self.assertFalse(is_prime(2 * 3				)				)
												self.assertFalse(is_prime(3 * 3				)				)
												self.assertFalse(is_prime(3 * 5				)				)
												self.assertFalse(is_prime(3 * 5 * 7				)				)


if __name__ == "__main__":
						unittest.main()






'''simple docstring'''



from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


_lowercase    =		logging.get_logger(__name__)

_lowercase    =		{
    """YituTech/conv-bert-base""": """https://huggingface.co/YituTech/conv-bert-base/resolve/main/config.json""",
    """YituTech/conv-bert-medium-small""": (
        """https://huggingface.co/YituTech/conv-bert-medium-small/resolve/main/config.json"""
    ),
    """YituTech/conv-bert-small""": """https://huggingface.co/YituTech/conv-bert-small/resolve/main/config.json""",
    # See all ConvBERT models at https://huggingface.co/models?filter=convbert
}




class   UpperCAmelCase_					(		_SCREAMING_SNAKE_CASE			):






						'''simple docstring'''






						_lowercase		:				List[Any]									=       '''convbert'''




						def __init__( self   ,       _lowercase=30_522   ,       _lowercase=768   ,       _lowercase=12   ,       _lowercase=12   ,       _lowercase=3_072   ,       _lowercase="gelu"   ,       _lowercase=0.1   ,       _lowercase=0.1   ,       _lowercase=512   ,       _lowercase=2   ,       _lowercase=0.02   ,       _lowercase=1e-12   ,       _lowercase=1   ,       _lowercase=0   ,       _lowercase=2   ,       _lowercase=768   ,       _lowercase=2   ,       _lowercase=9   ,       _lowercase=1   ,       _lowercase=None   ,       **_lowercase   ,       ):

												"""simple docstring"""



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

												_lowerCAmelCase  						=			vocab_size
												_lowerCAmelCase  						=			hidden_size
												_lowerCAmelCase  						=			num_hidden_layers
												_lowerCAmelCase  						=			num_attention_heads
												_lowerCAmelCase  						=			intermediate_size
												_lowerCAmelCase  						=			hidden_act
												_lowerCAmelCase  						=			hidden_dropout_prob
												_lowerCAmelCase  						=			attention_probs_dropout_prob
												_lowerCAmelCase  						=			max_position_embeddings
												_lowerCAmelCase  						=			type_vocab_size
												_lowerCAmelCase  						=			initializer_range
												_lowerCAmelCase  						=			layer_norm_eps
												_lowerCAmelCase  						=			embedding_size
												_lowerCAmelCase  						=			head_ratio
												_lowerCAmelCase  						=			conv_kernel_size
												_lowerCAmelCase  						=			num_groups
												_lowerCAmelCase  						=			classifier_dropout






class   UpperCAmelCase_					(		_SCREAMING_SNAKE_CASE			):






						'''simple docstring'''






						@property
						def  _lowercase     ( self				):

												"""simple docstring"""



												if self.task == "multiple-choice":
																		_lowerCAmelCase  						=			{0: """batch""", 1: """choice""", 2: """sequence"""}
												else:
																		_lowerCAmelCase  						=			{0: """batch""", 1: """sequence"""}
												return OrderedDict(
												    [
												        ("""input_ids""", dynamic_axis),
												        ("""attention_mask""", dynamic_axis),
												        ("""token_type_ids""", dynamic_axis),
												    ]				)
