



"""simple docstring"""

import json
from typing import List, Optional, Tuple

from tokenizers import normalizers

from ...tokenization_utils_fast import PreTrainedTokenizerFast
from ...utils import logging
from .tokenization_squeezebert import SqueezeBertTokenizer


lowercase__    :  List[str]							    =	logging.get_logger(__name__)

lowercase__    :  str							    =	{'''vocab_file''': '''vocab.txt''', '''tokenizer_file''': '''tokenizer.json'''}

lowercase__    :  Union[str, Any]							    =	{
    '''vocab_file''': {
        '''squeezebert/squeezebert-uncased''': (
            '''https://huggingface.co/squeezebert/squeezebert-uncased/resolve/main/vocab.txt'''
        ),
        '''squeezebert/squeezebert-mnli''': '''https://huggingface.co/squeezebert/squeezebert-mnli/resolve/main/vocab.txt''',
        '''squeezebert/squeezebert-mnli-headless''': (
            '''https://huggingface.co/squeezebert/squeezebert-mnli-headless/resolve/main/vocab.txt'''
        ),
    },
    '''tokenizer_file''': {
        '''squeezebert/squeezebert-uncased''': (
            '''https://huggingface.co/squeezebert/squeezebert-uncased/resolve/main/tokenizer.json'''
        ),
        '''squeezebert/squeezebert-mnli''': (
            '''https://huggingface.co/squeezebert/squeezebert-mnli/resolve/main/tokenizer.json'''
        ),
        '''squeezebert/squeezebert-mnli-headless''': (
            '''https://huggingface.co/squeezebert/squeezebert-mnli-headless/resolve/main/tokenizer.json'''
        ),
    },
}

lowercase__    :  int							    =	{
    '''squeezebert/squeezebert-uncased''': 5_12,
    '''squeezebert/squeezebert-mnli''': 5_12,
    '''squeezebert/squeezebert-mnli-headless''': 5_12,
}


lowercase__    :  Tuple							    =	{
    '''squeezebert/squeezebert-uncased''': {'''do_lower_case''': True},
    '''squeezebert/squeezebert-mnli''': {'''do_lower_case''': True},
    '''squeezebert/squeezebert-mnli-headless''': {'''do_lower_case''': True},
}




