




'''simple docstring'''



import argparse

import torch

from transformers import FunnelBaseModel, FunnelConfig, FunnelModel, load_tf_weights_in_funnel
from transformers.utils import logging


logging.set_verbosity_info()







def       _UpperCamelCase			(_lowerCamelCase				:  str ,						_lowerCamelCase				:  Union[str, Any] ,						_lowerCamelCase				:  Union[str, Any] ,						_lowerCamelCase				:  Union[str, Any]						)-> Union[str, Any]:




     '''simple docstring'''





     __snake_case            =	FunnelConfig.from_json_file(_lowerCamelCase						)
     print(f'''Building PyTorch model from configuration: {config}'''						)
     __snake_case            =	FunnelBaseModel(_lowerCamelCase						) if base_model else FunnelModel(_lowerCamelCase						)

     # Load weights from tf checkpoint
     load_tf_weights_in_funnel(_lowerCamelCase ,						_lowerCamelCase ,						_lowerCamelCase						)

     # Save pytorch-model
     print(f'''Save PyTorch model to {pytorch_dump_path}'''						)
     torch.save(model.state_dict() ,						_lowerCamelCase						)


if __name__ == "__main__":
     UpperCAmelCase_							:	int	     =		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(
         '''--config_file''',
         default=None,
         type=str,
         required=True,
         help='''The config json file corresponding to the pre-trained model. \nThis specifies the model architecture.''',
     )
     parser.add_argument(
         '''--pytorch_dump_path''', default=None, type=str, required=True, help='''Path to the output PyTorch model.'''
     )
     parser.add_argument(
         '''--base_model''', action='''store_true''', help='''Whether you want just the base model (no decoder) or not.'''
     )
     UpperCAmelCase_							:	Any	     =		parser.parse_args()
     convert_tf_checkpoint_to_pytorch(
         args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
     )












'''simple docstring'''



def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> int:




     '''simple docstring'''





     if divisor % 5 == 0 or divisor % 2 == 0:
          return 0
     __snake_case            =	1
     __snake_case            =	1
     while repunit:
          __snake_case            =	(10 * repunit + 1) % divisor
          repunit_index += 1
     return repunit_index







def       _UpperCamelCase			(_lowerCamelCase				:  int = 1_00_00_00						)-> int:




     '''simple docstring'''





     __snake_case            =	limit - 1
     if divisor % 2 == 0:
          divisor += 1
     while least_divisible_repunit(_lowerCamelCase						) <= limit:
          divisor += 2
     return divisor


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






