
'''simple docstring'''



def A				(__lowerCamelCase				:str			,     __lowerCamelCase				:str		):
						_lowerCAmelCase  						=			len(__lowerCamelCase		) + 1
						_lowerCAmelCase  						=			len(__lowerCamelCase		) + 1

						# dp is a 2d matrix where dp[i][j] denotes whether prefix string of
						# length i of input_string matches with prefix string of length j of
						# given pattern.
						# "dp" stands for dynamic programming.
						_lowerCAmelCase  						=			[[0 for i in range(__lowerCamelCase		)] for j in range(__lowerCamelCase		)]

						# since string of zero length match pattern of zero length
						_lowerCAmelCase  						=			1

						# since pattern of zero length will never match with string of non-zero length
						for i in range(1			,     __lowerCamelCase		):
												_lowerCAmelCase  						=			0

						# since string of zero length will match with pattern where there
						# is at least one * alternatively
						for j in range(1			,     __lowerCamelCase		):
												_lowerCAmelCase  						=			dp[0][j - 2] if pattern[j - 1] == """*""" else 0

						# now using bottom-up approach to find for all remaining lengths
						for i in range(1			,     __lowerCamelCase		):
												for j in range(1			,     __lowerCamelCase		):
																		if input_string[i - 1] == pattern[j - 1] or pattern[j - 1] == ".":
																								_lowerCAmelCase  						=			dp[i - 1][j - 1]

																		elif pattern[j - 1] == "*":
																								if dp[i][j - 2] == 1:
																														_lowerCAmelCase  						=			1
																								elif pattern[j - 2] in (input_string[i - 1], "."):
																														_lowerCAmelCase  						=			dp[i - 1][j]
																								else:
																														_lowerCAmelCase  						=			0
																		else:
																								_lowerCAmelCase  						=			0

						return bool(dp[-1][-1]		)


if __name__ == "__main__":
						import doctest

						doctest.testmod()
						# inputing the strings
						# input_string = input("input a string :")
						# pattern = input("input a pattern :")

						_lowercase    =		"""aab"""
						_lowercase    =		"""c*a*b"""

						# using function to check whether given string matches the given pattern
						if match_pattern(input_string, pattern):
												print(F"""{input_string} matches the given pattern {pattern}""")
						else:
												print(F"""{input_string} does not match with the given pattern {pattern}""")


'''simple docstring'''



import logging

from transformers import PretrainedConfig


_lowercase    =		logging.getLogger(__name__)


_lowercase    =		{
    """bertabs-finetuned-cnndm""": """https://huggingface.co/remi/bertabs-finetuned-cnndm-extractive-abstractive-summarization/resolve/main/config.json""",
}




class   UpperCAmelCase_					(		_SCREAMING_SNAKE_CASE			):






						'''simple docstring'''






						_lowercase		:				Optional[Any]									=       '''bertabs'''




						def __init__( self   ,       _lowercase=30_522   ,       _lowercase=512   ,       _lowercase=6   ,       _lowercase=512   ,       _lowercase=8   ,       _lowercase=512   ,       _lowercase=0.2   ,       _lowercase=6   ,       _lowercase=768   ,       _lowercase=8   ,       _lowercase=2_048   ,       _lowercase=0.2   ,       **_lowercase   ,       ):

												"""simple docstring"""



												super().__init__(**_lowercase				)

												_lowerCAmelCase  						=			vocab_size
												_lowerCAmelCase  						=			max_pos

												_lowerCAmelCase  						=			enc_layers
												_lowerCAmelCase  						=			enc_hidden_size
												_lowerCAmelCase  						=			enc_heads
												_lowerCAmelCase  						=			enc_ff_size
												_lowerCAmelCase  						=			enc_dropout

												_lowerCAmelCase  						=			dec_layers
												_lowerCAmelCase  						=			dec_hidden_size
												_lowerCAmelCase  						=			dec_heads
												_lowerCAmelCase  						=			dec_ff_size
												_lowerCAmelCase  						=			dec_dropout
