403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_argparse.cpython-313.opt-2.pyc
�

��i����v�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKJr SSKJr SSKJr SSKJrJr SSKJr "SS\R.5r"S	S
\R25r"SS\R25r\R6"S
S\55r"SS\5r"SS\5r"SS\ 5r!Sr""SS\RF5r$"SS\%5r&\4r'\&"S\'05r("SS\(5r)"SS\(5r*"SS \(5r+"S!S"\(5r,"S#S$\(5r-"S%S&\(5r."S'S(\(5r/"S)S*\(5r0"S+S,\(5r1"S-S.\(5r2"S/S0\(5r3"S1S2\(5r4"S3S4\(5r5"S5S6\(5r6"S7S8\(5r7"S9S:\(5r8"S;S<\(5r9"S=S>\(5r:"S?S@\(5r;"SASB\(5r<"SCSD\(5r="SESF\(5r>"SGSH\(5r?"SISJ\(5r@"SKSL\(5rA"SMSN\(5rB"SOSP\(5rC"SQSR\(5rD"SSST\(5rE"SUSV\(5rF"SWSX\(5rG"SYSZ\(5rH"S[S\\(5rI"S]S^\(5rJ"S_S`\(5rK"SaSb\(5rL"ScSd\(5rM"SeSf\(5rN"SgSh\(5rO"SiSj\(5rP"SkSl\(5rQ"SmSn\(5rR"SoSp\5rS"SqSr\(5rT"SsSt\(5rU"SuSv\(5rV"SwSx\(5rW"SySz\(5rX"S{S|\(5rY"S}S~\(5rZ"SS�\(5r["S�S�\(5r\"S�S�\(5r]"S�S�\(5r^"S�S�\(5r_"S�S�\(5r`"S�S�\(5ra"S�S�\(5rb"S�S�\(5rc"S�S�\(5rd"S�S�\(5re"S�S�\(5rf"S�S�\(5rg"S�S�\(5rh"S�S�\(5ri"S�S�\(5rj"S�S�\(5rk"S�S�\(5rl"S�S�\(5rm"S�S�\(5rn"S�S�\(5ro"S�S�\(5rp"S�S�\(5rq"S�S�\(5rr"S�S�\(5rs"S�S�\(5rt"S�S�\(5ru"S�S�\(5rv"S�S�\(5rw"S�S�\(5rx"S�S�\(5ry"S�S�\(5rz"S�S�\(5r{"S�S�\(5r|"S�S�\(5r}"S�S�\(5r~"S�S�\(5r"S�S�\(5r�"S�S�\(5r�"S�S�\\(5r�"S�S�\\(5r�"S�S�\5r�\"5r�\"5r�"S�S�5r�\�"S�5r�\�"S�5r�\�"S�5r�\�"S�5r�\�"S�5r�\�"S�5r�"S�S�\5r�"S�S�\\(5r�"S�S�\\(5r�"S�S�\\(5r�"S�S�\5r�\GR&"S�S�\\(55r�\GR&"S�S�\\(55r�\GR&"S�S�\\(55r�\GR&"S�S�\�55r�"S�S�\5r�"S�S�\5r�"S�S�\(5r�"S�S�\(5r�"S�S�\(5r�"S�S�\5r�"S�S�\(5r�"S�S�\5r�"S�S�\(5r�"S�GS\5r�"GSGS\5r�"GSGS\5r�"GSGS\5r�"GSGS\5r�"GS	GS
\5r�"GSGS\�\5r�"GS
GS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS\�\5r�"GSGS \�\5r�"GS!GS"\�\5r�"GS#GS$\5r�"GS%GS&\�\�5r�"GS'GS(\�\�5r�"GS)GS*\�\�5r�"GS+GS,\�\�5r�"GS-GS.\�\�5r�"GS/GS0\�\�5r�"GS1GS2\�\�5r�"GS3GS4\�\�5r�"GS5GS6\5r�"GS7GS8\5r�"GS9GS:\5r�"GS;GS<\%5r�\4r'\�"GS=\'05r�"GS>GS?\�5r�"GS@GSA\�5r�"GSBGSC\�5r�"GSDGSE\�5r�"GSFGSG\�5r�"GSHGSI\�5r�"GSJGSK\�5r�"GSLGSM\�5r�"GSNGSO\�5r�"GSPGSQ\�5r�"GSRGSS\�5r�"GSTGSU\�5r�"GSVGSW\�5r�"GSXGSY\�5r�"GSZGS[\�5r�"GS\GS]\�5r�"GS^GS_\�5r�"GS`GSa\�5r�"GSbGSc\�5r�"GSdGSe\5r�"GSfGSg\�5r�"GShGSi\�5r�"GSjGSk\�5r�"GSlGSm\�5r�"GSnGSo\�5r�"GSpGSq\�5r�"GSrGSs\�5r�"GStGSu\�5r�"GSvGSw\�5r�"GSxGSy\�5r�"GSzGS{\�5r�"GS|GS}\�5r�"GS~GS\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\�5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5r�"GS�GS�\5Gr"GS�GS�\5GrGS�GrG\GS�:Xa]G\"\GR
5GS�:�a1\GR
GS�GS�:Xa\"\5 \GR"S5 \GR"5 gg(��N)�StrEnum)�captured_stderr)�	os_helper)�TestTranslationsBase�update_translation_snapshots)�mockc�2^�\rSrSrSU4SjjrSrSrU=r$)�StdIOBuffer�c�>�URS5n[TU]	[R"[R
"U55SUS9 g)N�utf-8)�newline)�encode�super�__init__�io�BufferedWriter�BytesIO)�self�
initial_valuer�	__class__s   ��'C:\Python313\\Lib\test\test_argparse.pyr�StdIOBuffer.__init__!s@���%�,�,�W�5�
�
����*�*�2�:�:�m�+D�E� �'�	�	3�c��UR5 URRR5R	S5$)Nr
)�flush�buffer�raw�getvalue�decode�rs rr�StdIOBuffer.getvalue&s-���
�
���{�{���'�'�)�0�0��9�9r�)��
)�__name__�
__module__�__qualname__�__firstlineno__rr�__static_attributes__�
__classcell__�rs@rr
r
s���3�
:�:rr
c� �\rSrSrSrSrSrg)�
StdStreamTest�+c��[R"5n[R"S5 [R
"S5 UR
SSS9 SSS5 SSS5 g!,(df   N=f!,(df   g=f)N�argparse._sys.exitr�foo)�status�message)�argparse�ArgumentParser�
contextlib�redirect_stderrr�patch�exit�r�parsers  r�test_skip_invalid_stderr�&StdStreamTest.test_skip_invalid_stderr-sX���(�(�*���&�&�t�,��J�J�+�,��K�K�q�%�K�0�
-�
-�,�,�,��
-�,�s#�A6�A%�A6�%
A3	�/A6�6
Bc��[R"5nURUR[R
"URS/54H�nURUS9 [R"S5 [5n[R"U5 [R"S5 U"5 URUR5S5 SSS5 SSS5 SSS5 SSS5 SSS5 M� g!,(df   N3=f!,(df   N<=f!,(df   NE=f!,(df   NN=f!,(df   GM=f)N�-h)�funcr1zusage:)r5r6�print_usage�
print_help�	functools�partial�
parse_args�subTestr7�redirect_stdoutr
r8rr9�assertRegexr)rr<rA�
mocked_stderrs    r�test_skip_invalid_stdout�&StdStreamTest.test_skip_invalid_stdout5s����(�(�*�����������f�/�/�$��8�
�D����$��'��*�*�4�0��
���*�*�=�9��
�
�/�0���� � ��!7�!7�!9�9�E�1�:��1�(�'�

�1�0��:�9���
��1�0��(�'�sl�!E
�8D9�D(	�D�1(D
�D�!D(	�)D9�1E
�
D�D�
D%�!D(	�(
D6
�2D9�9
E�E
�

E	r#N)r&r'r(r)r=rKr*r#rrr.r.+s
��1�Frr.c��\rSrSrSrSrg)�TestCase�Hc�V�UR[R"55nSUS'g)N�80�COLUMNS)�enterContextr�EnvironmentVarGuard�r�envs  r�setUp�TestCase.setUpJs&�����	� =� =� ?�@����I�rr#N)r&r'r(r)rWr*r#rrrNrNHs��rrNc�,�\rSrSrSrSrSrSrSrg)�TempDirMixin�Rc��[R"5Ul[R"5Ul[R"UR5 g�N)�tempfile�mkdtemp�temp_dir�os�getcwd�old_dir�chdirr!s rrW�TempDirMixin.setUpUs/�� �(�(�*��
��y�y�{���
������rc��[R"UR5 [R"URSS9H\upnUHPn[R
"[RRURU5[R5 MR M^ [R"URS5 g)NF)�topdownT)rardrc�walkr`�chmod�path�join�stat�S_IWRITE�shutil�rmtree)r�root�dirs�files�names     r�tearDown�TempDirMixin.tearDownZst��
�������!#�������!F��D������������d�m�m�T�:�D�M�M�J��"G�	�
�
�d�m�m�T�*rc���[RRURU5n[	USSS9nURU5 SSS5 U$!,(df   U$=f)N�wr
��encoding)rarjrkr`�open�write)r�filename�	file_path�files    r�create_writable_file�!TempDirMixin.create_writable_fileasN���G�G�L�L�����9�	�
�)�S�7�
3�t��J�J�x� �4���4�
3���s�A�
A!c�l�[R"URU5[R5 gr])rarirrl�S_IREAD)rr|s  r�create_readonly_file�!TempDirMixin.create_readonly_filegs��
����*�*�8�4�d�l�l�Cr)rcr`N)	r&r'r(r)rWrtrr�r*r#rrrZrZRs�� �
+��DrrZc��\rSrSrSrSrg)�Sig�jc��XlX lgr]��args�kwargs�rr�r�s   rr�Sig.__init__ls���	��rr�N�r&r'r(r)rr*r#rrr�r�js��rr�c�&�\rSrSrSrSrSrSrg)�NS�qc�:�URRU5 gr])�__dict__�update)rr�s  rr�NS.__init__ss���
�
���V�$rc���[URR55nSRUVs/sHnSU-PM
 sn5n[	U5R
<SU<S3$s snf)Nz, z%s=%r�(�))�sortedr��itemsrk�typer&)r�sorted_items�tup�	kwarg_strs    r�__repr__�NS.__repr__vsU���d�m�m�1�1�3�4���I�I��E���w��}��E�F�	���:�.�.�	�:�:��Fs�A&c�0�[U5[U5:H$r])�vars�r�others  r�__eq__�	NS.__eq__{s���D�z�T�%�[�(�(rr#N)r&r'r(r)rr�r�r*r#rrr�r�qs��%�;�
)rr�c��\rSrSrSSjrSrg)�ArgumentParserError�Nc�`�[RXX#5 XlX lX0lX@lgr])�	Exceptionrr4�stdout�stderr�
error_code)rr4r�r�r�s     rr�ArgumentParserError.__init__�s&�����4�&�9�������$�r)r�r4r�r�)NNNr�r#rrr�r�s��%rr�c
�,�[[R[5(d#[[R[5(aU"U0UD6$[Rn[Rn[5[l[5[lU"U0UD6n[[
U55H�n[XV5nU[RLa[XVU5 M/U[RRLa[XV[US[55 MiU[RLa[XVU5 M�U[RRLdM�[XV[US[55 M� UU[lU[l$![a[nURn	[RR5n
[RR5n[SX�U	5SeSnAff=f!U[lU[lf=f)Nr�
SystemExit)�
isinstance�sysr�r
r��listr��getattr�setattrr�BIN_STDOUT_SENTINEL�BIN_STDERR_SENTINELr��coderr�)rFr�r��
old_stdout�
old_stderr�result�key�attr�er�r�r�s            r�stderr_to_parser_errorr��s����#�*�*�k�*�*�j����[�.Q�.Q��4�*�6�*�*����J����J���C�J���C�J� �	>���0��0�F��D��L�)���v�+���3�:�:�%��F��4��S�Z�Z�.�.�.��F���X�GZ�)[�\��S�Z�Z�'��F��4��S�Z�Z�.�.�.��F���X�GZ�)[�\�*�� ��
���
���	>��6�6�D��Z�Z�(�(�*�F��Z�Z�(�(�*�F�%��f�d�4�9=�
>��		>�� ��
���
�s,�CF� F�
G8�AG3�3G8�8G;�;Hc�@^�\rSrSrU4SjrU4SjrU4SjrSrU=r$)�ErrorRaisingArgumentParser�c�>>�[[U]
n[U/UQ70UD6$r])rr�rFr�)rr�r�rFrs    �rrF�%ErrorRaisingArgumentParser.parse_args�s%����5�t�G�
�%�j�B�4�B�6�B�Brc�>>�[[U]
n[U/UQ70UD6$r])rr�r:r�)rr�r�r:rs    �rr:�ErrorRaisingArgumentParser.exit�s%����/��;��%�d�<�T�<�V�<�<rc�>>�[[U]
n[U/UQ70UD6$r])rr��errorr�)rr�r�r�rs    �rr�� ErrorRaisingArgumentParser.error�s%����0�$�=��%�e�=�d�=�f�=�=rr#)	r&r'r(r)rFr:r�r*r+r,s@rr�r��s���C�=�>�>rr�c��\rSrSrSrSrg)�ParserTesterMetaclass�c��US:Xag[US5(d[5Ul[US5(d[UlSnSnSnSnSn"S	S
[
5n	XEU4Hn
Xx4HnU	"X
U5 M M g)N�ParserTestCase�parser_signature�parser_classc�b�UH)nUR"UR0URD6 M+ gr])�add_argumentr�r�)r<�argument_signatures�sigs   r�	no_groups�1ParserTesterMetaclass.__init__.<locals>.no_groups�s'��*���#�#�S�X�X�<����<�+rc��URS5nUH)nUR"UR0URD6 M+ g)Nr2)�add_argument_groupr�r�r�)r<r��groupr�s    r�	one_group�1ParserTesterMetaclass.__init__.<locals>.one_group�s7���-�-�e�4�E�*���"�"�C�H�H�;��
�
�;�+rc��[U5H?up#URSU-5nUR"UR0URD6 MA g)Nzfoo:%i)�	enumerater�r�r�r�)r<r��ir�r�s     r�many_groups�3ParserTesterMetaclass.__init__.<locals>.many_groups�sC��#�$7�8����1�1�(�Q�,�?���"�"�C�H�H�;��
�
�;�9rc�$�URU5$r])rF)r<r�s  r�listargs�0ParserTesterMetaclass.__init__.<locals>.listargs�s���$�$�T�*�*rc��[RnUS/U-[lUR5U[l$!U[lf=f)Nr)r��argvrF)r<r��old_sys_argvs   r�sysargs�/ParserTesterMetaclass.__init__.<locals>.sysargs�s>���8�8�L�$�Q��(�4�/�C�H�
(��(�(�*�'����<���s	�?�
Ac�,�\rSrSrSrSrSrSrSrg)�0ParserTesterMetaclass.__init__.<locals>.AddTests�c�F�X lX0lURRnURRnURUR4H=nURnXtU4nSRU5n	U4Sjn
X�l[XU
5 M? g![a Nf=f)N�_c��U"U5 gr]r#�r�	test_funcs  r�wrapper�JParserTesterMetaclass.__init__.<locals>.AddTests.__init__.<locals>.wrapper�	��!�$�r)�_add_arguments�_parse_argsr&�
test_failures�test_successesrk�	TypeErrorr�)r�
tester_cls�
add_argumentsrF�add_arguments_name�parse_args_namer��	func_name�names�	test_namer�s           rr�9ParserTesterMetaclass.__init__.<locals>.AddTests.__init__s���&3�#�#-� �%)�%8�%8�%A�%A�"�"&�"2�"2�";�";��"&�"4�"4�d�6I�6I�!J�I� )� 2� 2�I�%�?�J�E� #�����I�09�(��+4�(��J�7�;�"K��%����s�<B�
B �B c��URRnURRnUR"U0UD6nUR	XAR
5 U$r])r�r�r�r�r�r�)r�testerr�r�r<s     r�_get_parser�<ParserTesterMetaclass.__init__.<locals>.AddTests._get_parsersR���.�.�3�3���0�0�7�7���,�,�d�=�f�=���#�#�F�,F�,F�G��
rc�>�URU5nURHYnUR5nURUS9 UR	[
US9 UR
U5 SSS5 SSS5 M[ g!,(df   N=f!,(df   M~=f)N�r�)�msg)r�failures�splitrG�assertRaisesr�rF)rrr<�args_strr�s     rr��>ParserTesterMetaclass.__init__.<locals>.AddTests.test_failuress}���)�)�&�1�� &���H�#�>�>�+�D����T��2�#�0�0�1D�$�0�O�"�-�-�d�3�P�3�2�!0�P�O��3�2�s$�B
�A<�'B
�<
B
�B
�
B	c�2�URU5nURHdup4[U[5(aUR	5nURUS9 UR
X#5nURXE5 SSS5 Mf g!,(df   Mx=f)Nr)r�	successesr��strr
rGr��assertEqual)rrr<r��expected_ns�	result_nss      rr��?ParserTesterMetaclass.__init__.<locals>.AddTests.test_successes"sz���)�)�&�1��)/�)9�)9�%�D�!�$��,�,�#�z�z�|�����T��2�$(�$4�$4�V�$B�	��*�*�;�B�3�2�*:�3�2�s�#B�
B	)r�r�N)	r&r'r(r)rrr�r�r*r#rr�AddTestsr��s��
<�&
�
4�
Crr)�hasattrr�r�r�r��object)�clsrs�bases�bodydictr�r�r�r�r�rr�rFs            rr�ParserTesterMetaclass.__init__�s����#�#���s�.�/�/�#&�5�C� ��s�N�+�+�9�C��
	=�
	<�	<�	+�	(�+	C�v�+	C�^(�K�@�M�'�1�
���Z�8�2�Arr#Nr�r#rrr�r��s�� a9rr�r�c	�x�\rSrSr\"S5/r/SQrS\"SS94S\"SS94S	\"SS94S
\"SS94S\"SS94/rS
r	g)�TestOptionalsSingleDashi8�-x)r�a�--foo�-x --fooz-x -yr$N��x�-x ar�-xaz-x -1�-1z-x-1r#�
r&r'r(r)r�r�r	r�rr*r#rrrr8sX���t�9�+��8�H�	�R�$�Z��	��c���	��S�	��	�"�t�*��	��d����Irrc�$�\rSrSr\"SSS9\"SSSS9\"S	5/r/S
QrS\"SS
S
S94S\"SS
S
S94S\"SS
SS94S\"SS
SS94S\"SS
SS94S\"SS
SS94S\"SS
SS94S\"SS
SS94S\"SSS
S94S\"SSS
S94S\"SSSS94S\"SSSS94/rSr	g
)�TestOptionalsSingleDashCombinediFr�
store_true��actionz-yyy�store_const�*�r,�const�-z)rr r%r!z-x -zz-z -xz-yxz-yz az-yyyxz-yyyzaz-xyzaz-x=r$FN)r#�yyy�zT�-zar�-z az-xzaz-xz az-x -zaz-x -z a�-yz-x -yyy -zaz-x -yyy -z ar#r'r#rrr)r)Fs��	�D��&��F�=��3��D�	���
C�H�
�R�%�T�T�
*�+�	
�r�D�d�d�+�,�	��U���,�-�	��e���-�.�	��d���,�-�	�"�t���-�.�	�2��$�#�.�/�	�B��4�3�/�0�	
�r�E�r�T�*�+�	��e��t�,�-�	��T�r�S�1�2�	��d��c�2�3�
�Irr)c	�x�\rSrSr\"S5/r/SQrS\"SS94S\"SS94S	\"S
S94S\"SS94S\"SS94/rS
r	g)�TestOptionalsSingleDashLongi`�-foo)r9rr z
-foo --fooz-foo -y�-fooar$N�r2z-foo arz-foo -1r&z-fo a�-f ar#r'r#rrr8r8`sX���v�;�-��G�H�	�R�D�\��	�2�#�;��	�B�4�L�!�	�"��+��	������Irr8c
���\rSrSr\"S5\"S5\"S5/r/SQrS\"SSSS94S	\"S
SSS94S\"S
SSS94S\"S
SSS94S\"SSSS94S\"SS
SS94S\"SSS
S94/rSr	g)�&TestOptionalsSingleDashSubsetAmbiguousin�-f�-foobar�-foorab)r?r9�-fo�-foo bz-foobz-foobaz-foorar$N)�f�foobar�foorabr<r�-fa�-foa�oar:�ooa�	-foobar a�	-foorab ar#r'r#rrr>r>ns����t�9�c�)�n�c�)�n�E��K�H�	�R�$�t�D�
1�2�	��c�$�t�4�5�	��S��d�3�4�	��d�4��5�6�	�"�u�T�$�7�8�	�b�4��D�9�:�	�b�4��S�9�:��Irr>c��\rSrSr\"S5\"S5/r/SQrS\"SSS94S\"S	SS94S
\"S	SS94S\"SS	S94S\"SS	S94S
\"S	SS94S\"S	SS94S\"SS	S94S\"SS	S94S\"S	SS94S\"S	SS94S\"SS	S94S\"SS	S94/
rSr	g)� TestOptionalsSingleDashAmbiguousi~r@rA)	r?r<rGrHr9rBrCz-f=az-foo=br$N)rErFz-foob arz-foob=az-foor az-foor=az-fooba az-fooba=az-foora az-foora=arKz	-foobar=arLz	-foorab=ar#r'r#rrrNrN~s����y�>�3�y�>�:��"�H�
�R�t�D�
)�*�	�B�c�$�/�0�	�B�c�$�/�0�	�B�d�3�/�0�	�B�d�3�/�0�	�R�s�4�0�1�	�R�s�4�0�1�	�R�t�C�0�1�	�R�t�C�0�1�	�b��D�1�2�	�b��D�1�2�	�b��S�1�2�	�b��S�1�2��IrrNc�h�\rSrSr\"SSS9/r/SQrS\"SS94S	\"S
S94S\"S
S94S\"S
S94/rSr	g)�TestOptionalsNumerici�r&�one��dest)r&rz-1 --fooz-1 -yz-1 -1z-1 -2r$N)rQz-1 arz-1az-1-2�-2r#r'r#rrrPrP�sP���t�%�0�1��A�H�	�R�D�\��	�����	��s���	�����	�IrrPc	�x�\rSrSr\"S5/r/SQrS\"SS94S\"SS94S	\"SS94S
\"SS94S\"SS94/rS
r	g)�TestOptionalsDoubleDashi�r )r r?r<rz--foo -xz--foo --barr$Nr;z--foo arz--foo=az
--foo -2.5z-2.5z
--foo=-2.5r#r'r#rrrVrV�sX���w�<�.��F�H�	�R�D�\��	�B�3�K� �	�B�3�K� �	�r�f�~�&�	�r�f�~�&��IrrVc��\rSrSr\"SSS9\"S5/r/SQrS\"SS	S
94S\"SSS
94S
\"SS	S
94S\"SS	S
94S\"SS	S
94S\"SS	S
94/rSr	g	)�#TestOptionalsDoubleDashPartialMatchi��--badgerr*r+z--bat)�--bar�--b�--ba�--b=2z--ba=4�	--badge 5r$FN)�badger�batz--bat X�X�--badT�--badg�--badger#r'r#rrrXrX�s���	�J�|�,��G����H�H�	�R�u�$�
'�(�	�B�e��-�.�	�"�D�d�+�,�	�2�T�t�,�-�	�B�d��-�.�	�R�t��.�/�
�IrrXc��\rSrSr\"SSS9\"S5/r/SQrS\"SS	S
94S\"SSS
94S
\"SSS
94S\"SS	S
94S\"SS	S
94S\"SS	S
94S\"SS	S
94/rSr	g	)�"TestOptionalsDoubleDashPrefixMatchi�rYr*r+r\)rZr[r\r]r^r$FN)r_�baz--ba Xraz--ba=XrbTrcrdr#r'r#rrrfrf�s���	�J�|�,��F����>�H�	�R�u��
&�'�	�2�U�s�+�,�	�2�U�s�+�,�	�"�D�T�*�+�	�2�T�d�+�,�	�B�d�t�,�-�	�R�t��-�.��Irrfc��\rSrSr\"SSS9\"S5\"SSSS	9/r/S
QrS\"SS
S
S94S\"SS
S
S94S\"SSS
S94S\"SSS
S94S\"SS
SS94S\"SS
SS94/rSr	g
)�TestOptionalsSingleDoubleDashi�r?r*r+rZ�-bazr-r.r/)rZ�-fbarz-fbazz-bazf�-b B�Br$FN�rD�bar�bazTz--ba Brmz
-f --bar Bz-f -bz-ba -fr#r'r#rrriri�s���	�D��&��G���F�=��3���
A�H�	�R�%�T�t�
,�-�	
�r�D�d��-�.�	�2��3�D�1�2�	�r�D�c�t�4�5�	�"�t��2�.�/�	�2��$�B�/�0�
�Irric���\rSrSr\"SSS9r\"SSS9\"S5\"S	S
SS9/r/S
QrS\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94/r	Sr
g)�!TestOptionalsAlternatePrefixCharsi��+:/F��prefix_chars�add_help�+fr*r+�::bar�/bazr-r.r/)rZrkrlrmr?�--bar Brjr@�--helpz+hz::helpz/helpr$NrnT�::ba Brm�
+f ::bar B�+f /b�/ba +fr#�r&r'r(r)r�r�r�r	r�rr*r#rrrrrr�s������>���D��&��G���F�=��3���
q�H�	�R�%�T�t�
,�-�	
�r�D�d��-�.�	�2��3�D�1�2�	�r�D�c�t�4�5�	�"�t��2�.�/�	�2��$�B�/�0�
�Irrrc���\rSrSr\"SSS9r\"SSS9\"S5\"S	S
SS9/r/S
QrS\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94/r	Sr
g)�*TestOptionalsAlternatePrefixCharsAddedHelpi�rsTrtrwr*r+rxryr-r.r/)rZrkrlrmr?rzrjr$FNrnr|rmr}r~rr#r�r#rrr�r��s���
���=���D��&��G���F�=��3���
H�H�	�R�%�T�t�
,�-�	
�r�D�d��-�.�	�2��3�D�1�2�	�r�D�c�t�4�5�	�"�t��2�.�/�	�2��$�B�/�0�
�Irr�c
��\rSrSr\"SSS9r\"SSS9\"SSS9\"S	SS9/r/S
QrS\"SSSS94S\"S
SSS94S\"S
S
SS94S\"S
S
S
S94/r	Sr
g)�2TestOptionalsAlternatePrefixCharsMultipleShortArgsiz+-Frtrr*r+z+yz+z)�-wz-xyzz+xr6z+xyzr$�r#�yr3Tz+y -xz+yz -xr#Nr�r#rrr�r�s�����u�=���D��&��D��&��D��&���
�H�
�R�%�5�E�
*�+�	
�r�D�E�U�+�,�	�"�t�t�u�-�.�	�2����-�.�	�Irr�c	�|�\rSrSr\"SSSSSS9/r/SQrS	\"S
S94S\"SS94S\"SS94S\"SS94S\"SS94/rS
r	g)�TestOptionalsShortLongi)�-v�	--verbose�-nz--noisyr*r+)z
--x --verbosez-Nrz-v xr$F)�verboseTr#Nr'r#rrr�r�)sk��	�D�+�t�Y�|�D���4�H�	�R��
��	
�r�$�� �	�b��&�'�	
�r�$�� �	�B�t�$�%��Irr�c	�|�\rSrSr\"S5\"SSS9/rS/rS\"SS	S
94S\"S	SS
94S
\"SSS
94S\"SSS
94/rSr	g	)�TestOptionalsDesti9z	--foo-bar�--baz�zabbazrRrz--foo-bar frDN)�foo_barr�z--baz g�gz--foo-bar h --baz i�hr�z--baz j --foo-bar k�k�jr#r'r#rrr�r�9se���{�+�S��x�-H�I���u�H�	��3�t�4�5�	�B�t�C�0�1�	��3�s� ;�<�	��3�s� ;�<�	�Irr�c�l�\rSrSr\"S5\"SSS9/rS/rS\"SSS	94S
\"SSS	94S\"SS
S	94/rSr	g)�TestOptionalsDefaultiFrr6r.��defaultrr$N�r#r�z-xxr#z-yyr�r#r'r#rrr�r�FsT���t�9�c�$��&;�<���u�H�	�R�$�"�
��	��S�B�� �	��T�S�!�"��Irr�c�N�\rSrSr\"S5/rSS/rS\"SS94S\"SS94/rSr	g)	�TestOptionalsNargsDefaultiRrrr$Nr"r$r#r'r#rrr�r�Rs8���t�9�+���T�{�H�	�R�$�Z��	��c����Irr�c�N�\rSrSr\"SSS9/rSS/rS\"SS94S	\"S/S94/rS
r	g)�TestOptionalsNargs1i]r���nargsrr$Nr"r$r#r'r#rrr�r�]s>���t�1�-�.���T�{�H�	�R�$�Z��	��s�e����Irr�c�P�\rSrSr\"SSS9/r/SQrS\"SS94S	\"/S
QS94/rSr	g)�TestOptionalsNargs3ihr�r�)rrr$�-x a b�a -x�a -x br$Nr"z-x a b c�r�b�cr#r'r#rrr�r�hs9���t�1�-�.��>�H�	�R�$�Z��	�R�/�*�+��Irr�c��\rSrSr\"SSS9\"SSSS9\"SSS	S
9\"SS\SS
S9/rS/rS\"SSS	SS94S\"SSS	SS94S\"SSS	SS94S\"SSS	SS94S\"SSS	SS94S\"SSSSS94S\"SSSSS94S\"SSS	SS94S\"SSS	SS94/	r	Sr
g)�TestOptionalsNargsOptionalisr��?r�rr.)r�r0r6�spam�r�r�r1�42�84)r�r�r0r��2r$N�T�rwr#r�r3z-w 2z-x 2z-y 2z-z 2�r#�r&r'r(r)r��intr�r	r�rr*r#rrr�r�ss���	�D����D��2�&��D��V�,��D��#�T�4�@�	���u�H�	�R�$�$�&�B�
/�0�	
�r�D�D�F�b�1�2�	��c�T�V�r�2�3�	
�r�D�B�&�B�/�0�	��d�c�V�r�2�3�	
�r�D�D�D�B�/�0�	��d�d�c�R�0�1�	
�r�D�D�F�b�1�2�	��d�d�f��2�3�
�Irr�c��\rSrSr\"SSS9\"SSSS9/rS/rS	\"S
SS94S\"/SS94S\"S/SS94S
\"SS/SS94S\"S
/S94S\"S
S/S94S\"S
SS/S94/rSr	g
)�TestOptionalsNargsZeroOrMorei�r�*r�r6r�r�rr$Nr�r$r�r��-y a�-y a br#r'r#rrr�r��s���	�D����D��V�,����u�H�	�R�$�&�
!�"�	
�r�B�&�!�"�	��s�e�v�&�'�	�2��c�
�f�-�.�	
�r�D�B�� �	��d�s�e�$�%�	�2���c�
�+�,��Irr�c
��\rSrSr\"SSS9\"SSSS9/r/SQrS	\"S
SS94S\"S
/SS94S\"S
S/SS94S\"S
S
/S94S\"S
S
S/S94/rSr	g
)�TestOptionalsNargsOneOrMorei�r�+r�r6r�r�)rrr6r�za -y br$Nr�r$rr�r�r�r�r#r'r#rrr�r��s���	�D����D��V�,���3�H�	�R�$�&�
!�"�	��s�e�v�&�'�	�2��c�
�f�-�.�	��d�s�e�$�%�	�2���c�
�+�,��Irr�c��\rSrSr\"SSS9\"S\\"S5S9/r/SQrS	\	"S
S
S94S\	"S
S
S94S\	"SS
S94S\	"S
SS94S\	"S
SS94S\	"SSS94/r
Srg
)�TestOptionalsChoicesi�r?�abc��choicesz-g��r�r�)rz-f dz-f abz-fadz-gaz-g 6r$N)rDr�r<rz-f cr�z-g 0rz-g 03r�z-fb -g4r��r#�r&r'r(r)r�r��ranger�r	r�rr*r#rrr�r��s���	�D�%� ��D�s�E�!�H�-�/��=�H�	�R�$�$�
� �	��c�T�"�#�	��c�T�"�#�	��d�a��!�	�"�t�q�/�"�	�B���N�#�
�Irr�c�N�\rSrSr\"S\SS9/rSS/rS\"SS	94S
\"SS	94/r	Sr
g
)�TestOptionalsRequiredi�rT�r��requiredrr$�-x 1r�r"z-x42r.r#Nr�r#rrr�r��sB��	�D�s�T�*����R�y�H�	��a���	��b����Irr�c�L�\rSrSr\"SSS9/rSS/rS\"SS	94S
\"SS	94/rSr	g)
�TestOptionalsActionStorei�r�storer+rr�r$Nr"z-xfoor2r#r'r#rrr�r��s<���t�G�4�5���V�}�H�	�R�$�Z��	�"�u�+���Irr�c�L�\rSrSr\"SS\S9/rS/rS\"SS94S\"\S94/r	S	r
g)
�TestOptionalsActionStoreConsti�r6r-r/rr$N�r�r#)r&r'r(r)r�rr�r	r�rr*r#rrr�r��s<���t�M��H�I���u�H�	�R�$�Z��	
�r�F�|���Irr�c�L�\rSrSr\"SSS9/r/SQrS\"SS94S\"S	S94/rS
r	g)�TestOptionalsActionStoreFalsei�r1�store_falser+)rr4r5r$T)r3Fr#Nr'r#rrr�r��s8���t�M�:�;��#�H�	�R�$�Z��	
�r�E�{���Irr�c�L�\rSrSr\"SSS9/r/SQrS\"SS94S\"S	S94/rS
r	g)�TestOptionalsActionStoreTruei�z--appler*r+)rz	--apple=bz	--apple br$F)�appleTr#Nr'r#rrr�r��s8���y��>�?��.�H�	�R�e�_��	�B�T�N�#��Irr�c	��\rSrSr\"S\RS9/rSS/rS\	"SS94S\	"S	S94S
\	"SS94S\	"SS94S
\	"S	S94/r
SrSrSr
g)�TestBooleanOptionalActioni�r r+�	--foo bar�	--foo=barr$Nr;T�--no-fooFz--foo --no-fooz--no-foo --fooc��[R"5nUR[5nUR	SS[R
S9 SSS5 UR
S[WR55 g!,(df   N4=f)Nr T�r0r,z*got an unexpected keyword argument 'const')	r5r6rr�r��BooleanOptionalAction�assertInr�	exception�rr<�cms   r�
test_const�$TestBooleanOptionalAction.test_constsc���(�(�*��
�
�
�y�
)�R�����t�H�<Z�<Z��[�*�	
�
�
�B�C����DU�V�*�
)�s� A9�9
Bc���[R"5nUR[5 UR	S[R
SS9 SSS5 UR[5 UR	S[R
[S9 SSS5 UR[5 UR	S[R
SS9 SSS5 UR[5 UR	S[R
SS9 SSS5 UR[5 UR	S[R
SS	9 SSS5 UR[5 UR	S
[R
SS	9 SSS5 g!,(df   GNE=f!,(df   GN=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)N�-a)r,r��-b�-c)r,�metavar�-d�d�-e)r,r�r?r#)r5r6�assertWarns�DeprecationWarningr�r��boolr;s  r�test_deprecated_init_kw�1TestBooleanOptionalAction.test_deprecated_init_kws����(�(�*��
�
�
�0�
1������5�5��
 �
�2��
�
�0�
1������5�5��
 �
�2��
�
�0�
1������5�5��
 �
�2��
�
�0�
1������5�5��
 �
�2��
�
�0�
1������5�5��
 �
�2��
�
�0�
1������5�5��
 �
�2�
1�A2�
1��2�
1��2�
1��2�
1��2�
1��2�
1�sG� F	�($F�) F-�& F>�# G�  G �	
F�
F*�-
F;�>
G�
G� 
G.r#)r&r'r(r)r�r5r�r�r	r�rr�r�r*r#rrr�r��sr���w�x�/M�/M�N�O���[�)�H�	�R�D�\��	�"��,��	�R�E�]�#�	�2�%�=�)�	�2�$�<�(��I�W�)rr�c�`�\rSrSr\"SS\RS9/rS/rS\	"SS94S\	"SS94/r
S	rg
)�!TestBooleanOptionalActionRequiredi7r T)r�r,r$r;r�Fr#N)r&r'r(r)r�r5r�r�r	r�rr*r#rrr�r�7sF��	�G�d�8�+I�+I�J����t�H�	�"��,��	�R�E�]�#��Irr�c�`�\rSrSr\"SSS9/r/SQrS\"SS94S	\"S
/S94S\"S
S/S94/rS
r	g)�TestOptionalsActionAppendiCr��appendr+�rr��a --baz�	--baz a br$N�rp�--baz ar�--baz a --baz br�r#r'r#rrr�r�CsK���w�x�8�9��5�H�	�R�D�\��	�B�C�5�M�"�	�B�C��:�.�/��Irr�c�h�\rSrSr\"SSS/S9/r/SQrS\"S/S94S	\"SS
/S94S\"/SQS94/rS
r	g)�$TestOptionalsActionAppendWithDefaultiOr�r�ra�r,r�r�r$r�rrr)rarr�r#Nr'r#rrrrOsP���w�x�#��G�H��5�H�	�R�S�E�]��	�B�C��:�&�'�	�B�?�3�4��Irrc��\rSrSr\"SSS9\"SSS9\"SSS9\"SSS9/r/S	QrS
\"SSSSS94S\"S/SSSS94S\"SS/SSS94S\"SSSSS94S\"SSSSS94/rS
r	g)�!TestConstActionsMissingConstKwargi[r?�append_constr+r r�r-rZ)z-f vr�r�r$N)rDr2r�ror#r'r#rrrr[s���	�D��(��G�N�+��D��'��G�M�*�	��2�H�	�R�$�D�D�d�
3�4�	
�r�T�F���$�7�8�	�"�t�$��4�T�:�;�	
�r�D�d�d��5�6�	�"�t���4�8�9��Irrc	�t�\rSrSr\"SS\S9\"SSSS9/r/S	QrS
\"SS94S\"\/S94S
\"\S\S/S94/r	Sr
g)�TestOptionalsActionAppendConstinr�rr/r�r�r��r,rS�rr�za -cz-bxz-b xr$N�r��-b -cx -b -cyzr#�yzr#�r&r'r(r)r�r�r�r	r�rr*r#rrr	r	nsc��	�D��y�9��D���,���2�H�	�R�$�Z��	
�r�Y�K� �!�	�2��C��D� A�B�C��Irr	c
�~�\rSrSr\"SS\S/S9\"SSSS	9/r/S
QrS\"S/S94S\"S\/S94S
\"S\S\S/S94/r	Sr
g)�)TestOptionalsActionAppendConstWithDefaulti}r�rra)r,r0r�r�r�r�r
rr$rr
r#rr#Nrr#rrrr}sn��	�D��y�3�%�H��D���,���2�H�	�R�3�%�[��	
�r�S�)�$�%�&�	�2��i��i�� F�G�H��Irrc�L�\rSrSr\"SSS9/r/SQrS\"SS94S\"S	S94/rS
r	g)�TestOptionalsActionCounti�r�countr+)rr$z-x bz	-x a -x br$Nr"r�r#r'r#rrrr�s7���t�G�4�5��1�H�	�R�$�Z��	
�r�A�w���Irrc��\rSrSr\"S5\"S5\"SSS9/rSS/rS	\"S
S
SS94S
\"SS
SS94S\"SS
SS94S\"S
SSS94S\"S
SSS94S\"SS
SS94/rSr	g
)�"TestOptionalsAllowLongAbbreviationi�r �--foobaz�--foobler*r+z--foob 5�--foobr$NF)r2�foobaz�fooblez--foo 7�7z--foo=7z	--fooba arz	--fooba=az--foobl --foo gr�Tr#r'r#rrrr�s���	�G���J���J�|�,���
�H�%�H�	�R�D��e�
4�5�	�B�3�t�E�:�;�	�B�3�t�E�:�;�	�b�T�#�e�<�=�	�b�T�#�e�<�=�	�B�3�t�D�A�B�
�Irrc	��\rSrSr\"SS9r\"S5\"SSS9\"S5/r/S	QrS
\"SSSS94S
\"SSSS94S\"SSSS94/r	Sr
g)�%TestOptionalsDisallowLongAbbreviationi�F��allow_abbrevr �--foodler*r+�--foonly)�-foon 3z--foon 3�--foodz--food --foo 2r$N�r2�foodle�foonlyz--foo 3�3z--foonly 7 --foodle --foo 2r�Trr#r�r#rrrr�sq����.���G���J�|�,��J����
C�H�	�R�D��t�
4�5�	�B�3�u�T�:�;�	&��s�4��(L�M��Irrc	��\rSrSr\"SSS9r\"S5\"SSS9\"S	5/r/S
QrS\"SSSS
94S\"SSSS
94S\"SSSS
94/r	Sr
g)�0TestOptionalsDisallowLongAbbreviationPrefixCharsi�r�F�rur z++fooz++foodler*r+z++foonly)z+foon 3z++foon 3z++foodz++food ++foo 2r$Nr%z++foo 3r(z++foonly 7 ++foodle ++foo 2r�Trr#r�r#rrr*r*�ss����%�@���G���J�|�,��J����
C�H�	�R�D��t�
4�5�	�B�3�u�T�:�;�	&��s�4��(L�M��Irr*c	��\rSrSr\"SS9r\"S5\"SSS9\"S5/r/S	QrS
\"SSSS94S
\"SSSS94S\"SSSS94/r	Sr
g)�/TestOptionalsDisallowSingleDashLongAbbreviationi�Frr9z-foodler*r+z-foonly)r#z-foodz-food -foo 2r$Nr%z-foo 3r(z-foonly 7 -foodle -foo 2r�Trr#r�r#rrr-r-�sp����.���F���I�l�+��I����
4�H�	�R�D��t�
4�5�	�2�#�e�D�9�:�	#�R�C��S�%I�J��Irr-c��\rSrSr\"SS9r\"S5\"SSS9/rSS/rS	\"S
S
S94S\"S
S
S94S\"SS
S94S\"S
SS94S\"S
SS94S\"SSS94/r	Sr
g
)�/TestDisallowLongAbbreviationAllowsShortGroupingi�Frz-rr�rr+z-c -rr$N��rr�z-rarz-rcc�ccz-ccr�z-cc -raz-ccrccr#r�r#rrr/r/�s�����.���D�	��D��!����g��H�	�R�$�$�
� �	��S�D�!�"�	��d�d�#�$�	��T�Q�� �	�B���N�#�	�2���?�#�
�Irr/c��\rSrSr\"SSS9r\"S5\"SSS9/rSS	/rS
\"SSS94S
\"SSS94S\"SSS94S\"SSS94S\"SSS94S\"SSS94/r	Sr
g)�5TestDisallowLongAbbreviationAllowsShortGroupingPrefixi�r�Fr+z+rz+crr+z+c +rr$Nr0z+rarz+rccr2z+ccr�z+cc +raz+ccrccr#r�r#rrr4r4�s�����%�@���D�	��D��!����g��H�	�R�$�$�
� �	��S�D�!�"�	��d�d�#�$�	��T�Q�� �	�B���N�#�	�2���?�#�
�Irr4c�<�\rSrSr"SS\5rSrSrSrSr	g)	�TestStrEnumChoicesic� �\rSrSrSrSrSrSrg)�TestStrEnumChoices.Colori�red�green�bluer#N)r&r'r(r)�RED�GREEN�BLUEr*r#rr�Colorr8s�������rr?c���[R"5nURSURS9 UR	SS/5nURURURR5 g)N�--colorr�r9)r5r6r�r?rFr�colorr<�rr<r�s   r�test_parse_enum_value�(TestStrEnumChoices.test_parse_enum_value	sX���(�(�*�����I�t�z�z��:�� � �)�U�!3�4��������T�Z�Z�^�^�4rc���[R"5nURSURSS9 UR	SUR55 UR	SUR
55 g)NrAzChoose a color�r��helpz[--color {red,green,blue}]z  --color {red,green,blue})r5r6r�r?r��format_usage�format_helpr;s  r�'test_help_message_contains_enum_choices�:TestStrEnumChoices.test_help_message_contains_enum_choicessZ���(�(�*�����I�t�z�z�@P��Q��
�
�2�F�4G�4G�4I�J��
�
�2�F�4F�4F�4H�Irc��[R"SS9nURSURS9 UR	[R
SURSS/5 g)NF��
exit_on_errorrAr�z9invalid choice: 'yellow' \(choose from red, green, blue\)�yellow)r5r6r�r?�assertRaisesRegex�
ArgumentErrorrFr;s  r�$test_invalid_enum_value_raises_error�7TestStrEnumChoices.test_invalid_enum_value_raises_errorsT���(�(�u�=�����I�t�z�z��:�����"�"�H����
��!�		
rr#N)
r&r'r(r)rr?rDrKrSr*r#rrr6r6s�����
5�J�
rr6c�@�\rSrSr\"S5/r/SQrS\"SS94/rSr	g)�TestPositionalsNargsNonei#r2�r$r�a brr;r#Nr'r#rrrVrV#s(���u�:�,�� �H�	�b�S�k���IrrVc�@�\rSrSr\"SSS9/r/SQrS\"S/S94/rSr	g	)
�TestPositionalsNargs1i-r2r�r�rWrr;r#Nr'r#rrrZrZ-s.���u�A�.�/�� �H�	�b�c�U�m���IrrZc�B�\rSrSr\"SSS9/r/SQrS\"SS/S	94/rS
r	g)�TestPositionalsNargs2i7r2r�r�)r$rr�a b crXrr�r;r#Nr'r#rrr\r\7s1���u�A�.�/��'�H�	���S�z�"�#��Irr\c�^�\rSrSr\"SSS9/rS/rS\"/S94S\"S/S94S	\"SS
/S94/rSr	g)
�TestPositionalsNargsZeroOrMoreiAr2r�r�rr$r;rrXr�r#Nr'r#rrr_r_AsM���u�C�0�1���v�H�	�R�B�Z��	�b�c�U�m��	���S�z�"�#��Irr_c�`�\rSrSr\"SSSS9/rS/rS\"SS94S	\"S	/S94S
\"S	S/S94/rSr	g
)�%TestPositionalsNargsZeroOrMoreDefaultiMr2r�ror�rr$r;rrXr�r#Nr'r#rrraraMsO���u�C��?�@���v�H�	�R�E�]��	�b�c�U�m��	���S�z�"�#��Irrac�R�\rSrSr\"SSS9/rSS/rS\"S/S94S	\"SS
/S94/rSr	g)
�TestPositionalsNargsOneOrMoreiYr2r�r�r$rrr;rXr�r#Nr'r#rrrcrcYsC���u�C�0�1���D�z�H�	�b�c�U�m��	���S�z�"�#��Irrcc�L�\rSrSr\"SSS9/rSS/rS\"SS	94S
\"S
S	94/rSr	g)�TestPositionalsNargsOptionalidr2r�r�rrXr$Nr;rr#r'r#rrrereds<���u�C�0�1���e�}�H�	�R�D�\��	�b�S�k���Irrec�N�\rSrSr\"SSSS9/rSS/rS\"SS	94S
\"S
S	94/rSr	g)
�#TestPositionalsNargsOptionalDefaultior2r�r.r�rrXr$r;rr#Nr'r#rrrgrgos>���u�C��<�=���e�}�H�	�R�B�Z��	�b�S�k���Irrgc�P�\rSrSr\"SS\SS9/r/SQrS\"SS	94S
\"SS	94/r	Sr
g
)�,TestPositionalsNargsOptionalConvertedDefaultizr2r�r��r�r�r�)rrX�1 2r$r.r;�1r�r#Nr�r#rrririzs@��	�E��3��5���$�H�	�R�B�Z��	�b�Q�i���Irric�P�\rSrSr\"S5\"S5/r/SQrS\"SSS94/rS	r	g
)�TestPositionalsNargsNoneNonei�r2ro)r$rrr]rXrr��r2ror#Nr'r#rrrnrn�s2���u�:�s�5�z�2��'�H�	��s��$�%��Irrnc�P�\rSrSr\"S5\"SSS9/r/SQrS\"SS	/S
94/rSr	g)
�TestPositionalsNargsNone1i�r2ror�r�)r$r rr]rXrr�ror#Nr'r#rrrqrq�s7���u�:�s�5��':�;��*�H�	��s���&�'��Irrqc�R�\rSrSr\"SSS9\"S5/r/SQrS\"SS	/S
S94/rSr	g
)�TestPositionalsNargs2Nonei�r2r�r�ro�r$r rrX�a b c dr]rr�r�ror#Nr'r#rrrsrs�s9���u�A�.��E�
�;��3�H�	�"�#�s���-�.��Irrsc�*�\rSrSr\"S5\"S5\"SSS9/r/SQrS\"S	S/S
94S\"S	SS/S
94S
\"S	SSS/S
94S\"SS/S
94S\"SS/S
94S\"SSS/S
94S\"SSS/S
94S\"SSS/S
94S\"SSSS/S
94S\"SSSS/S
94S\"SSSS/S
94/rSr	g	)�"TestPositionalsNargsNoneZeroOrMorei�rr2ror�r�)r$r �
a b -x X crN�r#r2rorXr�r]r��-x X ara�a -x X�-x X a b�a -x X b�a b -x X�
-x X a b c�
a -x X b c�
a b c -x Xr#r'r#rrrwrw�s����t�9�c�%�j�#�e�3�2G�H��*�H�	�b�4�S�b�)�*�	��T�s���.�/�	�"�t��3��*�5�6�	�2���"�-�.�	�2���"�-�.�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:��Irrwc���\rSrSr\"S5\"S5\"SSS9/r/SQrS\"S	S
S/S94S
\"S	S
SS/S94S\"SS
S/S94S\"SS
S/S94S\"SS
S/S94S\"SS
SS/S94S\"SS
SS/S94S\"SS
SS/S94/rSr	g	)�!TestPositionalsNargsNoneOneOrMorei�rr2ror�r��r$r rrxrXNrr�ryr]r�r|rar}r~rr�r�r#r'r#rrr�r��s����t�9�c�%�j�#�e�3�2G�H��/�H�	��T�s���.�/�	�"�t��3��*�5�6�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:�	�Irr�c
���\rSrSr\"S5\"S5\"SSS9/r/SQrS\"S	SS	S
94S\"S	SSS
94S
\"SSS	S
94S\"SSS	S
94S\"SSSS
94S\"SSSS
94S\"SSSS
94/rSr	g	)� TestPositionalsNargsNoneOptionali�rr2ror�r��r$r r]rNryrXr�rzrar{r|r}r~r#r'r#rrr�r��s����t�9�c�%�j�#�e�3�2G�H��%�H�	�b�4�S�d�+�,�	��T�s��,�-�	�2���$�/�0�	�2���$�/�0�	�R�#�3�C�0�1�	�R�#�3�C�0�1�	�R�#�3�C�0�1��Irr�c��\rSrSr\"S5\"SSS9\"S5/r/SQrS\"S	/SS
94S\"S	S/SS
94S
\"S	SS/SS
94S\"S/SS
94S\"S/SS
94S\"SS/SS
94S\"SS/SS
94S\"SSS/SS
94S\"SSS/SS
94/	rSr	g	)�"TestPositionalsNargsZeroOrMoreNonei�rr2r�r�ro)r$r r}r�rxrNryrXr�r]r�rzrar{r|r~rr�r#r'r#rrr�r��s����t�9�c�%�s�&;�S��Z�H��D�H�	�b�4�R�S�)�*�	��T��u�#�.�/�	�"�t�#�s���5�6�	�2����-�.�	�2����-�.�	�R�#�C�5�c�2�3�	�R�#�C�5�c�2�3�	�r�C�c�3�Z�S�9�:�	�r�C�c�3�Z�S�9�:�
�Irr�c
���\rSrSr\"S5\"SSS9\"S5/r/SQrS\"S	S
/SS94S
\"S	S
S/SS94S\"SS
/SS94S\"SS
/SS94S\"SS
/SS94S\"SS
S/SS94S\"SS
S/SS94/rSr	g	)�!TestPositionalsNargsOneOrMoreNonei�rr2r�r�ro)r$r rr�rxrXNrr�ryr]r�r|rar}r~rr�r#r'r#rrr�r��s����t�9�c�%�s�&;�S��Z�H��=�H�	��T��u�#�.�/�	�"�t�#�s���5�6�	�R�#�C�5�c�2�3�	�R�#�C�5�c�2�3�	�R�#�C�5�c�2�3�	�r�C�c�3�Z�S�9�:�	�r�C�c�3�Z�S�9�:��Irr�c�`�\rSrSr\"SSSS9\"S5/r/SQrS\"SSS	94S
\"SSS	94/rSr	g
)� TestPositionalsNargsOptionalNonei�r2r�r.r�ror�rrorXr�r#Nr'r#rrr�r��sF���u�C��<�c�%�j�I��%�H�	�b�R�S�!�"�	��s��$�%��Irr�c�f�\rSrSr\"SSS9\"SSS9/r/SQrS\"S	S
//S94S\"S	S
/S
/S94/rSr	g)�TestPositionalsNargs2ZeroOrMorei	r2r�r�ror��r$r rrXrr�ror]r�r#Nr'r#rrr�r�	sQ���u�A�.��E��0E�F��!�H�	���S�z�r�*�+�	�"�#�s��#��/�0��Irr�c�R�\rSrSr\"SSS9\"SSS9/r/SQrS\"S	S
/S/S94/rS
r	g)�TestPositionalsNargs2OneOrMoreir2r�r�ror�)r$r rrXr]rr�r�ror#Nr'r#rrr�r�s>���u�A�.��E��0E�F��(�H�	�"�#�s��#��/�0��Irr�c�d�\rSrSr\"SSS9\"SSS9/r/SQrS\"S	S
/SS94S
\"S	S
/SS94/rSr	g)�TestPositionalsNargs2Optionalir2r�r�ror�)r$r rrurXrr�Nror]r�r#r'r#rrr�r�sO���u�A�.��E��0E�F��,�H�	���S�z�t�,�-�	�"�#�s���-�.��Irr�c�x�\rSrSr\"SSS9\"SSS9/rSS/rS	\"/S	/S
94S\"S	/S/S
94S
\"S	S/S/S
94/rSr	g)�TestPositionalsNargsZeroOrMore1i)r2r�r�ror�r$r rrorXr�r]r�r#Nr'r#rrr�r�)sf���u�C�0�#�e�1�2E�F���G��H�	�b�R�c�U�#�$�	���u�3�%�(�)�	�"�#�s��#��/�0��Irr�c�f�\rSrSr\"SSS9\"SSS9/r/SQrS\"S	/S
/S94S\"S	S
/S
/S94/rSr	g)�TestPositionalsNargsOneOrMore1i5r2r�r�ror�r�rXrr�ror]r�r#Nr'r#rrr�r�5sQ���u�C�0�#�e�1�2E�F��!�H�	���u�3�%�(�)�	�"�#�s��#��/�0��Irr�c�`�\rSrSr\"SSS9\"SSS9/r/SQrS\"S	S/S
94S\"SS/S
94/rS
r	g	)�TestPositionalsNargsOptional1i@r2r�r�ror�r�rNrorXr�r#r'r#rrr�r�@sK���u�C�0�#�e�1�2E�F��%�H�	�b�T��u�%�&�	��s���&�'��Irr�c��\rSrSr\"S5\"S5\"SSS9\"SSS9/r/S	QrS
\"SS/S
/S94S\"SSS
/S/S94S\"SS/S
/S94S\"SS/S
/S94S\"SS/S
/S94S\"SSS
/S/S94S\"SSS
/S/S94S\"SSS
/S/S94/rSr	g)�#TestPositionalsNargsNoneZeroOrMore1iKrr2ror�r�rpr�r�rXNrr��r#r2rorpr]r�r|rar}r~rr�r�r#r'r#rrr�r�Ks���	�D�	��E�
��E����E���	��0�H�	��T�s����6�7�	�"�t��3�%�c�U�;�<�	�R�#�3�B�S�E�:�;�	�R�#�3�B�S�E�:�;�	�R�#�3�B�S�E�:�;�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�Irr�c�8�\rSrSr\"S5\"S5\"SSS9\"SSS9/r/S	QrS
\"SSS
/S/S94S\"SSS
S/S/S94S\"SSS
/S/S94S\"SSS
/S/S94S\"SSS
/S/S94S\"SSS
/S/S94S\"SSS
S/S/S94S\"SSS
S/S/S94S\"SSS
S/S/S94/	rSr	g)�"TestPositionalsNargsNoneOneOrMore1iarr2ror�r�rpr�)r$r rr�za b -x X c dza b c -x X dr]Nrr�r�r�rur�rrar�rxr�z-x X a b c dza -x X b c dza b c d -x Xr#r'r#rrr�r�as��	�D�	��E�
��E����E���	��G�H�	�"�t��3�%�c�U�;�<�	�B��3�S�#�J�S�E�B�C�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	��c�s��c�
���F�G�	��c�s��c�
���F�G�	��c�s��c�
���F�G�
�Irr�c�
�\rSrSr\"S5\"S5\"SSSS9\"SS	S
9/r/SQrS\"S
SSS/S94S\"S
SSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94/rSr	g
)�!TestPositionalsNargsNoneOptional1ixrr2ror���?r�rpr�r�r�rXNrr�r�r]r�r|rar}r~rr�r�r#r'r#rrr�r�xs���	�D�	��E�
��E��e�,��E���	��0�H�	��T�s��C�5�9�:�	�"�t��#�C�5�9�:�	�R�#�3�E��u�=�>�	�R�#�3�E��u�=�>�	�R�#�3�E��u�=�>�	�r�C�S�c��u�=�>�	�r�C�S�c��u�=�>�	�r�C�S�c��u�=�>�	�Irr�c�n�\rSrSr\"SSS9\"SSSS9/rSS	/rS
\"SSS94S
\"S
SS94S\"S
SS94/rSr	g)�$TestPositionalsNargsOptionalOptionali�r2r�r�ror.r�r r]r$NrorrXr�r#r'r#rrr�r��sb��	�E����E��b�)�����!�H�	�R�D�b�
!�"�	�b�S�b�!�"�	��s��$�%��Irr�c	��\rSrSr\"SSS9\"SSS9/rS/rS\"S	/S
94S\"S/S
94S\"SS
/S
94S\"SS
S/S
94/rSr	g	)�&TestPositionalsNargsOptionalZeroOrMorei�r2r�r�ror�r r$NrorrXr�r]r�r#r'r#rrr�r��sm���u�C�0�#�e�3�2G�H���y�H�	�R�D�b�
!�"�	�b�S�b�!�"�	��s���&�'�	�"��3��*�-�.�	�Irr�c�t�\rSrSr\"SSS9\"SSS9/rSS/rS	\"S
S	/S94S\"S	S
/S94S\"S	S
S/S94/rSr	g
)�%TestPositionalsNargsOptionalOneOrMorei�r2r�r�ror�r$r rNrorXr�r]r�r#r'r#rrr�r��sb���u�C�0�#�e�3�2G�H���G�}�H�	�b�T��u�%�&�	��s���&�'�	�"��3��*�-�.��Irr�c�X�\rSrSr\"S\"S5S9/r/SQrS\"SS94S\"SS94/r	S	r
g
)�TestPositionalsChoicesStringi�r��abcdefgr��r$r r�r��efr�r�r�r#N)r&r'r(r)r��setr�r	r�rr*r#rrr�r��s<���v�s�9�~�>�?��-�H�	�b�c�l��	�b�c�l���Irr�c�Z�\rSrSr\"S\\"S5S9/r/SQrS\	"SS94S	\	"S
S94/r
Srg)
�TestPositionalsChoicesInti�r��r�r��4r�r��15�r#Nr�r#rrr�r��s>���v�C��r��C�D��-�H�	�b�a�j��	
�r�r�{���Irr�c�T�\rSrSr\"SSS9\"SSSS9/r/SQrS\"S	S
S//S94/rS
r	g)�TestPositionalsActionAppendi�r�r�r+r��r,r�rtr]rr�r�r�r#Nr'r#rrr�r��sF��	�F�8�$��F�8�1�-���4�H�	�"�3��c�
�+�,�-��Irr�c�P�\rSrSr\"SSS9\"SSSS9/r/SQrS\"/S	QS
94/rSr	g)
�TestPositionalsActionExtendi�r��extendr+r�r�rtr]r�r�r#Nr'r#rrr�r��s=��	�F�8�$��F�8�1�-���4�H�	�"�/�*�+��Irr�c	�~�\rSrSr\"SSS9\"SSSS9/rS	S
/rS\"SS
S94S\"SS
S94S\"SSS94S\"SSS94/rSr	g)�"TestOptionalsNumericAndPositionalsi�r#r�r�z-4r�r*�rSr,rTz-315r$NFr�rTz-4 ar#r'r#rrr�r��sp��	�C�s���D�s�<�0����f�~�H�	�R�$�%�
 �!�	�b�3�%� �!�	
