"""simple docstring"""


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							={
    """google/mobilebert-uncased""": """https://huggingface.co/google/mobilebert-uncased/resolve/main/config.json"""
}






class    __UpperCAmelCase						(	__lowerCAmelCase	):
				A__      :   Union[str, Any]  							=       MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP
				A__      :   int  							=       '''mobilebert'''

				def __init__(      self	, _lowerCamelCase=30522	, _lowerCamelCase=512	, _lowerCamelCase=24	, _lowerCamelCase=4	, _lowerCamelCase=512	, _lowerCamelCase="relu"	, _lowerCamelCase=0.0	, _lowerCamelCase=0.1	, _lowerCamelCase=512	, _lowerCamelCase=2	, _lowerCamelCase=0.0_2	, _lowerCamelCase=1E-12	, _lowerCamelCase=0	, _lowerCamelCase=128	, _lowerCamelCase=True	, _lowerCamelCase=True	, _lowerCamelCase=128	, _lowerCamelCase=False	, _lowerCamelCase=True	, _lowerCamelCase=4	, _lowerCamelCase="no_norm"	, _lowerCamelCase=True	, _lowerCamelCase=None	, **_lowerCamelCase	, ):
										super().__init__(pad_token_id=snake_case__	, **snake_case__      )

										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__					=embedding_size
										lowerCamelCase__					=trigram_input
										lowerCamelCase__					=use_bottleneck
										lowerCamelCase__					=intra_bottleneck_size
										lowerCamelCase__					=use_bottleneck_attention
										lowerCamelCase__					=key_query_shared_bottleneck
										lowerCamelCase__					=num_feedforward_networks
										lowerCamelCase__					=normalization_type
										lowerCamelCase__					=classifier_activation

										if self.use_bottleneck:
																lowerCamelCase__					=intra_bottleneck_size
										else:
																lowerCamelCase__					=hidden_size

										lowerCamelCase__					=classifier_dropout






class    __UpperCAmelCase						(	__lowerCAmelCase	):

				@property
				def 		_a	(      self      ):
										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),
										    ]      )










"""simple docstring"""



from doctest import testmod
from math import sqrt


def      SCREAMING_SNAKE_CASE__    (   snake_case    :      int							)->						list:






     '''simple docstring'''



     UpperCAmelCase__		:  list[int]				=				[]
     if num < 1:
          return facs
     facs.append(1							)
     if num == 1:
          return facs
     facs.append(snake_case							)
     for i in range(2       , int(sqrt(snake_case							)							) + 1							):
          if num % i == 0:  # If i is a factor of num
               facs.append(snake_case							)
               UpperCAmelCase__		:  Any				=				num // i  # num//i is the other factor of num
               if d != i:  # If d and i are distinct
                    facs.append(snake_case							)  # we have found another factor
     facs.sort()
     return facs


if __name__ == "__main__":
 testmod(name="""factors_of_a_number""", verbose=True)


