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:/Python312/Lib/test/test_inspect/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/test/test_inspect/__pycache__/test_inspect.cpython-312.opt-2.pyc
�

���g�K��
�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlZddlZddlZddlZddlZddlZddlmZddlZddlZddlZddlZddlZ	ddlmZddlmZddlm Z m!Z!ddl"m#Z#m$Z$ddl%m&Z&dd	l'm(Z(m)Z)dd
l*m+Z+ddl,m-Z.ddl,m/Z0dd
l,m1Z1ddl,m2Z2ddl,m3Z3ddl,m4Z4e.jjZ6e6jod�re6ddZ6e
e6�Z6d�Z8e.jr�Z:d�Z;d�Z<d�Z=dj}�Z?Gd�dej��ZAd�ZBd�ZCd�ZDej�d��ZFGd�deA�ZGGd �d!eA�ZHGd"�d#ej��ZIGd$�d%�ZJGd&�d'eI�ZKGd(�d)ej��ZLGd*�d+eI�ZMGd,�d-eI�ZNGd.�d/eI�ZOGd0�d1eI�ZPGd2�d3eI�ZQGd4�d5eI�ZRGd6�d7eI�ZSGd8�d9eT�ZUGd:�d;eT�ZVd<�ZWGd=�d>ej��ZXGd?�d@ej��ZYGdA�dBej��ZZeT�Z[GdC�dDej��Z\GdE�dFej��Z]GdG�dHe]�Z^GdI�dJe^�Z_GdK�dLej��Z`GdM�dNej��ZaGdO�dPej��Zbe+j��GdQ�dRej���ZeGdS�dTej��ZgGdU�dVej��ZiGdW�dXej��ZjGdY�dZej��ZkGd[�d\ej��ZlGd]�d^ej��ZmGd_�d`ej��ZnGda�dbej��ZoGdc�dd�ZpGde�dfej��ZqGdg�dhej��ZrGdi�djej��Zsetdkk(rej��yy#e$rdZY���wxYw)l�N��normcase)�Unpack)�ThreadPoolExecutor)�cpython_only)�MISSING_C_DOCSTRINGS�	ALWAYS_EQ)�
DirsOnSysPath�ready_to_import)�TESTFN)�assert_python_ok�assert_python_failure)�support)�inspect_fodder)�inspect_fodder2)�inspect_stock_annotations)�inspect_stringized_annotations)� inspect_stringized_annotations_2)�%inspect_stringized_annotations_pep695)�c�o���c� �t|�f|zS�Nr)�filename�argss  �3C:\Python312\\Lib\test\test_inspect\test_inspect.py�reviserBs���X�� �4�'�'�c�P�tjrtjd�yyr)r�has_socket_support�asyncio�set_event_loop_policy�rr�tearDownModuler%Hs���!�!��%�%�d�+�"rc#�K�	gd�}tddt|�z�D]i}g}d}tt|��D]}|||zzs�|j||��!ddj|�zdz}i}t	|||�|d���ky�w)N)�a�barr�delta�ephraim�magical�yoyo�z��zdef foo(*, z, z): pass�foo)�range�len�append�join�exec)�
parameters�i�p�bit�j�fn_text�symbolss       r�5signatures_with_lexicographic_keyword_only_parametersr=Ms������O�J�
�1�a��Z��(�
)�������s�:��'�A��C�1�H�~�����A��'�(� �$�)�)�A�,�.��:�����W�g�w�'��e�n��*�s
�AB
�AB
c��yrr$)�throw�out�the�baby�with_�the_�	bathwaters       r�#unsorted_keyword_only_parameters_fnrF_s��rz'throw out the baby with_ the_ bathwaterc�r�eZdZeej
ejejejejejejejejejejej ej"ej$ej&g�Zd�Zd�Zy)�
IsTestBasec	��t|�}|j||�|j�d|�d��|jt	|g�z
D]x}|t
jk(s&|t
jk(s|t
jk(r|t
jk(r�P|j||�d|j�d|�d���zy)N�(�)znot )�eval�
assertTrue�__name__�
predicates�set�inspect�isgeneratorfunction�isasyncgenfunction�iscoroutinefunction�
isfunction�assertFalse)�self�	predicate�exp�obj�others     r�istestzIsTestBase.istestns����3�i�����	�#��I�4F�4F��(L�M��_�_�s�I�;�'7�7�E��W�8�8�8��G�6�6�6��G�7�7�7���*�*�*�����U�3�Z�����)M�N�
8rc�<�tj|td��y)N)�
modulesbyfile)�not_exported)r�check__all__rQ�rWs r�test__all__zIsTestBase.test__all__zs�����T�7�9K�LrN)rN�
__module__�__qualname__rPrQ�	isbuiltin�isclass�iscode�isframerU�ismethod�ismodule�istraceback�isgeneratorrR�iscoroutinerT�
isasyncgenrS�ismethodwrapperrOr\rbr$rrrHrHes����g�'�'����'�.�.��o�o�w�'9�'9�7�;K�;K��&�&��(;�(;��)�)�7�+F�+F��)�)�7�+F�+F��(�(�'�*D�*D��-�-�
/�0�J�
O�MrrHc#�4K�td�D]}|���y�w�Nr/�r1�rWr7s  r�generator_function_examplert}s����
�1�X�������c�FK�td�23d{���}|����7�
6y�wrqrrrss  r� async_generator_function_examplerw�s!������8��a�����8�s�!����!��!c��K�y�w�N�spamr$ras r�coroutine_function_exampler{�s	�������c#�K�d��y�wryr$ras r�gen_coroutine_function_exampler~�s����	����c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�TestPredicatesc	��|jtjd�|jtjd�|jtjd�	ddzda|jtj d
�|jtj d�|jtj"d�|jtj"d
�|jtj$d�|jtj&d�|jtj(d�|jtj*d�|jtj,d�|jtj.d�t1j2�5t1j4d�|jtj6d�|jtj8d�ddd�ttd�r!|jtj:d�n<|jtj:t<j>j@��|jtjBd�|jtjBd�|jtjBd�|jtjBt��|jtjBtD��|jtjBtddi���y#t$r�}|j
a|jtjd�|jtjd�ttd�r!|jtjd	�nE|jtjttj�j��Yd}~���d}~wwxYw#dawxYw#1swY��7xYw)Nzsys.exitz	[].appendzmod.spam.__code__r.rztb.tb_frame�tb�GetSetDescriptorTypeztype(tb.tb_frame).f_localszmod.spamzmod.StupidGit.abusez	git.arguezmod.custom_method�modz'collections.defaultdict.default_factoryz(x for x in range(2))rtz#async_generator_function_example(1)rw�ignorezcoroutine_function_example(1)r{�MemberDescriptorTypezdatetime.timedelta.dayszobject().__str__zobject().__eq__zobject().__repr__�AnyClassr$)#r\rQrerg�	Exception�
__traceback__r�rhrk�hasattr�types�isgetsetdescriptorrV�type�tb_frame�f_localsrUrirj�isdatadescriptorrlrRrnrS�warnings�catch_warnings�simplefilterrmrT�ismemberdescriptor�datetime�	timedelta�daysro�int�rW�es  r�test_excluding_predicatesz(TestPredicates.test_excluding_predicates�s������G�%�%�z�2����G�%�%�{�3����G�N�N�$7�8�
	�
�a�C��B����G�&�&�
�3����G�&�&�(=�>����G�$�$�k�2����G�$�$�&9�:����G�$�$�e�,����G�,�,�.W�X����G�'�'�)@�A����G�/�/�1M�N����G�&�&�9�	;����G�.�.�6�	8��
$�
$�
&��!�!�(�+��K�K��+�+�-L�M��K�K��3�3�5Q�R�'�
�5�0�1��K�K��2�2�4M�N����W�7�7��8J�8J�8O�8O�P�Q����G�+�+�-?�@����G�+�+�->�?����G�+�+�-@�A�����0�0��6�7�����0�0��5�6�����0�0��j�"�b�1I�J�K��O�	Y����B��K�K�����7��K�K��+�+�T�2��u�4�5����G�6�6�8�:�� � ��!;�!;�D����<M�<V�<V�!W�X���	Y���B��'�
&�s8�"M(�=AQ�(	P>�1CP9�3Q�9P>�>Q�Q�Qc	�6��td�}td�}td�}|jt	j
t��|jt	j
t
jt
jt����|jt	j
t��|jt	j|��|jt	jt��|jt	jt
jt
jt����|jt	j|��d��tj�fd��}|jt	j
|��|jt	j
t	j�fd����Gd�d�}|jt	j
|��|jt	j
|���|jt	j
t	j|����Gd�d�}|jt	j
|��|jt	j
|���|jt	j
t	j|����Gd	�d
�}|jt	j
|j��|jt	j
|j��|jt	j
tj j#���|jt	j
tj j%���|jt	j
t��|jt	j
t
jt
jt����|jt	j|��|jt	jtj j#���|jt	jtj j%���|jt	jt��|jt	jt
jt
jt����|jt	j|��|jt	j&tj j#���|jt	j&tj j%���|jt	j&t��|jt	j&t��|jt	j&t
jt
jt����|jt	j(|��|j+�|j+�y)Nr.c��K�y�wrr$r$rr�_fn3z-TestPredicates.test_iscoroutine.<locals>._fn3�s	�����r|c�����Srr$�r�s�r�fn3z,TestPredicates.test_iscoroutine.<locals>.fn3�s
����6�Mrc�����Srr$r�s�r�<lambda>z1TestPredicates.test_iscoroutine.<locals>.<lambda>�s���d�frc��eZdZd�Zy)�+TestPredicates.test_iscoroutine.<locals>.Clc��K�y�wrr$ras r�__call__z4TestPredicates.test_iscoroutine.<locals>.Cl.__call__�s	�����r|N�rNrcrdr�r$rr�Clr�����
rr�c�0�eZdZejd��Zy)�,TestPredicates.test_iscoroutine.<locals>.Cl2c��yrr$ras rr�z5TestPredicates.test_iscoroutine.<locals>.Cl2.__call__����rN)rNrcrdrQ�markcoroutinefunctionr�r$rr�Cl2r��s��
�
*�
*�
�+�
rr�c�h�eZdZejed���Zejed���Zy)�,TestPredicates.test_iscoroutine.<locals>.Cl3c��yrr$��clss r�do_something_classyz@TestPredicates.test_iscoroutine.<locals>.Cl3.do_something_classy����rc��yrr$r$rr�do_something_staticz@TestPredicates.test_iscoroutine.<locals>.Cl3.do_something_staticr�rN)	rNrcrdrQr��classmethodr��staticmethodr�r$rr�Cl3r��sD��
�
*�
*�
�
��+�
��
*�
*�
�
��+�
rr�)rwr~r{rVrQrT�	functools�partialrmrMrRrlr�r�r��unittest�mock�Mock�	AsyncMockrSrn�close)	rW�async_gen_coro�gen_coro�coror�r�r�r�r�s	        @r�test_iscoroutinezTestPredicates.test_iscoroutine�s���9�!�<��1�!�4��)�!�,������'�'�(F�G�	I�����'�'��!�!�)�"3�"3�2�#4�5�
6�	7�	
����4�4�W�=�>�����,�,�X�6�7�����'�'�(F�G�	I�����'�'��!�!�)�"3�"3�2�#4�5�
6�	7�	
����+�+�H�5�6�	�
�	&�	&�	�
'�	�	
����3�3�C�8�9�����'�'��-�-�n�=�
�	
�	�	�	
����4�4�R�8�9�����4�4�R�T�:�;�����3�3��)�)�"�$�/�
�	�	�	�
	
����4�4�S�9�:�����4�4�S�U�;�<�����3�3��)�)�#�%�0�
�	�		�		�	
����3�3�C�4K�4K�L�M�����3�3�C�4K�4K�L�M�����'�'��
�
�(:�(:�(<�=�	?�����'�'��
�
�(?�(?�(A�B�	D�����'�'�(B�C�	E�����'�'��!�!�)�"3�"3�.�#0�1�
2�	3�	
����+�+�D�1�2�����'�'��
�
�(:�(:�(<�=�	?�����'�'��
�
�(?�(?�(A�B�	D�����'�'�(B�C�	E�����'�'��!�!�)�"3�"3�.�#0�1�
2�	3�	
����,�,�T�2�3�����&�&�x�}�}�'9�'9�';�<�	>�����&�&�x�}�}�'>�'>�'@�A�	C�����&�&�'A�B�	D�����&�&�'G�H�	J�����&�&��!�!�)�"3�"3�4�#6�7�
8�	9�	
����*�*�>�:�;��
�
��h�n�n�&rc��d�}|jtj|���td�}t	d�}|jtj|��|jtj|��Gd�d�}|jtj|���|jtj|��Gd�d�}|�}d�|_|jtj|��|j�|j�y)Nc3�K�d��y�wrr$r$rr�genz,TestPredicates.test_isawaitable.<locals>.gen5s����5�rr.c��eZdZd�Zy)�/TestPredicates.test_isawaitable.<locals>.Futurec��yrr$r$rr�	__await__z9TestPredicates.test_isawaitable.<locals>.Future.__await__?���rN)rNrcrdr�r$rr�Futurer�>r�rr�c��eZdZy)�2TestPredicates.test_isawaitable.<locals>.NotFutureN�rNrcrdr$rr�	NotFuturer�D��rr�c��yrr$r$rrr�z1TestPredicates.test_isawaitable.<locals>.<lambda>F���Dr)rVrQ�isawaitabler{r~rMr�r�)rWr�r�r�r�r��not_futs       r�test_isawaitablezTestPredicates.test_isawaitable4s��������,�,�S�U�3�4�)�!�,��1�!�4������+�+�D�1�2�����+�+�H�5�6�	�	�	
����+�+�F�H�5�6�����,�,�V�4�5����+��(�������,�,�W�5�6��
�
��h�n�n�&rc	�	�|jtjtj��|jtjt
j��|jtjgj��|jtjt
j��|jtjt
jj��|jtjtj��|jtjtj��|jtjtj��|jtjtj��|jtjt�j��|jtjt�j��|jtjt�j��|jtjdj��|jtjt j"��|jtjt$j&��|jtjdj"��|jtjgj&��|j)tjt��|j)tjt���|j)tjt!���|j)tjt
��|j)tjt*��|j)tjt��|j)tjt+ddi���y)N�*��
some_classr$)rMrQ�	isroutine�git�arguer��
custom_method�countrz�	StupidGit�abuse�object�__init__�__str__�__lt__r��strr4�listr3rVr�ras r�test_isroutinezTestPredicates.test_isroutineKs�������)�)�#�)�)�4�5�����)�)�#�*;�*;�<�=�����)�)�"�(�(�3�4�����)�)�#�(�(�3�4�����)�)�#�-�-�*=�*=�>�?�����)�)�&�/�/�:�;�����)�)�&�.�.�9�:�����)�)�&�-�-�8�9�����)�)�#�*�*�5�6�����)�)�&�(�*;�*;�<�=�����)�)�&�(�*:�*:�;�<�����)�)�&�(�/�/�:�;�����)�)�2�+�+�6�7�����)�)�#�(�(�3�4�����)�)�$�+�+�6�7�����)�)�"�'�'�2�3�����)�)�"�)�)�4�5�����*�*�6�2�3�����*�*�6�8�4�5�����*�*�3�5�1�2�����*�*�3�/�0�����*�*�4�0�1�����*�*�3�/�0�����*�*�4��b�"�+E�F�Grc��|jtjtjt
j���Gd�d�}|jtj|j��|jtj|�j��|jtj|j��|jtj|j��y)Nc��eZdZejd��Zejed���Zejed���Z	y)�7TestPredicates.test_isroutine_singledispatch.<locals>.Ac��yrr$)rW�args  r�methodz>TestPredicates.test_isroutine_singledispatch.<locals>.A.methodqr�rc��yrr$�r�r�s  r�class_methodzDTestPredicates.test_isroutine_singledispatch.<locals>.A.class_methodtr�rc��yrr$)r�s r�
static_methodzETestPredicates.test_isroutine_singledispatch.<locals>.A.static_methodxr�rN)
rNrcrdr��singledispatchmethodr�r�r�r�r�r$rr�Ar�psZ��
�
+�
+�
�,�
�
�
+�
+�
�
��,�
�
�
+�
+�
�
��,�
rr�)
rMrQr�r��singledispatchr�rzr�r�r�)rWr�s  r�test_isroutine_singledispatchz,TestPredicates.test_isroutine_singledispatchms�������)�)�)�*B�*B�3�8�8�*L�M�N�	�	�	
����)�)�!�(�(�3�4�����)�)�!�#�*�*�5�6�����)�)�!�/�/�:�;�����)�)�!�.�.�9�:rc��|jtjd�|jtjt��Gd�dt
�}|j
tj|���y)Nz
mod.StupidGitc��eZdZd�Zy)�2TestPredicates.test_isclass.<locals>.CustomGetattrc��yrr$�rW�attrs  r�__getattr__z>TestPredicates.test_isclass.<locals>.CustomGetattr.__getattr__����rN�rNrcrdrr$rr�
CustomGetattrr�����
rr)r\rQrfrMr�r�rV)rWrs  r�test_isclasszTestPredicates.test_isclass�sP�����G�O�O�_�5��������-�.�	�F�	�	
��������9�:rc���Gd�dt�}|�}d|_ttj|��}|jd|�|j
d|�y)Nc��eZdZdZy)�/TestPredicates.test_get_slot_members.<locals>.C�r'�bN�rNrcrd�	__slots__r$rr�Cr�s��"�Irrr�r'r
)r�r'�dictrQ�
getmembers�assertIn�assertNotIn)rWr�x�memberss    r�test_get_slot_membersz$TestPredicates.test_get_slot_members�sO��	#��	#�
�C������w�)�)�!�,�-���
�
�c�7�#�����g�&rc����ddlm}m�G�fd�d|��}Gd�d|�}|�}|jt	j
|��|j
t	j
|��|j
t	j
|��|j
t	j
t��|j
t	j
d��y)	Nr��ABCMeta�abstractmethodc� ��eZdZW�d��Zy)�<TestPredicates.test_isabstract.<locals>.AbstractClassExamplec��yrr$ras rr0z@TestPredicates.test_isabstract.<locals>.AbstractClassExample.foo�r�rN�rNrcrdr0�rs�r�AbstractClassExampler�s���
�
��
rr!��	metaclassc��eZdZd�Zy)�4TestPredicates.test_isabstract.<locals>.ClassExamplec��yrr$ras rr0z8TestPredicates.test_isabstract.<locals>.ClassExample.foo�r�rNrr$rr�ClassExampler%�r�rr'�)�abcrrrMrQ�
isabstractrVr�)rWrr!r'r'rs     @r�test_isabstractzTestPredicates.test_isabstract�s����/�	�W�	�	�/�	�
�N��	
����*�*�+?�@�A�����+�+�L�9�:�����+�+�A�.�/�����+�+�C�0�1�����+�+�A�.�/rc���	�ddlm}m�g�	G�	fd�d|��}G�fd�d|�}Gd�d	|�}|j�	d
dg��	j	�Gd�d
|�}Gd�d|�}Gd�d|�}|j�	gd��y)Nrrc���eZdZ�fd�Zy)�LTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractCheckerc�N���jtj|��yr)r3rQr*)r��isabstract_checkss �r�__init_subclass__z^TestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractChecker.__init_subclass__�s���!�(�(��);�);�C�)@�ArN)rNrcrdr1)r0s�r�AbstractCheckerr.�s	���
Brr2r"c� ��eZdZW�d��Zy)�QTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractClassExamplec��yrr$ras rr0zUTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractClassExample.foo�r�rNrr s�rr!r4�s���
�
��
rr!c��eZdZd�Zy)�ITestPredicates.test_isabstract_during_init_subclass.<locals>.ClassExamplec��yrr$ras rr0zMTestPredicates.test_isabstract_during_init_subclass.<locals>.ClassExample.foo�r�rNrr$rrr'r7�r�rr'TFc��eZdZy)�JTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractChildNr�r$rr�
AbstractChildr:����rr;c��eZdZy)�OTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractGrandchildNr�r$rr�AbstractGrandchildr>�r<rr?c��eZdZy)�OTestPredicates.test_isabstract_during_init_subclass.<locals>.ConcreteGrandchildNr�r$rr�ConcreteGrandchildrA�r<rrB)TTF)r)rr�assertEqual�clear)
rWrr2r!r'r;r?rBrr0s
        @@r�$test_isabstract_during_init_subclassz3TestPredicates.test_isabstract_during_init_subclass�s����/���	B��	B�	�?�	�	�/�	�	
���*�T�5�M�:����!�	�0�	�	��	�	��	����*�,?�@rN)rNrcrdr�r�r�r�r�rrr+rEr$rrr�r��s6��.L�dq(�f'�. H�D;�*;�'�0�,Arr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestInterpreterStackc�x�tjj|g|��i|��tj	ddd�y)N���	)r��TestCaser�r�r��rWr�kwargss   rr�zTestInterpreterStack.__init__�s0�����"�"�4�9�$�9�&�9��	�	�!�Q��rc��|jtjd�|jtjd�y)Nzgit.ex.__traceback__zmod.fr)r\rQrkrhras r�test_abuse_donez$TestInterpreterStack.test_abuse_done�s)�����G�'�'�)?�@����G�O�O�X�.rc	��|jttj�dk\�tj^}}}}}t	|dd�}|j|tdddgdf�|j|jtjdddd��t	|dd�}|j|tdd	d
gdf�|j|jtjdddd��t	|dd�}|j|td
ddgdf�|j|jtjd
d
dd��t	|dd�}|j|tdddgdf�|j|jtjdddd��tjd}|j|jtj�|j|jd�|j|jtj�|j|j d�|j#d|j$d�|j|j&d�y)Nr(r.��eggsz    st = inspect.stack()
rrK�rz�    eggs(b + d, c + f)
���+r��            spam(a, b, c)
���'r�z        self.argue(a, b, c)
rJ�zinspect.stack())rMr2r��strrC�modfile�	positions�dis�	Positions�assertIs�frame�fr�linenor�__file__�functionr�code_context�index)rW�frame1�frame2�frame3�frame4�_�	frameinfo�records        r�
test_stackzTestInterpreterStack.test_stack�s ������C�F�F��q�(�)�-0�V�V�*�������F�1�2�J�'�	������r�6�$@�#A�1�
E�	G�����)�)�3�=�=��R��B�+G�H��F�1�2�J�'�	������q�&�#=�">��
B�	D�����)�)�3�=�=��A�q�"�+E�F��F�1�2�J�'�	������r�7�%B�$C�Q�
G�	I�����)�)�3�=�=��R��R�+H�I��F�1�2�J�'�	������r�7�%D�$E�q�
I�	K�����)�)�3�=�=��R��B�+G�H��������
�
�f�l�l�C�F�F�+��������+�������#�,�,�7�������&�1��
�
�'��)<�)<�Q�)?�@�������q�)rc	��|jttj�d�tj\}}}|jt	|dd�t
dddgdf�|j|jtjdddd��|jt	|dd�t
d	d
dgdf�|j|jtjd	d	dd
��|jt	|dd�t
dddgdf�|j|jtjdddd��y)N�r.rXr�rYrrZr[rKrzrUrVrW�rSz    q = y / 0
rJ�
)	rCr2r��trrr_r`rarb)rWrkrlrms    r�
test_tracezTestInterpreterStack.test_trace�s"������S�V�V��a�(�"%�&�&�������������,��r�7�%B�$C�Q�
G�	I�����)�)�3�=�=��R��R�+H�I���������,��q�&�#=�">��
B�	D�����)�)�3�=�=��A�q�"�+E�F���������,��r�6�$5�#6��
:�	<�����)�)�3�=�=��R��B�+G�Hrc�@�tjtj�\}}}}|j	|ddg�|j	|d�|j	|d�|j	|dddd��|j	tj
||||�d�y)Nr�y��)rr8rzz(x=11, y=14))rQ�getargvaluesr�rerC�formatargvalues�rWr�varargs�varkw�localss     r�
test_framezTestInterpreterStack.test_frame�s���'.�';�';�C�F�F�'C�$��g�u�f������S�z�*�����$�'������%�����r���!<�=�����0�0��w��v�N�'�	)rc�(�tjtjj�\}}}}|j|gd��|j|d�|j|d�|jtj||||�d�y)N)r'r
r�dr��f�g�hz-(a=7, b=8, c=9, d=3, e=4, f=5, *g=(), **h={}))rQr}r�re�f_backrCr~rs     r�test_previous_framez(TestInterpreterStack.test_previous_frame�sx��'.�';�';�C�F�F�M�M�'J�$��g�u�f�����=�>�����#�&������$�����0�0��w��v�N�
<�	>rN)	rNrcrdr�rPrrrxr�r�r$rrrGrG�s!���
/�*�8I�)�>rrGc�"�eZdZdZd�Zd�Zd�Zy)�
GetSourceBaseNc��ttj|j�d��5}|j	�|_ddd�y#1swYyxYw)N�utf-8��encoding)�openrQ�
getsourcefile�fodderModule�read�source)rW�fps  r�setUpzGetSourceBase.setUps:��
�'�'�'��(9�(9�:�W�
M�QS��'�'�)�D�K�N�
M�
M�s�A
�
Ac�x�|jjd�}dj||dz
|�|rdzSdzS)N�
r.r�)r��splitr4)rW�top�bottom�liness    r�sourcerangezGetSourceBase.sourceranges?�����!�!�$�'���y�y��s�1�u�V�,�-���H�H�R�H�Hrc�n�|jtj|�|j||��yr)rCrQ�	getsourcer�)rWrZr�r�s    r�assertSourceEqualzGetSourceBase.assertSourceEquals-������*�*�3�/��)�)�#�v�6�	8r)rNrcrdr�r�r�r�r$rrr�r�s���L�$�I�8rr�c��eZdZ	ddd�Zy)�SlotUser�measured in kilowatts�measured in kilometers)�power�distanceNrr$rrr�r�s���1�5�7�Irr�c�n�eZdZeZd�Zd�Zeje	jjdk\d�d��Zeje	jjdk\d�d��Z
ejed�d��Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestRetrievingSourceCodec��tjttj�}|j	|dtj
fdtjfdtjfdtjfdtjfdtjfg�tj|D�cgc]}|d��	c}�}|j	|tdftjtfftj
tjtjffgtjtfftjtjfftj
tjtjffggtjtffgg�tj|D�cgc]}|d��	c}d	�}|j	|tdftjtfftjtfftjtjfftj
tjtjffggtjtffgg�ycc}wcc}w)
N�FesteringGob�MalodorousPervert�ParrotDroppingsr��Tit�
WhichCommentsr.r$T)rQrr�rfrCr�r�r�r�r��getclasstreer�)rW�classesr��trees    r�test_getclassesz(TestRetrievingSourceCode.test_getclassess0���$�$�S�'�/�/�:������)�3�+;�+;�<�.��0E�0E�F�,�c�.A�.A�B�&��
�
�6� �#�"7�"7�8�*�C�,=�,=�>��	��#�#�w�$?�w��S��V�w�$?�@������!�2�,��/�/�&��;� �-�-��0E�0E�36�3F�3F�0H�I�� �M�M�F�9�5� �2�2�S�]�]�4D�E�!�.�.��1F�1F�47�4G�4G�1I�J���
!�.�.��	�;��
�	��#�#�w�$?�w��S��V�w�$?��F������!�2�,��/�/�&��;��M�M�F�9�5� �2�2�S�]�]�4D�E�!�.�.��1F�1F�47�4G�4G�1I�J���
!�.�.��	�;��
�	��#%@�� %@s�4I9�7I>c��tjttj�}|j	|dtj
fdtjfdtjfdtjfg�y)N�
after_closingrS�lobbestrz)	rQrr�rUrCr�rSr�rz)rW�	functionss  r�test_getfunctionsz*TestRetrievingSourceCode.test_getfunctionsGs`���&�&�s�G�,>�,>�?�	�����o�s�7H�7H�%I�&,�c�h�h�%7�&/����%=�&,�c�h�h�%7�%9�	:rr/z)Docstrings are omitted with -O2 and abovec���|jtjt�d�|jtjtj�d�|jtjt
j�d�|jtjtj�d�|jtjtj�d�y)NzA module docstring.�A longer,

indented

docstring.�$Another

docstring

containing