�r�D�D�!�"�	��c�T�"�#�	�Irr�c
��\rSrSr\"SSS9\"SSSS9/rS	/rS
\"SSS
94S\"SSS
94S\"SSS
94S\"SSS
94S\"SSS
94/rSr	g)�(TestOptionalsAlmostNumericAndPositionalsi�r#r�r�z-k4r�r*r�z-k3r$NFr�rTrTz-k4 ar#r'r#rrr�r��s}��	�C�s���E��L�1����w�H�	�R�$�%�
 �!�	
�r�D�E�"�#�	�b�3�%� �!�	��T�T�"�#�	�"�s�d�#�$��Irr�c�~�\rSrSr\"SSSS9\"S5/rS/rS\"S	S
//SS94S
\"S
//S	S94S\"S	S
//SS94/rSr	g)�!TestOptionalsAndPositionalsAppendi
r2r�r��r�r,rZr9rXrr�Nro�	--bar a b�a b --bar cr�r#r'r#rrr�r�
sj���E��X�.��G�����x�H�	���c�
�|��.�/�	�b�s�e�W�#�.�/�	���c�
�|��5�6��Irr�c�x�\rSrSr\"SSSS9\"S5/rS/rS\"S	S
/SS94S
\"S
/S	S94S\"S	S
/SS94/rSr	g)�!TestOptionalsAndPositionalsExtendir2r�r�r�rZr9rXrr�Nror�r�r�r#r'r#rrr�r�sd���E��X�.��G�����x�H�	���S�z�t�,�-�	�b�c�U��,�-�	���S�z�s�3�4��Irr�c
���\rSrSr\"SSS9\"SSSS9/rS/rS	/\"S	S
S94S/\"SS
S94S
/\"S
S
S94SS	/\"S
S	S94SS/\"S
SS94SS
/\"S
S
S94S/\"S
SS94S/\"S
S
S94/rSr	g
)�$TestEmptyAndSpaceContainingArgumentsi$r#r�r�r6z--yyyr�rRr$Nr�za badgerz	-a badgerz--yyy=a badgerz--yyy=-a badgerr#r'r#rrr�r�$s���	�C�s���D�'��$����v�H�
��r�B�$�� �
��r�J�$�/�0�
���[�D�1�2�
���R�$�"�%�&�
�
�	�R�$�*�5�6�
��	�b�4�;�7�8�
�	�R�$�*�5�6�
�	�b�4�;�7�8�	�Irr�c���\rSrSr\"SS9r\"SSSSS9\"S	S
\SS9\"S
SSS9/rSS/rS\	"SSSS94S\	"SSSS94S\	"SSSS94S\	"SSSS94S
\	"SSSS94S\	"SSSS94/r
Srg)� TestPrefixCharacterOnlyArgumentsi7z-+�ru�-r#r�r_)rSr�r0r�r�r.)rSr�r�z-+-r3r*r�r6z+ -r$NFr�z- Xraz+ -3���Tz- ===z===r#)r&r'r(r)r�r�r�r�r	r�rr*r#rrr�r�7s�����-���C�c��H�5��C�c��R�0��E��L�1���
�e�}�H�	�R�$�"��
&�'�	�b�8�r�U�+�,�	��S�B�%�(�)�	��d�b�E�*�+�	��T�R�4�(�)�	�"�u��e�,�-�
�Irr�c��\rSrSr\"SSS9\"SSS9/r/rS\"S/S94S\"//S94S	\"S
//S94S\"S
/S/S94S
\"SS
/S94S
\"/S
/S94S\"S/S
/S94/rSr	g)�TestNargsZeroOrMoreiJrr�r�r�r$Nr�r$rz	-x a -- br�r�r�r#r'r#rrr�r�Js����t�3�/��S��1D�E���H�	�R�$�"�
��	
�r�B�"�~��	��s�e�r�"�#�	�b�C�5�S�E�*�+�	�b�4�C�5�!�"�	��b�S�E�"�#�	�2���#��'�(��Irr�c
���\rSrSr\"S5\"SSS9\"S5/r/SQrS\"S/S	S
94S\"S/SS
94S
\"SSS/SS
94S\"S/SQS	S
94S\"S/SQS	S
94S\"S/SQS	S
94S\"SSS/S	S
94/rSr	g	)�TestNargsRemainderiZr#r��...r�r1)r$r1z-z ZraNr�z-z Z X�Zz
-z Z X A B�Armz
X -z Z A B)r1r�r�rmz
X A -z Z B)r�r1r�rm�
X A B -z Z)r�rmr1r�z	X Y --foo�Yr r#r'r#rrr�r�Zs����s�8�S��E�%:�C��I�F��!�H�	�b�3�"��%�&�	�2��r�S�)�*�	�r�C�C��:��5�6�	�r�C�#8�D�A�B�	�r�C�#8�D�A�B�	�r�C�#8�D�A�B�	�b�3�3��.�D�9�:��Irr�c��\rSrSr\"S\S9\"S\SS9\"SSS	9/r/S
QrS\"SS/S
94S\"SS/S
94S\"SSS/S
94S\"SS/S
94S\"SS/S
94S\"SS/S
94S\"SSS/S
94S\"SSS/S
94S\"SSS/S
94S\"SSS/S
94S\"SSS/S
94/r	Sr
g)�TestOptionLikeijr�r�z-3r�)r�rSr3r�r�)
rz-y2.5r%z-x -az-x -3z-x -3.5z-3 -3.5z-x -2.5z	-x -2.5 az-3 -.5za x -1z-x -1 az-3 -1 ar$Nr�z-x 2.5�@z-x 2.5 arz-3.5��?z-3-.5g�z-3 .5za -3.5za -x 1g�?z-x 1 az-3 1 ar#)r&r'r(r)r��floatr�r	r�rr*r#rrr�r�js��	�D�u���D�u�3�'��C�s����
0�H�

�R�$�$�"�
%�&�	�2��t�r�*�+�	�R�#��#��/�0�	��d�c�R�(�)�	�"�t�t�r�*�+�	�"�t�s�b�)�*�	�2����u�-�.�	�b�4�4�C�5�)�*�	�2��t��u�-�.�	�2��t��u�-�.�	�2����u�-�.��Irr�c�t�\rSrSr\"SS\\RS9\"SS\\RS9\"SS\RS	9\"S
S\\RS9\"SS\\RS9/r/SQr	S
\
"54S\
"SS94S\
"SS/S94S\
"SS94S\
"SSS94S\
"SS/SS94S
\
"SS94S\
"SS94S\
"/S94S\
"SS/S94/
rSrg) �TestDefaultSuppressi�r2r�rjror�r�r*rz--qux�--quux)rrz1 ar$rlr�r;rkr�roTr�z1 --baz�r2rpz	--baz 1 2�r2rorpN)�quxz--qux 1)�quuxz
--quux 1 2r#)
r&r'r(r)r�r�r5�SUPPRESSr�r	r�rr*r#rrr�r��s��	�E��3��0A�0A�B��E��3��0A�0A�B��G�L�(�2C�2C�D��G�3�S�(�2C�2C�D��H�C�c�8�3D�3D�E���"�H�	�R�T�
�	�b�Q�i��	��q�q�c�"�#�	�"��,��	�B�1�$�'�(�	�b�Q�Q�C�T�2�3�	�"��,��	�B�1�I��	�2�2�;��	�r��1�v��'��Irr�c���\rSrSr\"\RS9r\"SSS9\"SSS9\"SS	S
9/rS/r	S\
"54S
\
"S
S94S\
"S
S/S94S\
"SS94S\
"S
SS94S\
"S
S/SS94/rSrg)�TestParserDefaultSuppressi���argument_defaultr2r�r�ror�r�r*r+rr$rr;rXr�roTr�r�r�r�r�r#N)
r&r'r(r)r�r5r�r�r�r	r�rr*r#rrr�r��s����H�,=�,=�>���E����E����G�L�)���
�v�H�	�R�T�
�	�b�S�k��	��s���&�'�	�"��,��	�B�3�D�)�*�	�b�S�s�e��6�7�
�Irr�c
���\rSrSr\"SS9r\"SSSS9\"SS	S
9\"SSS
9\"S
SS9/rS/rS\"SSSSS94S\"SSSSS94S\"SS/SSS94S
\"SSSSS94S\"SSSSS94S\"SS/SSS94/r	Sr
g)�TestParserDefault42i�r.r��	--version�version�1.0�r,r�r2r�r�ror�r�r*r+rr$)r2rorpr�rrXr�Tr�r�r#Nr�r#rrr�r��s����B�/���K�	�5�9��E����E����G�L�)�	���v�H�	�R�B�B�B��
3�4�	�b�S�b�b�"�5�6�	��s���2�r�:�;�	�"����r�:�;�	�B�3�B�D�"�=�>�	�b�S�s�e��r�B�C�
�Irr�c
��^�\rSrSrU4Sjr\"SS9r\"S5\"S5\"SSS	9/r/S
QrS\	R-rS\"S
SS/S94S\"SSSS/S94S\"S
\S/S94S\"S
S\/S94S\"S\SS/S94S\"SS\S/S94/SQ\"SSS/S94/r
\	R(aL\	RRS5r\R$"\5r\
S\"S
\S/S94S\"S
S\/S94/-
r
SrU=r$SrSrU=r$) �TestArgumentsFromFilei�c� >�[[U]5 S[R"UR
5S-4SSSURS-4/nUH+up#[US5nURU5 SSS5 M- g!,(df   M?=f)N�hello�
)�	recursives-a
A
@hello)�invalids@no-such-path
�undecodable�wb)	rr�rWra�fsencoder�r�rzr{�r�
file_textsrj�textr~rs     �rrW�TestArgumentsFromFile.setUp�s����
�#�T�0�2�
�b�k�k�$�*�*�-��5�6�
%�
,�
�D�,�,�u�4�5�

�
�%�J�D��d�D�!�T��
�
�4� �"�!�%�!�!�s�A>�>
B
	�@��fromfile_prefix_charsr�r#r�r�r�)r$r�raz@invalidz@missingzhello world!zX YNrar�)rr#r�z
X -a A Y Zr�r��@hello XzX @helloz-a B @recursive Y ZzX @recursive Z -a Brm)r�r$rar�r$�@z@undecodable XzX @undecodablerr#)r&r'r(r)rWr�r�r�r	r�FS_NONASCIIr�r�r�TESTFN_UNDECODABLE�lstripr�ra�fsdecode�decoded_undecodabler*r+r,s@rr�r��sM���!���5���D�	��C���C�s����
7�H��Y�2�2�2�E�	��T�S�S�E�*�+�	�r�C�3�3��*�5�6�	�R�$�%�C�5�1�2�	�R�$�#�%��1�2�	��S�E�c�3�Z� @�A�	��S�C�E�3�<� @�A�	�r�B�#�#��7�8��I��#�#��2�2�9�9�$�?�� �k�k�+�6���
�r�D�,?�C�5�I�J�
�r�D�C�4G�3H�I�J�
�	
�	�
�rr�c�x^�\rSrSrU4Sjr"SS\5r\r\"SS9r	\"SSS	9/r
/rS
\"/SQS94/r
S
rU=r$)�TestArgumentsFromFileConverteri�c�>�[[U]5 S/nUH+up#[US5nUR	U5 SSS5 M- g!,(df   M?=f)N)r�s
hello world!
r�)rr	rWrzr{r�s     �rrW�$TestArgumentsFromFileConverter.setUp�sP���
�,�d�9�;�(�
�
�%�J�D��d�D�!�T��
�
�4� �"�!�%�!�!�s�A	�	
A	c��\rSrSrSrSrg)�>TestArgumentsFromFileConverter.FromFileConverterArgumentParseric#�p# �UR5HnUR5(dMUv� M  g7fr])r
�strip)r�arg_line�args   r�convert_arg_line_to_args�WTestArgumentsFromFileConverter.FromFileConverterArgumentParser.convert_arg_line_to_argss)����~�~�'���y�y�{�{���	�(�s�46r#N)r&r'r(r)rr*r#rr�FromFileConverterArgumentParserr
s��	rrr�r�r�r�r�r)r�zworld!rar�r#)r&r'r(r)rWr�rr�r�r�r�r	r�rr*r+r,s@rr	r	�sU���!��*D��3�L���5���C�s�����H�	�R�2�3�4��Irr	c�2�\rSrSrSrSrSrSrSrSr	g)	�TestFileTypeRepric�f�[R"S5nURS[U55 g)Nr1z
FileType('r')�r5�FileTyper�repr�rr�s  r�test_r�TestFileTypeRepr.test_rs&��� � ��%������$�t�*�5rc�h�[R"SS5nURS[U55 g)Nr�r�zFileType('wb', 1)rrs  r�	test_wb_1�TestFileTypeRepr.test_wb_1s)��� � ��q�)�����,�d�4�j�9rc�d�[R"SSS9nURS[U55 g)Nr1�latin_1rxz!FileType('r', encoding='latin_1')rrs  r�test_r_latin�TestFileTypeRepr.test_r_latin s)��� � ��y�9�����<�d�4�j�Irc�f�[R"SSSS9nURS[U55 g)Nrw�big5�ignore)ry�errorsz/FileType('w', encoding='big5', errors='ignore')rrs  r�test_w_big5_ignore�#TestFileTypeRepr.test_w_big5_ignore$s.��� � ��v�h�G�����J��d��	%rc�f�[R"SSSS9nURS[U55 g)Nr1r��replace�r(z"FileType('r', 1, errors='replace')rrs  r�test_r_1_replace�!TestFileTypeRepr.test_r_1_replace)s+��� � ��a�	�:�����=�t�D�z�Jrr#N)
r&r'r(r)rrr#r)r.r*r#rrrrs��6�:�J�%�
Krrc� �\rSrSrSrSrSrg)�StdStreamCompareri2c��[R"U5UlUS:Xa[UlgUS:Xa[
Ulg[
5Ulg)N�
stdout.buffer�
stderr.buffer)�operator�
attrgetterr�r��
backupattrr�r)rr�s  rr�StdStreamComparer.__init__3s=�� �*�*�4�0����?�"�1�D�O�
�_�
$�1�D�O�$�h�D�Orc�n�XR[5:H$![a XR:Hs$f=fr])r�r��AttributeErrorr7r�s  rr��StdStreamComparer.__eq__As5��	,��L�L��-�-�-���	,��O�O�+�+�	,�s��4�4)r7r�N�r&r'r(r)rr�r*r#rrr1r12s��'�,rr1�stdinr�r�zstdin.bufferr3r4c�$�\rSrSr0rSrSrSrg)�RFileiPc��Xlgr]�rs�rrss  rr�RFile.__init__S����	rc�:�XR;aURUnO.UR5=o RU'UR5 [U[5(dURS5nURURs=:H=(a U:H$s $)N�ascii)�seen�read�closer�rr rs�rr�r�s   rr��RFile.__eq__Vsv���I�I���9�9�U�#�D�&+�j�j�l�2�D�9�9�U�#��K�K�M��$��$�$��;�;�w�'�D��y�y�E�J�J�.�.�$�.�.�.�.rrAN)r&r'r(r)rGrr�r*r#rrr?r?Ps��
�D��/rr?c�&^�\rSrSrU4Sjr\"S\R"5S9\"S\R"S5S9/r/SQr	S\
"S	\"S5S
94S\
"\"S5\"S5S
94S
\
"\"S5\"S5S
94S\
"\\S
94S\
"S	\"S5S
94/r
SrU=r$)�
TestFileTypeRiac�>�[[U]5 SHPn[[R
R
URU5SSS9nURU5 SSS5 MR URS5 g!,(df   Mu=f)Nrorwr
rx�readonly)
rrMrWrzrarjrkr`r{r��r�	file_namer~rs   �rrW�TestFileTypeR.setUpdsp���
�m�T�(�*�'�I��b�g�g�l�l�4�=�=�)�<��G�-�04��
�
�9�%�-�-�(�	
�!�!�*�-�-�-�s�A<�<
B	rr�r�r1)rr$znon-existent-file.txtr2N�r#r��
-x foo barro�
bar -x foo�-x - -rOr#)r&r'r(r)rWr�r5rr�r	r�r?�eq_stdinrr*r+r,s@rrMrMas����.�	�D�x�(�(�*�+��F��*�*�3�/�0���3�H�	��T��e��-�.�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2��x�0�1�	�R�$�U�:�%6�7�8��IrrMc�~^�\rSrSrU4Sjr\"S\R"S5SS9/rS/r	S\
"\"S	5S
94/rSr
U=r$)�TestFileTypeDefaultsiyc��>�[[U]5 [[R
R
URS5SSS9nURS5 UR5 g)N�goodrwr
rx)
rrYrWrzrarjrkr`r{rI)rr~rs  �rrW�TestFileTypeDefaults.setUp{sG���
�"�D�/�1��B�G�G�L�L�����7��w�O���
�
�6���
�
�rr�r1zno-file.txt�r�r�r$z-c goodr[)r�r#)r&r'r(r)rWr�r5rr�r	r�r?rr*r+r,s@rrYrYysH����	�D�x�(�(��-�}�E����t�H��R�%��-�0�1�2�IrrYc	�^�\rSrSrU4Sjr\"S\R"S5S9\"S\R"S5S9/rSS/r	S\
"S	\"S5S
94S\
"\"S5\"S5S
94S
\
"\"S5\"S5S
94S\
"\\S
94/r
SrU=r$)�TestFileTypeRBi�c�>�[[U]5 SHPn[[R
R
URU5SSS9nURU5 SSS5 MR g!,(df   Md=f)Nrorwr
rx)	rr_rWrzrarjrkr`r{rPs   �rrW�TestFileTypeRB.setUp�s`���
�n�d�)�+�'�I��b�g�g�l�l�4�=�=�)�<��G�-�04��
�
�9�%�-�-�(�-�-�s�A+�+
A:	r�rbr�r�r$r2NrSrTrorUrVr#)r&r'r(r)rWr�r5rr�r	r�r?�	eq_bstdinrr*r+r,s@rr_r_�s����&�	�D�x�(�(��.�/��F��*�*�4�0�1����b�z�H�	��T��e��-�.�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2�	�	�2�3�	�Irr_c�.�\rSrSr\"5rSrSrSrg)�WFilei�c��Xlgr]rArBs  rr�WFile.__init__�rDrc��XR;a_SnSUR;aURS5nURU5 UR	5 URRU5 URUR:H$)NzCheck that file is writable.r�rF)rG�moderr{rI�addrsrJs   rr��WFile.__eq__�sc���	�	�!�1�D��e�j�j� ��{�{�7�+���K�K����K�K�M��I�I�M�M�%� ��y�y�E�J�J�&�&rrAN)	r&r'r(r)r�rGrr�r*r#rrrere�s���5�D��'rrec
�(^�\rSrSrU4Sjr\"S\R"S5S9\"S\R"S5S9/r/SQr	S\
"S	\"S5S
94S\
"S	\"S5S
94S\
"\"S5\"S
5S
94S\
"\"S5\"S
5S
94S\
"\\S
94/r
SrU=r$)�
TestFileTypeWi�c�f>�[TU]5 URS5 URS5 g�NrO�writable�rrWr�r�rrs �rrW�TestFileTypeW.setUp��(���
��
���!�!�*�-��!�!�*�-rrrwr�r�)rr$rOr2NrSrprTrorUrVr#�r&r'r(r)rWr�r5rr�r	r�re�	eq_stdoutrr*r+r,s@rrmrm�s����.�	�D�x�(�(��-�.��F��*�*�3�/�0���&�H�	��T��e��-�.�	�R�$�U�:�%6�7�8�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2�	�	�2�3��Irrmc��^�\rSrSrU4Sjr\"S\R"S5S9\"S\R"S5S9/r/SQr	S\
"\"S	5\"S
5S94S\
"\\S94/r
S
rU=r$)�
TestFileTypeXi�c�f>�[TU]5 URS5 URS5 grorqrrs �rrW�TestFileTypeX.setUp�rtrrr#r�r�)rr$rOrprTr2rorSrVr#rur,s@rrxrx�sp���.�	�D�x�(�(��-�.��F��*�*�3�/�0���2�H�	�r�E�%�L�u�U�|�<�=�	�2�	�	�2�3��Irrxc	��\rSrSr\"S\R"S5S9\"S\R"S5S9/rSS/rS\	"S\
"S5S	94S
\	"\
"S5\
"S5S	94S\	"\
"S5\
"S5S	94S
\	"\\S	94/rSr
g)�TestFileTypeWBi�rr�r�r�r$r2NrSrTrorUrVr#)r&r'r(r)r�r5rr�r	r�re�
eq_bstdoutrr*r#rrr|r|�s���
	�D�x�(�(��.�/��F��*�*�4�0�1����b�z�H�	��T��e��-�.�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2�
��4�5�	�Irr|c��\rSrSr\"S\R"S5S9\"S\R"S5S9/rS\"\	"S5\	"S5S	94S
\"\
\
S	94/rSrg)
�TestFileTypeXBi�r�xbr�r�rTr2rorSrVr#N)
r&r'r(r)r�r5rr�r�rer}rr*r#rrrr�se��
	�D�x�(�(��.�/��F��*�*�4�0�1���

�r�E�%�L�u�U�|�<�=�	�2�
��4�5��Irrc� �\rSrSrSrSrSrg)�TestFileTypeOpenArgsi�c
�2�[RnU"S5S4U"SS5S4U"SSS9S4U"S	S
S9S4U"SS
SS5S4/n[R"S5nUH upEU"S5 UR"S/UQ76 M" SSS5 g!,(df   g=f)Nrb)rb���NNrwr�)rwr�NNr,r-)rwr�Nr,r�r&rx)r�r�r&Nr�l1�strict)rwrr�r�z
builtins.openr2)r5rrr9�assert_called_with)r�FT�cases�mr�r�s      r�test_open_args�#TestFileTypeOpenArgs.test_open_args�s���
�
�
��
��X�-�.�
��Q�Z�-�.�
��I�
&�(B�C�
��v�
&�(@�A�
��Q��h�
'�)A�B�
���Z�Z��
(�A�#�
���U���$�$�U�2�T�2�$�)�
(�
(�s�'B�
Bc��UR[5 [R"S5"S5 SSS5 g!,(df   g=f)Nr�z-test)r�
ValueErrorr5rr!s r�test_invalid_file_type�+TestFileTypeOpenArgs.test_invalid_file_type
s/��
�
�
�z�
*����c�"�7�+�+�
*�
*�s	�<�
A
r#N)r&r'r(r)r�r�r*r#rrr�r��s��3�,rr�c��\rSrSrSrSrg)�!TestFileTypeMissingInitializationic�6�[R"5nUR[5nUR	S[R
S9 SSS5 UR
[R
<S3[WR55 g!,(df   NF=f)Nrr�z: is a FileType class object, instance of it must be passed)	r5r6rr�r�rrrr�r�s   r�test�&TestFileTypeMissingInitialization.testsq���(�(�*��
�
�
�z�
*�b�����8�+<�+<��=�+�	
���� � �
#������	
�+�
*�s�B
�

Br#N�r&r'r(r)r�r*r#rrr�r�s��	
rr�c�l�\rSrSr\"S\S9\"S\S9/r/SQrS\	"SSS	94S
\	"SSS	94S
\	"SSS	94/r
Srg)�TestTypeCallablei$�--eggsr�r�)r�42jz--eggs az	--eggs 2iz--eggs=42 42r.gE@)�eggsr�z--eggs 2j -- -1.5y@���z1024.675Ng3333��@r#)r&r'r(r)r��complexr�r�r	r�rr*r#rrr�r�$s[��	�H�7�#��F�����5�H�	���$�/�0�	�b�b�t�4�5�	�R�T��1�2��Irr�c��\rSrSr"SS\5r\"S\S9\"S\S9/r/rS\	"\"S5\"S	5S
94S\	"\"S5\"S
5S
94/r
Srg)�TestTypeUserDefinedi3c� �\rSrSrSrSrSrg)�TestTypeUserDefined.MyTypei6c��Xlgr]��value�rr�s  rr�#TestTypeUserDefined.MyType.__init__8����Jrc�`�[U5UR4[U5UR4:H$r]�r�r�r�s  rr��!TestTypeUserDefined.MyType.__eq__;�'����J��
�
�+��U��U�[�[�/I�I�Irr�Nr<r#rr�MyTyper�6�
��	�	Jrr�rr�r�r�r�rrS�-xf grDr�r#N)r&r'r(r)rNr�r�r�r	r�rr*r#rrr�r�3sj��J��J�	�D�v���F�� ����H�	�2��s��&��+�6�7�	�"�v�c�{����5�6��Irr�c��\rSrSr"SS5r\"S\S9\"S\S9/r/rS\"\"S5\"S	5S
94S\"\"S5\"S
5S
94/r	Sr
g)�TestTypeClassicClassiIc� �\rSrSrSrSrSrg)�TestTypeClassicClass.CiLc��Xlgr]r�r�s  rr�TestTypeClassicClass.C.__init__Nr�rc�`�[U5UR4[U5UR4:H$r]r�r�s  rr��TestTypeClassicClass.C.__eq__Qr�rr�Nr<r#rr�Cr�Lr�rr�rr�r�r�r�rrSr�rDr�r#N)r&r'r(r)r�r�r�r	r�rr*r#rrr�r�Ish��J�J�	�D�q���F������H�	�2��#��Q�s�V�,�-�	�"�q��v�A�c�F�+�,��Irr�c��\rSrSrSrSrg)�TestTypeRegistrationi_c�v�Sn[R"5nURSSU5 URSSS9 URSSS9 UR	URSR
55[SSS	95 UR	URS
R
55[SSS	95 g)Nc��SU-$)Nzmy_type{%s}r#��strings r�get_my_type�.TestTypeRegistration.test.<locals>.get_my_typeds
�� �6�)�)rr��my_typerr�r�rlz
my_type{1}r�z-x 1 42zmy_type{42})r5r6�registerr�rrFr
r�)rr�r<s   rr��TestTypeRegistration.testbs���	*��(�(�*������	�;�7����D�y��1����C�i��0�����*�*�3�9�9�;�7��d�l�3�	5�����*�*�9�?�?�+<�=��l�m�<�	>rr#Nr�r#rrr�r�_s��
>rr�c	���\rSrSr"SS\R
5r"SS\R
5r\"SS\\	SS	9\"S
\\
SSS
9/r/rS\
"SSS94S\
"SSS94S\
"SSS94S\
"SSS94/rSrg)�TestActionUserDefinedivc��\rSrSrSSjrSrg)�$TestActionUserDefined.OptionalActioniyNc���[SS9nUS;aSUlOUS;aSUlO[SU-5e[	US	U5 g![an[SU-5eSnAff=f)
N��?r�)��?r�r�)�@r��	value: %szopt_action failed: %sr�)r�r_�AssertionErrorr�r��rr<�	namespacer��
option_stringrr�s       r�__call__�-TestActionUserDefined.OptionalAction.__call__{su��
G�!�d�m���N�*�)*�K�&��e�^�)+�K�&�(��u�)<�=�=�

�I�v�u�-��"�
G�)�*A�A�*E�F�F��
G�s!�A�
A�A�
A �
A�A r#r]�r&r'r(r)r�r*r#rr�OptionalActionr�ys��	.rr�c��\rSrSrSSjrSrg)�&TestActionUserDefined.PositionalActioni�Nc���[SS9nUS;aSUlO*US;aSUlOUS;aSUlO[S	U-5e[	USU5 g![an[S
U-5eSnAff=f)Nr��r_)r.r�r�)r�r�)r�r�r�zarg_action failed: %sr_)r�r�r�r�r�r�s       rr��/TestActionUserDefined.PositionalAction.__call__�s���
G�!��l���H�$�'+�K�$��c�\�',�K�$��c�\�',�K�$�(��u�)<�=�=�

�I�x��/��"�
G�)�*A�A�*E�F�F��
G�s&�A�
A�
A�A�
A.�A)�)A.r#r]r�r#rr�PositionalActionr��s��	0rr�z-sr�r�)rSr,r�r�r_r�r�)r,r�r�r�z-s0.125r�)r�r_r�r.z
-s 0.625 1r�r�z84 -s2r�r�r#N)r&r'r(r)r5�Actionr�r�r�r�r�r�r	r�rr*r#rrr�r�vs���.����.�,0�8�?�?�0�4	�D�v�n���	&��H�-��C��	,����H�	�B�E�!�,�-�	
�r�t�B�'�(�	�r�u�Q�/�0�	�2�3�r�*�+�	�Irr�c�D�\rSrSr"SS\R
5rSrSrg)�TestActionRegistrationi�c��\rSrSrSSjrSrg)�TestActionRegistration.MyActioni�Nc�6�[X RSU-5 g)Nzfoo[%s])r�rS)rr<r��valuesr�s     rr��(TestActionRegistration.MyAction.__call__�s���I�y�y�)�f�*<�=rr#r]r�r#rr�MyActionr��s��	>rr�c�,�[R"5nURSSUR5 UR	SSS9 URUR
S/5[SS95 URUR
S/5[S	S95 g)
Nr,�	my_actionr_r+rlzfoo[1]r�r�zfoo[42])r5r6r�r�r�rrFr�r;s  rr��TestActionRegistration.test�s{���(�(�*������+�t�}�}�=����H�[��9�����*�*�C�5�1�2�X�3F�G�����*�*�D�6�2�B�i�4H�Irr#N)	r&r'r(r)r5r�r�r�r*r#rrr�r��s��>�8�?�?�>�
Jrr�c�B�\rSrSr\"SSS\S9/rSrS\"/SQS	94/r	Sr
g
)�TestActionExtendi�r r�r�)r,r�r�r#z--foo f1 --foo f2 f3 f4)�f1�f2�f3�f4r;N)r&r'r(r)r�rr�r	r�rr*r#rrr�r��s4���G�H�C�c�:����H�	"�B�+C�$D�E��Irr�c�J�\rSrSr"SS\R
5rSrSrSr	g)�TestInvalidActioni�c��\rSrSrSrg)�#TestInvalidAction.ActionWithoutCalli�r#N�r&r'r(r)r*r#rr�ActionWithoutCallr��s��rr�c��[R"5nURSURS9 UR	[
URSS/5 g)Nr r+ro)r5r6r�r�r�NotImplementedErrorrFr;s  r�test_invalid_type�#TestInvalidAction.test_invalid_type�sG���(�(�*�����G�D�,B�,B��C����-�v�/@�/@�7�E�BR�Src��[5nURS5nSUlUR[UR
SS/5 g)Nr r�ro)r�r�r�rr�rF�rr<r,s   r�test_modified_invalid_action�.TestInvalidAction.test_modified_invalid_action�s?��+�-���$�$�W�-��������-�v�/@�/@�7�E�BR�Srr#N)
r&r'r(r)r5r�r�r�r�r*r#rrr�r��s��
�H�O�O�
�T�Trr�c��^�\rSrSrSrS!SjrU4SjrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"U=r#$)"�TestAddSubparsersi�c�8�UR"[/UQ70UD6 gr]�rr�r�s   r�assertArgumentParserError�+TestAddSubparsers.assertArgumentParserError�������-�?��?��?rc�d�U(a&[SSUS9nURUSS-S-SSS	9 O[SSS
9nURSSSS	9 URS[S
S9 SS0nU(aSUS'SUS'OSUS'UR"S50UD6nUR	[
RSUR5 [SS9nU(aSUS'U(aSS/US'UR"S60UD6nURS[SS9 URS /S!QS"S#9 [S$S9n	U(aS%U	S'UR"S70U	D6n
U
RS&/S'QS(S#9 U
RS)[S*S+S,9 [S-S9nU(aS.US'UR"S80UD6nURS/[S0S9 URS1S2S3S49 U$)9N�PROG�main description)�prog�descriptionrurr�r2r*�foo help�r,rH�rrr ro�bar help�r�rHr�F�COMMANDr��commands�title�command helprHz(cannot have multiple subparser argumentsz
1 description�rz1 help�1alias1�1alias2�aliasesr��w helpr#r��x helprGz
2 descriptionz2 helpr6�rlr�r(�y helpr3r��z help)r�r�rHz
3 descriptionz3 help�tzt help�ur�zu help�r�rHr#�rl)r�)r()r�r�r��add_subparsersrQr5rR�dict�
add_parserr�r�)
r�subparser_helprurr<�subparsers_kwargs�
subparsers�parser1_kwargs�parser1�parser2_kwargs�parser2�parser3_kwargs�parser3s
             rr�TestAddSubparsers._get_parser�s
���/��);�,�X�F�����Q��!�#�e�+�L�z�
 �
S�0��);�=�F������:�
 �
?������J�	�	0�(��/���+4��i�(�)3��g�&�(6��f�%��*�*�?�->�?�
����x�5�5�I�%�4�4�	6�
�/�:���%-�N�6�"��)2�I�(>�N�9�%��'�'�>�~�>�����T��(��;����S�/���I��/�:���%-�N�6�"��'�'�>�~�>�����T�?���J����S�w�c���I��/�:���%-�N�6�"��'�'�>�~�>�����S�s���:����S��H��=��
rc�t>�[TU]5 UR5UlURSS9Ulg)NT)r)rrWrr<�command_help_parserrrs �rrW�TestAddSubparsers.setUp*	s2���
��
���&�&�(���#'�#3�#3�4�#3�#H�� rc��SH9nUR5nURURRU5 M; g)N)r$rza az0.5 az0.5 1z0.5 1 -yz0.5 2 -w)r
r�r<rF)rrr�s   r�test_parse_args_failures�*TestAddSubparsers.test_parse_args_failures/	s4��1�H��>�>�#�D��*�*�4�;�;�+A�+A�4�H�1rc
�$�URURRSR55[	SSSSS95 URURRSR55[	SS	S
SS/S
95 URURRSR55[	SSSSS95 URURRSR55[	SSS/SQS95 g)N�0.5 1 b -w 7Fr��r��r2rorwr#z0.25 --foo 2 -y 2 3j -- -1jTr�r�y@y��)r2ror�r3z--foo 0.125 1 cr�r�z-1.5 3 11 -- a --foo 7 -- br��)rr r�--r�)r2rorr)rr<rFr
r�r!s r�test_parse_args�!TestAddSubparsers.test_parse_args6	s�������K�K�"�"�>�#7�#7�#9�:��5�c�Q�#�.�	
�	
����K�K�"�"�#@�#F�#F�#H�I��4�T�S�R��I�6�	
�	
����K�K�"�"�#4�#:�#:�#<�=��4�U�d�c�2�	
�	
����K�K�"�"�#@�#F�#F�#H�I��5�d�b�,J�K�	
rc
���URURRSR55[	SSSSS9/45 URURRSR55[	SSSSS9S/45 URURRS	R55[	SSSSS9S/45 URURRS
R55[	SSSSS9SS/45 URURRS
R55[	SSSSS9/SQ45 g)Nr0Fr�r1r�r2z0.5 -p 1 b -w 7�-p�0.5 1 b -w 7 -pz0.5 1 b -q -rs -w 7�-qz-rsz0.5 -W 1 b -X Y -w 7 Z)z-Wz-Xr�r�)rr<�parse_known_argsr
r�r!s r�test_parse_known_args�'TestAddSubparsers.test_parse_known_argsI	sC������K�K�(�(��)=�)=�)?�@�
�E�s�a�3�
/��4�	
�	
����K�K�(�(�):�)@�)@�)B�C�
�E�s�a�3�
/�$��8�	
�	
����K�K�(�(�):�)@�)@�)B�C�
�E�s�a�3�
/�$��8�	
�	
����K�K�(�(�)>�)D�)D�)F�G�
�E�s�a�3�
/�$���?�	
�	
����K�K�(�(�)A�)G�)G�)I�J�
�E�s�a�3�
/�1G�H�	
rc�n�"SS5nURURRSR5US9US/45 UR	UR
S5 URURS5 URURS5 URURS	5 g)
Nc��\rSrSrSrg)�ETestAddSubparsers.test_parse_known_args_to_class_namespace.<locals>.Ci`	r#Nr�r#rrr�r@`	���rr�r9)r�r8Fr�r1r�)	rr<r;r
�assertIsr2rorwr#)rr�s  r�(test_parse_known_args_to_class_namespace�:TestAddSubparsers.test_parse_known_args_to_class_namespace_	s���	�	�����K�K�(�(�):�)@�)@�)B�a�(�P�
���K�	
�	
�
�
�a�e�e�U�#��������$�������a� �������c�"rc
��[5nURS5 URS5 UR5nURS5nURS5 URS5 UR	UR/SQ5[
SSSSS95 UR	UR/S	Q5[
SSSSS95 URUR
/S
Q5 UR	UR/SQ5[
SSSSS95 UR	UR/SQ5[
SSSSS95 UR	UR/S
Q5[
SSSSS95 URUR
/SQ5 g)Nr!r"ro�--foz--foonew)r$rprorp)r&r'�fo�foonew)�--foonrpro)rFrpro)rorFrp)ror rp)rorIrp)ror$rp)r�r�rrrrFr�r��rr<r!r#s    r�test_abbreviation�#TestAddSubparsers.test_abbreviationk	se��+�-�����J�'����J�'��*�*�,�
��'�'��.�����V�$����Z�(�����*�*�+C�D��5��$�t�L�	N�����*�*�+C�D��4��$�t�L�	N��&�&�v�'8�'8�:P�Q�����*�*�+A�B��4���t�L�	N�����*�*�+B�C��4���e�L�	N�����*�*�+C�D��4���e�L�	N��&�&�v�'8�'8�:R�Src��[5nURSSSSS9 URSSSSS9 URURSS/5[	S	SS
9S/45 URURSS/5[	S	SS
9S/45 URURS/5[	S	SS
9S/45 URURS/5 URURS
/5[	SSS
9S
/45 URURS/5[	SSS
9S/45 URURS/5[	S	SS
9S/45 URURS/5 URURS/5[	S	SS
9S/45 URURS/5[	S	S	S
9S/45 URURS/5 URURS/5 URURS/5 URURS/5[	S	S	S
9S/45 g)Nz-kz--knownrrrr�z--newz-ur�)�known�newz-kuz-k=uz-ukz-u=kz	-kunknownz-unknownz
-k=unknownz
-ku=nknownz	-u=nknownz-knewz-ewz-kn=ewz-k-newz-kn-ewz-kne-wz-e-w)r�r�rr;r�r�r;s  r�-test_parse_known_args_with_single_dash_option�?TestAddSubparsers.test_parse_known_args_with_single_dash_option�	sR��+�-�����D�)�G�Q��G����D�'�'�1��E�����0�0�$���>��1�!�,�t�f�5�	7�����0�0�$���>��1�!�,�t�f�5�	7�����0�0�%��9��1�!�,�t�f�5�	7��&�&�v�'>�'>���I�����0�0�%��9��1�!�,�u�g�6�	8�����0�0�&��:��1�!�,�v�h�7�	9�����0�0�+��?��1�!�,�z�l�;�	=��&�&�v�'>�'>���O�����0�0�,��@��1�!�,�{�m�<�	>�����0�0�'��;��1�!�,�u�g�6�	8��&�&�v�'>�'>��
�K��&�&�v�'>�'>��
�K��&�&�v�'>�'>��
�K�����0�0�(��<��1�!�,�v�h�7�	9rc�
�[5nURSSS9 URSS9nURS5nURS5 UR	[SSS	S
9UR
SR555 g)Nr r*r+rorRrlrpFr�r�rk)r�r�rrrr�rFr
rJs    r�	test_dest�TestAddSubparsers.test_dest�	s{��+�-�����G�L��9��*�*��*�6�
��'�'��,�����U�#������3�C�8��*�*�5�;�;�=�9�	;rc��URS/5nURURS5 URURS5 g)N�runr#)rFr�commandr�)rr<�rets   r�_test_required_subparsers�+TestAddSubparsers._test_required_subparsers�	s@�������(��������e�,�	
�&�&�v�'8�'8�"�=rc��[5nURSS9nSUlURS5 UR	U5 g)NrWrRTrV)r�rr�rrY�rr<r!s   r�&test_required_subparsers_via_attribute�8TestAddSubparsers.test_required_subparsers_via_attribute�	sA��+�-���*�*�	�*�:�
�"�
�����e�$��&�&�v�.rc�|�[5nURSSS9nURS5 URU5 g)NrWT�rSr�rV)r�rrrYr\s   r�"test_required_subparsers_via_kwarg�4TestAddSubparsers.test_required_subparsers_via_kwarg�	s;��+�-���*�*�	�D�*�I�
����e�$��&�&�v�.rc��[5nURSS9nURS5 URS5nUR	UR
5 g)NrWrRrVr#�r�rrrF�assertIsNonerW�rr<r!rXs    r� test_required_subparsers_default�2TestAddSubparsers.test_required_subparsers_default�	sM��+�-���*�*�	�*�:�
����e�$�����#�����#�+�+�&rc�F�[5nURSS9nURS5 URS5 UR[5nURS5 SSS5 UR
WRRS5 g!,(df   N5=f)NT�r�r2ror#z8error: the following arguments are required: {foo,bar}
$�	r�rrrr�rFrIr�r��rr<r!�excinfos    r�-test_required_subparsers_no_destination_error�?TestAddSubparsers.test_required_subparsers_no_destination_error�	s���+�-���*�*�D�*�9�
����e�$����e�$�
�
�
�2�
3�w����b�!�4�������$�$�G�	
�4�
3���B�
B c�F�[5nURSS9nURS5 URS5 UR[5nURS5 SSS5 UR
WRRS5 g!,(df   N5=f)NTrjr2ror�zLerror: argument {foo,bar}: invalid choice: 'baz' \(choose from foo, bar\)\n$rkrls    r�3test_wrong_argument_subparsers_no_destination_error�ETestAddSubparsers.test_wrong_argument_subparsers_no_destination_error�	s���+�-���*�*�D�*�9�
����e�$����e�$�
�
�
�2�
3�w����h�'�4�������$�$�[�	
�4�
3�rpc��[5nURSSS9nURS5 URS5nUR	UR
5 g)NrWFr`rVr#rdrfs    r�test_optional_subparsers�*TestAddSubparsers.test_optional_subparsers�	sO��+�-���*�*�	�E�*�J�
����e�$�����#�����#�+�+�&rc���URURR5S5 URURR5[R
"S55 g)N�)usage: PROG [-h] [--foo] bar {1,2,3} ...
a?            usage: PROG [-h] [--foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help

            options:
              -h, --help  show this help message and exit
              --foo       foo help
            )rr<rIrJ�textwrap�dedentr!s r�	test_help�TestAddSubparsers.test_help�	sQ��������1�1�3�E�	G�������0�0�2�H�O�O�E�5�	rc���URSS9nURUR5S5 URUR5[R
"S55 g)Nz+:-r�z)usage: PROG [-h] [++foo] bar {1,2,3} ...
a?            usage: PROG [-h] [++foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help

            options:
              -h, --help  show this help message and exit
              ++foo       foo help
            �rrrIrJryrzr;s  r�test_help_extra_prefix_chars�.TestAddSubparsers.test_help_extra_prefix_chars�	s\���!�!�u�!�5������,�,�.�E�	G�����+�+�-�x���@�0�	rc��[SSS9nURSSSS9 URUR5[R
"S55 g)	Nrrrz--non-breakingr�uRhelp message containing non-breaking spaces shall not wrap at non-breaking spacesru7            usage: PROG [-h] [--non-breaking]

            main description

            options:
              -h, --help      show this help message and exit
              --non-breaking  help message containing non-breaking spaces shall not
                              wrap at non-breaking spaces
        �r�r�rrJryrzr;s  r�test_help_non_breaking_spaces�/TestAddSubparsers.test_help_non_breaking_spaces
s[��+��%7�9������]�;�	�	<�	
����+�+�-�x���	@�	0
�		rc�>�[SSS9nURSSS9 URUR5[R
"S55 [SSS9nURS/SS	9 URUR5[R
"S
55 g)Nrrrr2z    �rHz�            usage: PROG [-h] foo

            main description

            positional arguments:
              foo         

            options:
              -h, --help  show this help message and exit
        z%(choices)srGz�            usage: PROG [-h] {}

            main description

            positional arguments:
              {}          

            options:
              -h, --help  show this help message and exit
        r�r;s  r�test_help_blank�!TestAddSubparsers.test_help_blank
s���+��%7�9�������	�	�	
����+�+�-�x���	@�	0
�		�,��%7�9������2��	�	 �	
����+�+�-�x���	@�	0
�		rc���URSS9nURUR5S5 URUR5[R
"S55 g)Nrsr�z)usage: PROG [+h] [++foo] bar {1,2,3} ...
a?            usage: PROG [+h] [++foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help

            options:
              +h, ++help  show this help message and exit
              ++foo       foo help
            r~r;s  r� test_help_alternate_prefix_chars�2TestAddSubparsers.test_help_alternate_prefix_chars;
s\���!�!�u�!�5������,�,�.�E�	G�����+�+�-�x���@�0�	rc���URURR5S5 URURR5[R
"S55 g)Nrxa�            usage: PROG [-h] [--foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help
                1         1 help
                2         2 help
                3         3 help

            options:
              -h, --help  show this help message and exit
              --foo       foo help
            )rr*rIrJryrzr!s r�test_parser_command_help�*TestAddSubparsers.test_parser_command_helpM
sU������1�1�>�>�@�E�	G�����1�1�=�=�?�!���*��	rc�h�[SSS9nURSSSS9 URSS	S
9 URSSS
S9nURS5nURS5nUR	UR5S5 UR	UR
5[R"S55 g)Nrrrr r*rrror	r��subcommandsrzadditional text)r
rrHrlr�z'usage: PROG [-h] [--foo] bar {1,2} ...
av            usage: PROG [-h] [--foo] bar {1,2} ...

            main description

            positional arguments:
              bar         bar help

            options:
              -h, --help  show this help message and exit
              --foo       foo help

            subcommands:
              command help

              {1,2}       additional text
            )	r�r�rrrrIrJryrz)rr<r!r#r%s     r�test_subparser_title_help�+TestAddSubparsers.test_subparser_title_helpb
s���+��8J�L�����G�L�z��J����E�
��3��*�*��7E�0A�+�C�
��'�'��,���'�'��,������,�,�.�C�	E�����+�+�-�x���@�0�	rc��UR[5nURRUR	55 SSS5 URUWRR5 g!,(df   N5=fr])rr�r<rFr
rr�r�)rr�
expected_helpr�s    r�_test_subparser_help�&TestAddSubparsers._test_subparser_help�
sT��
�
�
�2�
3�r��K�K�"�"�8�>�>�#3�4�4��������(;�(;�<�4�
3�s�*A/�/
A=c�P�URS[R"S55 g)Nz5.0 1 -ha            usage: PROG bar 1 [-h] [-w W] {a,b,c}

            1 description

            positional arguments:
              {a,b,c}     x help

            options:
              -h, --help  show this help message and exit
              -w W        w help
            �r�ryrzr!s r�test_subparser1_help�&TestAddSubparsers.test_subparser1_help�
�"���!�!�*�h�o�o�?�/�	rc�P�URS[R"S55 g)Nz5.0 2 -ha            usage: PROG bar 2 [-h] [-y {1,2,3}] [z ...]

            2 description

            positional arguments:
              z           z help

            options:
              -h, --help  show this help message and exit
              -y {1,2,3}  y help
            r�r!s r�test_subparser2_help�&TestAddSubparsers.test_subparser2_help�
r�rc
��URSS9nURURSR55[	SSSSS9/45 URURSR55[	SSSSS9/45 g)	NT�rz
0.5 1alias1 bFr�r�r2z
0.5 1alias2 b)rrr;r
r�r;s  r�test_alias_invocation�'TestAddSubparsers.test_alias_invocation�
s����!�!�$�!�/������#�#�O�$9�$9�$;�<�
�E�s�d�c�
2�B�7�	
�	
����#�#�O�$9�$9�$;�<�
�E�s�d�c�
2�B�7�	
rc�v�URSS9nURURSR55 g)NTr�z
0.5 1alias3 b)rr�rFr
r;s  r�test_error_alias_invocation�-TestAddSubparsers.test_error_alias_invocation�
s8���!�!�$�!�/���&�&�v�'8�'8�'6�'<�'<�'>�	@rc��URSSS9nSUlURUR5[R
"S55 g)NT)rra	            usage: PROG [-h] [--foo] bar COMMAND ...

            main description

            positional arguments:
              bar                   bar help

            options:
              -h, --help            show this help message and exit
              --foo                 foo help

            commands:
              COMMAND
                1 (1alias1, 1alias2)
                                    1 help
                2                   2 help
                3                   3 help
            )r�maxDiffrrJryrzr;s  r�test_alias_help�!TestAddSubparsers.test_alias_help�
sH���!�!�$�t�!�D���������+�+�-�x���@�0�	r)r*r�r<)FNF)$r&r'r(r)r�rrWr-r5r<rCrKrPrSrYr]rargrnrrrur{rr�r�r�r�r�r�r�r�r�r�r�r*r+r,s@rr�r��s����@�>B�!�7�rI�
I�
�&
�,
#�T�,9�8;�>�/�/�'�

�

�'��"�&�$ �D�$�*�<=�
��	
�@�
�rr�c�&�\rSrSrSrSrSrSrg)�TestPositionalsGroupsi�
c��[5nURS5 URS5nURS5 URS5 [SSSS9nUR	S	R55nUR
X45 g)
Nr2r�rorprlr�r(r��1 2 3)r�r�r�r�rFr
r�rr<r��expectedr�s     r�test_nongroup_first�)TestPositionalsGroups.test_nongroup_first�
sv��+�-�����E�"��)�)�#�.��
���5�!����E�"��#�3�C�0���"�"�7�=�=�?�3������*rc��[5nURS5nURS5 URS5 URS5 [SSSS9nUR	S	R55nUR
X45 g)
N�xxxr2rorprlr�r(r�r��r�r�r�r�rFr
rr�s     r�test_group_first�&TestPositionalsGroups.test_group_first�
sv��+�-���)�)�%�0��
���5�!����E�"����E�"��#�3�C�0���"�"�7�=�=�?�3������*rc�\�[5nURS5nURS5 URS5 URS5 URS5nURS5 [SSS	S
S9nUR	SR55nUR
X45 g)
Nr�r2rorpr2�frellrlr�r(r�)r2rorpr�z1 2 3 4r�r�s     r�test_interleaved_groups�-TestPositionalsGroups.test_interleaved_groups�
s���+�-���)�)�%�0�����E�"�
���5�!����E�"��)�)�%�0��
���7�#��#�3�C�s�;���"�"�9�?�?�#4�5������*rr#N)r&r'r(r)r�r�r�r*r#rrr�r��
s��+�+�
+rr�c�^�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrU=r$)�TestParentParsersi�
c�8�UR"[/UQ70UD6 gr]r�r�s   rr��+TestParentParsers.assertArgumentParserError�
rrc�>�[TU]5 [SS9UlURR	S5 URRS5nUR	S5 URR	S5 [SS9UlURR	S5 URR	S5 URRS	5nUR	S
5 [SS9UlURR	S5 [SS9UlURR	S5 [SS9Ul	URR5nUR	SSS
9 UR	SSS
9 [RR[RS5Ulg)NF�rvz--wr#r6r3rr�r�z--dr�r*r+r)rrWr��wxyz_parentr�r��abcd_parent�w_parent�z_parent�ab_mutex_parent�add_mutually_exclusive_grouprarj�basenamer�r��main_program)r�x_group�c_groupr�rs    �rrW�TestParentParsers.setUp�
sb���
��
��5�u�E������%�%�e�,��"�"�5�5�c�:�����T�"����%�%�c�*�5�u�E������%�%�c�*����%�%�d�+��"�"�5�5�c�:�����U�#�2�E�B��
��
�
�"�"�5�)�2�E�B��
��
�
�"�"�3�'� :�5�I����$�$�A�A�C��
���4���5�
���4���5��G�G�,�,�S�X�X�a�[�9��rc	��[UR/S9nURURSR	55[SSSS95 g)N��parentsz-y 1 2 --w 3r(rlr��rwr�r3)r�r�rrFr
r�r;s  r�test_single_parent�$TestParentParsers.test_single_parentsE��+�T�5E�5E�4F�G������*�*�>�+?�+?�+A�B��c�S�C�0�	2rc��URURR5 [UR/S9nURUR5 g�Nr�)�_test_mutex_abr�rFr�r;s  r�test_single_parent_mutex�*TestParentParsers.test_single_parent_mutexsC�����D�0�0�;�;�<�+�T�5I�5I�4J�K�����F�-�-�.rc�|�UR/n[SUS9n[U/S9nURUR5 g)NF)rvr�r�)r�r�r�rF�rr�r<s   r�test_single_granparent_mutex�.TestParentParsers.test_single_granparent_mutexs<���'�'�(��+�U�G�L��+�V�H�=�����F�-�-�.rc��URU"/5[SSS95 URU"S/5[SSS95 URU"S/5[SSS95 URUSS/5 URUSS/5 URUS/5 URUSS/5 URUSS/5 g)NF�rr�r�Tr�r�)rr�r�)rrFs  rr�� TestParentParsers._test_mutex_ab%s�������B���e�u�)=�>�����T�F�+�R�$�%�-@�A�����T�F�+�R�%�4�-@�A��&�&�z�D�$�<�@��&�&�z�D�$�<�@��&�&�z�D�6�:��&�&�z�D�$�<�@��&�&�z�D�$�<�@rc��URUR/n[US9nURUR	SR55[
SSSSSSS95 g)Nr�z--d 1 --w 2 3 4r(rlr�r�)rr�r�rwr�r3)r�r�r�rrFr
r�r�s   r�test_multiple_parents�'TestParentParsers.test_multiple_parents/sZ���#�#�T�%5�%5�6��+�G�<������*�*�+<�+B�+B�+D�E��c�T�S�C�4�3�G�	Irc�b�URUR/n[US9nURUR	SR55[
SSSSSS95 URURSR55 URURS	R55 g)
Nr�z
-a --w 2 3TFr�r()rr�rwr�r3z
-a --w 2 3 -bz
-a -b --w 2 3)r�r�r�rrFr
r�r�r�s   r�test_multiple_parents_mutex�-TestParentParsers.test_multiple_parents_mutex5s����'�'��)9�)9�:��+�G�<������*�*�<�+=�+=�+?�@��d�e�s�d�c�B�	D��&�&�����4�4�6�	8��&�&�����4�4�6�	8rc��UR[R[RURUR
/S9 gr�)rr5rRr6r�r�r!s r�test_conflicting_parents�*TestParentParsers.test_conflicting_parents?s9������"�"��#�#��]�]�D�$4�$4�5�	�	7rc��UR[R[RURUR
/S9 gr�)rr5rRr6r�r�r!s r�test_conflicting_parents_mutex�0TestParentParsers.test_conflicting_parents_mutexEs;������"�"��#�#��%�%�t�';�';�<�	�	>rc	��URUR/n[US9nURUR	SR55[
SSSS95 g)Nr�rkr�r�)r�r�r�rrFr
r�r�s   r�test_same_argument_name_parents�1TestParentParsers.test_same_argument_name_parentsKsM���#�#�T�]�]�3��+�G�<������*�*�5�;�;�=�9��d�d�c�2�	4rc
��[5nUR5nURSUR/S9nUR	S5 URUR
SR55[SSSSS	95 g)
Nror�r�zbar -b 1 --d 2 3 4r(rlr�r�)rr�r�r�)	r�rrr�r�rrFr
r�)rr<r!�abcde_parsers    r�test_subparser_parents�(TestParentParsers.test_subparser_parentsQsw��+�-���*�*�,�
�!�,�,�U�T�=M�=M�<N�,�O���!�!�#�&�����*�*�+?�+E�+E�+G�H��c�S�C�3�7�	9rc��[5nUR5nUR/nURSUS9nUR	S5nURS5 URUR/nURSUS9nURS5 URURSR55[SS	S
S95 URURSR55[S	SS
SSS
S95 URURSR55 URURSR55 g)Nr2r�r�r�ror�zfoo -a 4TFr�r�zbar -b  --w 2 3 4r�r()rr�rwr�r3r�zfoo -a -b 4zbar -b -a 4)r�rr�rr�r�r�rrFr
r�r�)rr<r!r��
abc_parserr��wxyzabe_parsers       r�test_subparser_parents_mutex�.TestParentParsers.test_subparser_parents_mutexYs>��+�-���*�*�,�
��'�'�(���*�*�5�'�*�B�
��/�/�	�:�����S�!��#�#�T�%9�%9�:��#�.�.�u�g�.�F���#�#�C�(�����*�*�:�+;�+;�+=�>��d�e�s�3�	5�����*�*�+>�+D�+D�+F�G��e�t�s�d�c�S�I�	K��&�&����}�2�2�4�	6��&�&����}�2�2�4�	6rc	��URUR/n[US9nUR5nURnURU[R"SRXD(aSOS555 g)Nr�aG            usage: {}{}[-h] [-b B] [--d D] [--w W] [-y Y] a z

            positional arguments:
              a
              z

            options:
              -h, --help  show this help message and exit
              -b B
              --w W

            c:
              --d D

            x:
              -y Y
        � r$)	r�r�r�rJr�rryrz�format)rr�r<�parser_help�prognames     r�test_parent_help�"TestParentParsers.test_parent_helplsm���#�#�T�%5�%5�6��+�G�<���(�(�*���$�$������h�o�o�7�"
�F�8�H�S�"�6�#'8�	9rc	���[SS9nURSSS9nURS5 URS5 UR5nURS5 URS	5 [U/S
9nUR	[
UR/SQ5 UR5nURnURU[R"SRXf(aS
OS555 g)NFr�r��gd�r
rr�rr6r1r��r6r�r1r�z�            usage: {}{}[-h] [-w W] [-x X] [-y Y | -z Z]

            options:
              -h, --help  show this help message and exit
              -y Y
              -z Z

            g:
              gd

              -w W
              -x X
        r�r$)
r�r�r�r�rr�rFrJr�rryrzr�)r�parentr�r�r<r�r�s       r�test_groups_parents�%TestParentParsers.test_groups_parents�s���+�U�;���%�%�C�T�%�B��	���t��	���t���/�/�1��	���t��	���t��+�V�H�=�����-�v�/@�/@�"�	$��(�(�*���$�$������h�o�o�
7�
�F�8�H�S�"�6�
'8�
	9rc�8�UR[[S/S9 g)Nr�r�)rr�r�r!s r�test_wrong_type_parents�)TestParentParsers.test_wrong_type_parents�s�����)�%?�!���Mrc��[SS9nURSSS9nURS5 URS5 UR5nURS5 URS	5 [S
U/S9nUR	[
UR/SQ5 UR5nURU[R"S
55 g)NFr�r�r�r�r�rr6r1r)rr�rz�            usage: PROG [-h] [-w W] [-x X] [-y Y | -z Z]

            options:
              -h, --help  show this help message and exit

            g:
              gd

              -w W
              -x X
              -y Y
              -z Z
        )r�r�r�r�rr�rFrJrryrz)rrr�r�r<r�s      r�test_mutex_groups_parents�+TestParentParsers.test_mutex_groups_parents�s���+�U�;���%�%�C�T�%�B��	���t��	���t��
�*�*�,��	���t��	���t��+��&��J�����-�v�/@�/@�"�	$��(�(�*������h�o�o�
7�
'
�
	r)r�r�r�r�r�r�)r&r'r(r)r�rWr�r�r�r�r�r�r�r�r�r�r�r�rrrr*r+r,s@rr�r��
sa���@�:�82�
/�
/�A�I�8�7�>�4�9�6�&9�09�<N��rr�c�2�\rSrSrSrSrSrSrSrSr	g)	� TestMutuallyExclusiveGroupErrorsi�c�\�[5nURnU"[URSS9 g)Nr2)r
)r�rr�r�)rr<�raisess   r�test_invalid_add_argument_group�@TestMutuallyExclusiveGroupErrors.test_invalid_add_argument_group�s'��+�-���"�"���y�&�=�=�U�Krc��[5nUR5nURnURnU"[USSS9 U"[US5 U"[USSS9 U"[USSS9 U"[US[
RS9 g)Nr Trjror�r�r�)r�r�r�rr�r5�PARSER)rr<r�r�r
s     r�test_invalid_add_argument�:TestMutuallyExclusiveGroupErrors.test_invalid_add_argument�sv��+�-���3�3�5���)�)���"�"���z�<��4�@��z�<��/��z�<��c�:��z�<��a�8��z�<��h�o�o�Frc�B�[SS9nUR5nURSSS9 URSSS9 UR5nURSSS9 URS	SS9 S
nURUR	5[
R"U55 g)Nr�rr r*r+rZr�z--soupz--nutsz�            usage: PROG [-h] [--foo | --bar] [--soup | --nuts]

            options:
              -h, --help  show this help message and exit
              --foo
              --bar
              --soup
              --nuts
              )r�r�r�rrJryrz)rr<�group1�group2r�s     rr{�*TestMutuallyExclusiveGroupErrors.test_help�s���+��8���4�4�6�����G�L��9����G�M��:��4�4�6�����H�\��:����H�]��;�	��	
����+�+�-�x���x�/H�Irc	��SUl[SS9nURSSS9nURS5nUR	5nURSS[RS	9 URS
S[RS	9 SnSnURU5 S
USUSUSUS3	nURUR5[R"U55 g)NrrrrW)r
rSr2r�r*r�--quietz�--longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongڀLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGz>            usage: PROG foo [-h]
                            [r�zj]

            options:
              -h, --help            show this help message and exit
              z
              )r�r�rrr�r�r5r�rrJryrz)rr<r�cmd_foor��longopt�longmetar�s        r�Ctest_help_subparser_all_mutually_exclusive_group_members_suppressed�dTestMutuallyExclusiveGroupErrors.test_help_subparser_all_mutually_exclusive_group_members_suppressed�s������+��8���(�(�z�	�(�J���%�%�e�,���4�4�6��
���;�|�(�BS�BS��T�
���9�\��@Q�@Q��R�"�������W�%��%�Y�a��z�2��i�q��
�#�
��	
����,�,�.�����0I�Jrc���[R"5nUR5nUR[5 URS/5 SSS5 g!,(df   g=f)Nr@)r5r6r�rr�rF�rr<r�s   r�test_empty_group�1TestMutuallyExclusiveGroupErrors.test_empty_groupsH���(�(�*���3�3�5��
�
�
�z�
*����t�f�%�+�
*�
*�s�A�
A%)r�N)
r&r'r(r)rrr{rr#r*r#rrrr�s��L�
	G�J�(K�*&rrc�D�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rg)�MEMixinic��URSS9Rn[nURH;nUR	US9 URX!UR
55 SSS5 M= g!,(df   MO=f�NFrjr��
get_parserrFr�r	rGrr
�rrFr��args_strings    r�test_failures_when_not_required�'MEMixin.test_failures_when_not_required
sa���_�_�e�_�4�?�?�
�#���=�=�K����;��/��!�!�%�[�5F�5F�5H�I�0�/�)�/�/�s�!A,�,
A;	c��URSS9Rn[nURS/-H;nUR	US9 URX!UR
55 SSS5 M= g!,(df   MO=f)NTrjr$rr)r+s    r�test_failures_when_required�#MEMixin.test_failures_when_requiredsh���_�_�d�_�3�>�>�
�#���=�=�B�4�/�K����;��/��!�!�%�[�5F�5F�5H�I�0�/�0�/�/�s�!A0�0
A?	c� �URSS9RnURUR-nUHDup4UR	US9 U"UR55nUR
XT5 SSS5 MF g!,(df   MX=fr()r*rFr�successes_when_not_requiredrGr
r)rrFrr,r�	actual_nss      r� test_successes_when_not_required�(MEMixin.test_successes_when_not_requiredsw���_�_�e�_�4�?�?�
��N�N�T�%E�%E�E�	�(1�$�K����;��/�&�{�'8�'8�':�;�	�� � ��8�0�/�)2�/�/�s�	(A>�>
B
	c��URSS9RnURHDup#URUS9 U"UR	55nURXC5 SSS5 MF g!,(df   MX=f)NTrjr)r*rFrrGr
r)rrFr,rr4s     r�test_successes_when_required�$MEMixin.test_successes_when_required sg���_�_�d�_�3�>�>�
�(,���$�K����;��/�&�{�'8�'8�':�;�	�� � ��8�0�/�)7�/�/�s�(A/�/
A>	c��URSS9RnURnURU"5[R
"U55 g�NFrj)r*rI�usage_when_not_requiredrryrz�rrI�expected_usages   r�test_usage_when_not_required�$MEMixin.test_usage_when_not_required's>�������6�C�C���5�5�����������)H�Irc��URSS9RnURnURU"5[R
"U55 g�NTrj)r*rI�usage_when_requiredrryrzr=s   r�test_usage_when_required� MEMixin.test_usage_when_required,s>�������5�B�B���1�1�����������)H�Irc��URSS9RnURUR-nUR	U"5[
R"U55 gr;)r*rJr<rHrryrz�rrJrHs   r�test_help_when_not_required�#MEMixin.test_help_when_not_required1sG���o�o�u�o�5�A�A���+�+�d�i�i�7�����������(=�>rc��URSS9RnURUR-nUR	U"5[
R"U55 grB)r*rJrCrHrryrzrGs   r�test_help_when_required�MEMixin.test_help_when_required6sG���o�o�t�o�4�@�@���'�'�$�)�)�3�����������(=�>rr#N)
r&r'r(r)r-r0r5r8r?rDrHrKr*r#rrr&r&s.��J�J�9�9�J�
J�
?�
?rr&c	��\rSrSrSSjrSS/rS\"SSS94S	\"S
SS94S\"SSS94S
\"SS
S94/rS\"SSS94/rSr	Sr
SrSrg)�TestMutuallyExclusiveSimplei<Nc�z�[SS9nURUS9nURSSS9 URSSS	S
S9 U$)NrrrjrZr	r�r�r�r��baz help)r�r0rH�r�r�r��rr�r<r�s    rr*�&TestMutuallyExclusiveSimple.get_parser>sN��+��8���3�3�X�3�F��
���7���4�
���7�#�S�z��J��
r�--bar X --baz Yz
--bar X --baz�--bar Xra�rorpz--bar X --bar Zr��--baz Yr�r�r$z;        usage: PROG [-h] [--bar BAR | --baz [BAZ]]
        z;        usage: PROG [-h] (--bar BAR | --baz [BAZ])
        z�
        options:
          -h, --help   show this help message and exit
          --bar BAR    bar help
          --baz [BAZ]  baz help
        r#r]�
r&r'r(r)r*r	r�rr3r<rCrHr*r#rrrNrN<s����"�?�3�H�	�B�3�D�)�*�	�B�3�D�1�2�	�B�4�S�)�*�	�"��3�'�(�	�I�
�R�D�d�
#�$�#�������DrrNc��\rSrSrSSjrS/rS\"SSSSS94S\"S	SSSS94S
\"SSSSS94S\"SS	SSS94/rS\"SSSSS94/rS
r	Sr
SrSrg)�TestMutuallyExclusiveLongi_Nc��[SS9nURSSS9 URSSS9 URUS9nURS	S
S9 URSSS9 U$)
Nrrz--abcdez
abcde helpr�z--fghijz
fghij helprjz--klmnoz
klmno helpz--pqrstz
pqrst help�r�r�r�rRs    rr*�$TestMutuallyExclusiveLong.get_parserasp��+��8�����I�L��9����I�L��9��3�3�X�3�F��
���9�<��8�
���9�<��8��
rz--klmno X --pqrst Yz	--klmno Xra)�abcde�fghij�klmno�pqrstz--abcde Y --klmno Xr�z	--pqrst Xz--pqrst X --fghij Yr$zi    usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ] [--klmno KLMNO |
                --pqrst PQRST]
    zi    usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ] (--klmno KLMNO |
                --pqrst PQRST)
    z�
    options:
      -h, --help     show this help message and exit
      --abcde ABCDE  abcde help
      --fghij FGHIJ  fghij help
      --klmno KLMNO  klmno help
      --pqrst PQRST  pqrst help
    r#r]rXr#rrrZrZ_s����&�&�H�	�b�t�4�s�$�G�H�	��S��C�t�<�	>�	�b�t�4�t�3�G�H�	��T��D��<�	>��I�
�R�d�$�d�$�
?�@�#�������DrrZc�t�\rSrSrSrS/rS\"SSS94S\"S	SS94S
\"SSS94/rS
\"SSS94/rSr	Sr
SrSrg)�$TestMutuallyExclusiveFirstSuppressedi�c��[SS9nURUS9nURS[RS9 URSSSS	9 U$)
Nrrrjrr�r6r�rr�r�r�r�r5r�rRs    rr*�/TestMutuallyExclusiveFirstSuppressed.get_parser�sR��+��8���3�3�X�3�F��
���4�h�&7�&7��8�
���4�
�H��E��
rz-x X -yz-x XraTr�z	-x X -x Yr�r6NFr$z&        usage: PROG [-h] [-y]
        z$        usage: PROG [-h] -y
        zm
        options:
          -h, --help  show this help message and exit
          -y          y help
        r#rXr#rrrcrc�st����{�H�	��c�T�"�#�	�b�3�$�'�(�	
�r�D�E�"�#��I�
�R�$�$�
� �#�������Drrcc
��\rSrSrSr/SQrS\"SSSS94S\"S	S	SS94S
\"S	SSS94S\"SSSS94/rS
\"S	SSS94/rS=r	r
SrSrg)�#TestMutuallyExclusiveManySuppressedi�c���[SS9nURUS9nURnU"SS[RS9 U"SS[RS9 U"S	[RS
9 U$)Nrrrj�--spamr*rrYr�z	--bladderr�re)rr�r<r�rjs     rr*�.TestMutuallyExclusiveManySuppressed.get_parser�sc��+��8���3�3�X�3�F��� � ���H�\��0A�0A�B��J�}�8�3D�3D�E��K�h�/�/�0��
r)z--spam --badgerz--badger --bladder Bz--bladder B --spamrjTN)r�r_�bladderrYFz--bladder Brmz
--spam --spamr$z!        usage: PROG [-h]
        �P
        options:
          -h, --help  show this help message and exit
        r#�
r&r'r(r)r*r	r�rr3rCr<rHr*r#rrrhrh�s�����H�
�2�4��d�;�<�	�R�U�5�$�?�@�	���d�C�@�A�	�"�$�t�T�B�C�	�I�
�R�U�4��
6�7�#��5���1��Drrhc
��\rSrSrSr/SQrS\"SS/S94S\"S	S
/S94S\"S	SS/S94S\"S	S/S
QS94/rS\"S	S/S94/rSr	Sr
SrSrg)�*TestMutuallyExclusiveOptionalAndPositionali�c��[SS9nURUS9nURSSSS9 URSS	S
9 URSSS
S9 U$)Nrrrjr r*�FOOrrj�SPAMr�r_r��BADGERrrQrRs    rr*�5TestMutuallyExclusiveOptionalAndPositional.get_parser�sa��+��8���3�3�X�3�F��
���7�<�e��D�
���8�&��1�
���8�3�X��>��
r)z--foo --spam Sz
--spam S XzX --foozX Y Z --spam S�	--foo X Yr TN�r2r�r_z--spam SF�SrazX Y Z)rar�r�r$zD        usage: PROG [-h] [--foo | --spam SPAM | badger ...]
        zD        usage: PROG [-h] (--foo | --spam SPAM | badger ...)
        z�
        positional arguments:
          badger       BADGER

        options:
          -h, --help   show this help message and exit
          --foo        FOO
          --spam SPAM  SPAM
        r#rXr#rrrprp�s�����H�
�"��D��4�5�	�R�E��B�7�8�	�b�U��s�e�4�5�	�"��T�/�B�C�	�I�
�R�E��R�
0�1�#������	�Drrpc��\rSrSrSr/SQrS\"SSSSSS94S\"SSSSSS94S	\"SSSSSS94S
\"SSSSSS94S\"SSSSSS94S\"SSSSSS94/rS
\"SSSSSS94S\"SSSSSS94S\"SSSSSS94/rS=r	r
SrSrg)�#TestMutuallyExclusiveOptionalsMixedi�c���[SS9nURSSSS9 URUS9nURSSS	S9 URS
SSS9 URSSS
S9 URSSSS9 U$)Nrrrr*rrrjr��a helpr��b helpr6rr��c helpr\rRs    rr*�.TestMutuallyExclusiveOptionalsMixed.get_parser�s���+��8�����D��H��E��3�3�X�3�F��
���4��8��D�
���4��8��D����D��H��E�
���4��8��D��
r)z-a -b�-b -cz-a -cz-a -b -cr�TF�rr�r�r#r�r�r�z-a -xz-y -bz-x -y -cr$rr6z:        usage: PROG [-h] [-x] [-a] [-b] [-y] [-c]
        z�
        options:
          -h, --help  show this help message and exit
          -x          x help
          -a          a help
          -b          b help
          -y          y help
          -c          c help
        r#Nrnr#rrrzrz�s����7�H�	
�r�D�E�U�e�u�=�>�	
�r�E�T�U�e�u�=�>�	
�r�E�U�d�e�u�=�>�	�"�t�u����?�@�	�"�u����$�?�@�	�R�%�5�D�D�D�A�B�
�I�
�R�%�5�E�U�e�
<�=�	
�r�E�U�e�t�u�=�>�	
�r�E�U�e�u��=�>�#��5���1�	�Drrzc�j�\rSrSrSSjrSS/rS\"SSS94S	\"SS
S94/rS\"SSS94/rSr	S
r
SrSrg)�TestMutuallyExclusiveInGroupi&
Nc��[SS9nURSSS9nURUS9nURSSS	9 URS
SS	9 U$)NrrzTitled groupzGroup descriptionr�rjrZr	r�r�rP)r�r�r�r�)rr�r<�titled_group�mutex_groups     rr*�'TestMutuallyExclusiveInGroup.get_parser(
sk��+��8���0�0� �.A�1�C��
�5�5�x�5�H�	�� � ��z� �:�� � ��z� �:��
rrTz--baz X --bar YrUrarVrWr�r$z9        usage: PROG [-h] [--bar BAR | --baz BAZ]
        z9        usage: PROG [-h] (--bar BAR | --baz BAZ)
        z�
        options:
          -h, --help  show this help message and exit

        Titled group:
          Group description

          --bar BAR   bar help
          --baz BAZ   baz help
        r#r]rXr#rrr�r�&
si���"�#4�5�H�	�B�3�D�)�*�	�B�4�S�)�*��I�

�R�D�d�
#�$�#������
�Drr�c
���\rSrSrSr/SQrS\"SSSSSS94S	\"S
SSSSS94S\"S
SSSSS94S
\"SSSSSS94S\"S
SSSSS94/rS\"S
SSSSS94S\"S
SSSSS94/rS=r	r
SrSrg
)�1TestMutuallyExclusiveOptionalsAndPositionalsMixediN
c���[SS9nURSSS9 URSSSS	9 URUS
9nURSSS
S9 URSSSS	9 URSSSS	9 U$)Nrrr#rr�r6r*rrrjrr�r|rr�r}r�r~r\rRs    rr*�<TestMutuallyExclusiveOptionalsAndPositionalsMixed.get_parserP
s���+��8�����C�h��/����D��H��E��3�3�X�3�F��
���3�c���9�
���4��8��D�
���4��8��D��
r)zX A -br�z-c X AzX Ar�Frar�zX -bNTzX -czX A -yzX -y -bzX -yz6        usage: PROG [-h] [-y] [-b] [-c] x [a]
        a
        positional arguments:
          x           x help
          a           a help

        options:
          -h, --help  show this help message and exit
          -y          y help
          -b          b help
          -c          c help
        r#rnr#rrr�r�N
s����-�H�	��S�E�U�c�U�;�<�	��d�d�e�s�e�<�=�	��d�e�t�s�e�<�=�	�2��u����=�>�	�B����#��>�?��I�

�b�4�5�E�S�E�:�;�	��d�e�u��t�<�=�#��
5���1��Drr�c�6�\rSrSrSrSrSrSrSrSr	Sr
SrSrg)�TestMutuallyExclusiveNestediw
c�f�[SS9nURUS9nURS5 URS5 [R"5 [R
"S[5 URUS9nSSS5 WRS5 URS5 [R"5 [R
"S[5 URUS9nSSS5 WRS	5 URS
5 U$!,(df   N�=f!,(df   NC=f)Nrrrjr�r�r'r�r�r�r?)r�r�r��warnings�catch_warnings�simplefilterr�)rr�r<r�r�group3s      rr*�&TestMutuallyExclusiveNested.get_parser~
s���+��8���3�3�X�3�F��
���4� �
���4� �
�
$�
$�
&��!�!�(�,>�?��7�7��7�J�F�'�	���D�!����D�!�
�
$�
$�
&��!�!�(�,>�?��8�8�(�8�K�F�'�	���D�!����D�!��
�'�
&��
'�
&�s�+D�:+D"�
D�"
D0zO        usage: PROG [-h] [-a A | -b B | [-c C | -d D | [-e E | -f F]]]
        zO        usage: PROG [-h] (-a A | -b B | (-c C | -d D | (-e E | -f F)))
        z�
        options:
          -h, --help  show this help message and exit
          -a A
          -b B
          -c C
          -d D
          -e E
          -f F
        Nr#)
r&r'r(r)r*r<rCrHr-r0r5r8r*r#rrr�r�w
s8���"����
�D�'+�#�"&��'+�$�#'� rr�c�z�\rSrSrSSjrSS/rS\"SSS94S	\"SSS94S
\"SSS94/rS\"SSS94/rSr	S
r
SrSrg)�%TestMutuallyExclusiveOptionalOptionali�
Nc�x�[SS9nURUS9nURS5 URSSS9 U$)Nrrrjr rZr�r�rQrRs    rr*�0TestMutuallyExclusiveOptionalOptional.get_parser�
sE��+��8���3�3�X�3�F��
���7�#�
���7�#��.��
r�--foo X --bar Yz
--foo X --bar�--foo XrarorUrZr$z;        usage: PROG [-h] (--foo FOO | --bar [BAR])
        z;        usage: PROG [-h] [--foo FOO | --bar [BAR]]
        z{
        options:
          -h, --help   show this help message and exit
          --foo FOO
          --bar [BAR]
        r#r]rnr#rrr�r��
s|���	���H�

�B�3�D�)�*�	�B�4�S�)�*�	�"��4�(�)��I�
�R�D�d�
#�$�#�������Drr�c�z�\rSrSrSSjrSS/rS\"SSS	94S
\"SSS	94S\"SSS	94/rS
\"SSS	94/rSr	Sr
SrSrg)�(TestMutuallyExclusiveOptionalWithDefaulti�
Nc��[SS9nURUS9nURS5 URS[SS9 U$)Nrrrjr rZTr]�r�r�r�r�rRs    rr*�3TestMutuallyExclusiveOptionalWithDefault.get_parser�
sG��+��8���3�3�X�3�F��
���7�#�
���7��t��<��
rr�z--foo X --bar=r�raTrorUz--bar=Fr$z9        usage: PROG [-h] (--foo FOO | --bar BAR)
        z9        usage: PROG [-h] [--foo FOO | --bar BAR]
        zx
        options:
          -h, --help  show this help message and exit
          --foo FOO
          --bar BAR
        r#r]rnr#rrr�r��
s|���	���H�

�B�3�D�)�*�	�B�4�T�*�+�	�2�$�E�*�+��I�
�R�D�d�
#�$�#�������Drr�c�h�\rSrSrSSjrS/rS\"SSS94S\"SSS94/rS	\"SSS94/rS
r	Sr
SrS
rg)�*TestMutuallyExclusivePositionalWithDefaulti�
Nc��[SS9nURUS9nURS5 URSS[SS9 U$)	Nrrrjr ror�Trjr�rRs    rr*�5TestMutuallyExclusivePositionalWithDefault.get_parser�
sI��+��8���3�3�X�3�F��
���7�#�
���5��$���E��
rrvr�raTror$z3        usage: PROG [-h] (--foo FOO | bar)
        z3        usage: PROG [-h] [--foo FOO | bar]
        z�
        positional arguments:
          bar

        options:
          -h, --help  show this help message and exit
          --foo FOO
        r#r]rnr#rrr�r��
sj���	��H�
�B�3�D�)�*�	�b�T�t�$�%��I�

�R�D�d�
#�$�#�������Drr�c�,^�\rSrSrSU4SjjrSrU=r$)�MEPBaseic�V>�[[U]US9n[URSU/S9nU$)NrjF)rrvr�)rr�r*r�r)rr�rr<rs    �rr*�MEPBase.get_parsers4����w��0�(�0�C��+����u�v�h�@���
rr#r])r&r'r(r)r*r*r+r,s@rr�r�s
����rr�c��\rSrSrSrg)�&TestMutuallyExclusiveGroupErrorsParentir#Nr�r#rrr�r����rr�c��\rSrSrSrg)�!TestMutuallyExclusiveSimpleParenti#r#Nr�r#rrr�r�#r�rr�c��\rSrSrSrg)�TestMutuallyExclusiveLongParenti(r#Nr�r#rrr�r�(r�rr�c��\rSrSrSrg)�*TestMutuallyExclusiveFirstSuppressedParenti-r#Nr�r#rrr�r�-r�rr�c��\rSrSrSrg)�)TestMutuallyExclusiveManySuppressedParenti2r#Nr�r#rrr�r�2r�rr�c��\rSrSrSrg)�0TestMutuallyExclusiveOptionalAndPositionalParenti7r#Nr�r#rrr�r�7r�rr�c��\rSrSrSrg)�)TestMutuallyExclusiveOptionalsMixedParenti<r#Nr�r#rrr�r�<r�rr�c��\rSrSrSrg)�7TestMutuallyExclusiveOptionalsAndPositionalsMixedParentiAr#Nr�r#rrr�r�Ar�rr�c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�TestSetDefaultsiIc���[5nURSS9 URSSS9 UR[SSSS9UR	/55 UR[SSSS9UR	/[555 UR[SSSS9UR	/[SS955 UR[SSSS9UR	/[SSS	955 g)
Nr2r"ror�)r�r3r�rpr�)r#r3�r��set_defaultsrr�rFr;s  r�test_set_defaults_no_args�)TestSetDefaults.test_set_defaults_no_argsKs���+�-�����e��$����e�q��)�����e�u��2��*�*�2�.�	0�����e�u��2��*�*�2�r�t�4�	6�����e�u��2��*�*�2�r�E�{�;�	=�����e�u��2��*�*�2�r�E�Q�/?�@�	Brc
���[5nURSSS9 URSSS9 UR[	SSS9UR/55 UR[	SSS9UR/[	555 UR[	SSS9UR/[	SS955 UR[	S	SS9URS
R
555 UR[	S	SS9URS
R
5[	555 UR[	S	SS9URS
R
5[	SS955 g)Nr2ror�r�xfooxr�rpr"rlr�)r�r�r�rr�rFr
r;s  r�test_set_defaults_with_args�+TestSetDefaults.test_set_defaults_with_argsXs6��+�-�����e�u��-����D�'��2�����g��/��*�*�2�.�	0�����g��/��*�*�2�r�t�4�	6�����e�u�-��*�*�2�r�E�{�;�	=�����c�U�+��*�*�6�<�<�>�:�	<�����c�U�+��*�*�6�<�<�>�2�4�@�	B�����c�U�+��*�*�6�<�<�>�2��;�G�	Irc��[5nURSS9 UR5nURS5nURSS9 UR	[SSS9UR
SR555 g)Nr2r"rror�r�)r�r�rrrr�rFr
)rr<r!�parser_as    r�test_set_defaults_subparsers�,TestSetDefaults.test_set_defaults_subparsersisu��+�-�����e��$��*�*�,�
��(�(��-�������&�����e�u�-��*�*�3�9�9�;�7�	9rc��[SS9nURSS9 [U/S9nUR[SS9UR	/55 g)NFr�r2r"r�r�)rrr<s   r�test_set_defaults_parents�)TestSetDefaults.test_set_defaults_parentsrsH��+�U�;�����e��$�+�V�H�=������e��f�&7�&7��&;�<rc��[R"5nUR5RS5nUR	SS9 UR	SS9 UR[
SS9URS/55 g)Nrar�r;r�)r5r6rrr�rr�rF)rr<�xparsers   r�)test_set_defaults_on_parent_and_subparser�9TestSetDefaults.test_set_defaults_on_parent_and_subparserxsl���(�(�*���'�'�)�4�4�S�9�������"������#�������F�$5�$5�s�e�$<�=rc	��[5nURSSSSS9 URS5 URSSS	9 URS
SS9 URS
SSS9 UR[	SSSSS9UR/55 URSSSSS9 UR[	SSSSS9UR/55 g)N�Wrar�r�r�r�r�XXr�r�r�r�r3�ZZr��WW�YY)r�r�r�rr�rFr;s  r�&test_set_defaults_same_as_add_argument�6TestSetDefaults.test_set_defaults_same_as_add_arguments���+�-�����c�S�C�3��7����D�!����D�$��/����C�s��+����C�s�D��9�	
����c�T�S�D�9��*�*�2�.�	0�	���d�c�T�S��9�����d�c�T�S�9��*�*�2�.�	0rc	��[5nURSSSSS9 URS5nURS5 URSS	S
9 URSSS
9 URSSSS9 UR	[SS	SSS9UR
/55 URSSSSS9 UR	[SSSSS9UR
/55 g)Nr�rar�r�r�r2r�rr�r�r�r�r�r3r�r�r�r�)r�r�r�r�rr�rFr"s   r�,test_set_defaults_same_as_add_argument_group�<TestSetDefaults.test_set_defaults_same_as_add_argument_group�s���+�-�����c�S�C�3��7��)�)�%�0��
���4� �
���4���.�
���3�c��*�
���3�c�4��8�	
����c�T�S�D�9��*�*�2�.�	0�	���d�c�T�S��9�����d�c�T�S�9��*�*�2�.�	0rr#N)r&r'r(r)r�r�r�r�r�r�r�r*r#rrr�r�Is'��B�I�"9�=�>�0�"0rr�c��\rSrSrSrSrg)�TestGetDefaulti�c��[5nURURS55 URURS55 URS5 URURS55 URURS55 URS[SS9 URURS55 URSURS55 UR
SS9 URSURS55 URSURS55 g)	Nr2ror rZr.r]r_r;)r�re�get_defaultr�r�rr�r;s  r�test_get_default�TestGetDefault.test_get_default�s��+�-�����&�,�,�U�3�4����&�,�,�U�3�4����G�$����&�,�,�U�3�4����&�,�,�U�3�4����G�#�r��:����&�,�,�U�3�4�����V�/�/��6�7������)�����6�#5�#5�e�#<�=�����V�/�/��6�7rr#N)r&r'r(r)r�r*r#rrr�r��s��8rr�c� �\rSrSrSrSrSrg)�TestNamespaceContainsSimplei�c�v�[R"5nURSU5 URSU5 g)Nr$r#)r5�	Namespace�assertNotIn�r�nss  r�
test_empty�&TestNamespaceContainsSimple.test_empty�s0��
�
�
�
!������R� �����b�!rc���[R"SSS9nURSU5 URSU5 URSU5 URSU5 URSU5 g)	Nr�r�r�r$r#r��xxr3)r5r�r�r�r�s  r�test_non_empty�*TestNamespaceContainsSimple.test_non_empty�s`��
�
�
�!�q�
)������R� ��
�
�c�2���
�
�c�2������r�"�����b�!rr#N)r&r'r(r)r�r�r*r#rrr�r��s��"�
"rr�c��\rSrSrSrSrg)�TestHelpFormattingMetaclassi�c�X�US:Xag"SS[5nSHupVU"XU5 M g)N�HelpTestCasec�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�6TestHelpFormattingMetaclass.__init__.<locals>.AddTestsi�c���X lX0lURURUR4H/nUR
<SU<3nU4SjnXVl[XU5 M1 g![a Nf=f)Nr�c��U"U5 gr]r#r�s  r�test_wrapper�UTestHelpFormattingMetaclass.__init__.<locals>.AddTests.__init__.<locals>.test_wrapper�r�r)�func_suffix�std_name�test_format�
test_print�test_print_filer&r�r�)r�
test_classr�r�r�rr�s       rr�?TestHelpFormattingMetaclass.__init__.<locals>.AddTests.__init__�sw��#.� � (�
�"&�"2�"2�"&�/�/�"&�"6�"6�"8�I�,5�+=�+=�{� K�I�5>�(��09�-��J�<�@�"8��%����s�
A$�$
A1�0A1c�v�[R"URR0URRD6n[US/5H)nUR"UR0URD6 M+ [US/5nUHZupVUR"UR0URD6nUH)nUR"UR0URD6 M+ M\ [US/5nU(a?UR5n	UH)n
U	R"U
R0U
RD6 M+ U$)Nr��argument_group_signatures�subparsers_signatures)
r5r6r�r�r�r�r�r�rr)rrr<�argument_sig�
group_sigs�	group_sig�
argument_sigsr��subparsers_sigsr!�
subparser_sigs           rr�BTestHelpFormattingMetaclass.__init__.<locals>.AddTests._get_parser�s=��!�0�0��,�,�1�1�6��-�-�4�4�6��%,�F�4I�2�$N�L��'�'��):�):�?�*6�*=�*=�?�%O�%�V�-H�"�M�
�0:�,�I�"�5�5�y�~�~�J�8A�8H�8H�J�E�(5���*�*�L�,=�,=�B�-9�-@�-@�B�)6�1;�#*�&�2I�2�"N��"�!'�!6�!6�!8�J�)8�
�"�-�-�}�/A�/A�G�1>�1E�1E�G�*9��
rc��[XR5n[R"U5nSUlURX25 gr])r�r�ryrzr�r)rr�parser_text�
expected_texts    r�_test�<TestHelpFormattingMetaclass.__init__.<locals>.AddTests._tests5�� '��0@�0@� A�
� (���
� >�
�!%����"�"�=�>rc��URU5n[USUR-5nURX"55 g)Nz	format_%s)rr�r�r
)rrr<r�s    rr��BTestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_formats9���)�)�&�1�� ���t�7G�7G�)G�H���
�
�6�6�8�,rc���URU5n[USUR-5n[[UR5n[[UR[
55 U"5 [[UR5R5n[[URU5 URX5 g![[URU5 f=f�Nzprint_%s)	rr�r�r�r�r�r
rr
)rrr<�print_�
old_streamrs      rr��ATestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_prints����)�)�&�1�� ���d�6F�6F�)F�G��$�S�$�-�-�8�
���T�]�]�K�M�:�<��H�")�#�t�}�}�"=�"F�"F�"H�K��C����
�;��
�
�6�/���C����
�;�s�)/C�C"c��URU5n[USUR-5n[5nU"U5 UR	5nURX5 gr)rr�r�r
rr
)rrr<r�sfilers      rr��FTestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_print_filesO���)�)�&�1�� ���d�6F�6F�)F�G��#�
���u�
�#�n�n�.���
�
�6�/r)r�r�N)r&r'r(r)rrr
r�r�r�r*r#rrrr��s!��
A�"
�,
?�
-�


0�
0rr))�usager�)rHr�)r)rrsrrrr�r�s       rr�$TestHelpFormattingMetaclass.__init__�s5���>�!��F	0�v�F	0�R&:�!�K��S�x�0�&:rr#Nr�r#rrr�r��s��O1rr�r�c	��\rSrSr\"SSSS9r\"SSSS	S
9\"SSS
S9\"SSS9\"SSS9\"SSS9/r/rSr\S-r	Sr
Srg)�TestHelpBiggerOptionalsi(r�DESCRIPTION�EPILOG�rr�epilogr�r�r��0.1r�rr*�X HELPr�--y�Y HELPr�r2�FOO HELPro�BAR HELPz;        usage: PROG [-h] [-v] [-x] [--y Y] foo bar
        aW
        DESCRIPTION

        positional arguments:
          foo            FOO HELP
          bar            BAR HELP

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
          -x             X HELP
          --y Y          Y HELP

        EPILOG
    �        0.1
        r#N�r&r'r(r)r�r�r�r�rrHr�r*r#rrrr(s����M�"*�,��	�D�+�i��?��D��H�5��E��!��E�
�#��E�
�#���!#��
�E����D� �Grrc��\rSrSrSr\Rr\Rr\RrSr	\	S-r
\RrSrg)�TestShortColumnsiLc�p�UR[R"55nURSS5 g)NrRr�)rSrrTr�rUs  rrW�TestShortColumns.setUpRs)�����	� =� =� ?�@�����	�4� rz�        usage: PROG
               [-h]
               [-v]
               [-x]
               [--y Y]
               foo
               bar
        a�
        DESCRIPTION

        positional arguments:
          foo
            FOO HELP
          bar
            BAR HELP

        options:
          -h, --help
            show this
            help
            message and
            exit
          -v, --version
            show
            program's
            version
            number and
            exit
          -x
            X HELP
          --y Y
            Y HELP

        EPILOG
    r#N)
r&r'r(r)rWrr�r�r�rrHr�r*r#rrr'r'LsR��!�#:�"J�"J��"9�"M�"M��"9�"S�"S��
�E����D�:#:�"A�"A�Grr'c	��\rSrSr\"SSSS9r\"SSSS	S
9\"SSS
S9\"SSS9\"SSS9\"SSS9/r\"SSS9\"SSS9\"SSSS9/4/rSr\S -r	S!r
S"rg#)$�TestHelpBiggerOptionalGroupsi�rrrrr�r�r�rr�rr*rrr r!r�r2r"ror#zGROUP TITLEzGROUP DESCRIPTIONrrpzBAZ HELPr1r�zZ HELPrzN        usage: PROG [-h] [-v] [-x] [--y Y] [-z Z [Z ...]] foo bar baz
        a�
        DESCRIPTION

        positional arguments:
          foo            FOO HELP
          bar            BAR HELP

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
          -x             X HELP
          --y Y          Y HELP

        GROUP TITLE:
          GROUP DESCRIPTION

          baz            BAZ HELP
          -z Z [Z ...]   Z HELP

        EPILOG
    r$r#Nr%r#rrr+r+�s�����M�"*�,��	�D�+�i��?��D��H�5��E��!��E�
�#��E�
�#���

�]�(;�	<���J�'���C�h�/�?1�	2�!��

�E����D�,�Grr+c�n�\rSrSr\"SSS9r\"SSSS9\"S	S
S9\"SS
S9\"SSS9/r/rSr\S-r	Sr
Srg)�TestHelpBiggerPositionalsi��USAGEr�rrrr*rrr r!r��ekiekiekifekangzEKI HELPror#�        usage: USAGE
        a
        DESCRIPTION

        positional arguments:
          ekiekiekifekang  EKI HELP
          bar              BAR HELP

        options:
          -h, --help       show this help message and exit
          -x               X HELP
          --y Y            Y HELP
        r$r#Nr%r#rrr-r-�sk����m�D���D��H�5��E��!���J�/��E�
�#�	��!#��
�E����D��Grr-c�v�\rSrSr\"SSS9r\"SSSS9\"S	S
SS9/r\"SS
S9\"SSSS9/4/rSr\S-r	Sr
Srg)�TestHelpReformattingi�rze   oddly    formatted
description

that is so long that it should go onto multiple lines when wrappedrrr�zoddly
    formatted -x help�r�rHr�r2z
normal y helpr
z'
    oddly formatted group

descriptionrr�r*z` oddly 
formatted    -a  help  
    again, so long that it should be wrapped over multiple linesr�2        usage: PROG [-h] [-x XX] [-a] yyy
        a�
        oddly formatted description that is so long that it should go onto multiple
        lines when wrapped

        positional arguments:
          yyy         normal y help

        options:
          -h, --help  show this help message and exit
          -x XX       oddly formatted -x help

        title:
          oddly formatted group description

          -a          oddly formatted -a help again, so long that it should be wrapped
                      over multiple lines
        r$r#Nr%r#rrr3r3�s����
�)�*��	�D�$�&=�	>��C��_�5���

�W�#0�
1��d�<�$�%�
&�		'�
!��
�E����D�(�Grr3c�x�\rSrSr\"SSS9r\"SSSS9\"S	S
SS9/r\"S5\"S
SSS9/4/rSr\S-r	Sr
Srg)�TestHelpWrappingShortNamesirzZD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
Drrr�zxXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXr4r�r2�dYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH�ALPHASr�r*zPAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHArr5a�
        D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
        DD DD DD DD D

        positional arguments:
          yyy         YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH
                      YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH

        options:
          -h, --help  show this help message and exit
          -x XX       XHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH
                      HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HX

        ALPHAS:
          -a          AHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH
                      HHAAHHH HHAAHHH HHA
        r$r#Nr%r#rrr7r7sy����[�A���D�$�]�3��C��\�2���


�X����\��@�B�	C�!��
�E����D�,�Grr7c��\rSrSr\"SSS9r\"SSSSS	9\"S
SSS
9\"SSSS
9/r\"S5\"SSSS
9\"SSSS
9/4/rSr\S-r	Sr
Srg)�TestHelpWrappingLongNamesi,r.zZD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD Dr/r�r�r�zZV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV Vr�r�XXXXXXXXXXXXXXXXXXXXXXXXXzdXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHr4r��yyyyyyyyyyyyyyyyyyyyyyyyyr8r9r��AAAAAAAAAAAAAAAAAAAAAAAAAzdAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHr3�zzzzzzzzzzzzzzzzzzzzzzzzzzdZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHr1ag
        D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
        DD DD DD DD D

        positional arguments:
          yyyyyyyyyyyyyyyyyyyyyyyyy
                                YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH
                                YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH

        options:
          -h, --help            show this help message and exit
          -v, --version         show program's version number and exit
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
                                XH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH
                                XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XH

        ALPHAS:
          -a AAAAAAAAAAAAAAAAAAAAAAAAA
                                AH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH
                                AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AH
          zzzzzzzzzzzzzzzzzzzzzzzzz
                                ZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH
                                ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZH
        zs        V VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV
        VV VV VV VV V
        r#Nr%r#rrr;r;,s�����z�B���D�+�i��D��D�(��6��C���5���

�X����h�\�:���X�L�9�;�	<�!��

�E����D�<�Grr;c�j�\rSrSr\"SS9r\"SSSS9\"SS	S
S9\"SSS9\"S
S
SS9\"SSSS9\"SS\RS9\"SSS\RS9\"SSS\RS9\"S\R\RSS9/	r	\"S 5\"S!SS"S9\"S#S$S%S9\"S&S&S	S9\"S'S'SS9/4/r
S(r\S)-rS*r
S+rg,)-�
TestHelpUsageibrrr�r�rwrrr�r#rr�r�r�)rHr�r�r�r zWhether to foo�rHr,rZzWhether to barT)rHr�r,r?z--foobarz--barfoor+z--bazzzBazz!)r,r�rHr�r6r�r1r�r3r�r�a/        usage: PROG [-h] [-w W [W ...]] [-x [X ...]] [--foo | --no-foo]
                    [--bar | --no-bar]
                    [-f | --foobar | --no-foobar | --barfoo | --no-barfoo]
                    [--bazz | --no-bazz] [-y [Y]] [-z Z Z Z]
                    a b b [c] [d ...] e [e ...]
        az
        positional arguments:
          a                     a
          b                     b
          c                     c

        options:
          -h, --help            show this help message and exit
          -w W [W ...]          w
          -x [X ...]            x
          --foo, --no-foo       Whether to foo
          --bar, --no-bar       Whether to bar
          -f, --foobar, --no-foobar, --barfoo, --no-barfoo
          --bazz, --no-bazz     Bazz!

        group:
          -y [Y]                y
          -z Z Z Z              z
          d                     d
          e                     e
        r$r#N)r&r'r(r)r�r�r5r�r�r�r�rrHr�r*r#rrrArAbs����'���D��#�&��D��#�&��C�c���C�c��#��C�c��%��G�*�8�3Q�3Q�R��G�*�D�$�:�:�	<��D�*�j��1O�1O�P��H�X�;�;�&�/�/�g�	?���

�W����C�c�*���A�C�(���#�S�)���#�S�)�	
�	�!��
�E����D�,�GrrAc�P�\rSrSr\"SS9r\"SSS9\"SSS	S9/rS
r\S-rSr	S
r
g)�TestHelpUsageWithParenthesesi�rr�
positionalz(example) positional�r�r8z
--optionalz{1 (option A), 2 (option B)}zX        usage: PROG [-h] [-p {1 (option A), 2 (option B)}] (example) positional
        z�
        positional arguments:
          (example) positional

        options:
          -h, --help            show this help message and exit
          -p, --optional {1 (option A), 2 (option B)}
        r$r#N�r&r'r(r)r�r�r�rrHr�r*r#rrrDrD�sL����'���L�"8�9��D�,�(F�G���

�E����D��GrrDc��\rSrSr\"SSS9r/r\"S5\"SSS9\"S	S	S9/4\"S
5\"SSS9\"SS
S9/4/rSr\S-r	Sr
Srg)�TestHelpOnlyUserGroupsi�rF�rrv�xxxxrr#r�r�yyyyr�r6r�z.        usage: PROG [-x X] [-y Y] a b
        zn
        xxxx:
          -x X  x
          a     a

        yyyy:
          b     b
          -y Y  y
        r$r#Nr%r#rrrIrI�s������7����	�V����3����#��
�	�

�V����#����3��
�	�	!��
�E��	�	�D��GrrIc�n�\rSrSr\"SS9r\"SSS9\"SSS9\"S	5\"S
5/r/rSr\S-r	S
r
Srg)�TestHelpUsageLongProgi��<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPrr�r�rFrrarr�zz        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               [-h] [-w W] [-x X] a b
        z�
        positional arguments:
          a
          b

        options:
          -h, --help  show this help message and exit
          -w W
          -x X
        r$r#Nr%r#rrrNrN�s`����)���D�#���D�#���C���C��	��!#��
�E��
�
�D��GrrNc��\rSrSr\"SS9r\"SSS9\"SSS9\"S	S
S9\"SSS9\"S
5\"S5/r/rSr\S-r	Sr
Srg)� TestHelpUsageLongProgOptionsWrapi�rOrr��WWWWWWWWWWWWWWWWWWWWWWWWWrFrr<r6�YYYYYYYYYYYYYYYYYYYYYYYYYr1�ZZZZZZZZZZZZZZZZZZZZZZZZZrr�a        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]
               [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
               a b
        a-
        positional arguments:
          a
          b

        options:
          -h, --help            show this help message and exit
          -w WWWWWWWWWWWWWWWWWWWWWWWWW
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        r$r#Nr%r#rrrQrQ�st����)���D�(�#��D�(�#��D�(�#��D�(�#��C���C��
��!#��
�E����D��GrrQc�f�\rSrSr\"SSS9r\"S5\"S5\"S5/r/rSr\S	-r	S
r
Srg)
�$TestHelpUsageLongProgPositionalsWrapirOFrJ�aaaaaaaaaaaaaaaaaaaaaaaaa�bbbbbbbbbbbbbbbbbbbbbbbbb�cccccccccccccccccccccccccz�        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
               ccccccccccccccccccccccccc
        ��
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc
        r$r#Nr%r#rrrVrVsU����5�9���H�
