

'''simple docstring'''

import unittest

from transformers import DebertaVaTokenizer, DebertaVaTokenizerFast
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


a  :     Dict    			=					get_tests_dir("fixtures/spiece.model")







@require_sentencepiece
@require_tokenizers
class     UpperCamelCase__       (  UpperCamelCase__				,				unittest.TestCase  ):


		"""simple docstring"""

		SCREAMING_SNAKE_CASE__    :      Dict  =				DebertaVaTokenizer
		SCREAMING_SNAKE_CASE__    :      Dict  =				DebertaVaTokenizerFast
		SCREAMING_SNAKE_CASE__    :      Optional[Any]  =				True
		SCREAMING_SNAKE_CASE__    :      Dict  =				True







		def  A_			(					self     ):


							'''simple docstring'''

							super().setUp()

							# We have a SentencePiece fixture for testing
							UpperCAmelCase						:				Dict     =  DebertaVaTokenizer(snake_case       ,     unk_token="<unk>"     )
							tokenizer.save_pretrained(self.tmpdirname     )







		def  A_			(					self       ,     snake_case     ):


							'''simple docstring'''

							UpperCAmelCase						:				Any     =  "this is a test"
							UpperCAmelCase						:				Dict     =  "this is a test"
							return input_text, output_text







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Any     =  "<pad>"
							UpperCAmelCase						:				List[Any]     =  0

							self.assertEqual(self.get_tokenizer()._convert_token_to_id(snake_case     )       ,     snake_case     )
							self.assertEqual(self.get_tokenizer()._convert_id_to_token(snake_case     )       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				List[Any]     =  list(self.get_tokenizer().get_vocab().keys()     )
							self.assertEqual(vocab_keys[0]       ,     "<pad>"     )
							self.assertEqual(vocab_keys[1]       ,     "<unk>"     )
							self.assertEqual(vocab_keys[-1]       ,     "[PAD]"     )
							self.assertEqual(len(snake_case     )       ,     3_0_0_0_1     )







		def  A_			(					self     ):


							'''simple docstring'''

							self.assertEqual(self.get_tokenizer().vocab_size       ,     3_0_0_0_0     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Tuple     =  " \tHeLLo!how  \n Are yoU?  "
							UpperCAmelCase						:				Union[str, Any]     =  ["▁hello", "!", "how", "▁are", "▁you", "?"]
							# fmt: on

							UpperCAmelCase						:				List[Any]     =  DebertaVaTokenizer(snake_case       ,     do_lower_case=snake_case     )
							UpperCAmelCase						:				Any     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				str     =  DebertaVaTokenizerFast(snake_case       ,     do_lower_case=snake_case     )
							UpperCAmelCase						:				int     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )







		@unittest.skip("There is an inconsistency between slow and fast tokenizer due to a bug in the fast one."     )
		def  A_			(					self     ):


							'''simple docstring'''

							pass







		@unittest.skip("There is an inconsistency between slow and fast tokenizer due to a bug in the fast one."     )
		def  A_			(					self     ):


							'''simple docstring'''

							pass







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				str     =  "I was born in 92000, and this is falsé."
							UpperCAmelCase						:				Tuple     =  ["▁", "<unk>", "▁was", "▁born", "▁in", "▁9", "2000", "▁", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", "▁", ".", ]
							# fmt: on

							UpperCAmelCase						:				Union[str, Any]     =  DebertaVaTokenizer(snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				List[Any]     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				Tuple     =  DebertaVaTokenizerFast(snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				Dict     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Optional[int]     =  "I was born in 92000, and this is falsé."
							UpperCAmelCase						:				List[str]     =  ["▁i", "▁was", "▁born", "▁in", "▁9", "2000", "▁", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", "▁", ".", ]
							# fmt: on

							UpperCAmelCase						:				Any     =  DebertaVaTokenizer(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				Optional[int]     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )
							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				Tuple     =  DebertaVaTokenizerFast(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				List[Any]     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )
							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Optional[int]     =  "I was born in 92000, and this is falsé."
							UpperCAmelCase						:				Optional[Any]     =  ["▁i", "▁was", "▁born", "▁in", "▁9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", ".", ]
							# fmt: on

							UpperCAmelCase						:				Optional[Any]     =  DebertaVaTokenizer(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				Dict     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				Union[str, Any]     =  DebertaVaTokenizerFast(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				List[str]     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Union[str, Any]     =  "I was born in 92000, and this is falsé."
							UpperCAmelCase						:				Any     =  ["▁", "<unk>", "▁was", "▁born", "▁in", "▁9", "2000", "▁", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", "▁", ".", ]
							# fmt: on

							UpperCAmelCase						:				Optional[Any]     =  DebertaVaTokenizer(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				str     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				Optional[int]     =  DebertaVaTokenizerFast(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				Optional[int]     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Optional[Any]     =  " \tHeLLo!how  \n Are yoU?  "
							UpperCAmelCase						:				str     =  ["▁", "<unk>", "e", "<unk>", "o", "!", "how", "▁", "<unk>", "re", "▁yo", "<unk>", "?"]
							# fmt: on

							UpperCAmelCase						:				Optional[Any]     =  DebertaVaTokenizer(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				str     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				Dict     =  DebertaVaTokenizerFast(snake_case       ,     do_lower_case=snake_case       ,     split_by_punct=snake_case     )
							UpperCAmelCase						:				List[str]     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )

							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				int     =  self.get_tokenizer()
							UpperCAmelCase						:				int     =  self.get_rust_tokenizer()

							UpperCAmelCase						:				List[Any]     =  "I was born in 92000, and this is falsé."

							UpperCAmelCase						:				Any     =  tokenizer.convert_ids_to_tokens(tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )
							UpperCAmelCase						:				Union[str, Any]     =  rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )     )
							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				List[str]     =  tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )
							UpperCAmelCase						:				Any     =  rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				List[str]     =  self.get_rust_tokenizer()
							UpperCAmelCase						:				Dict     =  tokenizer.encode(snake_case     )
							UpperCAmelCase						:				Dict     =  rust_tokenizer.encode(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Optional[Any]     =  "This is a test"
							UpperCAmelCase						:				Optional[Any]     =  [1_3, 1, 4_3_9_8, 2_5, 2_1, 1_2_8_9]
							UpperCAmelCase						:				Tuple     =  ["▁", "T", "his", "▁is", "▁a", "▁test"]
							UpperCAmelCase						:				int     =  ["▁", "<unk>", "his", "▁is", "▁a", "▁test"]

							UpperCAmelCase						:				Union[str, Any]     =  DebertaVaTokenizer(snake_case       ,     keep_accents=snake_case     )
							UpperCAmelCase						:				int     =  DebertaVaTokenizerFast(snake_case       ,     keep_accents=snake_case     )

							UpperCAmelCase						:				Optional[int]     =  tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				Tuple     =  tokenizer.tokenize(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				List[Any]     =  tokenizer.convert_ids_to_tokens(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				Tuple     =  rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				List[str]     =  rust_tokenizer.tokenize(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				Dict     =  rust_tokenizer.convert_ids_to_tokens(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )

							# fmt: off
							UpperCAmelCase						:				List[Any]     =  "I was born in 92000, and this is falsé."
							UpperCAmelCase						:				Union[str, Any]     =  [1_3, 1, 2_3, 3_8_6, 1_9, 5_6_1, 3_0_5_0, 1_5, 1_7, 4_8, 2_5, 8_2_5_6, 1_8, 1, 9]
							UpperCAmelCase						:				Dict     =  ["▁", "I", "▁was", "▁born", "▁in", "▁9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "é", ".", ]
							UpperCAmelCase						:				List[str]     =  ["▁", "<unk>", "▁was", "▁born", "▁in", "▁9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", ".", ]
							# fmt: on

							UpperCAmelCase						:				List[str]     =  tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				int     =  tokenizer.tokenize(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				Dict     =  tokenizer.convert_ids_to_tokens(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )

							UpperCAmelCase						:				List[str]     =  rust_tokenizer.encode(snake_case       ,     add_special_tokens=snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				Any     =  rust_tokenizer.tokenize(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )
							UpperCAmelCase						:				int     =  rust_tokenizer.convert_ids_to_tokens(snake_case     )
							self.assertListEqual(snake_case       ,     snake_case     )







		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				List[str]     =  DebertaVaTokenizer(snake_case     )

							UpperCAmelCase						:				Optional[Any]     =  tokenizer.encode("sequence builders"     )
							UpperCAmelCase						:				Optional[int]     =  tokenizer.encode("multi-sequence build"     )

							UpperCAmelCase						:				str     =  tokenizer.build_inputs_with_special_tokens(snake_case     )
							UpperCAmelCase						:				Optional[Any]     =  tokenizer.build_inputs_with_special_tokens(snake_case       ,     snake_case     )

							self.assertEqual([tokenizer.cls_token_id] + text + [tokenizer.sep_token_id]       ,     snake_case     )
							self.assertEqual(
							    [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + text_a + [tokenizer.sep_token_id]       ,     snake_case       ,     )







		@slow
		def  A_			(					self     ):


							'''simple docstring'''

							UpperCAmelCase						:				Optional[int]     =  {"input_ids": [[1, 3_9_8_6_7, 3_6, 1_9_3_9_0, 4_8_6, 2_7, 3_5_0_5_2, 8_1_4_3_6, 1_8, 6_0_6_8_5, 1_2_2_5, 7, 3_5_0_5_2, 8_1_4_3_6, 1_8, 9_3_6_7, 1_6_8_9_9, 1_8, 1_5_9_3_7, 5_3, 5_9_4, 7_7_3, 1_8, 1_6_2_8_7, 3_0_4_6_5, 3_6, 1_5_9_3_7, 6, 4_1_1_3_9, 3_8, 3_6_9_7_9, 6_0_7_6_3, 1_9_1, 6, 3_4_1_3_2, 9_9, 6, 5_0_5_3_8, 3_9_0, 4_3_2_3_0, 6, 3_4_1_3_2, 2_7_7_9, 2_0_8_5_0, 1_4, 6_9_9, 1_0_7_2, 1_1_9_4, 3_6, 3_8_2, 1_0_9_0_1, 5_3, 7, 6_9_9, 1_0_7_2, 2_0_8_4, 3_6, 2_0_4_2_2, 6_3_0, 5_3, 1_9, 1_0_5, 3_0_4_9, 1_8_9_6, 1_0_5_3, 1_6_8_9_9, 1_5_0_6, 1_1, 3_7_9_7_8, 4_2_4_3, 7, 1_2_3_7, 3_1_8_6_9, 2_0_0, 1_6_5_6_6, 6_5_4, 6, 3_5_0_5_2, 8_1_4_3_6, 7, 5_5_6_3_0, 1_3_5_9_3, 4, 2], [1, 2_6, 1_5_0_1_1, 1_3, 6_6_7, 8, 1_0_5_3, 1_8, 2_3_6_1_1, 1_2_3_7, 7_2_3_5_6, 1_2_8_2_0, 3_4, 1_0_4_1_3_4, 1_2_0_9, 3_5, 1_3_3_1_3, 6_6_2_7, 2_1, 2_0_2, 3_4_7, 7, 1_6_4, 2_3_9_9, 1_1, 4_6, 4_4_8_5, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 5, 1_2_3_2, 2_8_6_4, 1_5_7_8_5, 1_4_9_5_1, 1_0_5, 5, 8_5_8_1, 1_2_5_0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], "token_type_ids": [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], "attention_mask": [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}  # noqa: E501
							# fmt: on

							self.tokenizer_integration_test_util(
							    expected_encoding=snake_case       ,     model_name="microsoft/deberta-v2-xlarge"       ,     revision="ad6e42c1532ddf3a15c39246b63f5559d558b670"       ,     )


'''simple docstring'''
import re






def      UpperCamelCase_				(      A__						):
	a_      				=						re.compile(r"""^(\+91[\-\s]?)?[0]?(91)?[789]\d{9}$"""						)
	if match := re.search(A__  ,      A__						):
		return match.string == phone
	return False


if __name__ == "__main__":
		print(indian_phone_validator('+918827897895'))
