






'''simple docstring'''
UpperCamelCase__ =			256
# Modulus to hash a string
UpperCamelCase__ =			1000003




def 		__SCREAMING_SNAKE_CASE					(  _UpperCamelCase						,		_UpperCamelCase							):


   """simple docstring"""




   lowercase_	:    Tuple           =     len(_UpperCamelCase							)
   lowercase_	:    Tuple           =     len(_UpperCamelCase							)
   if p_len > t_len:
      return False

   lowercase_	:    str           =     0
   lowercase_	:    List[str]           =     0
   lowercase_	:    Union[str, Any]           =     1

   # Calculating the hash of pattern and substring of text
   for i in range(_UpperCamelCase							):
      lowercase_	:    Dict           =     (ord(pattern[i]							) + p_hash * alphabet_size) % modulus
      lowercase_	:    Union[str, Any]           =     (ord(text[i]							) + text_hash * alphabet_size) % modulus
      if i == p_len - 1:
         continue
      lowercase_	:    Union[str, Any]           =     (modulus_power * alphabet_size) % modulus

   for i in range(0						,		t_len - p_len + 1							):
      if text_hash == p_hash and text[i : i + p_len] == pattern:
         return True
      if i == t_len - p_len:
         continue
      # Calculate the https://en.wikipedia.org/wiki/Rolling_hash
      lowercase_	:    str           =     (
          (text_hash - ord(text[i]							) * modulus_power) * alphabet_size
          + ord(text[i + p_len]							)
      ) % modulus
   return False




def 		__SCREAMING_SNAKE_CASE					(  ):


   """simple docstring"""




   lowercase_	:    int           =     "abc1abc12"
   lowercase_	:    Any           =     "alskfjaldsabc1abc1abc12k23adsfabcabc"
   lowercase_	:    Dict           =     "alskfjaldsk23adsfabcabc"
   assert rabin_karp(_UpperCamelCase						,		_UpperCamelCase							) and not rabin_karp(_UpperCamelCase						,		_UpperCamelCase							)

   # Test 2)
   lowercase_	:    Tuple           =     "ABABX"
   lowercase_	:    Optional[int]           =     "ABABZABABYABABX"
   assert rabin_karp(_UpperCamelCase						,		_UpperCamelCase							)

   # Test 3)
   lowercase_	:    Optional[int]           =     "AAAB"
   lowercase_	:    Any           =     "ABAAAAAB"
   assert rabin_karp(_UpperCamelCase						,		_UpperCamelCase							)

   # Test 4)
   lowercase_	:    Union[str, Any]           =     "abcdabcy"
   lowercase_	:    int           =     "abcxabcdabxabcdabcdabcy"
   assert rabin_karp(_UpperCamelCase						,		_UpperCamelCase							)

   # Test 5)
   lowercase_	:    str           =     "Lü"
   lowercase_	:    Tuple           =     "Lüsai"
   assert rabin_karp(_UpperCamelCase						,		_UpperCamelCase							)
   lowercase_	:    Any           =     "Lue"
   assert not rabin_karp(_UpperCamelCase						,		_UpperCamelCase							)
   print("Success."							)


if __name__ == "__main__":
 test_rabin_karp()












'''simple docstring'''
import argparse
import os

import torch

from transformers import (
    XLNetConfig,
    XLNetForQuestionAnswering,
    XLNetForSequenceClassification,
    XLNetLMHeadModel,
    load_tf_weights_in_xlnet,
)
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


UpperCamelCase__ =			{
    'cola': 2,
    'mnli': 3,
    'mrpc': 2,
    'sst-2': 2,
    'sts-b': 1,
    'qqp': 2,
    'qnli': 2,
    'rte': 2,
    'wnli': 2,
}


logging.set_verbosity_info()




def 		__SCREAMING_SNAKE_CASE					(  _UpperCamelCase						,		_UpperCamelCase						,		_UpperCamelCase						,		_UpperCamelCase=None							):


   """simple docstring"""




   lowercase_	:    Tuple           =     XLNetConfig.from_json_file(_UpperCamelCase							)

   lowercase_	:    Union[str, Any]           =     finetuning_task.lower() if finetuning_task is not None else ""
   if finetuning_task in GLUE_TASKS_NUM_LABELS:
      print(F"""Building PyTorch XLNetForSequenceClassification model from configuration: {config}"""							)
      lowercase_	:    Dict           =     finetuning_task
      lowercase_	:    Any           =     GLUE_TASKS_NUM_LABELS[finetuning_task]
      lowercase_	:    Any           =     XLNetForSequenceClassification(_UpperCamelCase							)
   elif "squad" in finetuning_task:
      lowercase_	:    Optional[int]           =     finetuning_task
      lowercase_	:    Optional[int]           =     XLNetForQuestionAnswering(_UpperCamelCase							)
   else:
      lowercase_	:    Union[str, Any]           =     XLNetLMHeadModel(_UpperCamelCase							)

   # Load weights from tf checkpoint
   load_tf_weights_in_xlnet(_UpperCamelCase						,		_UpperCamelCase						,		_UpperCamelCase							)

   # Save pytorch-model
   lowercase_	:    Optional[Any]           =     os.path.join(_UpperCamelCase						,		_UpperCamelCase							)
   lowercase_	:    Dict           =     os.path.join(_UpperCamelCase						,		_UpperCamelCase							)
   print(F"""Save PyTorch model to {os.path.abspath(_UpperCamelCase							)}"""							)
   torch.save(model.state_dict()						,		_UpperCamelCase							)
   print(F"""Save configuration file to {os.path.abspath(_UpperCamelCase							)}"""							)
   with open(_UpperCamelCase						,		"w"						,		encoding="utf-8"							) as f:
      f.write(config.to_json_string()							)


if __name__ == "__main__":
 UpperCamelCase__ =			argparse.ArgumentParser()
 # Required parameters
 parser.add_argument(
     '--tf_checkpoint_path', default=None, type=str, required=True, help='Path to the TensorFlow checkpoint path.'
 )
 parser.add_argument(
     '--xlnet_config_file',
     default=None,
     type=str,
     required=True,
     help=(
         'The config json file corresponding to the pre-trained XLNet model. \n'
         'This specifies the model architecture.'
     ),
 )
 parser.add_argument(
     '--pytorch_dump_folder_path',
     default=None,
     type=str,
     required=True,
     help='Path to the folder to store the PyTorch model or dataset/vocab.',
 )
 parser.add_argument(
     '--finetuning_task',
     default=None,
     type=str,
     help='Name of a task on which the XLNet TensorFlow model was fine-tuned',
 )
 UpperCamelCase__ =			parser.parse_args()
 print(args)

 convert_xlnet_checkpoint_to_pytorch(
     args.tf_checkpoint_path, args.xlnet_config_file, args.pytorch_dump_folder_path, args.finetuning_task
 )