��H�
��H�
���
!#��
�E�
���D��GrrVc	��\rSrSr\"SS9r\"SSS9\"SSS9\"S	S
S9\"SSS9\"S
5\"S5\"S5/r/rSr\S-r	Sr
Srg)�TestHelpUsageOptionalsWrapi*rrr�rRrFrr<r6rSr1rTrr�r�z�        usage: PROG [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]
                    [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
                    a b c
        a9
        positional arguments:
          a
          b
          c

        options:
          -h, --help            show this help message and exit
          -w WWWWWWWWWWWWWWWWWWWWWWWWW
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        r$r#Nr%r#rrr\r\*s{����'���D�(�#��D�(�#��D�(�#��D�(�#��C���C���C����!#��
�E��
�
�D��Grr\c��\rSrSr\"SS9r\"S5\"S5\"S5\"S5\"S5\"S	5/r/rS
r\S-r	Sr
S
rg)�TestHelpUsagePositionalsWrapiPrrrr6r1rWrXrYz�        usage: PROG [-h] [-x X] [-y Y] [-z Z]
                    aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        a
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc

        options:
          -h, --help            show this help message and exit
          -x X
          -y Y
          -z Z
        r$r#Nr%r#rrr^r^Psh����'���D�	��D�	��D�	��H�
��H�
��H�
�
��!#��
�E�
���D��Grr^c��\rSrSr\"SS9r\"SSS9\"SSS9\"S	S
S9\"S5\"S5\"S
5/r/rSr\S-r	Sr
Srg)�%TestHelpUsageOptionalsPositionalsWrapirrrrr<rFr6rSr1rTrWrXrYa        usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]
                    [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
                    aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        aZ
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc

        options:
          -h, --help            show this help message and exit
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        r$r#Nr%r#rrr`r`rsq����'���D�(�#��D�(�#��D�(�#��H�
��H�
��H�
�
��!#��
�E����D��Grr`c�^�\rSrSr\"SS9r\"SSS9\"SSS9\"S	S
S9/r/rSr\S-r	S
r
Srg)�TestHelpUsageOptionalsOnlyWrapi�rrrr<rFr6rSr1rTz�        usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]
                    [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
        z�
        options:
          -h, --help            show this help message and exit
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        r$r#Nr%r#rrrbrb�s\����'���D�(�#��D�(�#��D�(�#���
!#��
�E�
���D��Grrbc�f�\rSrSr\"SSS9r\"S5\"S5\"S5/r/rSr\S	-r	S
r
Srg)
� TestHelpUsagePositionalsOnlyWrapi�rFrJrWrXrYz~        usage: PROG aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        rZr$r#Nr%r#rrrdrd�sU�����7���H�
��H�
��H�
���
!#��
�E����D��Grrdc��\rSrSr\"SS9r\"SSSS9\"SS	S
S9\"SSS
S9\"SSSS9\"SSSS9\"SSSS9\"SSSS9\"SSSS9\"SSSS9\"S S!S"S9\"S#S$S%S9\"S&S'S(S9\"S)S*S+S9\"S,S-S.S9\"S/S0S1S9\"S2S3S4S9/rS5r\S6-rS7r	S8r
g9):�&TestHelpUsageMetavarsSpacesParenthesesi�rrz-n1z()�n1r4z-o1z(1, 2)�o1z-u1z (uu) �u1z-v1z( vv )�v1z-w1z(w)w�w1z-x1zx(x)�x1z-y1zyy)�y1z-z1z(zz�z1z-n2z[]�n2z-o2z[1, 2]�o2z-u2z [uu] �u2z-v2z[ vv ]�v2z-w2z[w]w�w2z-x2zx[x]�x2z-y2zyy]�y2z-z2z[zz�z2z�        usage: PROG [-h] [-n1 ()] [-o1 (1, 2)] [-u1  (uu) ] [-v1 ( vv )] [-w1 (w)w]
                    [-x1 x(x)] [-y1 yy)] [-z1 (zz] [-n2 []] [-o2 [1, 2]] [-u2  [uu] ]
                    [-v2 [ vv ]] [-w2 [w]w] [-x2 x[x]] [-y2 yy]] [-z2 [zz]
        a�
        options:
          -h, --help  show this help message and exit
          -n1 ()      n1
          -o1 (1, 2)  o1
          -u1  (uu)   u1
          -v1 ( vv )  v1
          -w1 (w)w    w1
          -x1 x(x)    x1
          -y1 yy)     y1
          -z1 (zz     z1
          -n2 []      n2
          -o2 [1, 2]  o2
          -u2  [uu]   u2
          -v2 [ vv ]  v2
          -w2 [w]w    w2
          -x2 x[x]    x2
          -y2 yy]     y2
          -z2 [zz     z2
        r$r#NrGr#rrrfrf�s�����'���E�4�d�+��E�8�$�/��E�8�$�/��E�8�$�/��E�6��-��E�6��-��E�5�t�,��E�5�t�,��E�4�d�+��E�8�$�/��E�8�$�/��E�8�$�/��E�6��-��E�6��-��E�5�t�,��E�5�t�,�!��&
�E�
���D�*�Grrfc�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�TestHelpUsageNoWhitespaceCrashi�c��[R"SS9nUR5nURS[RS9 URS5 [
R"S5nURUR5U5 g)Nrrrjr�z--eggs-eggs-eggs-eggs-eggs-eggszu        usage: PROG [-h]
                    [--eggs-eggs-eggs-eggs-eggs-eggs EGGS_EGGS_EGGS_EGGS_EGGS_EGGS]
        )	r5r6r�r�r�ryrzrrI�rr<�mutexrs    r�.test_all_suppressed_mutex_followed_by_long_arg�MTestHelpUsageNoWhitespaceCrash.test_all_suppressed_mutex_followed_by_long_arg�sx���(�(�f�5���3�3�5��
���8�(�*;�*;��<����=�>����!�
��	
����,�,�.��6rc�
�/SQn[R"S5nURSSSSS9 URSS	S
SRU5S9 [R
"S
5nUR
UR5U5 g)N)�123456�12345r��123�11111111111111r�r�zverbose moder*rB�targetszinstallation targetsr�r%�rHr�r�z�        usage: 11111111111111 [-h] [-v]
                              123456
        12345
        12345
        123 [123456
        12345
        12345
        123 ...]
        )r5r6r�rkryrzrrI)r�mappingr<rs    r�test_newline_in_metavar�6TestHelpUsageNoWhitespaceCrash.test_newline_in_metavars���5���(�(�)9�:�����D�+�!/��	�	F����I�!7�"%�$(�I�I�g�$6�	�	8����	!�	
��	
����,�,�.��6rc��[R"SS9nURSSSS9 URSSS	9 S
nURUR	5U5 g)Nrrz--nilr$T)r�r�z--a�FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArFzqusage: PROG [-h] --nil 
            [--a AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
)r5r6r�rrI)rr<rs   r�test_empty_metavar_required_arg�>TestHelpUsageNoWhitespaceCrash.test_empty_metavar_required_arg!s_���(�(�f�5�����G�R�$��?����E�8��4�
)�	�
	
����,�,�.��6rc��[R"SS9nUR5nURSSSS[RS9 URSSSS[RS9 S	nURUR
5U5 g)
Nrrz--param1r�r��NAME)r�r0r�rHz--param2zusage: PROG [-h]
)r5r6r�r�r�rrIrzs    r�-test_all_suppressed_mutex_with_optional_nargs�LTestHelpUsageNoWhitespaceCrash.test_all_suppressed_mutex_with_optional_nargs-s����(�(�f�5���3�3�5��
�����Y��X�=N�=N�	�	P�	�����Y��X�=N�=N�	�	P�%������,�,�.��6rc�R�[R"SS9nUR5nURS5 [R
"5 [R"S[5 UR5nSSS5 WRS5 URS[RS9 URS5 URS	5 URS
5 [R"S5nURUR5U5 g!,(df   N�=f)Nrrrjr'z--haxz--hoxr�z--hexr�z--numzw        usage: PROG [-h] [--spam SPAM | [--hax HAX | --hex HEX] | --eggs EGGS]
                    [--num NUM]
        )
r5r6r�r�r�r�r�r�r�ryrzrrI)rr<r��ggrs     r�test_nested_mutex_groups�7TestHelpUsageNoWhitespaceCrash.test_nested_mutex_groups:s����(�(�f�5���/�/�1��	���x� �
�
$�
$�
&��!�!�(�,>�?��/�/�1�B�'�	���� �
����h�&7�&7��8�
���� �	���x� ����G�$����!�
��	
����,�,�.��6�'�
&�s�,D�
D&c��[R"SS9nUR5nURSSSS9 URSSS	S9 URS
S	S9 URSSS
S9 URSS
S9 URSSS9 URSSSS9 [R
"S5nUR
UR5U5 g)Nrrz--op1�METr�)r�r�z--op2)�MET1�MET2r�z--op3r�z--op4r�z--op5z--op6r�z--op7)r�r��MET3z�        usage: PROG [-h] [--op1 [MET] | --op2 [MET1 [MET2 ...]] | --op3 [OP3 ...] |
                    --op4 MET1 [MET2 ...] | --op5 OP5 [OP5 ...] | --op6 OP6 OP6 OP6 |
                    --op7 MET1 MET2 MET3]
        �r5r6r�r�ryrzrrI�rr<r�rs    r�test_long_mutex_groups_wrap�:TestHelpUsageNoWhitespaceCrash.test_long_mutex_groups_wrapMs����(�(�f�5���/�/�1��	���w��S��9�	���w�(8���D�	���w�c��*�	���w�(8���D�	���w�c��*�	���w�a��(�	���w�(@���J����!�
��
	
����,�,�.��6rc�`�[R"SS9nUR5nURSSSS9 URSSSS9 URS	S
SS9 URS
SSS9 URSSS9 [R
"S5nUR
UR5U5 g)Nrrr�r�r*r+r:rrz--extra-long-option-namer�r�r6z--yet-another-long-optionrEz�        usage: PROG [-h] [-v | -q | -x [EXTRA_LONG_OPTION_NAME] |
                    -y [YET_ANOTHER_LONG_OPTION] |
                    positional]
        r�r�s    r�7test_mutex_groups_with_mixed_optionals_positionals_wrap�VTestHelpUsageNoWhitespaceCrash.test_mutex_groups_with_mixed_optionals_positionals_wrap_s����(�(�f�5���/�/�1��	���t�[���>�	���t�Y�|��<�	���t�7�s��C�	���t�8���D�	���|�3��/����!�
��
	
����,�,�.��6rr#N)r&r'r(r)r|r�r�r�r�r�r�r*r#rrrxrx�s%��7�7�,
7�7�7�&7�$7rrxc���\rSrSr\"SS9r\"S\SS9\"SSS	S
SS9\"S
/SQSS9\"SSSS/SSS9\"SSS9\"SSSS9/r\"S5\"S S!S9\"S"S#S$S9/4/rS%r	\	S&-r
S'rS(rg))*�TestHelpVariableExpansionisrrrz"x %(prog)s %(default)s %(type)s %%r
r6r-r.�XXXz y %(prog)s %(default)s %(const)s)r,r�r0rHr r�z$foo %(prog)s %(default)s %(choices)srGrZrpr�r��BBBz!bar %(prog)s %(default)s %(dest)s)r�r�r�rHr�zspam %(prog)s %(default)sr�r_r�zbadger %(prog)s %(default)s)r�rHr�r�za %(prog)s %(default)sr�r�zb %(prog)s %(default)szw        usage: PROG [-h] [-x X] [-y] [--foo {a,b,c}] [--bar BBB] [-a A] [-b B]
                    spam badger
        a�
        positional arguments:
          spam           spam PROG None
          badger         badger PROG 0.5

        options:
          -h, --help     show this help message and exit
          -x X           x PROG None int %
          -y             y PROG 42 XXX
          --foo {a,b,c}  foo PROG None a, b, c
          --bar BBB      bar PROG baz bar

        group:
          -a A           a PROG None
          -b B           b PROG -1
        r$r#N)
r&r'r(r)r�r�r�r�r�rrHr�r*r#rrr�r�ss�����'���D�s�5�	7��D���%�3�	5��G�_�7�	9��G�U�Q��F�E�4�	6��F�4�5��H�c�(E�F���

�W����3�4���b�'?�@�
�	�!���E����D�"�Grr�c�<�\rSrSr\"SSS9r/r/rSr\S-r	Sr
Srg	)
�&TestHelpVariableExpansionUsageSuppliedi�rz%(prog)s FOO�rrz         usage: PROG FOO
        rmr$r#Nr%r#rrr�r��s<����n�=���� "���E����D�
�Grr�c�6�\rSrSr\"SSS9r/r/rSr\r	Sr
Srg)	�$TestHelpVariableExpansionNoArgumentsi�rFrJz        usage: PROG
        r$r#Nr%r#rrr�r��s0�����7���� "���E��D��Grr�c�b�\rSrSr\"S\RS9r\"SSS9\"SSS9/r/r	S	r
S
rS
rSr
g)
�TestHelpSuppressUsagei�rr�r rr�r��	spam helpz�        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        r$r#N)r&r'r(r)r�r5r�r�r�r�rHrr�r*r#rrr�r��sN����h�.?�.?�@���G�*�%��F��%���!#���D�
�E��Grr�c�h�\rSrSr\"SSS9r\"S\RS9\"SSS9/r/r	S	r
\
S
-rSrSr
g
)�TestHelpSuppressOptionali�rFrJr r�r�r�z!        usage: PROG spam
        zA
        positional arguments:
          spam  spam help
        r$r#N�r&r'r(r)r�r�r5r�r�r�rrHr�r*r#rrr�r��sZ�����7���G�(�+�+�,��F��%���!#��
�E����D�
�Grr�c��\rSrSr\"SS9r\"SSS9\"SSS9/r\"S	5\"S
\RS9/4/r	Sr
\
S-rS
rSr
g)�TestHelpSuppressOptionalGroupi�rrr rr�r�r�r�rZ�2        usage: PROG [-h] [--foo FOO] spam
        ��
        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        r$r#N)r&r'r(r)r�r�r�r5r�r�rrHr�r*r#rrr�r��sp����'���G�*�%��F��%���


�W���G�(�*;�*;�<�=�>�!��
�E����D��Grr�c�f�\rSrSr\"SS9r\"SSS9\"S\RS9/r/r	Sr
\
S	-rS
rSr
g)
�TestHelpSuppressPositionalirrr rr�r�z-        usage: PROG [-h] [--foo FOO]
        �o
        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        r$r#Nr�r#rrr�r�sX����'���G�*�%��F��*�*�+���!#��
�E����D��Grr�c�H�\rSrSr\"SS9r\"SSSS9/r/rSr\S	-r	S
r
Srg)
�TestHelpRequiredOptionalirrr Tr�r�rHz+        usage: PROG [-h] --foo FOO
        r�r$r#Nr%r#rrr�r�sJ����'���G�d��4���!#��
�E����D��Grr�c�Z�\rSrSr\"SSSS9r\"SSSS	9\"S
SSS
9/r/rSr\S-r	Sr
Srg)�TestHelpAlternatePrefixCharsi+rz^;F)rrurvz^^foor*rrz;bz;;barr	r�z-        usage: PROG [^^foo] [;b BAR]
        z^
        options:
          ^^foo          foo help
          ;b, ;;bar BAR  bar help
        r$r#Nr%r#rrr�r�+sZ����T�E�J���G�L�z�:��D�'�
�+���!#��
�E����D��Grr�c�T�\rSrSr\"SSS9r\"SSS9\"SS	S9/r/rS
r\S-r	Sr
S
rg)�TestHelpNoHelpOptionali@rFrJr rr�r�r�z-        usage: PROG [--foo FOO] spam
        zv
        positional arguments:
          spam       spam help

        options:
          --foo FOO  foo help
        r$r#Nr%r#rrr�r�@sT�����7���G�*�%��F��%���!#��
�E����D��Grr�c�V�\rSrSr\"SS9r\"S5\"S5/r/rSr\S-r	Sr
S	rg
)�TestHelpNoneiWrrr r�r�z�
        positional arguments:
          spam

        options:
          -h, --help  show this help message and exit
          --foo FOO
        r$r#Nr%r#rrr�r�WsL����'���G���F����!#��
�E����D��Grr�c
�z�\rSrSr\"SS9r\"SSSSS9\"S	S
SSS9\"S
SSSS9\"SSSSS9/r/rSr\S-r	Sr
Srg)�TestHelpTupleMetavarOptionaliorrr�rwr���W1�W2r�rr#r���X1�X2r6r�r���Y1�Y2�Y3r1r3r���Z1z]        usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]]
        z�
        options:
          -h, --help        show this help message and exit
          -w W1 [W2 ...]    w
          -x [X1 [X2 ...]]  x
          -y Y1 Y2 Y3       y
          -z [Z1]           z
        r$r#Nr%r#rrr�r�osw����'���D�s�#�|�<��D�s�#�|�<��D�s�!�-?�@��D�s�#�x�8�	��!#��
�E����D��Grr�c
�z�\rSrSr\"SS9r\"SSSSS9\"S	S
SSS9\"S
SSSS9\"SSSSS9/r/rSr\S-r	Sr
Srg)�TestHelpTupleMetavarPositionali�rrrwrr�r�r�r#rr�r�r�rr�r�r3rr�r�zI        usage: PROG [-h] W1 [W2 ...] [X1 [X2 ...]] Y1 Y2 Y3 [Z1]
        z�
        positional arguments:
          W1 W2       w help
          X1 X2       x help
          Y1 Y2 Y3    y help
          Z1          z help

        options:
          -h, --help  show this help message and exit
        r$r#Nr%r#rrr�r��sw����'���C�h�c�<�@��C�h�c�<�@��C�h�a�1C�D��C�h�c�7�;�	��!#��
�E��
�
�D��Grr�c��\rSrSr\"S\RSS9r\"SSS9\"SS	S9/r\"S
SS9\"S
SS9/4/r	Sr
\
S-rSrSr
g)�TestHelpRawTexti�r�7Keep the formatting
    exactly as it is written

here
�r�formatter_classrr z-    foo help should also
appear as given herer�r�r�r
�?    This text
  should be indented
    exactly like it is here
rrZr	�>        usage: PROG [-h] [--foo FOO] [--bar BAR] spam
        a�
        Keep the formatting
            exactly as it is written

        here

        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO       foo help should also
                      appear as given here

        title:
              This text
            should be indented
              exactly like it is here

          --bar BAR   bar help
        r$r#N)r&r'r(r)r�r5�RawTextHelpFormatterr�r�r�rrHr�r*r#rrr�r��s����
�X�%B�%B����	�G�1�	2��F��%���

�W�#B�
C��g�J�
'�	(�	*�!��
�E����D�,�Grr�c��\rSrSr\"S\RSS9r\"SSS9\"SS	S9/r\"S
SS9\"S
SS9/4/r	Sr
\
S-rSrSr
g)�TestHelpRawDescriptioni�rr�r�r z4  foo help should not
    retain this odd formattingr�r�r�r
r�rrZr	r�a�
        Keep the formatting
            exactly as it is written

        here

        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help should not retain this odd formatting

        title:
              This text
            should be indented
              exactly like it is here

          --bar BAR   bar help
        r$r#N)r&r'r(r)r�r5�RawDescriptionHelpFormatterr�r�r�rrHr�r*r#rrr�r��s����
�X�%I�%I����	�G�;�	<��F��%���

�W�#B�
C��g�J�
'�	(�	*�!��
�E����D�*�Grr�c� �\rSrSr\"S\RSS9r\"SSS9\"SS	S
S9\"SS
SS9\"S\RSS
S9\"S\RS\RS9\"SSSS9\"SSS9\"SSSSS9/r
\"S SS!9\"S"\SS#S$9/4/rS%r
\
S&-rS'rS(rg))*�TestHelpArgumentDefaultsirrr�r z)foo help - oh and by the way, %(default)sr�rZr*r	rz
--requiredTz	some helpr�z--tazzWhether to taz it)r,rHr�z--corgezWhether to corge itr�zSet the quuxr.)rHr�r�r�r_r��woodenzbadger help�r�r�rHr
rr�rP)r�r�rHz�        usage: PROG [-h] [--foo FOO] [--bar] --required REQUIRED [--taz | --no-taz]
                    [--corge | --no-corge] [--quux QUUX] [--baz BAZ]
                    spam [badger]
        a�
        description

        positional arguments:
          spam                 spam help
          badger               badger help (default: wooden)

        options:
          -h, --help           show this help message and exit
          --foo FOO            foo help - oh and by the way, None
          --bar                bar help (default: False)
          --required REQUIRED  some help
          --taz, --no-taz      Whether to taz it (default: True)
          --corge, --no-corge  Whether to corge it
          --quux QUUX          Set the quux (default: 42)

        title:
          description

          --baz BAZ            baz help (default: 42)
        r$r#N)r&r'r(r)r�r5�ArgumentDefaultsHelpFormatterr�r�r�r�r�r�rrHr�r*r#rrr�r�s����
�X�%K�%K�!�#��
	�G�E�F��G�L�z�:��L�4�k�:��G�H�:�:�$�d�	4��I�h�<�<�&��0A�0A�	C��H�>�2�6��F��%��H�C��
�F���

�W�-�	0�

�g�C��*�
=�	>�	@�!��
�E�
���D�,�Grr�c�L�\rSrSr\"SSS9r\"SSSSS	9/r/rS
r\S-r	Sr
S
rg)�TestHelpVersionActioni;rrr�-Vr�r�z3.6r�z&        usage: PROG [-h] [-V]
        z�
        description

        options:
          -h, --help     show this help message and exit
          -V, --version  show program's version number and exit
        r$r#Nr%r#rrr�r�;sJ����M�B���t�[��E�R�S�� "��
�E����D��Grr�c�t�\rSrSr\"SS9r\"SSSS\RS9\"S	S
S9\"SS
S9/r/r	Sr
\
S-rSrg)�TestHelpVersionActionSuppressiOrrr�r�r�r�)r,r�rHr rr�r�r�r�r�r#N)
r&r'r(r)r�r�r5r�r�r�rrHr*r#rrr�r�Osd����'���D�+�i���"�"�	$��G�*�%��F��%�	��!#��
�E����Drr�c	��\rSrSr\"SSS9r\"SSSSS	9/rS
VVVs/sHn[	US9PM snnnrSr\S
-r	Sr
Srgs snnnf)�TestHelpSubparsersOrderingihr�display some subcommandsrr�r�r�rr�)rr�r�r�r�rA�6        usage: PROG [-h] [-v] {a,b,c,d,e} ...
        z�
        display some subcommands

        positional arguments:
          {a,b,c,d,e}

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
        r$r#N)r&r'r(r)r�r�r�r�rrHr�r*)�.0rsr�s000rr�r�hss����'A�C���t�[��E�R�S��*C�D�)B��!�d�^�)B�D��
�E��
�
�D��G��'Ds�Ar�c��\rSrSr\"SSS9r\"SSSSS	9/rS
r\VVVVs/sHup[	XS9PM snnnnrSr	\	S
-r
SrSrgs snnnnf)�"TestHelpSubparsersWithHelpOrderingi�rr�rr�r�r�rr�))rza subcommand help)r�zb subcommand help)r�zc subcommand help)r�zd subcommand help)r�ze subcommand help)rsrHr�a�
        display some subcommands

        positional arguments:
          {a,b,c,d,e}
            a            a subcommand help
            b            b subcommand help
            c            c subcommand help
            d            d subcommand help
            e            e subcommand help

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
        r$r#N)
r&r'r(r)r�r�r��subcommand_datar�rrHr�r*)r�rsrHr�s0000rr�r��s|����'A�C���t�[��E�R�S���O�0?�@�/>���!�d�6�/>�@��
�E����D�"�G��1@s�A
r�c�~�\rSrSrSr\"SS\RS9r\"S\	S9\"S\S9\"S	\
S
S9/r/rSr
\
S
-rSrSrg)�TestHelpMetavarTypeFormatteri�c��U$r]r#r�s r�custom_type�(TestHelpMetavarTypeFormatter.custom_type�s���
rrr)rrr�rr�r�r�z
SOME FLOAT)r�r�zF        usage: PROG [-h] [-b custom_type] [-c SOME FLOAT] int
        z�
        description

        positional arguments:
          int

        options:
          -h, --help      show this help message and exit
          -b custom_type
          -c SOME FLOAT
        r$r#N)r&r'r(r)r�r�r5�MetavarTypeHelpFormatterr�r�r�r�r�rrHr�r*r#rrr�r��sr�����M�+3�+L�+L�N���s��-��t�+�6��t�%��F�H��!#��
�E����D��Grr�c��\rSrSrSrSrSrg)�!TestHelpUsageLongSubparserCommandi�Nc�"�Sn[R"SUS9nURSSSS9nURSS	S
9 URSSS
9 URS
SS
9 UR	5nURU[R"S55 g)Nc�,�[R"USS9$)N�2)�max_help_position)r5r�rs r�custom_formatter�LTestHelpUsageLongSubparserCommand.test_parent_help.<locals>.custom_formatter�s���0�0���L�Lrr)rr�r�CMDzcommand to use)r
r�rHrjz
add somethingr��removezremove somethingza-very-long-commandzcommand that does somethinga}            usage: PROG [-h] CMD ...

            options:
              -h, --help             show this help message and exit

            commands:
              CMD                    command to use
                add                  add something
                remove               remove something
                a-very-long-command  command that does something
        )r5r6rrrJrryrz)rr��
