code: 
  
  
  from typing import TYPE_CHECKING
  
  from ...utils import (
      OptionalDependencyNotAvailable,
      _LazyModule,
      is_flax_available,
      is_keras_nlp_available,
      is_tensorflow_text_available,
      is_tf_available,
      is_tokenizers_available,
      is_torch_available,
  )
  
  
  lowerCAmelCase					 =	{
      '''configuration_gpt2''': ['''GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPT2Config''', '''GPT2OnnxConfig'''],
      '''tokenization_gpt2''': ['''GPT2Tokenizer'''],
  }
  
  try:
  	if not is_tokenizers_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	lowerCAmelCase					 =	['''GPT2TokenizerFast''']
  
  try:
  	if not is_torch_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	lowerCAmelCase					 =	[
  	    '''GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
  	    '''GPT2DoubleHeadsModel''',
  	    '''GPT2ForQuestionAnswering''',
  	    '''GPT2ForSequenceClassification''',
  	    '''GPT2ForTokenClassification''',
  	    '''GPT2LMHeadModel''',
  	    '''GPT2Model''',
  	    '''GPT2PreTrainedModel''',
  	    '''load_tf_weights_in_gpt2''',
  	]
  
  try:
  	if not is_tf_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	lowerCAmelCase					 =	[
  	    '''TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
  	    '''TFGPT2DoubleHeadsModel''',
  	    '''TFGPT2ForSequenceClassification''',
  	    '''TFGPT2LMHeadModel''',
  	    '''TFGPT2MainLayer''',
  	    '''TFGPT2Model''',
  	    '''TFGPT2PreTrainedModel''',
  	]
  
  try:
  	if not is_keras_nlp_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	lowerCAmelCase					 =	['''TFGPT2Tokenizer''']
  
  try:
  	if not is_flax_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	lowerCAmelCase					 =	['''FlaxGPT2LMHeadModel''', '''FlaxGPT2Model''', '''FlaxGPT2PreTrainedModel''']
  
  if TYPE_CHECKING:
  	from .configuration_gpta import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTaConfig, GPTaOnnxConfig
  	from .tokenization_gpta import GPTaTokenizer
  
  	try:
  		if not is_tokenizers_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .tokenization_gpta_fast import GPTaTokenizerFast
  
  	try:
  		if not is_torch_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .modeling_gpta import (
  		    GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
  		    GPTaDoubleHeadsModel,
  		    GPTaForQuestionAnswering,
  		    GPTaForSequenceClassification,
  		    GPTaForTokenClassification,
  		    GPTaLMHeadModel,
  		    GPTaModel,
  		    GPTaPreTrainedModel,
  		    load_tf_weights_in_gpta,
  		)
  
  	try:
  		if not is_tf_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .modeling_tf_gpta import (
  		    TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
  		    TFGPTaDoubleHeadsModel,
  		    TFGPTaForSequenceClassification,
  		    TFGPTaLMHeadModel,
  		    TFGPTaMainLayer,
  		    TFGPTaModel,
  		    TFGPTaPreTrainedModel,
  		)
  
  	try:
  		if not is_keras_nlp_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .tokenization_gpta_tf import TFGPTaTokenizer
  
  	try:
  		if not is_flax_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .modeling_flax_gpta import FlaxGPTaLMHeadModel, FlaxGPTaModel, FlaxGPTaPreTrainedModel
  
  else:
  	import sys
  
  	lowerCAmelCase					 =	_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)
  
  
  
  
  
  
  
style_context: 
  
  
  from __future__ import annotations
  
  from enum import Enum
  
  
  
  
  
  class    A					(     A_				):
  							UpperCamelCase_     :							List[Any] =24
  							UpperCamelCase_     :							List[Any] =21
  							UpperCamelCase_     :							int =18
  							UpperCamelCase_     :							Optional[int] =15
  							UpperCamelCase_     :							Tuple =12
  							UpperCamelCase_     :							List[str] =9
  							UpperCamelCase_     :							Any =6
  							UpperCamelCase_     :							List[str] =3
  							UpperCamelCase_     :							str =2
  							UpperCamelCase_     :							str =1
  							UpperCamelCase_     :							Optional[int] =-1
  							UpperCamelCase_     :							List[Any] =-2
  							UpperCamelCase_     :							str =-3
  							UpperCamelCase_     :							Tuple =-6
  							UpperCamelCase_     :							Tuple =-9
  							UpperCamelCase_     :							Optional[int] =-12
  							UpperCamelCase_     :							str =-15
  							UpperCamelCase_     :							Optional[Any] =-18
  							UpperCamelCase_     :							Any =-21
  							UpperCamelCase_     :							List[str] =-24
  
  
  
  
  
  class    A					(     A_				):
  							UpperCamelCase_     :							str =8
  							UpperCamelCase_     :							Optional[Any] =7
  							UpperCamelCase_     :							Tuple =6
  							UpperCamelCase_     :							List[Any] =5
  							UpperCamelCase_     :							Optional[Any] =4
  							UpperCamelCase_     :							Union[str, Any] =3
  							UpperCamelCase_     :							Union[str, Any] =2
  							UpperCamelCase_     :							int =1
  
  
  
  
  
  
  
  def  _lowerCamelCase(			lowercase__     ,				lowercase__     ,				lowercase__     ,				)		->			float:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		if isinstance(lowercase__     ,				lowercase__			):
  				__lowercase=    SIUnit[known_prefix.lower()]
  		if isinstance(lowercase__     ,				lowercase__			):
  				__lowercase=    SIUnit[unknown_prefix.lower()]
  		__lowercase=    known_amount * (
  		    1_0 ** (known_prefix.value - unknown_prefix.value)
  		)
  		return unknown_amount
  
  
  
  
  
  
  
  def  _lowerCamelCase(			lowercase__     ,				lowercase__     ,				lowercase__     ,				)		->			float:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		if isinstance(lowercase__     ,				lowercase__			):
  				__lowercase=    BinaryUnit[known_prefix.lower()]
  		if isinstance(lowercase__     ,				lowercase__			):
  				__lowercase=    BinaryUnit[unknown_prefix.lower()]
  		__lowercase=    known_amount * (
  		    2 ** ((known_prefix.value - unknown_prefix.value) * 1_0)
  		)
  		return unknown_amount
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  
  
  
  
  
  
  