tabsr�r�)
rCrQ�getdocr�r�r�r�r�r�r�ras r�test_getdocz$TestRetrievingSourceCode.test_getdocNs���	
�������,�.C�D��������
�
�6�>�	@��������	�	�2�E�	G����������7�0�	2��������(9�(9�:�1�	3rc���|jtjtj�d�|jtjtjj
�d�|jtjtj�j
�d�|jtjtjj�d�y)Nr�r�zThe automatic gainsaying.)rCrQr�r�r�r��
contradictionras r�test_getdoc_inheritedz.TestRetrievingSourceCode.test_getdoc_inherited[s���	
�������(8�(8�9�>�	@��������(8�(8�(>�(>�?�E�	G��������(8�(8�(:�(@�(@�A�E�	G��������(8�(8�(F�(F�G�4�	6rztest requires docstringsc�p�tj}|j|t�tj�|j|tj
�tj
j�|j|t�j
�tj
j�|j|tj�tjj�|j|tj�tjj�yr)rQ�_finddocrCr��__doc__�to_bytes�
from_bytes�real)rW�finddocs  r�test_finddocz%TestRetrievingSourceCode.test_finddocgs����"�"��������s�{�{�3��������.����0D�0D�E���������0�#�,�,�2F�2F�G��������0�#�.�.�2H�2H�I��������*�C�H�H�,<�,<�=rc�N�|jtjd�d�y)NzAn
    indented
    docstring.zAn
indented
docstring.)rCrQ�cleandocras r�
test_cleandocz&TestRetrievingSourceCode.test_cleandocps!������)�)�*L�M�3�	5rc���|jtjt�d�|jtjtj�d�|jtjt
j�d�tddd�}|jtj|��|jtjt��y)N�	# line 1
z
# line 20
z# line 159
�x=1z_non_existing_filename.pyr5)
rCrQ�getcommentsr�r��mod2�cls160�compile�assertIsNoner�)rW�cos  r�test_getcommentsz)TestRetrievingSourceCode.test_getcommentsts�������,�,�S�1�<�@�����,�,�S�]�]�;�]�K�����,�,�T�[�[�9�>�J�
�U�7��
@�����'�-�-�b�1�2����'�-�-�d�3�4rc��|jtjt�t�|jtjtj�t�|jtjtjj
�t�|jtjtjj
�t�|jtjt�tjd�|jtjdt�t�y)N�builtins)
rCrQ�	getmoduler�r�r�r��sys�modulesr_ras r�test_getmodulez'TestRetrievingSourceCode.test_getmodule~s�������*�*�3�/��5�����*�*�3�=�=�9�3�?�����*�*�3�=�=�+>�+>�?��E�����*�*�3�=�=�+>�+>�?��E�����*�*�3�/����Z�1H�I�����*�*�4��9�3�?rc��d�}tjjd|�5tj�}|jtj|��tj|�ddd�y#1swYyxYw)Nc��td��)Nzbad file)�FileNotFoundError)rZ�	_filenames  r�_getabsfilezKTestRetrievingSourceCode.test_getmodule_file_not_found.<locals>._getabsfile�s
��#�J�/�/rzinspect.getabsfile)r�r��patchrQ�currentframer�r��getouterframes)rWr�r�s   r�test_getmodule_file_not_foundz6TestRetrievingSourceCode.test_getmodule_file_not_found�s^��	0�
�]�]�
 �
 �!5�{�
C��$�$�&�A����g�/�/��2�3��"�"�1�%�D�
C�
C�s�AA;�;Bc���tj|jjd�}|j	|j
dd�|j	|j
dd�y)N�2rr�r.z'A module docstring.'
)rQ�getframeinfor�rerCri)rW�
frame_infos  r� test_getframeinfo_get_first_linez9TestRetrievingSourceCode.test_getframeinfo_get_first_line�sW���)�)�$�*;�*;�*>�*>��C�
�����0�0��3�\�B�����0�0��3�5N�Orc��|jtjdd�|jtjdd�|jtj
dd�|jtjdd�y)N�r\��3�K�L�x)r�r�r�r�r�r�r�ras r�test_getsourcez'TestRetrievingSourceCode.test_getsource�s\�����s�y�y�"�b�1����s�}�}�b�"�5����s�{�{�B��3����s�0�0�#�s�;rc��|jttjtj
��t�|jttjtj��t�d}td|d�}|jtj|�d�ddd|jftj|j<	|jttj|��|�tj|j=y#tj|j=wxYw)Nz2_non_existing_filename_used_for_sourcefile_test.pyr�r5r.�None)
rCrrQr�r�rzr_r�r�r��co_filename�	linecache�cache)rW�fnr�s   r�test_getsourcefilez+TestRetrievingSourceCode.test_getsourcefile�s�������'�"7�"7����"A�B�G�L�����'�"7�"7��	�	�"B�C�W�M�
A��
�U�B��
'������.�.�r�2�D�9�+,�d�F�B�N�N�*K�	������'�	0����X�g�&;�&;�B�&?�@�"�E�������/��	������/�s�!.D+�+Ec��|jtjtj�tj
�yr)rCrQ�getfiler�r�rgras r�test_getfilez%TestRetrievingSourceCode.test_getfile�s#�����������7����Frc���|jt�5}tjt�ddd�|jt
j�jd��y#1swY�=xYw)Nz<module)	�assertRaises�	TypeErrorrQr�r�rMr��	exception�
startswithr�s  r�test_getfile_builtin_modulez4TestRetrievingSourceCode.test_getfile_builtin_module�sL��
�
�
�y�
)�Q��O�O�C� �*�����A�K�K�(�3�3�I�>�?�*�
)���A,�,A5c���|jt�5}tjt�ddd�|jt
j�jd��y#1swY�=xYw)Nz<class)	r�r�rQr�r�rMr�r�rr�s  r�test_getfile_builtin_classz3TestRetrievingSourceCode.test_getfile_builtin_class�sL��
�
�
�y�
)�Q��O�O�C� �*�����A�K�K�(�3�3�H�=�>�*�
)�rc��|jt�5}tjt�ddd�|jdt
j��|jt�5}tjtj�ddd�|jdt
j��y#1swY��xYw#1swY�;xYw)Nz
expected, got)
r�r�rQr��absrr�r�r�r3)rW�e_abs�e_appends   r�'test_getfile_builtin_function_or_methodz@TestRetrievingSourceCode.test_getfile_builtin_function_or_method�s���
�
�
�y�
)�U��O�O�C� �*��
�
�o�s�5�?�?�';�<�
�
�
�y�
)�X��O�O�D�K�K�(�*��
�
�o�s�8�+=�+=�'>�?�*�
)��*�
)�s�C�2$C�C
�Cc��Gd�dt�}Gd�d|��}|jt�5tj|�ddd�y#1swYyxYw)Nc��eZdZed��Zy)�FTestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CMc��t�r��AttributeErrorr�s rrczQTestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CM.__module__�s��$�$rN)rNrcrd�propertyr$rr�CMr����
�
%��
%rrc��eZdZy)�ETestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CNr�r$rrrr�r<rrr")r�r�r�rQr�)rWrrs   r�!test_getfile_class_without_modulez:TestRetrievingSourceCode.test_getfile_class_without_module�s@��	%��	%�	�"�	�
�
�
�y�
)��O�O�A��*�
)�
)�s�A�Ac��Gd�d�}|�}|jt�5tj|�ddd�y#1swYyxYw)Nc��eZdZd�Zy)�DTestRetrievingSourceCode.test_getfile_broken_repr.<locals>.ErrorReprc��td��)N�xyz)r�ras r�__repr__zMTestRetrievingSourceCode.test_getfile_broken_repr.<locals>.ErrorRepr.__repr__�s
����&�&rN)rNrcrdrr$rr�	ErrorReprr�s��
'rr)r�r�rQr�)rWr�ers   r�test_getfile_broken_reprz1TestRetrievingSourceCode.test_getfile_broken_repr�s;��	'�	'��[��
�
�
�y�
)��O�O�B��*�
)�
)�s�A�Ac�f�ddlm}d}||�x}tj|<d|_d|_t
d|j�|jtj|jj�d�tj|=tjtddd	��y)
Nr)�
ModuleType�__inspect_dummy�<string>�dummyz
def x(): passza=10r��single)r�r r�r�rg�
__loader__r5�__dict__rCrQr�r�__code__r�r�)rWr �name�ms    r�test_getmodule_recursionz1TestRetrievingSourceCode.test_getmodule_recursion�s���$� �� *�4� 0�0��C�K�K�����
�����_�a�j�j�)�����.�.�q�s�s�|�|�<�j�I��K�K������'�&��H�5�6rc�����	d\��tj�d���fd�	}|t_	i}tt��d�|�t	j
|d��t_y#�t_wxYw)N)z<test>zdef x(): pass
c�D��|�k(r�jd��S�||�S)NT)�keepends)�
splitlines)r�module_globalsr��getlinesr�s  ���r�monkeyzHTestRetrievingSourceCode.test_proceed_with_fake_filename.<locals>.monkey�s+����2�~��(�(�$�(�7�7���.�9�9rr$rr)r�r0r5r�rQr�)rWr1�nsr�r0r�s   @@@r�test_proceed_with_fake_filenamez8TestRetrievingSourceCode.test_proceed_with_fake_filename�si���B�0�
��F��%�%��	:�
$�	��	*��B�����X�.��3����b��g�&�!)�I����I��s�1A+�+
A8c�Z�|jtjjdd�y)NrZru)r�r�rSr'ras r�test_getsource_on_code_objectz6TestRetrievingSourceCode.test_getsource_on_code_object�s�����s�x�x�0�0�"�b�9rN) rNrcrdr�r�r�r�r��skipIfr��flags�optimizer�r�rr�r�r�r�r�r�r�r�r�rrr	rrr*r3r5r$rrr�r�s����L�&�P:��X�_�_�S�Y�Y�'�'�1�,�@�B�	3�B�	3��X�_�_�S�Y�Y�'�'�1�,�@�B�6�B�6��X�_�_�)�+E�F�>�G�>�5�5�@�&�P�
<�
0�G�@�
?�
@�� �	7�*�":rr�c��eZdZd�Zy)�TestGetsourceInteractivec�P�d}td|d��\}}}|jd|�y)Nz�import sys, inspect;                 assert not hasattr(sys.modules['__main__'], '__file__');                 A = type('A', (), {});                 inspect.getsource(A)z-cT)�
__isolateds"OSError: source code not available)rr)rW�codero�stderrs    r�test_getclasses_interactivez4TestGetsourceInteractive.test_getclasses_interactive�s.��&��-�T�4�D�I���1�f��
�
�;�V�DrN)rNrcrdr?r$rrr:r:�s��Err:c��eZdZeZd�Zd�Zy)�!TestGettingSourceOfToplevelFramesc�T�d|_|jtjdd�y�Nr.)�maxDiffr�r�r�ras r�test_range_toplevel_framez;TestGettingSourceOfToplevelFrames.test_range_toplevel_frames!��������s�/�/��D�9rc�F�|jtjdd�yrC)r�r�r�ras r�#test_range_traceback_toplevel_framezETestGettingSourceOfToplevelFrames.test_range_traceback_toplevel_frames�����s�v�v�q�$�/rN)rNrcrdr�r�rErGr$rrrArA�s���L�:�0rrAc�(�eZdZeZd�Zd�Zd�Zd�Zy)�TestDecoratorsc�F�|jtjdd�y)Nr|�)r�r��wrappedras r�test_wrapped_decoratorz%TestDecorators.test_wrapped_decorator
s�����t�|�|�R��4rc�F�|jtjdd�y)NrK�
)r�r��goneras r�test_replacing_decoratorz'TestDecorators.test_replacing_decorator
s�����t�y�y�!�R�0rc�F�|jtjdd�y)N��)r�r�r�ras r�test_getsource_unwrapz$TestDecorators.test_getsource_unwraps�����t�y�y�#�s�3rc�F�|jtjdd�y)N�q�s)r�r��func114ras r�test_decorator_with_lambdaz)TestDecorators.test_decorator_with_lambdas�����t�|�|�S�#�6rN)	rNrcrdr�r�rMrQrUrZr$rrrIrIs���L�5�1�4�7rrIc�R�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zy)
�
TestOnelinersc�F�|jtjdd�y)Nr[)r�r��ollras r�test_oneline_lambdaz!TestOneliners.test_oneline_lambdas�����t�x�x��R�0rc�F�|jtjdd�y)N��)r�r��tllras r�test_threeline_lambdaz#TestOneliners.test_threeline_lambdas��	
���t�x�x��R�0rc�F�|jtjdd�y)N�!�")r�r��tlliras r�test_twoline_indented_lambdaz*TestOneliners.test_twoline_indented_lambda!s��	
���t�y�y�"�b�1rc���|jtjdd�|jtjdd�|jtjdd�y)Niii)r�r��parenthesized_lambda�parenthesized_lambda2�parenthesized_lambda3ras r�#test_parenthesized_multiline_lambdaz1TestOneliners.test_parenthesized_multiline_lambda&sL��	
���t�8�8�#�s�C����t�9�9�3��D����t�9�9�3��Drc�F�|jtjdd�y)Nii)r�r��post_line_parenthesized_lambda1ras r�#test_post_line_parenthesized_lambdaz1TestOneliners.test_post_line_parenthesized_lambda-s��	
���t�C�C�S�#�Nrc�F�|jtjdd�y)Ni#i$)r�r��
nested_lambdaras r�test_nested_lambdaz TestOneliners.test_nested_lambda2s�����t�1�1�3��<rc�F�|jtjdd�y)N�%)r�r��onelinefuncras r�test_onelinefunczTestOneliners.test_onelinefunc6s�����t�/�/��R�8rc�F�|jtjdd�y)N�(�))r�r��manyargsras r�
test_manyargszTestOneliners.test_manyargs:s��	
���t�}�}�b�"�5rc�F�|jtjdd�y)N�,�-)r�r��twolinefuncras r�test_twolinefunczTestOneliners.test_twolinefunc@s��	
���t�/�/��R�8rc�L�|jtjddd�y)Nr.�1)r�r�r'ras r�test_lambda_in_listz!TestOneliners.test_lambda_in_listFs��	
���t�v�v�a�y�"�b�1rc�F�|jtjdd�y)N�7)r�r��	anonymousras r�test_anonymouszTestOneliners.test_anonymousKs��	
���t�~�~�r�2�6rN)rNrcrdr�r�r_rdrirnrqrtrxr}r�r�r�r$rrr\r\s@���L�1�1�
2�
E�O�
=�9�6�9�2�
7rr\c�"�eZdZeZd�Zd�Zd�Zy)�TestBlockCommentsc�F�|jtjdd�y)N�`�r)r�r�r�ras r�test_toplevel_classz%TestBlockComments.test_toplevel_classSs�����s�0�0�"�c�:rc�Z�|jtjjdd�y)N�c�h)r�r�r�r�ras r�test_class_methodz#TestBlockComments.test_class_methodVs �����s�0�0�2�2�B��<rc�Z�|jtjjdd�y)N�m�p)r�r�r��asyncfras r�test_class_async_methodz)TestBlockComments.test_class_async_methodYs �����s�0�0�7�7��c�BrN)rNrcrdr�r�r�r�r�r$rrr�r�Ps���L�;�=�Crr�c�f�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zejeed�xsej j#d	�d
�d��Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zeje jBxse jDd�d��Z#y)�TestBuggyCasesc�F�|jtjdd�y)N�:�;)r�r��with_commentras r�test_with_commentz TestBuggyCases.test_with_comment_s�����t�0�0�"�b�9rc�L�|jtjddd�y)Nr�?�@)r�r��
multiline_sigras r�test_multiline_sigz!TestBuggyCases.test_multiline_sigbs�����t�1�1�!�4�b�"�=rc�b�|jtj�jdd�y)N�G�H)r�r��func69�func71ras r�test_nested_classz TestBuggyCases.test_nested_classes �����t�{�{�}�3�3�R��<rc�F�|jtjdd�y)N�M)r�r��func77ras r�#test_one_liner_followed_by_non_namez2TestBuggyCases.test_one_liner_followed_by_non_nameh������t�{�{�B��3rc�Z�|jtjjdd�y)N�S)r�r��cls82�func83ras r�test_one_liner_dedent_non_namez-TestBuggyCases.test_one_liner_dedent_non_nameks�����t�z�z�0�0�"�b�9rc�F�|jtjdd�y)N�X�Z)r�r��func88ras r�&test_with_comment_instead_of_docstringz5TestBuggyCases.test_with_comment_instead_of_docstringnr�rc�F�|jtjdd�y)N�_�a)r�r��method_in_dynamic_classras r�test_method_in_dynamic_classz+TestBuggyCases.test_method_in_dynamic_classqs�����t�;�;�R��Drrgz.pyz,unicodedata is not an external binary modulec��|jttjt�|jttj
t�yr)r��OSErrorrQr��unicodedata�
findsourceras r�test_findsource_binaryz%TestBuggyCases.test_findsource_binaryvs4��	
���'�7�#4�#4�k�B����'�7�#5�#5�{�Crc�*�dg}t|ddd�}|jttj|�|jttj
|�dd||jftj|j<	|jtj|�|df�|jtj
|�|d�tj|j=y#tj|j=wxYw)Nr�r�_dynamically_created_filer5r.)
r�r�r�rQr�r�r�r�r�rC)rWr�r�s   r�!test_findsource_code_in_linecachez0TestBuggyCases.test_findsource_code_in_linecache}s������
�U�1�X�:�F�
C�����'�7�#5�#5�r�:����'�7�#4�#4�b�9�+,�d�E�2�>�>�*J�	������'�	0����W�/�/��3�e�A�Y�?����W�.�.�r�2�E�!�H�=�������/��	������/�s
�
AC5�5Dc��dD]Y}td|d�}|jttj|�|jttj
|��[y)N)r�r"r�r5)r�r��IOErrorrQr�r�)rW�fnamer�s   r� test_findsource_without_filenamez/TestBuggyCases.test_findsource_without_filename�sJ��%�E����v�.�B����g�w�'9�'9�2�>����g�w�'8�'8�"�=�&rc��ttjt��}d|zdz}t	|tj
d�}ii}}t
|||�|d}|j|jjdd|zz�|jtd�5tj|�ddd�y#1swYyxYw)Nz

z
def f(): passr5r�r.r/zlineno is out of bounds)
r2rQr�r�r�rgrLrCr'�co_firstlineno�assertRaisesRegexr�r�)rW�mod_len�srcr�r��l�funcs       r�)test_findsource_with_out_of_bounds_linenoz8TestBuggyCases.test_findsource_with_out_of_bounds_lineno�s����g�'�'��,�-�����/�1��
�S�#�,�,��
/���2�1���R��A����v��������5�5�q��7��{�C�
�
#�
#�G�-F�
G����t�$�H�
G�
G�s�B=�=Cc�Z�|jtjjdd�y)N�v�w)r�r��ClassWithMethodr�ras r�test_getsource_on_methodz'TestBuggyCases.test_getsource_on_method�s �����t�3�3�:�:�C��Erc�Z�|jtjjdd�y)N��)r�r��cls135�func136ras r�test_nested_funczTestBuggyCases.test_nested_func�s�����t�{�{�2�2�C��=rc�F�|jtjdd�y)N��)r�r��cls149ras r�4test_class_definition_in_multiline_string_definitionzCTestBuggyCases.test_class_definition_in_multiline_string_definition�������t�{�{�C��5rc�F�|jtjdd�y)N��)r�r�r�ras r�*test_class_definition_in_multiline_commentz9TestBuggyCases.test_class_definition_in_multiline_comment�r�rc�Z�|jtjjdd�y)N��)r�r��cls173�cls175ras r�,test_nested_class_definition_indented_stringz;TestBuggyCases.test_nested_class_definition_indented_string�s�����t�{�{�1�1�3��<rc��|jtjdd�|jtjjdd�y)N���)r�r��cls183�cls185ras r�test_nested_class_definitionz+TestBuggyCases.test_nested_class_definition��4�����t�{�{�C��5����t�{�{�1�1�3��<rc��|jtjdd�|jtjjdd�y)N������)r�r��cls196�cls200ras r�test_class_decoratorz#TestBuggyCases.test_class_decorator�r�rc��|jtjdd�|jtjjdd�y)N������)r�r��cls238�cls239ras r�test_class_inside_conditionalz,TestBuggyCases.test_class_inside_conditional�r�rc���|jtjdd�|jtjjdd�|jtjjjdd�|jtjj
dd�|jtjj
jdd�y)N��������������)r�r��cls203�cls204�cls205�cls207ras r�test_multiple_children_classesz-TestBuggyCases.test_multiple_children_classes�s������t�{�{�C��5����t�{�{�1�1�3��<����t�{�{�1�1�8�8�#�s�C����t�{�{�1�1�3��<����t�{�{�1�1�8�8�#�s�Crc��|jtj�dd�|jtjdd�|jtj�j	�dd�y)N������������)r�r��func212�cls213�func219ras r�,test_nested_class_definition_inside_functionz;TestBuggyCases.test_nested_class_definition_inside_function�sQ�����t�|�|�~�s�C�8����t�{�{�C��5����t�{�{�}�4�4�6��S�Arzsocket.accept is brokenc�v�ddl}|j|jd�|j|jtj��dd�|jt
jdd�|j|jtj�j��dd�y)Nr������������)	r"�
addCleanupr#r��runr��func225�cls226�func232)rWr"s  r�2test_nested_class_definition_inside_async_functionzATestBuggyCases.test_nested_class_definition_inside_async_function�s���
	�����5�5�t�<����{�w�{�{�4�<�<�>�:�C��E����t�{�{�C��5����{�w�{�{�4�;�;�=�+@�+@�+B�C�S�#�NrN)$rNrcrdr�r�r�r�r�r�r�r�r�r�r6r�r�rg�endswithr�r�r�r�r�r�r�r�r�r�r�rrrr�
is_emscripten�is_wasir(r$rrr�r�\s����L�:�>�=�4�:�4�E�
�X�_�_���j�9�9�F�!,�!5�!5�!>�!>�u�!E�C�E�D�E�D�
0�>�	%�F�>�6�6�=�=�=�=�D�B�
�X�_�_����0����!��O�	�Orr�c�*��eZdZ�fd�Zd�Zd�Z�xZS)�	TestNoEOLc���tdz|_tj|j�t	tj
j
|jdtjz�dd��5}|jd�ddd�t|j�5ddl
}ddd�|_t�|�5�y#1swY�AxYw#1swY�+xYw)N�_dirzinspect_fodder3%spy�wr�r�zclass X:
    pass # No EOLr)r�tempdir�os�mkdirr��pathr4�extsep�writer
�inspect_fodder3r��superr�)rWr��mod3�	__class__s   �rr�zTestNoEOL.setUp�s���������
�������
�"�'�'�,�,�t�|�|�-B�R�Y�Y�-N�O���)�,-�
�G�G�1�2�)��4�<�<�
(�*�)� ���
��
��
)�)��)�
(�s�6C�%C�C�Cc�B�tj|j�yr)�shutil�rmtreer1ras r�tearDownzTestNoEOL.tearDown�s���
�
�d�l�l�#rc�R�|j|jjdd�y)Nr.r/)r�r��Xras r�
test_classzTestNoEOL.test_class�s �����t�0�0�2�2�A�q�9r)rNrcrdr�r>rA�
__classcell__�r:s@rr-r-�s���	�$�:rr-c��eZdZeZd�Zy)�TestComplexDecoratorc�R�|j|jjdd�y)Nii)r�r��complex_decoratedras r�test_parens_in_decoratorz-TestComplexDecorator.test_parens_in_decorator�s �����t�0�0�B�B�C��MrN)rNrcrdr�r�rHr$rrrErE�s
���L�NrrEc� �eZdZ	d�Zd�Zd�Zy)�_BrokenDataDescriptorc��td���Nzbroken data descriptorr�rs r�__get__z_BrokenDataDescriptor.__get__�����5�6�6rc��t�r)�RuntimeErrorrMs r�__set__z_BrokenDataDescriptor.__set__�s���rc��td��rLrrMs rrz!_BrokenDataDescriptor.__getattr__�rOrN)rNrcrdrNrRrr$rrrJrJ�s���7��7rrJc��eZdZ	d�Zd�Zy)�_BrokenMethodDescriptorc��td���Nzbroken method descriptorrrMs rrNz_BrokenMethodDescriptor.__get__�����7�8�8rc��td��rWrrMs rrz#_BrokenMethodDescriptor.__getattr__�rXrN)rNrcrdrNrr$rrrUrU�s���9�9rrUc�X�tj|�D�cgc]}|dd��	c}Scc}w�Nrt)rQ�classify_class_attrs)r��ts  r�
attrs_wo_objsr^�s-��"�7�7��<�=�<�a�A�b�q�E�<�=�=��=s�'c��eZdZd�Zdddggdifd�Zd�Zd�Zd�Zd�Ze	jed�d	��Ze
e	jed�d
���Ze
e	jed�d���Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d �Z$d!�Z%d"�Z&d#�Z'd$�Z(d%�Z)d&�Z*d'�Z+y)(�TestClassesAndFunctionsc���Gd�dt�}Gd�d|�}Gd�d|�}Gd�d||�}||||tf}tj|�}|j||�y)	Nc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.ANr�r$rrr�rcr�rr�c��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.BNr�r$rr�Brer�rrfc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.CNr�r$rrrrhr�rrc��eZdZy)�4TestClassesAndFunctions.test_newstyle_mro.<locals>.DNr�r$rr�Drj	r�rrk)r�rQ�getmrorC)rWr�rfrrk�expected�gots       r�test_newstyle_mroz)TestClassesAndFunctions.test_newstyle_mrosR�� �� ���������1���q�!�Q��'���n�n�Q�������3�'rNc
�:�tj|�\}
}}}
}}}|j|
|�|j||�|j||�|j|
|�|j||�|j||�|j||	�yr)rQ�getfullargspecrC)rW�routine�args_e�	varargs_e�varkw_e�
defaults_e�
posonlyargs_e�kwonlyargs_e�kwonlydefaults_e�ann_err�r��defaults�
kwonlyargs�kwonlydefaults�anns                 r�assertFullArgSpecEqualsz/TestClassesAndFunctions.assertFullArgSpecEqualss���
�"�"�7�+�	H��g�u�h�
�N�C�����v�&�����)�,������(�����:�.�����\�2�����)9�:�����e�$rc	���|jtjgddgddi��|jtjdgdti��|jtj
gdg��|jtjgd�d	d
g��|jtjgd�ddd	d
g�
�|jtjgd�dd	d
gddd���y)N�arg1�arg2r.)rtrxry)rzr�)rx�r'r
rr�r�r�rrN)rtrurx�r.r/rtrVr()r�r�)rvrxry)	rr��	keyworded�	annotatedr��keyword_only_arg�all_markers� all_markers_with_args_and_kwargs�all_markers_with_defaultsras r�test_getfullargspecz+TestClassesAndFunctions.test_getfullargspecs����$�$�T�^�^�R�6�39�(�7=�a�j�	%�	B�	
�$�$�T�^�^�f�X�,2�T�?�	%�	<��$�$�T�%:�%:�B�38�'�	%�	;�	
�$�$�T�%5�%5�7K�36��*�	%�	>�	
�$�$�T�%J�%J�%9�/5�-5�36��*�		%�	>�	
�$�$�T�%C�%C�EY�07�36��*�<=�A�6F�	%�	Hrc���tjtj�d��}|j	|ddg�|j	tj
|�ddg�y)Nc��yrr$�rrzs  r�hamzETestClassesAndFunctions.test_argspec_api_ignores_wrapped.<locals>.ham8���rrrz)r��wrapsr�rzrr�)rWr�s  r� test_argspec_api_ignores_wrappedz8TestClassesAndFunctions.test_argspec_api_ignores_wrapped6sY��	������	"�	�
#�	�	
�$�$�S�3��*�5��$�$�Y�%6�%6�s�%;�&)�3�Z�	1rc���d�}tjdtjj�}tj|f��|_|j|dg�y)Nc��yrr$r$rr�testzHTestClassesAndFunctions.test_getfullargspec_signature_attr.<locals>.testA���rrz�r6)rQ�	Parameter�POSITIONAL_ONLY�	Signature�
__signature__r)rWr��
spam_params   r�"test_getfullargspec_signature_attrz:TestClassesAndFunctions.test_getfullargspec_signature_attr@sL��	��&�&�v�w�/@�/@�/P�/P�Q�
�$�.�.�:�-�H����$�$�T�F�8�4rc��dd�}tj|�}|j|j|j�d�}tj|�}|j|j|j�y)Nc��yrr$�r's rr�zITestClassesAndFunctions.test_getfullargspec_signature_annos.<locals>.testI���Trc��yrr$r$rrr�zITestClassesAndFunctions.test_getfullargspec_signature_annos.<locals>.testM���Dr)r'rz�returnr�)rQrqrC�__annotations__�annotations)rWr��specs   r�#test_getfullargspec_signature_annosz;TestClassesAndFunctions.test_getfullargspec_signature_annosHs`��)��%�%�d�+������-�-�t�/?�/?�@���%�%�d�+������-�-�t�/?�/?�@r�6Signature information for builtins requires docstringsc�4�|jtjjddg�|jtjt	j
��jddg�|jtjdgddgddd���y)	NrWrZr4�dir_fd�follow_symlinksT)r�r�)rsrxry)r�_pickle�Pickler�dump�io�BytesIOr2�statras r�#test_getfullargspec_builtin_methodsz;TestClassesAndFunctions.test_getfullargspec_builtin_methodsQs}��	
�$�$�W�_�_�%9�%9�F�E�?�K��$�$�W�_�_�R�Z�Z�\�%B�%G�%G�&�RW��Y��$�$�
�W�W��H�#�%6�7�)-�$�G�		%�	Irc��ddl}|j}tj|�}|j	|j
dd�y)Nr�avocado)�	_testcapi�&docstring_with_signature_with_defaultsrQrqrCr{)rWr��builtinr�s    r� test_getfullargspec_builtin_funcz8TestClassesAndFunctions.test_getfullargspec_builtin_func^s;��	��B�B���%�%�g�.��������q�)�9�5rc��ddl}|j}|jt�5t	j
|�ddd�y#1swYyxYw�Nr)r��docstring_no_signaturer�r�rQrq)rWr�r�s   r�-test_getfullargspec_builtin_func_no_signaturezETestClassesAndFunctions.test_getfullargspec_builtin_func_no_signaturegs:��	��2�2��
�
�
�y�
)��"�"�7�+�*�
)�
)�s�A�Ac�Z�t�D]Z}tj|�}t|j�}t|�}|j
|�|j||��\tjt�}t|j�}|j|t�yr)
r=rQrqr�r|�sortedrMrCrF� unsorted_keyword_only_parameters�rWr��	signaturer��sorted_ls     r�8test_getfullargspec_definition_order_preserved_on_kwonlyzPTestClassesAndFunctions.test_getfullargspec_definition_order_preserved_on_kwonlyps���G�I�B��.�.�r�2�I��Y�)�)�*�A��a�y�H��O�O�A�����Q��)�J��*�*�+N�O�	���%�%�&������<�=rc��Gd�dt�}t|�}|jddtf|d�|jddtf|d�|jd	d|f|d
�|jdd|f|d
�|jdd|f|d�|jdd|f|d|z�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�Gd�d|�}t|�}|jd	d|f|d
�|jdd|f|d
�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�Gd�d|�}t|�}|jd	d|f|d
�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�Gd �d!||�}t|�}|jd	d|f|d
�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�|jdd|f|d�y)"Nc�z�eZdZd�Zee�Zd�Zee�Zd�Zee�Z	d�Z
d�ZdZe
�Ze�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Ac��yrr$r$rr�sz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.s~���Trc��yrr$r�s rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.c�s��rc��yrr$ras r�getpz>TestClassesAndFunctions.test_classify_newstyle.<locals>.A.getp����Drc��yrr$ras rr)z;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.m����rc��yrr$ras r�m1z<TestClassesAndFunctions.test_classify_newstyle.<locals>.A.m1����$r�1N)rNrcrdr�r�rr�r�rr8r)r��datablobrJ�ddrU�mdr$rrr�r�|sA����Q��A���A��A� ����A����H�&�(�B�(�*�Brr��__new__�
static method�missing __new__r�r�zmissing __init__r�zmissing static methodr�class method�missing class methodr8rzmissing propertyr)zmissing plain method: %rr��missing plain methodr��datazmissing datar�zmissing method descriptorr�zmissing data descriptorc��eZdZd�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Bc��yrr$ras rr)z;TestClassesAndFunctions.test_classify_newstyle.<locals>.B.m�r�rN)rNrcrdr)r$rrrfr��s��rrfc��eZdZd�Zd�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Cc��yrr$ras rr)z;TestClassesAndFunctions.test_classify_newstyle.<locals>.C.m�r�rc��yrr$ras rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.C.c�r�rN)rNrcrdr)rr$rrrr��s���rrc��eZdZd�Zy)�9TestClassesAndFunctions.test_classify_newstyle.<locals>.Dc��yrr$ras rr�z<TestClassesAndFunctions.test_classify_newstyle.<locals>.D.m1�r�rN)rNrcrdr�r$rrrkr��s��rrk)r�r^r)rWr��attrsrfrrks      r�test_classify_newstylez.TestClassesAndFunctions.test_classify_newstyle{s���	+��	+�(�a� ���
�
�y�/�6�:�E�'�	)��
�
�z�8�V�4�e�=O�P��
�
�s�O�Q�/��8O�P��
�
�s�N�A�.��7M�N��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�0�5�8�	:��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�J�	��	��a� ���
�
�s�O�Q�/��8O�P��
�
�s�N�A�.��7M�N��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�1G�H��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�J�	��	�
�a� ���
�
�s�O�Q�/��8O�P��
�
�s�H�a�(�%�1G�H��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�1G�H��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�J�	��1�	��a� ���
�
�s�O�Q�/��8O�P��
�
�s�H�a�(�%�1G�H��
�
�s�J��*�E�3E�F��
�
�s�H�a�(�%�1G�H��
�
�t�X�q�)�5�2H�I��
�
�z�6�1�-�u�n�E��
�
�t�X�q�)�5�2M�N��
�
�t�V�Q�'��0I�Jrc��tt�D]8}tt|�}t|t�s�$tj|��:tt�}|jddtf|d�|jddtf|d�|jddtf|d	�|jd
dtf|d	�|jddtf|d	�y)Nr�r�r�r�r�r�r�r�r��__add__�__and__)�dir�__builtins__�getattr�
isinstancer�rQr\r^�boolrr�)rWr(r�r�s    r�test_classify_builtin_typesz3TestClassesAndFunctions.test_classify_builtin_types�s�����%�D��l�D�1�G��'�4�(��,�,�W�5�&�
�d�#���
�
�y�/�4�8�%�'�	)��
�
�|�^�S�9�5�,�	.��
�
�z�8�S�1�5�,�	.��
�
�y�(�C�0�%�,�	.��
�
�y�(�D�1�5�,�	.rc�H�Gd�dt�}Gd�d|��}tjdd||jd�}|j	|tj
|��tjdd|d�}|j	|tj
|��y)	Nc���eZdZ�fd�Z�xZS)�ITestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.Metac�.��|dk(ryt�|�|�S)Nr�rz�r8r�rWr(r:s  �rrzUTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.Meta.__getattr__�s����5�=�!��w�*�4�0�0r�rNrcrdrrBrCs@r�Metar���
���
1�
1rr�c�0�eZdZejd��Zy)�GTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.VAc��y)NrSr$ras rr�zKTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.VA.ham����rN)rNrcrdr��DynamicClassAttributer�r$rr�VAr�����
�
(�
(�
�)�
rrr"r�r�rz)r�rQ�	Attributer&rr\)rWr�r�should_find_dca�should_find_gas     r�#test_classify_DynamicClassAttributez;TestClassesAndFunctions.test_classify_DynamicClassAttribute�s���	1�4�	1�
	�4�	�"�+�+�E�6�2�r�{�{�5�?Q�R���
�
�o�w�'C�'C�B�'G�H� �*�*�5�&�$��G���
�
�n�g�&B�&B�2�&F�Grc����G�fd�dt��G�fd�dt�}tjdd||j�}|j	|tj
|��y)Nc���eZdZ�fd�Zd�Zy)�DTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBoolc�����Srr$)rWr[�NoBools  �r�__eq__zKTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBool.__eq__�s
����x�rc��td��)Nz,This object does not specify a boolean value��NotImplementedErrorras r�__bool__zMTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBool.__bool__�s��)�B�D�DrN)rNrcrdr
r�rs�rrr
�s���
 �
Drrc���eZdZW��Zy)�CTestClassesAndFunctions.test_classify_overrides_bool.<locals>.HasNBN)rNrcrdr�rs�r�HasNBr�s
�����Brrr�r�)r�rQrr�rr\)rWr�should_find_attrrs   @r�test_classify_overrides_boolz4TestClassesAndFunctions.test_classify_overrides_bool�sT���	D�V�	D�	�F�	�#�,�,�T�6�5�%�(�(�K���
�
�&��(D�(D�U�(K�Lrc��Gd�dt�}Gd�d|��}tjdd|d�}|j|tj|��y)	Nc��eZdZdZd�Zy)�MTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.Meta�slapc�
�gd�S)N)r:rcrN�fishr$ras r�__dir__zUTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.Meta.__dir__���F�FrN)rNrcrdrrr$rrr�r�s
���D�
Grr�c��eZdZy)�NTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.ClassNr�r$rr�Classr!r<rr"r"rr�r�r�rQrrr\�rWr�r"�should_finds    r�'test_classify_metaclass_class_attributez?TestClassesAndFunctions.test_classify_metaclass_class_attribute�sK��	G�4�	G�	�d�	��'�'����f�E���
�
�k�7�#?�#?��#F�Grc��Gd�dt�}Gd�d|��}tjdd|d�}|j|tj|��y)	Nc�$��eZdZd�Z�fd�Z�xZS)�DTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Metac�
�gd�S)N)r:rcrN�BOOMr$r�s rrzLTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Meta.__dir__
rrc�.��|dk(ryt�|�|�S)Nr+r�)r8�_Meta__getattrr�s  �rrzPTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Meta.__getattr__s����&�=���w�(��.�.r�rNrcrdrrrBrCs@rr�r)	s���
G�
/�
/rr�c��eZdZy)�ETestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.ClassNr�r$rrr"r0r<rr"r"r+r�r�r#r$s    r�test_classify_VirtualAttributez6TestClassesAndFunctions.test_classify_VirtualAttributesI��	/�4�	/�	�d�	��'�'����b�A���
�
�k�7�#?�#?��#F�Grc��	�
�Gd�dt��	Gd�dt��
G�	�
fd�d�	�
�}Gd�d�	�	�}Gd
�d||�	�}tjdd
�	d�}tjdd
�
d�}tjdd
|d�}tj|�}|||fD]}|j	||��y)Nc�$��eZdZd�Z�fd�Z�xZS)�STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1c�
�gd�S)N)r:rcrN�oner$r�s rrz[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1.__dir__���E�Erc�.��|dk(ryt�|�|�S)Nr6r.r�r�s  �rrz_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1.__getattr__�����%�<���w�*�4�0�0rr.rCs@r�Meta1r4����
F�
1�
1rr:c�$��eZdZd�Z�fd�Z�xZS)�STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2c�
�gd�S)N)r:rcrN�twor$r�s rrz[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2.__dir__r7rc�.��|dk(ryt�|�|�S)Nr?r/r�r�s  �rrz_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2.__getattr__ r9rr.rCs@r�Meta2r=r;rrAc�,���eZdZ��fd�Z�fd�Z�xZS)�STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3c
���tttgd��j|�z�j|�z���S)N)r:rcrN�three)r�r�rPr)r�r:rAs ��rrz[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3.__dir__%sC����F�3�'W��M�M�#�&�('�).���s�);�(<�$=�>�?�?rc�.��|dk(ryt�|�|�S)NrErtr�r�s  �rrz_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3.__getattr__(s����'�>���w�*�4�0�0rr.)r:r:rAs@��r�Meta3rC$s���
?�
1�
1rrGc��eZdZy)�TTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Class1Nr�r$rr�Class1rI,r<rrJr"c��eZdZy)�TTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Class2Nr�r$rr�Class2rL.r<rrMr6r�r.r?r/rErt)r�rQrr\r)rWrGrJrM�should_find1�should_find2�should_find3�cca�sfr:rAs         @@r�,test_classify_VirtualAttribute_multi_classeszDTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classess����	1�D�	1�	1�D�	1�	1�E�5�	1�	�u�	�	�V�u�	��(�(����q�A���(�(����q�A���(�(��&�%��C���*�*�6�2����|�<�B��M�M�"�c�"�=rc��Gd�dt�}Gd�d|��}tj|�D�cgc]}|d��	}}|jd|�ycc}w)Nc��eZdZd�Zy)�KTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.Mc�
�gd�S�N)r:rN�missingr$r�s rrzSTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.M.__dir__:���;�;rN�rNrcrdrr$rr�MrV9���
<rr\c��eZdZy)�KTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.CNr�r$rrrr_<r<rrr"rrY)r�rQr\r�rWr\rr'r�s     r�(test_classify_class_attrs_with_buggy_dirz@TestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir8sU��	<��	<�	�!�	�&�;�;�A�>�?�>�!��1��>��?�����E�*��@��Ac�F�Gd�dt�}d�}|tj�}|tj�}|j	tj
||�d|jdfg�|j	tj
||�d|jdfg�Gd�d|�}|j	tj
||�d|jdfg�|j	tj
||�d|jdfg�y)Nc�(�eZdZe�Ze�Zy)�>TestClassesAndFunctions.test_getmembers_descriptors.<locals>.AN)rNrcrdrJr�rUr�r$rrr�reBs��&�(�B�(�*�Brr�c�4���Gd�dt����fd�}|S)Nc��eZdZy)�XTestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper.<locals>.EmptyNr�r$rr�EmptyrhIs��rric�\��dt|�vrt�|j�ry�|�S)NrNF)r�r�rN)rri�preds ��rrLzZTestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper.<locals>.wrappedKs(�����Q��'�G�E�1�:�:�,F� ��A�w�r�r�)rkrLris` @r�pred_wrapperzITestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapperFs���
��
�
��Nrr�r�c��eZdZy)�>TestClassesAndFunctions.test_getmembers_descriptors.<locals>.BNr�r$rrrfroYr<rrf)r�rQ�ismethoddescriptorr�rCrr&)rWr�rmrpr�rfs      r�test_getmembers_descriptorsz3TestClassesAndFunctions.test_getmembers_descriptorsAs
��	+��	+�		�*�'�*D�*D�E��'��(@�(@�A������+�+�A�/A�B��A�J�J�t�$�
%�&�	(�����+�+�A�/?�@��A�J�J�t�$�
%�&�	(�	��	�	
����+�+�A�/A�B��A�J�J�t�$�
%�&�	(�����+�+�A�/?�@��A�J�J�t�$�
%�&�	(rc���Gd�d�}|jd|jftj|��|j	d|jftj|tj
��|�}|jd|jftj|��|jd|jftj|tj
��y)Nc��eZdZd�Zy)�9TestClassesAndFunctions.test_getmembers_method.<locals>.Bc��yrr$ras rr�z;TestClassesAndFunctions.test_getmembers_method.<locals>.B.fcr�rN�rNrcrdr�r$rrrfrtbr�rrfr�)rr�rQrrri)rWrfr
s   r�test_getmembers_methodz.TestClassesAndFunctions.test_getmembers_methodas���	�	�	
�
�
�s�A�C�C�j�'�"4�"4�Q�"7�8����#�q�s�s��W�%7�%7��7�;K�;K�%L�M�
�C���
�
�s�A�C�C�j�'�"4�"4�Q�"7�8��
�
�s�A�C�C�j�'�"4�"4�Q��8H�8H�"I�Jrc��Gd�d�}|d�}|jtj|�dd|jfg�|jtj|tj�d|jfg�y)Nc��eZdZd�Zd�Zd�Zy)�FTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDirc��||_yr�rrs  rr�zOTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDir.__init__ns	�� ��	rc� �|jdzSrCr|ras rr�zMTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDir.methodps���y�y�1�}�$rc�
�ddgS)Nrr�r$ras rrzNTestClassesAndFunctions.test_getmembers_custom_dir.<locals>.CorrectDir.__dir__rs
����)�)rN)rNrcrdr�r�rr$rr�
CorrectDirrzms��
!�
%�
*rrr()rr(r��rCrQrr�ri)rWr�cds   r�test_getmembers_custom_dirz2TestClassesAndFunctions.test_getmembers_custom_dirls}��	*�	*���]������+�+�B�/��
�r�y�y�!�2
�	�	
����+�+�B��0@�0@�A�
�r�y�y�!�D
�	rc��Gd�d�}|�}|jtj|�dd|jfg�|jtj|tj�d|jfg�y)Nc��eZdZdZd�Zd�Zy)�LTestClassesAndFunctions.test_getmembers_custom_broken_dir.<locals>.BrokenDirr.c� �|jdzSrC)�existingras rr�zSTestClassesAndFunctions.test_getmembers_custom_broken_dir.<locals>.BrokenDir.method�s���}�}�q�(�(rc�
�gd�S)N)r�rYr�r$ras rrzTTestClassesAndFunctions.test_getmembers_custom_broken_dir.<locals>.BrokenDir.__dir__�s��8�8rN)rNrcrdr�r�rr$rr�	BrokenDirr��s���H�
)�
9rr�)r�r.r�r�)rWr��bds   r�!test_getmembers_custom_broken_dirz9TestClassesAndFunctions.test_getmembers_custom_broken_dir~s{��	9�	9��[������+�+�B�/��
�r�y�y�!�2
�	�	
����+�+�B��0@�0@�A�
�r�y�y�!�D
�	rc�r�Gd�d�}|�}|jtj|�dg�y)Nc��eZdZdZd�Zy)�TTestClassesAndFunctions.test_getmembers_custom_duplicated_dir.<locals>.DuplicatedDirr.c�
�ddgS)Nrr$ras rrz\TestClassesAndFunctions.test_getmembers_custom_duplicated_dir.<locals>.DuplicatedDir.__dir__�s
����'�'rN)rNrcrdrrr$rr�
DuplicatedDirr��s���D�
(rr�)rr.)rCrQr)rWr�r�s   r�%test_getmembers_custom_duplicated_dirz=TestClassesAndFunctions.test_getmembers_custom_duplicated_dir�s8��	(�	(�
�_������+�+�B�/��2
�	rc�\�Gd�dt�}Gd�d|��}Gd�d�}|jdtj|��|jd	tj|���|�}|jd
|jftj|��y)Nc���eZdZ�fd�Z�xZS)�CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Mc�.��|dk(ryt�|�|�S)NrS�	scrambledr�)r�r(r:s  �rrzOTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.M.__getattr__�s����6�>�&��w�*�4�0�0rr�rCs@rr\r��r�rr\c�0�eZdZejd��Zy)�CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Ac��yryr$ras rrSzHTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.A.eggs�rrN)rNrcrdr�rrSr$rrr�r��rrr�r"c��eZdZd�Zy)�CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Bc��yrr$)rW�	attributes  rrzOTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.B.__getattr__�rrNrr$rrrfr��rrrf)rSr�)rSrzr)r�rrQrr)rWr\r�rfr
s     r� test_getmembers_VirtualAttributez8TestClassesAndFunctions.test_getmembers_VirtualAttribute�s���	1��	1�
	�!�	�	�	�	
�
�
�+�W�-?�-?��-B�C��
�
�&��(:�(:�1�3�(?�@�
�C���
�
�}�a�m�m�4�g�6H�6H��6K�Lrc��Gd�d�}|�}tj|�}tj|�}|jdtj|d�f|�|jdtj|d�f|�|jdtj|d�f|�|jdtj|d�f|�y)Nc�@�eZdZed��Zejd��Zy)�9TestClassesAndFunctions.test_getmembers_static.<locals>.Ac��t�rrras rr(z>TestClassesAndFunctions.test_getmembers_static.<locals>.A.name����)�)rc��t�rrras rrSz>TestClassesAndFunctions.test_getmembers_static.<locals>.A.eggs�r�rN)rNrcrdrr(r�rrSr$rrr�r��s,��
�
*��
*�
�
(�
(�
*�)�
*rr�r(rS)rQ�getmembers_staticr�getattr_static)rWr�r'�instance_members�
class_memberss     r�test_getmembers_staticz.TestClassesAndFunctions.test_getmembers_static�s���	*�	*�
�C��"�4�4�Q�7���1�1�!�4�
��
�
�v�w�5�5�a��@�A�CS�T��
�
�v�w�5�5�a��@�A�CS�T��
�
�v�w�5�5�a��@�A�=�Q��
�
�v�w�5�5�a��@�A�=�Qrc��Gd�dt�}Gd�d|��}tj|�D�cgc]}|d��	}}|jd|�ycc}w)Nc��eZdZd�Zy)�ATestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.Mc�
�gd�SrXr$r�s rrzITestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.M.__dir__�rZrNr[r$rrr\r��r]rr\c��eZdZy)�ATestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.CNr�r$rrrr��r<rrr"rrY)r�rQrrr`s     r�test_getmembers_with_buggy_dirz6TestClassesAndFunctions.test_getmembers_with_buggy_dir�sT��	<��	<�	�!�	�&�1�1�!�4�5�4�!��1��4��5�����E�*��6rbc��dtdtfd�}|jtj|�ttd��ddd�|_|jtj|�ddd��|jtj|dt
���|td��|jtj|dt
��	�|td��t}|jtj|�ttd��|jtj|j�ttd��|jtj|j�tt|jd
��|jtj|j�td|j|jd��|jtj|j�ddd
d��|jtjt�i�|jtj|j�i�|jtj|j�i�|jtj|d��ttd��|jtj|jd��ttd��|jtj|jd��tt|jd
��|jtj|jd��tt|j|jd��|jtj|jd��tt|jd��|jtjtd��i�|jtj|jd��i�|jtj|jd��i�|jtj|d��ttd��|jtj|jd��ttd��|jtj|jd��tt|jd
��|jtj|jd��td|j|jd��|jtj|jd��ddd
d��|jtjtd��i�|jtj|jd��i�|jtj|jd��i�d�}||j�}|j|dd�|jdd��|j|j|jj�|jtj|�tt|jd
��|jtj|d��tt|jd
��|jtj|d��tt|jd
��y)Nr'r
c��yrr$rs  rr0zPTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.foo����trrr0r�T��eval_strr��r��globals�r'r
r��r'r
rr�r��MyClass�r'r
r�r�Fc�B��tj���fd��}|S)Nc�"���|dz|dz�Sr[r$�r'r
r�s  �r�wrapperziTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.times_three.<locals>.wrapper������!�A�#�q��s�|�#r�r�r��r�r�s` r�times_threezXTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.times_three��#���
�_�_�R�
 �
$�!�
$��Nrr.rrt�xxx)r�r�rCrQ�get_annotationsr�r�rr�rh�	function2�	function3�UnannotatedClass�unannotated_function�assertIsNot�__globals__)rWr0�isar�rLs     r�+test_get_annotations_with_stock_annotationszCTestClassesAndFunctions.test_get_annotations_with_stock_annotations�s{��#�#�#��#�����0�0��5�S�s�7K�L�$)�u�5�������0�0��5�U��7O�P�����0�0��t�F�H�U�]`�gj�Wk�l�����0�0��t�V�X�V�^a�hk�Xl�m�'������0�0��5�S�s�7K�L�����0�0����=�S�s�?S�T�����0�0����>�c�PS�_b�_j�_j�@k�l�����0�0����?�s�QV�]`�]h�]h�tw�t�t�BA�	B�����0�0����?�u�SX�_h�Ai�j�����0�0��9�2�>�����0�0��1E�1E�F��K�����0�0��1I�1I�J�B�O�����0�0��t�D�C�VY�FZ�[�����0�0����t�L�TW�^a�Nb�c�����0�0�����M�UX�_b�nq�ny�ny�Oz�{�����0�0�����N�VY�`c�jm�ju�ju�BE�BM�BM�QN�	O�����0�0�����N�VY�`c�jm�ju�ju�Pv�w�����0�0��4�H�"�M�����0�0��1E�1E�PT�U�WY�Z�����0�0��1I�1I�TX�Y�[]�^�����0�0��u�E�S�WZ�G[�\�����0�0����u�M�UX�_b�Oc�d�����0�0�����N�VY�`c�or�oz�oz�P{�|�����0�0�����O�WZ�af�mp�mx�mx�EH�EP�EP�RQ�	R�����0�0�����O�W\�ch�ox�Qy�z�����0�0��5�I�2�N�����0�0��1E�1E�PU�V�XZ�[�����0�0��1I�1I�TY�Z�\^�_�	��c�l�l�+�������C��#�+�+�a��*?�@�����,�,�c�l�l�.F�.F�G�����0�0��9��3�Z]�Ze�Ze�;f�g�����0�0��4�H�PS�Z]�il�it�it�Ju�v�����0�0��5�I�QT�[^�jm�ju�ju�Kv�wrc�h�t}|jtj|�ddd��|jtj|j�ddd��|jtj|j
�dddd��|jtj|j�ddddd��|jtj|j�ddd	d
��|jtj|j�i�|jtj|j�i�|jtj|d��ttd��|jtj|jd��ttd��|jtj|j
d��tt|jd��|jtj|jd��td|j|jd��|jtj|jd��dddd
��|jtj|jd��i�|jtj|jd��i�|jtj|d
��ddd��|jtj|jd
��ddd��|jtj|j
d
��dddd��|jtj|jd
��ddddd��|jtj|jd
��ddd	d
��|jtj|jd
��i�|jtj|jd
��i�t}|jtj|�i�|jtj|d��i�|jtj|d
��i�d�}||j
�}|j|dd�|j	dd��|j|j|j
j�|jtj|�dddd��|jtj|d��tt|jd��|jtj|d
��dddd��|jtj|j�ddi�|jtj|jd��dti�y)Nr�r�rr�r��'str'r��'int'�	'MyClass'r�Tr�Fc�B��tj���fd��}|S)Nc�"���|dz|dz�Sr[r$r�s  �rr�znTestClassesAndFunctions.test_get_annotations_with_stringized_annotations.<locals>.times_three.<locals>.wrapperr�rr�r�s` rr�z]TestClassesAndFunctions.test_get_annotations_with_stringized_annotations.<locals>.times_threer�rr.rrtr��mytype)rrCrQr�r�rhr�r�r�r�r�r�rr�r��MyClassWithLocalAnnotations)rWr��isa2r�rLs     r�0test_get_annotations_with_stringized_annotationszHTestClassesAndFunctions.test_get_annotations_with_stringized_annotations�s���,������0�0��5�U��7O�P�����0�0����=�U�QV�?W�X�����0�0����>�e�RW�cl�@m�n�����0�0����?�u�SZ�aj�v�BA�	B�����0�0����?�w�U\�cn�Ao�p�����0�0��1E�1E�F��K�����0�0��1I�1I�J�B�O�����0�0��t�D�C�VY�FZ�[�����0�0����t�L�TW�^a�Nb�c�����0�0�����M�UX�_b�nq�ny�ny�Oz�{�����0�0�����N�VY�`e�lo�lw�lw�DG�DO�DO�QP�	Q�����0�0�����N�V[�bg�nw�Px�y�����0�0��1E�1E�PT�U�WY�Z�����0�0��1I�1I�TX�Y�[]�^�����0�0��u�E�U�Y^�G_�`�����0�0����u�M�UZ�af�Og�h�����0�0�����N�V[�bg�s|�P}�~�����0�0�����O�W\�cj�qz�GP�RQ�	R�����0�0�����O�W^�el�s~�Q�	A�����0�0��1E�1E�PU�V�XZ�[�����0�0��1I�1I�TY�Z�\^�_�/������0�0��6��;�����0�0���E�r�J�����0�0���F��K�	��c�l�l�+�������C��#�+�+�a��*?�@�����,�,�c�l�l�.F�.F�G�����0�0��9��U�^g�;h�i�����0�0��4�H�PS�Z]�il�it�it�Ju�v�����0�0��5�I�QV�]b�nw�Kx�y�	
����0�0��1P�1P�Q�TW�Ya�Sb�c�����0�0��1P�1P�[_�`�cf�hk�bl�mrc�P�t}tj|jd��}|jj}|j|d|d�|j
|djdt|d�|j|djd|d�y)	NTr�rrrzr.r-r/)	rrQr�r��__type_params__rcrC�__args__r)rW�
ann_module695�
A_annotations�
A_type_paramss    r�1test_pep695_generic_class_with_future_annotationszITestClassesAndFunctions.test_pep695_generic_class_with_future_annotations-s���=�
��/�/�
���$�O�
�%���7�7�
��
�
�m�C�(�-��*:�;�����s�+�4�4�Q�7��
�a�@P�9Q�R��
�
�m�C�(�1�1�!�4�m�A�6F�Grc��tjtjd��}|j	|t
ttd��y)NTr�)rrzr-)rQr�rrfrCr�r��bytes)rW�
B_annotationss  r�Etest_pep695_generic_class_with_future_annotations_and_local_shadowingz]TestClassesAndFunctions.test_pep695_generic_class_with_future_annotations_and_local_shadowing5s6���/�/�1�3�3�d�
�
�	
����c��%�(H�Irc���t}tj|jd��}|j	t|j
��t|jj��y�NTr�)rrQr�rrCrP�valuesr�)rWr��
C_annotationss   r�Mtest_pep695_generic_class_with_future_annotations_name_clash_with_global_varszeTestClassesAndFunctions.test_pep695_generic_class_with_future_annotations_name_clash_with_global_vars;sN��=�
��/�/�
���$�O�
�����
�$�$�&�'��
���/�/�0�	
rc��t}tj|jd��}|jj}|j|j
�hd��|j|d|d�|j|dt|d�|j|dj|d	�|j|d
j|d	�y)NTr�>rrzr-�zzr�rrrzr.r-r/r�)
rrQr��generic_functionr�rC�keysrcr�
__origin__)rWr��generic_func_annotations�
func_t_paramss    r�5test_pep_695_generic_function_with_future_annotationszMTestClassesAndFunctions.test_pep_695_generic_function_with_future_annotationsCs���=�
�#*�#:�#:��*�*�T�$
� �&�6�6�F�F�
����$�)�)�+�-L�	
�	
�
�
�.�s�3�]�1�5E�F����1�#�6��}�Q�?O�8P�Q��
�
�.�s�3�>�>�
�a�@P�Q��
�
�.�t�4�?�?��q�AQ�Rrc���|jttjtj
d��j
��ttj
j��yr�)rCrPrQr�r�generic_function_2r�r�ras r�Qtest_pep_695_generic_function_with_future_annotations_name_clash_with_global_varsziTestClassesAndFunctions.test_pep_695_generic_function_with_future_annotations_name_clash_with_global_varsQsT�������'�'�9�L�L�!���&�(�	
�
�5�H�H�X�X�
�
	
rc��t}tj|jjd��}|jjj
D�cic]}|j|��}}|j||d|ddd��ycc}w)NTr��Foo�Bar)rrzr�)rrQr�rk�generic_methodr�rNrC)rWr��generic_method_annotations�param�paramss     r�3test_pep_695_generic_method_with_future_annotationszKTestClassesAndFunctions.test_pep_695_generic_method_with_future_annotations^s���=�
�%,�%<�%<��O�O�*�*�T�&
�"�
'���7�7�G�G�
�G��
�N�N�E�!�G�	�
�	
���&���-�f�U�m�t�D�	
��	
s�Bc��|jttjtj
jd��j��ttj
jj��yr�)	rCrPrQr�rrk�generic_method_2r�r�ras r�Otest_pep_695_generic_method_with_future_annotations_name_clash_with_global_varszgTestClassesAndFunctions.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_varsls`�������'�'�9�;�;�L�L�!���&�(�	
�
�5�7�7�H�H�X�X�
�
	
rc�z�|jtjtjd��dt
i�y)NTr�r)rCrQr�r�Er�ras r�Ytest_pep_695_generic_method_with_future_annotations_name_clash_with_global_and_local_varszqTestClassesAndFunctions.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_and_local_varsys2������#�#�5�7�7�$�
��#�J�		
rc��tj�}|jt|jj��t|jj��|jt|jj��t|jjj��|jt|jj��t|jj��|jt|jj��j|jj�t��|j|jdti�|jt|jj��t|jj��y)Nr)r�nestedrCrP�
F_annotationsr��Fr��F_meth_annotationsr��assertNotEqual�intersection�
G_annotationsr�r��generic_func)rW�resultss  r�@test_pep_695_generics_with_future_annotations_nested_in_functionzXTestClassesAndFunctions.test_pep_695_generics_with_future_annotations_nested_in_function�sU��7�>�>�@�������%�%�,�,�.�/���	�	�)�)�*�	
�	
�����*�*�1�1�3�4���	�	�(�(�8�8�9�	
�	
�����*�*�1�1�3�4���	�	�)�)�*�	
�	
�����*�*�1�1�3�4�A�A�'�)�)�B[�B[�\��E�	
�
	
