


'''simple docstring'''


from collections import deque

from .hash_table import HashTable



class 	__lowerCAmelCase		(							_A    ):


  '''simple docstring'''







  def __init__(							self :       Union[str, Any]	,*_a :       Dict	,**_a :       int ):

        '''simple docstring'''




        super().__init__(*__lowerCamelCase	,**__lowerCamelCase )






  def        _a							(							self :       List[str]	,_a :       List[str]	,_a :       Union[str, Any] ):

        '''simple docstring'''




        A_						:  Optional[Any]          =				deque([] ) if self.values[key] is None else self.values[key]
        self.values[key].appendleft(__lowerCamelCase )
        A_						:  Dict          =				self.values[key]






  def        _a							(							self :       Any ):

        '''simple docstring'''




        return (
            sum(self.charge_factor - len(__lowerCamelCase ) for slot in self.values )
            / self.size_table
            * self.charge_factor
        )






  def        _a							(							self :       Optional[Any]	,_a :       Any	,_a :       List[Any]=None ):

        '''simple docstring'''




        if not (
            len(self.values[key] ) == self.charge_factor and self.values.count(__lowerCamelCase ) == 0
        ):
              return key
        return super()._collision_resolution(__lowerCamelCase	,__lowerCamelCase )




'''simple docstring'''


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


__magic_name__			=      {
    'configuration_convnext': ['CONVNEXT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ConvNextConfig', 'ConvNextOnnxConfig']
}

try:
     if not is_vision_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __magic_name__			=      ['ConvNextFeatureExtractor']
     __magic_name__			=      ['ConvNextImageProcessor']

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __magic_name__			=      [
         'CONVNEXT_PRETRAINED_MODEL_ARCHIVE_LIST',
         'ConvNextForImageClassification',
         'ConvNextModel',
         'ConvNextPreTrainedModel',
         'ConvNextBackbone',
     ]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __magic_name__			=      [
         'TFConvNextForImageClassification',
         'TFConvNextModel',
         'TFConvNextPreTrainedModel',
     ]

if TYPE_CHECKING:
     from .configuration_convnext import CONVNEXT_PRETRAINED_CONFIG_ARCHIVE_MAP, ConvNextConfig, ConvNextOnnxConfig

     try:
          if not is_vision_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .feature_extraction_convnext import ConvNextFeatureExtractor
          from .image_processing_convnext import ConvNextImageProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_convnext import (
              CONVNEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
              ConvNextBackbone,
              ConvNextForImageClassification,
              ConvNextModel,
              ConvNextPreTrainedModel,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_convnext import TFConvNextForImageClassification, TFConvNextModel, TFConvNextPreTrainedModel


else:
     import sys

     __magic_name__			=      _LazyModule(__name__, globals()['__file__'], _import_structure)