class        _UpperCAmelCase       (			lowerCAmelCase__):
 _lowerCAmelCase   :			Optional[Any]							=		VOCAB_FILES_NAMES
 _lowerCAmelCase   :			Dict							=		PRETRAINED_VOCAB_FILES_MAP
 _lowerCAmelCase   :			Union[str, Any]							=		PRETRAINED_INIT_CONFIGURATION
 _lowerCAmelCase   :			str							=		PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
 _lowerCAmelCase   :			str							=		SqueezeBertTokenizer

 def __init__(     self		:       str  ,     lowercase_		:       List[Any]=None  ,     lowercase_		:       Optional[Any]=None  ,     lowercase_		:       int=True  ,     lowercase_		:       Union[str, Any]="[UNK]"  ,     lowercase_		:       Optional[int]="[SEP]"  ,     lowercase_		:       Any="[PAD]"  ,     lowercase_		:       Any="[CLS]"  ,     lowercase_		:       Dict="[MASK]"  ,     lowercase_		:       List[str]=True  ,     lowercase_		:       str=None  ,     **lowercase_		:       Any  ,     ):
     super().__init__(
         lowercase_  ,     tokenizer_file=lowercase_  ,     do_lower_case=lowercase_  ,     unk_token=lowercase_  ,     sep_token=lowercase_  ,     pad_token=lowercase_  ,     cls_token=lowercase_  ,     mask_token=lowercase_  ,     tokenize_chinese_chars=lowercase_  ,     strip_accents=lowercase_  ,     **lowercase_  ,     )

     snake_case_ :     int				=	json.loads(self.backend_tokenizer.normalizer.__getstate__()				)
     if (
         normalizer_state.get('''lowercase'''  ,     lowercase_				) != do_lower_case
         or normalizer_state.get('''strip_accents'''  ,     lowercase_				) != strip_accents
         or normalizer_state.get('''handle_chinese_chars'''  ,     lowercase_				) != tokenize_chinese_chars
     ):
         snake_case_ :     Optional[int]				=	getattr(lowercase_  ,     normalizer_state.pop('''type'''				)				)
         snake_case_ :     List[Any]				=	do_lower_case
         snake_case_ :     Any				=	strip_accents
         snake_case_ :     Union[str, Any]				=	tokenize_chinese_chars
         snake_case_ :     str				=	normalizer_class(**lowercase_				)

     snake_case_ :     str				=	do_lower_case

 def 						_snake_case					(     self		:       List[str]  ,     lowercase_		:       Tuple  ,     lowercase_		:       Dict=None				):
     snake_case_ :     List[str]				=	[self.cls_token_id] + token_ids_a + [self.sep_token_id]

     if token_ids_a:
         output += token_ids_a + [self.sep_token_id]

     return output

 def 						_snake_case					(     self		:       Dict  ,     lowercase_		:       List[int]  ,     lowercase_		:       Optional[List[int]] = None				):
     snake_case_ :     Optional[int]				=	[self.sep_token_id]
     snake_case_ :     Union[str, Any]				=	[self.cls_token_id]
     if token_ids_a is None:
         return len(cls + token_ids_a + sep				) * [0]
     return len(cls + token_ids_a + sep				) * [0] + len(token_ids_a + sep				) * [1]






 def 						_snake_case					(     self		:       str  ,     lowercase_		:       str  ,     lowercase_		:       Optional[str] = None				):
     snake_case_ :     List[str]				=	self._tokenizer.model.save(lowercase_  ,     name=lowercase_				)
     return tuple(lowercase_				)










"""simple docstring"""

import sys

lowercase__    :  Dict							    =	(
    '''73167176531330624919225119674426574742355349194934'''
    '''96983520312774506326239578318016984801869478851843'''
    '''85861560789112949495459501737958331952853208805511'''
    '''12540698747158523863050715693290963295227443043557'''
    '''66896648950445244523161731856403098711121722383113'''
    '''62229893423380308135336276614282806444486645238749'''
    '''30358907296290491560440772390713810515859307960866'''
    '''70172427121883998797908792274921901699720888093776'''
    '''65727333001053367881220235421809751254540594752243'''
    '''52584907711670556013604839586446706324415722155397'''
    '''53697817977846174064955149290862569321978468622482'''
    '''83972241375657056057490261407972968652414535100474'''
    '''82166370484403199890008895243450658541227588666881'''
    '''16427171479924442928230863465674813919123162824586'''
    '''17866458359124566529476545682848912883142607690042'''
    '''24219022671055626321111109370544217506941658960408'''
    '''07198403850962455444362981230987879927244284909188'''
    '''84580156166097919133875499200524063689912560717606'''
    '''05886116467109405077541002256983155200055935729725'''
    '''71636269561882670428252483600823257530420752963450'''
)




def __lowercase			(							_a    ):
    snake_case_ :     List[Any]				=	1
    for digit in s:
        product *= int(_a    )
    return product




def __lowercase			(							_a = N    ):
    snake_case_ :     Optional[int]				=	-sys.maxsize - 1
    snake_case_ :     str				=	n[:13]
    snake_case_ :     List[Any]				=	13
    while cur_index < len(_a    ) - 13:
        if int(n[cur_index]    ) >= int(substr[0]    ):
            snake_case_ :     int				=	substr[1:] + n[cur_index]
            cur_index += 1
        else:
            snake_case_ :     Optional[Any]				=	max(_a		,			str_eval(_a    )    )
            snake_case_ :     Any				=	n[cur_index : cur_index + 13]
            cur_index += 13
    return largest_product


if __name__ == "__main__":
     print(f'{solution() = }')