����.�.��c�
�;������0�0�7�7�9�:���$�$�4�4�5�	
r),rNrcrdrorr�r�r�r�r�r6rr�rr�r�r�r�r�rrr&r1rSrarqrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
r$rrr`r`s_��	(�BF�,0�T�24�2�59�*,�	
%�H�01�5�A��X�_�_�)�M�O�	I�O�	I���X�_�_�)�M�O�6�O��6���X�_�_�)�M�O�,�O��,�	>�OK�b.�(
H�
M�H�H�!#�F+�(�@	K��$�(
�M�$R�"+�1x�f.n�`H�J�
�S�
�
�
�
�
rr`c��eZdZd�Zy)�TestFormatAnnotationc��ddlm}m}|jt	j
|�d�|jt	j
|�d�y)Nr)r~�ann1zUnion[List[str], int]z%Union[List[testModule.typing.A], int])�test.typinganndata.ann_module9r~rrCrQ�formatannotation)rWr~rs   r�test_typing_replacementz,TestFormatAnnotation.test_typing_replacement�s=��<�����1�1�#�6�8O�P�����1�1�$�7�9`�arN)rNrcrdrr$rrrr�s��brrc�$�eZdZd�Zd�Zd�Zd�Zy)�TestIsDataDescriptorc��Gd�d�}Gd�d�}Gd�d�}Gd�d�}|jtj|��d	�|jtj|��d
�|jtj|��d�|jtj|��d�y)
Nc��eZdZdd�Zy)�GTestIsDataDescriptor.test_custom_descriptors.<locals>.NonDataDescriptorNc��yrr$)rW�valuer�s   rrNzOTestIsDataDescriptor.test_custom_descriptors.<locals>.NonDataDescriptor.__get__�s��rr�rNrcrdrNr$rr�NonDataDescriptorr�s��5rrc��eZdZd�Zy)�ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor0c��yrr$)rWr(rs   rrRzMTestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor0.__set__����DrN�rNrcrdrRr$rr�DataDescriptor0r�s��0rr#c��eZdZd�Zy)�ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor1c��yrr$)rWr(s  r�
__delete__zPTestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor1.__delete__����rN)rNrcrdr'r$rr�DataDescriptor1r%�s��,rr)c��eZdZdZy)�ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor2Nr"r$rr�DataDescriptor2r+�s���Grr,z-class with only __get__ not a data descriptorz'class with __set__ is a data descriptorz*class with __delete__ is a data descriptorz.class with __set__ = None is a data descriptor)rVrQr�rM)rWrr#r)r,s     r�test_custom_descriptorsz,TestIsDataDescriptor.test_custom_descriptors�s���	6�	6�	1�	1�	-�	-�	�	�����1�1�2C�2E�F�H�	J�����0�0��1B�C�A�	C�����0�0��1B�C�D�	F�����0�0��1B�C�H�	Jrc�v�Gd�d�}|jtj|j�d�y)Nc��eZdZdZy)�/TestIsDataDescriptor.test_slot.<locals>.Slotted�r0Nrr$rr�Slottedr0�s���Irr2za slot is a data descriptor)rMrQr�r0)rWr2s  r�	test_slotzTestIsDataDescriptor.test_slot�s,��	�	�����0�0����=�5�	7rc�v�Gd�d�}|jtj|j�d�y)Nc��eZdZed��Zy)�6TestIsDataDescriptor.test_property.<locals>.Propertiedc��yrr$ras r�
a_propertyzATestIsDataDescriptor.test_property.<locals>.Propertied.a_property�r�rN)rNrcrdrr8r$rr�
Propertiedr6�s��
�
��
rr9za property is a data descriptor)rMrQr�r8)rWr9s  r�
test_propertyz"TestIsDataDescriptor.test_property�s0��	�	�	
����0�0��1F�1F�G�9�	;rc��Gd�dt�}d�}d�}|jtj|�j�d�|jtj|�j
�d�|jtj|�j�d�|jtj|�d�|jtj|�d	�y)
Nc�2�eZdZd�Zed��Zed��Zy)�1TestIsDataDescriptor.test_functions.<locals>.Testc��yrr$ras r�instance_methodzATestIsDataDescriptor.test_functions.<locals>.Test.instance_method����trc��yrr$r�s rr�z>TestIsDataDescriptor.test_functions.<locals>.Test.class_method�s��#'rc��yrr$r$rrr�z?TestIsDataDescriptor.test_functions.<locals>.Test.static_method�s��!%rN)rNrcrdr?r�r�r�r�r$rr�Testr=�s!��+�
�'��'�
�%��%rrCc��yrr$r$rrrhz5TestIsDataDescriptor.test_functions.<locals>.function�r�rc��yrr$r$rrr�z5TestIsDataDescriptor.test_functions.<locals>.<lambda>����4rz*a instance method is not a data descriptorz'a class method is not a data descriptorz(a static method is not a data descriptorz#a function is not a data descriptorz!a lambda is not a data descriptor)r�rVrQr�r?r�r�)rWrCrh�a_lambdas    r�test_functionsz#TestIsDataDescriptor.test_functions�s���	&�6�	&�	�������1�1�$�&�2H�2H�I�E�	G�����1�1�$�&�2E�2E�F�B�	D�����1�1�$�&�2F�2F�G�C�	E�����1�1�(�;�>�	@�����1�1�(�;�<�	>rN)rNrcrdr-r3r:rHr$rrrr�s��J�$7�;�>rrc�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�TestGetClosureVarsc���d�}t�}d|i}dti}dti}dh}tj||||�}|jtj||��|�y)Nc����fd�}|S)Nc�2��t|�tt�yr��print�_global_ref�unbound_ref��	local_ref�nonlocal_refs �rr�z=TestGetClosureVars.test_name_resolution.<locals>.f.<locals>.g�s����i��{�K�Hrr$�rTr�s` rr�z2TestGetClosureVars.test_name_resolution.<locals>.f�s���
I��HrrTrPrOrQ�r�rPrOrQ�ClosureVarsrC�getclosurevars�rWr��_arg�
nonlocal_vars�global_vars�builtin_vars�
unbound_namesrms        r�test_name_resolutionz'TestGetClosureVars.test_name_resolution�sn��	��x��'��.�
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/��$��8�(�Crc���d�}t�}d|i}dti}dti}dh}tj||||�}|jtj||��|�y)Nc����fd�}|S)Nc3�B�K�t|�tt�d��y�wrrNrRs �rr�z?TestGetClosureVars.test_generator_closure.<locals>.f.<locals>.g�s������i��{�K�H��s�r$rUs` rr�z4TestGetClosureVars.test_generator_closure.<locals>.f�s���
��HrrTrPrOrQrVrYs        r�test_generator_closurez)TestGetClosureVars.test_generator_closure�sn��	�
�x��'��.�
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/��$��8�(�Crc��Gd�d�}t�}d|i}dti}dti}dh}tj||||�}|jtj|�j|��|�y)Nc��eZdZd�Zy)�1TestGetClosureVars.test_method_closure.<locals>.Cc����fd�}|S)Nc�2��t|�tt�yrrNrRs �rr�z>TestGetClosureVars.test_method_closure.<locals>.C.f.<locals>.gs����)�\�;��Lrr$)rWrTr�s ` rr�z3TestGetClosureVars.test_method_closure.<locals>.C.f�s���M��rNrvr$rrrrf�s��
rrrTrPrOrQ)r�rPrOrQrWrCrXr�)rWrrZr[r\r]r^rms        r�test_method_closurez&TestGetClosureVars.test_method_closure�sy��	�	�
�x��'��.�
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/�����d��<�h�Grc����Gd�d���fd�}d�i}dti}dti}dh}tj||||�}|j	tj
|�|�y)Nc��eZdZe�Zy)�DTestGetClosureVars.test_attribute_same_name_as_global_var.<locals>.CN)rNrcrdr�rPr$rrrrl
s	�� �(�Krrc�:��t�jt�yr)rOrP)rs�rr�zDTestGetClosureVars.test_attribute_same_name_as_global_var.<locals>.fs����!�-�-��-rrPrO)rPrOrQrWrCrX)rWr�r[r\r]r^rmrs       @r�&test_attribute_same_name_as_global_varz9TestGetClosureVars.test_attribute_same_name_as_global_varsk���	#�	#�	.��a��
�$�k�2����'��&��
��&�&�}�k�'3�]�D������/�/��2�H�=rc�\���	�d��	d�}d�}d�}�fd����	�fd�}|d�}|d�}||d	�}�j�	|�d
di��j�	|�d
di��j�	|�d	|d���j�	d�d
��d
d
i��|�y)Nc�@�tj|�jSr)rQrX�	nonlocals�r�s r�_nonlocal_varsz=TestGetClosureVars.test_nonlocal_vars.<locals>._nonlocal_varss���)�)�!�,�6�6�6rc����fd�}|S)Nc����|zSrr$�rzrs �r�addzFTestGetClosureVars.test_nonlocal_vars.<locals>.make_adder.<locals>.adds����1�u�rr$)rrws` r�
make_adderz9TestGetClosureVars.test_nonlocal_vars.<locals>.make_adders
���
��Jrc������fd�S)Nc�����|�Srr$)r�r�r�s ��rr�zFTestGetClosureVars.test_nonlocal_vars.<locals>.curry.<locals>.<lambda>$s����T�4� 0rr$)r�r�s``r�curryz4TestGetClosureVars.test_nonlocal_vars.<locals>.curry#s	���0�0rc��||kSrr$rs  r�	less_thanz8TestGetClosureVars.test_nonlocal_vars.<locals>.less_than&����q�5�Lrc�.����fd�}|�_||�S)Nc������fd��S)Nc� �����|�Srr$)rr�s �rr�zMTestGetClosureVars.test_nonlocal_vars.<locals>.Y.<locals>.g.<locals>.<lambda>,s���D�A�a�D��Grr$)r��les`�rr�z;TestGetClosureVars.test_nonlocal_vars.<locals>.Y.<locals>.g+s����+�,�,r)�g_ref)r�r��Ys` �rr�z0TestGetClosureVars.test_nonlocal_vars.<locals>.Y*s���
-��A�G��Q�4�Krc�N���j�|�d�ji�y)Nr�)rCr�)r�r�rsrWs ���r�check_y_combinatorzATestGetClosureVars.test_nonlocal_vars.<locals>.check_y_combinator0s ������^�D�1�C����>�Brr.r/r(r)r�r�c����fd�S)Nc����|zSrr$rvs �rr�zITestGetClosureVars.test_nonlocal_vars.<locals>.<lambda>.<locals>.<lambda>;s	���Q��Urr$�rs`rr�z7TestGetClosureVars.test_nonlocal_vars.<locals>.<lambda>;s���?rrt)rC)
rWrxr{r}r��inc�add_two�greater_than_fiver�rss
`       @@r�test_nonlocal_varsz%TestGetClosureVars.test_nonlocal_varss����	7�	�
	1�	�	�	C���m���Q�-��!�)�Q�/�������,�s�A�h�7������0�3��(�;�����(9�:�"#�Y�7�	9�����)B�A�(F�G��q��	#�	�
�rc���d�}tjiiit��}|jtjd��|�|jtj|�|�y)Nc��yrr$r$rrr0z9TestGetClosureVars.test_getclosurevars_empty.<locals>.foo@���4rc��y�NTr$r$rrr�z>TestGetClosureVars.test_getclosurevars_empty.<locals>.<lambda>Bs��r)rQrWrPrCrX)rWr0�_emptys   r�test_getclosurevars_emptyz,TestGetClosureVars.test_getclosurevars_empty?sS����$�$�R��R���7������/�/��=�v�F�����/�/��4�f�=rc��Gd�d�}|jttjd�|jttjt�|jttji�y)Nc��eZdZy)�7TestGetClosureVars.test_getclosurevars_error.<locals>.TNr�r$rr�Tr�Fr�rr�r.)r�r�rQrXr�)rWr�s  r�test_getclosurevars_errorz,TestGetClosureVars.test_getclosurevars_errorEsO���
����)�W�%;�%;�Q�?����)�W�%;�%;�T�B����)�W�%;�%;�R�@rc�0�d}i}t||�|d|fS)Nzdef f(): print(path)r�)r5)rWr=r2s   r�_private_globalsz#TestGetClosureVars._private_globalsKs#��)��
���T�2���#�w��{�rc���|j�\}}|jdd�tjiidtidh�}|jtj|�|�y)Nr�rOr4)r��poprQrWrOrCrX�rWr�r2rms    r�test_builtins_fallbackz)TestGetClosureVars.test_builtins_fallbackQsY���%�%�'���2�
���~�t�$��&�&�r�2������I������/�/��2�H�=rc��|j�\}}ddi|d<tjiiddidh�}|jtj|�|�y)Nr4r.r�rO)r�rQrWrCrXr�s    r�test_builtins_as_dictz(TestGetClosureVars.test_builtins_as_dictWsY���%�%�'���2�$�Q�Z��>���&�&�r�2��q�z�G�9�E������/�/��2�H�=rc���|j�\}}t|d<tjiidtjidh�}|jtj|�|�y)Nr�r4rO)r�r2rQrWr4rCrXr�s    r�test_builtins_as_modulez*TestGetClosureVars.test_builtins_as_module]sZ���%�%�'���2���>���&�&�r�2��r�w�w�/?�'��K������/�/��2�H�=rN)rNrcrdr_rcrirnr�r�r�r�r�r�r�r$rrrJrJ�s>��
D�
D�
H�>�$�L>�A��>�>�>rrJc�L�eZdZdd�Zdd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zy)
�TestGetcallargsFunctionsNc��t|xsi|��}td|zd|�}td|zd|�}|j||�y)N�r��func(%s)�inspect.getcallargs(func, %s))rrLrC)rWr��call_params_string�locs�r1�r2s      r�assertEqualCallArgsz,TestGetcallargsFunctions.assertEqualCallArgsfsN���D�J�B�T�*��
�*�1�1�4��
>��
�1�4F�F���������R� rc��t|xsi|��}	td|zd|�|jd�	td|zd|�|jd�|j	t�t��|j
t|�t|��~~y#t$r}|}Yd}~�}d}~wwxYw#t$r}|}Yd}~�sd}~wwxYw)Nr�r�zException not raisedr�)rrL�failr�rcr�rCr�)rWr��call_param_stringr�r��ex1�ex2s       r�assertEqualExceptionz-TestGetcallargsFunctions.assertEqualExceptionms����D�J�B�T�*��	.���/�/��t�<�
�I�I�,�-�	.��0�3D�D�d��
�

�I�I�,�-��
�
�d�3�i��c��+�����S��3�s�8�,�����	��C��	���	��C��	�s.�B!�B9�!	B6�*B1�1B6�9	C�C	�	Cc�$�	d}t||z�S)Nzlambda %s: locals())rL)rWr�r=s   r�makeCallablez%TestGetcallargsFunctions.makeCallable�s��9�$���D�9�$�%�%rc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d	�|j|d
�|j|d�|j|d�|j|d
�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�y)N�a, b=1�2�2, 3�a=2zb=3, a=2z2, b=3z*(2,)z*[2]z*(2, 3)z*[2, 3]z	**{"a":2}zb=3, **{"a":2}z2, **{"b":3}z**{"b":3, "a":2}z*collections.UserList([2])z*collections.UserList([2, 3])z**collections.UserDict(a=2)z2, **collections.UserDict(b=3)z b=2, **collections.UserDict(a=3)�r�r��rWr�s  r�
test_plainz#TestGetcallargsFunctions.test_plain�s9�����h�'��� � ��C�(�� � ��F�+�� � ��E�*�� � ��J�/�� � ��H�-�� � ��G�,�� � ��F�+�� � ��I�.�� � ��I�.�� � ��K�0�� � ��$4�5�� � ��N�3�� � ��$6�7�� � ��$@�A�� � ��$C�D�� � ��$A�B�� � ��$D�E�� � ��$F�Grc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�y)Nz
a, b=1, *cr�r��2, 3, 4z*(2,3,4)z	2, *[3,4]z 2, 3, *collections.UserList([4])r�r�s  r�test_varargsz%TestGetcallargsFunctions.test_varargs�ss�����l�+��� � ��C�(�� � ��F�+�� � ��I�.�� � ��J�/�� � ��K�0�� � ��$F�Grc�j�|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d	�|j|d
�y)Nza, b=1, **cr�z2, b=3, c=4z
b=3, a=2, c=4zc=4, **{"a":2, "b":3}z2, c=4, **{"b":3}zb=2, **{"a":3, "c":4}z%**collections.UserDict(a=2, b=3, c=4)z#2, c=4, **collections.UserDict(b=3)z%b=2, **collections.UserDict(a=3, c=4)r�r�s  r�
test_varkwz#TestGetcallargsFunctions.test_varkw�s������m�,��� � ��E�*�� � ��M�2�� � ��O�4�� � ��$;�<�� � ��$7�8�� � ��$;�<�� � ��$K�L�� � ��$I�J�� � ��$K�Lrc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�y)N�**cr�za=1za=1, b=2zc=3, **{"a": 1, "b": 2}z **collections.UserDict(a=1, b=2)z%c=3, **collections.UserDict(a=1, b=2)r�r�s  r�test_varkw_onlyz(TestGetcallargsFunctions.test_varkw_only�su�����e�$��� � ��B�'�� � ��E�*�� � ��J�/�� � ��$=�>�� � ��$F�G�� � ��$K�Lrc���|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d	�|jd
�}|j|d�|j|d�|j|d�y)
Nza=3, *, c, d=2zc=3zc=3, a=3za=2, c=4z4, c=4r��3za=3zd=4z	*, c, d=2zc=3, d=4zd=4, c=3)r�r�r�r�s  r�test_keyword_onlyz*TestGetcallargsFunctions.test_keyword_only�s������.�/��� � ��E�*�� � ��J�/�� � ��J�/�� � ��H�-��!�!�!�R�(��!�!�!�S�)��!�!�!�U�+��!�!�!�U�+����k�*��� � ��E�*�� � ��J�/�� � ��J�/rc��|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|jd	�}|j|d�|j|d�|j|d
�|j|d�|j|d�|j|d
�y)Nza, b=2, *f, **gz2, 3, 7z	2, 3, x=8z2, 3, x=8, *[(4,[5,6]), 7]z2, x=8, *[3, (4,[5,6]), 7], y=9zx=8, *[2, 3, (4,[5,6])], y=9z@x=8, *collections.UserList([2, 3, (4,[5,6])]), **{"y":9, "z":10}zP2, x=8, *collections.UserList([3, (4,[5,6])]), **collections.UserDict(y=9, z=10)za, b=2, *f, x, y=99, **gz%2, x=8, *[3, (4,[5,6]), 7], y=9, z=10z"x=8, *[2, 3, (4,[5,6])], y=9, z=10zEx=8, *collections.UserList([2, 3, (4,[5,6])]), q=0, **{"y":9, "z":10}zU2, x=8, *collections.UserList([3, (4,[5,6])]), q=0, **collections.UserDict(y=9, z=10)r�r�s  r�test_multiple_featuresz/TestGetcallargsFunctions.test_multiple_features�s�����/�0��� � ��I�.�� � ��K�0�� � ��$@�A�� � ��$E�F�� � ��$B�C�� � ��%I�	J�� � ��%.�	/�
���8�9��� � ��K�0�� � ��$@�A�� � ��$K�L�� � ��$H�I�� � ��%N�	O�� � ��%.�	/rc���|jd�}|jd�}|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�||fD]�}|j|d	�|j|d
�|j|d�|j|d�|j|d
�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d���|jd�}|j|d�|j|d�|jd�}|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�|j|d�d�}|jtd �5t	j
|�ddd�d!�}|jtd"�5t	j
|�ddd�|jtd#�5t	jd$tjjd%�&�ddd�|jtd'�5t	jd(d)d%�&�ddd�|jtd*�5t	jd+d,�-�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�dxYw#1swYyxYw).Nr�za, br�r�r�z1,x=1r�zb=3r�z1, 2, 3, a=1z2, 3, 4, c=5z2, 3, 4, a=1, c=5zc=2z2, c=3z	2, 3, c=4z2, c=4, b=3u**{u"πι": 4}z1, a=2z1, **{"a":2}z	1, 2, b=3z1, c=3, a=2r�z1, 2z1, 2, a=1, b=2z	*, a, b=0za=1, a=3za=1, c=3z
a=1, a=3, b=4za=1, b=2, a=3, b=4za=1, a=2, a=3, b=4c��yrr$r�s r�f5z0TestGetcallargsFunctions.test_errors.<locals>.f5s��drzmissing 1 required keyword-onlyc��yrr$r�s   r�f6z0TestGetcallargsFunctions.test_errors.<locals>.f6r�rz'a', 'b' and 'c'z6variadic keyword parameters cannot have default valuesr0r���kind�defaultz%value 5 is not a valid Parameter.kindr(r(zname must be a str, not a int�{rV�r�)	r�r�r�r�rQ�getcallargs�
ValueErrorr��VAR_KEYWORD)	rW�f0�f1�f2r��f3�f4r�r�s	         r�test_errorsz$TestGetcallargsFunctions.test_errors�s���
�
�
�r�
"��
�
�
�v�
&��
�
�
�x�
(���!�!�"�c�*��!�!�"�e�,��!�!�"�g�.��!�!�"�b�)��!�!�"�c�*��!�!�"�e�,��!�!�"�e�,��!�!�"�b�)��!�!�"�e�,��R��A��%�%�a��3��%�%�a��8��%�%�a��8��%�%�a�)<�=��%�%�a��/��%�%�a��2��%�%�a��5��%�%�a��7��%�%�a�)A�B��%�%�a��2��%�%�a��8��%�%�a��5��%�%�a��7�!�$�
�
�u�
%���!�!�"�f�-��!�!�"�&6�7�
�
�
�{�
+���!�!�"�f�-��!�!�"�&6�7��!�!�"�j�1��!�!�"�j�1��!�!�"�o�6��!�!�"�&:�;��!�!�"�&:�;�	�
�
#�
#�I�$E�G�����#�G�	�
�
#�
#�I�/A�
B�����#�C��
#�
#�J�%;�<�
���e�'�*;�*;�*G�*G�&(�
*�<�
�
#�
#�J�$K�M����e�!�R�8�M��
#�
#�I�#B�D����c��*�D�D�+G�G��C�
B��<�<��
M�M��D�D�s<�&N8�O�1O� O�O(�8O�O
�O�O%�(O1r)
rNrcrdr�r�r�r�r�r�r�r�r�r�r$rrr�r�ds9��!��&&�
H�.H�
M�M�0� /�0H+rr�c�$��eZdZd�Z�fd�Z�xZS)�TestGetcallargsMethodsc�H�Gd�dt�}||_|�|_y)Nc��eZdZy)�)TestGetcallargsMethods.setUp.<locals>.FooNr�r$rrr�r�0r<rr�)r�r��inst)rWr�s  rr�zTestGetcallargsMethods.setUp/s��	�&�	�����E��	rc���tt|�
}|d|z�|j_|j
jS)Nzself, )r8r�r�r�r�r�)rWr��mkr:s   �rr�z#TestGetcallargsMethods.makeCallable5s5���
�)�4�
=���X�	�1�2������y�y���r)rNrcrdr�r�rBrCs@rr�r�-s���� � rr�c�>��eZdZ�fd�Zd�fd�	Zd�fd�	Zdd�Z�xZS)�TestGetcallargsUnboundMethodsc�V��tt|�|�|jjSr)r8r�r�r�r�)rWr�r:s  �rr�z*TestGetcallargsUnboundMethods.makeCallable=s!���
�+�T�?�	�J��x�x���rc�F��tt|�
|j|||��Sr)r8r�r��_getAssertEqualParams�rWr�r�r�r:s    �rr�z1TestGetcallargsUnboundMethods.assertEqualCallArgsAs-����2�D�M�
�
'�
'��.@�$�
G�I�	Irc�F��tt|�
|j|||��Sr)r8r�r�r�r�s    �rr�z2TestGetcallargsUnboundMethods.assertEqualExceptionEs-����2�D�N�
�
'�
'��.@�$�
G�I�	Irc�H�t|xsi|j��}|d|z|fS)N)r�zinst,)rr�)rWr�r�r�s    rr�z3TestGetcallargsUnboundMethods._getAssertEqualParamsIs)���D�J�B�T�Y�Y�/���g� 2�2�D�9�9rr)rNrcrdr�r�r�r�rBrCs@rr�r�;s����I�I�:rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestGetattrStaticc��Gd�dt�}|�}|jtj|d�|j�|jtj|dd�|j�|jt�5tj|d�ddd�|jtj|dd�d�y#1swY�1xYw)Nc��eZdZe�Zy)�+TestGetattrStatic.test_basic.<locals>.ThingN�rNrcrdr�rr$rr�Thingr�R�	����Arr�rrzrt)r�rCrQr�rr�r�rWr��things   r�
test_basiczTestGetattrStatic.test_basicQs���	�F�	��������/�/��s�;�U�W�W�E�����/�/��s�D�A�5�7�7�K�
�
�
�~�
.��"�"�5�#�.�/�	
����/�/��s�A�>��B�/�
.�s�
C�Cc��Gd�dt�}Gd�d|�}|�}|jtj|d�|j�y)Nc��eZdZe�Zy)�/TestGetattrStatic.test_inherited.<locals>.ThingNr�r$rrr�r�^r�rr�c��eZdZy)�4TestGetattrStatic.test_inherited.<locals>.OtherThingNr�r$rr�
OtherThingr�`r<rr�r�r�rCrQr�r)rWr�r��	somethings    r�test_inheritedz TestGetattrStatic.test_inherited]sD��	�F�	�	��	��L�	�����/�/�	�3�?����Irc���Gd�dt�}|d�}|jtj|d�d�|`|jtj|d�d�y)Nc��eZdZdZd�Zy)�3TestGetattrStatic.test_instance_attr.<locals>.Thingr/c��||_yrr��rWrs  rr�z<TestGetattrStatic.test_instance_attr.<locals>.Thing.__init__is	����rN)rNrcrdrr�r$rrr�rgs���A�
rr�rtrr/rr�s   r�test_instance_attrz$TestGetattrStatic.test_instance_attrfsX��	�F�	��a�������/�/��s�;�Q�?��G�����/�/��s�;�Q�?rc��Gd�dt�}|�}|jtj|d�|j�y)Nc��eZdZed��Zy)�.TestGetattrStatic.test_property.<locals>.Thingc��td���NzI'm pretending not to existrras rrz0TestGetattrStatic.test_property.<locals>.Thing.xrs��$�%B�C�CrN)rNrcrdrrr$rrr�rqs��
�
D��
Drr�rrr�s   rr:zTestGetattrStatic.test_propertyps:��	D�F�	D��������/�/��s�;�U�W�W�Erc���Gd�dt�}|��G�fd�dt�}|�}|jtj|d���y)Nc��eZdZd�Zy)�KTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.descriptorc��td��r
r)ros rrNzSTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.descriptor.__get__zs��$�%B�C�CrNrr$rr�
descriptorrys��
Drrc���eZdZW�Zy)�FTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.ThingN�rNrcrdr)�descs�rr�r}s����Arr�r)r�rCrQr�)rWrr�r�rs    @r�%test_descriptor_raises_AttributeErrorz7TestGetattrStatic.test_descriptor_raises_AttributeErrorxsJ���	D��	D��|��	�F�	��������/�/��s�;�T�Brc��Gd�dt�}|jtj|d�|j�y)Nc��eZdZe�Zy)�4TestGetattrStatic.test_classAttribute.<locals>.ThingNr�r$rrr�r�r�rr�rr�rWr�s  r�test_classAttributez%TestGetattrStatic.test_classAttribute�s1��	�F�	�	
����/�/��s�;�U�W�W�Erc��Gd�dt�}|jtj|d�|jd�y)Nc�>�eZdZejd��Ze�Zy)�;TestGetattrStatic.test_classVirtualAttribute.<locals>.Thingc��|jSr)�_xras rrz=TestGetattrStatic.test_classVirtualAttribute.<locals>.Thing.x�s���w�w�rN)rNrcrdr�rrr�r!r$rrr�r�s!��
�
(�
(�
�)�
���Brr�r)r�rCrQr�r&rs  r�test_classVirtualAttributez,TestGetattrStatic.test_classVirtualAttribute�s6��	�F�	�	
����/�/��s�;�U�^�^�C�=P�Qrc��Gd�dt�}Gd�d|�}|jtj|d�|j�y)Nc��eZdZe�Zy)�>TestGetattrStatic.test_inherited_classattribute.<locals>.ThingNr�r$rrr�r%�r�rr�c��eZdZy)�CTestGetattrStatic.test_inherited_classattribute.<locals>.OtherThingNr�r$rrr�r'�r<rr�rr�rWr�r�s   r�test_inherited_classattributez/TestGetattrStatic.test_inherited_classattribute�s=��	�F�	�	��	�	
����/�/�
�C�@�%�'�'�Jrc�@�Gd�dt�}|�}|jtj|d�|j�|jtj|d�d�|`|jtj|d�|j�y)Nc��eZdZdZdgZd�Zy)�+TestGetattrStatic.test_slots.<locals>.Thingr(rc��d|_y�Nr0r�ras rr�z4TestGetattrStatic.test_slots.<locals>.Thing.__init__��	����rN)rNrcrdrzrr�r$rrr�r,�s���A���I�
rr�rrzr(rr�s   r�
test_slotszTestGetattrStatic.test_slots�s{��	�F�	�
�������/�/��s�;�U�W�W�E�����/�/��s�;�U�C��G�����/�/��s�;�U�W�W�Erc�v�Gd�dt�}Gd�dt|��}|jtj|d�d�Gd�d	|�}Gd
�dt|��}|jtj|d�d�Gd�d
|�}|jtj|d�d�y)Nc��eZdZdZy)�.TestGetattrStatic.test_metaclass.<locals>.metar0N)rNrcrdrr$rr�metar3�s���Drr4c��eZdZy)�/TestGetattrStatic.test_metaclass.<locals>.ThingNr�r$rrr�r6�r<rr�r"rr0c��eZdZy)�-TestGetattrStatic.test_metaclass.<locals>.subNr�r$rr�subr8�r<rr9c��eZdZdZy)�4TestGetattrStatic.test_metaclass.<locals>.OtherThingrtNrr$rrr�r;�����Arr�c��eZdZy)�9TestGetattrStatic.test_metaclass.<locals>.OtherOtherThingNr�r$rr�OtherOtherThingr>�r<rr?rrt�r�r�rCrQr�)rWr4r�r9r�r?s      r�test_metaclassz TestGetattrStatic.test_metaclass�s���	�4�	�	�F�d�	�����/�/��v�>��F�	�$�	�	��3�	�����/�/�
�F�C�U�K�	�j�	�	
����/�/���E�q�Irc��|jtjddd�d�|jtjdd�d�y)Nr.r0�lower)rCrQr�rras r�test_no_dict_no_slotsz'TestGetattrStatic.test_no_dict_no_slots�s>������/�/��5�$�?��F����G�2�2�5�'�B�D�Irc���ttd��5}|jtj|d�t|�j�ddd�y#1swYyxYw)Nr�r�r()r�rgrCrQr�r�r()rW�handles  r�%test_no_dict_no_slots_instance_memberz7TestGetattrStatic.test_no_dict_no_slots_instance_member�sA��
�(�W�
-�����W�3�3�F�F�C�T�&�\�EV�EV�W�.�
-�
-�s�:A�Ac��Gd�dt�}Gd�d|�}|jtj|�d�|j�y)Nc��eZdZdgZd�Zy)�5TestGetattrStatic.test_inherited_slots.<locals>.Thingrc��d|_yr.r�ras rr�z>TestGetattrStatic.test_inherited_slots.<locals>.Thing.__init__�r/rN)rNrcrdrr�r$rrr�rJ�s����I�
rr�c��eZdZy)�:TestGetattrStatic.test_inherited_slots.<locals>.OtherThingNr�r$rrr�rM�r<rr�rrr(s   r�test_inherited_slotsz&TestGetattrStatic.test_inherited_slots�s?��	�F�	�
	��	�	
����/�/�
��c�B�E�G�G�Lrc���Gd�dt��G�fd�dt�}|�}d|jd<|jtj|d�d�d��_|jtj|d�|jd��`d��_|jtj|d�|jd�y)	Nc��eZdZd�Zy)�5TestGetattrStatic.test_descriptor.<locals>.descriptorc��yr[r$�rW�instance�owners   rrNz=TestGetattrStatic.test_descriptor.<locals>.descriptor.__get__����rNrr$rrrrQ����
rrc���eZdZW��Zy)�.TestGetattrStatic.test_descriptor.<locals>.FooN�rNrcrdr��rs�rr�rY��
�����Arr�r.r�c��yrr$)r�r7�vs   rr�z3TestGetattrStatic.test_descriptor.<locals>.<lambda>�s��Trc��yrr$)r�r7rs   rr�z3TestGetattrStatic.test_descriptor.<locals>.<lambda>����r)r�r&rCrQr�rRr')rWr�r0rs   @r�test_descriptorz!TestGetattrStatic.test_descriptor�s����	��	�	�&�	��e������S������/�/��S�9�1�=�2�
������/�/��S�9�3�<�<��;L�M��� 4�
������/�/��S�9�3�<�<��;L�Mrc����Gd�dt��G�fd�dt�}Gd�dt|��}|jtj|d�|j
d�y)	Nc��eZdZd�Zy)�DTestGetattrStatic.test_metaclass_with_descriptor.<locals>.descriptorc��yr[r$rSs   rrNzLTestGetattrStatic.test_metaclass_with_descriptor.<locals>.descriptor.__get__�rVrNrr$rrrrd�rWrrc���eZdZW��Zy)�>TestGetattrStatic.test_metaclass_with_descriptor.<locals>.metaNrZr[s�rr4rg�r\rr4c��eZdZy)�?TestGetattrStatic.test_metaclass_with_descriptor.<locals>.ThingNr�r$rrr�ri�r<rr�r"r�)r�r�rCrQr�r&)rWr4r�rs   @r�test_metaclass_with_descriptorz0TestGetattrStatic.test_metaclass_with_descriptor�sO���	��	�	�4�	�	�F�d�	�����/�/��s�;�T�]�]�3�=O�Prc��Gd�dt�}Gd�d|�}|�}|jtj|d�d�|j	|j
�|jtj|d�d�y)Nc��eZdZdZy)�6TestGetattrStatic.test_class_as_property.<locals>.BasertNrr$rr�Baserm�����Crrnc� �eZdZdZed��Zy)�;TestGetattrStatic.test_class_as_property.<locals>.SomethingFc��d|_tSr�)�executedr�ras rr:zETestGetattrStatic.test_class_as_property.<locals>.Something.__class__�s�� $��
��
rN)rNrcrdrsrr:r$rr�	Somethingrq�s���H�
�
��
rrtr0rt)r�rCrQr�rVrs)rWrnrtrTs    r�test_class_as_propertyz(TestGetattrStatic.test_class_as_property�sq��	�6�	�	��	��;������/�/��%�@�!�D�����*�*�+�����/�/�	�5�A�1�Erc��Gd�dt�}Gd�dt�}Gd�d||��}|jtj|�d�d	�|jtj|d�d	�y)
Nc��eZdZed��Zy)�4TestGetattrStatic.test_mro_as_property.<locals>.Metac��tfSrrlras r�__mro__z<TestGetattrStatic.test_mro_as_property.<locals>.Meta.__mro__	s
���y� rN)rNrcrdrrzr$rrr�rx	s��
�
!��
!rr�c��eZdZdZy)�4TestGetattrStatic.test_mro_as_property.<locals>.BasertNrr$rrrnr|	rorrnc��eZdZy)�9TestGetattrStatic.test_mro_as_property.<locals>.SomethingNr�r$rrrtr~	r<rrtr"r0rtr@)rWr�rnrts    r�test_mro_as_propertyz&TestGetattrStatic.test_mro_as_property�sf��	!�4�	!�
	�6�	�	���	�	
����/�/�	��U�C�Q�G�����/�/�	�5�A�1�Erc���|�d�_G�fd�dt�}|�}d|_|jt	j
|d�d�|j
�j�Gd�d|�}|�}d	|_|jt	j
|d�d�|j
�j�y)
NFc�&��eZdZdZe�fd��Zy)�4TestGetattrStatic.test_dict_as_property.<locals>.Foortc���d�_iSr���called�rWr�s �rr&z=TestGetattrStatic.test_dict_as_property.<locals>.Foo.__dict__	����"����	rN�rNrcrdr'rr&�r�s�rr�r�	�����A�
�
��
rr�rVr'rtc��eZdZy)�4TestGetattrStatic.test_dict_as_property.<locals>.BarNr�r$rrr�r�	r�rr�r()r�rr'rCrQr�rV)rWr�r0r�r(r�s     @r�test_dict_as_propertyz'TestGetattrStatic.test_dict_as_property	s���������	�$�	��e���������/�/��S�9�1�=�������%��#���e���������/�/��S�9�1�=�������%rc�Z��|�d�_G�fd�dt�}Gd�dt�}Gd�d|�}|�}|jtj|d�d	�|f|_|jtj|d�d
�|j
�j�y)NFc�&��eZdZdZe�fd��Zy)�/TestGetattrStatic.test_mutated_mro.<locals>.Foortc���d�_iSr�r�r�s �rr&z8TestGetattrStatic.test_mutated_mro.<locals>.Foo.__dict__+	r�rNr�r�s�rr�r�)	r�rr�c��eZdZdZy)�/TestGetattrStatic.test_mutated_mro.<locals>.BarrVN�rNrcrdr'r$rrr�r�0	r<rr�c��eZdZy)�/TestGetattrStatic.test_mutated_mro.<locals>.BazNr�r$rr�Bazr�3	r�rr�r'rVrt)r�rrCrQr��	__bases__rV)rWr�r�r��bazr�s     @r�test_mutated_mroz"TestGetattrStatic.test_mutated_mro%	s���������	�$�	�	�$�	�	�#���e������/�/��S�9�1�=����
�����/�/��S�9�1�=�������%rc���|�d�_G�fd�dt�}Gd�dt�}|�}|�|_|j	tj|d�d�|j�j�y)NFc�$���eZdZd��fd�	Z�xZS)�9TestGetattrStatic.test_custom_object_dict.<locals>.Customc�4��d�_t�|�	||�yr�)r�r8�get)rW�keyr�r:r�s   ��rr�z=TestGetattrStatic.test_custom_object_dict.<locals>.Custom.get@	s���"������C��)rr)rNrcrdr�rB)r:r�s@�r�Customr�?	s
���
*�
*rr�c��eZdZdZy)�6TestGetattrStatic.test_custom_object_dict.<locals>.FoortNr�r$rrr�r�D	r<rr�r'rt)r�rr�r&rCrQr�rV)rWr�r�r0r�s    @r�test_custom_object_dictz)TestGetattrStatic.test_custom_object_dict;	sf��������	*�T�	*�
	�&�	��e���x�������/�/��S�9�1�=�������%rc���Gd�dt�}Gd�d|��}|�}|jtj|d�d�|j	|j
�y)Nc��eZdZed��Zy)�?TestGetattrStatic.test_metaclass_dict_as_property.<locals>.Metac��d|_yr�)rsras rr&zHTestGetattrStatic.test_metaclass_dict_as_property.<locals>.Meta.__dict__M	s	�� $��
rN�rNrcrdrr&r$rrr�r�L	rrr�c��eZdZdZd�Zy)�@TestGetattrStatic.test_metaclass_dict_as_property.<locals>.ThingFc��d|_y�Nr��rzras rr�zITestGetattrStatic.test_metaclass_dict_as_property.<locals>.Thing.__init__T	s	����	rN)rNrcrdrsr�r$rrr�r�Q	s���H�
rr�r"rzr�)r�rCrQr�rVrs)rWr�r�rTs    r�test_metaclass_dict_as_propertyz1TestGetattrStatic.test_metaclass_dict_as_propertyK	sR��	%�4�	%�
	�d�	��7������/�/��&�A�2�F�������(rc�n�t�}|jtjtd|�|�y)N�version)r�r�rQr�r�)rW�sentinels  r�test_modulezTestGetattrStatic.test_module[	s+���8������/�/��Y��I�!�	#rc��Gd�dt�}Gd�dt|��}Gd�d|��}|jt�5tj|d�ddd�|j|j�y#1swY�%xYw)	Nc��eZdZed��Zy)�WTestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaMetac�(�d|_td��S)NTr�r�)rsrras rr&z`TestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaMeta.__dict__b	s�� $��
���}�$rNr�r$rr�MetaMetar�a	s��
�
%��
%rr�c��eZdZdZy)�STestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaFN)rNrcrdrsr$rrr�r�g	s���Hrr�r"c��eZdZy)�TTestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.ThingNr�r$rrr�r�j	r<rr�rz)r�r�rrQr�rVrs)rWr�r�r�s    r�3test_metaclass_with_metaclass_with_dict_as_propertyzETestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property`	sh��	%�t�	%�	�4�8�	�	�d�	��
�
�~�
.��"�"�5�&�1�/�������(�/�
.�s�A=�=Bc����|�d�_G�fd�d�}|jt�5tj|�d�ddd�|j�j�y#1swY�%xYw)NFc���eZdZ�fd�Zy)�6TestGetattrStatic.test_custom___getattr__.<locals>.Fooc���d�_iSr�r��rWrr�s  �rrzBTestGetattrStatic.test_custom___getattr__.<locals>.Foo.__getattr__v	����"����	rNrr�s�rr�r�u	����
rr��whatever�r�r�rrQr�rV�rWr�r�s  @r�test_custom___getattr__z)TestGetattrStatic.test_custom___getattr__q	s]��������	�	�
�
�
�~�
.��"�"�3�5�*�5�/�	
������%�/�
.���A,�,A5c����|�d�_G�fd�d�}|jt�5tj|�d�ddd�|j�j�y#1swY�%xYw)NFc���eZdZ�fd�Zy)�;TestGetattrStatic.test_custom___getattribute__.<locals>.Fooc���d�_iSr�r�r�s  �r�__getattribute__zLTestGetattrStatic.test_custom___getattribute__.<locals>.Foo.__getattribute__�	r�rN)rNrcrdr�r�s�rr�r��	r�rr��really_could_be_anythingr�r�s  @r�test_custom___getattribute__z.TestGetattrStatic.test_custom___getattribute__	s^��������	�	�
�
�
�~�
.��"�"�3�5�*D�E�/�	
������%�/�
.�r�c���Gd�d�}|�|_tj|�}tj|jdd�~tj�|j|��y)Nc��eZdZy)�KTestGetattrStatic.test_cache_does_not_cause_classes_to_persist.<locals>.FooNr�r$rrr�r��	r�rr�r��
irrelevant)rT�weakref�refrQr��gc�collectr�)rWr��weakref_to_classs   r�,test_cache_does_not_cause_classes_to_persistz>TestGetattrStatic.test_cache_does_not_cause_classes_to_persist�	sU��	���u���"�;�;�s�+�����s�|�|�Z��F��
�
�
�����*�,�-rN)rNrcrdr�rrr:rrr"r)r0rArDrGrNrarjrurr�r�r�r�r�r�r�r�r�r$rrr�r�Os���
C�J�@�F�C�F�R�K�F�J�$J�X�
M�N�,Q�F� 
F�&�.&�,&� )� #�
)�"&�&�
.rr�c�T�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�TestGetGeneratorStatec�"�d�}|�|_y)Nc3�4K�td�D]}|���y�w�Nr(rr��numbers r�number_generatorz5TestGetGeneratorState.setUp.<locals>.number_generator�	s������(����#�ru)�	generator)rWr�s  rr�zTestGetGeneratorState.setUp�	s��	�*�+��rc�@�tj|j�Sr)rQ�getgeneratorstater�ras r�_generatorstatez%TestGetGeneratorState._generatorstate�	����(�(����8�8rc�`�|j|j�tj�yr)rCr�rQ�GEN_CREATEDras r�test_createdz"TestGetGeneratorState.test_created�	s!������-�-�/��1D�1D�Erc��t|j�|j|j�tj
�yr)�nextr�rCr�rQ�
GEN_SUSPENDEDras r�test_suspendedz$TestGetGeneratorState.test_suspended�	s-���T�^�^������-�-�/��1F�1F�Grc��|jD]}�|j|j�tj�yr)r�rCr�rQ�
GEN_CLOSEDrss  r�test_closed_after_exhaustionz2TestGetGeneratorState.test_closed_after_exhaustion�	s2�����A�� �����-�-�/��1C�1C�Drc���|jt�5|jjt�ddd�|j	|j�tj�y#1swY�8xYwr)r�rQr�r?rCr�rQr�ras r�%test_closed_after_immediate_exceptionz;TestGetGeneratorState.test_closed_after_immediate_exception�	sO��
�
�
�|�
,��N�N� � ��.�-�����-�-�/��1C�1C�D�-�
,��� A-�-A6c��|jj�|j|j�tj
�yr)r�r�rCr�rQr�ras r�test_closed_after_closez-TestGetGeneratorState.test_closed_after_close�	s1������������-�-�/��1C�1C�Drc�|���fd�}|��_t�j�t�j�y)Nc3���K�td�D]b}�j�j�tj�|���j�j�tj��dy�wr�)r1rCr�rQ�GEN_RUNNING�r�rWs �r�running_check_generatorzCTestGetGeneratorState.test_running.<locals>.running_check_generator�	sX�������(��� � ��!5�!5�!7��9L�9L�M���� � ��!5�!5�!7��9L�9L�M�#�s�A2A5)r�r�)rWr�s` r�test_runningz"TestGetGeneratorState.test_running�	s-���
	N�
1�2����T�^�^���T�^�^�rc��dj�}|D]H}tt|�}|j|t	|��|j|t|���Jy)Nz0GEN_CREATED GEN_RUNNING GEN_SUSPENDED GEN_CLOSED�r�r�rQr�reprr��rW�namesr(�states    r�test_easy_debuggingz)TestGetGeneratorState.test_easy_debugging�	sJ��B�H�H�J���D��G�T�*�E��M�M�$��U��,��M�M�$��E�
�+�rc	�@�d
d�}|gd��}|jtj|�dgd�d��t|�|jtj|�dgd�ddd��t|�|jtj|�dgd�ddd��t|�|jtj|�dgd�dddd	��	t|�|jtj|�i�y#t$rY�1wxYw)Nc3�4K�d}|D]
}|dk(rd}|���y�w�Nr�rtrZr$��lstr'r
r^rs     r�eachz;TestGetGeneratorState.test_getgeneratorlocals.<locals>.each�	s&�����A�����6��A����rur��r'rr.�r'rr^r
r/rtrZ�r'rr^r
rr�rCrQ�getgeneratorlocalsr��
StopIteration�rWr	�numberss   r�test_getgeneratorlocalsz-TestGetGeneratorState.test_getgeneratorlocals�	s��	��y�/������3�3�G�<�#�I�6�	8��W�
�����3�3�G�<�#�I�A�(�*�	+�	
�W�
�����3�3�G�<�#�I�A�(�*�	+�	
�W�
�����3�3�G�<�#�I�A�(�r�3�	4�	���M�	
����3�3�G�<�b�A���	��	�s� D�	D�Dc���d�}|�}|jtj|�i�	t|�|jtj|�i�y#t$rY�1wxYw)Nc3�K�d��y�wrCr$r$rr�	yield_onezFTestGetGeneratorState.test_getgeneratorlocals_empty.<locals>.yield_one�	s�����G�rr
�rWrr6s   r�test_getgeneratorlocals_emptyz3TestGetGeneratorState.test_getgeneratorlocals_empty�	sf��	��k������3�3�C�8�"�=�	���I�	
����3�3�C�8�"�=���	��	�s�A"�"	A.�-A.c�6�|jttjd�|jttjd��|jttjt�|jttjd�y)Nr.c��yr�r$r�s rr�zETestGetGeneratorState.test_getgeneratorlocals_error.<locals>.<lambda>�	s��4r�r/rt)r�r�rQrrPras r�test_getgeneratorlocals_errorz3TestGetGeneratorState.test_getgeneratorlocals_error�	sb�����)�W�%?�%?��C����)�W�%?�%?��P����)�W�%?�%?��E����)�W�%?�%?��GrN)rNrcrdr�r�r�r�r�r�r�r�rrrrr$rrr�r��	sE��,�9�F�H�E�
E�
E�� ,�B�:	>�Hrr�c�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestGetCoroutineStatec�T��tjd����fd�}|�|_y)Nc3�4K�td�D]}|���y�wr�rrr�s r�number_coroutinez5TestGetCoroutineState.setUp.<locals>.number_coroutine
s������(����#�ruc��0�K����d{���y7��wrr$)r s�r�	coroutinez.TestGetCoroutineState.setUp.<locals>.coroutine
s�����"�$�$�$�s���)r�r")rWr"r s  @rr�zTestGetCoroutineState.setUp
s'���	���	�
�	�	%�"���rc�8�|jj�yr)r"r�ras rr>zTestGetCoroutineState.tearDown
s�������rc�@�tj|j�Sr)rQ�getcoroutinestater"ras r�_coroutinestatez%TestGetCoroutineState._coroutinestate
r�rc�`�|j|j�tj�yr)rCr&rQ�CORO_CREATEDras rr�z"TestGetCoroutineState.test_created
s!������-�-�/��1E�1E�Frc��|jjd�|j|j�tj
�yr)r"�sendrCr&rQ�CORO_SUSPENDEDras rr�z$TestGetCoroutineState.test_suspended
s3�������D�!�����-�-�/��1G�1G�Hrc��		|jjd��#t$rYnwxYw|j|j	�t
j�yr)r"r*rrCr&rQ�CORO_CLOSEDras rr�z2TestGetCoroutineState.test_closed_after_exhaustion
sV���
����#�#�D�)���!�
��
��	
����-�-�/��1D�1D�Es��	+�+c���|jt�5|jjt�ddd�|j	|j�tj�y#1swY�8xYwr)r�rQr"r?rCr&rQr-ras rr�z;TestGetCoroutineState.test_closed_after_immediate_exception%
sO��
�
�
�|�
,��N�N� � ��.�-�����-�-�/��1D�1D�E�-�
,�r�c��|jj�|j|j�tj
�yr)r"r�rCr&rQr-ras rr�z-TestGetCoroutineState.test_closed_after_close*
s1������������-�-�/��1D�1D�Erc��dj�}|D]H}tt|�}|j|t	|��|j|t|���Jy)Nz4CORO_CREATED CORO_RUNNING CORO_SUSPENDED CORO_CLOSEDr�rs    rrz)TestGetCoroutineState.test_easy_debugging.
�J��F�L�L�N���D��G�T�*�E��M�M�$��U��,��M�M�$��E�
�+�rc���tjd������d�fd�	}|�}|jtj|�d�d��|jd�|jtj|�d�dd��y)Nc3�K�d��y�wrr$r$rr�gencoroz>TestGetCoroutineState.test_getcoroutinelocals.<locals>.gencoro7
s	�����rc��*�K�d}��d{���y7��wryr$)r'r
r4s  �rr�z;TestGetCoroutineState.test_getcoroutinelocals.<locals>.func<
s������A��M�M�s���)r'r4rz)r'r4r
r)r�r"rCrQ�getcoroutinelocalsr*)rWr�r�r4s   @r�test_getcoroutinelocalsz-TestGetCoroutineState.test_getcoroutinelocals6
s����	���	�
�	��)��	��v������3�3�D�9�#��8�	:��	�	�$������3�3�D�9�#��f�E�	GrN)
rNrcrdr�r>r&r�r�r�r�r�rr7r$rrrr
s:��%��9�G�I�F�F�
F�,�Grrc�T�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�TestGetAsyncGenStatec�"�d�}|�|_y)Nc�6K�td�D]}|����	y�wr�rrr�s r�number_asyncgenz3TestGetAsyncGenState.setUp.<locals>.number_asyncgenL
s������(����#���)�asyncgen)rWr<s  rr�zTestGetAsyncGenState.setUpK
s��	�(�)��
rc��TK�|jj��d{���y7��wr)r>�acloseras r�
asyncTearDownz"TestGetAsyncGenState.asyncTearDownQ
s�����m�m�"�"�$�$�$�s�(�&�(c�@�tj|j�Sr)rQ�getasyncgenstater>ras r�_asyncgenstatez#TestGetAsyncGenState._asyncgenstateT
s���'�'��
�
�6�6rc�`�|j|j�tj�yr)rCrDrQ�AGEN_CREATEDras rr�z!TestGetAsyncGenState.test_createdW
s!������,�,�.��0D�0D�Erc���K�t|j��d{���}|j|j�tj
�|j|d�y7�E�wr�)�anextr>rCrDrQ�AGEN_SUSPENDED�rWrs  rr�z#TestGetAsyncGenState.test_suspendedZ
sK�����D�M�M�*�*������,�,�.��0F�0F�G������"�+�s�A#�A!�AA#c��@K�d}|jt�5|dz
x}r%t|j��d{���|dz
x}r�%ddd�|j	|d�|j	|j�tj�y7�U#1swY�LxYw�w)NrIr.)r��StopAsyncIterationrHr>rCrDrQ�AGEN_CLOSED)rW�	countdowns  rr�z1TestGetAsyncGenState.test_closed_after_exhaustion_
s������	�
�
�
�1�
2�(�1�}�,�)�,��D�M�M�*�*�*� )�1�}�,�)�,�3�	
����A�&�����,�,�.��0C�0C�D�+��3�
2�s-�B� B�B�B�A	B�B�B�Bc��K�|jt�5|jjt��d{���ddd�|j	|j�tj�y7�;#1swY�:xYw�wr)r�rQr>�athrowrCrDrQrMras rr�z:TestGetAsyncGenState.test_closed_after_immediate_exceptiong
s^����
�
�
�|�
,��-�-�&�&�|�4�4�4�-�����,�,�.��0C�0C�D�
5��-�
,�s,�B�#A9�A7�A9�7B�7A9�9B�>Bc��d�K��fd�}|��_t�j��d{����j�j�tj
�t�j��d{����j�j�tj
�y7�~7�5�w)Nc���K�td�D]c}�j�j�tj�|����j�j�tj��ey�wr�)r1rCrDrQ�AGEN_RUNNINGr�s �r�running_check_asyncgenzATestGetAsyncGenState.test_running.<locals>.running_check_asyncgenm
sX�������(��� � ��!4�!4�!6��8L�8L�M���� � ��!4�!4�!6��8L�8L�M�#�s�A3A6)r>rHrCrDrQrI)rWrTs` rr�z!TestGetAsyncGenState.test_runningl
s������	N�
/�0��
��D�M�M�"�"�"�����,�,�.��0F�0F�G��D�M�M�"�"�"�����,�,�.��0F�0F�G�		#��	#�s"�*B0�B,�A
B0�8B.�94B0�.B0c��dj�}|D]H}tt|�}|j|t	|��|j|t|���Jy)Nz4AGEN_CREATED AGEN_RUNNING AGEN_SUSPENDED AGEN_CLOSEDr�rs    rrz(TestGetAsyncGenState.test_easy_debuggingz
r1rc	���K�d
d�}|gd��}|jtj|�dgd�d��t|��d{���|jtj|�dgd�ddd��t|��d{���|jtj|�dgd�ddd��t|��d{���|jtj|�dgd�dddd	��|j	t
�5t|��d{���ddd�|jtj|�i�y7��7��7��7�9#1swY�8xYw�w)Nc�6K�d}|D]}|dk(rd}|����y�wrr$rs     rr	z9TestGetAsyncGenState.test_getasyncgenlocals.<locals>.each�
s&�����A�����6��A����r=r�r
r.rr/rtrZrr�rCrQ�getasyncgenlocalsrHr�rLrs   r�test_getasyncgenlocalsz+TestGetAsyncGenState.test_getasyncgenlocals�
sB����	��y�/������2�2�7�;�#�I�6�	8��G�n�������2�2�7�;�#�I�A�(�*�	+��G�n�������2�2�7�;�#�I�A�(�*�	+��G�n�������2�2�7�;�#�I�A�(�r�3�	4��
�
�1�
2���.� � �3�����2�2�7�;�R�@�	��	��	��

!��3�
2�sa�AE%�	E�
>E%�E�	>E%�E�AE%�E�E�E�"/E%�E%�E%�E�E"�E%c��K�d�}|�}|jtj|�i�t|��d{���|jtj|�i�|j	t
�5t|��d{���ddd�|jtj|�i�y7��7�4#1swY�3xYw�w)Nc�K�d���y�wrCr$r$rrrzDTestGetAsyncGenState.test_getasyncgenlocals_empty.<locals>.yield_one�
s�����G�s�	rXrs   r�test_getasyncgenlocals_emptyz1TestGetAsyncGenState.test_getasyncgenlocals_empty�
s�����	��k������2�2�3�7��<��C�j�������2�2�3�7��<�
�
�
�1�
2���*���3�����2�2�3�7��<�		��
��3�
2�s;�>C�C�>C�?C�C�C�/C�C�C�
Cc�6�|jttjd�|jttjd��|jttjt�|jttjd�y)Nr.c��yr�r$r�s rr�zCTestGetAsyncGenState.test_getasyncgenlocals_error.<locals>.<lambda>�
s��$rr)r�r�rQrYrPras r�test_getasyncgenlocals_errorz1TestGetAsyncGenState.test_getasyncgenlocals_error�
sb�����)�W�%>�%>��B����)�W�%>�%>��O����)�W�%>�%>��D����)�W�%>�%>��FrN)rNrcrdr�rArDr�r�r�r�r�rrZr]r`r$rrr9r9H
sD��*�%�7�F�#�
E�E�
H�,�A�6	=�Grr9c��eZdZy)�MySignatureNr�r$rrrbrb�
���	rrbc��eZdZy)�MyParameterNr�r$rrrere�
rcrrec��eZdZed��Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Ze
ejed
�d���Ze
ejed
�d���Ze
d
��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#ejed
�d��Z$ejed
�d��Z%d �Z&d!�Z'd"�Z(d#�Z)d$�Z*d%�Z+d&�Z,d'�Z-d(�Z.d)�Z/d*�Z0d+�Z1d,�Z2ejed
�d-��Z3ejed
�d.��Z4d/�Z5d0�Z6d1�Z7d2�Z8d3�Z9d4�Z:d5�Z;d6�Z<d7�Z=y8)9�TestSignatureObjectc���tj|fi|��}td�|jj	�D��|j
|jurdfS|j
fS)Nc3�K�|]}}|j|j|jurdn|j|j|jurdn|jt	|j
�j
�f���y�w).N)r(r��empty�
annotationr�r�rC)�.0r�s  r�	<genexpr>z0TestSignatureObject.signature.<locals>.<genexpr>�
sq����J�
2I���z�z�$�}�}����;�����$�/�/�5�;�;�>��=B�=M�=M��5�:�:��,�,�.�	0�
2I�s�BB.)rQr��tupler6r��return_annotationrj)r��kw�sigs   rr�zTestSignatureObject.signature�
sw������+��+���J�
25���1F�1F�1H�J�J��-�-����:��
I�	I�25�1F�1F�I�	Irc��tj}tj}|jt	|��d�|jt|�j�d�ddd�d�}tj|�}|jt|�jd��|jdt|�v�dd�}tj|�}|jt|�jd��|jd	t|�v�|jd
}|jd}|jd}	|jd
}
|jd}|jd}|jd}
|jd}|||	|||f�|||	||
f�||||f�||||
f�||||
f�|||
f�||||
|f�||
|f�||
||f�|||
|f�|jtd�5||	||||f�ddd�|jtd�5||||	||f�ddd�|jtd�5||||	||f�ddd�|jtd�5|||	|||f�ddd�|jd��}|jtd�5|||	|||f�ddd�|jtd�5|||f�ddd�|jtd�5|||	f�ddd�|jtd�5||||	f�ddd�|jtd�5|||
|	f�ddd�|jtd�5||
|	f�ddd�y#1swY���xYw#1swY��}xYw#1swY��^xYw#1swY��?xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)N�()zmappingproxy(OrderedDict())rO)�kodc��yrr$)�po�pk�pkd�kortrrNs       rr�z7TestSignatureObject.test_signature_object.<locals>.test�
r�rz
<Signaturez
(po, /, pkc��yrr$)�pods r�test2z8TestSignatureObject.test_signature_object.<locals>.test2�
r�rz(pod=42, /)rvr{rwrxrryrtrNzwrong parameter order�r(zduplicate parameter namezfollows default argument)�d)r�)
rQr�r�rCr�r�r6r�rMrr�r��replace)rW�S�Pr�rqr|�sig2rvr{rwrxrryrtrN�kwargs2s                r�test_signature_objectz)TestSignatureObject.test_signature_object�
s���������������Q�S��4�(�����a�c�n�n�-�/L�M�	�B�	�����%������S�	�,�,�\�:�;������S�	�1�2�	�� � ��'������T�
�-�-�l�;�<����
��d��3�4�
�^�^�D�
!���o�o�e�$��
�^�^�D�
!���n�n�U�#���~�~�f�%��
�^�^�D�
!���n�n�U�#������)��	�2�r�4��V�
$�%�	�2�r�2�s�
��	�2�s�B�-��	�2�s�C�.��	�3��C�.��	�3��*�
�	�3��c�6�
"�#�	
�3��)��	�3��F�
��	�4��b�/��
�
#�
#�J�0G�
H�
�r�2�t�R��(�)�I��
#�
#�J�0G�
H�
�r�4��R��(�)�I��
#�
#�J�0G�
H�
�t�R��R��(�)�I��
#�
#�J�0G�
H�
�r�2�t�V�R�(�)�I��.�.�f�.�-��
�
#�
#�J�0J�
K�
�r�2�t�W�b�)�*�L��
#�
#�J�0J�
K�
�s�B�i�L�L��
#�
#�J�0J�
K�
�s�B�i�L�L��
#�
#�J�0J�
K�
�r�3��m��L��
#�
#�J�0J�
K�
�r�3��m��L��
#�
#�J�0J�
K�
�s�B�i�L�L�
K�9I�
H��I�
H��I�
H��I�
H��L�
K��L�
K��L�
K��L�
K��L�
K��L�
K�sx�(O�O�O*�,O7�*P�P�?P�(P)�P5�<Q�O�O'�*O4�7P�P�P�P&�)P2�5P>�Q
c���id�dddddifd�}tj|d��}tj|�}t	t
jdz�D]Y}|j|d	�
�5tjtj||��}|j||�ddd��[tj|�}tdtjj��}tj|j |��}t#�j%|j'�|j(�
�}|j+t-|t"��|j+t-|j dt��t	t
jdz�D]�}|j|d�
�5tjtj||��}|j||�|j+t-|t"��|j+t-|j dt��ddd���y#1swY��xYw#1swY��xYw)N�rrr.r�r�r�c��yrr$�r'r
rrps    rr0z=TestSignatureObject.test_signature_object_pickle.<locals>.foo���drr�F)�
pickle_ver�subclassr-)r(r�)r6roT)r�r�rQr�r1�pickle�HIGHEST_PROTOCOL�subTest�loads�dumpsrCrer�r��collections�OrderedDictr6rbrr�rorMr�)	rWr0�foo_partialrq�ver�sig_pickled�myparam�myparams�mysigs	         r�test_signature_object_picklez0TestSignatureObject.test_signature_object_pickles����:�1�:�2�e�*�:��'�'��q�1������,����0�0�1�4�5�C�����u��=�$�l�l�6�<�<��S�+A�B��� � ��k�2�>�=�6�����$���3�W�->�->�-N�-N�O���*�*�3�>�>�W�E���
�%�%����1B�8;�8M�8M�&�O�����
�5�+�6�7����
�5�#3�#3�C�#8�+�F�G���0�0�1�4�5�C�����t��<�$�l�l�6�<�<��s�+C�D��� � ���4����
�;�� D�E����
�;�+A�+A�#�+F�+6�!8�9�	=�<�6�>�=��=�<�s�,<I�=BI�I	�I%	c��d�}tj|�}|jt�5d|_ddd�|jt
�5d|jd<ddd�y#1swY�7xYw#1swYyxYw)Nc��yrr$r�s rr�z=TestSignatureObject.test_signature_immutability.<locals>.test1r�rr(r')rQr�r�rr0r�r6�rWr�rqs   r�test_signature_immutabilityz/TestSignatureObject.test_signature_immutability0si��	�����%��
�
�
�~�
.��C�G�/��
�
�y�
)�"&�C�N�N�3��*�
)�/�
.��*�
)�s�A,�A8�,A5�8Bc�L�d�}|j|j|�d�y)Nc��yrr$r$rrr�z9TestSignatureObject.test_signature_on_noarg.<locals>.test<r�r�r$.�rCr�r�s  r�test_signature_on_noargz+TestSignatureObject.test_signature_on_noarg;s ��	��������-�y�9rc�N�dd�}|j|j|�d�y)Nc��yrr$rs  rr�z9TestSignatureObject.test_signature_on_wargs.<locals>.testAr�r))�r'..�positional_or_keyword)r
.r0r�r�)r
r0r�r�r�r�s  r�test_signature_on_wargsz+TestSignatureObject.test_signature_on_wargs@s%��	��������-��	 rc��dtdtdtfd�}|j|j	|�ddtdfddtdfftf�y)Nr'r
r�c��yrr$rs  rr�z;TestSignatureObject.test_signature_on_wkwonly.<locals>.testIr�r.�keyword_only)�floatr�r�rCr�r�s  r�test_signature_on_wkwonlyz-TestSignatureObject.test_signature_on_wkwonlyHsZ��	�e�	�s�	�s�	��������-���e�^�<���c�>�:�<�� �	!rc��ddd�ddddddd	tfd
�}|j|j|�ddd
ddd	dtdffdf�y)Nr�)r�r
r0rr(rzr�rNc��yrr$)r'r
rzr�rrNs      rr�z@TestSignatureObject.test_signature_on_complex_args.<locals>.testQr�rr�)r
rOr0r�)r.r(�var_positional)rz.r�r�)r�r�.r�.�var_keyword�rO)r�rCr�r�s  r�test_signature_on_complex_argsz2TestSignatureObject.test_signature_on_complex_argsPsn��	�S�	�e�	�e�	�%�	�3�	��������-�C�D�A�?�<�$�c�3�
�>�@��
�	 rc�
���d��d��G��fd�d�}|j|j��d�|j|j��d�|j|j|j�d�|j|j|j�d�|j|j|j�d�|j|j|j
�d�y)Nc��yrr$rMs r�test_args_onlyzGTestSignatureObject.test_signature_without_self.<locals>.test_args_only]r�rc��yrr$�rrNs  r�test_args_kwargs_onlyzNTestSignatureObject.test_signature_without_self.<locals>.test_args_kwargs_only`r�rc����eZdZed��Zed��Zejed�Z	ejW�d�Z
ejed�ZejW�d�Zy)�:TestSignatureObject.test_signature_without_self.<locals>.Ac��yrr$rMs r�test_classmethodzKTestSignatureObject.test_signature_without_self.<locals>.A.test_classmethoddr�rc��yrr$rMs r�test_staticmethodzLTestSignatureObject.test_signature_without_self.<locals>.A.test_staticmethodhr�rr.N)
rNrcrdr�r�r�r�r��
partialmethodr�r�r�r�)r�r�s��rr�r�cs~���
�
��
��
��
�)��(�(�*:�Q�?�B�(��(�(�.�1�=�B�(��(�(�*;�a�@�B�(��(�(�*?��C�Brr��)�r..r�.�)r��rN..r�.)rCr�r�r�r�r�)rWr�r�r�s  @@r�test_signature_without_selfz/TestSignatureObject.test_signature_without_self\s����	�	�	D�	D�	
�������7�G�	I�������(=�>�F�	G�	
���������-�G�	I����������-�G�	I����������-�G�	I����������-�G�	Hrr�c���	�ddl}�fd�}�fd�}||j��	�	fd�}�j|d�d��j|d�d��j|d	�d
��j|d�d��j|d
�d��j|d�d��j|d�d��j|d�d��j|d�tj��j|d�tjdz
�|t
�|tjj�t
jtj��}||j�|tj�|dj�|tj�|ij�|tj �|t"j$�|dj$�|t&j �Gd�d�}�j|�d�t"��j|�ddi�j(d��j+t,d�5||��ddd�|tj.�|t0j2�||j4�t6j8}||�}�jt;|j<�ddg�y#1swY��xYw)Nrc���	tj|�}�jt|tj���jt
|jj��djd�|S�NrrW)
rQr�rMr�r�rCr�r6r�r(�rr�rWs  �r�test_unbound_methodzKTestSignatureObject.test_signature_on_builtins.<locals>.test_unbound_method�sd���S��)�)�!�,�I��O�O�J�y�'�2C�2C�D�E����T�)�"6�"6�"=�"=�"?�@��C�H�H�&�Q��rc���	tj|�}�jt|tj��|j
r@�j
t|j
j��djd�|Sr�)
rQr�rMr�r�r6rr�r�r(r�s  �r�
test_callablezETestSignatureObject.test_signature_on_builtins.<locals>.test_callable�sn���d��)�)�!�,�I��O�O�J�y�'�2C�2C�D�E��#�#��#�#�D��)=�)=�)D�)D�)F�$G��$J�$O�$O�QW�X��rc�6���j|jSr)r6r�)r(r�s �rr8z9TestSignatureObject.test_signature_on_builtins.<locals>.p�s���I�0�0��6�>�>�>rr�r�r
sbytesr�g��Q�	@r7�#�nr]Tr�F�localrtr�rYr.sabcc��eZdZeZy)�DTestSignatureObject.test_signature_on_builtins.<locals>.ThisWorksNowN)rNrcrdr�r�r$rr�ThisWorksNowr��s���Hrr�r�r$zno signature foundrW�buffer)r�r�rCr��maxsizer�r�r�r�r��StringIOr��	maketransr�fromkeysr�r�r�r��minrNr�r��__delitem__rr'�#docstring_with_signature_but_no_doc�	bytearray�__release_buffer__r�r6)
rWr�r�r�r8r�r�r�rqr�s
`        @r�test_signature_on_builtinsz.TestSignatureObject.test_signature_on_builtinssw���	�	�	�"�)�"R�"R�S�	�>�����3���+�����3���*�����3���&�����3���$�����3���&�����3���&�����3���'�����7��Q�'�����5��3�;�;�/�����5��3�;�;��?�3��f��	�G�O�O�0�0�1��O�O�B�K�K�M�*���a�f�f��	�e�o�o�&��f�&�&�'�	�d�m�m�$��b�k�k�"�	�D�M�M�*��C�K�K�(��q�k�k�"�	�c�l�l�#�	�	�	
�������*�C�0��������R��4�=�=�s�C�
�
#�
#�J�0D�
E��,�.�)�F�	�D�,�,�-��H�/�/�0�	�i�C�C�D��-�-��!�&�)������c�n�n�-���/A�B�F�
E�s�*L>�>Mc�2�ddl}|j}d�}||�}|jtj|�tj|��dt
fd�}|jtj|d��tj|��y)Nrc�P��tj��dtf�fd��}|S)Nr�c����|i|��Srr$�rrNr�s  �rr�z\TestSignatureObject.test_signature_on_decorated_builtins.<locals>.decorator.<locals>.wrapper������T�,�V�,�,r�r�r�r��r�r�s` r�	decoratorzKTestSignatureObject.test_signature_on_decorated_builtins.<locals>.decorator��*���
�_�_�T�
"�
-�C�
-�#�
-��Nrr�c��yrr$r�s  r�wrapper_likezNTestSignatureObject.test_signature_on_decorated_builtins.<locals>.wrapper_like�s��$rF��follow_wrapped)r�r�rCrQr�r�)rWr�r�r��decorated_funcr�s      r�$test_signature_on_decorated_builtinsz8TestSignatureObject.test_signature_on_decorated_builtins�s���	��?�?��	�#�4�������*�*�4�0� �*�*�>�:�	<�	7�S�6�����*�*�>�:?�A� �*�*�<�8�	:rc�(�ddl}|jtd�5tj|j
�ddd�|jtd�5tjt�ddd�y#1swY�BxYw#1swYyxYw)Nrzno signature found for builtin)r�r�r�rQr�r�r�)rWr�s  r�'test_signature_on_builtins_no_signaturez;TestSignatureObject.test_signature_on_builtins_no_signature�s}���
�
#�
#�J�$D�F����i�>�>�?�F��
#�
#�J�$D�F����c�"�F�F�	F�F��F�F�s� A<�B�<B�Bc��|jtd�5tjd�ddd�y#1swYyxYw)N�is not a callable objectr�)r�r�rQr�ras r�test_signature_on_non_functionz2TestSignatureObject.test_signature_on_non_function�s.��
�
#�
#�I�/I�
J����b�!�K�
J�
J�s�6�?c���dd�d�}Gd�d�}tjj|�}tjj||��}|j||�tj||��}|j||�||�}|`|j|j	|�d�tj��fd�}tjjd|�5||�}|jtj|��d|_|jtj|��|jtj|�|�ddd�y#1swYyxYw)	NT��kwonlyc��yrr$�r'r
r��	kwonlyreqrrNs      rr�zITestSignatureObject.test_signature_from_functionlike_object.<locals>.func�r�rc��eZdZd�Zd�Zy)�MTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclikec��|j|_|j|_|j|_|j|_|j|_||_yr�rNr'r��__defaults__�__kwdefaults__r��rWr�s  rr�zVTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclike.__init__��I�� $�
�
��
� $�
�
��
�'+�';�';��$�$(�$5�$5��!�&*�&9�&9��#� ��	rc�&�|j|i|��Srr�rMs   rr�zVTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclike.__call__��� �t�y�y�$�1�&�1�1rN�rNrcrdr�r�r$rr�funcliker�����

!�
2rrr�c�.��t|d�ry�|�S)N�_builtinmockT�r�)rZ�_orig_isdescs �r�_isdesczLTestSignatureObject.test_signature_from_functionlike_object.<locals>._isdescs����s�N�+����$�$rzinspect.ismethoddescriptor)
rQr��
from_callablerCr�r�rpr�r�r�rVrrM)	rWr�r�sig_func�sig_funclike�flr	�builtin_funcrs	        @r�'test_signature_from_functionlike_objectz;TestSignatureObject.test_signature_from_functionlike_object�s;���$(�	�	2�	2� �$�$�2�2�4�8���(�(�6�6�x��~�F������x�0��(�(��$��8������x�0�
�d�^���O��������+� �	!��1�1��	%�
�]�]�
 �
 �!=�w�
G�#�D�>�L����W�7�7��E�F�(,�L�%��O�O�G�6�6�|�D�E����W�.�.�|�<�h�G�
H�
G�
G�s
�5A=E;�;Fc���dd�d��G�fd�d�}|jttj|��d�y)NTr�c��yrr$r�s      rr�zCTestSignatureObject.test_signature_functionlike_class.<locals>.func/r�rc���eZdZd�ZW�jZW�jZW�j
ZW�jZW�jZy)�GTestSignatureObject.test_signature_functionlike_class.<locals>.funclikec��yrr$)rW�markers  rr�zPTestSignatureObject.test_signature_functionlike_class.<locals>.funclike.__init__3r�rN)rNrcrdr�r'r�r�r�r�s�rrr2s=���
��}�}�H��}�}�H�"�2�2�O��,�,�L�!�0�0�Nrrz(marker))rCr�rQr�)rWrr�s  @r�!test_signature_functionlike_classz5TestSignatureObject.test_signature_functionlike_class+s9���%)�	�	1�	1�	
����W�.�.�x�8�9�:�Frc��Gd�d�}|j|j|�j�dtf�|j|j|�j�d�|j|j|�d�|jtd�5|j|��ddd�y#1swYyxYw)Nc�,�eZdZd�Zddefd�Zd�Zd�Zy)�:TestSignatureObject.test_signature_on_method.<locals>.Testc��yrr$rMs rr�zCTestSignatureObject.test_signature_on_method.<locals>.Test.__init__@r�rr�c��yrr$�rWr�r�s   rr�z=TestSignatureObject.test_signature_on_method.<locals>.Test.m1Br�rc��yrr$rMs r�m2z=TestSignatureObject.test_signature_on_method.<locals>.Test.m2Dr�rc��yrr$r�s rr�zCTestSignatureObject.test_signature_on_method.<locals>.Test.__call__Fr�rN�r.)rNrcrdr�r�r�rr�r$rrrCr?s��
�
�#�
�
�
rrC��r�..r�)r�r..r�r�zinvalid method signature)rCr�r�r�rr�r�)rWrCs  r�test_signature_on_methodz,TestSignatureObject.test_signature_on_method>s���	�	�	
��������	�	�2�F���	 �
	
��������	�	�2��	 �	
�������-��	 ��
#�
#�J�0J�
K��N�N�4�6�"�L�
K�
K�s�(C�Cc��Gd�d�}tj|�j�d��}|j|j	|�dt
f�y)Nc��eZdZddefd�Zy)�ETestSignatureObject.test_signature_wrapped_bound_method.<locals>.Testr�c��yrr$rs   rr�zHTestSignatureObject.test_signature_wrapped_bound_method.<locals>.Test.m1\r�rNr )rNrcrdr�r�r$rrrCr&[s��
�#�
rrCc��yrr$r�s  r�m1dzDTestSignatureObject.test_signature_wrapped_bound_method.<locals>.m1d^r�rr!)r�r�r�rCr�r�)rWrCr)s   r�#test_signature_wrapped_bound_methodz7TestSignatureObject.test_signature_wrapped_bound_methodYsV��	�	�
�������	#�	�
$�	��������,�F���	 rc���Gd�d�}|�j}|j|j|�d�|j}|j|j|�d�y)Nc�"�eZdZedd�d��Zy)�?TestSignatureObject.test_signature_on_classmethod.<locals>.Testr.)r�c��yrr$)r�r�r�s   rr0zCTestSignatureObject.test_signature_on_classmethod.<locals>.Test.foohr�rN)rNrcrdr�r0r$rrrCr-gs��
�'(�
��
rrC))r")r�r..r�.�r0rCr��rWrC�meths   r�test_signature_on_classmethodz1TestSignatureObject.test_signature_on_classmethodf�`��	�	�
�v�z�z���������-��	 �
�x�x���������-��	 rc���Gd�d�}|�j}|j|j|�d�|j}|j|j|�d�y)Nc��eZdZed��Zy)�@TestSignatureObject.test_signature_on_staticmethod.<locals>.Testc��yrr$r�s  rr0zDTestSignatureObject.test_signature_on_staticmethod.<locals>.Test.foozr�rN)rNrcrdr�r0r$rrrCr6ys��
�
��
rrC)))r�..r�)r�..r�.r/r0s   r�test_signature_on_staticmethodz2TestSignatureObject.test_signature_on_staticmethodxr3rc��ddlm}d�}|j|j||��d�|j	t
d�5t
j||d��ddd�|j	t
d�5t
j||d���ddd�d�}|j|j||��d	�|j|j||d��d
�|j|j||dd���d
�|j|j||dd���d�|j|j||ddd���d�|j|j||d���d�d�}|j|j||d��d�|j|j||d���d�|j|j||ddd��d�|j|j||dddd���d�|j|j||ddddd���d�|j|j||d���d�|j|j||dd���d�dtddfd �}t
j|�x}|_|j|j|||d���d!dd"td#ffdf�|j|j|||d�d��dd"td#ffdf�d$�}|||d%��d&��}|j|j|�d'�|j|�d&�d(�}|||dd&��d)��}|j|j|�d*�|j|d%��d+�d,�}|||d&d&�-�d%d)�.�}|j|j|�d/�t
j|�jd0d1�2�}|j||ji|j��d3�dBd4�}||d5��}t
j|�jd1��}|j||ji|j��d6�t
j|�jd1d7�}|j||ji|j��d8�t
j|�jd1d7��}|j||ji|j��d8�t
j|�jd7��}|j||ji|j��d9�||d%d&��}t
j|�jd7�}|j||ji|j��d:�d;�}t
j|�}|jt|�d<�|j|j||d��d=�|j|j||dd��d>�|j|j||ddd��d?�|j|j||ddd���d@�|j|j||dd���dA�y#1swY���xYw#1swY���xYw)CNr)r�c��yrr$r$rrr�z;TestSignatureObject.test_signature_on_partial.<locals>.test�r�rr��has incorrect argumentsr.r�c��yrr$r�s    rr�z;TestSignatureObject.test_signature_on_partial.<locals>.test�r�r))r��r
..r��r..r��r�..r�.))r=r>r?.r/r�))r=�rr/.r�r?.)r
r))r��r
r..r�r@r?.))rAr@r?.))�r'r..r��r
..r�r>r?.c��yrr$)r'r
rrNs    rr�z;TestSignatureObject.test_signature_on_partial.<locals>.test�r�r))r�rCr�.))rBrCr�.rtTr�)r�r
))r��r
r.r�r�.�r
))r�r�rEr�.)r
r�rr�r�c��yrr$r�s   rr�z;TestSignatureObject.test_signature_on_partial.<locals>.test�r�rr=.r�c��|Srr$r�s rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo�s���HrrO�)))r'rI.r�.c��|||fSrr$r�s   rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo	
�
���a��7�Nrrb)))r
rb.r�r>.)r.rbrOc��||||fSrr$r�s    rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo
s���a��A�:�r)r�r)r
r�))r�)r
rO.r�)rrI.r�)r�rb.r�.��r{r)rMr{rIrbc��|||fSrr$r�s   rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo 
rKrrv)r{r/rvrZ)r{rZrv)r.rZrv)rZrOrIc��yrr$)r'r
rr�rNs     rr0z:TestSignatureObject.test_signature_on_partial.<locals>.foo5
r�rz(a, b, /, c, d, **kwargs)))�r
..�positional_only�r..r��r�..r�r�.))rRrSr�.))rSr�.))�rrt.r�r?r�.))rPrTr?r�.r�)
r�r�rCr�r�r�rQr�r��bindrrNr�)rWr�r�rqr0�_foo�bas       r�test_signature_on_partialz-TestSignatureObject.test_signature_on_partial�s���%�	�	
��������
�6�	�B�
�
#�
#�J�0I�
J����g�d�A�.�/�K��
#�
#�J�0I�
J����g�d�a�0�1�K�	�	
��������
�6��	 �	
��������a�(8�9��	 �	
��������a�1�(=�>��	 �	
���������Q�(?�@��	 �	
��������a�1��(B�C��	 �	
���������(:�;��	 �	�	
��������a�(8�9��	 �	
���������(:�;��	 �	
��������a��A�(>�?��	 �	
��������a��A�D�(I�J��	 �	
��������a��A�A��(K�L��	 �	
���������(:�;��	 �	
����������(B�C��	 �	��	��	�$+�#4�#4�T�#:�:��d� ����������a�0@�(A�B�C���c�+B�C�E���	�
	
���������a�0@�!�(D�E���c�+B�C�E���	�	��w�s�b�)�R�0���������-��	 �
	
������$�	��w�s�A��,��3���������-��	 �	
������[�1�	��w�s�b�B�/�2��<���������-��	 ��
�
�t�
$�
)�
)�C�2�
)�
6������r�w�w�4�"�)�)�4�6G�H�	��s�b�!��
�
�
�t�
$�
)�
)�B�
)�
/������r�w�w�4�"�)�)�4�k�B�
�
�
�t�
$�
)�
)�"�b�
1������r�w�w�4�"�)�)�4�l�C�
�
�
�t�
$�
)�
)�"��
)�
3������r�w�w�4�"�)�)�4�l�C�
�
�
�t�
$�
)�
)�B�
)�
/������r�w�w�4�"�)�)�4�k�B��t�r�R�(��
�
�
�t�
$�
)�
)�"�
-������r�w�w�4�"�)�)�4�l�C�	�����$������S��#>�?���������Q��8��	�	
��������Q��(:�;��	�	
��������Q��1�(=�>��	�
	
��������Q��Q�(?�@��	�	
��������Q�!�(<�=��	�AK�
J��K�
J�s�]�]�]�]c���ddlm�G�fd�d�}|jtd�5t	j
|j�ddd�G�fd�d�}|j|j|jd��d	�|j|j|�jd��d
�G�fd�d�}|j|j|jd��d�y#1swY��xYw)
Nr�r�c�&��eZdZd�ZW�e�Zy)�ATestSignatureObject.test_signature_on_partialmethod.<locals>.Spamc��yrr$r$rrr�zFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.test]
r�rN�rNrcrdr�r�rZs�r�Spamr\\
s���
���%�Crr_r;c�,��eZdZdd�ZW�ed��Zy)r\c��yrr$)�itr'rs   rr�zFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.teste
r�rr.r�N)r�rzr^rZs�rr_zATestSignatureObject.test_signature_on_partialmethod.<locals>.Spamd
s���
����*�CrFr�)))rb..r�r��rr..r�rz))r�rcrzc�*��eZdZdd�ZW�ed�Zy)r\c��yrr$rs  rr�zFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.testu
r�rr.N)rW�anno)rNrcrdr�r�rZs�rr_zATestSignatureObject.test_signature_on_partialmethod.<locals>.Spamt
s���
��d�A�&�Ar)))rW.rfr�.)	r�r�r�r�rQr�r�rCr�)rWr_r�s  @r�test_signature_on_partialmethodz3TestSignatureObject.test_signature_on_partialmethodY
s����+�	&�	&�
�
#�
#�J�0I�
J����d�h�h�'�K�	+�	+�
	
���������5��A�"�	#�	
��������
�
�U��C�"�	#�
	'�	'�	
�����������?��	 �3K�
J�s� C7�7Dc�t�d�}d|_|jttj|��d�y)Nc��yrr$r�s rr0zETestSignatureObject.test_signature_on_fake_partialmethod.<locals>.foo
r�rrzz(a))�_partialmethodrCr�rQr��rWr0s  r�$test_signature_on_fake_partialmethodz8TestSignatureObject.test_signature_on_fake_partialmethod~
s-���#�������W�.�.�s�3�4�e�<rc����d��G�fd�d�}�|�j�}|j|j|j�d�|j|j|�j�d�|j|j|jd��d�|j|j|�d�d	��G�fd
�d�}|j|j|j�d�|j|j|�j�d�d�}|j|_|j|j|�d�y)
Nc�P��tj��dtf�fd��}|S)Nr�c����|i|��Srr$r�s  �rr�zSTestSignatureObject.test_signature_on_decorated.<locals>.decorator.<locals>.wrapper�
r�rr�r�s` rr�zBTestSignatureObject.test_signature_on_decorated.<locals>.decorator�
r�rc� ��eZdZW�d��Zy)�<TestSignatureObject.test_signature_on_decorated.<locals>.Fooc��yrr$�rWr'r
s   rr(z@TestSignatureObject.test_signature_on_decorated.<locals>.Foo.bar�
r�rN)rNrcrdr(�r�s�rr�rq�
����
�
��
rr�))�rW..r�r�r=.))r�r=.Fr�r�c����tj��dtf�fd��}tj��}t|jj��dd}|j|��|_	|S)Nr�c����dg|��i|��Sr�r$r�s  �rr�zSTestSignatureObject.test_signature_on_decorated.<locals>.decorator.<locals>.wrapper�
s����B�0��0��0�0rr.r�)
r�r�r�rQr�rnr6r�rr�)r�r�rq�
new_paramss`   rr�zBTestSignatureObject.test_signature_on_decorated.<locals>.decorator�
sk���
�_�_�T�
"�
1�C�
1�#�
1��#�#�D�)�C��s�~�~�4�4�6�7���;�J�$'�K�K�:�K�$F�G�!��Nrc� ��eZdZW�d��Zy)rqc��yrr$rss   rr�zETestSignatureObject.test_signature_on_decorated.<locals>.Foo.__call__�
r�rNr�rts�rr�z<TestSignatureObject.test_signature_on_decorated.<locals>.Foo�
rur�)r=.c��yrr$r$rr�wrapped_foo_callzITestSignatureObject.test_signature_on_decorated.<locals>.wrapped_foo_call�
r�r)r(rCr�r��__wrapped__)rWr�r(r~r�s    @r�test_signature_on_decoratedz/TestSignatureObject.test_signature_on_decorated�
s>���	�	�	�
���	�	�"�����������0��	 �	
��������	�	�2��	 �
	
�����������F��	 �	
�������,��	 �	�	�	�
	
���������5��	 �
	
����������7��	 �
	�'*�|�|��$�������(8�9��	 rc�<��Gd�d�}|j|j|�d�Gd�dt�}Gd�d|��}|j|j|�d�|jd�5Gd	�dt�}Gd
�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd
�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d��G�fd�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�dt�}Gd�d|��}|j|d�d�|j|j|�d�ddd�|jd�5Gd�dt�}Gd�d|��}|j|ddg�d �|j	t
�5|j|j|�|jd!j��ddd�ddd�|jd"�5Gd#�dt�}Gd$�d|��}|j|d%�d&�|j|d%d'�d�|j	t
�5|j|j|�|jd(j��ddd�ddd�Gd)�dt�}Gd*�d|��}|j|j|�d+�|j|j|�d,�Gd-�d.t�}Gd/�dt|��}Gd0�d|��}|j|j|�d,�|j|j|�d1�|j|j|�d+�Gd2�dt�}Gd3�d|��}|j|j|�d4�y#1swY��\xYw#1swY���xYw#1swY���xYw#1swY��-xYw#1swY���xYw#1swY��:xYw#1swY��?xYw#1swY���xYw#1swY���xYw)5Nc��eZdZd�Zy)�6TestSignatureObject.test_signature_on_class.<locals>.Cc��yrr$�rWr's  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rN�rNrcrdr�r$rrrr��
r�rr�)r�.c��eZdZd�Zy)�7TestSignatureObject.test_signature_on_class.<locals>.CMc��yrr$�r�r's  rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__�
r�rNr�r$rrrr��
r�rrc��eZdZd�Zy)r�c��yrr$�rWr
s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�rr"r�c��eZdZed��Zy)r�c��|Srr$r�s  rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__�
����HrN�rNrcrdr�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
������rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
���rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
���rr.r�c��eZdZed��Zy)r�c��|Srr$r�s rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__�
r�rN�rNrcrdr�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
������rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__�
r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C�
r�r�
MethodTypec��eZdZd�Zy)�6TestSignatureObject.test_signature_on_class.<locals>.Ac��|Srr$r�s  r�callz;TestSignatureObject.test_signature_on_class.<locals>.A.call�
����HrN�rNrcrdr�r$rrr�r��
���rr�c�2��eZdZW��jZy)r�N�rNrcrdr�r��r�s�rrz7TestSignatureObject.test_signature_on_class.<locals>.CM�
�����3�8�8�rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.Cr�rr�c�4�eZdZejd�d�Zy)r�c�
�||fSrr$�rr's  rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.<lambda>���1�a�&rr/N�rNrcrdr�r�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM���,�9�,�,�-@�!�D�rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C
r�r�r/r.r�c�4�eZdZejd�d�Zy)r�c�
�||fSrr$�rWrr's   rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.<lambda>���q�!�frr/N�rNrcrdr�r�r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM���2�9�2�2�3L�a�P�rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.Cr�r�BuiltinMethodTypec�$�eZdZdjZy)r��:N�rNrcrdr4r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM#����8�8�rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__&r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C%r�rr'�bc�a:bcr��MethodWrapperTypec�$�eZdZdjZy)r�r/N�rNrcrd�__pow__r�r$rrrz7TestSignatureObject.test_signature_on_class.<locals>.CM/����;�;�rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__2r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C1r�rrtrJrIrc�$��eZdZdd��fd�
Z�xZS)r�r.r1c�(��t�|�||||�Sr�r8r���mclsr(�bases�dctr0r:s     �rr�z?TestSignatureObject.test_signature_on_class.<locals>.CM.__new__<�����w��t�T�5�#�>�>r�rNrcrdr�rBrCs@rrz7TestSignatureObject.test_signature_on_class.<locals>.CM;����78�
?�
?rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__?r�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.C>r�rr|))�r(..r��r�..r��r�..r�)r0r..r�.c�*��eZdZdd��fd�
Zd�Z�xZS)�8TestSignatureObject.test_signature_on_class.<locals>.CMMr.r1c�(��t�|�||||�Srr�r�s     �rr�z@TestSignatureObject.test_signature_on_class.<locals>.CMM.__new__Nr�rc��t|||�Sr)r�)r��nm�bs�dts    rr�zATestSignatureObject.test_signature_on_class.<locals>.CMM.__call__Ps���B��B�'�'r)rNrcrdr�r�rBrCs@r�CMMr�Ms���78�
?�
(rr�c�$��eZdZdd��fd�
Z�xZS)r�r/�r(c�(��t�|�||||�Srr�)r�r(r�r�r(r:s     �rr�z?TestSignatureObject.test_signature_on_class.<locals>.CM.__new__Sr�rr�rCs@rrz7TestSignatureObject.test_signature_on_class.<locals>.CMRr�rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__Vr�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.CUr�r)))r�..r�)r�..r�)r�..r�.c�$��eZdZdd��fd�
Z�xZS)r�r/r�c�&��t�|�|||�Sr�r8r�)r�r(r�r�r(r:s     �rr�z@TestSignatureObject.test_signature_on_class.<locals>.CM.__init__ks����w�'��e�S�9�9r�rNrcrdr�rBrCs@rrz7TestSignatureObject.test_signature_on_class.<locals>.CMjs���78�
:�
:rc��eZdZd�Zy)r�c��yrr$r�s  rr�z?TestSignatureObject.test_signature_on_class.<locals>.C.__init__nr�rNr�r$rrrz6TestSignatureObject.test_signature_on_class.<locals>.Cmr�r))r�r�r�)r(r/.r�.)rCr�r�r�r��AssertionErrorr4r�)rWrrr�r�s    @r�test_signature_on_classz+TestSignatureObject.test_signature_on_class�
s����	�	�	
�������*��	 �	��	�	�"�	�	
�������*��	 ��\�\�-�
(�
�T�
�
�b�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�)��\�\�.�
)�
�T�
�
�b�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�*��\�\�,�
'�
�
�
$�T�
$�
�b�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�(��\�\�)�
$�
E�T�
E�
�b�
�
���Q�q�T�6�*����T�^�^�A�.�!�
"�%��\�\�/�
*�
Q�T�
Q�
�b�
�
���Q�q�T�6�*����T�^�^�A�.�!�
"�+��\�\�-�
.�
$�T�
$�
�b�
�
���Q��T�{�^�V�4��"�"�>�2�� � �����!2�D�N�N�2�7�7�4K�L�3�/��\�\�-�
.�
'�T�
'�
�b�
�
���Q�q�T�1�%����Q�q�!�W�a�(��"�"�>�2�� � �����!2�D�N�N�A�;�;�4O�P�3�/�	?��	?�	�"�	�	
�������*��	 �	
�������+��	 �	(�$�	(�
	?���	?�	�"�	�	
�������,��	 �	
�������+��	 �	
�������*��	 �	:��	:�	�"�	�	
�������+��	 �e)�
(��*�
)��(�
'��%�
$��+�
*��*3�2��/�
.��,3�2��/�
.�s��:AT)�(AT6�A!U�AU�>AU�,AU7�7;U*�2U7�A"V�5;V�0V�)T3�6U�U
�U�U'�*U4	�/U7�7V�V	�	V�Vc�6��Gd�d�}|d�|j|j|�d�|jd�5Gd�d�}|d�|j|j|�d�ddd�|jd�5Gd�d�}|d�|j|j|�d�ddd�|jd	�5Gd
�d��G�fd�d�}|d�|j|j|�d
�ddd�|jd�5Gd�d�}|d�|j|j|�d
�ddd�|jd�5Gd�d�}|j|d�jd�|j|j|�d
�ddd�y#1swY��exYw#1swY��%xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZd�Zy)�@TestSignatureObject.test_signature_on_class_with_init.<locals>.Cc��yrr$r�s  rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.__init__zr�rNr�r$rrrr�yr�rrr.r|r�c��eZdZed��Zy)r�c��yrr$)r�r
s  rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.__init__����rN)rNrcrdr�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�������rr�c��eZdZed��Zy)r�c��yrr$rFs rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.__init__�r�rN)rNrcrdr�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�������rr�c��eZdZd�Zy)�@TestSignatureObject.test_signature_on_class_with_init.<locals>.Ac��yrr$r�s  rr�zETestSignatureObject.test_signature_on_class_with_init.<locals>.A.call�r�rNr�r$rrr�r��r�rr�c�2��eZdZW��jZy)r�N)rNrcrdr�r�r�s�rrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�r�rr�r�c�4�eZdZejd�d�Zy)r�c��yrr$r�s  rr�zITestSignatureObject.test_signature_on_class_with_init.<locals>.C.<lambda>�s��$rr/N)rNrcrdr�r�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�s��,�9�,�,�->��B�rr�c�8�eZdZd�Zej
ed�Zy)r�c��||f|_yrr�r�s   r�_initzFTestSignatureObject.test_signature_on_class_with_init.<locals>.C._init�s
����V�D�Frr/N)rNrcrdr	r�r�r�r$rrrz@TestSignatureObject.test_signature_on_class_with_init.<locals>.C�s��$�2�9�2�2�5�!�<�rr�)rCr�r�r'�rWrr�s  @r�!test_signature_on_class_with_initz5TestSignatureObject.test_signature_on_class_with_initxs����	�	�	
�!���������*��	��\�\�-�
(�
�
�

�a�D����T�^�^�A�.�!�
"�)��\�\�.�
)�
�
�

�a�D����T�^�^�A�.�!�
"�*��\�\�,�
'�
�
�
$�
$�
�a�D����T�^�^�A�.�!�
"�(��\�\�)�
$�
C�
C�
�a�D����T�^�^�A�.�!�
"�%��\�\�/�
*�
=�
=�

���Q�q�T�V�V�V�,����T�^�^�A�.�!�
"�+�
*�W)�
(��*�
)��(�
'��%�
$��+�
*�s>�4G�4G*� AG7�94H�AH�G'�*G4�7H�H�Hc���|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd	�d�}|j|d�d�|j|j|�d�ddd�|jd
�5Gd�d��G�fd
�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|d�d�|j|j|�d�ddd�|jd�5Gd�d�}|j|�d�|jt|j|�ddd�|jd�5Gd�d�}|j|�|t
z�|jt|j|�ddd�|jd�5Gd�d�}|j||�d�|j|j|�|j|j��ddd�|jd�5Gd�d�}|j|t
�|t
z�|jt|j|�ddd�y#1swY���xYw#1swY��5xYw#1swY���xYw#1swY���xYw#1swY��9xYw#1swY���xYw#1swY���xYw#1swY��DxYw#1swY��xYw#1swYyxYw)N�FunctionTypec��eZdZd�Zy)�?TestSignatureObject.test_signature_on_class_with_new.<locals>.Cc��|Srr$r�s  rr�zGTestSignatureObject.test_signature_on_class_with_new.<locals>.C.__new__�r�rN�rNrcrdr�r$rrrr
	�r�rrr.r�r�c��eZdZed��Zy)r
	c��|Srr$)r��cls2r's   rr�zGTestSignatureObject.test_signature_on_class_with_new.<locals>.C.__new__�r�rN)rNrcrdr�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�r�rr�c��eZdZed��Zy)r
	c��|Srr$r�s  rr�zGTestSignatureObject.test_signature_on_class_with_new.<locals>.C.__new__�r�rN)rNrcrdr�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�r�rr�c��eZdZd�Zy)�?TestSignatureObject.test_signature_on_class_with_new.<locals>.Ac��|Srr$)rWr�r's   rr�zDTestSignatureObject.test_signature_on_class_with_new.<locals>.A.call�r�rNr�r$rrr�r	�r�rr�c�2��eZdZW��jZy�r
	N)rNrcrdr�r�r�s�rrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s����#�(�(�rr�c�4�eZdZejd�d�Zy)r
	c�
�||fSrr$)rr�r's   rr�zHTestSignatureObject.test_signature_on_class_with_new.<locals>.C.<lambda>�s��q�!�frr/N)rNrcrdr�r�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s��+�)�+�+�,D�a�H�rr�r�c�4�eZdZejd�d�Zy)r
	c�
�||fSrr$)r�rr's   rr�zHTestSignatureObject.test_signature_on_class_with_new.<locals>.C.<lambda>�s��Q��Frr/N)rNrcrdr�r�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s��1�)�1�1�2J�A�N�rr�c�$�eZdZejZyr	)rNrcrdr��__subclasscheck__r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.C�s
���/�/�rFr�c�D�eZdZejjee�Zyr	)rNrcrdr��__or__rNr�r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.Cs���+�+�-�-�c�4�8�r�MethodDescriptorTypec�*�eZdZejdZy)r
	r	N)rNrcrdr�r&r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.Cs���-�-�(;�<�rT�WrapperDescriptorTypec�$�eZdZejZyr	)rNrcrdr�r	r�r$rrrz?TestSignatureObject.test_signature_on_class_with_new.<locals>.Cs���+�+�r)r�rCr�r�r�r�r	r	s  @r� test_signature_on_class_with_newz4TestSignatureObject.test_signature_on_class_with_new�s����
�\�\�.�
)�
�
�
���Q�q�T�1�%����T�^�^�A�.�!�
"�
*��\�\�-�
(�
�
�

���Q�q�T�1�%����T�^�^�A�.�!�
"�)��\�\�.�
)�
�
�

���Q�q�T�1�%����T�^�^�A�.�!�
"�*��\�\�,�
'�
�
�
#�
#�
���Q�q�T�1�%����T�^�^�A�.�!�
"�(��\�\�)�
$�
I�
I�
���Q�q�T�6�*����T�^�^�A�.�!�
"�%��\�\�/�
*�
O�
O�
���Q�q�T�6�*����T�^�^�A�.�!�
"�+��\�\�-�
.�
0�
0�
���Q�S�%�(�
���j�$�.�.�!�<�/��\�\�-�
.�
9�
9�
���Q�S�!�c�'�*�
���j�$�.�.�!�<�/��\�\�0�
1�
=�
=�
���Q�q�T�4�(����T�^�^�A�.����q�?R�?R�0S�T�2��\�\�1�
2�
&�
&�
���Q�s�V�Q��W�-�
���j�$�.�.�!�<�3�
2�s*�
)��)�
(��*�
)��(�
'��%�
$��+�
*��/�
.��/�
.��2�
1��3�
2�s��AO�0AO'�
AO4�*AP�AP�0AP�
AP(�)A
P5�AQ�AQ�O$�'O1�4O>�P�P�P%�(P2�5P?�Q�Qc� �Gd�d�}Gd�d|�}Gd�d|�}Gd�d|�}|j|j|�d	�|j|j|�d
�|j|j|�d�y)Nc��eZdZdd�Zy)�9TestSignatureObject.test_signature_on_subclass.<locals>.Ac�,�tj|�Sr�r�r�)r�r'rrNs    rr�zATestSignatureObject.test_signature_on_subclass.<locals>.A.__new__����~�~�c�*�*rNr r	r$rrr�r&	���
+rr�c��eZdZd�Zy)�9TestSignatureObject.test_signature_on_subclass.<locals>.Bc��yrr$r�s  rr�zBTestSignatureObject.test_signature_on_subclass.<locals>.B.__init__ r�rNr�r$rrrfr,	r�rrfc��eZdZdd�Zy)�9TestSignatureObject.test_signature_on_subclass.<locals>.Cc�,�tj|�Srr(	)r�r'r
rrNs     rr�zATestSignatureObject.test_signature_on_subclass.<locals>.C.__new__#r)	rN�r.r/r	r$rrrr/	"r*	rrc��eZdZy)�9TestSignatureObject.test_signature_on_subclass.<locals>.DNr�r$rrrkr3	%r<rrkr|))�r'r..r��r
r/.r�r�r�.))r4	r�r�.r�)rWr�rfrrks     r�test_signature_on_subclassz.TestSignatureObject.test_signature_on_subclasss���	+�	+�	��	�	+��	+�	��	�	
�������*��	 �	
�������*��	 �	
�������*��	 rc��ddlm}m}|d�}Gd�d||�}|j|j	|�ddt
dffdf�y)	Nr)�Generic�TypeVarr�c��eZdZdeddfd�Zy)�ATestSignatureObject.test_signature_on_generic_subclass.<locals>.Ar'r�Nc��yrr$r�s  rr�zJTestSignatureObject.test_signature_on_generic_subclass.<locals>.A.__init__=r�r)rNrcrdr�r�r$rrr�r;	<s��
�S�
�T�
rr�r'.r�)�typingr8	r9	rCr�r�)rWr8	r9	r�r�s     r�"test_signature_on_generic_subclassz6TestSignatureObject.test_signature_on_generic_subclass7sP��+��C�L��	���
�	�	
�������*���c�>�:�<�� �	!rc���Gd�d�}|jttj|��d�Gd�d|�}|jttj|��d�Gd�dt�}Gd�d|�}|j|dd	i�j
d�|j
td
�5|jtj|�d�ddd�|j|dd	i�j
d�|j
td
�5|jtj|�d�ddd�y#1swY�rxYw#1swYyxYw)Nc��eZdZy��CTestSignatureObject.test_signature_on_class_without_init.<locals>.CNr�r$rrrrB	Hr�rrrsc��eZdZy��CTestSignatureObject.test_signature_on_class_without_init.<locals>.DNr�r$rrrkrE	Jr�rrkc��eZdZyrA	r�r$rrrzCTestSignatureObject.test_signature_on_class_without_init.<locals>.CNr�rc��eZdZyrD	r�r$rrrkzCTestSignatureObject.test_signature_on_class_without_init.<locals>.DOr�rr�r$zcallable.*is not supported)rCr�rQr�r�rNr�r�)rWrrks   r�$test_signature_on_class_without_initz8TestSignatureObject.test_signature_on_class_without_initDs��	�
�����W�.�.�q�1�2�D�9��������W�.�.�q�1�2�D�9�	����������3��B��0�0�#�6�
�
#�
#�J�0L�
M����W�.�.�q�1�4�8�N�����3��B��0�0�#�6�
�
#�
#�J�0L�
M����W�.�.�q�1�4�8�N�
M�N�
M��N�
M�s�&E�.&E)�E&�)E2c��d}|jttjtj
��|�Gd�dtj
�}Gd�d�}Gd�d||�}|jttj|��|�|jttj|��|�Gd�d	|�}|jttj|��d
�Gd�dt�}Gd
�d||��}|jttj|��d�y)Nz=(file, protocol=None, fix_imports=True, buffer_callback=None)c��eZdZy)�>TestSignatureObject.test_signature_on_builtin_class.<locals>.PNr�r$rrr�rK	_r�rr�c��eZdZy)�GTestSignatureObject.test_signature_on_builtin_class.<locals>.EmptyTraitNr�r$rr�
EmptyTraitrM	`r�rrN	c��eZdZy)�?TestSignatureObject.test_signature_on_builtin_class.<locals>.P2Nr�r$rr�P2rP	ar�rrQ	c��eZdZd�Zy)�?TestSignatureObject.test_signature_on_builtin_class.<locals>.P3c��yrr$)rWrzs  rr�zHTestSignatureObject.test_signature_on_builtin_class.<locals>.P3.__init__fr�rNr�r$rr�P3rS	er�rrU	z(spam)c��eZdZd�Zy)�BTestSignatureObject.test_signature_on_builtin_class.<locals>.MetaPc��yrr$)r�r0r(s   rr�zKTestSignatureObject.test_signature_on_builtin_class.<locals>.MetaP.__call__kr�rNr�r$rr�MetaPrW	jr�rrY	c��eZdZy)�?TestSignatureObject.test_signature_on_builtin_class.<locals>.P4Nr�r$rr�P4r[	mr<rr\	r"z
(foo, bar))rCr�rQr�r�r�r�)rWrmr�rN	rQ	rU	rY	r\	s        r�test_signature_on_builtin_classz3TestSignatureObject.test_signature_on_builtin_classXs���,������W�.�.�w���?�@�(�K�&����&���%��Q�%�����W�.�.�q�1�2�H�=�����W�.�.�r�2�3�X�>�	��	�	
����W�.�.�r�2�3�X�>�	�D�	�	��u�	�����W�.�.�r�2�3�\�Brc�~��Gd�d�}|j|j|��d�Gd�d�}|jtd�5t	j|��ddd�Gd�d||�}|j|j|��d�|jd	�5Gd
�d�}|j|j|��d�ddd�|jd�5Gd
�d�}|j|j|��d�ddd�|jd�5Gd�d��G�fd�d�}|j|�d�d�|j|j|��d�ddd�|jd�5Gd�d�}|j|�d�d�|j|j|��d�ddd�|jd�5Gd�d�}|j|�d�d�|j|j|��d�ddd�|jd�5Gd�d�}|j|�ddg�d�|j|j|��|jdj��ddd�|jd�5Gd�d�}|j|�d �d!�|j|j|��|jd"j��ddd�|jd#�5Gd$�dt�}|�dd%gd �}|j|d d d&��|jt|�|�|j|j|��|jtj��ddd�|jd'�5Gd(�dt�}|j|d)�ddg�d�|j|j|��|jdj��ddd�|jd*�5Gd+�dt�}|j|d%�d �d!�|j|j|��|jd"j��ddd�|jd,�5Gd-�d�}|�}d.�|_
|j|d�d�|j|j|�d�ddd�y#1swY��:xYw#1swY���xYw#1swY���xYw#1swY��(xYw#1swY���xYw#1swY��txYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��rxYw#1swY��xYw#1swYyxYw)/Nc��eZdZd�Zy)�CTestSignatureObject.test_signature_on_callable_objects.<locals>.Fooc��yrr$r�s  rr�zLTestSignatureObject.test_signature_on_callable_objects.<locals>.Foo.__call__sr�rNr�r$rrr�r`	rr�rr�r�c��eZdZy)�DTestSignatureObject.test_signature_on_callable_objects.<locals>.SpamNr�r$rrr_rc	zr<rr_r�c��eZdZy)�CTestSignatureObject.test_signature_on_callable_objects.<locals>.BarNr�r$rrr�re	r<rr�r�c��eZdZed��Zy)�ATestSignatureObject.test_signature_on_callable_objects.<locals>.Cc��yrr$r�s  rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.__call__�r�rNr�r$rrrrg	�r�rrr�c��eZdZed��Zy)rg	c��yrr$r�s rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.__call__�r�rNr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�c��eZdZd�Zy)�ATestSignatureObject.test_signature_on_callable_objects.<locals>.Ac��|Srr$r�s  rr�zFTestSignatureObject.test_signature_on_callable_objects.<locals>.A.call�r�rNr�r$rrr�rl	�r�rr�c�2��eZdZW��jZy�rg	Nr�r�s�rrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr.r�c�4�eZdZejd�d�Zy)rg	c�
�||fSrr$r�s  rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.<lambda>�r�rr/Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�r�c�4�eZdZejd�d�Zy)rg	c�
�||fSrr$r�s   rr�zJTestSignatureObject.test_signature_on_callable_objects.<locals>.C.<lambda>�r�rr/Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�c�$�eZdZdjZy)rg	r�Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr'r�r�r�r�c�$�eZdZdjZy)rg	r/Nr�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rrtrJr�ClassMethodDescriptorTypec�*�eZdZejdZy)rg	r�N)rNrcrdrr&r�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�s���=�=��4�rr/r1	r	c�$�eZdZejZyro	)rNrcrdr�r4r�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�r�rr�r!	c�$�eZdZejZyro	)rNrcrdr�r�r�r$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�s���;�;�rr�c��eZdZdZy)rg	r�Nrr$rrrzATestSignatureObject.test_signature_on_callable_objects.<locals>.C�s��&�	rc��|Srr$r�s rr�zHTestSignatureObject.test_signature_on_callable_objects.<locals>.<lambda>�s��1r)rCr�r�r�rQr�r4r�rr�r�r�r�r�)rWr�r_r�r�resrr�s       @r�"test_signature_on_callable_objectsz6TestSignatureObject.test_signature_on_callable_objectsqs���	�	�	
��������.��	 �	�	�
�
#�
#�I�/I�
J����d�f�%�K�	�$��	�	
��������.��	 ��\�\�-�
(�
�
�

���T�^�^�A�C�0�!�
"�
)��\�\�.�
)�
�
�

���T�^�^�A�C�0�!�
"�
*��\�\�,�
'�
�
�
$�
$�
���S�Q�S��V�Q�'����T�^�^�A�C�0�!�
"�(��\�\�)�
$�
E�
E�
���S�Q�S��V�V�,����T�^�^�A�C�0�!�
"�%��\�\�/�
*�
Q�
Q�
���S�Q�S��V�V�,����T�^�^�A�C�0�!�
"�+��\�\�-�
.�
$�
$�
���S�Q�S�#�t��-�v�6����T�^�^�A�C�0�$�.�.����2I�J�/��\�\�-�
.�
'�
'�
���S�Q�S��V�Q�'����T�^�^�A�C�0�$�.�.�!���2M�N�/��\�\�5�
6�
5�D�
5��!�#�q�!�f�a�.�C����S�a�A�,�/����T�#�Y��*����T�^�^�A�C�0�$�.�.����2O�P�7��\�\�0�
1�
$�C�
$�
���V�Q�s�V�S�$�K�0�&�9����T�^�^�A�C�0�$�.�.����2I�J�2��\�\�1�
2�
'�C�
'�
���T�Q�q�T�!�W�a�(����T�^�^�A�C�0�$�.�.�!���2M�N�3��\�\�0�
1�
'�
'���A�$�A�J����Q�q�T�1�%����T�^�^�A�.�!�
"�
2�
1�CK�
J��)�
(��*�
)��(�
'��%�
$��+�
*��/�
.��/�
.��7�
6��2�
1��3�
2��2�
1�s��V%�81V2�1V?�AW�?AW�&AW&�
A)W3�A'X�BX
�;A/X�A-X'�	AX3�%V/�2V<�?W	�W�W#�&W0�3W=�X
�
X�X$�'X0�3X<c��Gd�d�}|�}d�|_|j|j|�d�|�}||_|jtd�5|j|�ddd�y#1swYyxYw)Nc��eZdZd�Zy)�>TestSignatureObject.test_signature_on_wrapper.<locals>.Wrapperc��yrr$r�s  rr�zGTestSignatureObject.test_signature_on_wrapper.<locals>.Wrapper.__call__�r�rNr�r$rr�Wrapperr�	�r�rr�	c��yrr$r�s rr�z?TestSignatureObject.test_signature_on_wrapper.<locals>.<lambda>�r(rr��wrapper loop)rrCr�r�r�)rWr�	r�s   r�test_signature_on_wrapperz-TestSignatureObject.test_signature_on_wrapper�su��	�	��)��,����������0��	 ��)��%���
�
#�
#�J��
?��N�N�7�#�@�
?�
?�s�A:�:Bc�J�|j|jdd��d�y)Nc��|Srr$r�s rr�z?TestSignatureObject.test_signature_on_lambdas.<locals>.<lambda>�s��ar)))r'rO.r�.r�r�ras r�test_signature_on_lambdasz-TestSignatureObject.test_signature_on_lambdas�s ���������9��	 rc	�j�tjj�tjj�tjj	�fD]K}|j|��5|j
ttj|��d�ddd��My#1swY�XxYw)N�r�z(*args, **kwargs))
r�r�r�r��	MagicMockr�rCr�rQr��rWr�s  r�test_signature_on_mocksz+TestSignatureObject.test_signature_on_mocks�s���
�M�M��� ��M�M�#�#�%��M�M�#�#�%�
�D�
���4��(�� � ��W�%6�%6�t�%<�!=�?R�S�)�(�
�
)�(�s�//B)�)B2	c�R�tjj�tjj�fD]P}|j	|��5|jt�5tj|�ddd�ddd��Ry#1swY�xYw#1swY�ixYw)Nr�	)	r�r��NonCallableMock�NonCallableMagicMockr�r�r�rQr�r�	s  r�#test_signature_on_noncallable_mocksz7TestSignatureObject.test_signature_on_noncallable_mockssy���M�M�)�)�+��M�M�.�.�0�
�D����4��(��&�&�y�1��%�%�d�+�2�)�(�	
�
2�1��)�(�s$�B�(B�>B�B�B�B&	c��dtdtfd�}|jtj|�dk(�|jtj|�dk7�|jtj|�tk(�|jtj|�tk7�dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�dtdtfd	�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtfd
�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dtdtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���d
�}d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�d�}dd�d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�d�}dd�d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���d�}dd�d�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���dd�dtfd�}dd�dtfd�}|jtj|�tj|�k(�|jtj|�tj|�k7�|jttj|��ttj|���y)Nr
r�c��yrr$rs  rr0z8TestSignatureObject.test_signature_equality.<locals>.foor@rr�c��yrr$rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.barr@rc��yrr$rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.barr�rc��yrr$rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar!s��drrFc��yrr$rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar's��$rc��yrr$�r'rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar-���4rc��yrr$rs  rr(z8TestSignatureObject.test_signature_equality.<locals>.bar3r�rc��yrr$�r
r's  rrzz9TestSignatureObject.test_signature_equality.<locals>.spam8r�rc��yrr$r�s   rr0z8TestSignatureObject.test_signature_equality.<locals>.foo>���Trc��yrr$�rr
r's   rr(z8TestSignatureObject.test_signature_equality.<locals>.bar?r�	rr.r�c��yrr$r�s   rr0z8TestSignatureObject.test_signature_equality.<locals>.fooEr�rc��yrr$r�	s   rr(z8TestSignatureObject.test_signature_equality.<locals>.barFr�rc��yrr$��posr'r
rs    rr0z8TestSignatureObject.test_signature_equality.<locals>.fooLr�rc��yrr$�r�	rr
r's    rr(z8TestSignatureObject.test_signature_equality.<locals>.barMr�rc��yrr$r�	s    rr0z8TestSignatureObject.test_signature_equality.<locals>.fooSs��$rc��yrr$r�	s    rr(z8TestSignatureObject.test_signature_equality.<locals>.barTr�rrNc��yrr$)r�	r'r
rrrNs      rr0z8TestSignatureObject.test_signature_equality.<locals>.fooZ���trc��yrr$)r�	rr
r'rrNs      rr(z8TestSignatureObject.test_signature_equality.<locals>.bar[r�	r)
r�r�rVrQr�rMr	rC�hashr)rWr0r(rzs    r�test_signature_equalityz+TestSignatureObject.test_signature_equalitysX��+��+��+�����*�*�3�/�2�5�6�����)�)�#�.�"�4�5�����)�)�#�.�)�;�<�����*�*�3�/�9�<�=�+��+��+�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	*��)��)�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	#��"�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H��.��.�5�.�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	(�E�'�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	)�S�(�U�(�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�)�3�)�e�)�����*�*�4�0�G�4E�4E�c�4J�J�K�����)�)�$�/�7�3D�3D�S�3I�I�J������"�"�4�(�)�4��0A�0A�#�0F�+G�	I�	"�!�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H��#��#�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H��(� !�(�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�	'� !�(�����*�*�3�/�7�3D�3D�S�3I�I�J�����)�)�#�.�'�2C�2C�C�2H�H�I������"�"�3�'�(�$�w�/@�/@��/E�*F�	H�!�;��;�$&�;��;�����)�)�#�.�'�2C�2C�C�2H�H�I�����*�*�3�/�7�3D�3D�S�3I�I�J������"�"�3�'�(�$�w�/@�/@��/E�*F�	Hrc�
�tj}tj}d�}tj|�}||d|j�g��}|jt
|�t
|��|jt
|�t
|jd����dd�}|jt
|�t
tj|���ifd�}|jtd	�5t
tj|��ddd�difd
�}|jtd	�5t
tj|��ddd�y#1swY�MxYw#1swYyxYw)Nc��yrr$r�s rr0z8TestSignatureObject.test_signature_hashable.<locals>.fooer�rr'r�rz�ror�c��yrr$r�s rr(z8TestSignatureObject.test_signature_hashable.<locals>.barnr�rc��yrr$r�s rr0z8TestSignatureObject.test_signature_hashable.<locals>.fooq���tr�unhashable typec��yrr$r�s rr0z8TestSignatureObject.test_signature_hashable.<locals>.foour�r)r�r.)rQr�r�r��POSITIONAL_OR_KEYWORDrCr�	rrr�r�)rWr�r�r0�foo_sig�
manual_sigr(s       r�test_signature_hashablez+TestSignatureObject.test_signature_hashableas-������������#�#�C�(���1�S�!�*A�*A�#B�"C�D�
�����g���Z�(8�9����D��M� ��!3�!3�f�!3�!M�N�	P�	����D��M�4��0A�0A�#�0F�+G�H���
�
#�
#�I�/@�
A���"�"�3�'�(�B�	�b��
�
#�
#�I�/@�
A���"�"�3�'�(�B�
A�	B�
A��B�
A�s�E-�E9�-E6�9Fc��ddd�dtddfd�}|jttj|��d�ddd�dtddfd�}|jttj|��d�d	�}|jttj|��d
�dt
tdtttffd�}|jttj|��d�d
dlm	}dt
td|ttffd�}|jttj|��d�y)Nr�r'r�r�c��yrr$�r'r
rrNs    rr0z3TestSignatureObject.test_signature_str.<locals>.foozr�rz*(a: int = 1, *, b, c=None, **kwargs) -> 42c��yrr$)r'r
rrrNs     rr0z3TestSignatureObject.test_signature_str.<locals>.foor�rz.(a: int = 1, *args, b, c=None, **kwargs) -> 42c��yrr$r$rrr0z3TestSignatureObject.test_signature_str.<locals>.foo�r�rrsc��yrr$r�s rr0z3TestSignatureObject.test_signature_str.<locals>.foo�r�rz#(a: list[str]) -> tuple[str, float]r)�Tuplec��yrr$r�s rr0z3TestSignatureObject.test_signature_str.<locals>.foo�r�rz#(a: list[str]) -> Tuple[str, float]r )
r�rCr�rQr�r�rnr�r=	r�	)rWr0r�	s   r�test_signature_strz&TestSignatureObject.test_signature_strys0��	��	�#�	�B�	�����W�.�.�s�3�4�E�	G�	�T�	�#�	��	�����W�.�.�s�3�4�I�	K�	�����W�.�.�s�3�4�d�;�	�4��9�	��s�E�z�!2�	�����W�.�.�s�3�4�>�	@�	!�	�4��9�	��s�E�z�!2�	�����W�.�.�s�3�4�>�	@rc�&�tj}tj}d�}|jt	tj
|��d�|jt	||d|j�g���d�|jt	||d|j�|d|j�g���d�|jt	||d|j�|d|j�g���d�y)	Nc�
�||fSrr$)�a_por
rNs   rr�zDTestSignatureObject.test_signature_str_positional_only.<locals>.test������<�rz(a_po, /, *, b, **kwargs)r0r�z(foo, /)r(z(foo, /, **bar)z(foo, /, *bar))	rQr�r�rCr�r�r�r��VAR_POSITIONAL)rWr�r�r�s    r�"test_signature_str_positional_onlyz6TestSignatureObject.test_signature_str_positional_only�s�����������	 �	
����W�.�.�t�4�5�4�	6�	
����Q�1�U�A�4E�4E�+F�*G�H�I�#�	%�	
����Q� !�%��):�):� ;� !�%���� 7�+9�:�;�+�	,�
	
����Q� !�%��):�):� ;� !�%��)9�)9� :�+<�=�>�*�	+rc��dd�}tj|�}|jd��}|j|jd�|j|j
��}|j|j|j
�|jd��}|j
|jd�|j
|tj|��y)Nr�c��yrr$r$rrr�z=TestSignatureObject.test_signature_replace_anno.<locals>.test�r�rr�	)r�r�)rQr�rrcrorjrCr�s   r�test_signature_replace_annoz/TestSignatureObject.test_signature_replace_anno�s���	�����%���k�k�D�k�1���
�
�c�+�+�T�2��k�k�C�I�I�k�6���
�
�c�+�+�S�Y�Y�7��k�k�B�k�/������.�.��3�����g�/�/��5�6rc���d�}tjdtjj�}tj|f��x}|_|j|tj|��y)Nc��yrr$r$rrr�z9TestSignatureObject.test_signature_replaced.<locals>.test�r�rrzr�)rQr�r�r�r�rCr�)rWr�r�rqs    r�test_signature_replacedz+TestSignatureObject.test_signature_replaced�s\��	��&�&�v�w�/@�/@�/P�/P�Q�
�#*�#4�#4��
�#N�N��d� �����g�/�/��5�6rc��Gd�d�}Gd�d|�}|j|j|j�d�|j|j|j�|j|j��y)Nc��eZdZddd�dd�Zy)�FTestSignatureObject.test_signature_on_mangled_parameters.<locals>.Spamrt)�	_Spam__p2c��yrr$)rW�	_Spam__p1r�	s   rr0zJTestSignatureObject.test_signature_on_mangled_parameters.<locals>.Spam.foo�r�rN)r/)r�	r.r�	r/rr$rrr_r�	�s��
�a�
rr_c��eZdZy)�ETestSignatureObject.test_signature_on_mangled_parameters.<locals>.HamNr�r$rr�Hamr�	�r<rr�	))rv)r�	r/r.r�)r�	rtr/r�.)rCr�r0)rWr_r�	s   r�$test_signature_on_mangled_parametersz8TestSignatureObject.test_signature_on_mangled_parameters�sk��	�	�	�$�	�	
���������1��	 �	
���������1�������0�	2rc��Gd�dtj�}dd�}|j|�}|j||�y)Nc��eZdZy)�PTestSignatureObject.test_signature_from_callable_python_obj.<locals>.MySignatureNr�r$rrrbr�	�r�rrbc��yrr$rs  rr0zHTestSignatureObject.test_signature_from_callable_python_obj.<locals>.foo�r�r�r
r.�rQr�r
�assertIsInstance�rWrbr0r�	s    r�'test_signature_from_callable_python_objz;TestSignatureObject.test_signature_from_callable_python_obj�s3��2�'�+�+�2� ��+�+�C�0�����g�{�3rc��Gd�dtj�}Gd�d�}|j|�}|j||�y)Nc��eZdZy)�KTestSignatureObject.test_signature_from_callable_class.<locals>.MySignatureNr�r$rrrbr�	�r�rrbc��eZdZy)�CTestSignatureObject.test_signature_from_callable_class.<locals>.fooNr�r$rrr0r�	�r�rr0r�	r�	s    r�"test_signature_from_callable_classz6TestSignatureObject.test_signature_from_callable_class�s7��	3�'�+�+�2����+�+�C�0�����g�{�3rc��Gd�dtj�}|jtj�}|j||�y)Nc��eZdZy)�QTestSignatureObject.test_signature_from_callable_builtin_obj.<locals>.MySignatureNr�r$rrrbr�	�r�rrb)rQr�r
r�r�r�	)rWrbrqs   r�(test_signature_from_callable_builtin_objz<TestSignatureObject.test_signature_from_callable_builtin_obj�s6��	3�'�+�+�2��'�'����8�����c�;�/rc�Z�t�D]Z}tj|�}t|j�}t|�}|j
|�|j||��\tjt�}t|j�}|j|t�yr)
r=rQr�r�r6r�rMrCrFr�r�s     r�3test_signature_definition_order_preserved_on_kwonlyzGTestSignatureObject.test_signature_definition_order_preserved_on_kwonly�s���G�I�B��)�)�"�-�I��Y�)�)�*�A��a�y�H��O�O�A�����Q��)�J��%�%�&I�J�	���%�%�&������<�=rc��tjd��j}tjd��j}|j||�y)Nc��yrr$r�s  rr�zITestSignatureObject.test_signater_parameters_is_ordered.<locals>.<lambda>�r!rc��yrr$rvs  rr�zITestSignatureObject.test_signater_parameters_is_ordered.<locals>.<lambda>�r!r)rQr�r6r)rW�p1�p2s   r�#test_signater_parameters_is_orderedz7TestSignatureObject.test_signater_parameters_is_ordered�s@��
�
�
�0�
1�
<�
<��
�
�
�0�
1�
<�
<�����B��#rc�l�Gd�d�}d|dtfd�}d|dddtfd�}tjtjjfD�]U}|j|�	�5||�}|j
|jt�|j
|jdj|�||t��
�}|j
|jt�|j
|jdj|�||dtit���}|j
|jt�|j
|jdj|�|j
|jdjd�ddd���Xy#1swY��dxYw)Nc��eZdZy)�QTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.FooNr�r$rrr�r�	�r�rr�r0r�c��yrr$r1s rr�zRTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.func�r�	rr(r�c��yrr$�r0r(s  r�func2zSTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.func2�r`r��signature_func)r�)r�r�)r�rQr�r�r
r�rCror6rkr�)rWr�r�r�	r�	�sig1r��sig3s        r�0test_signature_annotations_with_local_namespaceszDTestSignatureObject.test_signature_annotations_with_local_namespaces�sO����'�c�'�c�'�4�s�4��4�3�4�&�0�0�'�2C�2C�2Q�2Q�R�N����~��>�%�d�+��� � ��!7�!7��=�� � �����!7�!B�!B�C�H�%�d�6�8�<��� � ��!7�!7��=�� � �����!7�!B�!B�C�H�%�e�e�S�\�&�(�S��� � ��!7�!7��=�� � �����!7�!B�!B�C�H�� � �����!7�!B�!B�E�J�?�>�S�>�>�s
�%D8F)�)F3	c�v�t}tj}tj}tjj}tj
tjjfD�]�}|j|��5|j||j�||d|�|d|�f���|j||j�|d|d|d��|d|d��f�	��|j||j�|d|d|d��|d|d
��|d|d��f�	��|j||j�||d|d��|d|d
��|d|d
��f���ts'|j||j�|��|j||j�||d|�|d|�|d|�f���|j||jd��||d|�|d|�f���|j||jd��||j|d|t ��|d|t"��f�	��|j||jd��||j|d|t ��|d|d��|d||j��f�	��|j||jd��||d|d��|d|d��|d|d��f���t$t&d�}t(t*d�}|j-t.�5||jd|��ddd�|j||jd|��|t*|d|t ��|d|t(��f�	��|j||jd||��|t*|d|t$��|d|t(��f�	��ddd����y#1swY��xYw#1swY���xYw)Nr�	r'r
r�r�r��rkr�)ror6r�rr�r�Tr�)r�r�)r�r�r�r�)r�r�r�)rrQr�r�r�	r�r
r�rCr�rhr�r�rr�r�r�r�r��complexrnrr��	NameError)rWr�rq�par�PORKr�	�globalns�localnss        r�test_signature_eval_strz+TestSignatureObject.test_signature_eval_str	s���,����������� � �6�6��&�0�0�'�2C�2C�2Q�2Q�R�N����~��>�� � �"�3�;�;�/����T�N���T�N�$���� � �"�3�<�<�0��*3���T�e�<���T�e�<�$���� � �"�3�=�=�1��*3���T�e�<���T�g�>���T�i�@�$���� � �"�3�=�=�1����T�g�>���T�g�>���T�k�B�$���,��$�$�^�C�4H�4H�%I�3�5�Q�� � ���0H�0H�!I����T�N���T�N���T�N�$���� � �"�3�;�;��>����T�N���T�N�$���� � �"�3�<�<�$�?��*-�+�+���T�c�:���T�c�:�$���� � �"�3�=�=�4�@��*-�+�+���T�c�:���T�e�<���T�c�k�k�B�$���� � �"�3�=�=�4�@����T�e�<���T�e�<���T�i�@�$���$)��9��"'�D�9���&�&�y�1�"�3�<�<�$��Q�2�� � �"�3�<�<�$�w�O��*.���T�c�:���T�e�<�$���� � �"�3�<�<�$��Y`�a��*.���T�e�<���T�e�<�$���w?�>�S�`2�1��_?�>�s&�KP.�P"�3B#P.�"P+�'P.�.P8	c��Gd�d�}d�}||�}d|_tjtjjfD]G}|j|��5|j
||�tj��ddd��I|j
tj|�i�y#1swY�yxYw)Nc��eZdZd�Zd�Zy)�DTestSignatureObject.test_signature_none_annotation.<locals>.funclikec��|j|_|j|_|j|_|j|_|j|_||_yrr�r�s  rr�zMTestSignatureObject.test_signature_none_annotation.<locals>.funclike.__init__yr�rc�&�|j|i|��Srr�rMs   rr�zMTestSignatureObject.test_signature_none_annotation.<locals>.funclike.__call__�rrNrr$rrrr
trrrc��yrr$r$rrr0z?TestSignatureObject.test_signature_none_annotation.<locals>.foo�r�rr�	)r�rQr�r�r
r�rCr�)rWrr0r�	s    r�test_signature_none_annotationz2TestSignatureObject.test_signature_none_annotationss���	2�	2� 	��s�m��"���&�0�0�'�2C�2C�2Q�2Q�R�N����~��>�� � ���!4�g�6G�6G�6I�J�?�>�S�	
����0�0��5�r�:�?�>�s�+B7�7C	c�h�d|_Gd�d�}|j|j|�d�y)Nc��eZdZdZy)�4TestSignatureObject.test_signature_as_str.<locals>.S�(a, b=2)N)rNrcrdr�r$rrr�r
�s��&�Mrr��)r�r5	.)rDrCr��rWr�s  r�test_signature_as_strz)TestSignatureObject.test_signature_as_str�s3�����	'�	'�	
�������*��	 rc��Gd�d�}|j|j|�d�Gd�d�}|j|j|�d�y)Nc��eZdZed��Zy)�9TestSignatureObject.test_signature_as_callable.<locals>.Sc��y�Nr
r$r�s rr�zGTestSignatureObject.test_signature_as_callable.<locals>.S.__signature__����!rN)rNrcrdr�r�r$rrr�r
�s��
�
"��
"rr�r
c��eZdZed��Zy)r
c��yr
r$r$rrr�zGTestSignatureObject.test_signature_as_callable.<locals>.S.__signature__�r
rN)rNrcrdr�r�r$rrr�z9TestSignatureObject.test_signature_as_callable.<locals>.S�s��
�
"��
"rr�r
s  r�test_signature_as_callablez.TestSignatureObject.test_signature_as_callable�sV��	"�	"�
	
�������*��	 �
	"�	"�
	
�������*��	 rc��Gd�d�}Gd�d|�}Gd�d|�}|jtj|�tj|��y)Nc�$��eZdZ�fd�Zd�Z�xZS)�@TestSignatureObject.test_signature_on_derived_classes.<locals>.Bc�"��t�|�|�Srr�)rWrrNr:s   �rr�zHTestSignatureObject.test_signature_on_derived_classes.<locals>.B.__new__�s����w��t�,�,rc��||_yr)rrJs  rr�zITestSignatureObject.test_signature_on_derived_classes.<locals>.B.__init__�s	��"��
r)rNrcrdr�r�rBrCs@rrfr$
�s
���
-�
#rrfc���eZdZ�fd�Z�xZS)�ATestSignatureObject.test_signature_on_derived_classes.<locals>.D1c�$��t�|�|�yrr�)rWrr:s  �rr�zJTestSignatureObject.test_signature_on_derived_classes.<locals>.D1.__init__�s����� ��'rr�rCs@r�D1r(
�s
���
(�
(rr*
c��eZdZy)�ATestSignatureObject.test_signature_on_derived_classes.<locals>.D2Nr�r$rr�D2r,
�r<rr-
)rCrQr�)rWrfr*
r-
s    r�!test_signature_on_derived_classesz5TestSignatureObject.test_signature_on_derived_classes�sL��	#�	#�	(��	(�	��	�	
����*�*�2�.��0A�0A�"�0E�Frc�d�Gd�d�}|j|j|��d�y)Nc��eZdZd�Zd�Zy)�STestSignatureObject.test_signature_on_non_comparable.<locals>.NoncomparableCallablec��yrr$r�s  rr�z\TestSignatureObject.test_signature_on_non_comparable.<locals>.NoncomparableCallable.__call__�r�rc��ddzy)Nr.rr$)rWr[s  rr
zZTestSignatureObject.test_signature_on_non_comparable.<locals>.NoncomparableCallable.__eq__�s	���!�rN)rNrcrdr�r
r$rr�NoncomparableCallabler1
�s��
�
rr4
r�r�)rWr4
s  r� test_signature_on_non_comparablez4TestSignatureObject.test_signature_on_non_comparable�s0��	�	�
	
������(=�(?�@��	 rN)>rNrcrdr�r�r�r�r�r�r�r�r�r�rr�r6rr�r�r�r�rrr#r*r2r8rXrgrlr�r�r	r#	r6	r>	rH	r]	r}	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r
r

r
r
r!
r.
r5
r$rrrgrg�
s-���	I��	I�J�X9�8	'�:�
 �!�
 �"H�F��X�_�_�)�M�O�LC�O��LC�\��X�_�_�)�M�O�:�O��:�(�#��#�"�3H�jG�&#�6 � �$ �$M�^# �J=�
E �Pk �Z>"�@a=�F �8!��X�_�_�)�M�O�9�O�9�$�X�_�_�)�M�O�C�O�C�.t"�l
$� �
T�,�QH�f)�0@�4+�.7�7�2� 4��X�_�_�)�M�O�4�O�4��X�_�_�)�M�O�0�O�0�
	>�$�
K�(h�T;�2 � �,G�$ rrgc�F�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	d��Z
d�Zy	)
�TestParameterObjectc�|�tj}|j|j|jcxkxr3|j
cxkxr!|jcxkxr|jknc�|jt|j�d�|jdt|j�v�y)Nr�)rQr�rMr�r�	r�	�KEYWORD_ONLYr�rCr�r�)rWr�s  r�test_signature_parameter_kindsz2TestParameterObject.test_signature_parameter_kinds�s�����������)�)�A�,C�,C�J��(�(�J�+,�>�>�J�<=�M�M�J�	K�	
����Q�.�.�/�1B�C����)�T�!�2C�2C�-D�D�Erc��tjddtjj��}|j|jd�|j|j
d�|j
|j|j�|j|jtjj�|jtd�5tjddd��ddd�|jtd�5tjdtjj��ddd�|jtd�5tjd	tjj��ddd�|jtd
�5tjdtjj��ddd�|jtd�5tjdtjj��ddd�|jtd�5tjd
tjj��ddd�|jtd�5tjddtjj��ddd�|jtd�5tjddtjj��ddd�tjddtjj��}|jtd�5|j!tjj��ddd�|j#t%|�j'd��|j#dt%|�v�y#1swY���xYw#1swY���xYw#1swY��kxYw#1swY��*xYw#1swY���xYw#1swY���xYw#1swY��fxYw#1swY��$xYw#1swY��xYw)Nr0rO�r�r�z)value '123' is not a valid Parameter.kind�123znot a valid parameter namer�r��from�name must be a strzis not a valid parameter name�$z.azcannot have default valuesr'r�z
<Parameterz"a=42")rQr�r�rCr(r�rcrkrjr�r�r�r�r�r�	r�	rrMr�r�rWr8s  r�test_signature_parameter_objectz3TestParameterObject.test_signature_parameter_object�s%�����e�R�#*�#4�#4�#D�#D�
F���������'�������B�'��
�
�a�l�l�A�G�G�,��������!2�!2�!B�!B�C�
�
#�
#�J�1A�B����e�R�e�<�B��
#�
#�J�0L�
M����c��(9�(9�(E�(E�F�N��
#�
#�J�0L�
M����f�7�+<�+<�+H�+H�I�N��
#�
#�I�/C�
D����d��):�):�)F�)F�G�E��
#�
#�J�$C�E����c��(9�(9�(E�(E�F�E��
#�
#�J�$C�E����d��):�):�)F�)F�G�E��
#�
#�J�0L�
M����c�2�#*�#4�#4�#@�#@�
B�N��
#�
#�J�0L�
M����c�2�#*�#4�#4�#C�#C�
E�N�
���c�2�#*�#4�#4�#J�#J�
L��
�
#�
#�J�0L�
M�
�I�I�7�,�,�;�;�I�<�N�	
����Q��*�*�<�8�9�����D��G�+�,�GB�B��N�
M��N�
M��E�
D��E�E��E�E��N�
M��N�
M��N�
M�sl�O�0O*�0O7�,0P�:0P�0P�1P+�%1P8�$+Q�O'�*O4�7P�P�P�P(�+P5�8Q�Qc
��tj}|d|j��}|jt	|�t	|d|j����|jt	|�t	|d|jd����|jt	|�t	|j
|j����y)Nr0r�r�r�)rQr�r�rCr�	rrr�	)rWr�r0s   r�!test_signature_parameter_hashablez5TestParameterObject.test_signature_parameter_hashable�s���������A�-�-�.������c��D��5�q�7H�7H�)I�$J�K����D��I�t�A�e�!�:K�:K�68�-:�(;�	<����D��I� ����!�2B�2B��!C�D�	Frc�>�tj}|ddtjj��}|j||k(�|j	||k7�|j	|dk(�|j|dk7�|j|t
k(�|j	|t
k7�|j||ddtjj��k(�|j	||ddtjj��k7�y)Nr0r�r<
)rQr�r9
rMrVr	)rWr�r8s   r�!test_signature_parameter_equalityz5TestParameterObject.test_signature_parameter_equalitys�������
�e�R�g�&7�&7�&D�&D�E������Q�������a�� �����b��!�����R�� �����Y��'�����i��(�����Q�u�b�$+�$5�$5�$B�$B�D�D�	E�����a��r�%,�%6�%6�%C�%C�E�E�	Frc�H�tjddtjj��}|j||j	��|j||j	��|j	d��}|j|jd�|j	|j��}|j||�|j	d��}|j|jd�|j||�|jtd�5|j	|j��}ddd�|j	dd�	�}|j|jd�|j||�|j	d|j�	�}|j|j|j�|j	d|j��}|j|j|j�|j||�|jtd
�5|j	|j��}ddd�|j	|j��}|j||�y#1swY��MxYw#1swY�ExYw)Nr0r�r<
r.r
r(r}zname is a required attribute)r(r�z<value <class 'inspect._empty'> is not a valid Parameter.kindr�)rQr�r9
r�rrCrkrjr(rr�r�rcr�r�	r�)rWr8r�	s   r� test_signature_parameter_replacez4TestParameterObject.test_signature_parameter_replaces�����e�R�#*�#4�#4�#A�#A�
C��	
����A�I�I�K�(�����A�I�I�K�(�
�Y�Y�!�Y�
$���������*�
�Z�Z�2�8�8�Z�
,������B��
�Z�Z�U�Z�
#��������%�(����B��"�
�
#�
#�J�$B�D��������*�B�D��Z�Z�U�D�Z�
1���
�
�b�j�j�$�'����B��"�
�Z�Z�U�B�H�H�Z�
5���
�
�b�j�j�"�(�(�+��Z�Z���)A�)A�Z�
B��������"�":�":�;����B��"�
�
#�
#�J�%D�E��������*�B�E�
�Z�Z�R�_�_�Z�
-������Q��-D�D�� E�E�s�#J�7J�J�J!c��|jtd�5tjdtjj��ddd�y#1swYyxYw)Nr?
r�)r�r�rQr�r�ras r�(test_signature_parameter_positional_onlyz<TestParameterObject.test_signature_parameter_positional_only@s<��
�
#�
#�I�/C�
D����d��):�):�)J�)J�K�E�
D�
D�s�0A�Ac��|jtd�5tjdtjj��ddd�tjdtjj
��}|j
|jtjj�|j
|jd�y#1swY��xYw)NzYimplicit arguments must be passed as positional or keyword arguments, not positional-onlyz.0r��	implicit0)	r�r�rQr�r�r�	rCr�r()rWr�s  r�!test_signature_parameter_implicitz5TestParameterObject.test_signature_parameter_implicitDs���
�
#�
#�J�%:�;�
���d��):�):�)J�)J�K�	;��!�!��w�(�(�>�>�@��������W�%6�%6�%F�%F�G�������[�1�;�;�s�0C�Cc�&�tjdtjj��}|jt�5d|_ddd�|jt�5d|_ddd�y#1swY�/xYw#1swYyxYw)Nrzr�r(r�)rQr�r9
r�rr0r�rA
s  r�%test_signature_parameter_immutabilityz9TestParameterObject.test_signature_parameter_immutabilityQsk�����f�7�+<�+<�+I�+I�J��
�
�
�~�
.��A�E�/��
�
�~�
.��A�F�/�
.�/�
.��/�
.�s�A;�*B�;B�BN)rNrcrdr:
rB
rD
rF
rH
rJ
rrM
rO
r$rrr7
r7
�s?��F�+-�ZF�F� & �PL��
2��
2�rr7
c�z�eZdZed��Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zed��Zd�Zy)�TestSignatureBindc��tj|�}|j|i|��}	||ji|j��S#t
$r}t|�d}~wwxYwr)rQr�rUrrNr�r�)r�rrNrqrWr�s      rr�zTestSignatureBind.call\s\������%��
�S�X�X�t�
&�v�
&��	(�����.�B�I�I�.�.���	(� �a�'��	(�s�A�	A�A�Ac��d�}|j|j|�d�|jtd�5|j|d�ddd�|jtd�5|j|dd��ddd�|jtd�5|j|d��ddd�y#1swY�oxYw#1swY�HxYw#1swYyxYw)Nc��yr�r$r$rrr�z9TestSignatureBind.test_signature_bind_empty.<locals>.testgs��rr��too many positional argumentsr.rOr��)got an unexpected keyword argument 'spam'�rCr�r�r�r�s  r�test_signature_bind_emptyz+TestSignatureBind.test_signature_bind_emptyfs���	�	
������4��"�-�
�
#�
#�I�/N�
O��I�I�d�A��P�
�
#�
#�I�/N�
O��I�I�d�A�B�I�'�P�
�
#�
#��B�D�
�I�I�d��I�#�D�D�	P�
O��
O�
O��D�D�s#�B<�,C�C�<C�C�Cc� �d�}|j|j|�dif�|j|j|d�dif�|j|j|dd�dif�|j|j|d��dd	dif�|j|j|dd��dd	dif�|j|j|d
��ddd
if�|j|j|ddd��dd	dif�y)
Nc�
�||fSrr$r�s  rr�z7TestSignatureBind.test_signature_bind_var.<locals>.testur�	rr$r.r r/r1	r(r1r0rOrMr�rCr�r�s  r�test_signature_bind_varz)TestSignatureBind.test_signature_bind_varts��	 �	
������4��2�r�(�3�������4��+�d�B�Z�8�������4��A�.����=�������4�U��3�b�5�%�.�5I�J�������4����6���u�~�8N�O�������4�b��1�B����3E�F�������4��A�5��9� �5�%�.�1�	3rc�:�d�}|j|j|ddd�d�|jtd�5|j|dddd�ddd�|jtd�5|j|d�ddd�|jtd	�5|j|�ddd�dd�}|j|j|ddd�d�|j|j|dd�d�dd
�}|j|j|d
d��d�|j|j|d
��d�|j|j|d
��d�y#1swY��%xYw#1swY��xYw#1swY��xYw)Nc��|||fSrr$r�s   rr�z=TestSignatureBind.test_signature_bind_just_args.<locals>.test�rKrr.r/rtr�rU
rVz missing a required argument: 'b'z missing a required argument: 'a'rOc��|||fSrr$r�s   rr�z=TestSignatureBind.test_signature_bind_just_args.<locals>.test�rKr)r.r/rOc��|||fSrr$r�s   rr�z=TestSignatureBind.test_signature_bind_just_args.<locals>.test�rKrrvr�	)rOr/rvr�)rOr/rtrF)r.rOrtr�rW
r�s  r�test_signature_bind_just_argsz/TestSignatureBind.test_signature_bind_just_args�sg��	�	
������4��A�q�1�9�=�
�
#�
#�I�/N�
O��I�I�d�A�q�!�Q�'�P��
#�
#�I�$F�H��I�I�d�A��H��
#�
#�I�$F�H��I�I�d�O�H�	�������4��A�q�1�9�=�������4��A�.�
�;�	�������4�2���4�k�B�������4�2��.�
�;�������4�2��.�
�;�)P�
O��H�H��H�H�s#�E7�2F�#F�7F�F�Fc��d�}|j|j|�d�|j|j|ddd�d�y)Nc��|Srr$rMs rr�zATestSignatureBind.test_signature_bind_varargs_order.<locals>.test�s���Krr$r.r/rtr�r[
r�s  r�!test_signature_bind_varargs_orderz3TestSignatureBind.test_signature_bind_varargs_order�s@��	�	
������4��"�-�������4��A�q�1�9�=rc
��dd�}|j|j|ddddd�d�|j|j|dd�d�|j|j|dd�	�d
�|j|j|dd��d�|jtd�5|j|dddd�
�ddd�y#1swYyxYw)Nrtc��||||fSrr$)r'r
rrs    rr�zDTestSignatureBind.test_signature_bind_args_and_varargs.<locals>.test�s���a��D�=� rr.r/rVr()r.r/rt)rVr()r.r/rtr$r�	)r/r.rtr$rFz multiple values for argument 'c'r��rtrW
r�s  r�$test_signature_bind_args_and_varargsz6TestSignatureBind.test_signature_bind_args_and_varargs�s���	!�	
������4��A�q�!�Q�7�9J�K�������4��A�.�
�>�������4�1���2�M�B�������4��a��0�-�@�
�
#�
#�I�%G�I��I�I�d�A�q�!�q�I�)�I�I�I�s�,C�Cc��d�}|j|j|�i�|j|j|dd��ddd��y)Nc��|Srr$)rNs rr�z?TestSignatureBind.test_signature_bind_just_kwargs.<locals>.test�s���Mrr(r��r0rzr[
r�s  r�test_signature_bind_just_kwargsz1TestSignatureBind.test_signature_bind_just_kwargs�sH��	�	
������4��"�-�������4�U���?�!&��6�	8rc
���dd�}|j|j|dd�dddif�|j|j|dddd��dddddd�f�|j|j|dddd��dddddd�f�|j|j|dddd�	�dddddd�f�|j|j|dddd�
�dddddd�f�|j|j|ddddd��dddddd�f�|j|j|dddd�
�dddddif�|j|j|ddd��dddif�y)Nrtc��||||fSrr$r�	s    rr�zCTestSignatureBind.test_signature_bind_args_and_kwargs.<locals>.test�s���a��F�?�"rr.r/r(r�rk
)r
r'r0rz)r'r
r0rz)r
r0rzrV)r
rr0rzr1r0r()rr'r
rg
r[
r�s  r�#test_signature_bind_args_and_kwargsz5TestSignatureBind.test_signature_bind_args_and_kwargs�s���	#�	
������4��A�.��A�q�"�
�>�������4��A�5�u��E��Q��5�%�#@�A�	C�������4�1��u�5��I��Q��5�%�#@�A�	C�������4�1��u�5��I��Q��5�%�#@�A�	C�������4��a�U���G��Q��5�%�#@�A�	C�������4��a�1�%�e��L��Q��5�%�#@�A�	C�������4��A�q�e��<��Q��E�5�>�2�	4�������4�1��Q��7��Q��2��	(rc	��d�}|jtd�5|j|d�ddd�|j|j|d��d�dd�d�}|jtd�5|j|d�ddd�d�}|j|j|dd�	�d
�|j|j|dd��d
�|jtd�5|j|ddd
��ddd�|jtd�5|j|dd�ddd�|jtd�5|j|ddd�	�ddd�|jtd�5|j|ddd��ddd�|jtd�5|j|d�ddd�d�}|j|j|dd�	�ddif�|j|j|dd��ddif�|j|j|ddd��ddddif�|j|j|ddd��ddddif�|jtd�5|j|dd��ddd�|j|j|dddd
��dddd
d�f�y#1swY���xYw#1swY��fxYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��]xYw#1swY��xYw)Nc��|Srr$r1s rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�����JrrU
r.r1c��|Srr$)r'r0r(s   rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�rr
rz"missing a required argument: 'bar'c�
�||fSrr$r�	s  rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�s����8�Orr/r�r1	)r(r0rV
rO)r(r0rzr�)r(rzz/missing a required keyword-only argument: 'bar'c��|||fSrr$)r0r(�bins   rr�z:TestSignatureBind.test_signature_bind_kwonly.<locals>.test�s����S�=� rr�	rz)rzr0r(z"missing a required argument: 'foo')rzr()r(rv
rz)rv
rz)r�r�r�rCr�s  r�test_signature_bind_kwonlyz,TestSignatureBind.test_signature_bind_kwonly�s!��	�
�
#�
#�I�%D�F��I�I�d�A��F�	
������4�Q��/��3��	�
�
#�
#�I�%I�K��I�I�d�A��K�	�������4����2�F�;�������4�Q�A��6��?�
�
#�
#��B�D�
�I�I�d��q�r�I�2�D�
�
#�
#�I�%D�F��I�I�d�A�q�!�F��
#�
#�I�%D�F��I�I�d�A�q�a�I�(�F��
#�
#��B�D�
�I�I�d�A�1�5�I�1�D�
�
#�
#�I�&7�8�
�I�I�d�A��8�
	!�������4����2�Q��2�J�?�������4�Q�A��6��A�r�
