





import argparse

import torch

from transformers import BertConfig, BertForPreTraining, load_tf_weights_in_bert
from transformers.utils import logging


logging.set_verbosity_info()







def       UpperCAmelCase							(     _lowerCamelCase      :  Tuple			,   _lowerCamelCase      :  Union[str, Any]			,   _lowerCamelCase      :  Any     ):





						'''simple docstring'''


						SCREAMING_SNAKE_CASE__     :				List[str]   =					BertConfig.from_json_file(_lowerCamelCase     )
						print(f"""Building PyTorch model from configuration: {config}"""     )
						SCREAMING_SNAKE_CASE__     :				List[Any]   =					BertForPreTraining(_lowerCamelCase     )

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

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


if __name__ == "__main__":
				__lowercase       :str       =  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(
				    "--bert_config_file",
				    default=None,
				    type=str,
				    required=True,
				    help=(
				        "The config json file corresponding to the pre-trained BERT model. \n"
				        "This specifies the model architecture."
				    ),
				)
				parser.add_argument(
				    "--pytorch_dump_path", default=None, type=str, required=True, help="Path to the output PyTorch model."
				)
				__lowercase       :Optional[int]       =  parser.parse_args()
				convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.bert_config_file, args.pytorch_dump_path)






from __future__ import annotations

from fractions import Fraction







def       UpperCAmelCase							(     _lowerCamelCase      :  int			,   _lowerCamelCase      :  int     ):





						'''simple docstring'''


						return (
						    num != den and num % 10 == den // 10 and (num // 10) / (den % 10) == num / den
						)







def       UpperCAmelCase							(     _lowerCamelCase      :  int     ):





						'''simple docstring'''


						SCREAMING_SNAKE_CASE__     :				int   =					[]
						SCREAMING_SNAKE_CASE__     :				str   =					11
						SCREAMING_SNAKE_CASE__     :				Any   =					int("1" + "0" * digit_len     )
						for num in range(_lowerCamelCase			,   _lowerCamelCase     ):
												while den <= 99:
																		if (num != den) and (num % 10 == den // 10) and (den % 10 != 0):
																								if is_digit_cancelling(_lowerCamelCase			,   _lowerCamelCase     ):
																														solutions.append(f"""{num}/{den}"""     )
																		den += 1
												num += 1
												SCREAMING_SNAKE_CASE__     :				str   =					10
						return solutions







def       UpperCAmelCase							(     _lowerCamelCase      :  int = 2     ):





						'''simple docstring'''


						SCREAMING_SNAKE_CASE__     :				Optional[int]   =					1.0
						for fraction in fraction_list(_lowerCamelCase     ):
												SCREAMING_SNAKE_CASE__     :				Any   =					Fraction(_lowerCamelCase     )
												result *= frac.denominator / frac.numerator
						return int(_lowerCamelCase     )


if __name__ == "__main__":
				print(solution())