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,
  )
  
  
  UpperCAmelCase			:			Any	  = {
      """configuration_gpt2""": ["""GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP""", """GPT2Config""", """GPT2OnnxConfig"""],
      """tokenization_gpt2""": ["""GPT2Tokenizer"""],
  }
  
  try:
       if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
       pass
  else:
       UpperCAmelCase			:			str	  = ["""GPT2TokenizerFast"""]
  
  try:
       if not is_torch_available():
            raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
       pass
  else:
       UpperCAmelCase			:			Union[str, Any]	  = [
           """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:
       UpperCAmelCase			:			Dict	  = [
           """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:
       UpperCAmelCase			:			Dict	  = ["""TFGPT2Tokenizer"""]
  
  try:
       if not is_flax_available():
            raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
       pass
  else:
       UpperCAmelCase			:			List[Any]	  = ["""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
  
       UpperCAmelCase			:			Dict	  = _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
  
  
  
  
  
  
  
style_context: 
  
  
  
  
  
  def   _A (	SCREAMING_SNAKE_CASE  :     int		):
  
  
  
  
  
    """simple docstring"""
  
  
  
    if not isinstance(SCREAMING_SNAKE_CASE , SCREAMING_SNAKE_CASE		) or number < 0:
      raise ValueError("Input must be a non-negative integer"		)
  
    a__			:      List[str]            =number & ~(number - 1)
    a__			:      Optional[int]            =0
    while intermediate:
      intermediate >>= 1
      index += 1
    return index - 1
  
  
  if __name__ == "__main__":
       import doctest
  
       doctest.testmod(verbose=True)
  
  
  
  
  
  
  