�C�������4�����>��Q����0�	2�������4�e����B��Q����0�	2�
�
#�
#�I�$H�J��I�I�d��A�I�.�J�	
������4���q�r��B��Q��2� 6�7�	9�eF�F��K�K��D�D��
F�F��F�F��D�D��
8�8��J�J�s_�K�4K+�0K8�$L�L�
L�>L,�L9�K(�+K5�8L�L�L�L)�,L6�9Mc�\�dd�d�}tj|�}|jdddddd	�
�}|jt	|j
j
��ddd
dddd	d�ff�|j|jdddd	d
��|j|jd�y)Nr~�r-c��yrr$)r'r
r-rrNs     rr�z=TestSignatureBind.test_signature_bind_arguments.<locals>.testr�rrOrIrbrzr��<)r
rrrN�r'rO)r)rI)r
rbrN)rrrN)rOrI)	rQr�rUrCrn�	arguments�itemsrNr�rWr�rqrWs    r�test_signature_bind_argumentsz/TestSignatureBind.test_signature_bind_argumentss��� #�	�����%��
�X�X�b�"��b�r�"�X�
=��	
����r�|�|�1�1�3�4�#�_�i�#�2�r�R�%H�I�K�	L�	
������!��B�"�E�	G�������(�+rc��ddd�d�}|j|j|dddd	d
��dddd	d
if�|j|j|dd�dddddif�|j|j|dddd	��ddddd	if�|j|j|dddd	d�
�ddddd	ddif�|j|j|dddddd	��ddddd	ddif�|j|j|ddddd	d�
�ddddd	ddif�|j|j|ddd��dddddddif�|jtd�5|j|dd��ddd�dd�}|jtd�5|j|dd��ddd�y#1swY�AxYw#1swYyxYw)Nrtr�r�r�c��||||||fSrr$)r�	�b_po�c_por0r(rNs      rr�zCTestSignatureBind.test_signature_bind_positional_only.<locals>.tests����t�S�#�v�5�5rr.r/rVr(�r�	rO)r0r(r�
r�
rb�)r�
r0r()r�
z3missing a required positional-only argument: 'a_po')r�	r�
c�
�||fSrr$�r�
�d_pos  r�without_var_kwargszQTestSignatureBind.test_signature_bind_positional_only.<locals>.without_var_kwargs/s����:�rzCpositional-only arguments passed as keyword arguments: 'c_po, d_po'rfrr�
)rtr�)rtrVrW
)rWr�r�
s   r�#test_signature_bind_positional_onlyz5TestSignatureBind.test_signature_bind_positional_onlys��	6�r�	6�	
������4��A�q�!���;��Q��1�a��,�	.�	
������4��A�.��Q��2�r�2�.�	0�	
������4��A�1�!��<��Q��1�a��,�	.�	
������4��A�1�!�"��E��Q��1�a�&�"��6�	8�	
������4��A�r���q��I��Q��A�q�6�2�,�7�	9�	
������4��A�r�q�a�b��I��Q��A�q�6�2�,�7�	9�	
������4��A�A��6��Q��2�r�F�A�;�7�	9��
#�
#�I�/d�
e��I�I�d���I�+�f�	��
#�
#��Q�
�
�I�I�(�r��I�;�	
�
�
f�
e��
�
�s�F1�F=�1F:�=Gc���d�}tj|�}|jddd�}|j|jd�|jddd��}|j|jd�y)Nc��yrr$)r'rWr
s   rr�zATestSignatureBind.test_signature_bind_with_self_arg.<locals>.test:r�rr.r/rtr�r�)rQr�rUrCrr
s    r�!test_signature_bind_with_self_argz3TestSignatureBind.test_signature_bind_with_self_arg8se��	�����%��
�X�X�a��A�
��������)�,�
�X�X�a�a�1�X�
%��������)�,rc��d�}tj|�}|jtd�5|j	dd��ddd�d�}|j|j
|d��dd	dif�tj|�}|j	d��}|j|jd
d	dii�y#1swY�{xYw)Nc�
�||fSrr$�r'rs  rr�z?TestSignatureBind.test_signature_bind_vararg_name.<locals>.testCs���d�7�Nrz)got an unexpected keyword argument 'args'rr.r�
c�
�||fSrr$r�s  rr�z?TestSignatureBind.test_signature_bind_vararg_name.<locals>.testLr�	rrMr$rrN)rQr�r�r�rUrCr�r}
r
s    r�test_signature_bind_vararg_namez1TestSignatureBind.test_signature_bind_vararg_nameBs���	�����%��
�
#�
#��B�D�
�H�H�q�q�H�!�D�
	 �������4�a��0�2���{�2C�D�����%��
�X�X�1�X�
���������6�1�+�'>�?�D�D�s�B=�=Cc���d�}|jjd}tj|i�}t	td��}|j
t|j||��hd��y)Nc�8�td�td�D��S)Nc3�&K�|]	}||z���y�wrr$)rlr-s  rrmzWTestSignatureBind.test_signature_bind_implicit_arg.<locals>.make_set.<locals>.<genexpr>Xs����/�h��q�1�u�h�s�r()rPr1r$rr�make_setzDTestSignatureBind.test_signature_bind_implicit_arg.<locals>.make_setWs���/�e�A�h�/�/�/rr.r(>rr.rVrKrR)	r'�	co_constsr�r	�iterr1rCrPr�)rWr�
�gencomp_code�gencomp_func�iterators     r� test_signature_bind_implicit_argz2TestSignatureBind.test_signature_bind_implicit_argTs]��	0��(�(�2�2�1�5���)�)�,��;����a��>������T�Y�Y�|�X�>�?�AQ�Rrc���d�}tj|�}|jdd��}|j|jddi�|jd|jj��y)Nc�(�||j|�fSr)r�)r(rNs  rr0zATestSignatureBind.test_signature_bind_posonly_kwargs.<locals>.foo`s����
�
�3��'�'r�pos-only�keywordr�r()r(r�
)rQr�rUrCrNrr}
r~
)rWr0rq�results    r�"test_signature_bind_posonly_kwargsz4TestSignatureBind.test_signature_bind_posonly_kwargs_sb��	(�����$�����*�)��4���������	�(:�;��
�
�)�6�+;�+;�+A�+A�+C�DrN)rNrcrdr�r�rX
r\
ra
rd
rh
rl
ro
rw
r�
r�
r�
r�
rr�
r�
r$rrrQ
rQ
[so���(��(�$�3�<�8>�*�8�(�(69�p,�#<�J-�@�$�S��S�ErrQ
c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestBoundArgumentsc��d�}tj|�jd�}|jtd�5t|�ddd�y#1swYyxYw)Nc��yrr$r�s rr0zITestBoundArguments.test_signature_bound_arguments_unhashable.<locals>.foolr�rr.r�	)rQr�rUr�r�r�	�rWr0rWs   r�)test_signature_bound_arguments_unhashablez<TestBoundArguments.test_signature_bound_arguments_unhashableksE���
�
�
�s�
#�
(�
(��
+��
�
#�
#�I�/@�
A���H�B�
A�
A�s�A�Ac�
�d�}tj|�jd�}|j||k(�|j	||k7�|j|t
k(�|j	|t
k7�tj|�jd�}|j||k(�|j	||k7�tj|�jd�}|j	||k(�|j||k7�d|jd<|j||k(�|j	||k7�d�}tj|�jd�}|j	||k(�|j||k7�d�}tj|�}|jdd��}|jdd��}|j||k(�|j	||k7�y)	Nc��yrr$r�s rr0zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.foosr�rr.r/r'c��yrr$rFs rr(zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.bar�r�rc��yrr$rs  rr0zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.foo�r�rrr�	)rQr�rUrMrVr	r}
)	rWr0rW�ba2�ba3r(�ba4rq�ba1s	         r�'test_signature_bound_arguments_equalityz:TestBoundArguments.test_signature_bound_arguments_equalityrs����
�
�
�s�
#�
(�
(��
+������b��!�����r��"�����i��(�����y��)�����$�)�)�!�,������c�	�"�����s��#�����$�)�)�!�,������s��#�����c�	�"���
�
�c������c�	�"�����s��#������$�)�)�!�,������s��#�����c�	�"������$���h�h��a�h� ���h�h��a�h� ������s�
�#�������$rc�v�id�dddddifd�}tj|�}|jdd	i�
�}ttj
dz�D]X}|j
|��5t	jt	j||��}|j||�ddd��Zy#1swY�exYw)Nr�rr.r�r�r�c��yrr$r�s    rr0zETestBoundArguments.test_signature_bound_arguments_pickle.<locals>.foo�r�rrIrbry
)r�)
rQr�rUr1r�r�r�r�r�rC)rWr0rqrWr��
ba_pickleds      r�%test_signature_bound_arguments_picklez8TestBoundArguments.test_signature_bound_arguments_pickle�s����:�1�:�2�e�*�:�����$��
�X�X�b�"��X�
#����0�0�1�4�5�C������-�#�\�\�&�,�,�r�3�*?�@�
�� � ��Z�0�.�-�6�-�-�s�(<B/�/B8	c��id�dddddifd�}tj|�}|jdd	i�
�}|jt	|�d�y)Nr�rr.r�r�r�c��yrr$r�s    rr0zCTestBoundArguments.test_signature_bound_arguments_repr.<locals>.foo�r�rrIrbry
z <BoundArguments \(a=20,.*\}\}\)>)rQr�rU�assertRegexr��rWr0rqrWs    r�#test_signature_bound_arguments_reprz6TestBoundArguments.test_signature_bound_arguments_repr�sO���:�1�:�2�e�*�:�����$��
�X�X�b�"��X�
#������b��#F�Grc
�H�did�dd�}tj|�}|jd�}|j�|j	t|jj��ddddifd	ifg�|jd
ddd��}|j�|j	t|jj��d
dddifd	ddifg�d�}tj|�}|jd�}|j�|j	t|jj��dg�d�}tj|�}|j�}|j�|j	t|jj��g�dd�}tj|�}|j�}|j�|j	t|jj��dg�y)Nr.r�rc��yrr$)r'r
rrrps     rr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�s��drrI)r'rIr�	)rr$rprOrb)r�r|
)r
rI)r)rbr�c��yrr$rs  rr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�r�	rc��yrr$r$rrr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�r�rc��yrr$r�s rr0zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo�rFr)r'rzr )rr.r�)	rQr�rU�apply_defaultsrCr�r}
r~
�bind_partialr�
s    r�-test_signature_bound_arguments_apply_defaultsz@TestBoundArguments.test_signature_bound_arguments_apply_defaults�s���2�2�2�����$��
�X�X�b�\��
�����������#�#�%�&�
��,��b�	�D�"�:�F�	H��X�X�b�"�b�A�X�
&��
�����������#�#�%�&�
�	�?�S�"�I��s�1�g��O�	Q�	�����$��
�
�
�b�
!��
�����������#�#�%�&�
�K�	�
	�����$��
�X�X�Z��
��������b�l�l�0�0�2�3�R�8�	 �����$��
�X�X�Z��
��������b�l�l�0�0�2�3�m�_�Erc��d�}tj|�jd�}|jt	|j
�t�y)Nc��yrr$r�s rr0zMTestBoundArguments.test_signature_bound_arguments_arguments_type.<locals>.foo�r�rr.)rQr�rUrcr�r}
rr�
s   r�-test_signature_bound_arguments_arguments_typez@TestBoundArguments.test_signature_bound_arguments_arguments_type�s7���
�
�
�s�
#�
(�
(��
+���
�
�d�2�<�<�(�$�/rN)	rNrcrdr�
r�
r�
r�
r�
r�
r$rrr�
r�
js#���%�>1�H�(F�T0rr�
c��eZdZd�Zd�Zy)�TestSignaturePrivateHelpersc�|�tj|�\}}|j||�|j||�yr)rQ�"_signature_strip_non_python_syntaxrC)rW�input�clean_signature�self_parameter�computed_clean_signature�computed_self_parameters      r�_strip_non_python_syntaxz4TestSignaturePrivateHelpers._strip_non_python_syntax�s?��
�6�6�u�=�	$� �#����1�?�C����0�.�Arc��|jddd�|jddd�|jddd�|jddd�|jddd�|jd	d	d�|jddd�y)
NzZ($module, /, path, mode, *, dir_fd=None, effective_ids=False,
       follow_symlinks=True)zR(module, /, path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)rz($module, word, salt, /)z(module, word, salt, /)z(x, y=None, z=None, /)z(x, y=None, z=None)z!(x,
    y=None,
      z = None  )r�)r�
ras r�&test_signature_strip_non_python_syntaxzBTestSignaturePrivateHelpers.test_signature_strip_non_python_syntax�s����%�%�
E�
=�
�	�	
�%�%�&�%�
�	�
	
�%�%�$�$��	�
	
�%�%�!�!��	�
	
�%�%�1�!��	�
	
�%�%����	�
	
�%�%����	rN)rNrcrdr�
r�
r$rrr�
r�
�s
��B�$rr�
c�r�eZdZeej
ed�d���Zd�Ze	jd��Zy)�TestSignatureDefinitionsr�c�Z�t�}hd�}||z}dh}||z}hd�}||z}hd�}tt�}t|j	��D]z\}}t|�s�t
|t�r||vr|j|�||vr�<|j|��5|jtj|��ddd��|||z
|z
D];}|j|��5|j||j�ddd��=y#1swY��xYw#1swY�TxYw)N>r�r�
r��varsr1�slicer�rH>�maxr��
breakpoint�__build_class__>	r�r�rnr�r
r�reversed�	enumerate�
memoryview)r�)rPr�
r�r�r~
�callabler�r�rwr��assertIsNotNonerQr�r��__text_signature__)	rW�no_signature�needs_groups�
needs_null�
needs_varargs�types_with_signaturesr2r(rZs	         r�test_builtins_have_signaturesz6TestSignatureDefinitions.test_builtins_have_signaturess"���u��0����$���Y�
��
�"��G�
��
�%��!
��
�(�^������
�+�I�D�#��C�=���#�t�$�$�6K�*K�� � ��&���$�����d��+��$�$�W�%6�%6�s�%;�<�,�+�,� !�:�-��<�D����d��+��!�!�"�T�(�"=�"=�>�,�+�=�
,�+��,�+�s�%D�+D!�D	�!D*	c��d�}d|_tj|�}|j|�|j	t|�d�d|_tj|�}|j	t|�d�d|_tj|�}|j	t|�d�d|_tj|�}|j	t|�d	�d
|_|j
t�5tj|�ddd�d|_|j
t�5tj|�ddd�d|_|j
t�5tj|�ddd�y#1swY�~xYw#1swY�PxYw#1swYyxYw)
Nc��yrr$r�s  rr�zNTestSignatureDefinitions.test_python_function_override_signature.<locals>.func6r�rz(($self, a, b=1, *args, c, d=2, **kwargs)z*(self, /, a, b=1, *args, c, d=2, **kwargs)z+($self, a, b=1, /, *args, c, d=2, **kwargs)z*(self, a, b=1, /, *args, c, d=2, **kwargs)z"(self, a=1+2, b=4-3, c=1 | 3 | 16)z(self, a=3, b=1, c=19)z(self, a=1,
b=2,


   c=3)z(self, a=1, b=2, c=3)z(self, x=does_not_exist)z(self, x=sys, y=inspect)z(self, 123))r�
rQr�r�
rCr�r�r�)rWr�rqs   r�'test_python_function_override_signaturez@TestSignatureDefinitions.test_python_function_override_signature5sb��	�"L�������%�����S�!�����S��#O�P�"O�������%������S��#O�P�"F�������%������S��#;�<�"B�������%������S��#:�;�"<���
�
�
�z�
*����d�#�+�"<���
�
�
�z�
*����d�#�+�"/���
�
�
�z�
*����d�#�+�
*�
+�
*��+�
*��+�
*�s$�
F �F,�F8� F)�,F5�8Gc���ddlm}Gd�d|�}|j}|j|d�t	j
|�}|jt
|�d�y)Nr)�BufferedReaderc��eZdZy)�VTestSignatureDefinitions.test_base_class_have_text_signature.<locals>.MyBufferedReaderNr�r$rr�MyBufferedReaderr�
Ws��&rr�
z&(raw, buffer_size=DEFAULT_BUFFER_SIZE)z(raw, buffer_size=8192))�test.typinganndata.ann_module7r�
r�
rCrQr�r�)rWr�
r�
�text_signaturerqs     r�#test_base_class_have_text_signaturez<TestSignatureDefinitions.test_base_class_have_text_signatureSsX��	B�	'�~�	'�(�:�:������)Q�R���� 0�1������S��#<�=rN)rNrcrdrr�r6rr�
r�
r�requires_docstringsr�
r$rrr�
r�
�sQ����X�_�_�)�M�O�-?�O��-?�^$�<
� � �	>�!�	>rr�
c�"�eZdZd�Zed��Zy)�NTimesUnwrappablec� �||_d|_yr)r��_next)rWr�s  rr�zNTimesUnwrappable.__init__as�������
rc��|jdkrtd��|j�t|jdz
�|_|jS)NrzUnwrapped too many timesr.)r�r�r�
r�
ras rrzNTimesUnwrappable.__wrapped__esA���6�6�Q�;��6�7�7��:�:��*�4�6�6�A�:�6�D�J��z�z�rN)rNrcrdr�rrr$rrr�
r�
`s������rr�
c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�
TestUnwrapc��d�}tjd��|�}|jtj|�|�y)Nc��||zSrr$rs  rr�z(TestUnwrap.test_unwrap_one.<locals>.funcpr~rrI)r�)r��	lru_cachercrQ�unwrap)rWr�r�s   r�test_unwrap_onezTestUnwrap.test_unwrap_oneos5��	�1�)�%�%�b�1�$�7���
�
�g�n�n�W�-�t�4rc���d�}|}td�D]}tj|�d��}�|j|j|�|jt
j|�|�y)Nc��||zSrr$rs  rr�z,TestUnwrap.test_unwrap_several.<locals>.funcvr~rrOc��yrr$r$rrr�z/TestUnwrap.test_unwrap_several.<locals>.wrapperzr�r)r1r�r�r�rrcrQr�
)rWr�r��__s    r�test_unwrap_severalzTestUnwrap.test_unwrap_severalusd��	�����)�B�
�_�_�W�
%�
�&�
��	
����,�,�d�3��
�
�g�n�n�W�-�t�4rc���d�}tj|�d��}tj|�d��}d|_tj|d���}|j||�y)Nc��||zSrr$rs  r�func1z#TestUnwrap.test_stop.<locals>.func1�r~rc��yrr$r$rrr�	z#TestUnwrap.test_stop.<locals>.func2�r�rc��yrr$r$rrr�z%TestUnwrap.test_stop.<locals>.wrapper�r�rr.c��t|d�S)N�	stop_hererrrs rr�z&TestUnwrap.test_stop.<locals>.<lambda>�s��7�1�k�3Jr)�stop)r�r�r
rQr�
rc)rWrr�	r��	unwrappeds     r�	test_stopzTestUnwrap.test_stop�sf��	�	����	�	�
 �	�	����	�	�
 �	�����N�N�7�)J�M�	��
�
�i��'rc��d�}||_|jtd�5tj|�ddd�d�}||_||_|jtd�5tj|�ddd�|jtd�5tj|�ddd�y#1swY��xYw#1swY�JxYw#1swYyxYw)Nc��yrr$r$rrrz$TestUnwrap.test_cycle.<locals>.func1�r�rr�	c��yrr$r$rrr�	z$TestUnwrap.test_cycle.<locals>.func2�r�r)rr�r�rQr�
)rWrr�	s   r�
test_cyclezTestUnwrap.test_cycle�s����!���
�
#�
#�J��
?��N�N�5�!�@�	�!���!���
�
#�
#�J��
?��N�N�5�!�@�
�
#�
#�J��
?��N�N�5�!�@�
?�@�
?��@�
?��
?�
?�s#�B9�&C�C�9C�C�Cc���d��d�_G�fd�d�}|jtj|���y)Nc��yrr$r$rrr�z(TestUnwrap.test_unhashable.<locals>.func�r�rc���eZdZdZW�Zy)�%TestUnwrap.test_unhashable.<locals>.CN)rNrcrd�__hash__rr�s�rrr�s
����H��Krr)rr�rQr�
)rWrr�s  @r�test_unhashablezTestUnwrap.test_unhashable�s3�������	�	�	
���'�.�.���-�.rc���ttj�dz�}|jtd�5tj|�ddd�y#1swYyxYw)Nr.r�	)r�
r��getrecursionlimitr�r�rQr�
)rWrZs  r�test_recursion_limitzTestUnwrap.test_recursion_limit�sC���� 5� 5� 7�!� ;�<��
�
#�
#�J��
?��N�N�3��@�
?�
?�s�A�Ac���|jtjt�t�|jtjt�t�|jtjt
�t
�|jtjt	t
��t
�|jtjtt��t�yr)rcrQr�
r�
r�r�ras r�test_wrapped_descriptorz"TestUnwrap.test_wrapped_descriptor�s����
�
�g�n�n�%6�7�9J�K��
�
�g�n�n�\�2�L�A��
�
�g�n�n�[�1�;�?��
�
�g�n�n�\�+�%>�?��M��
�
�g�n�n�[��%>�?��NrN)
rNrcrdr�
rr
rrrrr$rrr�
r�
ms&��5�	5�(�"�/� �
Orr�
c�Z�eZdZd�Zd�Zejedud�d��Zd�Z	d�Z
y)�TestMainc��tjd�}tddd�\}}}|j�j	�}|j|ddt
j|�j	��|j|d�y)Nr��-mrQrr)�	importlib�
import_moduler
�decoder.rCrQr�)rW�module�rcr@�errr�s      r�test_only_sourcezTestMain.test_only_source�sw���(�(��4��'��i�(2�4���C���
�
��'�'�)������s���W�%6�%6�v�%>�%I�%I�%K�L�����c�"rc��d�}d|_|jt�5tj|�ddd�y#1swYyxYw)Nc��yrr$r$rrr0z)TestMain.test_custom_getattr.<locals>.foo�r�rr�)r�r�r�rQr�rks  r�test_custom_getattrzTestMain.test_custom_getattr�s7��	����
�
�
�y�
)����c�"�*�
)�
)�s	�?�ANz6threads required to test __qualname__ for source filesc��tddd�\}}}|j�j�}|j|ddt	j
t�j��|j|d�y)Nr rQz%concurrent.futures:ThreadPoolExecutorrr)r
r#r.rCrQr�r)rWr%r@r&r�s     r�test_qualname_sourcezTestMain.test_qualname_source�so��(��i�%L�N���C���
�
��'�'�)������s��� �*�*�+=�>�I�I�K�	M�����c�"rc��tddd�\}}}|j�j�}|j|dg�y)Nr rQr�z#Can't get info for builtin modules.)rr#r.rC)rWror@r&r�s     r�
test_builtinszTestMain.test_builtins�sA��+�D�)�,1�3���3���
�
��'�'�)������!F� G�Hrc�T�tjd�}tj�}t	g|�d�d�d�d���\}}}|j�}|j
|jj|�|j
|j|�|j
|jj|�|j
|j|�|j
|jj|�|j
|j|�|j|d�y)Nr�r rQz	--detailsr)r!r"r�!optim_args_from_interpreter_flagsr
r#r�__spec__r(rN�originrg�cached�
__cached__rC)rWr$rr%r@r&�outputs       r�test_detailszTestMain.test_details�s����(�(��4���8�8�:��'�A��A�t�A�Y�A�(2�A�4?�A���C��������
�
�f�o�o�*�*�F�3��
�
�f�o�o�v�.��
�
�f�o�o�,�,�f�5��
�
�f�o�o�v�.��
�
�f�o�o�,�,�f�5��
�
�f�'�'��0�����c�"r)rNrcrdr'r*r�r6rr,r.r6r$rrrr�sC��#�#��X�_�_�'�4�/�D�F�#�F�#�I�
#rrc�`�eZdZejd�Zejd�Zd�Zd�Zy)�
TestReloadz def foo():
    print("Bla")
    z#def foo():
    print("Oh no!")
    c���tj|�}t|d��5}|j|j	�jd�|jd��ddd�y#1swYyxYw)Nr�r�T)rQr�r�rCr�r.)rWr4r��
inspected_srcr�s     r�assertInspectEqualzTestReload.assertInspectEqual�sZ���)�)�&�1�
�
�$��
)�S�������
�%�%�d�+��(�(��.�
�*�
)�
)�s�?A+�+A4c�N�td|j�5\}}tj|�}|j	||�t|dd��5}|j
|j�ddd�|j	||�ddd�y#1swY�$xYw#1swYyxYw)N�
reload_bugr0r�r�)r�
src_beforer!r"r;r�r6�	src_after)rWr(r4r$r�s     r�test_getsource_reloadz TestReload.test_getsource_reload�s���
�\�4�?�?�
;�|��d��,�,�T�2�F��#�#�D�&�1��d�C�'�2�c��	�	�$�.�.�)�3��#�#�D�&�1�<�
;�3�2��<�
;�s#�9B�B�,B�B	�B�B$N)	rNrcrd�textwrap�dedentr>r?r;r@r$rrr8r8�s8�� ����"�	�J�
 ����!�	�I�
�2rr8�__main__)vr"r�r�r�r�r�r!rQr�r�r2ra�os.pathrr�r�r<r�r�rAr=	rr�r��
unittest.mockr�r��concurrent.futuresr�ImportError�test.supportrrr	�test.support.import_helperr
r�test.support.os_helperr�test.support.script_helperr
rr�r�test.test_inspectrr�rr�rrrrrgr_r)rr�r�r%r=rFr�r�rLrHrtrwr{r"r~r�rGr�r�r�r:rArIr\r�r�r-rEr�rJrUr^r`rrrPrJr�r�r�r�r�r�requires_working_socket�IsolatedAsyncioTestCaser9r�rbr�rergr7
rQ
r�
r�
r�
r�
r�
rr8rN�mainr$rr�<module>rPs�������	���	��	�
���
�
�
����������5�&�8�E�)�N��3�5�7�<�>�C��,�,��
���J���c�r�l�G��7�
��(��c�m�m�o��,�
�$	�$M�#R�#R�#T� �M��"�"�M�0���������sA�Z�sA�l	B>�:�B>�H8�H�%�%�8� 7�7�
T:�}�T:�l	E�x�0�0�	E�0�
�0�
7�]�
7�87�M�87�t
C�
�
C�nO�]�nO�`:�
�:�&N�=�N�7�F�7�9�f�9�>�W

�h�/�/�W

�tb�8�,�,�b�5>�8�,�,�5>�p�h��D>��*�*�D>�NG+�x�0�0�G+�R �5� �:�$:�:�(K.��)�)�K.�\
dH�H�-�-�dH�NAG�H�-�-�AG�H!�� � �"�cG�8�;�;�cG�#�cG�L	�'�#�#�	�
	�'�#�#�	�K �(�+�+�K �\8O�(�+�+�O�dLE��)�)�LE�^d0��*�*�d0�L-�(�"3�"3�-�^^>�x�0�0�^>�B��AO��"�"�AO�H/#�x� � �/#�d2��"�"�2�<�z���H�M�M�O���Ig�����s�*O7�7P�P

Youez - 2016 - github.com/yon3zu
LinuXploit