parent_parser�cmd_subparsersr�s     rr��2TestHelpUsageLongSubparserCommand.test_parent_help�s���	M�!�/�/�� 0�
�
�
'�5�5�J�>C�;K�6�M��	�!�!�%�'6�	"�	8�	�!�!�(�'9�	"�	;�	�!�!�"7�'D�	"�	F�$�/�/�1������h�o�o�7�'
�	rr#)r&r'r(r)r�r�r*r#rrr�r��s���G�!rr�c��\rSrSrSS.SjrSS.SjrSrSrSrS	r	S
r
SrSrS
r
SrSrSrSrSrSrSrSrg)�TestInvalidArgumentConstructorsi�N)�errmsgc�x�[R"5nUR"[XR/UQ70UD6 gr])r5r6rQr�r��rrr�r�r<s     r�assertTypeError�/TestInvalidArgumentConstructors.assertTypeError�s8���(�(�*�����y�&�2E�2E�	0� $�	0�(.�	0rc�x�[R"5nUR"[XR/UQ70UD6 gr])r5r6rQr�r�rs     r�assertValueError�0TestInvalidArgumentConstructors.assertValueErrors8���(�(�*�����z�6�3F�3F�	0� $�	0�(.�	0rc��URSSS9 URSSS9 URSSS9 URS0S9 g)	Nr)ror6r2)�callbackr#)�
callback_args)�callback_kwargs�rr!s r�test_invalid_keyword_arguments�>TestInvalidArgumentConstructors.test_invalid_keyword_argumentssN�����T�t��,����T�E��2����T���4����T�2��6rc��UR5 SH*nURUS9 URUS9 SSS5 M, g!,(df   M>=f)N�r�r�r�r+)rrG�rr,s  r�test_missing_destination�8TestInvalidArgumentConstructors.test_missing_destinationsF������3�F����V��,��$�$�F�$�3�-�,�4�,�,�s�A�
A	c�H�URS5 URS5 g)Nr4z---�rr!s r�test_invalid_option_strings�;TestInvalidArgumentConstructors.test_invalid_option_stringss�����d�#����e�$rc�(�URSS5 g)Nr z+foorr!s r�test_invalid_prefix�3TestInvalidArgumentConstructors.test_invalid_prefixs�����g�v�.rc�X�URSSS9 URS[[4S9 g)Nr r�r�)rr�r�r!s rr��1TestInvalidArgumentConstructors.test_invalid_types,�����g�E��2����g�S�%�L��9rc��URSSS9 URSSS9 URSSS9 URSSSS	9 g)
Nrr2r+rpr )r�r�z
store-truezunknown action)r,rrr!s r�test_invalid_action�3TestInvalidArgumentConstructors.test_invalid_actionsV�����d�5��1����e�E��2����g�.A��B����g�l�%5�	�	7rc��[R"5nURSS9 UR[5nURSSS9 SSS5 URS[
WR55 g!,(df   N4=f)Nr2rRrorpz+dest supplied twice for positional argument)r5r6r�rr�r�rr�r�s   r�test_multiple_dest�2TestInvalidArgumentConstructors.test_multiple_dest$sm���(�(�*�������'�
�
�
�z�
*�b�����E��2�+��
�
�C��"�,�,�'�	)�+�
*�s�A9�9
Bc	��SH�nURUS9 [[S9[SS9[SS/S94HCnURUS	9 UR"SSU0UD6 UR"SSU0UD6 SSS5 ME URS
US
S9 URSUS
S9 SSS5 M� g!,(df   M�=f!,(df   M�=f)N)r-r*r�rrr+r�r�r�rr�r�)�attrsrr,r#rr�)rr")rGrr�r)rr,r%s   r�test_no_argument_actions�8TestInvalidArgumentConstructors.test_no_argument_actions,s���0�F����V��,�"��n�d��o�"�C��:�6�8�E����E��2��,�,�J�&�J�E�J��,�,�I��I�5�I�3�2�8�
�$�$�T�&��$�B��$�$�S��q�$�A�-�,�0�
3�2��-�,�s#�3B>�)B,	�1.B>�,
B;
�6B>�>
C
	c��SH=nURUS9 URSSUS9 URSSUS9 SSS5 M? g!,(df   MQ=f)N)r*r�rr+rr2r�r�r��rGrrs  r�!test_no_argument_no_const_actions�ATestInvalidArgumentConstructors.test_no_argument_no_const_actions8sU��<�F����V��,��$�$�T��v�$�F��$�$�T��V�$�D�-�,�=�,�,�s�#A�
A	c
�,�SH|nURUS9 US:XaSOUnURSSUSUS3S	9 URS
SUSUS3S	9 SH%nURSSX1S
9 URS
SX1S
9 M' SSS5 M~ g!,(df   M�=f)Nrr+r�r�rrz
nargs for z actions must be != 0)r�r,rr�)r�r�r�r2)r0r�r,)rGr)rr,�action_namer�s    r�#test_more_than_one_argument_actions�CTestInvalidArgumentConstructors.test_more_than_one_argument_actionsBs���3�F����V��,�*0�H�*<�h�&���%�%�d�!�F�'��}�4I�J�&�L��%�%�f�A�f�'��}�4I�J�&�L�+�E��)�)�$�e�05�*�F��)�)�&��05�*�F�+�-�,�4�,�,�s�A"B�
B	c��SH,nURUS9 URSSUS9 SSS5 M. g!,(df   M@=f)N)r-rr+rr�r�r)rs  r�test_required_const_actions�;TestInvalidArgumentConstructors.test_required_const_actionsSs>��5�F����V��,��$�$�T��V�$�D�-�,�6�,�,�s	�4�
A	c��URSSS9 URSSSS9 URSS[RS9 g)NrW�parsersr+r)r,r)r,r�)rr5r6r!s r�"test_parsers_action_missing_params�BTestInvalidArgumentConstructors.test_parsers_action_missing_paramsYsK�����Y�y��9����Y�y�v��F����Y�y�*2�*A�*A�	�	Crc�$�URSSS9 g)NrWr�r+r
r!s r�test_version_missing_params�;TestInvalidArgumentConstructors.test_version_missing_params_s�����Y�y��9rc�$�URSSS9 g)Nr2Trjr
r!s r�test_required_positional�8TestInvalidArgumentConstructors.test_required_positionalbs�����U�T��2rc	��^�"SS[5m"U4SjS[5n[R"5nUR	TUR
SUTTS9 UR	TUR
SUTTS9 g)Nc��\rSrSrSrg)�ITestInvalidArgumentConstructors.test_user_defined_action.<locals>.Successigr#Nr�r#rr�Successr?grArr@c�.>�\rSrSrSU4SjjrSrSrg)�HTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Actionijc�8>�US:XaUTLa
UTLaT"5eggg)Nr�r#)r�option_stringsrSr0r�r�r@s      �rr�QTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Action.__init__ls2����6�>���'�"�g�-�")�)�O�.�(�"rc��gr]r#r�s   rr��QTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Action.__call__ws��rr#N)F)r&r'r(r)rr�r*)r@s�rr�rBjs���#(�	
,�
rr�rj)r,r�r0r�)r�rr5r6rr�)rr�r<r@s   @r�test_user_defined_action�8TestInvalidArgumentConstructors.test_user_defined_actionesy���	�i�	�	�V�	� �(�(�*�����'�6�#6�#6��!'���	�	I����'�6�#6�#6��!'���	�	Irr#)r&r'r(r)rrrrrrr�rr"r&r*r.r1r5r8r;rHr*r#rrrr�sg��-1�0�
.2�0�
7�4�%�/�:�7�)�
B�E�F�"E�C�:�3�Irrc� �\rSrSrSrSrSrg)�TestActionsReturnedi�c�@�[R"5nURS5nURURS5 URSS5nURURS5 URSS5nURURS5 g)	Nr r2r�rZrorr6r#)r5r6r�rrSr�s   rrS�TestActionsReturned.test_dest�s����(�(�*���$�$�W�-��������e�,��$�$�T�7�3��������e�,��$�$�T�4�0��������c�*rc�4�[R"5nURSSSS[SS/SSS	S
9	nUR	UR
S5 UR	URS5 UR	URS5 UR	UR[5 UR	URSS/5 UR	URS5 UR	URS5 UR	URS	5 g)Nr r�r.r�r�r�rr�BARrp)r�r0r�r�r�rHr�rS)
r5r6r�r�rr�r0r�r�r�rHr�rSr�s   r�	test_misc�TestActionsReturned.test_misc�s����(�(�*���$�$�W�C�r�-/�c�A�q�6�*/��U�%�L��	
������s�+�������r�*��������,�������c�*�������!�Q��0�������e�,��������/�������e�,rr#N)r&r'r(r)rSrPr*r#rrrKrK�s��+�-rrKc�,�\rSrSrSrSrSrSrSrg)�TestConflictHandlingi�c�J�UR[[RSS9 g)Nr2)�conflict_handler)rr�r5r6r!s r�
test_bad_type�"TestConflictHandling.test_bad_type�s"�����*�h�&=�&=�+0�	�	2rc��[R"5nURS5 UR[RURS5 URS5 UR[RURS5 g)Nrrj)r5r6r�rrRr;s  r�test_conflict_error�(TestConflictHandling.test_conflict_error�sn���(�(�*�����D�!����(�0�0� �-�-�t�	5����H�%����(�0�0� �-�-�x�	9rc��[RnU"SSS9nURSSS9 URSSS9 URUR	5[
R"S55 URS	S
S9 URS	SS9 URUR	5[
R"S
55 g)Nr�resolve)rrUrzOLD Xr�zNEW Xz�            usage: PROG [-h] [-x X]

            options:
              -h, --help  show this help message and exit
              -x X        NEW X
            rj�OLD_SPAMrF�NEW_SPAMz�            usage: PROG [-h] [-x X] [--spam NEW_SPAM]

            options:
              -h, --help       show this help message and exit
              -x X             NEW X
              --spam NEW_SPAM
            )r5r6r�rrJryrz)rr*r<s   r�test_resolve_error�'TestConflictHandling.test_resolve_error�s����,�,�
���)�D�����D�w��/����D�w��/�����+�+�-�x���@�0�	�	���H�j��9����H�j��9�����+�+�-�x���@�0�	rc���[R"5nUR5nURSS/S9 UR	[R
URS5 UR	[R
URS5 UR	[R
URSS/S9 UR	[R
URSS/S9 g)N�fullname�aliasr�r�)r5r6rrrrR)rr<�sps   r�test_subparser_conflict�,TestConflictHandling.test_subparser_conflict�s����(�(�*��
�
"�
"�
$��
�
�
�j�7�)�
�4����(�0�0��-�-��	5����(�0�0��-�-��	2����(�0�0��-�-��:�,�	�	H����(�0�0��-�-��7�)�	�	Err#N)	r&r'r(r)rVrYr_rer*r#rrrSrS�s��2�9��2ErrSc�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�TestOptionalsHelpVersionActionsi�c��UR[5nURUR55 SSS5 UR	UR5WRR5 g!,(df   NC=fr])rr�rFr
rrJr�r�)rr<rr�s    r�assertPrintHelpExit�3TestOptionalsHelpVersionActions.assertPrintHelpExit�sY��
�
�
�2�
3�r����h�n�n�.�/�4�����+�+�-�r�|�|�/B�/B�C�4�
3�s� A3�3
Bc�F�UR[URU5 gr])rr�rFrCs   rr��9TestOptionalsHelpVersionActions.assertArgumentParserError�s�����-�v�/@�/@�$�Grc��[5nURSSSSS9 URUS5 URUS5 UR[[
US5 g)	Nr�r�r�r�r�r@r{�format_version�r�r�rjrr:r�r;s  r�test_version�,TestOptionalsHelpVersionActions.test_version�sV��+�-�����D�+�i���O�� � ���.�� � ���2����.�'�6�;K�Lrc��[SS9nURSSSSS9 UR[5nUR	S/5 SSS5 URSWRR5 g!,(df   N5=f)	N�PPPrr�r�r�z%(prog)s 3.5r�zPPP 3.5
�r�r�rr�rFrr�r�r�s   r�test_version_format�3TestOptionalsHelpVersionActions.test_version_format�sl��+��7�����D�+�i���X�
�
�
�2�
3�r����t�f�%�4�����b�l�l�&9�&9�:�4�
3�s�A3�3
Bc��[SS9nURSSSSS9 URUS5 URUS	5 UR[[
US
5 g)NFr�r�r�r�r�r�r@r{ro)r�r�r�rr:r�r;s  r�test_version_no_help�4TestOptionalsHelpVersionActions.test_version_no_help�sX��+�U�;�����D�+�i���O��&�&�v�t�4��&�&�v�x�8����.�'�6�;K�Lrc��[SS9nURSSSS9 UR[5nUR	S/5 SSS5 URSWRR5 g!,(df   N5=f)Nr�rr�r�z%(prog)s 3.7r�zXXX 3.7
rur�s   r�test_version_action�3TestOptionalsHelpVersionActions.test_version_action�sj��+��7�����D��N��K�
�
�
�2�
3�r����t�f�%�4�����b�l�l�&9�&9�:�4�
3�s�A2�2
Bc��[SS9nURUS5 URUS5 URUS5 URUS5 g)NFr�r@r{r�r�)r�r�r;s  r�test_no_help�,TestOptionalsHelpVersionActions.test_no_helpsL��+�U�;���&�&�v�t�4��&�&�v�x�8��&�&�v�t�4��&�&�v�{�;rc��[5nURSSS9 URSSS9 URUS5 URUS5 URUS5 UR	[
[US5 g)	NrrHr+r6r�r�r�ro)r�r�rjr�rr:r�r;s  r�test_alternate_help_version�;TestOptionalsHelpVersionActions.test_alternate_help_version
su��+�-�����D���0����D���3�� � ���.��&�&�v�t�4��&�&�v�{�;����.�'�6�;K�Lrc�R�[5nURSSSS9 URSSS9 URS5 /S	QnUS
S/-nUHZnUHnU<SU<3nM URUWS
-5 URXS-5 UR[[
US5 M\ g)Nr�r�r�r�rr*r+r�)r$rr2z-x barzbaz -xz--bad-optionzfoo bar bazz %s r@r{rorp)rr<�valid_prefixes�valid_suffixes�prefix�suffixr�s       r�!test_help_version_extra_arguments�ATestOptionalsHelpVersionActions.test_help_version_extra_argumentss���+�-�����K�	�5��I����D���6����C� �?��'�>�=�*I�I��$�F�(��(.��7��)��$�$�V�V�d�]�;��$�$�V�h�->�?����n�g�v�?O�P�%rr#N)r&r'r(r)rjr�rqrvryr|rr�r�r*r#rrrhrh�s5��D�
H�M�;�M�;�<�M�Qrrhc�D�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rg)�TestStringsi(c�Z�[[4HnURU"U5U5 M gr])rrr)r�obj�
result_stringrAs    r�assertStringEqual�TestStrings.assertStringEqual+s$���$�K�D����T�#�Y�
�6� rc�j�[R"/SQSSSS/SQSSS	S
9	nSnURX5 g)N)r r�r�r�r�r�r.�r�r�r�F�HELP�METAVAR�	rDrSr�r�r�r�r�rHr�z�Action(option_strings=['--foo', '-a', '-b'], dest='b', nargs='+', const=None, default=42, type='int', choices=[1, 2, 3], required=False, help='HELP', metavar='METAVAR', deprecated=False))r5r�r�)r�optionr�s   r�
test_optional�TestStrings.test_optional/sE�����0���������	��
3�	�
	
���v�.rc�|�[R"/S[SS/SQSSSS9	nS	[-nURX5 g)
Nr#r�r�)r�g�?r�TzH HH HzMV MV MVr�z�Action(option_strings=[], dest='x', nargs='?', const=None, default=2.5, type=%r, choices=[0.5, 1.5, 2.5], required=True, help='H HH H', metavar='MV MV MV', deprecated=False))r5r�r�r�)r�argumentr�s   r�
test_argument�TestStrings.test_argumentAsO���?�?������#����	 ��
 �#(�
(�	�
	
���x�0rc�T�[R"SSS9nSnURX5 g)Nr.r�rozNamespace(foo=42, bar='spam')�r5r�r��rr�r�s   r�test_namespace�TestStrings.test_namespaceSs'��
�
�
�B�F�
3��0�����r�*rc�Z�[R"S0SS0D6nSnURX5 g)N�"�quotezNamespace(**{'"': 'quote'})r#r�r�s   r�'test_namespace_starkwargs_notidentifier�3TestStrings.test_namespace_starkwargs_notidentifierXs,��
�
�
�
1�3��.�
1��2�����r�*rc�^�[R"SSS0SS0D6nSnURX5 g)Nrr�r�r�z Namespace(a=1, **{'"': 'quote'})r#r�r�s   r�2test_namespace_kwargs_and_starkwargs_notidentifier�>TestStrings.test_namespace_kwargs_and_starkwargs_notidentifier]s1��
�
�
�
6�!�
6��W�~�
6��7�����r�*rc�Z�[R"S0SS0D6nSnURX5 g)N�validTzNamespace(valid=True)r#r�r�s   r�$test_namespace_starkwargs_identifier�0TestStrings.test_namespace_starkwargs_identifierbs,��
�
�
�
2�7�D�/�
2��(�����r�*rc�t�[R"SS9nS[R-nURX5 g)NrrzvArgumentParser(prog='PROG', usage=None, description=None, formatter_class=%r, conflict_handler='error', add_help=True))r5r6�
HelpFormatterr�)rr<r�s   r�test_parser�TestStrings.test_parsergs:���(�(�f�5��
�'�5�5�
6�	�	
���v�.rr#N)
r&r'r(r)r�r�r�r�r�r�r�r�r*r#rrr�r�(s*��7�/�$1�$+�
+�
+�
+�
/rr�c�&�\rSrSrSrSrSrSrg)�
TestNamespaceisc��[R"5nUR[[US5 [R"SSS9nURURS5 URURS5 g)Nr#r.r�r�)r5r�rr:r�rrr�r�s  r�test_constructor�TestNamespace.test_constructorus^��
�
�
�
!�����.�'�2�s�;�
�
�
�"��
/��������r�"�������v�&rc���[R"SSS9n[R"SSS9n[R"SS9n[R"SS9nURX5 URX5 URX5 URX#5 URX$5 UR	X:g5 UR	X:g5 UR	X#:g5 UR	X$:g5 g)Nr�r�r�)r�r)rr)r5r�r�assertNotEqual�
assertTrue)r�ns1�ns2�ns3�ns4s     r�
test_equality�TestNamespace.test_equality}s���� � �1��*��� � �1��*��� � �1�%��� � �1�%������"����C�%����C�%����C�%����C�%�����
�#�����
�#�����
�#�����
�#rc���[R"SSS9nURURS5[5 URURS5[5 g)Nr�r�r�)r5r�rBr��NotImplemented�__ne__r�s  r�$test_equality_returns_notimplemented�2TestNamespace.test_equality_returns_notimplemented�s@��
�
�
�!�q�
)���
�
�b�i�i��o�~�6��
�
�b�i�i��o�~�6rr#N)r&r'r(r)r�r�r�r*r#rrr�r�ss��'�$� 7rr�c�&�\rSrSrSrSrSrSrg)�TestEncodingi�c��[RRU5upUS-
n[USSS9nUR	5 SSS5 g!,(df   g=f)Nz.pyr1r
rx)rarj�splitextrzrH)rrjr�rDs    r�_test_module_encoding�"TestEncoding._test_module_encoding�sD���'�'�"�"�4�(�����
��
�$��g�
.�!�
�F�F�H�/�
.�
.�s�A�
Ac�B�UR[R5 gr])r�r5�__file__r!s r�test_argparse_module_encoding�*TestEncoding.test_argparse_module_encoding�s���"�"�8�#4�#4�5rc�.�UR[5 gr])r�r�r!s r�"test_test_argparse_module_encoding�/TestEncoding.test_test_argparse_module_encoding�s���"�"�8�,rr#N)r&r'r(r)r�r�r�r*r#rrr�r��s���6�-rr�c��\rSrSrSrSrg)�TestArgumentErrori�c�l�Sn[R"SU5nUR[U5U5 g)Nz
my error here)r5rRrr)rrr�s   r�test_argument_error�%TestArgumentError.test_argument_error�s-�����&�&�t�S�1������U��S�)rr#N)r&r'r(r)r�r*r#rrr�r��s��*rr�c��\rSrSrSrSrg)�TestArgumentTypeErrori�c��Sn[SSS9nURSUS9 UR[5nUR	S/5 SSS5 URSWRR5 g!,(df   N5=f)	Nc�.�[R"S5e)N�spam!)r5�ArgumentTypeErrorr�s rr��<TestArgumentTypeError.test_argument_type_error.<locals>.spam�s���,�,�W�5�5rrFrJr#r�r�z-usage: PROG x
PROG: error: argument x: spam!
)r�r�rr�rFrr�r�)rr�r<r�s    r�test_argument_type_error�.TestArgumentTypeError.test_argument_type_error�su��	6�,��%�H�����C�d��+�
�
�
�2�
3�r����u�g�&�4����J����,�,�	.�4�
3�s�A5�5
Br#N)r&r'r(r)r�r*r#rrr�r��s��
.rr�c�&�\rSrSrSrSrSrSrg)�TestMessageContentErrori�c���[SSS9nURS[S9 URS[SS9 URS	[S
S9 UR	[
5nUR
/5 SSS5 [WR5nURUS5 URUS5 URUS	5 UR	[
5nUR
S
/5 SSS5 [UR5nURUS5 URUS5 URUS	5 UR	[
5nUR
S
S/5 SSS5 [UR5nURUS5 URUS5 URUS	5 g!,(df   GNR=f!,(df   N�=f!,(df   N}=f)Nrr$r��req_posr��-req_optTr��need_oner�)r�r��req_opt�myXargumentz
-req_opt=1)
r�r�rr�rr�rFr�rIr��rr<r�rs    r�%test_missing_argument_name_in_message�=TestMessageContentError.test_missing_argument_name_in_message�s���+��r�B�����I�C��0����J�S�4��@����J�S���<�
�
�
�2�
3�r����b�!�4��"�,�,�������i�(�����i�(�����j�)�
�
�
�2�
3�r����}�o�.�4��"�,�,�������i�(�����i�(�����j�)�
�
�
�2�
3�r����}�l�;�<�4��"�,�,�������i�(�����i�(�����j�)�#4�
3��4�
3��4�
3�s$�F;�G
�G�;
G
�
G�
G,c���[SSS9nURS[S9 URS[SS9 URS	[S
SS9 UR[5nUR/5 SSS5 [WR5nURUS5 URUS5 URUS
5 UR[5nURS/5 SSS5 [UR5nURUS5 URUS5 URUS
5 g!,(df   N�=f!,(df   Nk=f)Nrr$r�r�r�z	--req_optTr�z	--opt_optr�)r�r�r�r��opt_optz--req_opt=1)r�r�rr�r�rr�rFr�rIr�r�s    r�%test_optional_optional_not_in_message�=TestMessageContentError.test_optional_optional_not_in_message�s*��+��r�B�����I�C��0����K�c�D��A����K�d�#�$(�	�	*�
�
�
�2�
3�r����b�!�4��"�,�,�������i�(�����i�(�����i�(�
�
�
�2�
3�r����}�o�.�4��"�,�,�������i�(�����i�(�����i�(�4�
3��4�
3�s�E�E�
E�
Ec�N�[SSS9nURS5 URSSSS9 UR[5nUR	/5 SSS5 [WR5nURUS5 URUS5 g!,(df   NH=f)	Nrr$r�r��optional_positionalr�r�r�)	r�r�rr�rFrr�rIr�r�s    r�'test_optional_positional_not_in_message�?TestMessageContentError.test_optional_positional_not_in_message�s���+��r�B�����I�&����1��f��M�
�
�
�2�
3�r����b�!�4��"�,�,�������i�(�����3�4�	4�
3�s�B�
B$r#N)r&r'r(r)r�r�r�r*r#rrr�r��s��*�2)�&5rr�c��\rSrSrSrSrg)�TestTypeFunctionCallOnlyOnceic��^�U4Sjn[R"5nURSUSS9 URSR	55nTR[
SS9U5 g)Nc�*>�TRUS5 g)Nr��
foo_converted�r)�string_to_convertrs �rr��LTestTypeFunctionCallOnlyOnce.test_type_function_call_only_once.<locals>.spams������.��8�"rr ror]z--foo spam!r�r;)r5r6r�rFr
rr��rr�r<r�s`   r�!test_type_function_call_only_once�>TestTypeFunctionCallOnlyOnce.test_type_function_call_only_onces[���	#��(�(�*�����G�$���>�� � ��!4�!4�!6�7�������0�$�7rr#N)r&r'r(r)r�r*r#rrr�r�s��8rr�c�2�\rSrSrSrSrSrSrSrSr	g)	�TestDeprecatedArgumentsic�H�[R"5nURSSSS9 [5nUR	SS/5 SSS5 WR5nUR
US5 URURS5S5 [5nUR	SS/5 SSS5 UR5nUR
US	5 URURS5S5 [5nUR	/S
Q5 SSS5 UR5nUR
US5 UR
US	5 URURS5S5 [5nUR	/SQ5 SSS5 UR5nUR
US5 URURS5S5 g!,(df   GN�=f!,(df   GNI=f!,(df   N�=f!,(df   N�=f)
Nr?r T)�
deprecatedr��%warning: option '--foo' is deprecated�
is deprecatedr��"warning: option '-f' is deprecated)r r�r?�hamr�)r r�r r)	r5r6r�rrFrrIrr�rr<r�s   r�test_deprecated_option�.TestDeprecatedArguments.test_deprecated_options����(�(�*�����D�'�d��;�
�
�&����w��/�0�����"������!H�I�������o�6��:�
�
�&����t�V�n�-�����"������!E�F�������o�6��:�
�
�&����<�=�����"������!H�I�����!E�F�������o�6��:�
�
�&����?�@�����"������!H�I�������o�6��:�/�
���
���
���
�s/�G�G0�H�>H�
G-�0
G?�
H�
H!c�`�[R"5nURSS[RSS9 [	5nURS/5 SSS5 WR
5nURUS5 URURS5S5 [	5nURS/5 SSS5 UR
5nURUS5 URURS5S5 [	5nURS	/5 SSS5 UR
5nURUS
5 URURS5S5 [	5nURSS	/5 SSS5 UR
5nURUS5 URUS
5 URURS5S5 g!,(df   GN�=f!,(df   GNH=f!,(df   N�=f!,(df   N�=f)Nr?r T)r,rrrr�rr�z(warning: option '--no-foo' is deprecatedr�)
r5r6r�r�rrFrrIrrrs   r�test_deprecated_boolean_option�6TestDeprecatedArguments.test_deprecated_boolean_option4s����(�(�*�����D�'�(�2P�2P�]a��b�
�
�&����w�i�(�����"������!H�I�������o�6��:�
�
�&����t�f�%�����"������!E�F�������o�6��:�
�
�&����z�l�+�����"������!K�L�������o�6��:�
�
�&����w�
�3�4�����"������!H�I�����!K�L�������o�6��:�/�
���
���
���
�s0�G*�(G<�H�8H�*
G9�<
H�
H�
H-c�J�[R"5nURSSSS9 URSSSS9 [5nUR	/5 SSS5 WR5nUR
URS5S5 [5nUR	S/5 SSS5 UR5nURUS	5 UR
URS5S
5 [5nUR	SS/5 SSS5 UR5nURUS	5 URUS5 UR
URS5S
5 g!,(df   GN$=f!,(df   N�=f!,(df   N�=f)Nr2r�T�r�rrorrr��%warning: argument 'foo' is deprecatedr�rz%warning: argument 'bar' is deprecatedr��	r5r6r�rrFrrrrIrs   r�test_deprecated_arguments�1TestDeprecatedArguments.test_deprecated_argumentsQsN���(�(�*�����E����>����E����>�
�
�&����b�!�����"��������o�6��:�
�
�&����v�h�'�����"������!H�I�������o�6��:�
�
�&����v�u�o�.�����"������!H�I�����!H�I�������o�6��:�!�
��
�
���
�s$�E1�F�?F�1
F�
F�
F"c��[R"5nURSSSS9 [5nUR	/5 SSS5 WR5nUR
URS5S5 [5nUR	S/5 SSS5 UR5nURUS5 UR
URS5S	5 [5nUR	SS
/5 SSS5 UR5nURUS5 UR
URS5S	5 g!,(df   GN=f!,(df   N�=f!,(df   Nu=f)Nr2r�Trrrr�rr�rrrs   r�test_deprecated_varargument�3TestDeprecatedArguments.test_deprecated_varargumenths(���(�(�*�����E����>�
�
�&����b�!�����"��������o�6��:�
�
�&����v�h�'�����"������!H�I�������o�6��:�
�
�&����v�u�o�.�����"������!H�I�������o�6��:��
��
�
���
�s#�E�E �.E1�
E� 
E.�1
E?c�H�[R"5nUR5nURSS/SS9 URS5 [	5nURS/5 SSS5 WR
5nURURS5S5 [	5nURS/5 SSS5 UR
5nURUS5 URURS5S	5 [	5nURS/5 SSS5 UR
5nURUS
5 URURS5S	5 g!,(df   GN=f!,(df   N�=f!,(df   Nu=f)Nr2rpT)rrrorrz$warning: command 'foo' is deprecatedr�z$warning: command 'baz' is deprecated)
r5r6rrrrFrrrrI)rr<r!r�s    r�test_deprecated_subparser�1TestDeprecatedArguments.test_deprecated_subparser}sF���(�(�*���*�*�,�
����e�e�W���F����e�$�
�
�&����u�g�&�����"��������o�6��:�
�
�&����u�g�&�����"������!G�H�������o�6��:�
�
�&����u�g�&�����"������!G�H�������o�6��:��
��
�
���
�s$�E0�)F�F�0
E?�
F�
F!r#N)
r&r'r(r)rrrrrr*r#rrrrs��;�:;�:;�.;�*;rrc�,�\rSrSrSrSrSrSrSrg)�TestTypeFunctionCalledOnDefaulti�c�^�U4Sjn[R"5nURSUSS9 UR/5nTR	[SS9U5 g)Nc�*>�TRUS5 g)Nrr�r�)�int_to_convertrs �rr��]TestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default.<locals>.spam�s������^�Q�/�"rr rr]r;�r5r6r�rFrr�r�s`   r�/test_type_function_call_with_non_string_default�OTestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default�sQ���	#��(�(�*�����G�$���:�� � ��$��������D�)rc��Sn[R"5nURSUSS9 UR/5nUR	[SS9U5 g)Nc��g)Nr�r#)rs rr��YTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_default.<locals>.spam�s��"rr �0r]r�r;rr�s    r�+test_type_function_call_with_string_default�KTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_default�sQ��	#��(�(�*�����G�$���<�� � ��$�������0�$�7rc��Sn[R"5nURSUSS9 UR/5nUR	[SS9U5 g)Nc��US-$)Nr�r#)�str_to_converts rr��YTestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_default.<locals>.extend�s
��!�C�'�'r�--testr�r]z**)r�r)rr�r<r�s    r�)test_no_double_type_conversion_of_default�ITestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_default�sR��	(��(�(�*�����H�6�3��?�� � ��$��	
�������-rc��[R"5nURSS[/SS9 UR	/5nURUR/5 g)Nr,r�r�)rSr�r�r,)r5r6r�rrFrr�rCs   r�test_issue_15906�0TestTypeFunctionCalledOnDefault.test_issue_15906�sT���(�(�*�����H�6��$&�x�	�	9�� � ��$��������B�'rr#N)	r&r'r(r)r r&r-r0r*r#rrrr�s��	*�8�
.�(rrc�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�TestParseKnownArgsi�c�P�[R"5nURS5 g)Nr#�r5r6rFr;s  r�test_arguments_tuple�'TestParseKnownArgs.test_arguments_tuple�����(�(�*�����"�rc�P�[R"5nUR/5 gr]r5r;s  r�test_arguments_list�&TestParseKnownArgs.test_arguments_list�r8rc�r�[R"5nURS5 URS5 g)Nr#r"�r5r6r�rFr;s  r�test_arguments_tuple_positional�2TestParseKnownArgs.test_arguments_tuple_positional�s,���(�(�*�����C� ����&�!rc�t�[R"5nURS5 URS/5 g)Nr#r=r;s  r�test_arguments_list_positional�1TestParseKnownArgs.test_arguments_list_positional�s.���(�(�*�����C� ����3�%� rc���[R"5nURS5 URSR	55up#UR[
SS9U5 URSS/U5 g)Nr z--foo F --bar --baz�Fr;rZr�)r5r6r�r;r
rr�)rr<r��extrass    r�test_optionals�!TestParseKnownArgs.test_optionals�sc���(�(�*�����G�$��.�.�/D�/J�/J�/L�M���������d�+����'�7�+�V�4rc�(�[R"5nURSSS[S9 URSSS9 URS5 /S	QnUR	U5up4UR[
S
SSS
9U5 UR/SQU5 g)Nr�r�r�)r�r0r�rjr�r+r_)rmr�r r�r(r�r�Trm)�vr�r_)r�r r�)r5r6r�r�r;rr�)rr<r�r�rEs     r�
test_mixed�TestParseKnownArgs.test_mixed�s����(�(�*�����D��1�3��?����H�]��;����H�%�2���.�.�t�4�������a�d�3�7��>����,�f�5rc��[R"5nURSSSS9 UR/5nUR	[/S9U5 g)Nr#r�r�)r�r�r"rrCs   r�test_zero_or_more_optional�-TestParseKnownArgs.test_zero_or_more_optional�sI���(�(�*�����C�s�J��?�� � ��$������b��4�(rr#N)r&r'r(r)r6r:r>rArFrJrMr*r#rrr3r3�s%����"�
!�
5�	6�)rr3c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�TestDoubleDashi�c�P�[R"SS9nURSS5 URSSS9 URS/5nUR	[S	/S
9U5 UR
[RSURSS	/5 URS/5nUR	[S	/S
9U5 UR
[RSURSS	/5 UR/S
Q5nUR	[SSS/S
9U5 UR/SQ5nUR	[SSS/S
9U5 UR/SQ5nUR	[S/SQS
9U5 UR/SQ5nUR	[S/SQS
9U5 g)NFrNr?r ror�r��--foo=--r4roz(argument -f/--foo: expected one argument�-f--)r rr4r�r�rr�r�)rr�r r�)rr4r�r r�)rr4r�r4r�r r�)rr�r4r�r r�)r5r6r�rFrr�rQrRrCs   r�test_single_argument_option�*TestDoubleDash.test_single_argument_option�s����(�(�u�=�����D�'�*����E���-�� � �*��.�������"�-�t�4����x�5�5�6�������	0�� � �&��*�������"�-�t�4����x�5�5�6�����d�|�	-�� � �!?�@�������#�s��4�d�;�� � �!9�:�������#�s��4�d�;�� � �!?�@�������*B�C�T�J�� � �!J�K�������*M�N�PT�Urc��[R"SS9nURSSSS9 URSSS9 URS/5nUR	[S	//S
9U5 URSS	/5nUR	[//S
9U5 URS/5nUR	[S	//S
9U5 URSS	/5nUR	[//S
9U5 UR/SQ5nUR	[S
S/SS/S
9U5 UR/SQ5nUR	[SS/S
S/S
9U5 UR/SQ5nUR	[S/SQS
9U5 UR
/SQ5up#UR	[S/S
S/S
9U5 UR	US	S/5 g)NFrNr?r r�r�rorRr4rorS)r rr�r4r�r�rr�r�r�)rr�r r�r�)rr4r�r r�r�)rr�r r�r4r�)r5r6r�rFrr�r;)rr<r�r�s    r�test_multiple_argument_option�,TestDoubleDash.test_multiple_argument_options����(�(�u�=�����D�'���5����E���-�� � �*��.��������B�/��6�� � �'�4��1��������+�T�2�� � �&��*��������B�/��6�� � �$���.��������+�T�2�� � �!D�E�������c�
��c�
�;�T�B�� � �!>�?�������c�
��c�
�;�T�B�� � �!D�E�������*G�H�$�O��,�,�-P�Q�
��������C��:�6��=������c�{�+rc�D�[R"SS9nURS5 URSSS9 UR/SQ5nUR	[SS	S
/S9U5 UR/SQ5nUR	[SS	S
/S9U5 UR/S
Q5nUR	[SS	S
/S9U5 UR/SQ5nUR	[S/SQS9U5 UR/SQ5nUR	[S/SQS9U5 g)NFrNr2ror�r��r4rr�r�rr�r�ro�rr4r�r��rr�r4r��rr4r�r4r��r�r4r�)r4r4rr4r�r�r4rrCs   r�test_multiple_double_dashes�*TestDoubleDash.test_multiple_double_dashes's	���(�(�u�=�����E�"����E���-�� � �!6�7�������#�s��4�d�;�� � �!6�7�������#�s��4�d�;�� � �!6�7�������#�s��4�d�;�� � �!<�=�������)9�:�D�A�� � �!B�C�������*?�@�$�Grc��[R"SS9nURS5 URSSS9 UR/SQ5nUR	[SS	S
/S9U5 UR/SQ5nUR	[SS	S
/S9U5 UR/S
Q5nUR	[S/SQS9U5 UR/SQ5nUR	[S/SQS9U5 [R"SS9nURS5 URSSS9 UR/SQ5nUR	[S/SQS9U5 g)NFrNr2ror�r�rZrr�r�ror[r\r^r]r )r rr4r�r4r�)r4r�r4r�rrCs   r�test_remainder�TestDoubleDash.test_remainder7s7���(�(�u�=�����E�"����E���/�� � �!6�7�������#�s��4�d�;�� � �!6�7�������#�s��4�d�;�� � �!6�7�������)9�:�D�A�� � �!<�=�������)9�:�D�A��(�(�u�=�����G�$����E���/�� � �!E�F�������)?�@�$�Grc�.�[R"SS9nURS5 UR5nUR	S5nURS5 URSSS9 UR/S	Q5nUR
[S
SSS
/S9U5 UR/SQ5nUR
[S
S/SQS9U5 UR/SQ5nUR
[S
S/SQS9U5 UR/SQ5nUR
[S
S/SQS9U5 UR/SQ5nUR
[S
SSS
/S9U5 UR/SQ5nUR
[S
SSS
/S9U5 UR/SQ5nUR
[S
S/SQS9U5 UR/SQ5nUR
[S
S/SQS9U5 UR[RSUR
/SQ5 g)NFrNr2rVr?ror�r�)r#rVrr�r?r�r#r�rr��r2rDro)r#rVrr�r4r?r�)rr�r?r�)r#rVrr4r�r?r�)r#rVr4rr�r?r�)r#r4rVrr�r?r�)r4r#rVrr�r?r�)r#rVr4rr4r�)rr4r�)r#r4rVr4rr4r��invalid choice: '--')r4r#r4rVrr��
r5r6r�rrrFrr�rQrR�rr<r!r#r�s     r�test_subparser�TestDoubleDash.test_subparserKs����(�(�u�=�����E�"��*�*�,�
��'�'��.�����T�"����U�#��.�� � �!B�C�������s��c�
�;�T�B�� � �!H�I�������t�1F�G��N�� � �!H�I�������t�1F�G��N�� � �!H�I�������t�1F�G��N�� � �!H�I�������s��c�
�;�T�B�� � �!H�I�������s��c�
�;�T�B�� � �!C�D�������t�1A�B�D�I�� � �!I�J�������t�1A�B�D�I����x�5�5�"����A�	Crc��[R"SS9nURSSS9 UR5nUR	S5nURS5 URSSS9 UR/S	Q5nUR
[S
S/SS
S/S9U5 UR[RSUR
/SQ5 g)NFrNr r�r�rVr?ro)	r r#r�r4rVrr�r?r�r#r�r�rr�rerf)r r#r4r4rVrr�rgrhs     r�-test_subparser_after_multiple_argument_option�<TestDoubleDash.test_subparser_after_multiple_argument_optiongs����(�(�u�=�����G�3��/��*�*�,�
��'�'��.�����T�"����U�#��.�� � �!V�W�������c�
�c��S�z�B�D�I����x�5�5�"����J�	Lrr#N)r&r'r(r)rTrWr_rbrirlr*r#rrrPrP�s%��V�0,�.H� H�(C�8LrrPc�2�\rSrSrSrSrSrSrSrSr	g)	�TestIntermixedArgsizc	��[R"SS9nURSSS9 URSSSS	9nURS
5 URSS[S
9 SR	5nURU5nUR
[SS
S/SQS9U5 URU5upEUR
[SS
SS/S9U5 UR
SS/U5 URU5upEUR
[SS
S/SQS9U5 UR
/U5 SR	5nURU5upEUR
[SS
S/SQS9U5 UR
S/U5 SR	5nURU5upEUR
[SS
S/SQS9U5 UR
S/U5 SR	5nURU5upEUR
[SS
S/SQS9U5 UR
S/U5 URUR5 UR
URS5 g)Nrrr r2rRrZroTr`�cmd�restr�)r�r�zcmd --foo x 1 --bar y 2 3r�r#r�)rorqr2rrr�r�r(z!cmd --foo x --error 1 2 --bar y 3z--errorz!cmd --foo x 1 --error 2 --bar y 3z!cmd --foo x 1 2 --error --bar y 3)
r5r6r�r�r
�parse_intermixed_argsrr�r;�parse_known_intermixed_argsrerr�)rr<ror�r�rEs      r�
test_basic�TestIntermixedArgs.test_basic{s)���(�(�f�5�����G�%��0��!�!�'���!�E�����E�"����F�#�C��8�*�0�0�2���+�+�D�1��������C�i�H�$�O��.�.�t�4���������C�q�c�B�D�I����#�s��V�,��9�9�$�?���������C�i�H�$�O�����V�$�3�8�8�:���9�9�$�?���������C�i�H�$�O����)��f�-�2�8�8�:���9�9�$�?���������C�i�H�$�O����)��f�-�2�8�8�:���9�9�$�?���������C�i�H�$�O����)��f�-�	
���&�,�,�'�������t�,rc�d�[SS9nURS5 URS5 URSSS9 SR5nUR[5nURU5 SSS5 UR
[WR5S	5 g!,(df   N4=f)
Nrrr1r#r�r�r�r�z\.\.\.)	r�r�r
rr�rsrIrr�)rr<r�r�s    rrb�!TestIntermixedArgs.test_remainder�s���+��8�����D�!����C� ����C�u��-��!�!�#���
�
�y�
)�R��(�(��.�*�����R�\�\�*�I�6�*�
)�s�!B!�!
B/c�N�[R"SSS9nURSS9nURSSSS	9 URS
SS9 URS
SSSS9 UR	SR55nUR
[SS/SSS9U5 UR	SR55nUR
[SS/SSS9U5 UR[RSURSR55 UR
URS5 g)NrF�rrOTrjr r*rrrrjrsr�r_r�rartr�z	--foo 1 2rlr�)r_r2r�z	1 --foo 2z-one of the arguments --foo --spam is requiredrk)r5r6r�r�rsr
rr�rQrRr��rr<r�r�s    r�test_required_exclusive�*TestIntermixedArgs.test_required_exclusive�s���(�(�f�E�J���3�3�T�3�B��
���7�<�e��D�
���8�&��1����H�C��8��L��+�+�K�,=�,=�,?�@������C��:�4�d�C�T�J��+�+�K�,=�,=�,?�@������C��:�4�d�C�T�J����x�5�5�?��,�,�e�k�k�m�	=�	
�������.rc��[R"SSS9nURSS9nURSSSS	9 URS
SS9 URS
SSSS9 UR	S/5nUR[
SSSS9U5 UR	SS/5nUR[
SSSS/S9U5 UR[RSUR/5 UR[RSUR/SQ5 UR[RSUR/SQ5 URURS5 g)NrFrzTrjr r*rrrrjrsr�r_r�rartr�rwrr�z4one of the arguments --foo --spam badger is requiredz0argument badger: not allowed with argument --foo)r rr�)rr r�)
r5r6r�r�rsrr�rQrRr�r{s    r�'test_required_exclusive_with_positional�:TestIntermixedArgs.test_required_exclusive_with_positional�sL���(�(�f�E�J���3�3�T�3�B��
���7�<�e��D�
���8�&��1�
���8�3��(��K��+�+�W�I�6�������4��<�d�C��+�+�S�#�J�7�������D�#�s��D�d�K����x�5�5�F��,�,�b�	2�	
���x�5�5�B��,�,�.A�	C�	
���x�5�5�B��,�,�.A�	C�	
�������.rc�Z�[SS9nUR[URS/5 g)Nrrr)r�rr�rsr;s  r�test_invalid_args�$TestIntermixedArgs.test_invalid_args�s'��+��8�����-�v�/K�/K�c�U�Srr#N)
r&r'r(r)rurbr|rr�r*r#rrrorozs��$-�L7�/� /�,Trroc��\rSrSrSrSrg)�!TestIntermixedMessageContentErrori�c�N�[SSS9nURS[S9 URS[SS9 UR	[
5nUR
/5 SSS5 [WR5nURUS5 URUS	5 UR	[
5nUR/5 SSS5 [UR5nURUS5 URUS	5 g!,(df   N�=f!,(df   NY=f)
Nrr$r�r�r�r�Tr�r�)
r�r�rr�rr�rFr�rIrsr�s    rr��GTestIntermixedMessageContentError.test_missing_argument_name_in_message�s���+��r�B�����I�C��0����J�S�4��@�
�
�
�2�
3�r����b�!�4��"�,�,�������i�(�����i�(�
�
�
�2�
3�r��(�(��,�4��"�,�,�������i�(�����i�(�4�
3��4�
3�s�	D�1D�
D�
D$r#N)r&r'r(r)r�r*r#rrr�r��s��)rr�c�2�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4g3)4�TestAddArgumentMetavari�z,length of metavar tuple does not match nargsc�N�[R"5nURSXS9 g)Nr �r�r�)r5r6r�)rr�r�r<s    r�do_test_no_exception�+TestAddArgumentMetavar.do_test_no_exception�s#���(�(�*�����G�5��Brc��[R"5nUR[5nUR	SXS9 SSS5 URWRRSUR5 g!,(df   NB=f)Nr r�r)	r5r6rr�r�rr�r��EXPECTED_MESSAGE)rr�r�r<r�s     r�do_test_exception�(TestAddArgumentMetavar.do_test_exception�sf���(�(�*��
�
�
�z�
*�b�����u��F�+�������*�*�1�-�t�/D�/D�E�+�
*���A8�8
Bc�$�URSSS9 g)Nrlr��r�r!s r�test_nargs_None_metavar_string�5TestAddArgumentMetavar.test_nargs_None_metavar_strings���!�!��c�!�:rc�4�URS[5S9 g)Nr��r��tupler!s r�test_nargs_None_metavar_length0�6TestAddArgumentMetavar.test_nargs_None_metavar_length0s�����T�5�7��;rc�$�URSSS9 g)Nrr�r�r!s r�test_nargs_None_metavar_length1�6TestAddArgumentMetavar.test_nargs_None_metavar_length1s���!�!��f�!�=rc�$�URSSS9 g)N�rlr�r��r�r!s r�test_nargs_None_metavar_length2�6TestAddArgumentMetavar.test_nargs_None_metavar_length2
s�����T�:��>rc�$�URSSS9 g)Nrr�r�r!s r�test_nargs_None_metavar_length3�6TestAddArgumentMetavar.test_nargs_None_metavar_length3
s�����T�?��Crc�$�URSSS9 g)Nr�rlr�r�r!s r�"test_nargs_optional_metavar_string�9TestAddArgumentMetavar.test_nargs_optional_metavar_string����!�!��S�!�9rc�4�URS[5S9 g)Nr�r�r�r!s r�#test_nargs_optional_metavar_length0�:TestAddArgumentMetavar.test_nargs_optional_metavar_length0������S�%�'��:rc�$�URSSS9 g)Nr�rr�r�r!s r�#test_nargs_optional_metavar_length1�:TestAddArgumentMetavar.test_nargs_optional_metavar_length1����!�!��V�!�<rc�$�URSSS9 g)Nr�r�r�r�r!s r�#test_nargs_optional_metavar_length2�:TestAddArgumentMetavar.test_nargs_optional_metavar_length2s�����S�*��=rc�$�URSSS9 g)Nr�rr�r�r!s r�#test_nargs_optional_metavar_length3�:TestAddArgumentMetavar.test_nargs_optional_metavar_length3������S�/��Brc�$�URSSS9 g)Nr�rlr�r�r!s r�$test_nargs_zeroormore_metavar_string�;TestAddArgumentMetavar.test_nargs_zeroormore_metavar_string#r�rc�4�URS[5S9 g)Nr�r�r�r!s r�%test_nargs_zeroormore_metavar_length0�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length0&r�rc�$�URSSS9 g)Nr�rr�r�r!s r�%test_nargs_zeroormore_metavar_length1�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length1)r�rc�$�URSSS9 g)Nr�r�r�r�r!s r�%test_nargs_zeroormore_metavar_length2�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length2,����!�!��Z�!�@rc�$�URSSS9 g)Nr�rr�r�r!s r�%test_nargs_zeroormore_metavar_length3�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length3/r�rc�$�URSSS9 g)Nr�rlr�r�r!s r�#test_nargs_oneormore_metavar_string�:TestAddArgumentMetavar.test_nargs_oneormore_metavar_string4r�rc�4�URS[5S9 g)Nr�r�r�r!s r�$test_nargs_oneormore_metavar_length0�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length07r�rc�$�URSSS9 g)Nr�rr�r�r!s r�$test_nargs_oneormore_metavar_length1�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length1:s�����S�&��9rc�$�URSSS9 g)Nr�r�r�r�r!s r�$test_nargs_oneormore_metavar_length2�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length2=r�rc�$�URSSS9 g)Nr�rr�r�r!s r�$test_nargs_oneormore_metavar_length3�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length3@r�rc�$�URSSS9 g)Nr�rlr�r�r!s r�#test_nargs_remainder_metavar_string�:TestAddArgumentMetavar.test_nargs_remainder_metavar_stringEs���!�!��s�!�;rc�4�URS[5S9 g)Nr�r�)r�r�r!s r�$test_nargs_remainder_metavar_length0�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length0Hs���!�!��u�w�!�?rc�$�URSSS9 g)Nr�rr�r�r!s r�$test_nargs_remainder_metavar_length1�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length1Ks���!�!��v�!�>rc�$�URSSS9 g)Nr�r�r�r�r!s r�$test_nargs_remainder_metavar_length2�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length2Ns���!�!��z�!�Brc�$�URSSS9 g)Nr�rr�r�r!s r�$test_nargs_remainder_metavar_length3�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length3Qs���!�!���!�Grc�$�URSSS9 g)N�A...rlr�r�r!s r� test_nargs_parser_metavar_string�7TestAddArgumentMetavar.test_nargs_parser_metavar_stringVs���!�!���!�<rc�4�URS[5S9 g)Nr�r�r�r!s r�!test_nargs_parser_metavar_length0�8TestAddArgumentMetavar.test_nargs_parser_metavar_length0Ys�����V�U�W��=rc�$�URSSS9 g)Nr�rr�r�r!s r�!test_nargs_parser_metavar_length1�8TestAddArgumentMetavar.test_nargs_parser_metavar_length1\s���!�!���!�?rc�$�URSSS9 g)Nr�r�r�r�r!s r�!test_nargs_parser_metavar_length2�8TestAddArgumentMetavar.test_nargs_parser_metavar_length2_s�����V�Z��@rc�$�URSSS9 g)Nr�rr�r�r!s r�!test_nargs_parser_metavar_length3�8TestAddArgumentMetavar.test_nargs_parser_metavar_length3bs�����V�_��Erc�$�URSSS9 g)Nr�rlr�r�r!s r�test_nargs_1_metavar_string�2TestAddArgumentMetavar.test_nargs_1_metavar_stringg����!�!��3�!�7rc�4�URS[5S9 g)Nr�r�r�r!s r�test_nargs_1_metavar_length0�3TestAddArgumentMetavar.test_nargs_1_metavar_length0j������Q����8rc�$�URSSS9 g)Nr�rr�r�r!s r�test_nargs_1_metavar_length1�3TestAddArgumentMetavar.test_nargs_1_metavar_length1ms���!�!��6�!�:rc�$�URSSS9 g)Nr�r�r�r�r!s r�test_nargs_1_metavar_length2�3TestAddArgumentMetavar.test_nargs_1_metavar_length2p������Q�
��;rc�$�URSSS9 g)Nr�rr�r�r!s r�test_nargs_1_metavar_length3�3TestAddArgumentMetavar.test_nargs_1_metavar_length3s������Q���@rc�$�URSSS9 g)Nr�rlr�r�r!s r�test_nargs_2_metavar_string�2TestAddArgumentMetavar.test_nargs_2_metavar_stringxr�rc�4�URS[5S9 g)Nr�r�r�r!s r�test_nargs_2_metavar_length0�3TestAddArgumentMetavar.test_nargs_2_metavar_length0{r�rc�$�URSSS9 g)Nr�rr�r�r!s r�test_nargs_2_metavar_length1�3TestAddArgumentMetavar.test_nargs_2_metavar_length1~������Q���7rc�$�URSSS9 g)Nr�r�r�r�r!s r�test_nargs_2_metavar_length2�3TestAddArgumentMetavar.test_nargs_2_metavar_length2�s���!�!��:�!�>rc�$�URSSS9 g)Nr�rr�r�r!s r�test_nargs_2_metavar_length3�3TestAddArgumentMetavar.test_nargs_2_metavar_length3�r
	rc�$�URSSS9 g)Nr�rlr�r�r!s r�test_nargs_3_metavar_string�2TestAddArgumentMetavar.test_nargs_3_metavar_string�r�rc�4�URS[5S9 g)Nr�r�r�r!s r�test_nargs_3_metavar_length0�3TestAddArgumentMetavar.test_nargs_3_metavar_length0�r�rc�$�URSSS9 g)Nr�rr�r�r!s r�test_nargs_3_metavar_length1�3TestAddArgumentMetavar.test_nargs_3_metavar_length1�r	rc�$�URSSS9 g)Nr�r�r�r�r!s r�test_nargs_3_metavar_length2�3TestAddArgumentMetavar.test_nargs_3_metavar_length2�r	rc�$�URSSS9 g)Nr�rr�r�r!s r�test_nargs_3_metavar_length3�3TestAddArgumentMetavar.test_nargs_3_metavar_length3�s���!�!��?�!�Crr#N)5r&r'r(r)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r	r	r	r	r	r	r	r	r	r"	r%	r(	r*r#rrr�r��s��E��C�F�;�<�>�?�D�
:�;�=�>�C�
:�;�=�A�C�
:�;�:�A�C�
<�@�?�C�H�
=�>�@�A�F�
8�9�;�<�A�
8�9�8�?�A�
8�9�8�<�Drr�c�4�\rSrSrSrSrSrSrSrSr	Sr
g	)
�TestInvalidNargsi�zinvalid nargs valuez�nargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriatec��[R"5nUR[5nUR	SUS9 SSS5 URWRRSUR5 g!,(df   NB=f�Nr r�r)	r5r6rr�r�rr�r��EXPECTED_RANGE_MESSAGE�rr�r<r�s    r�do_test_range_exception�(TestInvalidNargs.do_test_range_exception�sf���(�(�*��
�
�
�z�
*�b�����u��5�+�������*�*�1�-�t�/J�/J�K�+�
*�r�c��[R"5nUR[5nUR	SUS9 SSS5 URWRRSUR5 g!,(df   NB=fr-	)	r5r6rr�r�rr�r��EXPECTED_INVALID_MESSAGEr/	s    r�do_test_invalid_exception�*TestInvalidNargs.do_test_invalid_exception�sf���(�(�*��
�
�
�z�
*�b�����u��5�+�������*�*�1�-�t�/L�/L�M�+�
*�r�c�@�URSS9 URSS9 g)Nrr��abcd)r4	r!s r�test_nargs_alphabetic�&TestInvalidNargs.test_nargs_alphabetic�s$���&�&�S�&�1��&�&�V�&�4rc�"�URSS9 g)Nrr�)r0	r!s r�test_nargs_zero� TestInvalidNargs.test_nargs_zero�s���$�$�1�$�-rr#N)r&r'r(r)r3	r.	r0	r4	r8	r;	r*r#rrr+	r+	�s'��4��L��L�N�5�.rr+	c� �\rSrSrSrSrSrg)�TestImportStari�c�p�[RH"nUR[[U55 M$ gr])r5�__all__r�rrBs  rr��TestImportStar.test�s%���$�$�D��O�O�G�H�d�3�4�%rc�P�[[5R5VVs/sHDupURS5(aMUS:XaM%[R
"U5(aMBUPMF nnnUR
[U5[[R55 gs snnf)Nr��ngettext)	r�r5r��
startswith�inspect�ismodulerr�r@	)rrsr�r�s    r�'test_all_exports_everything_but_modules�6TestImportStar.test_all_exports_everything_but_modules�s��� $�H�~�3�3�5�
�5����O�O�C�(�
�,0�J�,>�
��#�#�E�*�
�5�	�
�	
�������x�/?�/?�(@�A��

s�B"�B"�	B"�&B"r#N)r&r'r(r)r�rG	r*r#rrr>	r>	�s
��5�Brr>	c�.^�\rSrSrU4SjrSrSrU=r$)�TestWrappingMetavari�c�z>�[TU]5 [S5UlSnURR	SUS9 g)N�9this_is_spammy_prog_with_a_long_name_sorry_about_the_namez<http[s]://example:1234>z--proxyrF)rrWr�r<r�)rr�rs  �rrW�TestWrappingMetavar.setUp�s9���
��
��0�G�
���
-����� � ��G� �<rc��URR5nURU[R"S55 g)Na            usage: this_is_spammy_prog_with_a_long_name_sorry_about_the_name
                   [-h] [--proxy <http[s]://example:1234>]

            options:
              -h, --help            show this help message and exit
              --proxy <http[s]://example:1234>
            )r<rJrryrz)r�	help_texts  r�test_help_with_metavar�*TestWrappingMetavar.test_help_with_metavar�s4���K�K�+�+�-�	�����H�O�O�5�%�	r�r<)r&r'r(r)rWrP	r*r+r,s@rrJ	rJ	�s���=�	�	rrJ	c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrg)�TestExitOnErrori�c�v�[R"SSS9UlURRSS[S9 g)NFr�)rOrz
--integers�N)r�r�)r5r6r<r�r�r!s rrW�TestExitOnError.setUp�s3���-�-�E�DG�I������ � ��s�� �Erc��URRSR55nURU[R
"SS95 g)Nz--integers 4r�)�integers)r<rFr
rr5r�r�s  r�!test_exit_on_error_with_good_args�1TestExitOnError.test_exit_on_error_with_good_args�s:��
�[�[�
#�
#�N�$8�$8�$:�
;������X�/�/��;�<rc���UR[R5 URR	SR55 SSS5 g!,(df   g=f)Nz--integers a)rr5rRr<rFr
r!s r� test_exit_on_error_with_bad_args�0TestExitOnError.test_exit_on_error_with_bad_args�s=��
�
�
�x�5�5�
6��K�K�"�"�>�#7�#7�#9�:�7�
6�
6�s�*A�
A!c��UR[RSURRSR55 g�Nz!unrecognized arguments: --foo barr�)rQr5rRr<rFr
r!s r�test_unrecognized_args�&TestExitOnError.test_unrecognized_args�s4�����x�5�5�B�#�{�{�5�5�{�7H�7H�7J�	Lrc��UR[RSURRSR55 gr`	)rQr5rRr<rsr
r!s r�!test_unrecognized_intermixed_args�1TestExitOnError.test_unrecognized_intermixed_args�s4�����x�5�5�B�#�{�{�@�@�+�BS�BS�BU�	Wrc���URRS5 URRS5 UR[RSURR
/5 g)Nrorp�/the following arguments are required: bar, baz$�r<r�rQr5rRrFr!s r�test_required_args�"TestExitOnError.test_required_args�sN����� � ��'���� � ��'����x�5�5�P�#�{�{�5�5�r�	;rc���URRS5 URRSSS9 UR[RSURR
/5 g)Nrorp�BaZrFz/the following arguments are required: bar, BaZ$rh	r!s r�test_required_args_with_metavar�/TestExitOnError.test_required_args_with_metavarsS����� � ��'���� � ��� �6����x�5�5�P�#�{�{�5�5�r�	;rc���URRS5 URRSSS9 UR[RSURR
/5 g)Nrorpr�r�rg	rh	r!s r�test_required_args_n�$TestExitOnError.test_required_args_nsS����� � ��'���� � ��a� �0����x�5�5�P�#�{�{�5�5�r�	;rc���URRS5 URRSSSS9 UR[RSURR
/5 g)Nrorpr�)rmr�r�r�z3the following arguments are required: bar, B, A, Z$rh	r!s r�!test_required_args_n_with_metavar�1TestExitOnError.test_required_args_n_with_metavarsU����� � ��'���� � ��a�� �I����x�5�5�T�#�{�{�5�5�r�	;rc���URRS5 URRSSS9 UR[RSURR
/5 g)Nrorpr�r��*the following arguments are required: bar$rh	r!s r�test_required_args_optional�+TestExitOnError.test_required_args_optional�S����� � ��'���� � ��c� �2����x�5�5�K�#�{�{�5�5�r�	;rc���URRS5 URRSSS9 UR[RSURR
/5 g)Nrorpr�r�rv	rh	r!s r�test_required_args_zero_or_more�/TestExitOnError.test_required_args_zero_or_morery	rc���URRS5 URRSSS9 UR[RSURR
/5 g)Nrorpr�r�rg	rh	r!s r�test_required_args_one_or_more�.TestExitOnError.test_required_args_one_or_more$sS����� � ��'���� � ��c� �2����x�5�5�P�#�{�{�5�5�r�	;rc���URRS5 URRSSSS9 UR[RSURR
/5 g)Nrorpr�)�BaZ1�BaZ2r�z9the following arguments are required: bar, BaZ1\[, BaZ2]$rh	r!s r�+test_required_args_one_or_more_with_metavar�;TestExitOnError.test_required_args_one_or_more_with_metavar+sV����� � ��'���� � ��c�;K� �L����x�5�5�[�#�{�{�5�5�r�	;rc���URRS5 URRSSS9 UR[RSURR
/5 g)Nrorpr�r�rv	rh	r!s r�test_required_args_remainder�,TestExitOnError.test_required_args_remainder2sS����� � ��'���� � ��e� �4����x�5�5�K�#�{�{�5�5�r�	;rc���URRSS9nURS5 URS5 UR[R
SURR/5 g)NTrjrZr�z,one of the arguments --bar --baz is required�r<r�r�rQr5rRrF�rr�s  r�%test_required_mutually_exclusive_args�5TestExitOnError.test_required_mutually_exclusive_args9s]�����8�8�$�8�G��
���7�#�
���7�#����x�5�5�M�#�{�{�5�5�r�	;rc�\�URR5nURS5 URSSSS9 UR[R
SURR/SQ5 UR[R
SURR/S	Q5 g)
NrZrpr�rl	r�z.argument BaZ: not allowed with argument --bar$�rZrr�z.argument --bar: not allowed with argument BaZ$�rrZr�r�	r�	s  r�>test_conflicting_mutually_exclusive_args_optional_with_metavar�NTestExitOnError.test_conflicting_mutually_exclusive_args_optional_with_metavarAs������8�8�:��
���7�#�
���5��U��;����x�5�5�O�#�{�{�5�5�7J�	L�	
���x�5�5�O�#�{�{�5�5�7J�	Lrc�\�URR5nURS5 URSSSS9 UR[R
SURR/SQ5 UR[R
SURR/S	Q5 g)
NrZrpr�)�BAZ1r�z/argument BAZ1: not allowed with argument --bar$r�	z/argument --bar: not allowed with argument BAZ1$r�	r�	r�	s  r�Ctest_conflicting_mutually_exclusive_args_zero_or_more_with_metavar1�STestExitOnError.test_conflicting_mutually_exclusive_args_zero_or_more_with_metavar1Ls������8�8�:��
���7�#�
���5��Y��?����x�5�5�P�#�{�{�5�5�7J�	L�	
���x�5�5�P�#�{�{�5�5�7J�	Lrc�\�URR5nURS5 URSSSS9 UR[R
SURR/SQ5 UR[R
SURR/S	Q5 g)
NrZrpr�)r�	�BAZ2r�z8argument BAZ1\[, BAZ2]: not allowed with argument --bar$r�	z8argument --bar: not allowed with argument BAZ1\[, BAZ2]$r�	r�	r�	s  r�Ctest_conflicting_mutually_exclusive_args_zero_or_more_with_metavar2�STestExitOnError.test_conflicting_mutually_exclusive_args_zero_or_more_with_metavar2Ws������8�8�:��
���7�#�
���5��5E��F����x�5�5�Z�#�{�{�5�5�7J�	L�	
���x�5�5�Z�#�{�{�5�5�7J�	Lrc�`�URRS5 URRSSS9 URRS5 UR[RSURR
S/5 UR[RSURR
S	/5 UR[RS
URR
/SQ5 UR[RSURR
/SQ5 g)
Nrrr*r+�--fooglez7ambiguous option: --foob could match --foobaz, --fooblerz:ambiguous option: --foob=1 could match --foobaz, --fooble$�--foob=1z8ambiguous option: --foob could match --foobaz, --fooble$)rrlr�	r�)r�	r�	r�rh	r!s r�test_ambiguous_option�%TestExitOnError.test_ambiguous_optionbs������ � ��,���� � ��L� �A���� � ��,����x�5�5�I��K�K�"�"�X�J�	0�	
���x�5�5�L��K�K�"�"�Z�L�	2�	
���x�5�5�J��K�K�"�"�$D�	F�	
���x�5�5�L��K�K�"�"�$A�	Crc��URRS5 UR[RSURR
S/5 g)Nr~z)No such file or directory: 'no-such-file'z
@no-such-filerh	r!s r�
test_os_error�TestExitOnError.test_os_errorss@����� � ��(����x�5�5�J�#�{�{�5�5��7H�	JrrR	N)r&r'r(r)rWrZ	r]	ra	rd	ri	rm	rp	rs	rw	r{	r~	r�	r�	r�	r�	r�	r�	r�	r�	r*r#rrrT	rT	�sn��F�
=�;�L�
W�
;�;�;�;�;�;�;�;�;�;�	L�	L�	L�C�"JrrT	c��\rSrSrSrSrg)�TestTranslationsi~c�.�UR[5 gr])�assertMsgidsEqualr5r!s r�test_translations�"TestTranslations.test_translations�s�����x�(rr#N)r&r'r(r)r�	r*r#rrr�	r�	~s��)rr�	c�@�0[l[5[lgr])r?rGr�rer#rr�tearDownModuler�	�s���E�J���E�Jr�__main__r�z--snapshot-update(r7rDrE	rr5rarnrlr�ryr^�unittestr5r��enumr�test.supportrr�test.support.i18n_helperrrr�
TextIOWrapperr
rNr.�skip_unless_working_chmodrrZr�r�r�r�r�r6r�r�r�rr�rr)r8r>rNrPrVrXrfrirrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	rrrrr*r-r/r4r6rVrZr\r_rarcrergrirnrqrsrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	rr�r�r1rWrv�	eq_stderrrcr}�
eq_bstderrr?rMrYr_re�skip_if_dac_overridermrxr|rr�r�r�r�r�r�r�r�r�r�r�r�r�rr&rNrZrcrhrprzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr'r+r-r3r7r;rArDrIrNrQrVr\r^r`rbrdrfrxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrKrSrhr�r�r�r�r�r�r�rrr3rPror�r�r+	r>	rJ	rT	r�	r�	r&�lenr�r:�mainr#rr�<module>r�	sr�����	��	�
��
�������(�"�W��:�"�"�"�:�$F�H�%�%�F�:�x� � ���$�$�D�6�D�%�D�.�&��)��)�%�)�%�# �L>��!8�!8�>�q9�D�q9�f	�	��&�'7���C���n���n��4�.��
�^�
� �~��.
�>�
��n���.��$���&�N��&���(���,���.
�^�
� 
��
�	�>�	�����.���.�����.�>��&�.��"�>��"
�N�
��~���N���N���>��>��>�@
��
�	��	�	�>�	����&�^������~�����&�N��"�~��"�n��"�n��&�N��&
��
�@�~���N���N��	�^�	�	�N�	��N���>���.���>���>�����������(���"
�~�
� ���$
��
� �~���n���^���N��	�n�	��^���N���.��,���.���,�>��
�^�
�	�N�	��>�����
�.�
�
�.�
� 
��
� �~��"
��
�
��
��>��&�~��&
�.�
� 
��
� �^��6�.��2���(�.��**�L�.�*�Z�\�>��DK�x�K�0�h���h��,�,�,�W�%���h�'�	��h�'�	��n�-�	�
��
/�
�
��
/�
�/�F�/�"�L�.��03�<��3�"�\�>��.'�F�'�"����L�.�� ��,����L�.�� ��&���
�\�>�
� �
� ���
�]�
� �
�,�8�,�,
��
�$�~���.��,�>��,>�8�>�.>�N�>�BJ�X�J�$�~��T��T�0[��[�B!+�H�!+�NM��M�f@&�x�@&�D1?�f�1?�h �'�8� �F(���(�V�7�H��B!�'�8�!�H*��(�*�Z'�'�8�'�T%�7�H�%�P'���'�R/(�'�8�/(�d �G�X� �F �w�� �F ��(� �L�f��	��
-�	�
	��
(�	�
	��
&�	�
	��
1�	�
	��
0�	�
	��
7�	�
	��
0�	�
	��
>�	�X0�h�X0�|8�X�8�.
"�(�
"�&Q1�$�Q1�f	�	��*�>�5�"�E��"�l�"�H3B�|�3B�l,�<�,�^���>1�<�1�h%��%�P3��3�l6�L�6�r�<��,�\��>�L��:!�|�!�H�<��2#��#�L�<��D!�L�!�H�\��4�|��01�\�1�ht7�X�t7�n+��+�\�\��"
�<�
��L��*�|��(�L��4���*�|��(�<��*�\��.�<��0�<��6�\��8.�l�.�b-�\�-�`2�|�2�h�L��(�L��2���:'��'�V�<��:%��%�XEI�h�EI�V-�(�-�<3E�8�3E�tEQ�h�EQ�XE/�(�E/�V7�H�7�J-�8�-�$*��*�.�H�.�$65�h�65�z
8�8�
8�"};�h�};�H+(�h�+(�b*)��*)�Z|L�X�|L�F\T��\T�~)��)�0eD�X�eD�P.�x�.�@
B�X�
B� �(��0VJ�h�VJ�z)�+�)���z��
�3�8�8�}�q��S�X�X�a�[�,?�?�$�X�.�������M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit