
"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


_a	 =							{
    'configuration_big_bird': ['BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP', 'BigBirdConfig', 'BigBirdOnnxConfig'],
}

try:
				if not is_sentencepiece_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_a	 =							['BigBirdTokenizer']

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_a	 =							['BigBirdTokenizerFast']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_a	 =							[
				    'BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'BigBirdForCausalLM',
				    'BigBirdForMaskedLM',
				    'BigBirdForMultipleChoice',
				    'BigBirdForPreTraining',
				    'BigBirdForQuestionAnswering',
				    'BigBirdForSequenceClassification',
				    'BigBirdForTokenClassification',
				    'BigBirdLayer',
				    'BigBirdModel',
				    'BigBirdPreTrainedModel',
				    'load_tf_weights_in_big_bird',
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_a	 =							[
				    'FlaxBigBirdForCausalLM',
				    'FlaxBigBirdForMaskedLM',
				    'FlaxBigBirdForMultipleChoice',
				    'FlaxBigBirdForPreTraining',
				    'FlaxBigBirdForQuestionAnswering',
				    'FlaxBigBirdForSequenceClassification',
				    'FlaxBigBirdForTokenClassification',
				    'FlaxBigBirdModel',
				    'FlaxBigBirdPreTrainedModel',
				]

if TYPE_CHECKING:
				from .configuration_big_bird import BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP, BigBirdConfig, BigBirdOnnxConfig

				try:
								if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_big_bird import BigBirdTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_big_bird_fast import BigBirdTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_big_bird import (
								    BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST,
								    BigBirdForCausalLM,
								    BigBirdForMaskedLM,
								    BigBirdForMultipleChoice,
								    BigBirdForPreTraining,
								    BigBirdForQuestionAnswering,
								    BigBirdForSequenceClassification,
								    BigBirdForTokenClassification,
								    BigBirdLayer,
								    BigBirdModel,
								    BigBirdPreTrainedModel,
								    load_tf_weights_in_big_bird,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_big_bird import (
								    FlaxBigBirdForCausalLM,
								    FlaxBigBirdForMaskedLM,
								    FlaxBigBirdForMultipleChoice,
								    FlaxBigBirdForPreTraining,
								    FlaxBigBirdForQuestionAnswering,
								    FlaxBigBirdForSequenceClassification,
								    FlaxBigBirdForTokenClassification,
								    FlaxBigBirdModel,
								    FlaxBigBirdPreTrainedModel,
								)

else:
				import sys

				_a	 =							_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




"""simple docstring"""





from .hash_table import HashTable


class A_			(lowercase__   ):




  '''simple docstring'''







  def __init__(	self       ,     *lowercase_       ,     **lowercase_						):

     """simple docstring"""
     super().__init__(*lowercase_       ,     **lowercase_						)







  def  UpperCamelCase__      (	self       ,     lowercase_       ,     lowercase_=None						):

     """simple docstring"""
     UpperCAmelCase_      :      Tuple      =					1
     UpperCAmelCase_      :      List[str]      =					self.hash_function(key + i * i						)

     while self.values[new_key] is not None and self.values[new_key] != key:
        i += 1
        UpperCAmelCase_      :      List[Any]      =					(
            self.hash_function(key + i * i						)
            if not self.balanced_factor() >= self.lim_charge
            else None
        )

        if new_key is None:
           break

     return new_key


