





from .hash_table import HashTable
from .number_theory.prime_numbers import is_prime, next_prime







class     lowerCamelCase(	__snake_case  ):
					'''simple docstring'''


					def __init__(						self							,    *snake_case_							,    **snake_case_       ):
									super().__init__(*snake_case_							,    **snake_case_       )




					def 					lowerCAmelCase__		(						self							,    snake_case_							,    snake_case_       ):
									_A    =       (
									    next_prime(value % self.size_table       )
									    if not is_prime(value % self.size_table       )
									    else value % self.size_table
									)  # gt = bigger than
									return next_prime_gt - (data % next_prime_gt)




					def 					lowerCAmelCase__		(						self							,    snake_case_							,    snake_case_							,    snake_case_       ):
									return (increment * self.__hash_function_a(snake_case_							,    snake_case_       )) % self.size_table




					def 					lowerCAmelCase__		(						self							,    snake_case_							,    snake_case_=None       ):
									_A    =       1
									_A    =       self.hash_function(snake_case_       )

									while self.values[new_key] is not None and self.values[new_key] != key:
													_A    =       (
													    self.__hash_double_function(snake_case_							,    snake_case_							,    snake_case_       )
													    if self.balanced_factor() >= self.lim_charge
													    else None
													)
													if new_key is None:
																	break
													else:
																	i += 1

									return new_key












from ..utils import DummyObject, requires_backends


__A       : str						    = None





def 							__lowerCAmelCase(					*_SCREAMING_SNAKE_CASE       ,    **_SCREAMING_SNAKE_CASE							)       ->   Tuple:




    """simple docstring"""




    requires_backends(_SCREAMING_SNAKE_CASE       ,    ['sentencepiece', 'tokenizers']							)





