


import unittest

from transformers import (
    MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
    TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
    SummarizationPipeline,
    TFPreTrainedModel,
    pipeline,
)
from transformers.testing_utils import get_gpu_count, is_pipeline_test, require_tf, require_torch, slow, torch_device
from transformers.tokenization_utils import TruncationStrategy

from .test_pipelines_common import ANY


lowerCAmelCase__						:int         =							-1 if torch_device == '''cpu''' else 0

@is_pipeline_test
class 	__a   (       unittest.TestCase    ):
		_a			:						str    			=			MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING
		_a			:						Dict    			=			TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING
		def 			UpperCAmelCase__       (    self    ,					_SCREAMING_SNAKE_CASE    ,					_SCREAMING_SNAKE_CASE    ,					_SCREAMING_SNAKE_CASE		)				-> Any:




									"""simple docstring"""





									_UpperCAmelCase					=    SummarizationPipeline(model=_SCREAMING_SNAKE_CASE    ,					tokenizer=_SCREAMING_SNAKE_CASE		)
									return summarizer, ["(CNN)The Palestinian Authority officially became", "Some other text"]
		def 			UpperCAmelCase__       (    self    ,					_SCREAMING_SNAKE_CASE    ,					_SCREAMING_SNAKE_CASE		)				-> Union[str, Any]:




									"""simple docstring"""





									_UpperCAmelCase					=    summarizer.model

									_UpperCAmelCase					=    summarizer('(CNN)The Palestinian Authority officially became'		)
									self.assertEqual(_SCREAMING_SNAKE_CASE    ,					[{'summary_text': ANY(_SCREAMING_SNAKE_CASE		)}]		)

									_UpperCAmelCase					=    summarizer(
									    '(CNN)The Palestinian Authority officially became '    ,					num_beams=2    ,					min_length=2    ,					max_length=5    ,					)
									self.assertEqual(_SCREAMING_SNAKE_CASE    ,					[{'summary_text': ANY(_SCREAMING_SNAKE_CASE		)}]		)

									# Some models (Switch Transformers, LED, T5, LongT5, etc) can handle long sequences.
									_UpperCAmelCase					=    [
									    'SwitchTransformersConfig',
									    'T5Config',
									    'LongT5Config',
									    'LEDConfig',
									    'PegasusXConfig',
									    'FSMTConfig',
									    'M2M100Config',
									    'ProphetNetConfig',  # positional embeddings up to a fixed maximum size (otherwise clamping the values)
									]
									if model.config.__class__.__name__ not in model_can_handle_longer_seq:
																# Too long and exception is expected.
																# For TF models, if the weights are initialized in GPU context, we won't get expected index error from
																# the embedding layer.
																if not (
																    isinstance(_SCREAMING_SNAKE_CASE    ,					_SCREAMING_SNAKE_CASE		)
																    and get_gpu_count() > 0
																    and len(summarizer.model.trainable_weights		) > 0
																):
																							with self.assertRaises(_SCREAMING_SNAKE_CASE		):
																														_UpperCAmelCase					=    summarizer('This ' * 1000		)
									_UpperCAmelCase					=    summarizer('This ' * 1000    ,					truncation=TruncationStrategy.ONLY_FIRST		)
		@require_torch
		def 			UpperCAmelCase__       (    self		)				-> List[str]:




									"""simple docstring"""





									_UpperCAmelCase					=    pipeline(task='summarization'    ,					model='sshleifer/tiny-mbart'    ,					framework='pt'		)
									_UpperCAmelCase					=    summarizer('This is a small test'		)
									self.assertEqual(
									    _SCREAMING_SNAKE_CASE    ,					[
									        {
									            'summary_text': 'เข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไป'
									        }
									    ]    ,					)
		@require_tf
		def 			UpperCAmelCase__       (    self		)				-> Dict:




									"""simple docstring"""





									_UpperCAmelCase					=    pipeline(task='summarization'    ,					model='sshleifer/tiny-mbart'    ,					framework='tf'		)
									_UpperCAmelCase					=    summarizer('This is a small test'		)
									self.assertEqual(
									    _SCREAMING_SNAKE_CASE    ,					[
									        {
									            'summary_text': 'เข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไปเข้าไป'
									        }
									    ]    ,					)






		@require_torch
		@slow
		def 			UpperCAmelCase__       (    self		)				-> int:




									"""simple docstring"""





									_UpperCAmelCase					=    pipeline(task='summarization'    ,					device=_SCREAMING_SNAKE_CASE		)
									_UpperCAmelCase					=    (
									    ' (CNN)The Palestinian Authority officially became the 123rd member of the International Criminal Court on'
									    ' Wednesday, a step that gives the court jurisdiction over alleged crimes in Palestinian territories. The'
									    ' formal accession was marked with a ceremony at The Hague, in the Netherlands, where the court is based.'
									    ' The Palestinians signed the ICC\'s founding Rome Statute in January, when they also accepted its'
									    ' jurisdiction over alleged crimes committed "in the occupied Palestinian territory, including East'
									    ' Jerusalem, since June 13, 2014." Later that month, the ICC opened a preliminary examination into the'
									    ' situation in Palestinian territories, paving the way for possible war crimes investigations against'
									    ' Israelis. As members of the court, Palestinians may be subject to counter-charges as well. Israel and'
									    ' the United States, neither of which is an ICC member, opposed the Palestinians\' efforts to join the'
									    ' body. But Palestinian Foreign Minister Riad al-Malki, speaking at Wednesday\'s ceremony, said it was a'
									    ' move toward greater justice. "As Palestine formally becomes a State Party to the Rome Statute today, the'
									    ' world is also a step closer to ending a long era of impunity and injustice," he said, according to an'
									    ' ICC news release. "Indeed, today brings us closer to our shared goals of justice and peace." Judge'
									    ' Kuniko Ozaki, a vice president of the ICC, said acceding to the treaty was just the first step for the'
									    ' Palestinians. "As the Rome Statute today enters into force for the State of Palestine, Palestine'
									    ' acquires all the rights as well as responsibilities that come with being a State Party to the Statute.'
									    ' These are substantive commitments, which cannot be taken lightly," she said. Rights group Human Rights'
									    ' Watch welcomed the development. "Governments seeking to penalize Palestine for joining the ICC should'
									    ' immediately end their pressure, and countries that support universal acceptance of the court\'s treaty'
									    ' should speak out to welcome its membership," said Balkees Jarrah, international justice counsel for the'
									    ' group. \"What\'s objectionable is the attempts to undermine international justice, not Palestine\'s'
									    ' decision to join a treaty to which over 100 countries around the world are members." In January, when'
									    ' the preliminary ICC examination was opened, Israeli Prime Minister Benjamin Netanyahu described it as an'
									    ' outrage, saying the court was overstepping its boundaries. The United States also said it "strongly"'
									    ' disagreed with the court\'s decision. \"As we have said repeatedly, we do not believe that Palestine is a'
									    ' state and therefore we do not believe that it is eligible to join the ICC," the State Department said in'
									    ' a statement. It urged the warring sides to resolve their differences through direct negotiations. "We'
									    ' will continue to oppose actions against Israel at the ICC as counterproductive to the cause of peace,"'
									    ' it said. But the ICC begs to differ with the definition of a state for its purposes and refers to the'
									    ' territories as "Palestine." While a preliminary examination is not a formal investigation, it allows the'
									    ' court to review evidence and determine whether to investigate suspects on both sides. Prosecutor Fatou'
									    ' Bensouda said her office would "conduct its analysis in full independence and impartiality." The war'
									    ' between Israel and Hamas militants in Gaza last summer left more than 2,000 people dead. The inquiry'
									    ' will include alleged war crimes committed since June. The International Criminal Court was set up in'
									    ' 2002 to prosecute genocide, crimes against humanity and war crimes. CNN\'s Vasco Cotovio, Kareem Khadder'
									    ' and Faith Karimi contributed to this report.'
									)
									_UpperCAmelCase					=    (
									    ' The Palestinian Authority becomes the 123rd member of the International Criminal Court . The move gives'
									    ' the court jurisdiction over alleged crimes in Palestinian territories . Israel and the United States'
									    ' opposed the Palestinians\' efforts to join the court . Rights group Human Rights Watch welcomes the move,'
									    ' says governments seeking to penalize Palestine should end pressure .'
									)
									_UpperCAmelCase					=    summarizer(_SCREAMING_SNAKE_CASE		)
									self.assertEqual(result[0]['summary_text']    ,					_SCREAMING_SNAKE_CASE		)




from __future__ import annotations

def  lowerCAmelCase__				(    a__:	list[int]    ,						a__:	int )						->	list[int]:


							'''simple docstring'''





							_UpperCAmelCase					=    {}
							for index, val in enumerate(a__ ):
														_UpperCAmelCase					=    target - val
														if compl in chk_map:
																					return [chk_map[compl], index]
														_UpperCAmelCase					=    index
							return []


if __name__ == "__main__":
		import doctest

		doctest.testmod()
		print(f'''{two_sum([2, 7, 1_1, 1_5], 9) = }''')
