





def 		__SCREAMING_SNAKE_CASE    (							UpperCamelCase__     ,     UpperCamelCase__ = False					)    ->							bool:







			'''simple docstring'''

			if n == 2:
						return True
			if not n % 2 or n < 2:
						return False
			if n > 5 and n % 10 not in (1, 3, 7, 9):  # can quickly check last digit
						return False
			if n > 3_3170_4406_4679_8873_8596_1981 and not allow_probable:
						raise ValueError(
						    '''Warning: upper bound of deterministic test is exceeded. '''
						    '''Pass allow_probable=True to allow probabilistic test. '''
						    '''A return value of True indicates a probable prime.'''					)
			# array bounds provided by analysis
			UpperCAmelCase  						=							[
			    2047,
			    137_3653,
			    2532_6001,
			    32_1503_1751,
			    2_1523_0289_8747,
			    3_4747_4966_0383,
			    341_5500_7172_8321,
			    1,
			    382_5123_0565_4641_3051,
			    1,
			    1,
			    3186_6585_7834_0311_5116_7461,
			    3_3170_4406_4679_8873_8596_1981,
			]

			UpperCAmelCase  						=							[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41]
			for idx, _p in enumerate(UpperCamelCase__     ,     1					):
						if n < _p:
									# then we have our last prime to check
									UpperCAmelCase  						=							primes[:idx]
									break
			UpperCAmelCase						,     UpperCAmelCase  						=							n - 1, 0
			# break up n -1 into a power of 2 (s) and
			# remaining odd component
			# essentially, solve for d * 2 ** s == n - 1
			while d % 2 == 0:
						d //= 2
						s += 1
			for prime in plist:
						UpperCAmelCase  						=							False
						for r in range(UpperCamelCase__					):
									UpperCAmelCase  						=							pow(UpperCamelCase__     ,     d * 2**r     ,     UpperCamelCase__					)
									# see article for analysis explanation for m
									if (r == 0 and m == 1) or ((m + 1) % n == 0):
												UpperCAmelCase  						=							True
												# this loop will not determine compositeness
												break
						if pr:
									continue
						# if pr is False, then the above loop never evaluated to true,
						# and the n MUST be composite
						return False
			return True





def 		__SCREAMING_SNAKE_CASE    (							)    ->							None:







			'''simple docstring'''

			assert not miller_rabin(561					)
			assert miller_rabin(563					)
			# 2047

			assert not miller_rabin(83_8201					)
			assert miller_rabin(83_8207					)
			# 1_373_653

			assert not miller_rabin(1731_6001					)
			assert miller_rabin(1731_6017					)
			# 25_326_001

			assert not miller_rabin(30_7838_6641					)
			assert miller_rabin(30_7838_6653					)
			# 3_215_031_751

			assert not miller_rabin(1_7130_4557_4801					)
			assert miller_rabin(1_7130_4557_4819					)
			# 2_152_302_898_747

			assert not miller_rabin(2_7797_9972_8307					)
			assert miller_rabin(2_7797_9972_8327					)
			# 3_474_749_660_383

			assert not miller_rabin(113_8500_2390_9441					)
			assert miller_rabin(113_8500_2390_9527					)
			# 341_550_071_728_321

			assert not miller_rabin(127_5041_0188_4880_4351					)
			assert miller_rabin(127_5041_0188_4880_4391					)
			# 3_825_123_056_546_413_051

			assert not miller_rabin(796_6646_4458_5077_8779_1867					)
			assert miller_rabin(796_6646_4458_5077_8779_1951					)
			# 318_665_857_834_031_151_167_461

			assert not miller_rabin(5528_4067_7446_6478_9766_0333					)
			assert miller_rabin(5528_4067_7446_6478_9766_0359					)
			# 3_317_044_064_679_887_385_961_981
			# upper limit for probabilistic test


if __name__ == "__main__":
				test_miller_rabin()









from collections import OrderedDict
from typing import Mapping

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


__A								=       logging.get_logger(__name__)

__A								=       {
    "facebook/xlm-roberta-xl": "https://huggingface.co/facebook/xlm-roberta-xl/resolve/main/config.json",
    "facebook/xlm-roberta-xxl": "https://huggingface.co/facebook/xlm-roberta-xxl/resolve/main/config.json",
    # See all XLM-RoBERTa-XL models at https://huggingface.co/models?filter=xlm-roberta-xl
}







class        __lowerCAmelCase					(			__magic_name__					):

			"""simple docstring"""







			snake_case_  						=			'''xlm-roberta-xl'''


			def __init__( self     ,		lowerCamelCase__=250_880     ,		lowerCamelCase__=2_560     ,		lowerCamelCase__=36     ,		lowerCamelCase__=32     ,		lowerCamelCase__=10_240     ,		lowerCamelCase__="gelu"     ,		lowerCamelCase__=0.1     ,		lowerCamelCase__=0.1     ,		lowerCamelCase__=514     ,		lowerCamelCase__=1     ,		lowerCamelCase__=0.02     ,		lowerCamelCase__=1e-05     ,		lowerCamelCase__=1     ,		lowerCamelCase__=0     ,		lowerCamelCase__=2     ,		lowerCamelCase__="absolute"     ,		lowerCamelCase__=True     ,		lowerCamelCase__=None     ,		**lowerCamelCase__     ,		)       -> str:



							'''simple docstring'''
							super().__init__(pad_token_id=lowerCamelCase__     ,		bos_token_id=lowerCamelCase__     ,		eos_token_id=lowerCamelCase__     ,		**lowerCamelCase__				)
							__lowerCamelCase									=       vocab_size
							__lowerCamelCase									=       hidden_size
							__lowerCamelCase									=       num_hidden_layers
							__lowerCamelCase									=       num_attention_heads
							__lowerCamelCase									=       hidden_act
							__lowerCamelCase									=       intermediate_size
							__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									=       position_embedding_type
							__lowerCamelCase									=       use_cache
							__lowerCamelCase									=       classifier_dropout







class        __lowerCAmelCase					(			__magic_name__					):

			"""simple docstring"""







			@property
			def  lowercase_       ( self				)       -> Mapping[str, Mapping[int, str]]:



							'''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),
							    ]				)


