403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.26
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/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

���g����b�ddlZddlZddlZddlmZddlmZmZmZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZmZddlmZddlmZmZddlmZmZmZmZddlmZmZmZdd	lm Z m!Z!m"Z"m#Z#dd
lm$Z$m%Z%m&Z&ddlm'Z'm(Z(m)Z)ddlm*Z*m+Z+m,Z,m-Z-dd
lm.Z.ddlm/Z/m0Z0m1Z1m2Z2m3Z3ddlm4Z4m5Z5m6Z6ddlm7Z7ddlm8Z8m9Z9ddlm:Z:ddlm;Z;ddlm<Z<ddlm=Z=ddlm>Z>m?Z?ddlm@Z@ddlmAZAmBZBmCZCmDZDddlmEZEmFZFmGZGddlmHZHmIZIddlmJZJmKZKddlmLZLmMZMddlmNZNddlmOZOmPZPmQZQmRZRddlmSZSddlTZTddlUZUddlZddlVZVddlWZWdd lXmYZYmZZZdd!l[m\Z\dd"l]m^Z^m_Z_m`Z`d#Zad$Zbd%ZcGd&�d'ee\�Zdd(�ZeGd)�d*�ZfGd+�d,ef�ZgGd-�d.ef�ZhGd/�d0egeh�ZiGd1�d2ed�ZjGd3�d4�ZkGd5�d6eked�ZlGd7�d8eked�ZmGd9�d:ed�ZnGd;�d<ed�ZoGd=�d>ed�ZpGd?�d@ed�ZqdAeresdBeteseresfdCereuesfdD�ZvGdE�dFed�ZwGdG�dHed�ZxGdI�dJed�ZyGdK�dLed�ZzGdM�dNed�Z{GdO�dPed�Z|GdQ�dRed�Z}GdS�dT�Z~GdU�dVe~ed�ZGdW�dXe~ed�Z�GdY�dZed�Z�e d[ese��Z�e d\�Z�Gd]�d^e/e�e�f�Z�Gd_�d`e�e�e�f�Z�Gda�dbe3�Z�e6Gdc�dde�e3��Z�Gde�df�Z�Gdg�dhe3�Z�Gdi�dje3�Z�e6Gdk�dle�e�e3��Z�e6Gdm�dne3��Z�Gdo�dpe��Z�Gdq�dr�Z�Gds�dteA�Z�e6Gdu�dve3��Z�Gdw�dxed�Z�Gdy�dzed�Z�Gd{�d|ed�Z�Gd}�d~ed�Z�Gd�d�ed�Z�Gd��d�ed�Z�Gd��d�ed�Z�Gd��d�ed�Z�dd�l]m�Z�e>Gd��d���Z�e>Gd��d���Z�Gd��d�ed�Z�e�d���Z�Gd��d��Z�Gd��d�ed�Z�dd�l]m�Z�m�Z�m�Z�m�Z�m�Z�e d��Z�Gd��d�e�jNe��Z�Gd��d�e�jRe��Z�Gd��d��Z�Gd��d��Z�Gd��d�e��Z�Gd��d�e��Z�Gd��d�e/e$�Z�Gd��d��Z�Gd��d��Z�Gd��d�eA�Z�Gd��d�eA�Z�Gd��d�eA�Z�Gd��d�eA�Z�eDd�d�esfg�Z�Gd��d�eD�Z�Gd��d�e/e$eD�Z�Gd��d�e`�jrd����Z�Gd��d�e`�jve$d����Z�Gd��d�e�e��Z�Gd��d�eDd����Z�Gd��d�eD�Z�Gd��d�eDd����Z�GdÄd�eDd����Z�Gdńd�e��Z�GdDŽd�eD�Z�GdɄd�eëZ�Gd˄d�eD�Z�Gd̈́d�eD�Z�Gdτd�eD�Z�Gdфd�e_�jX�Z�d�e�j�e�fdԄZ�	e�e����j�d�e7Z�GdՄd֫Z�Gdׄd�ed�Z�Gdلd�e�Z�Gdۄd�ed�Z�Gd݄d�ed�Z�Gd߄d�ed�Z�Gd�d�e�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd�d�ed�Z�Gd��d�ed�Z�Gd��d�ed�Z�Gd��d�ed�Z�ej�d��Z�ej@d�e�e�e�Z�Gd��d�ed�Z�Gd���ded�Z�G�d��ded�Z�G�d��ded�Z�G�d��ded�Z�d�Z�e�dk(re�yy#e�$rZ�YdZ�[ΐ�UdZ�[�wwxYw(	�N)�defaultdict)�	lru_cache�wraps�reduce)�TestCase�main�skip)�patch)�copy�deepcopy)�Any�NoReturn�Never�assert_never)�overload�
get_overloads�clear_overloads)�TypeVar�TypeVarTuple�Unpack�AnyStr)�T�KT�VT)�Union�Optional�Literal)�Tuple�List�Dict�MutableMapping)�Callable)�Generic�ClassVar�Final�final�Protocol)�assert_type�cast�runtime_checkable)�get_type_hints)�
get_origin�get_args)�override)�is_typeddict)�reveal_type)�dataclass_transform)�
no_type_check�no_type_check_decorator��Type)�
NamedTuple�NotRequired�Required�	TypedDict��IO�TextIO�BinaryIO)�Pattern�Match)�	Annotated�
ForwardRef)�Self�
LiteralString)�	TypeAlias)�	ParamSpec�Concatenate�
ParamSpecArgs�ParamSpecKwargs)�	TypeGuard)�captured_stderr�cpython_only)�ExtraAssertions)�
ann_module695�mod_generics_cache�_typed_dict_helperz&Cannot subclass special typing classesz/type 'typing.%s' is not an acceptable base typez!Cannot subclass an instance of %sc��eZdZd�Zy)�BaseTestCasec�<�tjD]	}|��y�N)�typing�	_cleanups��self�fs  �%C:\Python312\\Lib\test\test_typing.py�clear_cacheszBaseTestCase.clear_caches=s���!�!�A�
�C�"�N)�__name__�
__module__�__qualname__rZ�r[rYrQrQ;s��r[rQc�0��	t���fd��}|S)Nc���ttjdz�D]'}|j|��5�||��ddd��)y#1swY�4xYw)N�)�pickle_proto��proto)�range�pickle�HIGHEST_PROTOCOL�subTest)rWre�	test_funcs  �rY�wrapperz%all_pickle_protocols.<locals>.wrapperEsD����6�2�2�Q�6�7�E����5��1��$�e�,�2�1�8�1�1�s�A	�	A	�r)rjrks` rY�all_pickle_protocolsrmBs$���D�
�9��-��-�
�Nr[c��eZdZy)�EmployeeN�r\r]r^r_r[rYroroN���r[roc��eZdZy)�ManagerNrpr_r[rYrsrsRrqr[rsc��eZdZy)�FounderNrpr_r[rYruruVrqr[ruc��eZdZy)�ManagingFounderNrpr_r[rYrwrwZrqr[rwc�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�AnyTestsc�x�|jt�5tdt�ddd�y#1swYyxYw�N�*)�assertRaises�	TypeError�
isinstancer
�rWs rY�test_any_instance_type_errorz%AnyTests.test_any_instance_type_error`s&��
�
�
�y�
)��r�3��*�
)�
)���0�9c��|jtt�d�Gd�dt�}|jt|�dt�d��y)Nz
typing.Anyc��eZdZy)�AnyTests.test_repr.<locals>.SubNrpr_r[rY�Subr�g��r[r��<class 'z".AnyTests.test_repr.<locals>.Sub'>)�assertEqual�reprr
r\�rWr�s  rY�	test_reprzAnyTests.test_reprds@������c��L�1��#�������I��x�j� B�C�	
r[c���|jt�5tdt�ddd�|jt�5ttddd�y#1swY�5xYw#1swYyxYwr{)r}r~rr
�intr�s rY�test_errorszAnyTests.test_errorsmsL��
�
�
�y�
)��r�3��*�
�
�
�y�
)���H�*�
)�*�
)��
)�
)�s�A�A'�A$�'A0c��Gd�dt�}|jt|t��|j|�|�Gd�d�}|j	t|t��|j|�|�Gd�d||�}|jt|t��|jt||��|jt||��|jt||��|�}|j||�|j||�|j||�y)Nc��eZdZy)�(AnyTests.test_can_subclass.<locals>.MockNrpr_r[rY�Mockr�tr�r[r�c��eZdZy)�-AnyTests.test_can_subclass.<locals>.SomethingNrpr_r[rY�	Somethingr�xr�r[r�c��eZdZy)�1AnyTests.test_can_subclass.<locals>.MockSomethingNrpr_r[rY�
MockSomethingr�|r�r[r�)r
�
assertTrue�
issubclass�assertIsInstance�assertFalse�assertNotIsInstance)rWr�r�r��mss     rY�test_can_subclasszAnyTests.test_can_subclassss����3�����
�4��-�.����d�f�d�+�������I�s�3�4�� � ���d�3�2�I�t�2����
�=�#�6�7����
�=�-�@�A����
�=�)�<�=����
�=�$�7�8�
�_�����b�-�0����b�)�,����b�$�'r[c�6�Gd�dt�}|dd��y)Nc��eZdZd�Zy)�>AnyTests.test_subclassing_with_custom_constructor.<locals>.Subc��yrSr_�rW�args�kwargss   rY�__init__zGAnyTests.test_subclassing_with_custom_constructor.<locals>.Sub.__init__�s��r[N�r\r]r^r�r_r[rYr�r��s��5r[r�r�)�s)r
r�s  rY�(test_subclassing_with_custom_constructorz1AnyTests.test_subclassing_with_custom_constructor�s��	6�#�	6�	�A��r[c��Gd�d�}Gd�dt|�}|dd�}|j|jd�|j|jd�y)Nc��eZdZd�Zy)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Fooc��||_yrS��x�rWr�s  rYr�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Foo.__init__��	����r[Nr�r_r[rY�Foor�����
r[r�c���eZdZ�fd�Z�xZS)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Barc�2��||_t�|�	|�yrS)�y�superr�)rWr�r��	__class__s   �rYr�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Bar.__init__�s�������� ��#r[�r\r]r^r��
__classcell__�r�s@rY�Barr��s
���
$�
$r[r�rb�)r
r�r�r�)rWr�r��bs    rY�2test_multiple_inheritance_with_custom_constructorsz;AnyTests.test_multiple_inheritance_with_custom_constructors�sO��	�	�	$�#�s�	$�

��1�I��������a� �������a� r[c���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrS)r}r~r
�typer�s rY�test_cannot_instantiatez AnyTests.test_cannot_instantiate�sK��
�
�
�y�
)��E�*�
�
�
�y�
)��D��I�K�*�
)�*�
)��
)�
)���A�A(�A%�(A1c��tjttjttjtyrS)rTr?r
r>r;r�s rY�test_any_works_with_aliasz"AnyTests.test_any_works_with_alias�s%�����S�����s���	�	�#�r[N)r\r]r^r�r�r�r�r�r�r�r�r_r[rYryry^s*�� �
��(�&�!��r[ryc�H�eZdZUeeed<d�Zd�Zd�Zd�Z	d�Z
d�Zd�Zy	)
�BottomTypeTestsMixin�bottom_typec���|j|j|j�|j|j|j�|j|jd�yrS)r�r��assertIs�assertNotEqualr�s rY�
test_equalityz"BottomTypeTestsMixin.test_equality�sN������)�)�4�+;�+;�<��
�
�d�&�&��(8�(8�9����D�,�,�d�3r[c�N�|jt|j�d�yrS)r�r,r�r�s rY�test_get_originz$BottomTypeTestsMixin.test_get_origin�s���
�
�j��!1�!1�2�D�9r[c��|jt�5td|j�ddd�y#1swYyxYwr{)r}r~rr�r�s rY�test_instance_type_errorz-BottomTypeTestsMixin.test_instance_type_error�s,��
�
�
�y�
)��r�4�+�+�,�*�
)�
)�s�6�?c��|jt�5tt|j�ddd�|jt�5tt
|j�ddd�y#1swY�BxYw#1swYyxYwrS)r}r~r�ror�rr�s rY�test_subclass_type_errorz-BottomTypeTestsMixin.test_subclass_type_error�s[��
�
�
�y�
)��x��!1�!1�2�*�
�
�
�y�
)��x��!1�!1�2�*�
)�*�
)��
)�
)�s�A2�A>�2A;�>Bc�~�|jt�5|jtddd�y#1swYyxYwrS)r}r~r�r�r�s rY�test_not_genericz%BottomTypeTestsMixin.test_not_generic�s*��
�
�
�y�
)����S�!�*�
)�
)���3�<c	�p�|jtdtjt	|j
��z�5Gd�d|j
�}ddd�|jtt�5Gd�dt|j
��}ddd�y#1swY�KxYw#1swYyxYw)N�Cannot subclass c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.ANrpr_r[rY�Ar�����r[r�c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.BNrpr_r[rY�Br��r�r[r�)�assertRaisesRegexr~�re�escape�strr��CANNOT_SUBCLASS_TYPEr��rWr�r�s   rY�test_cannot_subclassz)BottomTypeTestsMixin.test_cannot_subclass�s���
�
#�
#�I�"�R�Y�Y�s�4�3C�3C�/D�%E�E�G�
�D�$�$�
�G��
#�
#�I�/C�
D�
�D��)�)�*�
�E�
D�	G�G��E�
D�s�B �8B,� B)�,B5c��|jt�5|j�ddd�|jt�5t|j��ddd�y#1swY�BxYw#1swYyxYwrS)r}r~r�r�r�s rYr�z,BottomTypeTestsMixin.test_cannot_instantiate�sZ��
�
�
�y�
)�����*�
�
�
�y�
)�"�D��!�!�"�$�*�
)�*�
)��
)�
)�s�A(�A4�(A1�4A=N)
r\r]r^r$r
�__annotations__r�r�r�r�r�r�r�r_r[rYr�r��s/���#���4�
:�-�3�"��%r[r�c�"�eZdZeZd�Zd�Zd�Zy)�
NoReturnTestsc�B�|jtt�d�y)N�typing.NoReturn)r�r�rr�s rYr�zNoReturnTests.test_repr�s������h��):�;r[c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)N�arg�returnc��yrSr_�r�s rY�somez/NoReturnTests.test_get_type_hints.<locals>.some�s��Sr[c��yrSr_r�s rY�some_strz3NoReturnTests.test_get_type_hints.<locals>.some_str����Cr[�r�r���target)r�rr�r�)rrir��gth�rWr�r��expectedr�s     rY�test_get_type_hintsz!NoReturnTests.test_get_type_hints�s\��0�h�0�8�0�?�#�x�8���X�&�F����V��,�� � ��V��h�7�-�,�'�,�,���A"�"A+	c�l�|jtt�|jtt�yrS)r�rrr�s rY�test_not_equalityzNoReturnTests.test_not_equality�s"�����H�e�,����E�8�,r[N)r\r]r^rr�r�r�rr_r[rYr�r��s���K�<�8�-r[r�c��eZdZeZd�Zd�Zy)�
NeverTestsc�B�|jtt�d�y)N�typing.Never)r�r�rr�s rYr�zNeverTests.test_repr�s������e��n�5r[c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)Nr�r�c��yrSr_r�s rYr�z,NeverTests.test_get_type_hints.<locals>.some�s��sr[c��yrSr_r�s rYr�z0NeverTests.test_get_type_hints.<locals>.some_str����cr[r�r�)r�rr�r)rrir�r�r�s     rYr�zNeverTests.test_get_type_hints�s\��*�e�*��*�9� �E�2���X�&�F����V��,�� � ��V��h�7�-�,�'�,�,�rN)r\r]r^rr�r�r�r_r[rYrr�s���K�6�8r[rc��eZdZd�Zy)�AssertNeverTestsc���|jt�5td�ddd�d}|jt|�5t|�ddd�ddz}|jt�5}t|�ddd�|j	tjjd�tjdz�y#1swY��xYw#1swY��xYw#1swY�exYw)Nz
some value�ai'rr�)
r}�AssertionErrorrr��
assertLess�len�	exceptionr�rT�_ASSERT_NEVER_REPR_MAX_LENGTH)rW�value�
huge_value�cms    rY�test_exceptionzAssertNeverTests.test_exception�s���
�
�
�~�
.����/���
�
#�
#�N�E�
:����;��5�[�
�
�
�
�~�
.�"���$�/��������!�!�!�$�%��0�0�1�4�	
�/�
.��;�
:��
/�
.�s#�C�C�0C �C�C� C)N)r\r]r^rr_r[rYrr�s��
r[rc�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�	SelfTestsc��|jtt�|jtt�|jtd�yrS)r�rBr�r�r�s rYr�zSelfTests.test_equalitys0������t�$��
�
�d�D�!����D�$�'r[c�6�Gd�d�}Gd�d�}Gd�d�}|||fD]H}|j|��5|jt|j�dti�ddd��J|jt
t�d�y#1swY�txYw)	Nc��eZdZdefd�Zy)�"SelfTests.test_basics.<locals>.Foor�c��yrSr_r�s rY�barz&SelfTests.test_basics.<locals>.Foo.bar���3r[N)r\r]r^rBrr_r[rYr�rs
��&�T�&r[r�c��eZdZdd�Zy)�%SelfTests.test_basics.<locals>.FooStrc��yrSr_r�s rYrz)SelfTests.test_basics.<locals>.FooStr.bar���Sr[N)r�rB�r\r]r^rr_r[rY�FooStrr"s��(r[r&c��eZdZdd�Zy)�+SelfTests.test_basics.<locals>.FooStrTypingc��yrSr_r�s rYrz/SelfTests.test_basics.<locals>.FooStrTyping.bar���Cr[N)r��typing.Selfr%r_r[rY�FooStrTypingr(s��/r[r,r�r�)rir�r�rrBr�r,�rWr�r&r,r�s     rY�test_basicszSelfTests.test_basics
s���	'�	'�	)�	)�	0�	0��F�L�1�F����V��,�� � ��V�Z�Z��8�T�2B�C�-�,�2�	
�
�
�j��&��-�-�,���,B�B	c�B�|jtt�d�y)Nr+)r�r�rBr�s rYr�zSelfTests.test_reprs������d��]�3r[c�r�|jt�5ttddd�y#1swYyxYwrS)r}r~rBr�r�s rY�test_cannot_subscriptzSelfTests.test_cannot_subscripts#��
�
�
�y�
)���I�*�
)�
)���-�6c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.CNrpr_r[rY�Cr6#r�r[r7zCannot subclass typing\.Selfc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.DNrpr_r[rY�Dr9'r�r[r:)r�r~r�r�rB�rWr7r:s   rYr�zSelfTests.test_cannot_subclass!si��
�
#�
#�I�/C�
D�
�D��J�
�E��
#�
#�I�/�1�
�D�
�1�1�E�
D��1�1���A+�A7�+A4�7Bc���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrS)r}r~rBr�r�s rY�test_cannot_initzSelfTests.test_cannot_init*sK��
�
�
�y�
)��F�*�
�
�
�y�
)��D��J�L�*�
)�*�
)��
)�
)�r�c���|jt�5tdt�ddd�|jt�5t	t
t�ddd�y#1swY�<xYw#1swYyxYw�Nrb)r}r~rrBr�r�r�s rY�test_no_isinstancezSelfTests.test_no_isinstance0sO��
�
�
�y�
)��q�$��*�
�
�
�y�
)��s�D�!�*�
)�*�
)��
)�
)���A"�A.�"A+�.A7c�(�tttf}tt}tt}|j	t|�ttf�|j	t|�tf�|j	t|�tf�yrS)rrBrr$r�r-�rW�alias_1�alias_2�alias_3s    rY�
test_aliaszSelfTests.test_alias6si����d�
�#���t�*���4�.������'�*�T�4�L�9�����'�*�T�G�4�����'�*�T�G�4r[N�r\r]r^r�r.r�r2r�r>rArHr_r[rYrrs*��(�
.�4����"�5r[rc�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�LiteralStringTestsc��|jtt�|jtt�|jtd�yrS)r�rCr�r�r�s rYr�z LiteralStringTests.test_equalityAs0������
�6��
�
�m�]�3����M�4�0r[c�6�Gd�d�}Gd�d�}Gd�d�}|||fD]H}|j|��5|jt|j�dti�ddd��J|jt
t�d�y#1swY�txYw)	Nc��eZdZdefd�Zy)�+LiteralStringTests.test_basics.<locals>.Foor�c��yrSr_r�s rYrz/LiteralStringTests.test_basics.<locals>.Foo.barHr*r[N)r\r]r^rCrr_r[rYr�rOGs
��/�]�/r[r�c��eZdZdd�Zy)�.LiteralStringTests.test_basics.<locals>.FooStrc��yrSr_r�s rYrz2LiteralStringTests.test_basics.<locals>.FooStr.barJ���cr[N)r�rCr%r_r[rYr&rRIs��1r[r&c��eZdZdd�Zy)�4LiteralStringTests.test_basics.<locals>.FooStrTypingc��yrSr_r�s rYrz8LiteralStringTests.test_basics.<locals>.FooStrTyping.barL���Sr[N)r��typing.LiteralStringr%r_r[rYr,rVKs��8r[r,r�r�)rir�r�rrCr�r,r-s     rYr.zLiteralStringTests.test_basicsFs���	0�	0�	2�	2�	9�	9��F�L�1�F����V��,�� � ��V�Z�Z��8�]�2K�L�-�,�2�	
�
�
�j��/��6�-�,�r/c�B�|jtt�d�y)NrY)r�r�rCr�s rYr�zLiteralStringTests.test_reprSs������m�,�.D�Er[c�r�|jt�5ttddd�y#1swYyxYwrS)r}r~rCr�r�s rYr2z(LiteralStringTests.test_cannot_subscriptVs$��
�
�
�y�
)��#��*�
)�
)�r3c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r^\r�r[r7z%Cannot subclass typing\.LiteralStringc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r``r�r[r:)r�r~r�r�rCr;s   rYr�z'LiteralStringTests.test_cannot_subclassZsj��
�
#�
#�I�/C�
D�
�D��'�
�E��
#�
#�I�8�:�
�M�
�:�:�E�
D��:�:�r<c���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrS)r}r~rCr�r�s rYr>z#LiteralStringTests.test_cannot_initcsM��
�
�
�y�
)��O�*�
�
�
�y�
)��D���!�*�
)�*�
)��
)�
)�r�c���|jt�5tdt�ddd�|jt�5t	t
t�ddd�y#1swY�<xYw#1swYyxYwr@)r}r~rrCr�r�r�s rYrAz%LiteralStringTests.test_no_isinstanceisO��
�
�
�y�
)��q�-�(�*�
�
�
�y�
)��s�M�*�*�
)�*�
)��
)�
)�rBc�(�tttf}tt}tt}|j	t|�ttf�|j	t|�tf�|j	t|�tf�yrS)rrCrr$r�r-rDs    rYrHzLiteralStringTests.test_aliasoso���
�}�4�5���}�%���=�)������'�*�]�M�,J�K�����'�*�]�,<�=�����'�*�]�,<�=r[NrIr_r[rYrKrK@s+��1�
7�F���"�+�>r[rKc��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�Zy)�TypeVarTestsc��td�}|j||�|j|t�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jt�y)Nrr_F)rr�r�r\�__constraints__r��	__bound__�
__covariant__�__contravariant__�__infer_variance__r]�rWrs  rY�test_basic_plainzTypeVarTests.test_basic_plainxs����C�L������A�����a��)�������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2�������x�0r[c���i}td||�|d}|j|t�|j|jd�|j|j
d�|j
|jt�|j
|jd�|j
|jd�|j
|jd�|j
|jd�y)Nz9from typing import TypeVar; T = TypeVar("T", bound=float)rr_F)
�execr�rr�r\rgr�rh�floatrirjrkr])rW�nsrs   rY�test_basic_with_execz!TypeVarTests.test_basic_with_exec�s���
���
H�"�b�Q��s�G�����a��)�������S�)�����*�*�B�/��
�
�a�k�k�5�)��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2��
�
�a�l�l�D�)r[c��tdt��}|j|jd�|j|jd�|j|jt�tdtt�}|j|jd�|j|jttf�|j|jd�tdd��}|j|jd�|j|jd�|j|jd�|j|jd�td	d�
�}|j|jd	�|j|jd�|j|jd�|j|jd�tdd��}|j|jd�|j|jd�|j|jd�|j|jd�y)
N�T_bound��boundr_�
T_constraints�T_coT��	covariantF�T_contra��
contravariant�T_infer)�infer_variance)rr�r�r\rgr�rhr�rirjrk)rWrtrwrxr{r~s      rY�test_attributeszTypeVarTests.test_attributes�s����)�3�/������)�)�9�5�����0�0�"�5��
�
�g�'�'��-����c�:�
�����/�/��A�����6�6��c�
�C��
�
�m�-�-�t�4��v��.���������/��
�
�d�(�(�$�/��
�
�d�,�,�e�4��
�
�d�-�-�u�5��:�T�:������*�*�J�7��
�
�h�,�,�e�4��
�
�h�0�0�$�7��
�
�h�1�1�5�9��)�D�9������)�)�9�5��
�
�g�+�+�U�3��
�
�g�/�/��7��
�
�g�0�0�$�7r[c��td�}|jt�5td|�ddd�y#1swYyxYw)Nrr|)rr}r~rrls  rY� test_typevar_instance_type_errorz-TypeVarTests.test_typevar_instance_type_error�s/���C�L��
�
�
�y�
)��r�1��*�
)�
)�s	�
7�Ac��td�}|jt�5tt|�ddd�|jt�5t|t�ddd�y#1swY�8xYw#1swYyxYw�Nr)rr}r~r�r�rls  rY� test_typevar_subclass_type_errorz-TypeVarTests.test_typevar_subclass_type_error�sX���C�L��
�
�
�y�
)��s�A��*�
�
�
�y�
)��q�#��*�
)�*�
)��
)�
)�s�A)�A5�)A2�5A>c�|�|jt�5tdt�}|ddd�y#1swYyxYw)N�X)r}r~rr��rWr�s  rY�test_constrained_errorz#TypeVarTests.test_constrained_error�s+��
�
�
�y�
)���S�!�A�
�*�
)�
)�s�2�;c��td�}td�}|j||�|jt||�|jt|t||f�|jt||f|�|jt|tft|�|jt|tftt�|jt|tfj
|tf�|jt|tfj|f�|jt|tfjt�y)Nr��Y)	rr�r�rr��__args__�__parameters__r��
__origin__)rWr�r�s   rY�test_union_uniquezTypeVarTests.test_union_unique�s���C�L���C�L�����A�q�!�����q��1�%����E�!�H�e�A�q�D�k�2�����q�!�t��a�(����E�!�S�&�M�5��8�4����E�!�S�&�M�5��:�6�����q�#�v��/�/�!�S��:�����q�#�v��5�5��t�<��
�
�e�A�s�F�m�.�.��6r[c�6�td�}|j|dzt|df�|jd|ztd|f�|jt|dz�|t	d�f�|jtd|z�t	d�|f�y�Nr�r�)rr�rr-rAr�s  rY�test_orzTypeVarTests.test_or�s����C�L��	
����S��%��3��-�0�����q��%��Q��-�0�����!�c�'�*�Q�
�3��,@�A�����#��'�*�Z��_�a�,@�Ar[c�z�tdtt�}|jt|tft|�y�Nr�)rr��bytesr�r�rWr�s  rY�test_union_constrainedz#TypeVarTests.test_union_constrained�s,���C��e�$�����E�!�S�&�M�5��8�4r[c��|jtt�d�|jtt�d�|jtt�d�|jtt
�d�t
dd��}|jt|�d�t
d	d�
�}|jt|�d�y)Nz~Tz~KTz~VTz~AnyStrrxTryz+T_cor{r|z	-T_contra)r�r�rrrrr)rWrxr{s   rYr�zTypeVarTests.test_repr�s�������a��$�'�����b��5�)�����b��5�)�����f��y�1��v��.������d��W�-��:�T�:������h���5r[c��|jtd�td��|jtdtt�tdtt��yr�)r�rr�r�r�s rY�test_no_redefinitionz!TypeVarTests.test_no_redefinition�s<�����G�C�L�'�#�,�7����G�C��c�2�G�C��c�4J�Kr[c��|jttdz�5Gd�dt�}ddd�td�}|jttdz�5Gd�d|�}ddd�y#1swY�FxYw#1swYyxYw)Nrc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.VNrpr_r[rY�Vr��r�r[r�rc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.WNrpr_r[rY�Wr��r�r[r�)r�r~�NOT_A_BASE_TYPEr�CANNOT_SUBCLASS_INSTANCE)rWr�rr�s    rYr�z!TypeVarTests.test_cannot_subclass�sm��
�
#�
#�I���/J�
K�"�G�"�L��C�L��
�
#�
#�I�(�9�4�6��A��6�6�L�
K��6�6�s�A3�A?�3A<�?Bc�x�|jt�5td��ddd�y#1swYyxYwr�)r}r~rr�s rY�test_cannot_instantiate_varsz)TypeVarTests.test_cannot_instantiate_vars�s'��
�
�
�y�
)��G�C�L�N�*�
)�
)�r�c�t�|jt�5tdt��ddd�|jt�5tdtt
t��ddd�|jtd�5tdd��ddd�y#1swY�oxYw#1swY�BxYw#1swYyxYw)Nr�ruz%Bound must be a type\. Got \(1, 2\)\.�rbr�)r}r~rrr�rpror�r�s rY�test_bound_errorszTypeVarTests.test_bound_errors�s���
�
�
�y�
)��C�u�%�*�
�
�
�y�
)��C��e�8�4�*�
�
#�
#�I�$L�N��C�v�&�N�N�	*�
)��
)�
)��N�N�s#�B�B"�?B.�B�"B+�.B7c� �d}t|i�y)Nz&import typing
T = typing.TypeVar('T')
�ro�rW�codes  rY�test_missing__name__z!TypeVarTests.test_missing__name__�s��,��	
�T�2�r[c�t�|jt�5tddd��ddd�y#1swYyxYw)NrT)rzr}�r}�
ValueErrorrr�s rY�test_no_bivariantzTypeVarTests.test_no_bivariants(��
�
�
�z�
*��C�4�t�<�+�
*�
*�s�.�7c���|jt�5tddd��ddd�|jt�5tddd��ddd�y#1swY�6xYw#1swYyxYw)NrT)rzr)r}rr�r�s rY�&test_cannot_combine_explicit_and_inferz3TypeVarTests.test_cannot_combine_explicit_and_infer
sS��
�
�
�z�
*��C�4��=�+�
�
�
�z�
*��C�t�D�A�+�
*�+�
*��
*�
*�s�A�A&�A#�&A/c���td�}|j}|j|t�t�|j	|t
t�t
t�|j	|tt�tt�|j	|t�t�|j|t�t�|j|d�td��|j||�|�|j	|ttz�ttz�|j	|tttf�tttf�yr�)r�__typing_subst__r�r�r��listrr
r�r�r)rWr�substs   rY�test_var_substitutionz"TypeVarTests.test_var_substitutions����C�L���"�"���
�
�e�C�j�#�&�����t�C�y�)�4��9�5�����t�C�y�)�4��9�5�����t��d�+��
�
�e�C�j�#�&��
�
�e�D�k�4��:�.��
�
�e�A�h��"�����s�3�w���S��1�����u�S�#�X��/��s�C�x��Ar[c�d�td�}dttfttt|t
t
|ttttttf}|D]�}|j|��5|jt�5|j|�ddd�|jt�5t||ddd�|jt�5t||ddd�ddd���y#1swY�hxYw#1swY�JxYw#1swY�,xYw#1swY��xYw)Nrr_r�)rr�r�rr#r'r%r$rir}r~r�rr�)rWr�bad_argsr�s    rY�test_bad_var_substitutionz&TypeVarTests.test_bad_var_substitutions����C�L����c�
�E��W�Q�Z��8�A�;��5��:�x��#��
��
�C����#��&��&�&�y�1�&�A�&�&�s�+�2��&�&�y�1���G�C�L�2��&�&�y�1���G�C�L�2�'�&��1�1��1�1��1�1��'�&�sT�2D&�D�D&�8
D�D&�"
D�/D&�D�D&�D�D&�D#�D&�&D/	c���tttfD]V}|j|��5t	j
�}t
d�D]}|t|��||<�~ddd��Xy#1swY�cxYw)N��cls�
)rErrri�weakref�WeakValueDictionaryrfr�)rWr��valsr�s    rY�test_many_weakrefszTypeVarTests.test_many_weakrefs-s`���|�W�5�C����#��&��2�2�4���r��A�!�#�a�&�k�D��G�#��'�&�6�&�&�s�:A,�,A5	c�$�td��}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�tdt��}|j|jd�|j|jd�|j	|j
t�|j	|jd�|j	|jd�|j	|jd�tdd��}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�tdd��}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�tdd�	�}|j|jd�|j|jd�|j	|j
d�|j	|jd�|j	|jd�|j	|jd�y)
Nr)�namer_F)r�rvT)r�rz)r�r})r�r)
rr�r\rgr�rhrirjrkr�rls  rY�test_constructorzTypeVarTests.test_constructor7s�������������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2���D�)��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2����-��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�t�,��
�
�a�)�)�5�1��
�
�a�*�*�E�2���D�1��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�4�0��
�
�a�*�*�E�2���T�2��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�D�1r[N)r\r]r^rmrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r_r[rYrerewso��1�*�8�:�
��
7�B�5�6�L���'��=�B�B�!� �'2r[re�	templates�replacementsr�c��	g}|j�D]2\}}g}|D]}|j||f��|j|��4g}tj|�D]R}g}	|D]/}
|D]\}}|
j	||�}
�|	j|
��1|jt|	���Tg}|D]}||vs�|j|��|SrS)�items�append�	itertools�product�replace�tuple)
r�r��replacement_combos�original�possible_replacements�original_replacement_tuples�replacement�rendered_templates�replacement_combo�templates_with_replacements�template� rendered_templates_no_duplicatesr�s
             rY�template_replacer�as�� �L��+7�+=�+=�+?�'��'�&(�#�0�K�'�.�.��+�/F�G�1��!�!�"=�>�	,@���&�.�.�0B�C��')�#�!�H�):�%��+�#�+�+�H�k�B��*;�'�.�.�x�8�"�	�!�!�%�(C�"D�E�D�(*�$�
���4�4�,�3�3�A�6� �
,�+r[c��eZdZd�Zd�Zy)�TemplateReplacementTestsc�\�tddgddgddgd���}gd	�}|j||�y)
N�Cats are word1zDogs are word2�small�cute�big�fluffy��word1�word2�r�r�))�Cats are small�Dogs are big)r��Dogs are fluffy)�
Cats are cuter�)r�r��r�r��rW�actualr�s   rY�:test_two_templates_two_replacements_yields_correct_renderszSTemplateReplacementTests.test_two_templates_two_replacements_yields_correct_renders�sC��!�+�-=�>�%�v�.�#�X�.��
��
��	
�����*r[c�\�tddgddgddgd���}d	d
g}|j||�y)Nr��Dogs!r�r�r�r�r�r�)r�r�)r�r�r�r�s   rY�2test_no_duplicates_if_replacement_not_in_templateszKTemplateReplacementTests.test_no_duplicates_if_replacement_not_in_templates�sJ��!�+�W�5�%�v�.�#�X�.��
��
(�&�
��	
�����*r[N)r\r]r^r�r�r_r[rYr�r��s��+� +r[r�c�&�eZdZ	d�Zd�Zd�Zd�Zy)�GenericAliasSubstitutionTestsc	���td�}td�}td�}Gd�dt|�}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)Nr�Ts�Ts2c��eZdZy)�;GenericAliasSubstitutionTests.test_one_parameter.<locals>.CNrpr_r[rYr7r��r�r[r7)r7r�rr�r))�
generic[T]�[()]r~)r��[int]�generic[int])r��
[int, str]r~)r��[tuple_type[int, ...]]�generic[tuple_type[int, ...]])r��[*tuple_type[int]]r�)r�z[*tuple_type[()]]r~)r��[*tuple_type[int, str]]r~)r��[*tuple_type[int, ...]]r~)r��[*Ts]r~)r��[T, *Ts]r~)r��[*Ts, T]r~)zC[T, *tuple_type[int, ...]]r�r~)zlist[T, *tuple_type[int, ...]]r�z list[int, *tuple_type[int, ...]])zList[T, *tuple_type[int, ...]]r�r~)zgeneric[*Ts, *Ts2]r�r~��generic�
tuple_typer���aliasr�r�r~�	rrr#r�rir}r~�evalr�)rWrr�r�r7�generics�tuple_types�tests�alias_template�
args_template�expected_templater��	alias_str�args_str�expected_strs               rY�test_one_parameterz0GenericAliasSubstitutionTests.test_one_parameter�s
���C�L��
�$�
���5�!��!���
�!�(����(��
��.AF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�s$�9C,�C 	�#0C,� C)
�%C,�,C5c	���td�}td�}td�}Gd�dt||f�}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)N�T1�T2r�c��eZdZy)�<GenericAliasSubstitutionTests.test_two_parameters.<locals>.CNrpr_r[rYr7rr�r[r7)r7�dictr r�r))�generic[T1, T2]r�r~)rr�r~)rr��generic[int, str])r�[int, str, bool]r~)rrr~)rrr)rz[*tuple_type[int, str, bool]]r~)rz[int, *tuple_type[str]]r)rz[*tuple_type[int], str]r)rz$[*tuple_type[int], *tuple_type[str]]r)rz([*tuple_type[int, str], *tuple_type[()]]r)rz([*tuple_type[()], *tuple_type[int, str]]r)rz#[*tuple_type[int], *tuple_type[()]]r~)rz#[*tuple_type[()], *tuple_type[int]]r~)rz+[*tuple_type[int, str], *tuple_type[float]]r~)rz+[*tuple_type[int], *tuple_type[str, float]]r~)rz1[*tuple_type[int, str], *tuple_type[float, bool]]r~)rr�r~)r�,[tuple_type[int, ...], tuple_type[str, ...]]�3generic[tuple_type[int, ...], tuple_type[str, ...]])rrr~)rz[int, *tuple_type[str, ...]]r~)r�[*tuple_type[int, ...], str]r~)r�.[*tuple_type[int, ...], *tuple_type[str, ...]]r~)rrr~)rrr~)rrr~)z"generic[T1, *tuple_type[int, ...]]�[str]�#generic[str, *tuple_type[int, ...]]rr�r	r~r�rWrrr�r7r
rrrrrr�rrrs               rY�test_two_parametersz1GenericAliasSubstitutionTests.test_two_parameterss��
�T�]��
�T�]��
�$�
��&���B���&�(����(��%
��NAF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X��$�;C.�C"	�%0C.�"C+
�'C.�.C7c	���td�}td�}td�}Gd�dt|||f�}dg}ddg}dd	g}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j||
|��5|d
k(r-|j	t
�5t
||
z�ddd�n'|jt
||
z�t
|��ddd��~��y#1swY�xYw#1swY��xYw)Nrr�T3c��eZdZy)�>GenericAliasSubstitutionTests.test_three_parameters.<locals>.CNrpr_r[rYr7r,Gr�r[r7r�r)�generic[T1, bool, T2]r��generic[int, bool, str])r-rr.rr�r	r~)rr#r�rir}r~rr�)rWrrr*r7r
rrrrrr�rrrs               rY�test_three_parametersz3GenericAliasSubstitutionTests.test_three_parametersBs��
�T�]��
�T�]��
�T�]��*���B��
�#�*��5����(��
G�
G�
��AF�<�N�M�+<�!1�)�=�:K�L�)1��M�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�r(c	��td�}td�}td�}Gd�dtg|���}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)Nrrr�c��eZdZy)�AGenericAliasSubstitutionTests.test_variadic_parameters.<locals>.CNrpr_r[rYr7r2gr�r[r7)r7r�rr�r)@)�generic[*Ts]r�zgeneric[()])r3r�r�)r3r�r)r3rr�)r3z[*tuple_type[*Ts]]r3)r3rr)r3z"[str, *tuple_type[int, ...], bool]�)generic[str, *tuple_type[int, ...], bool])r3r�r�)r3r r!)r3rzgeneric[*tuple_type[int, ...]])r3r#r~)r3rr3)r3r�generic[T, *Ts])r3r�generic[*Ts, T])r5r�r~)r5r�r�)r5r�r)r5r�generic[int, str, bool])�generic[list[T], *Ts]r�r~)r8r��generic[list[int]])r8r�zgeneric[list[int], str])r8rzgeneric[list[int], str, bool])r6r�r~)r6r�r�)r6r�r)r6rr7)�generic[*Ts, list[T]]r�r~)r:r�r9)r:r�zgeneric[int, list[str]])r:rzgeneric[int, str, list[bool]])�generic[T1, T2, *Ts]r�r~)r;r�r~)r;r�r)r;rr7)r;�[int, str, bool, bytes]�generic[int, str, bool, bytes])�generic[*Ts, T1, T2]r�r~)r>r�r~)r>r�r)r>rr7)r>r<r=)�generic[T1, *Ts, T2]r�r~)r?r�r~)r?r�r)r?rr7)r?r<r=)r5rz#generic[int, *tuple_type[int, ...]])r5�[str, *tuple_type[int, ...]]r%)r5r"z(generic[int, *tuple_type[int, ...], str])r6rz#generic[*tuple_type[int, ...], int])r6r@z(generic[str, *tuple_type[int, ...], int])r6r"�#generic[*tuple_type[int, ...], str])r?rz(generic[int, *tuple_type[int, ...], int])zgeneric[T, str, *Ts]rz(generic[int, str, *tuple_type[int, ...]])zgeneric[*Ts, str, T]rz(generic[*tuple_type[int, ...], str, int])r8rz)generic[list[int], *tuple_type[int, ...]])r:rz)generic[*tuple_type[int, ...], list[int]])z!generic[T, *tuple_type[int, ...]]r$r%)z&generic[T1, T2, *tuple_type[int, ...]]�[str, bool]z)generic[str, bool, *tuple_type[int, ...]])�&generic[T1, *tuple_type[int, ...], T2]rBr4)rCz[str, bool, float]r~)z!generic[T1, *tuple_type[T2, ...]]r�z#generic[int, *tuple_type[str, ...]])z!generic[*tuple_type[T1, ...], T2]r�rA)z+generic[T1, *tuple_type[generic[*Ts], ...]]rz2generic[int, *tuple_type[generic[str, bool], ...]])z+generic[*tuple_type[generic[*Ts], ...], T1]rz2generic[*tuple_type[generic[int, str], ...], bool]rr�r	r~rr&s               rY�test_variadic_parametersz6GenericAliasSubstitutionTests.test_variadic_parametersbs��
�T�]��
�T�]��
�$�
��#������#�*����(��J
��XAF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1�	�8�\��\�\�	��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�s$�<C/�C#	�&0C/�#C,
�(C/�/C8N)r\r]r^rr'r/rDr_r[rYr�r��s���/�d?�B�@dr[r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�UnpackTestsc�L�gtt��tttyrS)r�r�rrr�s rY�test_accepts_single_typez$UnpackTests.test_accepts_single_type�s���%��*���u�S�z�r[c���ttttt��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw�N�r�r�r���
required_item)�set�dirrrr�ri�assertIn�rW�	dir_itemsrMs   rY�test_dirzUnpackTests.test_dir�sU����F�5��:�.�/�0�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A%	c��|jt�5ttttt
fddd�y#1swYyxYwrS)r}r~rrr�r�r�s rY�test_rejects_multiple_typesz'UnpackTests.test_rejects_multiple_types�s1��
�
�
�y�
)��5��:�u�S�z�)�*�*�
)�
)�s�"A�A
c�2�|jt�5gtt��dttddd�|jt�5tt
tt
tddd�y#1swY�JxYw#1swYyxYw�Nr)r}r~r�r�rrr�s rY�&test_rejects_multiple_parameterizationz2UnpackTests.test_rejects_multiple_parameterization�si��
�
�
�y�
)��e�C�j�N�1��e�C�j�)�*�
�
�
�y�
)��5��:��u�S�z�*�*�
)�*�
)��
)�
)�s�"B�#B
�B
�
Bc�l�|jt�5t�ddd�y#1swYyxYwrS)r}r~rr�s rY�test_cannot_be_calledz!UnpackTests.test_cannot_be_called�s!��
�
�
�y�
)��H�*�
)�
)���*�3c��tdttd��}dt|fd�}|j	t|jd�dt�d��y)N�Movie)r��yearr�c��yrSr_)r�s rY�fooz/UnpackTests.test_usage_with_kwargs.<locals>.foo����#r[ztyping.Unpack[z.Movie])r9r�r�rr�r�r�r\)rWr]r`s   rY�test_usage_with_kwargsz"UnpackTests.test_usage_with_kwargs�sK���'�C��#=�>��-�&��-�-�����c�1�1�(�;�<�)�(��7�;�	=r[c���td�}Gd�dtg|���}d��}|tg|��}|j|tj
ttf�|j|gtt��j
ttf�|j|gtt��j
ttf�|j|tttj
ttf�|j|tttj
ttf�|tg|��}|j|tj
ttf�|j|gtt��j
ttf�|j|gtt��j
ttf�|j|tttj
ttf�|j|tttj
ttf�y)Nr�c��eZdZy)�+UnpackTests.test_builtin_tuple.<locals>.OldNrpr_r[rY�Oldre�r�r[rfc�0��d�	x}f�G�fd�d��
}|�S)r�c���eZdZW�Zy)�+UnpackTests.test_builtin_tuple.<locals>.NewN�r\r]r^�__type_params__��.type_paramss�rY�Newri�����r[rnr_�r��
.generic_baserms  @rYz<generic parameters of New>zCUnpackTests.test_builtin_tuple.<locals>.<generic parameters of New>�����#���r[)	rr#r�r�r�r�r�rr)rWr�rfrn�PartOld�PartNews      rY�test_builtin_tuplezUnpackTests.test_builtin_tuple�s���
�$�
��$�'�#�2�#�,�$���c�h�B�h�-��������.�.��c�
�;������%��*��-�6�6��c�
�C������%��*��-�6�6��c�
�C�������c�
�!3�4�=�=��S�z�J�������c�
�!3�4�=�=��S�z�J��c�h�B�h�-��������.�.��c�
�;������%��*��-�6�6��c�
�C������%��*��-�6�6��c�
�C�������c�
�!3�4�=�=��S�z�J�������c�
�!3�4�=�=��S�z�Jr[c�v�td�}d��}|tg|��}tjd�}|j	t
|�5|tttddd�|j	t
|�5|tttddd�y#1swY�@xYw#1swYyxYw)Nr�c�0��d�	x}f�G�fd�d��
}|�S)r�c���eZdZW�Zy)�/UnpackTests.test_unpack_wrong_type.<locals>.GenNrjrls�rY�Genryror[rzr_rps  @rYz<generic parameters of Gen>zGUnpackTests.test_unpack_wrong_type.<locals>.<generic parameters of Gen>rrr[z*Unpack[...] must be used with a tuple type)	rr�r�r�r�r~rr�r)rWr�rz�PartGen�bad_unpack_params     rY�test_unpack_wrong_typez"UnpackTests.test_unpack_wrong_types���
�$�
����c�h�B�h�-���9�9�%Q�R��
�
#�
#�I�/?�
@��F�4��9�%�&�A�
�
#�
#�I�/?�
@��F�4��9�%�&�A�
@�A�
@��
@�
@�s�B#�B/�#B,�/B8N)r\r]r^rHrSrUrXrZrbrur}r_r[rYrFrF�s+���8�+�+��=�K�(	'r[rFc���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�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%y$)%�TypeVarTupleTestsc��td�}|j|jd�td�}|j|jd�y)Nr�r�)rr�r\)rWr�r�s   rY�	test_namezTypeVarTupleTests.test_names>��
�$�
��������d�+��5�!��������u�-r[c�Z�td�}|j|jt�y�Nr�)rr�r]r\�rWr�s  rY�test_modulezTypeVarTupleTests.test_modules ��
�$�
���������1r[c��i}td|�|d}|j|jd�|j|jd�y)Nz8from typing import TypeVarTuple; Ts = TypeVarTuple("Ts")r�)ror�r\r�r])rWrqr�s   rY�	test_execzTypeVarTupleTests.test_execsA��
���
G��L�
��X��������d�+��
�
�b�m�m�T�*r[c�>�td�}|j||�yr�)rr�r�s  rY� test_instance_is_equal_to_itselfz2TypeVarTupleTests.test_instance_is_equal_to_itself"s��
�$�
������R� r[c�L�|jtd�td��yr�)r�rr�s rY�&test_different_instances_are_differentz8TypeVarTupleTests.test_different_instances_are_different&s�����L��.��T�0B�Cr[c�F�td�}|j|t�yr�)rr�r�s  rY�(test_instance_isinstance_of_typevartuplez:TypeVarTupleTests.test_instance_isinstance_of_typevartuple)s��
�$�
�����b�,�/r[c�|�td�}|jt�5|�ddd�y#1swYyxYwr�)rr}r~r�s  rY�test_cannot_call_instancez+TypeVarTupleTests.test_cannot_call_instance-s+��
�$�
��
�
�
�y�
)��D�*�
)�
)�s�2�;c��td�}|jg|��dg|��d�|jt|t|�y)Nr�r)rr�rr�s  rY�-test_unpacked_typevartuple_is_equal_to_itselfz?TypeVarTupleTests.test_unpacked_typevartuple_is_equal_to_itself2sD��
�$�
������2����F�b�F�1�I�.�������V�B�Z�0r[c���td�}|jtg|��tg|���|jtt|tt|�yr�)rr�r�rrr�s  rY�+test_parameterised_tuple_is_equal_to_itselfz=TypeVarTupleTests.test_parameterised_tuple_is_equal_to_itself7sN��
�$�
������s��s��U�3�B�3�Z�0�����v�b�z�*�E�&��*�,=�>r[c��td�}td�}|jtg|�|��tg|�|���|jtt|t|ftt|t|f�y)N�Ts1r�)rr�r�rr)rWr�r�s   rY� tests_tuple_arg_ordering_mattersz2TypeVarTupleTests.tests_tuple_arg_ordering_matters<s~���5�!���5�!������*�3�*��*���*�3�*��*��	
�	
����&��+�v�c�{�*�+��&��+�v�c�{�*�+�	
r[c�L�td�}tg|��}|j|jg|���|j|j|f�t
t|}|j|jt|f�|j|j|f�yr�)rr�r�r�r�rr)rWr��t1�t2s    rY�*test_tuple_args_and_parameters_are_correctz<TypeVarTupleTests.test_tuple_args_and_parameters_are_correctHs���
�$�
��
�3�B�3�Z��������f��f�-�����*�*�R�E�2�
�6�"�:�
��������v�b�z�m�4�����*�*�R�E�2r[c	��td�}td�}td�}Gd�dtg|���}Gd�dtt|�}||tt
fD�]�}|g|��}|j
|d|d�|j
|t|t�|j
|ttf|ttf�|t|}|j
|d|d�|j
|t|t�|j
|ttf|ttf�t|g|��}	|j
|	dt|d�|j
|	tt|t�|j
|	ttft|ttf�t|t|}
|j
|
dt|d�|j
|
tt|t�|j
|
ttft|ttf�||g|�|��}|jt�5|dddd�|jt�5|tddd�|j
|ttf|ttf�|j
|tttf|tttf�|j
|ttttf|ttttf�||t||f}|jt�5|dddd�|jt�5|tddd�|j
|ttf|ttf�|j
|tttf|tttf�|j
|ttttf|ttttf�t
t||g|��t|f}
|jt�5|
dddd�|jt�5|
tddd�|tk7rB|j
|
ttft
tt|dttf�|j
|
tttft
tt|tttf�|j
|
ttttft
tt|ttfttf�tt||t|t|f}|jt�5|dddd�|jt�5|tddd�|tk7rB|j
|ttfttt|dttf�|j
|tttfttt|tttf�|j
|ttttfttt|ttfttf����y#1swY���xYw#1swY��hxYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��oxYw#1swY��UxYw)	Nr�rrc��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G1Nrpr_r[rY�G1r�Ur�r[r�c��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G2Nrpr_r[rY�G2r�Vr�r[r�r_)rrr#rrr�r�rpr�r�rr}r~r�r�)rWr�rrr�r�r�r�r7r:�E�F�G�H�Is               rYr�z'TypeVarTupleTests.test_var_substitutionQs���
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�A��#�2�#��A����Q�r�U�A�b�E�*����Q�u�X�q��x�0����Q�u�c�z�]�A�e�S�j�M�:��&��*�
�A����Q�r�U�A�b�E�*����Q�u�X�q��x�0����Q�u�c�z�]�A�e�S�j�M�:��Q�s��s�V��A����Q�r�U�D��2��K�0����Q�u�X�t�A�e�H�~�6����Q�u�c�z�]�D��5�#�:��,?�@��Q�v�b�z�]�#�A����Q�r�U�D��2��K�0����Q�u�X�t�A�e�H�~�6����Q�u�c�z�]�D��5�#�:��,?�@��!�*�b�*�"�*�
�A��"�"�9�-��"��.��"�"�9�-��%��.����Q�u�c�z�]�A�e�S�j�M�:����Q�u�c�3��/��5�#�s�?�1C�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R��!�V�B�Z��#�$�A��"�"�9�-��"��.��"�"�9�-��%��.����Q�u�c�z�]�A�e�S�j�M�:����Q�u�c�3��/��5�#�s�?�1C�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R��d�1�g�q��"��v�t�B�x�/�0�A��"�"�9�-��"��.��"�"�9�-��%��.��E�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K��d�1�g�q����}�d�2�h�6�7�A��"�"�9�-��"��.��"�"�9�-��%��.��E�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K�}&�,.�-��-�-��.�-��-�-��.�-��-�-��.�-��-�-�s`�2[8�
\�-\�
\�9\,�
\9�]�6
]�8\	�\	�\	�\)	�,\6	�9]	�]	�]	c�X�td�}td�}td�}Gd�dtg|���}Gd�dtt|�}||tt
fD�]q}||}|j
t�5|ttfddd�|||f}|j
t�5|g|��ddd�|j
t�5|t|ddd�||g|�t�|��}|j
t�5|tg|��ddd�|j
t�5|tg|�|��ddd�||t|t|f}|j
t�5|tt|fddd�|j
t�5|tt|t|fddd���ty#1swY��JxYw#1swY��*xYw#1swY��
xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY���xYw)Nr�rrc��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G1Nrpr_r[rYr�r��r�r[r�c��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G2Nrpr_r[rYr�r��r�r[r�)
rrr#rrr�r}r~r�r�)	rWr�rrr�r�r�r�r7s	         rYr�z+TypeVarTupleTests.test_bad_var_substitution�s���
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�A��"��A��"�"�9�-��#�s�(��.��!�R�%��A��"�"�9�-��#�2�#��.��"�"�9�-��&��*�
�.��!�/�b�/�#�/�r�/�"�A��"�"�9�-��#�(��(��.��"�"�9�-��#�-��-�R�-� �.��!�V�B�Z��b�(�)�A��"�"�9�-��#�v�b�z�/�"�.��"�"�9�-��#�v�b�z�6�"�:�-�.�.�-�)&�-�-��.�-��-�-��.�-��-�-��.�-��-�-�sT�<G�0	G!�
G.�G;�<H�=H�-H�G	�!G+	�.G8	�;H	�H	�H	�H)	c�r�td�}Gd�dtg|���}Gd�dtt|�}|jt	|�d�|jt	g|��d�d�|jt	t|�d�|jt	t
g|���d�|jt	tt|�d	�|jt	t
g|���d
�|jt	ttt|�d�y)Nr�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G1Nrpr_r[rYr�r��r�r[r�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G2Nrpr_r[rYr�r��r�r[r�rztyping.Unpack[Ts]ztuple[typing.Unpack[Ts]]ztyping.Tuple[typing.Unpack[Ts]]z*tuple[typing.Unpack[Ts]]z.typing.Unpack[typing.Tuple[typing.Unpack[Ts]]])rr#rr�r�r�r)rWr�r�r�s    rY�test_repr_is_correctz&TypeVarTupleTests.test_repr_is_correct�s���
�$�
��$���"���$�+�����$�+�����b��4�(�����f��f�Q�i��*=�>�����f�R�j�)�+>�?�����e�C�R�C�j�)�+E�F�����e�F�2�J�/�0�2S�T�����u�S�b�S�z�*�,G�H�����f�U�6�"�:�%6�7�8�:j�kr[c
�p�td�}Gd�dtg|���}Gd�dtt|�}|jt	|d�d�|jt	|d�d�|jt	|t
�d	�|jt	|t
�d
�|jt	|t
tf�d�|jt	|t
tf�d�|jt	|gttd
f���d�|jt	|tttd
f�d�|jt	|t
gttd
f���d�|jt	|t
tttd
ff�d�|jt	|gttd
f�t���d�|jt	|tttd
ftf�d�|jt	|t
gttd
f�t���d�|jt	|t
tttd
ftf�d�y)Nr�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.ANrpr_r[rYr�r��r�r[r�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.BNrpr_r[rYr�r��r�r[r�r_�A[()]zB[()]�A[float]zB[float]�
A[float, str]z
B[float, str].zA[*tuple[int, ...]]z(B[typing.Unpack[typing.Tuple[int, ...]]]zA[float, *tuple[int, ...]]z/A[float, typing.Unpack[typing.Tuple[int, ...]]]zA[*tuple[int, ...], str]z-B[typing.Unpack[typing.Tuple[int, ...]], str]zA[float, *tuple[int, ...], str]z4B[float, typing.Unpack[typing.Tuple[int, ...]], str])
rr#r�assertEndsWithr�rpr�r�r�r)rWr�r�r�s    rY�#test_variadic_class_repr_is_correctz5TypeVarTupleTests.test_variadic_class_repr_is_correct�sD��
�$�
��#������#�*���r�
�#�*����D��2��K��1����D��2��K��1����D��5��N�J�7����D��5��N�J�7����D��5�#�:��/��A����D��5�#�:��/��A����D��#3�E�#�s�(�O�#3�!4�5�1�	3����D��6�%��S��/�#:�!;�<�F�	H�	
���D��5�#:�5��c��?�#:�!;�<�8�	:����D��5�&��s�C�x��*A�#A�!B�C�M�	O�	
���D��#8�E�#�s�(�O�#8�S�#8�!9�:�6�	8����D��6�%��S��/�#:�C�#?�!@�A�K�	M�	
���D��5�#?�5��c��?�#?�C�#?�!@�A�=�	?����D��5�&��s�C�x��*A�3�#F�!G�H�R�	Tr[c���td�}Gd�dtt|�}|g|��}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|t|}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|g|�t��}|jt	|�d	�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|t|tf}|jt	|�d	�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tg|��}|jt	|�d
�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tt|f}|jt	|�d
�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tg|�t��}	|jt	|	�d�|jt	|	d�d�|jt	|	t
�d�|jt	|	t
tf�d�|tt|tf}
|jt	|
�d�|jt	|
d�d�|jt	|
t
�d�|jt	|
t
tf�d�|g|�ttdf��}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|t|tttdff}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�y)Nr�c��eZdZy)�FTypeVarTupleTests.test_variadic_class_alias_repr_is_correct.<locals>.ANrpr_r[rYr�r��r�r[r�zA[typing.Unpack[Ts]]r_r�r�r�zA[typing.Unpack[Ts], int]zA[int]z
A[float, int]zA[float, str, int]zA[int, typing.Unpack[Ts]]z
A[int, float]zA[int, float, str]zA[int, typing.Unpack[Ts], str]zA[int, str]zA[int, float, str, str].z&A[typing.Unpack[Ts], *tuple[str, ...]]zA[*tuple[str, ...]]zA[float, *tuple[str, ...]]zA[float, str, *tuple[str, ...]]z;A[typing.Unpack[Ts], typing.Unpack[typing.Tuple[str, ...]]]z(A[typing.Unpack[typing.Tuple[str, ...]]]z/A[float, typing.Unpack[typing.Tuple[str, ...]]]z4A[float, str, typing.Unpack[typing.Tuple[str, ...]]])
rr#rr�r�rpr�r�r�r)
rWr�r�r�r7r:r�r�r�r�r��J�Ks
             rY�)test_variadic_class_alias_repr_is_correctz;TypeVarTupleTests.test_variadic_class_alias_repr_is_correct�s���
�$�
��*���r�
�#�*�
�c�r�c�F�����D��G�%;�<����D��2��K��1����D��5��N�J�7����D��5�#�:��/��A�
�f�R�j�M�����D��G�%;�<����D��2��K��1����D��5��N�J�7����D��5�#�:��/��A�
�h�r�h�3�h�K�����D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�f�R�j�#�o������D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�h�B�h�K�����D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�6�"�:�o������D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�m�B�m��m������D��G�%E�F����D��2��K��7����D��5��N�,@�A����D��5�#�:��/�1J�K�
�c�6�"�:�s�"�#�����D��G�%E�F����D��2��K��7����D��5��N�,@�A����D��5�#�:��/�1J�K�
�#�r�#�E�#�s�(�O�#�$�����D��G�%M�N����D��2��K�)>�?����D��5��N�,H�I����D��5�#�:��/�1R�S�
�f�R�j�&��s�C�x��1�1�2�����D��G�%b�c����D��2��K�)S�T����D��5��N�,]�^����D��5�#�:��/�1g�hr[c	��|jttdz�5Gd�dt�}ddd�td�}|jttdz�5Gd�d|�}ddd�|jtt
�5Gd�dt
t��}ddd�|jtt
�5Gd	�d
t
|��}ddd�|jtt
�5Gd�dt
t|��}ddd�|jtd
�5Gd�dt�}ddd�|jtd�5Gd�dg|���}ddd�|jtd�5Gd�dt|�}	ddd�y#1swY��}xYw#1swY��NxYw#1swY�� xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r�*r�r[r7r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r�.r�r[r:c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r�0r�r[r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�r�2r�r[r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.GNrpr_r[rYr�r�4r�r[r�zCannot subclass typing\.Unpackc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.HNrpr_r[rYr�r�7r�r[r�z#Cannot subclass typing.Unpack\[Ts\]c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.INrpr_r[rYr�r�9r�r[r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.JNrpr_r[rYr�r�;r�r[r�)r�r~r�rr�r�r�r)
rWr7r�r:r�r�r�r�r�r�s
          rYr�z&TypeVarTupleTests.test_cannot_subclass(sx��
�
#�
#�I���/O�
P�'�L�'�Q�
�$�
��
�
#�
#�I�(�>�9�;��B��;��
#�
#�I�/C�
D�'�D��L�'�E�
�
#�
#�I�/C�
D�$�D�"�I�$�E�
�
#�
#�I�/C�
D�+�D����$�+�E�
�
#�
#�I�$E�G�!�F�!�G��
#�
#�I�/U�
V��R��W�
�
#�
#�I�/U�
V�%�F�2�J�%�W�
V�#Q�
P��;�;��E�
D��
D�
D��
D�
D��G�G��W�
V��
V�
V�s_�F)�F6�G�G�;G�5G(�#G4�
H�)F3�6G�G
�G�G%�(G1�4G=�H	c�6�td�}td�}Gd�dtg|���}Gd�dtt|�}|d}|d}|j	|j
d�|j	|j
d�|t}|t}|j	|j
tf�|j	|j
tf�|ttf}	|ttf}
|j	|	j
ttf�|j	|
j
ttf�||}||}|j	|j
|f�|j	|j
|f�|g|��}
|t|}|j	|
j
g|���|j	|j
t|f�||g|��}||t|f}|j	|j
|g|���|j	|j
|t|f�|g|�|��}|t||f}|j	|j
g|�|���|j	|j
t||f�y)Nrr�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.ANrpr_r[rYr�r�@r�r[r�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.BNrpr_r[rYr�r�Ar�r[r�r_)rrr#rr�r�r�r�)rWrr�r�r�r7r:r�r�r�r�r�r�r��L�M�N�O�Ps                   rY�$test_variadic_class_args_are_correctz6TypeVarTupleTests.test_variadic_class_args_are_correct=s4���C�L��
�$�
��#������#�*���r�
�#�*�
�b�E��
�b�E��������R�(�������R�(�
�c�F��
�c�F��������c�V�,�������c�V�,�
�c�3�h�K��
�c�3�h�K��������c�3�Z�0�������c�3�Z�0�
�a�D��
�a�D��������a�T�*�������a�T�*�
�c�r�c�F��
�f�R�j�M��������V�r�V�,�������f�R�j�]�3�
�a�f�"�f�I��
�a����m���������a�X�"�X�.�������a����_�5�
�f�r�f�1�f�I��
�f�R�j�!�m���������X�r�X�1�X�.�������f�R�j�!�_�5r[c�&�td�}Gd�dtg|���}|j|tj|�|j|t
j|�|j|t|j|�Gd�dtt|�}|j|tj|�|j|t
j|�|j|t|j|�y)Nr�c��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.CNrpr_r[rYr7r�ir�r[r7c��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.DNrpr_r[rYr:r�nr�r[r:)rr#r�r�r�rr)rWr�r7r:s    rY�%test_variadic_class_origin_is_correctz7TypeVarTupleTests.test_variadic_class_origin_is_correctfs���
�$�
��#������#��
�
�a��f�'�'��+��
�
�a��d�o�o�q�)��
�
�a��r�
�m�.�.��2�*���r�
�#�*��
�
�a��f�'�'��+��
�
�a��d�o�o�q�)��
�
�a��r�
�m�.�.��2r[c���td�}d|\fd�}|jt|�dt|i�dtt
tf\fd�}|jt|�dttt
tfi�Gd�dtg|���}d|t
tf\fd�}|jt|�dt|t
tfi�y)Nr�r�c��yrSr_�r�s rY�func1zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func1v���tr[c��yrSr_r�s rY�func2zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func2ys��Dr[c��eZdZy)�LTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.CustomVariadicNrpr_r[rY�CustomVariadicr�|r�r[r�c��yrSr_r�s rY�func3zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func3~s��Tr[�rr�r�rr�r�r�r#�rWr�r�r�r�r�s      rY�"test_get_type_hints_on_unpack_argsz4TypeVarTupleTests.test_get_type_hints_on_unpack_argsss���
�$�
��#�"�#�����U��f�f�R�j�%9�:�0�%��S��/�0�����U��f�f�U�3��8�_�.E�%F�G�0�W�S�b�S�\�0�9�.��c��2�9�����U��f�f�^�C��H�5M�.N�%O�Pr[c��td�}d	d�}|jt|d|i��dt|i�d
d�}|jt|�dttt
tfi�Gd�dtg|���}dd�}|jt|d|i��dt|t
tfi�y)Nr�r�c��yrSr_r�s rYr�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func1�s��r[)�localnsc��yrSr_r�s rYr�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func2�s��dr[c��eZdZy)�STypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.CustomVariadicNrpr_r[rYr�r��r�r[r�c��yrSr_r�s rYr�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func3�s��tr[)r�z*Ts)r�z*tuple[int, str])r�z*CustomVariadic[int, str]r�r�s      rY�)test_get_type_hints_on_unpack_args_stringz;TypeVarTupleTests.test_get_type_hints_on_unpack_args_string�s���
�$�
��%�����U�T�2�J�7�����,�	.�	3�����U��f�f�U�3��8�_�.E�%F�G�0�W�S�b�S�\�0�;�����U�-=�~�,N�O� �&���S��)A�"B�C�	Er[c�n�td�}|jtg|��jg|���|jtt
|jt
|f�|jtg|�t��jg|�t���|jtt
|tfjt
|tf�|jttg|��jtg|���|jttt
|fjtt
|f�|jttg|�t��jtg|�t���|jttt
|tfjtt
|tf�|jtg|�t��jg|�t���|jtt
|jt
|f�yr�)rr�r�r�rrr�r�r�s  rY�test_tuple_args_are_correctz-TypeVarTupleTests.test_tuple_args_are_correct�s���
�$�
������s��s��,�,�f��f�5�����v�b�z�*�3�3�f�R�j�]�C�����x��x�C�x��1�1�:�R�:��:�>�����v�b�z�3��/�8�8�6�"�:�s�:K�L�����s�x�R�x��1�1�C�:�"�:�>�����s�F�2�J��/�8�8�3��r�
�:K�L�����s�}�R�}��}�-�6�6�����C��	*�����s�F�2�J��3�4�=�=��v�b�z�3�/�	1�	
����x��x�C�x��1�1�:�R�:��:�>�����v�b�z�*�3�3�f�R�j�]�Cr[c	��td�}td�}td�}tg|�df}tt|gdf}|j|jg|�td����|j|jt|td�f�ttg|�df}ttt|gdf}|j|jtg|�td����|j|jtt|td�f�tg|�t�df}tt|tgdf}	|j|jg|�t�td����|j|	jt|ttd�f�ttg|�t�df}
ttt|tgdf}|j|
jtg|�t�td����|j|jtt|ttd�f�tdgg|��}tdgt|f}
|j|jtd�g|���|j|
jtd�t|f�tdgttg|��f}tdgttt|ff}|j|jtd�ttg|��f�|j|jtd�ttt|ff�tdgtg|�t��f}tdgtt|tff}|j|jtd�tg|�t��f�|j|jtd�tt|tff�tdgttg|�t��f}tdgttt|tff}|j|jtd�ttg|�t��f�|j|jtd�ttt|tff�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�y)Nr�r�r�)
rr"rr�r�r�r�r�r�r)rWr�r�r�rr��c�d�erX�g�h�i�j�k�l�m�n�o�p�q�rr��us                        rY�test_callable_args_are_correctz0TypeVarTupleTests.test_callable_args_are_correct�s���
�$�
���5�!���5�!��
�U�r�U�D�[�!���f�R�j�\�4�'�(��������%6�r�%6�4��:�%6�7�������f�R�j�$�t�*�%=�>��c�Z�B�Z��%�&���c�6�"�:�&��,�-��������c�%;�B�%;��T�
�%;�<�������c�6�"�:�t�D�z�%B�C��Z�r�Z�3�Z��%�&���f�R�j�#�&��,�-��������%;�r�%;�3�%;��T�
�%;�<�������f�R�j�#�t�D�z�%B�C��c�_�B�_��_�d�*�+���c�6�"�:�s�+�T�1�2��������c�%@�B�%@��%@�T�$�Z�%@�A�������c�6�"�:�s�D��J�%G�H�
�d�V�[�b�[�!���d�V�V�B�Z�'�(��������d�4�j�%6�2�%6�7�������d�4�j�&��*�%=�>��d�V�U�3�8��8�_�,�-���d�V�U�3��r�
�?�3�3�4��������d�4�j�%���b��/�%B�C�������d�4�j�%��V�B�Z��2H�%I�J��d�V�U�8�B�8��8�_�,�-���d�V�U�6�"�:�s�?�3�3�4��������d�4�j�%����S��/�%B�C�������d�4�j�%��r�
�C��2H�%I�J��d�V�U�3�=��=�S�=�1�1�2���d�V�U�3��r�
�C�#7�8�8�9��������d�4�j�%��
�b�
�#�
�2F�%G�H�������d�4�j�%��V�B�Z��8L�2M�%N�O�
�U�r�U�Z�R�Z� ���f�R�j�\�6�"�:�-�.��������Z�r�Z�B�Z�0�������f�R�j�&��*�%=�>��V�s�V�\�c�\�"���f�S�k�]�F�3�K�/�0��������\�s�\�S�\�2�������f�S�k�6�#�;�%?�@r[c
�x�td�}td�}|jt�5Gd�dtg|�|���}ddd�|jt�5Gd�dtt|t|f�}ddd�|jt�5Gd�dtg|�|�|���}ddd�|jt�5Gd	�d
tt|t|t|f�}ddd�y#1swY��xYw#1swY��xYw#1swY�jxYw#1swYyxYw)Nr�r�c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.CNrpr_r[rYr7r�r�r[r7c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.DNrpr_r[rYr:r�r�r[r:c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.ENrpr_r[rYr�r�r�r[r�c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.FNrpr_r[rYr�r�r�r[r�)rr}r~r#r)rWr�r�r7r:r�r�s       rY�6test_variadic_class_with_duplicate_typevartuples_failszHTypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails�s����5�!���5�!��
�
�
�y�
)�.�G�J�S�J�3�J�'�.�*�
�
�
�y�
)�<�G�F�3�K����4�5�<�*��
�
�y�
)�4�G�,�S�,�3�,��,�-�4�*�
�
�
�y�
)�I�G�F�3�K����f�S�k�A�B�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�s/�D�!#D�!D$�+D0�D�D!�$D-�0D9c��td�}Gd�dtt|�}|tg|��|tt|f|g|�t��|t|tf|tg|�t��|tt|tf|tt
g|�t�t��|tt
t|ttfy)Nr�c��eZdZy)�]TypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds.<locals>.CNrpr_r[rYr7r�r�r[r7)rr#rr�r��boolrp�rWr�r7s   rY�@test_type_concatenation_in_variadic_class_argument_list_succeedszRTypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds�s���
�$�
��*���r�
�#�*�	�#�(��(��	�#�v�b�z�/��	�(�2�(�s�(��	�&��*�c�/��	�#�-��-�C�-��	�#�v�b�z�3�
��	�#�t�
$�b�
$�%�
$��
$�%�	�#�t�V�B�Z���
+�,r[c��td�}ttg|��tg|�t��ttg|�t��tttg|�t
�t��ttt|ftt|tfttt|tftttt|t
tfyr�)rr�r�r�rrprrr�s  rY�7test_type_concatenation_in_tuple_argument_list_succeedszITypeVarTupleTests.test_type_concatenation_in_tuple_argument_list_succeedss���
�$�
��
�c�h�B�h��
�h�r�h�3�h��
�c�m�B�m��m��
�c�4�(�"�(�e�(�S�(�)�
�c�6�"�:�o��
�f�R�j�#�o��
�c�6�"�:�s�"�#�
�c�4����U�C�/�0r[c��td�}|jt�5Gd�dt|�}ddd�y#1swYyxYw)Nr�c��eZdZy)�[TypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails.<locals>.CNrpr_r[rYr7r#r�r[r7)rr}r~r#rs   rY�>test_variadic_class_definition_using_packed_typevartuple_failszPTypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails
s2��
�$�
��
�
�
�y�
)�&�G�B�K�&�*�
)�
)�s	�=�Ac�6�td�}|jt�5Gd�dtg|�t���}ddd�|jt�5Gd�dtt
|tf�}ddd�y#1swY�GxYw#1swYyxYw)Nr�c��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.FNrpr_r[rYr�r'r�r[r�c��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.ENrpr_r[rYr�r)r�r[r�)rr}r~r#r�r)rWr�r�r�s    rY�9test_variadic_class_definition_using_concrete_types_failszKTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_failsso��
�$�
��
�
�
�y�
)�,�G�H�R�H��H�%�,�*�
�
�
�y�
)�3�G�F�2�J��O�,�3�*�
)�*�
)��
)�
)�s�B� B�B�Bc	�N�td�}td�}td�}Gd�dt||g|���}|ttf|ttt
f|ttt
tfGd�dt||t|f�}|ttf|ttt
f|ttt
tfGd�d	t|g|�|���}|ttf|ttt
f|ttt
tfGd
�dt|t||f�}|ttf|ttt
f|ttt
tfGd�d
tg|�|�|���}|ttf|ttt
f|ttt
tfGd�dtt|||f�}	|	ttf|	ttt
f|	ttt
tfy)Nr�rrc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ANrpr_r[rYr�r-r�r[r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.BNrpr_r[rYr�r/#r�r[r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.CNrpr_r[rYr7r1(r�r[r7c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.DNrpr_r[rYr:r3-r�r[r:c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ENrpr_r[rYr�r52r�r[r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.FNrpr_r[rYr�r77r�r[r�)rrr#r�r�rprr)
rWr�rrr�r�r7r:r�r�s
          rY�:test_variadic_class_with_2_typevars_accepts_2_or_more_argszLTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_argss���
�$�
��
�T�]��
�T�]��+���B����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���B��r�
�*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �+����R����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���F�2�J��*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �+�����R����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���r�
�B��*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� r[c���td�}dt|fd�}d|\fd�}|j|jdt|i�|j|jdg|��di�y)Nr�r�c��yrSr_r�s rYrXzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.f?s��$r[c��yrSr_r�s rYrzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.g@���4r[r)rrr�r�)rWr�rXrs    rY�*test_variadic_args_annotations_are_correctz<TypeVarTupleTests.test_variadic_args_annotations_are_correct<sb��
�$�
��&�V�B�Z�&��b������*�*�V�V�B�Z�,@�A�����*�*�V�V�r�V�A�Y�,?�@r[c�(�dttdf\fd�}|j|jdgttdf��di�dtt
tdffd�}|j|jdtt
tdfi�y)Nr�.c��yrSr_r�s rYrzUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.aE���r[rc��yrSr_r�s rYr�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.bIs��tr[)r�r�r�r�rr)rWrr�s   rY�8test_variadic_args_with_ellipsis_annotations_are_correctzJTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correctDs���,�e�C��H�o�,�����*�*� �"5�E�#�s�(�O�"5�a�"8�9�	;�	4�V�E�#�s�(�O�,�3�����*�*� �&��s�C�x��"9�:�	<r[c���td�}dttg|��\fd�}|j|jdgttg|����di�dtg|�t��\fd�}|j|jdgtg|�t����di�dtt
g|�t��\fd�}|j|jdgtt
g|�t����di�dtttg|�t�t
��\fd�}|j|jdgtttg|�t�t
����di�dtttt|ffd�}|j|jdtttt|fi�dttt|tffd	�}|j|jdttt|tfi�dttt
t|tffd
�}|j|jdttt
t|tfi�dttttt|tt
ffd�}	|j|	jdttttt|tt
fi�y)Nr�r�c��yrSr_r�s rYrzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.aRr@r[rc��yrSr_r�s rYr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.bXr@r[c��yrSr_r�s rYr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.c^s��Tr[c��yrSr_r�s rYr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.dds��$r[c��yrSr_r�s rYrzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.el���dr[c��yrSr_r�s rYrXzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.frrIr[c��yrSr_r�s rYrzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.gxs��4r[c��yrSr_r�s rYrzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.h~s��r[)
rr�r�r�r�r�rrprr)
rWr�rr�r�r�rrXrrs
          rY�;test_concatenation_in_variadic_args_annotations_are_correctzMTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correctMs���
�$�
��	-�e�C�H�"�H�o�,����
���
�(�u�S�X�2�X��(��+�,�	
�
	-�e�H�R�H��H�o�,����
���
�(�u�X�b�X�#�X��(��+�,�	
�
	2�e�C�M�"�M�c�M�*�1����
���
�-�u�S�]�2�]�s�]�+�-�a�0�1�	
�
	?�e�C��6��6�E�6�3�6�7�>����
���
�:�u�S�$�7��7�U�7�C�7�8�:�1�=�>�	
�	;�V�E�#�v�b�z�/�2�3�:����
���
�V�E�#�v�b�z�/�2�3�4�	
�
	;�V�E�&��*�c�/�2�3�:����
���
�V�E�&��*�c�/�2�3�4�	
�
	@�V�E�#�v�b�z�3�"6�7�8�?����
���
�V�E�#�v�b�z�3�"6�7�8�9�	
�
	M�V�E�#�t�V�B�Z���"C�D�E�L����
���
�V�E�#�t�V�B�Z���"C�D�E�F�	
r[c�:�td�}Gd�dtg|���}Gd�dtt|�}|j|t|t�|j|t|t�td�}td�}|j|g|��|g|���|j|t||t|�|j|g|�|��|g|�|���|j|t|t|f|t|t|f�|j|tg|�|��|tg|�|���|j|tt|t|f|tt|t|f�y)Nr�c��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.CNrpr_r[rYr7rP�r�r[r7c��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.DNrpr_r[rYr:rR�r�r[r:r�r�)rr#rr�r��rWr�r7r:r�r�s      rY�0test_variadic_class_same_args_results_in_equaltyzBTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty�s���
�$�
��#������#�*���r�
�#�*�����3���3��(�����3���3��(��5�!���5�!�����
�d�s�d�G�
�d�s�d�G�	
�	
���
�f�S�k�N�
�f�S�k�N�	
�
	
���
�j�s�j�S�j�M�
�j�s�j�S�j�M�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�
	
���
�c�o�C�o�#�o��
�c�o�C�o�#�o��	
�	
���
�c�6�#�;��s��+�,�
�c�6�#�;��s��+�,�	
r[c��td�}Gd�dtg|���}Gd�dtt|�}|j|tt
f|t
tf�|j|tt
f|t
tf�td�}td�}|j|g|�|��|g|�|���|j|t|t|f|t|t|f�y)Nr�c��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.CNrpr_r[rYr7rW�r�r[r7c��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.DNrpr_r[rYr:rY�r�r[r:r�r�)rr#rr�r�r�rSs      rY�(test_variadic_class_arg_ordering_mattersz:TypeVarTupleTests.test_variadic_class_arg_ordering_matters�s���
�$�
��#������#�*���r�
�#�*����
�c�3�h�K�
�c�3�h�K�	
�	
���
�c�3�h�K�
�c�3�h�K�	
�
�5�!���5�!�����
�j�s�j�S�j�M�
�j�s�j�S�j�M�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
r[c�*�td�}td�}td�}Gd�dtg|���}Gd�dtt|�}|j|g|��|g|���|j|t||t|�y)Nr�r�r�c��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.CNrpr_r[rYr7r]�r�r[r7c��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.DNrpr_r[rYr:r_�r�r[r:)rr#rr�)rWr�r�r�r7r:s      rY�5test_variadic_class_arg_typevartuple_identity_matterszGTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters�s���
�$�
���5�!���5�!��#������#�*���r�
�#�*����A�d�s�d�G�Q�t��t�W�-����A�f�S�k�N�A�f�S�k�N�;r[N)&r\r]r^r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr r$r*r8r=rBrMrTrZr`r_r[rYrrs���.�2�+�!�D�0��
1�
?�


�3�FK�P/�<l�"T�@>i�@&�*'6�R3�Q�E� D�(;A�zJ�-� 1�'�
4�!!�FA�<�5
�n$
�L
�4	<r[rc�<�eZdZed��Zed��Zed��Zy)�TypeVarTuplePicklingTestsc��td�atjtjt|��}|jt|�y)N�
global_Ts1)rrdrg�loads�dumpsr�)rWre�
global_Ts2s   rY�6test_pickling_then_unpickling_results_in_same_identityzPTypeVarTuplePicklingTests.test_pickling_then_unpickling_results_in_same_identity�s5��"�,�/�
��\�\�&�,�,�z�5�"A�B�
��
�
�j�*�-r[c�8�td�agt��d}tjtj||��}|j||�tt}tjtj||��}|j||�y)N�	global_Tsr)rrjrgrerfr�r)rWre�	unpacked1�	unpacked2�	unpacked3�	unpacked4s      rY�?test_pickling_then_unpickling_unpacked_results_in_same_identityzYTypeVarTuplePicklingTests.test_pickling_then_unpickling_unpacked_results_in_same_identity�st��!��-�	�!�i�M�!�$�	��L�L����i��!?�@�	��
�
�i��+��9�%�	��L�L����i��!?�@�	��
�
�i��+r[c	��td�atd�atgt��t
ttttgt��t
tttfttgt��t
tttfg}|D]=}tjtj||��}|j||��?y)N�global_Trj)
rrqrrjr�rrrr�rgrerfr�)rWre�tuples�tr�s     rY�>test_pickling_then_unpickling_tuple_with_typevartuple_equalityzXTypeVarTuplePicklingTests.test_pickling_then_unpickling_tuple_with_typevartuple_equality�s���
�:�&�� ��-�	�
�*�9�*���&��#�$��!�-�i�-� ��!�V�I�&�&�'��#�/�	�/�"��#�v�i�(�(�)�	
���A����f�l�l�1�e�4�5�B����Q��#�r[N)r\r]r^rmrhrortr_r[rYrbrb�s>���.��.��
,��
,��$��$r[rbc��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�Zd�Zd�Zd�Zy)�
UnionTestsc�V�tttf}|j|t�yrS)rr�rpr��rWr
s  rYr.zUnionTests.test_basicss ���#�u�*������A�u�%r[c	���|jtdtttf��|jtdtttf��|jtdtttf��|jtdttttf��|jtdtttf��y)Nr|�abcg��Q�	@)r�rrr�r�r�r�r
r�s rY�test_union_isinstancez UnionTests.test_union_isinstances������
�2�u�S�#�X��7�8����
�5�%��S��/�:�;�����D�%��S��/�:�;����
�2�u�S�$�s�)�^�'<�=�>����
�2�u�S�#�X��7�8r[c��|jt�5tdttt
tf�ddd�|jt�5tdtt
ttf�ddd�|jt�5tdtt
ttf�ddd�|jt�5tdtttf�ddd�|jt�5tdtttf�ddd�|jt�5tdtttf�ddd�y#1swY��@xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�wxYw#1swYyxYwr{)r}r~rrr�r�r�r
r�s rY� test_union_isinstance_type_errorz+UnionTests.test_union_isinstance_type_errors��
�
�
�y�
)��r�5��d�3�i��0�1�*�
�
�
�y�
)��r�5��c��C��0�1�*�
�
�
�y�
)��r�5��c��C��0�1�*�
�
�
�y�
)��r�5��c��?�+�*�
�
�
�y�
)��r�5��c��?�+�*�
�
�
�y�
)��r�5��c��?�+�*�
)�*�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)�sG�%E9�%F�%F�F�F+�F7�9F�F�F�F(�+F4�7Gc���|jtdtt��|jtdtt��|j	tdtt��y)Nr|rz)r�rrr�r�r�s rY�test_optional_isinstancez#UnionTests.test_optional_isinstancesI�����
�2�x��}�5�6����
�4��#��7�8�����E�8�C�=�9�:r[c�(�|jt�5tdttt
�ddd�|jt�5tdttt
�ddd�|jt�5tdtt�ddd�|jt�5tdtt�ddd�y#1swY��xYw#1swY��xYw#1swY�WxYw#1swYyxYwr{)r}r~rrr�r�r
r�s rY�#test_optional_isinstance_type_errorz.UnionTests.test_optional_isinstance_type_error!s���
�
�
�y�
)��r�8�D��I�.�/�*�
�
�
�y�
)��t�X�d�3�i�0�1�*�
�
�
�y�
)��r�8�C�=�)�*�
�
�
�y�
)��t�X�c�]�+�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C$�C0�C<�D�$C-�0C9�<D�Dc	��|jtttttf��|jtttttf��|jtttttf��|jttttttf��|jtttttf��|jtttttf��|jtttttf��|jtttttf��yrS)	r�r�r�rr�r�rpr�r
r�s rY�test_union_issubclassz UnionTests.test_union_issubclass+s������
�3��c�3�h��8�9����
�3��c�3�h��8�9�����E�5��c��?�;�<����
�3��c�4��9�n�(=�>�?����
�3��c�3�h��8�9�����C��s�C�x��9�:����
�3��c�3�h��8�9�����C��s�C�x��9�:r[c��|jt�5ttt�ddd�|jt�5ttt�ddd�|jt�5tttt
ft�ddd�|jt�5tttt
ttf�ddd�|jt�5ttttttf�ddd�|jt�5tttttt
f�ddd�y#1swY��NxYw#1swY��)xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYwrS)r}r~r�r�rr�r�r�s rY� test_union_issubclass_type_errorz+UnionTests.test_union_issubclass_type_error5s��
�
�
�y�
)��s�E�"�*�
�
�
�y�
)��u�c�"�*�
�
�
�y�
)��u�S�#�X���,�*�
�
�
�y�
)��s�E�#�t�C�y�.�1�2�*�
�
�
�y�
)��s�E�$�s�)�S�.�1�2�*�
�
�
�y�
)��s�E�$�s�)�S�.�1�2�*�
)�*�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)�sG�E7�F�:"F�9)F�?)F)�)F5�7F�F�F�F&�)F2�5F>c��|jtttt��|jtt	d�tt��|jtttt��|jtttt��|jtt	d�tt��|jtttt��yrS)r�r�r�rr�r�r�r
r�s rY�test_optional_issubclassz#UnionTests.test_optional_issubclassCs������
�3���
�6�7����
�4��:�x��}�=�>�����C��#��7�8����
�3���
�6�7����
�4��:�x��}�=�>�����C��#��7�8r[c���|jt�5tttt
tt�ddd�|jt�5tt
d�t
tt�ddd�|jt�5ttt
tt�ddd�y#1swY��xYw#1swY�VxYw#1swYyxYwrS)r}r~r�r�r�rr�r�s rY�#test_optional_issubclass_type_errorz.UnionTests.test_optional_issubclass_type_errorKs���
�
�
�y�
)��t�C�y�(�4��9�"5�6�*�
�
�
�y�
)��t�D�z�8�D��I�#6�7�*�
�
�
�y�
)��s�H�T�#�Y�/�0�*�
)�	*�
)��
)�
)��
)�
)�s#�*C�(C�"#C&�C�C#�&C/c�d�tt}|j|t�tttf}tttf}tttf}|j||�|j|t�|j|t�|j|t�yrS)rr
r�r��objectr�)rWr
�u1�u2�u3s     rY�test_union_anyzUnionTests.test_union_anySs����#�J������C� �
�3��8�_��
�3��8�_��
�3��;�
������R� ����B��$����B��$����B��$r[c��tt}|j|t�tttf}tttf}|j||�|j	|t�|j	|t�yrS)rr�r�r�r�)rWr
r�r�s    rY�test_union_objectzUnionTests.test_union_object^sg���&�M������F�#�
�3��;�
��
�6�3�;�
������R� ����B��'����B��'r[c�t�tttf}tttf}|j||�yrS)rr�rpr�)rWr�r�s   rY�test_unorderedzUnionTests.test_unorderedgs.��
�3��:�
��
�5�#�:�
������R� r[c�J�tt}|j|t�yrS)rror�)rWrss  rY�test_single_class_disappearsz'UnionTests.test_single_class_disappearsls���(�O���
�
�a��"r[c���tttf}|j|t�|j	t|j
�|j	t|j
�yrS)rrorsr�rPr�rxs  rY�test_base_class_keptzUnionTests.test_base_class_keptpsE���(�G�#�$�����A�x�(��
�
�h��
�
�+��
�
�g�q�z�z�*r[c��tttf}t|tf}|j	|ttttf�yrS)rr�rpror�)rWr
�vs   rY�test_union_unionzUnionTests.test_union_unionvs:���#�u�*����!�X�+�������E�#�u�h�"6�7�8r[c�0�Gd�dt�}Gd�d|��}Gd�d|��}|jt||fj||f�t||f}|j	t
�5t
|�ddd�tt|f}|j	t
�5t
|�ddd�t|tf}|j	t
�5t
|�ddd�y#1swY�zxYw#1swY�NxYw#1swYyxYw)Nc��eZdZdZy)�;UnionTests.test_union_of_unhashable.<locals>.UnhashableMetaN�r\r]r^�__hash__r_r[rY�UnhashableMetar�|����Hr[r�c��eZdZy)�.UnionTests.test_union_of_unhashable.<locals>.ANrpr_r[rYr�r�r�r[r���	metaclassc��eZdZy)�.UnionTests.test_union_of_unhashable.<locals>.BNrpr_r[rYr�r��r�r[r�)r�r�rr�r}r~�hashr�)rWr�r�r��union1�union2�union3s       rY�test_union_of_unhashablez#UnionTests.test_union_of_unhashable{s���	�T�	�	/�.�.�.�.�.�����q�!�t��-�-��1�v�6��q�!�t���
�
�
�y�
)���L�*��s�A�v���
�
�
�y�
)���L�*��q�#�v���
�
�
�y�
)���L�*�
)�*�
)��*�
)��*�
)�s$�/C4�'D�D�4C=�D	�Dc�J�|jtt�d�tttf}|jt|�dt
z�tttf}|jt|�dt
z�t
d�}t|tft}|jt|�tt��ttttf}|jt|�d�ttttttff}|jt|�d�tttz}|jt|�d�tdtf}|jt|�d�ttdf}|jt|�d�tdttf}|jt|�d	�tt}|jt|�d�y)
Nztyping.Unionztyping.Union[%s.Employee, int]ztyping.Union[int, %s.Employee]rz#typing.Union[typing.List[int], int]z)typing.Union[list[int], dict[str, float]]ztyping.Union[int, float]ztyping.Optional[str]z typing.Union[NoneType, str, int])
r�r�rror�r\rrr�rr�rpr)rWr
rs   rYr�zUnionTests.test_repr�s�������e��n�5��(�C�-� ������a��"B�X�"M�N��#�x�-� ������a��"B�X�"M�N��C�L���!�S�&�M�#�������a��$�s�)�,��$�s�)�S�.�!������a��"G�H��$�s�)�T�#�u�*�-�-�.������a��"M�N��#��+�������a��"<�=��$��)�������a��"8�9��#�t�)�������a��"8�9��$��S�.�!������a��"D�E��S�M������a��"8�9r[c���tttttf��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYwrJ)rNrOrr�r�rirPrQs   rYrSzUnionTests.test_dir�sT����E�#�s�(�O�,�-�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A$	c��|jtd�5Gd�dt�}ddd�|jtt�5Gd�dt	t��}ddd�|jtd�5Gd�dtt
tf�}ddd�y#1swY��xYw#1swY�QxYw#1swYyxYw)	NzCannot subclass typing\.Unionc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r��r�r[r7c��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r��r�r[r:z)Cannot subclass typing\.Union\[int, str\]c��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r��r�r[r�)r�r~rr�r�r�r�)rWr7r:r�s    rYr�zUnionTests.test_cannot_subclass�s���
�
#�
#�I�0�2�
�E�
�2��
#�
#�I�/C�
D�
�D��K�
�E��
#�
#�I�<�>�
�E�#�s�(�O�
�>�>�2�2��E�
D��>�>�s#�B&�	B2�B>�&B/�2B;�>Cc���|jt�5t�ddd�|jt�5tt��ddd�ttt
f}|jt�5|�ddd�|jt�5t|��ddd�y#1swY��xYw#1swY�|xYw#1swY�PxYw#1swYyxYwrS)r}r~rr�r�rprxs  rYr�z"UnionTests.test_cannot_instantiate�s���
�
�
�y�
)��G�*�
�
�
�y�
)��D��K�M�*��#�u�*���
�
�
�y�
)�
�C�*�
�
�
�y�
)��D��G�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�s.�C�C�C�(C&�C�C�C#�&C/c�8�|jtttjt
ftk(�|jtttjt
ftjt
k(�|j
ttttjt
fj�|j
tjt
tttjt
fj�yrS)r�rr�rT�Iterabler�rPr�r�s rY�test_union_generalizationz$UnionTests.test_union_generalization�s�������s�F�O�O�C�$8�8�9�S�@�A�����s�F�O�O�C�$8�8�9�V�_�_�S�=Q�Q�R��
�
�c�5��f�o�o�c�&:�!:�;�D�D�E��
�
�f�o�o�c�*�E�#�v���s�7K�2K�,L�,U�,U�Vr[c��|jtt�|jtt�|jtt�|jt
t�|jdgt
�|jt
tj�|jt
tjt�yrS)	r�rr�r
r$rrT�Mappingr!r�s rY�test_union_compare_otherz#UnionTests.test_union_compare_other�s������E�6�*����E�3�'����H�e�,����H�e�,����T�F�H�-����H�f�n�n�5����H�V�%:�%:�;�U�Cr[c�`�tt}ttdf}|j||�yrS)rr�rr�)rWr	r
s   rY�
test_optionalzUnionTests.test_optional�s)���S�M���#�t�)�������A�r[c�j�|jt�5tdddd�y#1swYyxYw�Nr_)r}r~rr�s rY�
test_emptyzUnionTests.test_empty�s#��
�
�
�y�
)��"�I�*�
)�
)���
)�2c�r�tttf}d|fd�}|jt	|�d|�y)Nr�c��yrSr_r�s rYrXz(UnionTests.test_no_eval_union.<locals>.f����Sr[)rr�r�r�r+)rWr
rXs   rY�test_no_eval_unionzUnionTests.test_no_eval_union�s/���#�s�(�O������
�
�n�Q�'��,�a�0r[c�h�dtfd�}|jtt|tf�d�y)Nr�c��yrSr_r_r[rY�funz0UnionTests.test_function_repr_union.<locals>.fun�s��#r[ztyping.Union[fun, int])r�r�r�r)rWr�s  rY�test_function_repr_unionz#UnionTests.test_function_repr_union�s(���S������e�C��H�o�.�0H�Ir[c�.�tttf}|yrS)rr�r>r�s  rY�test_union_str_patternz!UnionTests.test_union_str_pattern�s���#�w�,���	r[c�X��ddlm�t�tf�fd�}t|tfy)Nr)�Elementc����|�SrSr_)r�r�s �rY�Elemz#UnionTests.test_etree.<locals>.Elem�s
����D�>�!r[)�xml.etree.ElementTreer�rr�)rWr�r�s  @rY�
test_etreezUnionTests.test_etree�s'���	2�
�g�s�l��	"�	�d�C�i�r[c���|jttdtdfjtdtdf�|jttdtdftd�|jttdtdfjtdtdf�|jttdtdfjtdtdf�ddl}Gd�d|j
�}|jtt|jt|jft|j�|jtt|jt|jft|j�|jtt|jt|jfjt|jt|jf�|jttdt|jtdfjtdt|jtdf�|jttdt|jtdfjtdt|jtdf�y)Nrbr�FrTc��eZdZdZdZy)�/UnionTests.test_union_of_literals.<locals>.IntsrrbN�r\r]r^r�r�r_r[rY�Intsr�����A��Ar[r�)r�rrr��enum�IntEnumr�r�)rWr�r�s   rY�test_union_of_literalsz!UnionTests.test_union_of_literals�s<������w�q�z�7�1�:�5�6�?�?�!�!�*�g�a�j�1�	3�����w�q�z�7�1�:�5�6� ���	%�	
����w�u�~�w�q�z�9�:�C�C�!�%�.�'�!�*�5�	7�����w�t�}�g�a�j�8�9�B�B�!�$�-����4�	6�	�	�4�<�<�	�	
����w�t�v�v�������?�@� �����	*�����w�t�v�v�������?�@� �����	*�	
����w�t�v�v�������?�@�I�I�!�$�&�&�/�7�4�6�6�?�;�	=�	
����w�q�z�7�4�6�6�?�G�E�N�J�K�T�T�!�!�*�g�d�f�f�o�w�u�~�F�	H�����w�q�z�7�4�6�6�?�G�D�M�I�J�S�S�!�!�*�g�d�f�f�o�w�t�}�E�	Gr[N) r\r]r^r.r{r}rr�r�r�r�r�r�r�r�r�r�r�r�r�rSr�r�r�r�r�r�r�r�r�r�r�r_r[rYrvrvs���&�9�,�;�
,�;�3�9�1�	%�(�!�
#�+�9�
�(:�28��	�W�D��
�1�
J�
�

�Gr[rvc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
TupleTestsc��|jt�5ttttt
f�ddd�|jt�5ttttt
f�ddd�Gd�dt�}|jtt�|j|t�y#1swY��xYw#1swY�UxYw)Nc��eZdZy)�"TupleTests.test_basics.<locals>.TPNrpr_r[rY�TPr� r�r[r�)r}r~r�rr�r�r��assertIsSubclass)rWr�s  rYr.zTupleTests.test_basicss���
�
�
�y�
)��u�e�C��H�o�.�*�
�
�
�y�
)��u�e�C��H�o�.�*�	������e�U�+����b�%�(�*�
)��
)�
)�s�"B?�"C�?C�Cc�\�|jtttt�|jttdfttdf�|jtttttf�|jttttdf�y�N.)r�rr�r�r�s rYr�zTupleTests.test_equality$sr������s��U�3�Z�0�����s�C�x��%��S��/�:����E�#�J��c�3�h��8����E�#�J��c�3�h��8r[c��Gd�dt�}|j|t�|jtt�|jtt�y)Nc��eZdZy)�/TupleTests.test_tuple_subclass.<locals>.MyTupleNrpr_r[rY�MyTupler�+���r[r�)r�r�r)rWr�s  rY�test_tuple_subclasszTupleTests.test_tuple_subclass*s>��	�e�	����g�u�-����e�U�+����e�U�+r[c��|jt�5tdtttf�ddd�|jdt�y#1swY� xYw)N)rr)r}r~rrr�r�r�s rY�test_tuple_instance_type_errorz)TupleTests.test_tuple_instance_type_error1s@��
�
�
�y�
)��v�u�S�#�X��/�*����f�e�,�*�
)�s�A�Ac��|jtt�d�|jttd�d�|jttttf�d�|jtttdf�d�|jttt
t�d�y)Nztyping.Tupler_ztyping.Tuple[()]ztyping.Tuple[int, float].ztyping.Tuple[int, ...]ztyping.Tuple[list[int]])r�r�rr�rpr�r�s rYr�zTupleTests.test_repr6s�������e��n�5�����e�B�i��*<�=�����e�C��J�/�0�2L�M�����e�C��H�o�.�0H�I�����e�D��I�.�/�1J�Kr[c��|jt�5tdt�ddd�|jt�5tdtt�ddd�y#1swY�?xYw#1swYyxYwr{)r}r~r�rr�r�s rYr�zTupleTests.test_errors=sS��
�
�
�y�
)��r�5�!�*�
�
�
�y�
)��r�5��:�&�*�
)�*�
)��
)�
)�s�A%�A1�%A.�1A:N)	r\r]r^r.r�r�r�r�r�r_r[rYr�r�s!��)�9�,�-�
L�'r[r�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�Zy)�BaseCallableTestsc�$�|j}|jt�5ttj
|tgtf�ddd�|jtj
|�|j||�y#1swY�<xYwrS)r"r}r~r��types�FunctionTyper�r��rWr"s  rY�test_self_subclassz$BaseCallableTests.test_self_subclassFsh���=�=��
�
�
�y�
)��u�)�)�8�S�E�3�J�+?�@�*����e�0�0�(�;����h��1�*�
)�s�)B�Bc�,�|j}|tgtf}|j||tgtf�|jt||tgtfh�d�|j	||tgt
f�|j	||t
gtf�|j	||ttgtf�|j	||gtf�|j	||dtf�|j	||�y)Nrb.)r"r�r�rr�r�)rWr"r7s   rY�test_eq_hashzBaseCallableTests.test_eq_hashMs����=�=���c�U�C�Z� ������H�c�U�C�Z�0�1�����a��3�%��*�!5�6�7��;����A�x���s�
�3�4����A�x���s�
�3�4����A�x��c�
�C��8�9����A�x��C��0�1����A�x��S��1�2����A�x�(r[c���|j}tt|dtf��}dD]/}|j	|��5|j||�ddd��1y#1swY�<xYw)N.rKrL)r"rNrOr�rirP)rWr"rRrMs    rYrSzBaseCallableTests.test_dirYs^���=�=����H�S�#�X�.�/�0�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A(	c���|j}|jt�5|�ddd�|jt�5t|��ddd�|tgt
f}|jt�5|�ddd�|jt�5t|��ddd�y#1swY��xYw#1swY�yxYw#1swY�PxYw#1swYyxYwrS)r"r}r~r�r�r�)rWr"r�s   rYr�z)BaseCallableTests.test_cannot_instantiatebs����=�=��
�
�
�y�
)��J�*�
�
�
�y�
)��D��N��*��c�U�C�Z� ��
�
�
�y�
)�
�C�*�
�
�
�y�
)��D��G�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�s/�C�C�C�*C(�C
�C�C%�(C1c��|j}|jt�5|tddd�y#1swYyxYwrS)r"r}r~r�r�s  rY�test_callable_wrong_formsz+BaseCallableTests.test_callable_wrong_formsns,���=�=��
�
�
�y�
)��S�M�*�
)�
)�s�
5�>c�j�|j}d�}|j||�|jd|�y)Nc��yrSr_r_r[rYrXz9BaseCallableTests.test_callable_instance_works.<locals>.fu���r[)r"r�r��rWr"rXs   rY�test_callable_instance_worksz.BaseCallableTests.test_callable_instance_worksss0���=�=��	����a��*�� � ��x�0r[c�
�|j}d�}|jt�5t||gdf�ddd�|jt�5t||gtf�ddd�|jt�5td|gdf�ddd�|jt�5td|gtf�ddd�y#1swY��xYw#1swY�xxYw#1swY�UxYw#1swYyxYw)Nc��yrSr_r_r[rYrXz>BaseCallableTests.test_callable_instance_type_error.<locals>.f|r�r[)r"r}r~rr
r�s   rY�!test_callable_instance_type_errorz3BaseCallableTests.test_callable_instance_type_errorzs����=�=��	�
�
�
�y�
)��q�(�2�t�8�,�-�*�
�
�
�y�
)��q�(�2�s�7�+�,�*�
�
�
�y�
)��t�X�b�$�h�/�0�*�
�
�
�y�
)��t�X�b�#�g�.�/�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C!�C-�6C9�C�!C*�-C6�9Dc��|j}|j�d�}|gtf}|jt	|�|�d��|t
tgtf}|jt	|�|�d��|dt
f}|jt	|�|�d��|t
tgttf}|jt	|�|�d��y)N�	.Callablez
[[], bool]z[[str, float], int].z
[..., str]z[[str, float], list[int]])	r"r]rr�r�r�rpr�r�)rWr"�fullname�ct0�ct2�ctv�ct3s       rYr�zBaseCallableTests.test_repr�s����=�=���)�)�*�)�4���r�4�x� ������c��x�j�
�$;�<���U�|�S�(�)������c��x�j�0C�$D�E��s�C�x� ������c��x�j�
�$;�<���U�|�T�#�Y�.�/������c��x�j�0I�$J�Kr[c��|j}d|dtffd�}|jt|t	�t��d|dtfi�y)Nr.c��yrSr_�rs rYr`z:BaseCallableTests.test_callable_with_ellipsis.<locals>.foo�r�r[)r"rr�r+�globals�locals)rWr"r`s   rY�test_callable_with_ellipsisz-BaseCallableTests.test_callable_with_ellipsis�sP���=�=��	�8�C��F�#�	�	
�����W�Y���A��x��Q��/�0�	2r[c�T�|j}tj|dtfyr�)r"rTrr�r�s  rY�test_ellipsis_in_genericz*BaseCallableTests.test_ellipsis_in_generic�s ���=�=�����H�S�#�X�&�'r[c��|j}|j|tzt|tf�|jt|ztt|f�yrS)r"r�rrr�s  rY�test_or_and_rorz!BaseCallableTests.test_or_and_ror�sG���=�=������E�)�5��5��+A�B������)�5����+A�Br[c��|j}|ttgtf}|tj
jur |j
|tj�|j|jtj
j�|j|jtttf�|j|jd�yr�)r"r�r�rp�collectionsrzr�r��GenericAliasr�r�r�r�r��rWr"r
s   rY�
test_basiczBaseCallableTests.test_basic�s����=�=���#�s��U�*�+���{���/�/�/��!�!�%��);�);�<��
�
�e�&�&����(@�(@�A�������#�s�E�):�;�����-�-�r�2r[c��|j}|ttgtf}|j	tj|��|�yrS)r"r�r�rpr�r��refrs   rY�test_weakrefzBaseCallableTests.test_weakref�s=���=�=���#�s��U�*�+�����+����U�+�-�u�5r[c��|j}td�atd�atd�a|ttgtf|ttf|ttf|tttftf|tgt�t��tfg}|D]�}ttjdz�D]�}|j||��5tj||�}tj |�}|j#|j$|j$�|j#|j&|j&�|j#|j(|j(�ddd�����bbby#1swY��xYw)N�T_pickle�P_pickle�	TS_picklerb)r
re)r"rrrErrr r�r�rprFrfrgrhrirfrer�r�r�r�)rWr"�samplesr
rer��loadeds       rY�test_picklezBaseCallableTests.test_pickle�sL���=�=���:�&���Z�(�� ��-�	�
�c�3�Z��&�'��X�s�]�#��X�x�'�(��[��h��/��4�5��[�!5�)�!5�X�!5�6��;�<�
���E��v�6�6��:�;���\�\��U�\�;����U�E�2�A�#�\�\�!�_�F��$�$�U�%5�%5�v�7H�7H�I��$�$�U�^�^�V�_�_�E��$�$�U�%9�%9�6�;P�;P�Q�<�;�<��
�h�	�<�;�s
�BE>�>Fc��|j}|j�d�}|ttgtf}|ttgt
f}|dtf}|j
|t|ttgtf�|j
|d|ttd�gtd�f�|j
|tttf|ttgtf�|j
|t|dtf�|j
|t|dtf�|tt
tf}|j
t|�|�d��|j
t|t�|�d��|j
|t|ttgtf�|tjttttft
gtf}|j
|tttf|tjttttftgtf�y)Nr.z[[int, ~VT], str]z[[int, dict], str])r"r]r�rrrr�r�r�rprr�rrTrr�)rWr"r�C1�C2�C3�C4�C5s        rYr�z'BaseCallableTests.test_var_substitution�s����=�=���)�)�*�)�4��
�s�A�h��k�
"��
�r�1�g�r�k�
"��
�c�1�f�
������C��(�C��:�s�?�";�<�����D��8�S�$�t�*�,=�t�D�z�,I�#J�K�����C���O�,�h��U�|�S�7H�.I�J�����C��(�3��8�"4�5�����H��x��X�
�'>�?���R���
������b��h�Z�/@�#A�B�����b��h��H�:�5G�)H�I�����D��8�S�$�K��,<�#=�>��v�{�{�1�~�u�R��U�|�R�8�#�=�
>������C��e�O�,�!�6�;�;�s�#3�U�3��8�_�e�"L�c�"Q�R�	Tr[c���|j}td�}td�}d}|jt|�5|||fdt
fddd�y#1swYyxYw)Nr�rzAExpected a list of types, an ellipsis, ParamSpec, or Concatenate.r)r"rErr�r~r�)rWr"r�r�pats     rY�test_type_subst_errorz'BaseCallableTests.test_type_subst_error�sR���=�=���c�N���C�L��Q��
�
#�
#�I�s�
3��Q��T�N�1�c�6�"�4�
3�
3�s�A�Ac���|j}Gd�d|�}|tgtf}|j|�j|�|j|�j|tgtf�y)Nc��eZdZd�Zy)�/BaseCallableTests.test_type_erasure.<locals>.C1c��yrSr_r�s rY�__call__z8BaseCallableTests.test_type_erasure.<locals>.C1.__call__����r[N�r\r]r^r1r_r[rYr%r/�s��
r[r%)r"r�rr�r�r��__orig_class__)rWr"r%rs    rY�test_type_erasurez#BaseCallableTests.test_type_erasure�s^���=�=��	��	�
��u�a�x�L���
�
�a�c�m�m�R�(������+�+�R���q��\�:r[c���|j}|j�d�}td�}td�}||tf}|j	|t
gtf|t
gtf�|j	|t
tgtf|t
tgtf�|j	|gtf|gtf�|j	|dtf|dtf�|j	||tf||tf�|j	|tt
|ftf|tt
|ftf�|j	t|�|�d��|j	t|t
tgtf�|�d��|jt�5|t
tfddd�||t
f}|j	|t
g|t
gt
f�|j	|t
tg|t
tgt
f�|j	|g|gt
f�|j	|d|dt
f�|j	||||t
f�|j	|tt
|f|tt
|ft
f�|j	|t
|t
gt
f�|j	|t
tf|t
tgt
f�|j	t|�|�d��|j	t|t
tf�|�d��y#1swY���xYw)	Nrr��P2.z[~P, ~T]z[[int, str], str]z	[~P, int]z[[int, str], int])r"r]rErr�r�r�rFr�r}r~)rWr"rr�r7r%r&s       rY�test_paramspecz BaseCallableTests.test_paramspec�s����=�=���)�)�*�)�4���c�N��
�t�_��
�a��d�^������S�E�3�J���3�%��*�)=�>�����S�#�J��O�,�h��S�z�3��.G�H�����B��G��h�r�3�w�&7�8�����C��H��x��S��'9�:�����B��G��h�r�3�w�&7�8�����K��R��0�#�5�6�!�+�c�2�g�"6��";�<�	>�����b��h�Z�x�#8�9�����b�#�s��S��1�2�x�j�@Q�4R�S�
�
�
�y�
)��s�C�x�L�*��a��f�
������S�E��H�c�U�C�Z�$8�9�����S�#�J���3��*�c�/�)B�C�����B���"�c�'�!2�3�����C��(�3��8�"4�5�����B���"�c�'�!2�3�����K��R��0�1�!�+�c�2�g�"6��";�<�	>�	
����C��(�C�5�#�:�"6�7�����C��H��x��c�
�C��'@�A�����b��h�Z�y�#9�:�����b��c��l�+��z�9J�-K�L�!*�
)�s�1M#�#M-c��|j}|j�d�}td�}td�}td�}|tt
|f|f}|j
t|�|�d��|j
||t
f|tt
|ft
f�|j
|ttgt
f|t
ttgt
f�|j
|gt
f|t
gt
f�|j
|tt|ft
f|tt
t|ft
f�|j
|dt
f|tt
dft
f�|tt
|ft
f}|j
t|�|�d��|j
|||tt
|ft
f�|j
|ttg|t
ttgt
f�|j
|ttf|t
ttgt
f�|j
|g|t
gt
f�|j
|tt|f|tt
t|ft
f�|j
|d|tt
dft
f�y)Nrrr�r7z![typing.Concatenate[int, ~P], ~T].z"[typing.Concatenate[int, ~P], int])
r"r]rrErFr�r�r�r�rp)rWr"rrr�r7r7s       rY�test_concatenatez"BaseCallableTests.test_concatenate	s����=�=���)�)�*�)�4���C�L���c�N��
�t�_���[��a��(�!�+�,������a��$�:�%F�G�	I�����2�s�7��X�k�#�r�'�.B�C�.G�%H�I�����C��<��,�-�x��c�5�8I�3�8N�/O�P�����2�s�7��X�s�e�S�j�%9�:�����;�s�B�w�/��4�5�!�+�c�3��l�";�S�"@�A�	C�����3��8��h�{�3��8�/D�c�/I�&J�K��[��a��(�#�-�.������a��$�:�%G�H�	J�����2����S�"�W�)=�s�)B� C�D�����C��<��(�C��e�3D�c�3I�*J�K�����3��:���#�s�E�1B�C�1G�(H�I�����2���#���� 4�5�����;�s�B�w�/�0�!�+�c�3��l�";�S�"@�A�	C�����3���+�c�3�h�*?��*D�!E�Fr[c	�n�|j}td�}td�}td�}td�}td�}Gd�dt||f�}|j|j||f�|t|g|||ff}|j|jt|f|||ff�|j|j||f�|j|ttttgf|ttg|tttgtff�|||gtft|gtf}	|j|	j||gtft|ftf�|j|	j|f�|j|	tt||ttgtftttgtf�||||f|g|f}
|j|
j|||f|f|f�|j|
j||f�|j|
gtf||gtftgtf�|j|
ttgtf||ttgtftgtf�|j|
ttg|ft||ttgtftgtf�||tg|�t�|f|g|f}|j|j|tg|�t�|f|f|f�|j|j||f�|j|tttf||ttttgtftgtf�y)Nr�r7rrr�c��eZdZy)�3BaseCallableTests.test_nested_paramspec.<locals>.MyNrpr_r[rY�Myr==	r�r[r>)r"rErrr#r�r�r�r�r�r�r�rrp)rWr"r�r7rrr�r>r%r&r'r(s            rY�test_nested_paramspecz'BaseCallableTests.test_nested_paramspec4	s����=�=���c�N��
�t�_���C�L��
�T�]��
�$�
��	���A���	�	
����*�*�Q��F�3�
��b�	�8�B��F�+�+�
,���������R�y�(�2�r�6�2B�&C�D�����*�*�R��H�5�����C�$�s�)�U�!3�3�4��S�#�J��$�s�)�U�1C�S�1H�(I�I�J�	L���2�$��)�$�d�2�h�/��4�
5���������"��s��(;�T�"�X�'F��&L�M�����*�*�R�E�2�����D��I���X�t�C�y�k�3�&6�7��d�3�i��I�3�N�O�	Q���"�b�&�!�2�&��*�
+����������R��(8�"�'=�r�&B�C�����*�*�R��H�5�����B��G���X�b�#�g�.��4�c�9�:�	<�����S�$�K��,�-��X�s�D�k�3�&6�7��=�s�B�C�	E�����S�$�K��N�+�C�0��X�s�D�k�3�&6�7��=�s�B�C�	E���3�/��/�S�/�2�-�.��3�R�7�
8���������#����C��"�1D�(E�r�'J�B�&O�P�����*�*�R��H�5�����D�%��.�/��X�s�D�%��&=�u�&D�E�u�M�u�T�U�	Wr[c��|j}|ttgtf}|j	t
d�5|tddd�t
d�}||tf}|j	t
d�5|tttfddd�|j	t
d�5|tddd�y#1swY�{xYw#1swY�>xYw#1swYyxYw)Nzis not a generic classr��many arguments for�few arguments for)r"r�r�rpr�r~rEr)rWr"r
r�r%s     rYr�zBaseCallableTests.test_errors^	s����=�=���#�s��U�*�+��
�
#�
#�I�/G�
H��#�J�I��c�N��
�a��d�^��
�
#�
#�I�/C�
D��s�C��}��E�
�
#�
#�I�/B�
C��s�G�D�
C�
I�
H��E�
D��
C�
C�s#�
B<�6C�)
C�<C�C�CN)r\r]r^r�r�rSr�r�rrr�rrrrrr#r�r,r5r8r:r?r�r_r[rYr�r�Dss��2�
)�8�
��
1�0�
L�2�(�
C�
3�6�
*�2T�0#�;� M�DG�6(W�T
r[r�c�*�eZdZejZd�Zy)�TypingCallableTestsc�`�tjttgtf}t
jjttgtf}|j|j|j�|jt|j�t|j��yrS)
rTr"r�r�rrrzr�r�r�)rW�c1�c2s   rY�test_consistencyz$TypingCallableTests.test_consistencym	sr���_�_�c�3�Z��-�
.��
�_�_�
%�
%�s�C�j�$�&6�
7��������b�k�k�2�����b�k�k�*�D����,=�>r[N)r\r]r^rTr"rHr_r[rYrDrDj	s�����H�?r[rDc�8�eZdZejj
Zy)�CollectionsCallableTestsN)r\r]r^rrzr"r_r[rYrJrJv	s�����'�'�Hr[rJc�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�LiteralTestsc��tdtdtdtdtdtdttdtdftdy)	Nrb�rbr���r�r��zT)rb�2Fr����)sfoor)rr�s rYr.zLiteralTests.test_basics{	sL����
�����
����
���
��
�����
�w�t�}�,�-���r[c��ddl}Gd�d|j�}|jt|jj
|jf�y)Nrc��eZdZdZy)�"LiteralTests.test_enum.<locals>.Myr�N)r\r]r^r�r_r[rYr>rX�	s���Ar[r>)r��Enumr�rr�r�)rWr�r>s   rY�	test_enumzLiteralTests.test_enum�	s;���	����	�	
��������/�/�"�$�$��9r[c�b�tttdtddd�tty)N)y@@.r_rOrT�r`r)rr�rr�s rY�3test_illegal_parameters_do_not_raise_runtime_errorsz@LiteralTests.test_illegal_parameters_do_not_raise_runtime_errors�	s'��	����� ���!�$�%���
r[c�D�ttdttdy)NrN)r`r�baz)rrr�s rY� test_literals_inside_other_typesz-LiteralTests.test_literals_inside_other_types�	s���W�W�
���W�*�
+�,r[c��|jttd�d�|jttd�d�|jttt�d�|jtt�d�|jttd�d�|jttd�d	�y)
Nrbztyping.Literal[1])rbTr`ztyping.Literal[1, True, 'foo']ztyping.Literal[int]ztyping.Literalztyping.Literal[None]�rbr�rOrOztyping.Literal[1, 2, 3])r�r�rr�r�s rYr�zLiteralTests.test_repr�	s�������g�a�j�)�+>�?�����g�n�5�6�8X�Y�����g�c�l�+�-B�C�����g��(8�9�����g�d�m�,�.D�E�����g�j�1�2�4M�Nr[c��tttd��}dD]/}|j|��5|j	||�ddd��1y#1swY�<xYw)NrNrKrL)rNrOrrirPrQs   rYrSzLiteralTests.test_dir�	sQ����G�G�,�-�.�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A	c���|jt�5t�ddd�|jt�5td�ddd�|jt�5tt��ddd�|jt�5ttd��ddd�y#1swY��xYw#1swY�}xYw#1swY�WxYw#1swYyxYwr@)r}r~rr�r�s rYr>zLiteralTests.test_cannot_init�	s���
�
�
�y�
)��I�*�
�
�
�y�
)��A�J�L�*�
�
�
�y�
)��D��M�O�*�
�
�
�y�
)��D������*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s.�B<�C�)C�C �<C�C�C� C)c��|jt�5tdtd�ddd�|jt�5tttd�ddd�|jt�5tdtd�ddd�|jt�5tttd�ddd�y#1swY��xYw#1swY�|xYw#1swY�WxYw#1swYyxYwr@)r}r~rrr�r�r�s rY� test_no_isinstance_or_issubclassz-LiteralTests.test_no_isinstance_or_issubclass�	s���
�
�
�y�
)��q�'�!�*�%�*�
�
�
�y�
)��s�G�A�J�'�*�
�
�
�y�
)��q�'�!�*�%�*�
�
�
�y�
)��s�G�A�J�'�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C�<C&�-C2�C�C#�&C/�2C;c���|jt�5Gd�dtd�}ddd�|jt�5Gd�dt�}ddd�y#1swY�7xYw#1swYyxYw)Nc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.FooNrpr_r[rYr�ri�	r�r[r�rbc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.BarNrpr_r[rYr�rk�	r�r[r��r}r~r�rWr�r�s   rY�test_no_subclassingz LiteralTests.test_no_subclassing�	sO��
�
�
�y�
)�'�g�a�j�'�*�
�
�
�y�
)�$�g�$�*�
)�*�
)��
)�
)�s�A�A+�A(�+A4c�p�|jt�5tddddd�y#1swYyxYwr@rlr�s rY�test_no_multiple_subscriptsz(LiteralTests.test_no_multiple_subscripts�	s'��
�
�
�y�
)��A�J�q�M�*�
)�
)�s�
,�5c�D�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd	�|jtdtd�|jtdtd
�|jtdtd�y)
NrFTrbr�)rbT)rbrbr��Tr��r�rbrNrb)r�rr�r�s rY�
test_equalzLiteralTests.test_equal�	s������G�A�J����7����G�D�M�7�1�:�6����G�A�J���
�3����G�G�,�g�a�j�9����G�G�,�g�d�m�<����G�D�M�7�7�+;�<�������W�Q�Z�0���������
�6������)�7�:�+>�?r[c�0�|jttd�ttd��|jttd�ttd��|jttd�ttd��y)Nrbr�rsrNrb)r�r�rr�s rY�	test_hashzLiteralTests.test_hash�	sj������g�a�j�)�4���
�+;�<�����g�d�m�,�d�7�4�=�.A�B�����g�g�.�/��g�j�6I�1J�Kr[c�F�|jtdjd�|jtdjd�|jtdtdtdfjd�|jtggfjggf�y)NrNrbrbr�)rOrT)rbr�rOrT)r�rr�r�s rY�	test_argszLiteralTests.test_args�	s��������)�2�2�I�>������,�5�5�y�A������G�A�J���
�!=�>�G�G��V������R���1�1�B��8�<r[c��ttdtdtdf}ttddf}ttd}|||fD]7}|j|td�|j|jd��9y)Nrbr�rOr�rN)rr�r�)rW�l1�l2�l3rs     rY�test_flattenzLiteralTests.test_flatten�	sz��
�W�Q�Z����W�Q�Z�7�
8��
�W�T�]�A�%�
&��
�W�W�%�
&���R���A����Q��� 0�1����Q�Z�Z��3�r[c��ddl}Gd�d|j�}tt|jt|jtdtdf}|j|j|j|jddf�y)Nrc��eZdZdZdZy)�5LiteralTests.test_does_not_flatten_enum.<locals>.Intsrbr�Nr�r_r[rYr�r��	r�r[r�rbr�)r�r�rr�r�r�r�)rWr�r�rs    rY�test_does_not_flatten_enumz'LiteralTests.test_does_not_flatten_enum�	sq���	�4�<�<�	�
��D�F�F�O��D�F�F�O��A�J��A�J�
�
��	
������d�f�f�d�f�f�a��%;�<r[N)r\r]r^r.rZr]r`r�rSr>rfrnrprtrvrxr}r�r_r[rYrLrLz	sP��	 �:��-�O�8��(�%��	@�L�
=�4�=r[rL�XK�XVc�B�eZdZdedefd�Zdedefd�Zd	dededefd�Zy)
�
SimpleMapping�keyr�c��yrSr_�rWr�s  rY�__getitem__zSimpleMapping.__getitem__�	���r[rc��yrSr_�rWr�rs   rY�__setitem__zSimpleMapping.__setitem__�	r�r[N�defaultc��yrSr_�rWr�r�s   rY�getzSimpleMapping.get
r�r[rS)r\r]r^r�r�r�r�r�r_r[rYr�r��	sB���r��b���r��"���r��B��"�r[r�c�8�eZdZd�Zdefd�Zdefd�Zddefd�Zy)�MySimpleMappingc��i|_yrS��storer�s rYr�zMySimpleMapping.__init__
s	����
r[r�c� �|j|SrSr�r�s  rYr�zMySimpleMapping.__getitem__

s���z�z�#��r[c�"�||j|<yrSr�r�s   rYr�zMySimpleMapping.__setitem__
s����
�
�3�r[Nc�D�	|j|S#t$r|cYSwxYwrS)r��KeyErrorr�s   rYr�zMySimpleMapping.get
s)��	��:�:�c�?�"���	��N�	�s���rS)r\r]r^r�r�r�r�r�r_r[rYr�r�
s+����s�� �s� ��s�r[r�c�"�eZdZUeed<eed<y)�
Coordinater�r�N�r\r]r^r�r�r_r[rYr�r�
���
�F�
�Fr[r�c��eZdZUeed<y)�Point�labelN�r\r]r^r�r�r_r[rYr�r�
s���Jr[r�c�,�eZdZUeed<eed<eed<y)�MyPointr�r�r�N�r\r]r^r�r�r�r_r[rYr�r�
s��
�F�
�F��Jr[r�c��eZdZUeed<y)�XAxisr�Nr�r_r[rYr�r�$
���
�Fr[r�c��eZdZUeed<y)�YAxisr�Nr�r_r[rYr�r�'
r�r[r�c��eZdZy)�PositionNrpr_r[rYr�r�*
s��r[r�c�(�eZdZUeed<dedefd�Zy)�Proto�attrr�r�c��yrSr_�rWr�s  rY�methz
Proto.meth1
r�r[N)r\r]r^r�r�r�r�r_r[rYr�r�.
s��

�I�����r[r�c��eZdZy)�ConcreteNrpr_r[rYr�r�4
rqr[r�c�,�eZdZUdZeed<dedefd�Zy)�Otherrbr�r�r�c��|dk(ryy)N�thisrbrr_r�s  rYr�z
Other.meth9
s���&�=��r[N)r\r]r^r�r�r�r�r�r_r[rYr�r�7
s���D�#�M�����r[r�c�"�eZdZUeed<eed<y)�NTr�r�Nr�r_r[rYr�r�>
r�r[r�c�,�eZdZUejed<y)�HasCallProtocolr1N)r\r]r^rTr"r�r_r[rYr�r�B
s���o�o�r[r�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�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+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAd@�ZBdA�ZCdB�ZDdC�ZEdD�ZFdE�ZGdF�ZHdG�ZIdH�ZJdI�ZKyJ)K�
ProtocolTestsc�j�tGd�dt��}Gd�d�}Gd�d�}d�}|j||�|j|�|�|j	||�|j|�|�|j	tj|�|j||�y)Nc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Pc��yrSr_r�s rYr�z1ProtocolTests.test_basic_protocol.<locals>.P.methK
���r[N�r\r]r^r�r_r[rYr�r�I
���
r[r�c��eZdZy)�,ProtocolTests.test_basic_protocol.<locals>.CNrpr_r[rYr7r�N
r�r[r7c��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Dc��yrSr_r�s rYr�z1ProtocolTests.test_basic_protocol.<locals>.D.methQ
r�r[Nr�r_r[rYr:r�P
���
r[r:c��yrSr_r_r[rYrXz,ProtocolTests.test_basic_protocol.<locals>.fT
r�r[)r*r'r�r��assertNotIsSubclassr�r�r�)rWr�r7r:rXs     rY�test_basic_protocolz!ProtocolTests.test_basic_protocolH
s���	�	��	�
�	�	�
�	�	�	�	
���a��#����a�c�1�%�� � ��A�&�� � ���a�(�� � ��!3�!3�Q�7�� � ��A�&r[c�|�|jtd�5td���}ddd�y#1swYyxYw)Nz:@runtime_checkable can be only applied to protocol classesc�0��d�x}f�G�fd�d��
}|�S)rc���eZdZW�Zy)�FProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.FooNrjrls�rYr�r�d
s���r[r�r_�rrqrms  @rYz<generic parameters of Foo>z^ProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.<generic parameters of Foo>d
s������r[)r�r~r*�rWr�s  rY�+test_runtime_checkable_generic_non_protocolz9ProtocolTests.test_runtime_checkable_generic_non_protocol^
s6��
�
#�
#��H�
�����
�
�
�s�2�;c��td���}Gd�d�}|j||�Gd�d�}|j||�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZdW�fd�Zy)�9ProtocolTests.test_runtime_checkable_generic.<locals>.Foor�c��yrSr_r�s rYr�z>ProtocolTests.test_runtime_checkable_generic.<locals>.Foo.methj
���r[N�r\r]r^rkr��rmrs��rYr�r�h
s���$�a�$r[r��r'�rqrmrs @@rYz<generic parameters of Foo>zQProtocolTests.test_runtime_checkable_generic.<locals>.<generic parameters of Foo>h
s����	%�	%�X�	%r[c��eZdZdefd�Zy)�:ProtocolTests.test_runtime_checkable_generic.<locals>.Implr�c��yrSr_r�s rYr�z?ProtocolTests.test_runtime_checkable_generic.<locals>.Impl.methm
r r[N�r\r]r^r�r�r_r[rY�Implr�l
s
��&�c�&r[r�c��eZdZdefd�Zy)�=ProtocolTests.test_runtime_checkable_generic.<locals>.NotImplr�c��yrSr_r�s rY�methodzDProtocolTests.test_runtime_checkable_generic.<locals>.NotImpl.methodr
r$r[N)r\r]r^r�r�r_r[rY�NotImplr�q
s
��(��(r[r�)r*r�r�)rWr�r�r�s    rY�test_runtime_checkable_genericz,ProtocolTests.test_runtime_checkable_genericg
sL��	�	%�
�	%�	'�	'�	
���d�C�(�	)�	)�	
� � ��#�.r[c��tGd�dt��}d��}d��}|j|d�|�|j|d�|�y)Nc��eZdZUeed<y)�IProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.HasXr�Nr�r_r[rY�HasXr�w
����Fr[r�c�4���d�x�f�G��fd�d��
}|�S)rc�(��eZdZW�ZUW�ed<d�Zy)�HProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Barr�c��||_yrSr�r�s  rYr�zQProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Bar.__init__}
r�r[N)r\r]r^rkr�r�r�s��rYr�r�{
s�����D�
r[r�r_r�s @@rYz<generic parameters of Bar>z`ProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Bar>{
s���!�	�	�	r[c�0��d�x}f�G�fd�d��
}|�S)rc�&��eZdZW�ZUeed<d�Zy)�MProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybarar�c��||_yrS�r�)rWr�s  rYr�zVProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybara.__init__�
r�r[N)r\r]r^rkr�r�r�rls�rY�Capybarar��
s�����F�
r[r�r_r�s  @rYz <generic parameters of Capybara>zeProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Capybara>�
s���q�	�	�	r[rbr�r*r'r�r�)rWr�r�r�s    rY�-test_pep695_generics_can_be_runtime_checkablez;ProtocolTests.test_pep695_generics_can_be_runtime_checkablev
sO��	�	�8�	�
�	�	�
	�
	
���c�!�f�d�+�� � ��#���5r[c��tGd�dt��}Gd�d�}d�}ttt|t
jfD]}|j||��t�ddt|fD]}|j||��y)Nc��eZdZy)�FProtocolTests.test_everything_implements_empty_protocol.<locals>.EmptyNrpr_r[rY�Emptyr��
���r[r�c��eZdZy)�BProtocolTests.test_everything_implements_empty_protocol.<locals>.CNrpr_r[rYr7r�
r�r[r7c��yrSr_r_r[rYrXzBProtocolTests.test_everything_implements_empty_protocol.<locals>.f�
r�r[rbr_)
r*r'r�r�r�r�r�r�rTr�)rWr�r7rX�things     rY�)test_everything_implements_empty_protocolz7ProtocolTests.test_everything_implements_empty_protocol�
s��	�	�H�	�
�	�	�	�	��d�E�1�e�.@�.@�A�E��!�!�%��/�B��h��2�v�q�1�E��!�!�%��/�2r[c�6�d�}|j|t�y)Nc��yrSr_r_r[rYrXz:ProtocolTests.test_function_implements_protocol.<locals>.f�
r�r[)r�r�rVs  rY�!test_function_implements_protocolz/ProtocolTests.test_function_implements_protocol�
s��	�	
���a��1r[c� �Gd�d�}Gd�dt�}|jt�5Gd�d|t�}ddd�|jt�5Gd�dt|�}ddd�|jt�5Gd	�d
||t�}ddd�Gd�d||�}Gd
�d||�}|j|�|�|j|�|�y#1swY��xYw#1swY��xYw#1swY�hxYw)Nc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.CNrpr_r[rYr7r�
r�r[r7c��eZdZy)�:ProtocolTests.test_no_inheritance_from_nominal.<locals>.BPNrpr_r[rY�BPr
�
r�r[rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.PNrpr_r[rYr�r�
r�r[r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.QNrpr_r[rY�Qr�
r�r[rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.RNrpr_r[rY�Rr�
r�r[rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.DNrpr_r[rYr:r�
r�r[r:c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.ENrpr_r[rYr�r�
r�r[r�)r'r}r~r�)rWr7rr�rrr:r�s        rY� test_no_inheritance_from_nominalz.ProtocolTests.test_no_inheritance_from_nominal�
s����
� �� �
�
�
�y�
)�
�A�x�
�*��
�
�y�
)�
�H�a�
�*��
�
�y�
)�
�B��8�
�*�	��A����2��� � ���a�(�� � ���a�(�*�
)��*�
)��*�
)�s#�C,�C8�D�,C5�8D�D
c�n�Gd�dt�}|jt�5|�ddd�Gd�d|�}|j|�|�|jt�5|d�ddd�t	d�}Gd�dt|�}|jt�5|�ddd�|jt�5|t
�ddd�|jt�5||�ddd�Gd	�d
||�}|j|t
�|�|jt�5|t
d�ddd�y#1swY��BxYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.PNrpr_r[rYr�r�
r�r[r�c��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.CNrpr_r[rYr7r �
r�r[r7r|rc��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.PGNrpr_r[rY�PGr"�
r�r[r#c��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.CGNrpr_r[rY�CGr%�
r�r[r&)r'r}r~r�rr�)rWr�r7rr#r&s      rY�test_no_instantiationz#ProtocolTests.test_no_instantiation�
s>�����
�
�
�y�
)�
�C�*�	������a�c�1�%�
�
�
�y�
)�
�b�E�*�
�C�L��#��!��#�
�
�
�y�
)��D�*�
�
�
�y�
)��B�s�G�I�*�
�
�
�y�
)��B�q�E�G�*�	��A������g�b��g�i��,�
�
�
�y�
)��B�s�G�B�K�*�
)�/*�
)��*�
)��*�
)��
)�
)��
)�
)��*�
)�sG�E-�,	E:�/F�F�F�F+�-E7�:F�F�F�F(�+F4c��Gd�dt�}Gd�d�}|�}|j|d�|j|jd�y)Nc�(�eZdZUeed<deddfd�Zy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.Pr�r�Nc��||_yrSr�r�s  rYr�zUProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.P.__init__�
r�r[�r\r]r^r�r�r�r_r[rYr�r*�
����F�
�#�
�$�
r[r�c��eZdZy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.CNrpr_r[rYr7r/�
r�r[r7rb)r'r�r�r��rWr�r7r�s    rY�3test_protocol_defining_init_does_not_get_overriddenzAProtocolTests.test_protocol_defining_init_does_not_get_overridden�
s>��	��	�	�
�
�C��	�
�
�1�a��������a� r[c��Gd�dt�}Gd�d|�}|d�}|j||�|j|jd�y)Nc�(�eZdZUeed<deddfd�Zy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.Pr�r�Nc��||_yrSr�r�s  rYr�zSProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.P.__init__�
r�r[r,r_r[rYr�r4�
r-r[r�c��eZdZy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.CNrpr_r[rYr7r7�
r�r[r7rb)r'r�r�r�r0s    rY�1test_concrete_class_inheriting_init_from_protocolz?ProtocolTests.test_concrete_class_inheriting_init_from_protocol�
sE��	��	�
	���
�a�D�����a��#�������a� r[c���tGd�dt��}Gd�d|�}Gd�d|�}|jt�5|�ddd�|j	|�|�y#1swY�!xYw)Nc�6�eZdZejdefd��Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Pr�c��t�rS)�NotImplementedErrorr�s rY�amethz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.P.ameth�
s��)�)r[N)r\r]r^rz�abstractmethodr�r>r_r[rYr�r;�
s!��
�
�
�
*�s�
*� �
*r[r�c��eZdZy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.BNrpr_r[rYr�rA�
r�r[r�c��eZdZdefd�Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Cr�c��y)N�r_r�s rYr>z?ProtocolTests.test_cannot_instantiate_abstract.<locals>.C.ameth�
���r[N)r\r]r^r�r>r_r[rYr7rC�
s��
�s�
r[r7)r*r'r}r~r�)rWr�r�r7s    rY� test_cannot_instantiate_abstractz.ProtocolTests.test_cannot_instantiate_abstract�
sh��	�	*��	*�
�	*�
	��	�	��	��
�
�y�
)�
�C�*����a�c�1�%�*�
)�s�A,�,A5c��Gd�dt�}tGd�d|t��}Gd�d�}Gd�d�}Gd	�d
�}|j|�|�|j|�|�|j||�|j||�|j	|�|�|j||�y)Nc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P1c��yrSr_r�s rY�meth1z;ProtocolTests.test_subprotocols_extending.<locals>.P1.meth1�
r�r[N�r\r]r^rLr_r[rY�P1rJ�
r�r[rNc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P2c��yrSr_r�s rY�meth2z;ProtocolTests.test_subprotocols_extending.<locals>.P2.meth2r�r[N�r\r]r^rRr_r[rYr7rPr�r[r7c��eZdZd�Zd�Zy)�4ProtocolTests.test_subprotocols_extending.<locals>.Cc��yrSr_r�s rYrLz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth1r�r[c��yrSr_r�s rYrRz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth2r�r[N�r\r]r^rLrRr_r[rYr7rU���
�
r[r7c��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C1c��yrSr_r�s rYrLz;ProtocolTests.test_subprotocols_extending.<locals>.C1.meth1r�r[NrMr_r[rYr%r[r�r[r%c��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C2c��yrSr_r�s rYrRz;ProtocolTests.test_subprotocols_extending.<locals>.C2.meth2r�r[NrSr_r[rYr&r^r�r[r&�r'r*r�r�r�r�)rWrNr7r7r%r&s      rY�test_subprotocols_extendingz)ProtocolTests.test_subprotocols_extending�
s���	��	�
�	��X�	�
�	�	�	�	�	�	�	�	
� � ���r�*�� � ���r�*�� � ��R�(�� � ��R�(����a�c�2�&����a��$r[c��Gd�dt�}Gd�dt�}tGd�d||t��}Gd�d�}Gd	�d
�}Gd�d�}|j|�|�|j|�|�|j||�|j||�|j	|�|�|j||�y)
Nc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P1c��yrSr_r�s rYrLz9ProtocolTests.test_subprotocols_merging.<locals>.P1.meth1r�r[NrMr_r[rYrNrdr�r[rNc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P2c��yrSr_r�s rYrRz9ProtocolTests.test_subprotocols_merging.<locals>.P2.meth2#r�r[NrSr_r[rYr7rg"r�r[r7c��eZdZy)�2ProtocolTests.test_subprotocols_merging.<locals>.PNrpr_r[rYr�rj&rr[r�c��eZdZd�Zd�Zy)�2ProtocolTests.test_subprotocols_merging.<locals>.Cc��yrSr_r�s rYrLz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth1+r�r[c��yrSr_r�s rYrRz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth2.r�r[NrXr_r[rYr7rl*rYr[r7c��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C1c��yrSr_r�s rYrLz9ProtocolTests.test_subprotocols_merging.<locals>.C1.meth12r�r[NrMr_r[rYr%rp1r�r[r%c��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C2c��yrSr_r�s rYrRz9ProtocolTests.test_subprotocols_merging.<locals>.C2.meth26r�r[NrSr_r[rYr&rs5r�r[r&r`)rWrNr7r�r7r%r&s       rY�test_subprotocols_mergingz'ProtocolTests.test_subprotocols_mergings���	��	�	��	�
�	��B��	�
�	�	�	�	�	�	�	�	
� � ���q�)�� � ���q�)�� � ��Q�'�� � ��Q�'����a�c�1�%����a��#r[c���td�}tGd�dt��}tGd�dt|��}Gd�dt�}Gd�d	t|�}Gd
�d�}|j||�|j||�|j||�d}|j	t
|�5t
|||�ddd�|j	t
|�5t
|||�ddd�d
}|j	t
|�5t
||�ddd�|j	t
|�5t
||�ddd�|j	t
|�5t
|||�ddd�|j	t
|�5t
||t�ddd�d}	|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�y#1swY���xYw#1swY��~xYw#1swY��^xYw#1swY��@xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrc��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Pc��yrSr_r�s rYr�z4ProtocolTests.test_protocols_issubclass.<locals>.P.xE���r[N�r\r]r^r�r_r[rYr�rxC���r[r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_issubclass.<locals>.PGc��yrSr_r�s rYr�z5ProtocolTests.test_protocols_issubclass.<locals>.PG.xIrzr[Nr{r_r[rYr#r~Gr|r[r#c��eZdZd�Zy)�5ProtocolTests.test_protocols_issubclass.<locals>.BadPc��yrSr_r�s rYr�z7ProtocolTests.test_protocols_issubclass.<locals>.BadP.xLrzr[Nr{r_r[rY�BadPr�K���r[r�c��eZdZd�Zy)�6ProtocolTests.test_protocols_issubclass.<locals>.BadPGc��yrSr_r�s rYr�z8ProtocolTests.test_protocols_issubclass.<locals>.BadPG.xOrzr[Nr{r_r[rY�BadPGr�Nr�r[r�c��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Cc��yrSr_r�s rYr�z4ProtocolTests.test_protocols_issubclass.<locals>.C.xRrzr[Nr{r_r[rYr7r�Qr�r[r7�BSubscripted generics cannot be used with class and instance checks�LInstance and class checks can only be used with @runtime_checkable protocols�$issubclass\(\) arg 1 must be a classrb)rr*r'r�r�r~r�r�)
rWrr�r#r�r�r7�no_subscripted_generics� only_runtime_checkable_protocols�only_classes_alloweds
          rY�test_protocols_issubclassz'ProtocolTests.test_protocols_issubclass@sn���C�L��	�	��	�
�	�
�	��!��	�
�	�	�8�	�	�H�Q�K�	�	�	�	
���a��#����a��$����d�B�'�
Q�	 ��
#�
#�I�/F�
G��q�"�Q�%� �H�
�
#�
#�I�/F�
G��q�"�Q�%� �H�
+�	)�
�
#�
#�I�/O�
P��q�$��Q�
�
#�
#�I�/O�
P��q�%� �Q��
#�
#�I�/F�
G��q�"�Q�%� �H�
�
#�
#�I�/F�
G��r�2�c�7�#�H� G��
�
#�
#�I�/C�
D��q�!��E�
�
#�
#�I�/C�
D��q�"��E�
�
#�
#�I�/C�
D��q�$��E�
�
#�
#�I�/C�
D��q�%� �E�
D�9H�
G��
G�
G��Q�
P��
P�
P��H�
G��
G�
G��
E�
D��
D�
D��
D�
D��
D�
D�sx�8I%�&I2�
I?�
J�,J�J&�
J2�9
J>�$
K
�
K�%I/�2I<�?J	�J�J#�&J/�2J;�>K�
K�Kc���tGd�dt��}Gd�dt�}Gd�dt�}Gd�dt�}Gd	�d
t�}Gd�dt�}Gd
�dt�}||||||fD]9}|j|j��5|j	||�ddd��;Gd�dt�}	Gd�dt�}
|j|	|�|j|
|�Gd�d�}Gd�d�}Gd�d�}
Gd�d�}|j||�|j	||�|j	|
|�|j	||�y#1swY��xYw)Nc��eZdZd�Zy)�ZProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProtoc��yrSr_r�s rYr�z_ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProto.meth~���Cr[Nr�r_r[rY�CallableMembersProtor�|���r[r�c��eZdZd�Zy)�TProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProtoc��yrSr_r�s rYr�zYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProto.meth�r�r[Nr�r_r[rY�IdenticalProtor��s��r[r�c��eZdZd�Zd�Zy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProtoc��yrSr_r�s rYr�zXProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth�r�r[c��yrSr_r�s rYrRzYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth2����Sr[N)r\r]r^r�rRr_r[rY�
SupersetProtor��s��� r[r�c�"�eZdZUegdfed<y)�]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersProtoNr��r\r]r^r"r�r_r[rY�NonCallableMembersProtor������2�t�8�$�$r[r�c�:�eZdZUegdfed<eeegefed<y)�eProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersSupersetProtoNr�rR)r\r]r^r"r�r�r�rr_r[rY�NonCallableMembersSupersetProtor��s%���2�t�8�$�$��S�#�J��,�-�-r[r�c�(�eZdZUegdfed<d�Zy)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1Nr�c��yrSr_r�s rYrRz^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1.meth2�r�r[)r\r]r^r"r�rRr_r[rY�MixedMembersProto1r������2�t�8�$�$� r[r�c�,�eZdZUd�Zeeegefed<y)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2c��yrSr_r�s rYr�z]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2.meth�r�r[rRN)	r\r]r^r�r"r�r�rr�r_r[rY�MixedMembersProto2r��s����S�#�J��,�-�-r[r�rdc��eZdZy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.EmptyProtocolNrpr_r[rY�
EmptyProtocolr��r�r[r�c��eZdZd�Zy)�WProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocolc��yrSr_r�s rY�wutz[ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocol.wut����3r[N)r\r]r^r�r_r[rY�UnrelatedProtocolr��s��r[r�c�"�eZdZUegdfed<y)�^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.AnnotatedButNotAProtocolNr�r�r_r[rY�AnnotatedButNotAProtocolr��r�r[r�c��eZdZd�Zy)�gProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclassc��yrSr_r�s rYr�zlProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass.meth����Dr[Nr�r_r[rY�!NotAProtocolButAnImplicitSubclassr����� r[r�c�(�eZdZUegdfed<d�Zy)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2Nr�c��yrSr_r�s rYr�zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2.meth�r�r[)r\r]r^r"r�r�r_r[rY�"NotAProtocolButAnImplicitSubclass2r��r�r[r�c�F�eZdZUegdfed<eeegefed<d�Zd�Z	y)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3Nr�rRc��yrSr_r�s rYr�zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth�r�r[c��y)NTr_�rWr�r�s   rYrRznProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth2�s��$r[)
r\r]r^r"r�r�r�rr�rRr_r[rY�"NotAProtocolButAnImplicitSubclass3r��s+���2�t�8�$�$��S�#�J��,�-�-� �.r[r�)r*r'rir\r�r�)rWr�r�r�r�r�r�r�rer�r�r�r�r�r�s               rY�.test_implicit_issubclass_between_two_protocolsz<ProtocolTests.test_implicit_issubclass_between_two_protocols{sf��	�	 �8�	 �
�	 �	 �X�	 �	!�H�	!�	%�h�	%�	.�h�	.�	!��	!�	.��	.�

�M�+B�+�-?�AS�
�E����E�N�N��3��%�%�e�-A�B�4�3�	
�	+�H�*�	��	�	
� � ��0D�E�� � �!2�4H�I�	%�	%�	!�	!�	!�	!�	/�	/�	
� � �!9�;O�P����?�AU�V����@�BV�W����@�BV�W�K4�3�s�E*�*E3	c�d�|jtj�tj�|j	t
d�5Gd�dtjjt�}ddd�|jgtjj�y#1swY�4xYw)Nz/Protocols can only inherit from other protocolsc��eZdZy)�CProtocolTests.test_isinstance_checks_not_at_whim_of_gc.<locals>.FooNrpr_r[rYr�r��r�r[r�)�
addCleanup�gc�enable�disabler�r~rrzr�r'r�r�s  rY�(test_isinstance_checks_not_at_whim_of_gcz6ProtocolTests.test_isinstance_checks_not_at_whim_of_gc�ss������	�	�"�
�
�
��
�
#�
#��=�
�
�k�o�o�-�-�x�
�	
�	
� � ��[�_�_�%<�%<�=�
�
�s�
)B&�&B/c�D�Gd�d�}|jtt�|jt�t�|jtt�|jdt�|j|t�|j|�t�d}|jt|�5tdt�ddd�|jt|�5tdt�ddd�|jt|�5t|�t�ddd�td�}tGd�dt��}tGd	�d
t��}tGd�dt|��}|||fD]=}|j|j�
�5|j|t�ddd��?|jt|�|jt�|�|jtt�|jt�t�|jt|�|jd|�|jtt�|jdt�|j||�|j|�|�|j|t�|j|�t�y#1swY��#xYw#1swY��xYw#1swY���xYw#1swY���xYw)Nc��eZdZd�Zy)�JProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.Cc��yrSr_r�s rYr�zLProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.C.x�s��r[Nr{r_r[rYr7r��s��r[r7r`r�rbrc��eZdZy)�VProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.EmptyProtocolNrpr_r[rYr�r��s��'+r[r�c��eZdZdedefd�Zy)�[ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWithr�r�c��yrSr_r�s  rY�
startswithzfProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWith.startswith�s��#r[N�r\r]r^r�rr�r_r[rY�SupportsStartsWithr��s��5�C�5�D�5r[r�c��eZdZd�Zy)�RProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsXc��yrSr_r�s rYr�zTProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsX.x�rzr[Nr{r_r[rY�	SupportsXr��r|r[r�rd)r�r�r'r�r�r�r~r�rr*rir\r�r�)rWr7r�rr�r�r�res        rY�1test_issubclass_and_isinstance_on_Protocol_itselfz?ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself�s`��	�	�	
� � ���2�� � ���8�4�� � ��h�/�� � ���1�� � ��H�-�� � ���h�/�F��
�
#�
#�I�/C�
D��q�(�#�E�
�
#�
#�I�/C�
D��u�h�'�E�
�
#�
#�I�/C�
D��q�s�H�%�E�
�C�L��	�+�H�+�
�+�	�	6��	6�
�	6�
�	����	�
�	�#�$6�	�A�E����E�N�N��3��%�%�e�X�6�4�3�B�	
���f�m�4����f�h�
�6�� � ���2�� � ���8�4����c�#5�6����e�%7�8�� � ��h�/�� � ���1����a��+����a�c�9�-�� � ��H�-�� � ���h�/�UE�
D��
D�
D��
D�
D��"4�3�s0�<K.�+K;�L�2L�.K8�;L�L�L	c���Gd�d�}tGd�dt��}d}|jt|�5t	||�ddd�|j|�|�|j
|�|jt|�5t	||�ddd�|j|�|�Gd�d|�}|j||�|j|�|�|j
|�|j||�|j|�|�|jt|�5t	||�ddd�y#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.CrbNr{r_r[rYr7r�����Ar[r7c��eZdZdZy)�FProtocolTests.test_protocols_issubclass_non_callable.<locals>.PNonCallrbNr{r_r[rY�PNonCallr�����Ar[r��<Protocols with non-method members don't support issubclass()c��eZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.DNrpr_r[rYr:r�%r�r[r:)
r*r'r�r~r�r��registerr�r�r�)rWr7r��non_callable_members_illegalr:s     rY�&test_protocols_issubclass_non_callablez4ProtocolTests.test_protocols_issubclass_non_callable
sG��	�	�
�	�x�	�
�	�
K�	%��
#�
#�I�/K�
L��q�(�#�M�	
���a�c�8�,����!��
�
#�
#�I�/K�
L��q�(�#�M�	
���a�c�8�,�	���� � ��A�&�� � ���a�(�	�
�
�1�
����a��#����a�c�1�%�
�
#�
#�I�/K�
L��q�(�#�M�
L�)M�
L��M�
L��M�
L�s#�
E�
E!�>
E-�E�!E*�-E6c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.Spamr�Nr�r_r[rY�Spamr�1r�r[r�c��eZdZdd�Zy)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.EggsNc��d|_yr{r�r�s rYr�z[ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.Eggs.__init__6s	����r[�r�Nr�r_r[rY�Eggsr�5s��
r[rr�)r*r'r�r�r~r��rWr�rs   rY�6test_no_weird_caching_with_issubclass_after_isinstancezDProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance0sk��	�	�8�	�
�	�	�	�	
���d�f�d�+��
#�
#��J�
�
�t�T�"�	
�
�
���
A&�&A/c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.Spamr�Nr�r_r[rYr�rGr�r[r�c��eZdZy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.EggsNrpr_r[rYrr	Kr�r[rr��r*r'r�r�r~r�rs   rY�8test_no_weird_caching_with_issubclass_after_isinstance_2zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2Fsf��	�	�8�	�
�	�	��� � ����.��
#�
#��J�
�
�t�T�"�	
�
�
�rc���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Spamr�Nr�r_r[rYr�r[r�r[r�c��eZdZd�Zy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggsc�$�|dk(ryt|��)Nr�r|��AttributeError�rWr�s  rY�__getattr__z`ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggs.__getattr__`s���3�;��$�T�*�*r[N�r\r]r^rr_r[rYrr_s��
+r[rr�r
rs   rY�8test_no_weird_caching_with_issubclass_after_isinstance_3zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3Zsk��	�	�8�	�
�	�	+�	+�	
� � ����.��
#�
#��J�
�
�t�T�"�	
�
�
�rc���td���}d��}|j|d�|�|jtd�5t	||�ddd�y#1swYyxYw)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�YProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Spamr�N�r\r]r^rkr�r�s��rYr�rss
�����Dr[r�r�r�s @@rYz<generic parameters of Spam>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Spam>ss����	�	�h�	r[c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�YProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggsr�r�Nc��||_yrSr�r�s  rYr�zbProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggs.__init__xr�r[)r\r]r^rkr�r�s��rYrrws���
�!�
��
r[rr_r�s @@rYz<generic parameters of Eggs>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Eggs>ws���1�	�	�	r[r|r�)r*r�r�r~r�rs   rY�=test_no_weird_caching_with_issubclass_after_isinstance_pep695zKProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695rsa��	�	�
�	�	�	
���d�2�h��-��
#�
#��J�
�
�t�T�"�	
�
�
�s�
A�A'c�Z��td�}tGd�dt��}tGd�dt|��}tGd�dt��}tGd�d	t��}Gd
�d��tG�fd�d
t��}Gd�dt�}Gd�dt|�}Gd�d�}	Gd�d�}
|	|
fD]U}|||||fD]I}|j|j|j��5|j|�|�ddd��K�Wd}
|j
t|
�5t|	�||�ddd�|j
t|
�5t|	�||	�ddd�d}|j
t|�5t|	�|�ddd�|j
t|�5t|	�|�ddd�y#1swY��#xYw#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)Nrc��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Pc��yrSr_r�s rYr�z7ProtocolTests.test_protocols_isinstance.<locals>.P.meth�rzr[Nr�r_r[rYr�r$�r|r[r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.PGc��yrSr_r�s rYr�z8ProtocolTests.test_protocols_isinstance.<locals>.PG.meth�rzr[Nr�r_r[rYr#r'�r|r[r#c�$�eZdZejZy)�;ProtocolTests.test_protocols_isinstance.<locals>.WeirdProtoN)r\r]r^r��	maketransr�r_r[rY�
WeirdProtor*�s���=�=�Dr[r,c��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2c��yrSr_�r�r�s  rY�<lambda>zEProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2.<lambda>�s��4r[Nr�r_r[rY�WeirdProto2r.�s��/�Dr[r2c��eZdZd�Zy)�?ProtocolTests.test_protocols_isinstance.<locals>.CustomCallablec��yrSr_r�s   rYr1zHProtocolTests.test_protocols_isinstance.<locals>.CustomCallable.__call__�r�r[Nr3r_r[rY�CustomCallabler4�r�r[r6c���eZdZW��Zy)�=ProtocolTests.test_protocols_isinstance.<locals>.WeirderProtoNr�)r6s�rY�WeirderProtor8�s���!�#�Dr[r9c��eZdZd�Zy)�5ProtocolTests.test_protocols_isinstance.<locals>.BadPc��yrSr_r�s rYr�z:ProtocolTests.test_protocols_isinstance.<locals>.BadP.meth�rzr[Nr�r_r[rYr�r;�r�r[r�c��eZdZd�Zy)�6ProtocolTests.test_protocols_isinstance.<locals>.BadPGc��yrSr_r�s rYr�z;ProtocolTests.test_protocols_isinstance.<locals>.BadPG.meth�rzr[Nr�r_r[rYr�r>�r�r[r�c��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Cc��yrSr_r�s rYr�z7ProtocolTests.test_protocols_isinstance.<locals>.C.meth�rzr[Nr�r_r[rYr7rA�r�r[r7c��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.C2c��d�|_y)Nc��yrSr_r_r[rYr1zNProtocolTests.test_protocols_isinstance.<locals>.C2.__init__.<locals>.<lambda>�s��Dr[)r�r�s rYr�z<ProtocolTests.test_protocols_isinstance.<locals>.C2.__init__�s	��(��	r[Nr�r_r[rYr&rD����
)r[r&)�klassrer�r�)	rr*r'rir\r�r�r~r)rWrr�r#r,r2r9r�r�r7r&rHrer��only_runtime_checkable_msgr6s               @rY�test_protocols_isinstancez'ProtocolTests.test_protocols_isinstance�s����C�L��	�	��	�
�	�
�	��!��	�
�	�
�	!��	!�
�	!�
�	0�(�	0�
�	0�	�	�
�	$�8�	$�
�	$�	�8�	�	�H�Q�K�	�	�	�	)�	)���U�E��B�
�K��E���\�\����e�n�n�\�M��)�)�%�'�5�9�N�M�F��
#g��
�
#�
#�I�/F�
G��q�s�B�q�E�"�H�
�
#�
#�I�/F�
G��q�s�B�q�E�"�H�
0�	#�
�
#�
#�I�/I�
J��q�s�D�!�K�
�
#�
#�I�/I�
J��q�s�E�"�K�
J�#N�M��
H�
G��
G�
G��K�
J��
J�
J�s<�G0�=G=�0H	�%H�H!�0G:�=H�	H�H�!H*c
����Gd�d�}Gd�d��G�fd�d�}Gd�d|�}Gd	�d
|�}Gd�d�}td
��tGd�dt��}tGd�dt��}tGd�dt���}tG�fd�dt���}	tGd�dt��}
tG�fd�dt���}||||	|
|fD]�}||||fD]I}
|j|
j|j��5|j|
�|�ddd��K|jd|j��5|j
|�|�ddd���Gd�dt�}Gd�dt�}Gd�d t��}G�fd!�d"t��}|�|||	�|	||�||||||f
}|D]c}|||||fD]W}
|j|
j|�#�5|jt�5t|
�|�ddd�ddd��Y�ey#1swY��`xYw#1swY��vxYw#1swY�0xYw#1swY��xYw)$Nc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Cc��yr{r_r�s rYr�zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.C.attr����r[N�r\r]r^�propertyr�r_r[rYr7rM�s��
�
��
r[r7c��eZdZdd�Zy)�\ProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptorNc��yr{r_�rW�obj�objtypes   rY�__get__zdProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptor.__get__�rFr[rS�r\r]r^rXr_r[rY�CustomDescriptorrS�s��
r[rZc���eZdZW��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.DN�r\r]r^r��rZs�rYr:r\�����#�%�Dr[r:c��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.ENrpr_r[rYr�ra�r�r[r�c��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.FNrpr_r[rYr�rc�r�r[r�c��eZdZy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.EmptyNrpr_r[rYr�re�r�r[r�rc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Pc��yrSr_r�s rYr�zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P.attr����r[NrPr_r[rYr�rg����
���r[r�c��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P1r�Nr�r_r[rYrNrl�����Ir[rNc��eZdZed��Zy)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PGc��yrSr_r�s rYr�zSProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG.attr�rir[NrPr_r[rYr#ro�rjr[r#c���eZdZUW�ed<y)�OProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG1r�N�r\r]r^r��rs�rY�PG1rr������Gr[ruc��eZdZd�Zy)�SProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPc��yrSr_r�s rYr�zXProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodP.attr�r�r[Nr]r_r[rY�MethodPrx�r�r[rzc���eZdZdW�fd�Zy)�TProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPGr�c��yrSr_r�s rYr�zYProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPG.attr�r�r[Nr]rts�rY�MethodPGr|�����$�a�$r[r~�rH�protocol_classc��eZdZed��Zy)�PProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPc��yrSr_r�s rYr�zUProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP.attr
rir[NrPr_r[rYr�r�
���
���r[r�c��eZdZUeed<y)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP1r�Nr�r_r[rY�BadP1r�
����Ir[r�c��eZdZed��Zy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPGc��yrSr_r�s rYr�zVProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG.attr	
rir[NrPr_r[rYr�r�
r�r[r�c���eZdZUW�ed<y)�RProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG1r�Nrsrts�rY�BadPG1r�
s����Gr[r�)rHrV)
rr*r'rir\r�r�r}r~r)rWr7r:r�r�r�r�rNr#rurzr~r�rHr�r�r�r��casesrVrZrs                    @@rY�4test_protocols_isinstance_properties_and_descriptorszBProtocolTests.test_protocols_isinstance_properties_and_descriptors�s~���	�	�
	�	�	&�	&�
	���������C�L��	�	 ��	 �
�	 �
�	��	�
�	�
�	 ��!��	 �
�	 �
�	�(�1�+�	�
�	�
�	 �h�	 �
�	 �
�	%�x��{�	%�
�	%� ��R��g�x�?�N��A�q�!����\�\��.�.�#1�#:�#:�"���)�)�%�'�>�B�	��$����G�N�<S�<S��T��(�(���.�A�U�T�@�	 �8�	 �	�H�	�	 �H�Q�K�	 �	�X�a�[�	�
�q�E�2�a�5�#�a�&�#�a�&�(�1�+��Q�K��u�e�V�
��
�C��A�q�!�U�*���\�\����C�\�@��*�*�9�5�"�5�7�C�0�6�A�@�+��9���U�T��26�5��A�@�s<�&I�%I�I8�+I,	�=I8�I�I)	�,I5
�1I8�8Jc��tGd�dt��}Gd�d�}Gd�d�}|j|�|�|j|�|�y)Nc��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.HasXr�Nr�r_r[rYr�r�
r�r[r�c��eZdZdZd�Zy)�XProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithXr�c��gSrSr_r�s rY�__dir__z`ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithX.__dir__!
����	r[N)r\r]r^r�r�r_r[rY�CustomDirWithXr�
s���A�
r[r�c��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutXc��dgS�Nr�r_r�s rYr�zcProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutX.__dir__%
s	���u�r[N)r\r]r^r�r_r[rY�CustomDirWithoutXr�$
���
r[r�r�)rWr�r�r�s    rY�2test_protocols_isinstance_not_fooled_by_custom_dirz@ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir
sX��	�	�8�	�
�	�	�	�
	�	�	
���n�.��5�� � �!2�!4�d�;r[c�@���Gd�d�}Gd�d��G�fd�d�}Gd�d|�}Gd	�d
|�}Gd�d�}td
��tGd�dt��}tGd�dt��}tGd�dt���}tG�fd�dt���}	tGd�dt��}
tG�fd�dt���}||||	|
|fD]�}||||fD]I}
|j|
j|j��5|j|
�|�ddd��K|jd|j��5|j
|�|�ddd���y#1swY��xYw#1swY��xYw)Nc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Cc��td��)N�norr�s rYr�zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.C.attr-
s
��$�T�*�*r[NrPr_r[rYr7r�,
s��
�
+��
+r[r7c��eZdZdd�Zy)�dProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptorNc��td���N�NO��RuntimeErrorrUs   rYrXzlProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptor.__get__2
�
��"�4�(�(r[rSrYr_r[rYrZr�1
s��
)r[rZc���eZdZW��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.DNr]r^s�rYr:r�5
r_r[r:c��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.ENrpr_r[rYr�r�:
r�r[r�c��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.FNrpr_r[rYr�r�;
r�r[r�c��eZdZd�Zy)�eProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThisc��td��)Nr�r�)rWr�s  rYrzqProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThis.__getattr__>
s
��"�5�)�)r[Nrr_r[rY�WhyWouldYouDoThisr�=
s��
*r[r�rc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Pc��yrSr_r�s rYr�zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P.attrE
rir[NrPr_r[rYr�r�C
rjr[r�c��eZdZUeed<y)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P1r�Nr�r_r[rYrNr�H
rmr[rNc��eZdZed��Zy)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PGc��yrSr_r�s rYr�z[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG.attrN
rir[NrPr_r[rYr#r�L
rjr[r#c���eZdZUW�ed<y)�WProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG1r�Nrsrts�rYrur�Q
rvr[ruc��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPc��yrSr_r�s rYr�z`ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodP.attrW
r�r[Nr]r_r[rYrzr�U
r�r[rzc���eZdZdW�fd�Zy)�\ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPGr�c��yrSr_r�s rYr�zaProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPG.attr[
r�r[Nr]rts�rYr~r�Y
rr[r~r�)rr*r'rir\r�r�)rWr7r:r�r�r�r�rNr#rurzr~r�rHrZrs              @@rY�<test_protocols_isinstance_attribute_access_with_side_effectszJProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects+
s����	+�	+�
	)�	)�	&�	&�
	������	*�	*�
�C�L��	�	 ��	 �
�	 �
�	��	�
�	�
�	 ��!��	 �
�	 �
�	�(�1�+�	�
�	�
�	 �h�	 �
�	 �
�	%�x��{�	%�
�	%� ��R��g�x�?�N��A�q�!����\�\��.�.�#1�#:�#:�"���)�)�%�'�>�B�	��$����)�-�6�6����(�(�):�)<�n�M�	��@������s�&F�%F�F�F	c�v�tGd�dt��}Gd�d�}|j|�|�y)Nc��eZdZUeed<y)�?ProtocolTests.test_protocols_isinstance___slots__.<locals>.HasXr�Nr�r_r[rYr�r�n
r�r[r�c��eZdZdZy)�MProtocolTests.test_protocols_isinstance___slots__.<locals>.HasNothingButSlotsr�N�r\r]r^�	__slots__r_r[rY�HasNothingButSlotsr�r
s���Ir[r��r*r'r�)rWr�r�s   rY�#test_protocols_isinstance___slots__z1ProtocolTests.test_protocols_isinstance___slots__k
s=��
�	�8�	�
�	�	�	�	
���0�2�D�9r[c�D�Gd�d�}Gd�d�}Gd�d�}Gd�d�}|j|d	d
d�t�|j|d	d
�t�|jt�t�|j|d	d
�t�|jt�t�|jt�t�|j|d�t�|j|�t�|j|�t�|j|�t�|j|�t�|jt�t�|jtd	d
�t�y)
Nc��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.APointc�.�||_||_||_yrS�r�r�r�)rWr�r�r�s    rYr�zEProtocolTests.test_protocols_isinstance_py36.<locals>.APoint.__init__y
s��������"��
r[Nr�r_r[rY�APointr�x
s��
#r[r�c��eZdZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.BPointr�c� �||_||_yrS�r�r�r�s   rYr�zEProtocolTests.test_protocols_isinstance_py36.<locals>.BPoint.__init__�
s�������r[N)r\r]r^r�r�r_r[rY�BPointr�~
s���E�
r[r�c��eZdZd�Zd�Zy)�7ProtocolTests.test_protocols_isinstance_py36.<locals>.Cc��||_yrS�r�rs  rYr�z@ProtocolTests.test_protocols_isinstance_py36.<locals>.C.__init__�
�	�� ��	r[c��yrWr_r�s  rYr�z<ProtocolTests.test_protocols_isinstance_py36.<locals>.C.meth�
���r[N)r\r]r^r�r�r_r[rYr7r��
s��
!�
r[r7c��eZdZy)�9ProtocolTests.test_protocols_isinstance_py36.<locals>.BadNrpr_r[rY�Badr��
r�r[r�rbr�r�r|)	r�r�r�r�r�r�r�r�r�)rWr�r�r7r�s     rY�test_protocols_isinstance_py36z,ProtocolTests.test_protocols_isinstance_py36w
s&��	#�	#�	�	�	�	�	�����f�Q��3�/��7����f�Q��l�E�2�� � ���E�2����f�Q��l�H�5����e�g�u�-����h�j�%�0����a��e�U�+�� � ����.�� � ����.�� � ����1�� � ����1�� � ���(�3����b��A�h��1r[c���td�}tGd�dt��}tGd�dt|��}Gd�d�}|j|d�|�|j|d�|�y)	Nrc��eZdZdZy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.PrbNr{r_r[rYr�r��
r�r[r�c��eZdZdZy)�8ProtocolTests.test_protocols_isinstance_init.<locals>.PGrbNr{r_r[rYr#r��
r�r[r#c��eZdZd�Zy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.Cc��||_yrSr�r�s  rYr�z@ProtocolTests.test_protocols_isinstance_init.<locals>.C.__init__�
r�r[Nr�r_r[rYr7r��
r�r[r7rb)rr*r'r�)rWrr�r#r7s     rY�test_protocols_isinstance_initz,ProtocolTests.test_protocols_isinstance_init�
sw���C�L��	�	��	�
�	�
�	��!��	�
�	�	�	�	
���a��d�A�&����a��d�B�'r[c���tGd�dt��}Gd�d�}|�}|j||�d|_|j	||�|`|j||�y)Nc��eZdZUeed<y)�DProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.HasXr�Nr�r_r[rYr�r��
r�r[r�c��eZdZy)�CProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.FooNrpr_r[rYr�r��
r�r[r�r|)r*r'r�r�r�)rWr�r�rXs    rY�(test_protocols_isinstance_monkeypatchingz6ProtocolTests.test_protocols_isinstance_monkeypatching�
se��	�	�8�	�
�	�	���E��� � ��D�)�������a��&�
�C�� � ��D�)r[c��Gd�dtt�}Gd�d|t�}Gd�d�}Gd�d�}|t}|j|�|�|j	||�Gd	�d
|t�}Gd�d|t�}|t
}|j
|�|�|j||�y)
Nc��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.PNrpr_r[rYr�r��
r�r[r�c��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.CNrpr_r[rYr7r��
r�r[r7c��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other1Nrpr_r[rY�Other1r��
r�r[rc��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other2Nrpr_r[rY�Other2r�
r�r[rc��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D1Nrpr_r[rY�D1r�
r�r[rc��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D2Nrpr_r[rY�D2r�
r�r[r	)r'rr
r�r�r�r�r�)	rWr�r7rr�CArr	�CIs	         rY�$test_protocol_checks_after_subscriptz2ProtocolTests.test_protocol_checks_after_subscript�
s���"����"���!�������
�s�V��� � ���1�-�� � ���+���3�����3���
�s�V�����b�d�A�&����b�!�$r[c��tGd�dt��}Gd�dt�}Gd�d|�}Gd�d�}|j|�|j|�|j|�|�|j|�|�y)	Nc��eZdZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.PrbNr{r_r[rYr�r�
r�r[r�c��eZdZd�Zy)�9ProtocolTests.test_protocols_support_register.<locals>.PMc��yrSr_r�s rYr�z>ProtocolTests.test_protocols_support_register.<locals>.PM.meth�
r�r[Nr�r_r[rY�PMr�
r�r[rc��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.DNrpr_r[rYr:r�
r�r[r:c��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.CNrpr_r[rYr7r�
r�r[r7)r*r'r�r�)rWr�rr:r7s     rY�test_protocols_support_registerz-ProtocolTests.test_protocols_support_register�
sp��	�	��	�
�	�	!��	!�	����
�	�
�
�1�
�	�
�
�1�
����a�c�1�%����a�c�1�%r[c���tGd�dt��}Gd�d�}Gd�d|�}Gd�d�}|j|�|�|j|�|�y)	Nc��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.PrbNr{r_r[rYr�r�
r�r[r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.ArbNr{r_r[rYr�r�
r�r[r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.BNr{r_r[rYr�r�
����Ar[r�c��eZdZd�Zy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.Cc��d|_yrSr�r�s rYr�zWProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.C.__init__�
�	����r[Nr�r_r[rYr7r"�
���
r[r7r��rWr�r�r�r7s     rY�5test_none_on_non_callable_doesnt_block_implementationzCProtocolTests.test_none_on_non_callable_doesnt_block_implementation�
sa��	�	��	�
�	�	�	�	��	�	�	�	
���a�c�1�%����a�c�1�%r[c���tGd�dt��}Gd�d�}Gd�d|�}Gd�d�}|j|�|�|j|�|�y)	Nc��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Pc��yrSr_r�s rYr�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.P.x�
rzr[Nr{r_r[rYr�r*�
r|r[r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Ac��yrSr_r�s rYr�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.A.x�
rzr[Nr{r_r[rYr�r-�
r�r[r�c��eZdZdZy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.BNr{r_r[rYr�r0�
r r[r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Cc��d|_yrSr�r�s rYr�zMProtocolTests.test_none_on_callable_blocks_implementation.<locals>.C.__init__�
r$r[Nr�r_r[rYr7r2�
r%r[r7)r*r'r�r&s     rY�+test_none_on_callable_blocks_implementationz9ProtocolTests.test_none_on_callable_blocks_implementation�
sa��	�	��	�
�	�	�	�	��	�	�	�	
� � ���a�(�� � ���a�(r[c���Gd�dt�}tGd�dt��}Gd�d|�}Gd�d|�}Gd	�d
tj��}Gd�d
tj��}|j	|�|�|j	|�|�|j||�|j||�|j
|�|�|j||�|jdt|��|jdt|��|jdt|��|jdt|��hd�}|jt|�j�t|�j�|z�|jt|�j�t|�j�|z�y)Nc��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.PrbNr{r_r[rYr�r7r�r[r�c��eZdZd�Zy)�6ProtocolTests.test_non_protocol_subclasses.<locals>.PRc��yrSr_r�s rYr�z;ProtocolTests.test_non_protocol_subclasses.<locals>.PR.methr�r[Nr�r_r[rY�PRr9��� r[r;c��eZdZdZy)�8ProtocolTests.test_non_protocol_subclasses.<locals>.NonPrbNr{r_r[rY�NonPr>
r�r[r?c��eZdZy)�9ProtocolTests.test_non_protocol_subclasses.<locals>.NonPRNrpr_r[rY�NonPRrA
r�r[rBc��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.CrbNr{r_r[rYr7rDr�r[r7r�c��eZdZd�Zy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.Dc��yrSr_r�s rYr�z:ProtocolTests.test_non_protocol_subclasses.<locals>.D.methr�r[Nr�r_r[rYr:rFr�r[r:�__protocol_attrs__�__non_callable_proto_members__>r��_is_protocolr�r��__subclasshook__�_is_runtime_protocol)r'r*rz�ABCMetar�r�r�r��assertNotIn�vars�assertLessEqual�keys)rWr�r;r?rBr7r:�acceptable_extra_attrss        rY�test_non_protocol_subclassesz*ProtocolTests.test_non_protocol_subclassess���	��	�
�	!��	!�
�	!�	�1�	�	�B��	�#�+�+�	�	!�#�+�+�	!�	
� � ���d�+�� � ���e�,�� � ��D�)�� � ��E�*����e�g�r�*����e�R�(����-�t�D�z�:����-�t�E�{�;����9�4��:�F����9�4��;�G�"
��	
���T�$�Z�_�_�.��Q�����AW�0W�X������K�����Q�����1G� G�	
r[c��Gd�dt�}Gd�d�}Gd�d�}Gd�d|�}|j|�|�|j|�|�|j||�|j	||�y)	Nc��eZdZdZy)�1ProtocolTests.test_custom_subclasshook.<locals>.PrbNr{r_r[rYr�rV+r�r[r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook.<locals>.OKClassNrpr_r[rY�OKClassrX.r�r[rYc��eZdZdZy)�8ProtocolTests.test_custom_subclasshook.<locals>.BadClassrbNr{r_r[rY�BadClassr[0r�r[r\c��eZdZed��Zy)�1ProtocolTests.test_custom_subclasshook.<locals>.Cc�8�|jjd�S�N�OK)r\r��r��others  rYrKzBProtocolTests.test_custom_subclasshook.<locals>.C.__subclasshook__4s���~�~�0�0��6�6r[N�r\r]r^�classmethodrKr_r[rYr7r^3s��
�
7��
7r[r7)r'r�r�r�r�)rWr�rYr\r7s     rY�test_custom_subclasshookz&ProtocolTests.test_custom_subclasshook*sr��	��	�	��	�	�	7��	7�
	
���g�i��+�� � ���Q�/����g�q�)�� � ��1�-r[c��tGd�dt��}Gd�d�}Gd�d�}|j|�|�|j|�|�|j	||�|j||�Gd�dt�}d	}|j
t|�5tt|�ddd�|j
t|�5tt�|�ddd�y#1swY�=xYw#1swYyxYw)
Nc� �eZdZdZed��Zy)�6ProtocolTests.test_custom_subclasshook_2.<locals>.HasXrbc��t|d�Sr���hasattrrbs  rYrKzGProtocolTests.test_custom_subclasshook_2.<locals>.HasX.__subclasshook__E����u�c�*�*r[N)r\r]r^r�rerKr_r[rYr�ri>s��
�A�
�
+��
+r[r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook_2.<locals>.EmptyNrpr_r[rYr�roIr�r[r�c��eZdZdZy)�@ProtocolTests.test_custom_subclasshook_2.<locals>.ImplementsHasXrbNr{r_r[rY�ImplementsHasXrqKr�r[rrc��eZdZed��Zy)�EProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckablec��t|d�Sr�rkrbs  rYrKzVProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckable.__subclasshook__Wrmr[Nrdr_r[rY�NotRuntimeCheckablertVs��
�
+��
+r[rvr�)r*r'r�r�r�r�r�r~r�r�r)rWr�r�rrrv�must_be_runtime_checkables      rY�test_custom_subclasshook_2z(ProtocolTests.test_custom_subclasshook_2=s���	�	+�8�	+�
�	+�	��	�	�	
���n�.��5�� � ���$�/����n�d�3�� � ���-�
	+�(�	+�
0�	"�
�
#�
#�I�/H�
I��v�2�3�J�
�
#�
#�I�/H�
I��v�x�!4�5�J�
I�J�
I��
I�
I�s�&C3�C?�3C<�?Dc��tGd�dt��}Gd�d�}|jtd�5t	|�|�ddd�y#1swYyxYw)Nc��eZdZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.PrbNr{r_r[rYr�r{fr�r[r�c��eZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.CNrpr_r[rYr7r}jr�r[r7r�)r*r'r�r~r��rWr�r7s   rY�test_issubclass_fails_correctlyz-ProtocolTests.test_issubclass_fails_correctlyesL��	�	��	�
�	�	�
�
�
#�
#�I�/V�
W��q�s�A��X�
W�
W�s�A�Ac���td�}td�}tGd�dt||f��}Gd�d|t|ft|�}|j	t
�5|tddd�|j	t
�5|ttfddd�Gd�d|t|f�}|j|t�|�y#1swY�ixYw#1swY�HxYw)	Nr�Sc��eZdZd�Zy)�9ProtocolTests.test_defining_generic_protocols.<locals>.PRc��yrSr_r�s rYr�z>ProtocolTests.test_defining_generic_protocols.<locals>.PR.methur�r[Nr�r_r[rYr;r�sr<r[r;c��eZdZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.PrbN�r\r]r^r�r_r[rYr�r�wr�r[r�c��eZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.CNrpr_r[rYr7r�r�r[r7)rr*r'r�r}r~r�r�)rWrr�r;r�r7s      rY�test_defining_generic_protocolsz-ProtocolTests.test_defining_generic_protocolsos����C�L���C�L��	�	!��!�Q�$��	!�
�	!�	��3��6�
�H�Q�K�	��
�
�y�
)��s�G�*�
�
�
�y�
)�
�c�3�h�K�*�	"��3��6�
�!����f�a��f�h��*�*�
)��
)�
)�s�%
C�C#�C �#C,c	���td��td�}tGd�dtt�|f��}Gd�d|tt
ft�}|j
t�5t|tt
f|�ddd�|j||�|j
t�5|tddd�G�fd�dtt��}G�fd	�d
t�t�}tGd�d|t
t��}Gd
�d�}|j|�|�y#1swY��xYw#1swY��xYw)Nrr�c��eZdZd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.PRc��yrSr_r�s rYr�zHProtocolTests.test_defining_generic_protocols_old_style.<locals>.PR.meth�r�r[Nr�r_r[rYr;r��r<r[r;c��eZdZdZy)�BProtocolTests.test_defining_generic_protocols_old_style.<locals>.PrbNr�r_r[rYr�r��r�r[r�c� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1r�r�c��yrSr_r�s  rYrzGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1.bar����r[N�r\r]r^r�rrts�rYrNr������+�Q�+�3�+r[rNc� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2r�r�c��yrSr_r�s  rYrzGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2.bar�r�r[Nr�rts�rYr7r��r�r[r7c��eZdZdZy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.PSubrbNr{r_r[rY�PSubr��r�r[r�c� �eZdZdZdedefd�Zy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.Testrbr�r�c��|SrSr_r�s  rYrzIProtocolTests.test_defining_generic_protocols_old_style.<locals>.Test.bar�s���r[N)r\r]r^r�r�rr_r[rY�Testr��s���A�
�S�
�S�
r[r�)rr*r'r#r�r�r}r~r�r�r�)	rWr�r;r�rNr7r�r�rs	        @rY�)test_defining_generic_protocols_old_stylez7ProtocolTests.test_defining_generic_protocols_old_style�s����C�L���C�L��	�	!��7�1�a�4�=�	!�
�	!�	��3��8��h�	��
�
�y�
)��r�#�s�(�|�R�(�*����a��$�
�
�
�y�
)��s�G�*�	,��7�1�:�	,�	,����X�	,�
�	�2�c�7�H�	�
�	�	�	�	
���d�f�d�+�-*�
)��*�
)�s�,D;�5
E�;E�Ec��td���}d��}|j|�|�|j||�td���}|jd|�|jt|�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foor�r�Nc��yrSr_r�s  rYr�zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foo.meth�rar[r�r�s��rYr�r��s���-�a�-�D�-r[r�r�r�s @@rYz<generic parameters of Foo>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Foo>�s����	.�	.�X�	.r[c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Barr�r�Nc��yrSr_r�s  rYr�zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Bar.meth�rar[r�r�s��rYr�r��s���-�a�-�D�-r[r�r_r�s @@rYz<generic parameters of Bar>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Bar>�s���!�	.�	.�	.r[c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZdW�fd�Zy)�RProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTruncr�c��yrSr_r�s rY�	__trunc__z\ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTrunc.__trunc__����cr[N)r\r]r^rkr�r�s��rY�
SupportsTruncr��s���)�1�)r[r�r�r�s @@rYz%<generic parameters of SupportsTrunc>zjProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of SupportsTrunc>�s����	*�	*�x�	*r[g)r*r�r�rp)rWr�r�r�s    rY�-test_pep695_generic_protocol_callable_membersz;ProtocolTests.test_pep695_generic_protocol_callable_members�sq��	�	.�
�	.�	.�	
���c�e�S�)����c�3�'�	�	*�
�	*�	
���c�=�1����e�]�3r[c��td�}Gd�dt|�}Gd�d||�}|j|t�jd�Gd�d�}Gd	�d
|||�}|j|t�jd�Gd�d|||�}|j|t�jd�y)
Nrc��eZdZy)�)ProtocolTests.test_init_called.<locals>.PNrpr_r[rYr�r��r�r[r�c��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Cc��d|_yr`��testr�s rYr�z2ProtocolTests.test_init_called.<locals>.C.__init__�r�r[Nr�r_r[rYr7r�����
!r[r7rac��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Bc��d|_yr`r�r�s rYr�z2ProtocolTests.test_init_called.<locals>.B.__init__�r�r[Nr�r_r[rYr�r��r�r[r�c��eZdZy)�*ProtocolTests.test_init_called.<locals>.D1Nrpr_r[rYrr��r�r[rc��eZdZy)�*ProtocolTests.test_init_called.<locals>.D2Nrpr_r[rYr	r��r�r[r	)rr'r�r�r�)rWrr�r7r�rr	s       rY�test_init_calledzProtocolTests.test_init_called�s����C�L��"����"�	!��!��	!�	
�����3������-�	!�	!�	��A�a�D�	�	
�����C������.�	��1��q�	�	
�����C������.r[c��td�}Gd�dt|�}Gd�d||�}|j|t�jd�|jt�5|td�ddd�|jt�5|td��ddd�y#1swY�8xYw#1swYyxYw)	Nrc��eZdZy)�(ProtocolTests.test_new_called.<locals>.PNrpr_r[rYr�r��r�r[r�c���eZdZ�fd�Z�xZS)�(ProtocolTests.test_new_called.<locals>.Cc�6��t�|�|g|���}d|_|Sr`)r��__new__r�)r�r�rWr�s   �rYr�z0ProtocolTests.test_new_called.<locals>.C.__new__�s"����w��s�2�T�2�� ��	��r[�r\r]r^r�r�r�s@rYr7r��s
���
�
r[r7rar|r
)rr'r�r�r�r}r~)rWrr�r7s    rY�test_new_calledzProtocolTests.test_new_called�s����C�L��"����"�	��!��	�	
�����3������-�
�
�
�y�
)��A�c�F�2�J�*�
�
�
�y�
)��A�c�F�R�L�*�
)�*�
)��
)�
)�s�)B0�B<�0B9�<Cc�T�td�}td�}|jt�5Gd�dt||f�}ddd�|jt�5Gd�dtt�}ddd�|jt�5Gd�dt|t|�}ddd�|jt�5Gd	�dt
j||ft|�}ddd�y#1swY��xYw#1swY��xYw#1swY�fxYw#1swYyxYw)
Nrr�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.PNrpr_r[rYr�r��r�r[r�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.QNrpr_r[rYrr��r�r[rc��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.RNrpr_r[rYrr��r�r[rc��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.SNrpr_r[rYr�r��r�r[)rr}r~r'r�rTr�)rWrr�r�rrs      rY�test_protocols_bad_subscriptsz+ProtocolTests.test_protocols_bad_subscripts�s����C�L���C�L��
�
�
�y�
)�)�H�Q��T�N�)�*�
�
�
�y�
)�(�H�S�M�(�*�
�
�
�y�
)�3�H�Q�K��!��3�*�
�
�
�y�
)�<�F�N�N�1�a�4�(�(�1�+�<�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C:�D�D�
'D�:D�D�D�D'c� �td�}td�}Gd�dt||f�}|jt|||f�j	d��|jt|t
tf�j	d��y)Nrr�c��eZdZy)�4ProtocolTests.test_generic_protocols_repr.<locals>.PNrpr_r[rYr�r��r�r[r�z	P[~T, ~S]zP[int, str])rr'r�r��endswithr�r��rWrr�r�s    rY�test_generic_protocols_reprz)ProtocolTests.test_generic_protocols_repr�sk���C�L���C�L��%���A���%�����Q�q�!�t�W�
�.�.�{�;�<�����Q�s�C�x�[�)�2�2�=�A�Br[c�r�td�}td�}Gd�dt||f�}|j||�|j|t|f|t|f�|j|||ft||ftt
f|ttt
fttt
ff�y)Nrr�c��eZdZy)�2ProtocolTests.test_generic_protocols_eq.<locals>.PNrpr_r[rYr�r��r�r[r�)rr'r�r�rr�r�s    rY�test_generic_protocols_eqz'ProtocolTests.test_generic_protocols_eq�s����C�L���C�L��%���A���%�����A������3��6��A�c�1�f�I�.�����1�a�4���q�!�t��-�c�3�h�7��5��c��?�E�#�s�(�O�;�<�	>r[c�T�td�}Gd�dt|�}|j|j|f�|j|tjd�|j|tj
tf�|j
|tj|�y)Nrc��eZdZy)�DProtocolTests.test_generic_protocols_special_from_generic.<locals>.PNrpr_r[rYr�r�r�r[r�r_)rr'r�r�r�r�r�r�)rWrr�s   rY�+test_generic_protocols_special_from_genericz9ProtocolTests.test_generic_protocols_special_from_generics{���C�L��"����"�����)�)�A�4�0�����3��.�.��3�����3����3�&�1��
�
�a��f�'�'��+r[c���tGd�dt��}Gd�dt�}td�}Gd�dt|�}|j|j�|j|j�|j|j�|j|j�|j|j�|j|tj�|jtj|�dh�|jtj|�d	h�|jttj|��td	dh��y)
Nc��eZdZdZy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PRrbNr{r_r[rYr;r�
r�r[r;c��eZdZd�Zy)�EProtocolTests.test_generic_protocols_special_from_protocol.<locals>.Pc��yrSr_r�s rYr�zJProtocolTests.test_generic_protocols_special_from_protocol.<locals>.P.methr�r[Nr�r_r[rYr�r�r�r[r�rc��eZdZdZd�Zy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PGrbc��yrSr_r�s rYr�zKProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PG.methr�r[N)r\r]r^r�r�r_r[rYr#r�s���A�
r[r#r�r�)r*r'rr�rJr�rLr�r�rT�_get_protocol_attrs�	frozenset)rWr;r�rr#s     rY�,test_generic_protocols_special_from_protocolz:ProtocolTests.test_generic_protocols_special_from_protocols��	�	��	�
�	�	��	�
�C�L��	��!��	�	
������'�������(�������(�����/�/�0�����/�/�0�����3��,�,�-�����3�3�A�6���A�����3�3�B�7�#��?�����6�#=�#=�b�#A�B�"�C��=�1�	3r[c��|jt�5tGd�d��}ddd�Gd�dt�}|jt�5tGd�d|��}ddd�y#1swY�KxYw#1swYyxYw)Nc��eZdZy)�8ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.CNrpr_r[rYr7r�*s��r[r7c��eZdZdZy)�<ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ProtorbNr{r_r[rYr�r�-r�r[r�c��eZdZy)�?ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ConcreteNrpr_r[rYr�r�1s��r[r�)r}r~r*r')rWr7r�r�s    rY�test_no_runtime_deco_on_nominalz-ProtocolTests.test_no_runtime_deco_on_nominal(st��
�
�
�y�
)�
��M���*�	�H�	��
�
�y�
)�
�
�5�
��
�*�
)�*�
)��*�
)�s�A4�B�4A=�B	c��tGd�dt��}Gd�dt�}|j|�|�Gd�d�}Gd�d�}|j	|�|�|j	|�|�Gd	�d
�}Gd�d�}|j	|�|�|j	|�|�y)
Nc��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.PNr{r_r[rYr�r�6s���Ar[r�c��eZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.BNrpr_r[rYr�r�:r�r[r�c��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.CrbNr{r_r[rYr7r�>r�r[r7c��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.DNr{r_r[rYr:rAr r[r:c��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.CIc��d|_yr@r�r�s rYr�z>ProtocolTests.test_none_treated_correctly.<locals>.CI.__init__Hr�r[Nr�r_r[rYrrGr�r[rc��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.DIc��d|_yrSr�r�s rYr�z>ProtocolTests.test_none_treated_correctly.<locals>.DI.__init__Lr$r[Nr�r_r[rY�DIrKr%r[r)r*r'r�r�r�)rWr�r�r7r:rrs       rY�test_none_treated_correctlyz)ProtocolTests.test_none_treated_correctly5s���	�	��	�
�	�	���� � ���a�(�	�	�	�	�	
���a�c�1�%����a�c�1�%�	�	�	�	�	
���b�d�A�&����b�d�A�&r[c���Gd�dt�}tjtj|f}tj|tjf}|j	||�y)Nc��eZdZdZy)�1ProtocolTests.test_protocols_in_unions.<locals>.PNr{r_r[rYr�rSr r[r�)r'rTrr�r�)rWr��Alias�Alias2s    rY�test_protocols_in_unionsz&ProtocolTests.test_protocols_in_unionsRsN��	��	����V�_�_�a�/�0�����a����0�1�������'r[c���td�}tGd�dt|��aGd�dtt�at�}d|_d|_ttjdz�D]�}tj||�}tj|�}|j|jd�|j|jd�|j|jd�|j|jddd	��tjt|�}tj|�}Gd
�d�}|j!|�|���y)Nrc��eZdZdZy)r�rbNr{r_r[rYr�r�^r�r[r�c��eZdZy)�CPNrpr_r[rYrrbr�r[rr|rzrbr\c��eZdZdZy)�2ProtocolTests.test_protocols_pickleable.<locals>.ErbNr{r_r[rYr�rrs���r[r�)rr*r'r�r�rr`rrfrgrhrfrer�r��__dict__r�)	rWrr�rerQr�r�r:r�s	         rY�test_protocols_pickleablez'ProtocolTests.test_protocols_pickleableZs���C�L��	�	����	�
�	�	��3��	�
�D���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$����Q�Z�Z��E�)B�C����Q��&�A����Q��A�
�
�
�!�!�!�#�q�)�8r[c��|jttj�|j	t
tj�yrS)r�r�rT�SupportsIntr�r�r�s rY�test_supports_intzProtocolTests.test_supports_intws.�����c�6�#5�#5�6�� � ��f�&8�&8�9r[c��|jttj�|j	t
tj�yrS)r�rprT�
SupportsFloatr�r�r�s rY�test_supports_floatz!ProtocolTests.test_supports_float{s.�����e�V�%9�%9�:�� � ��f�&:�&:�;r[c���Gd�d�}|jttj�|j|tj�|j	t
tj�y)Nc��eZdZd�Zy)�.ProtocolTests.test_supports_complex.<locals>.Cc��y)Nyr_r�s rY�__complex__z:ProtocolTests.test_supports_complex.<locals>.C.__complex__�rFr[N)r\r]r^r"r_r[rYr7r �s��
r[r7)r��complexrT�SupportsComplexr�r��rWr7s  rY�test_supports_complexz#ProtocolTests.test_supports_complexsP��	�	�	
���g�v�'=�'=�>����a��!7�!7�8�� � ��f�&<�&<�=r[c���Gd�d�}|jttj�|j|tj�|j	t
tj�y)Nc��eZdZd�Zy)�,ProtocolTests.test_supports_bytes.<locals>.Bc��y�Nr[r_r�s rY�	__bytes__z6ProtocolTests.test_supports_bytes.<locals>.B.__bytes__�s��r[N)r\r]r^r,r_r[rYr�r)�r�r[r�)r�r�rT�
SupportsBytesr�r�)rWr�s  rY�test_supports_bytesz!ProtocolTests.test_supports_bytes�sP��	�	�	
���e�V�%9�%9�:����a��!5�!5�6�� � ��f�&:�&:�;r[c���|jttj�|jttj�|jttj�yrS)r�rprT�SupportsAbsr�r�r�r�s rY�test_supports_abszProtocolTests.test_supports_abs�sD�����e�V�%7�%7�8����c�6�#5�#5�6�� � ��f�&8�&8�9r[c��tttj�|j	ttj�|j	t
tj�|j
ttj�yrS)r�rprT�
SupportsRoundr�r�r�r�r�s rY�test_supports_roundz!ProtocolTests.test_supports_round�sT���5�&�.�.�/����e�V�%9�%9�:����c�6�#7�#7�8�� � ��f�&:�&:�;r[c��|jttj�|j	t
tj�yrS)r�r�rT�
Reversibler�r�r�s rY�test_reversiblezProtocolTests.test_reversible�s.�����d�F�$5�$5�6�� � ��f�&7�&7�8r[c��|jttj�|j	t
tj�yrS)r�r�rT�
SupportsIndexr�r�r�s rY�test_supports_indexz!ProtocolTests.test_supports_index�s.�����c�6�#7�#7�8�� � ��f�&:�&:�;r[c��|jdtj�Gd�dtj�}Gd�d|�}|�}|j||�y)Nrc��eZdZdefd�Zy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C1r�c��yr{r_r�s rY�__int__zFProtocolTests.test_bundled_protocol_instance_works.<locals>.C1.__int__�rFr[N)r\r]r^r�r?r_r[rYr%r=�s��
��
r[r%c��eZdZy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C2Nrpr_r[rYr&rA�r�r[r&)r�rTr0r)rWr%r&r�s    rY�$test_bundled_protocol_instance_worksz2ProtocolTests.test_bundled_protocol_instance_works�sM�����a��!3�!3�4�	��#�#�	�	��	��D�����a��$r[c��tGd�dtjjt��}Gd�d�}Gd�d�}|j||�|j
||�tGd�dtjjt��}Gd	�d
�}Gd�d�}|j||�|j|�|�|j
||�|j|�|�y)
Nc��eZdZd�Zy)�@ProtocolTests.test_collections_protocols_allowed.<locals>.Customc��yrSr_r�s rY�closezFProtocolTests.test_collections_protocols_allowed.<locals>.Custom.close�r�r[N)r\r]r^rGr_r[rY�CustomrE�r<r[rHc��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.ANrpr_r[rYr�rJ�r�r[r�c��eZdZd�Zd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.Bc��gSrSr_r�s rY�__iter__zDProtocolTests.test_collections_protocols_allowed.<locals>.B.__iter__�r�r[c��yrWr_r�s rYrGzAProtocolTests.test_collections_protocols_allowed.<locals>.B.close�r�r[N)r\r]r^rNrGr_r[rYr�rL�s��
�
r[r�c��eZdZdeddfd�Zy)�JProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer�mvr�Nc��yrSr_�rWrRs  rY�__release_buffer__z]ProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer.__release_buffer__�s��#r[)r\r]r^�
memoryviewrUr_r[rY�ReleasableBufferrQ�s��E�Z�E�D�Er[rWc��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.CNrpr_r[rYr7rY�r�r[r7c�,�eZdZdedefd�Zdeddfd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.D�flagsr�c��td�Sr+)rV)rWr\s  rY�
__buffer__zFProtocolTests.test_collections_protocols_allowed.<locals>.D.__buffer__�s��!�#��&r[rRNc��yrSr_rTs  rYrUzNProtocolTests.test_collections_protocols_allowed.<locals>.D.__release_buffer__�r�r[)r\r]r^r�rVr^rUr_r[rYr:r[�s(��
'��
'�
�
'�
�Z�
�D�
r[r:)
r*rrzr�r'r�r��Bufferr�r�)rWrHr�r�rWr7r:s       rY�"test_collections_protocols_allowedz0ProtocolTests.test_collections_protocols_allowed�s���	�	!�[�_�_�-�-�x�	!�
�	!�	�
�	�	�	
���a��(�� � ��F�+�	�	F�{���5�5�x�	F�
�	F�	�
�	�	�	
���a�!1�2����a�c�#3�4�� � ��$4�5�� � ���&6�7r[c��|jt�5Gd�dtt�}ddd�Gd�dtj
t�}Gd�dtjt�}y#1swY�FxYw)Nc��eZdZy)�EProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomProtocolNrpr_r[rY�CustomProtocolrd�r�r[rec��eZdZy)�KProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomContextManagerNrpr_r[rY�CustomContextManagerrg�r�r[rhc��eZdZy)�JProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomAsyncIteratorNrpr_r[rY�CustomAsyncIteratorrj�r�r[rk)r}r~rr'rT�ContextManager�
AsyncIterator)rWrerhrks    rY�test_builtin_protocol_allowlistz-ProtocolTests.test_builtin_protocol_allowlist�sT��
�
�
�y�
)�
��8�
�*�	�6�#8�#8�(�	�	�&�"6�"6��	�*�
)�s�A0�0A9c��Gd�dt�}|jtd�5td|�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�CProtocolTests.test_non_runtime_protocol_isinstance_check.<locals>.Pr�Nr�r_r[rYr�rq�����Fr[r�z@runtime_checkablerb)r'r�r~r�rWr�s  rY�*test_non_runtime_protocol_isinstance_checkz8ProtocolTests.test_non_runtime_protocol_isinstance_check�s8��	��	��
#�
#�I�/C�
D��q�!��E�
D�
D�s	�
<�Ac�F�Gd�dt�}Gd�d|�}|�y)Nc��eZdZUeed<y)�-ProtocolTests.test_super_call_init.<locals>.Pr�Nr�r_r[rYr�rw�rrr[r�c���eZdZ�fd�Z�xZS)�/ProtocolTests.test_super_call_init.<locals>.Fooc�"��t�|��yrS)r�r�)rWr�s �rYr�z8ProtocolTests.test_super_call_init.<locals>.Foo.__init__�s����� �"r[r�r�s@rYr�ry�s
���
#�
#r[r�r�)rWr�r�s   rY�test_super_call_initz"ProtocolTests.test_super_call_init�s!��	��	�	#�!�	#�	�r[c��tjjj�Gd�dtjjt�}|jdtjj�y)Nc��eZdZy)�_ProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta.<locals>.FooNrpr_r[rYr�r~�r�r[r�rb)rrz�Sized�_abc_registry_clearr'r�r�s  rY�Dtest_interaction_with_isinstance_checks_on_superclasses_with_ABCMetazRProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta�sH�������1�1�3�8�+�/�/�'�'��8�
	
� � ��K�O�O�$9�$9�:r[c���tjjj�Gd�dtjt
�}|j
dtj�y)Nc��eZdZy)�aProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2.<locals>.FooNrpr_r[rYr�r��r�r[r�rb)rrzrr�rTr'r�r�s  rY�Ftest_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2zTProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2�s<�������1�1�3�/�&�,�,��/�
	
� � ��F�L�L�1r[c��ttGd�dt���}|jt|�|jt	�|�y)Nc��eZdZy)�MProtocolTests.test_empty_protocol_decorated_with_final.<locals>.EmptyProtocolNrpr_r[rYr�r�s��'*r[r�)r&r*r'r�r�r�)rWr�s  rY�(test_empty_protocol_decorated_with_finalz6ProtocolTests.test_empty_protocol_decorated_with_finals?��	�	�*�H�*�
�
�*����f�m�4����f�h�
�6r[c���ttGd�dt���}|jt|�|jt|�|jd|�|jd|�y)Nc��eZdZdedefd�Zy)�]ProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethod�stringr�c��yrSr_)rWr�s  rYr�zhProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethod.startswith
s��sr[Nr�r_r[rY�ProtocolWithMethodr�
s��
;��:��:r[r�r`r|)	r&r*r'r�r�r�r�r�r�)rWr�s  rY�3test_protocol_decorated_with_final_callable_memberszAProtocolTests.test_protocol_decorated_with_final_callable_members	si��	�	�	;��	;�
�
�	;�	
���c�#5�6�� � ��&8�9����e�%7�8�� � ��%7�8r[c��ttGd�dt���}Gd�d�}d}|jt|�5t||�ddd�|jt|�5tt|�ddd�|j|�|�|jd|�y#1swY�bxYw#1swY�?xYw)Nc��eZdZUeed<y)�kProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.ProtocolWithNonCallableMemberr�Nr�r_r[rY�ProtocolWithNonCallableMemberr�s	���Fr[r�c��eZdZdZy)�QProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.Foor|Nr{r_r[rYr�r�s���Ar[r�r�r|�	r&r*r'r�r~r�r�r�r�)rWr�r��only_callable_members_pleases    rY�6test_protocol_decorated_with_final_noncallable_memberszDProtocolTests.test_protocol_decorated_with_final_noncallable_memberss���	�	�	�H�	�
�
�	�	�	�
L�	%��
#�
#�I�/K�
L��s�9�:�M��
#�
#�I�/K�
L��s�9�:�M�	
���c�e�%B�C�� � ��%B�C�M�
L��M�
L���
B2�/B>�2B;�>Cc��ttGd�dt���}Gd�d�}d}|jt|�5t||�ddd�|jt|�5tt|�ddd�|j|�|�|jd|�y#1swY�bxYw#1swY�?xYw)Nc� �eZdZUeed<dd�Zy)�`ProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembersr�Nc��yrSr_r�s rYr�zgProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembers.method/r�r[r)r\r]r^r�r�r�r_r[rY�ProtocolWithMixedMembersr�+s���F�)r[r�c��eZdZdZdd�Zy)�KProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foor|Nc��yrSr_r�s rYr�zRProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foo.method3r�r[r)r\r]r^r�r�r_r[rYr�r�1s
���A�)r[r�r�r|r�)rWr�r�r�s    rY�0test_protocol_decorated_with_final_mixed_membersz>ProtocolTests.test_protocol_decorated_with_final_mixed_members*s���	�	�	*�x�	*�
�
�	*�	*�	*�

L�	%��
#�
#�I�/K�
L��s�4�5�M��
#�
#�I�/K�
L��s�4�5�M�	
���c�e�%=�>�� � ��%=�>�M�
L��M�
L�r�c�v��Gd�d��G�fd�dt�}|j|jdh�y)Nc��eZdZd�Zy)�aProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc��td��r�r�)rW�instancer�s   rYrXziProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__Er�r[NrYr_r[rY�
classpropertyr�DrGr[r�c���eZdZW��Zy)�_ProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.CommentableN�r\r]r^�evil�r�s�rY�Commentabler�Hs
��� �?�Dr[r�r�)r'r�rH)rWr�r�s  @rY�<test_nonruntime_protocol_interaction_with_evil_classpropertyzJProtocolTests.test_nonruntime_protocol_interaction_with_evil_classpropertyCs3���	)�	)�	#�(�	#�	
����7�7�&��Br[c�f���Gd�dt��G�fd�d��|jt�5}tG�fd�dt��}ddd�j
}|j
|jdd�|jt|j���y#1swY�ZxYw)	Nc��eZdZy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CustomErrorNrpr_r[rY�CustomErrorr�Rr�r[r�c���eZdZ�fd�Zy)�^ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc�����rSr_)rWr�r�r�s   �rYrXzfProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__Us	���!�!r[NrY)r�s�rYr�r�Ts���
"r[r�c���eZdZW��Zy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CommentableNr�r�s�rYr�r�Ys
���$��r[r�rzEFailed to determine whether protocol member 'evil' is a method member)�	Exceptionr}r~r*r'rr�r�r�r��	__cause__)rWrr��excr�r�s    @@rY�9test_runtime_protocol_interaction_with_evil_classpropertyzGProtocolTests.test_runtime_protocol_interaction_with_evil_classpropertyQs����*�)�*�	"�	"��
�
�y�
)�R�
�
'�h�
'��
'�*�
�l�l������H�H�Q�K�S�	
�	
�
�
�d�3�=�=�)�;�7�*�
)�s�B'�'B0N)Lr\r]r^r�r�r�r�rrrr'r1r8rGrarur�r�r�r�r�rrrr!rJr�r�r�r�r�r�r�rrr'r4rSrfrxrr�r�r�r�r�r�r�r�r�r�r�r	rrrrr&r.r1r4r7r:rBrarnrtr{r�r�r�r�r�r�r�r�r_r[rYr�r�G
s���'�,�
/�6�$0� 2�)�,�:!�
!�&�$%�@!$�F9!�vHX�T>�90�v!$�F#�,#�(#�0#�,<#�|R1�h<�">N�@
:�#2�J(�$*�%�"&�"&�$)�$&
�P.�&&6�P�+�(!,�F4�$/�2�"
=�C�	>�,�3�8�'�:(�*�::�<�>�<�:�
<�9�<�%�8�>	���	;�	2�7�	9�D�,?�2C�8r[r�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�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+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAy@)A�GenericTestsc�t�tttf}|j|jd�|jt�5|tddd�|jt�5|ttfddd�tttf}|j|jtf�|t|jt�5|ttfddd�tttf}|jt�5t|t�ddd�|j|�t�td�}|jtt|tzj|f�y#1swY��;xYw#1swY��xYw#1swY��xYw#1swY��xYw)Nr_r)r�r�r
r�r�r}r~r�r�r�r�rrr�rp)rWr�r��SM1rs     rYr.zGenericTests.test_basicsgs6���#�s�(�#������)�)�2�.�
�
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�c�3�h�K�*��"�c�'�"������)�)�B�5�1�	�#��
�
�
�y�
)�
�c�3�h�K�*��C��H�%��
�
�
�y�
)��s�M�*�*����c�e�]�3��C�L������d�1�g��o�.�=�=��t�D�*�
)��
)�
)��
*�
)��*�
)�s0�
F�,F�F"�F.�F�F�"F+�.F7c��td�}td�}|jt�5t||ddd�|jt�5t||ddd�|jt�5Gd�dt|t|�}ddd�|jt�5t	gt
t�ddd�|jt�5ttt
t�ddd�|jt�5Gd�dt�}ddd�|jt�5Gd�dt|t|�}ddd�|jt�5Gd	�d
t
|t|�}ddd�|jt�5tdddd�Gd�d
t|�}|jt�5|dddd�y#1swY���xYw#1swY���xYw#1swY���xYw#1swY��dxYw#1swY��8xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrr�c��eZdZy)�+GenericTests.test_generic_errors.<locals>.CNrpr_r[rYr7r��r�r[r7c��eZdZy)�4GenericTests.test_generic_errors.<locals>.NewGenericNrpr_r[rY�
NewGenericr��r�r[r�c��eZdZy)�3GenericTests.test_generic_errors.<locals>.MyGenericNrpr_r[rY�	MyGenericr��r�r[r�c��eZdZy)�4GenericTests.test_generic_errors.<locals>.MyGeneric2Nrpr_r[rY�
MyGeneric2r��r�r[r�r_c��eZdZy)�+GenericTests.test_generic_errors.<locals>.DNrpr_r[rYr:r��r�r[r:)	rr}r~r#rrr�r�r�)rWrr�r7r�r�r�r:s        rY�test_generic_errorsz GenericTests.test_generic_errorszs����C�L���C�L��
�
�
�y�
)��A�J�q�M�*�
�
�
�y�
)��A�J�q�M�*�
�
�
�y�
)�0�G�A�J���
�0�*�
�
�
�y�
)��r�4��9�%�*�
�
�
�y�
)��t�T�#�Y�'�*�
�
�
�y�
)�*�W�*�*�
�
�
�y�
)�8�G�A�J���
�8�*�
�
�
�y�
)�6�T�!�W�g�a�j�6�*�
�
�
�y�
)��B�K�*�!���
�!�
�
�
�y�
)�
�b�E�*�
)�'*�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��*�
)�sw�
H�
H�H%�8H2�-H?�&I�I�I%�
I1�<I=�H�H"�%H/�2H<�?I	�I�I"�%I.�1I:�=Jc��td�}td�}|jt�5t||fddd�|jt�5t|||fddd�y#1swY�4xYw#1swYyxYw)Nrr�)rr}r~r#)rWrr�s   rY�	test_initzGenericTests.test_init�sf���C�L���C�L��
�
�
�y�
)��A�q�D�M�*�
�
�
�y�
)��A�q�!�G��*�
)�*�
)��
)�
)�s�A+�
A7�+A4�7Bc��Gd�dtjt�}Gd�d|�}|j|jd�|jt�5|jddd�d|_d|_Gd�d	|�}Gd
�d|t�}|j|jd�|j|jd�|j|jd�y#1swY��xYw)Nc���eZdZ�fd�Z�xZS)�*GenericTests.test_init_subclass.<locals>.Xc�2��t�|�di|��d|_y)Nr|r_)r��__init_subclass__r�)r�r�r�s  �rYr�z<GenericTests.test_init_subclass.<locals>.X.__init_subclass__�s�����)�3�F�3���r[�r\r]r^r�r�r�s@rYr�r��s
���
�
r[r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.YNrpr_r[rYr�r��r�r[r�r|rbr�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.ZNrpr_r[rY�Zr��r�r[r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.WNrpr_r[rYr�r��r�r[r�)rTr#rr�r�r}rr�)rWr�r�r�r�s     rY�test_init_subclasszGenericTests.test_init_subclass�s���	����q�!�	�	��	��������$�
�
�
�~�
.�
�F�F�/�������	��	�	��#��	��������#��������$��������$�/�
.�s�
C2�2C;c��|jtt�dt�d��|jtt�dt�d��y)Nr�z.SimpleMapping'>z.MySimpleMapping'>)r�r�r�r\r�r�s rYr�zGenericTests.test_repr�sH������m�,�#�H�:�-=�>�	@�����o�.�#�H�:�-?�@�	Br[c��td�}td�}Gd�dt|�}|t||f}|j||t||f�|j	||t||f�||t
f}|j|||t
f�|j	|||t
f�|j	|||tf�|t}|j||t�|j	||t
�|j	|||�|jt
|�jd��y)Nrr�c��eZdZy)�'GenericTests.test_chain_repr.<locals>.CNrpr_r[rYr7r��r�r[r7z.C[typing.Tuple[str, int]])	rr#rr�r�r�r�r�r�)rWrr�r7r�r�r�s       rY�test_chain_reprzGenericTests.test_chain_repr�s'���C�L���C�L��	���
�	�
�e�A�q�D�k�N������A�e�A�q�D�k�N�+����A�q��q�!�t��~�.�
�a��f�I������A�a��f�I�&����A�q��C��y�)����A�q��C��y�)�
�c�F������A�c�F�#����A�q��v�&����A�q��t�$�����A����(�*�	+r[c��td�}tdd��}td�}|jtt�d�|jtt|�d�|jtt|�d�|jtt||t�d	�|jttt�d	�y)
Nr�UTryr�ztyping.Listztyping.List[~T]ztyping.List[+U]ztyping.List[int])rr�r�rr�)rWrr�r�s    rY�
test_new_reprzGenericTests.test_new_repr�s����C�L���C�4�(���C�L������d��]�3�����d�1�g��(9�:�����d�1�g��(9�:�����d�1�g�a�j��o�.�0B�C�����d�3�i��*<�=r[c�p�td�}td�}|jttj||f||f�d�|jtt
t||ft|f�d�|jtt
t||ft
t�d�y)Nr�TSztyping.Mapping[~TS, ~T]z"typing.List[typing.Tuple[int, ~T]]z=typing.List[typing.Tuple[typing.List[int], typing.List[int]]])rr�r�rTr�rrr�)rWrr�s   rY�test_new_repr_complexz"GenericTests.test_new_repr_complex�s����C�L��
�T�]������f�n�n�Q��U�3�B��E�:�;�=V�W�����d�5��B��<�0��a��8�9�=�	?������e�A�q�D�k�"�4��9�-�.�K�	
r[c�,�td�}|jtt|�d�|jttj
|�d�Gd�dtjttf�}t|j�y)Nrztyping.Generic[~T]ztyping.Protocol[~T]c��eZdZy)�*GenericTests.test_new_repr_bare.<locals>.CNrpr_r[rYr7r��r�r[r7)	rr�r�r#rTr'r r
�__mro__�rWrr7s   rY�test_new_repr_barezGenericTests.test_new_repr_bare�sd���C�L������g�a�j�)�+?�@�����f�o�o�a�0�1�3H�I�+����C��H�%�+��Q�Y�Y�r[c��td�}Gd�dt|�}|�}d|_|j|jddi�Gd�d|t
�}|�}d|_|j|jd	di�y)
Nrc��eZdZy)�!GenericTests.test_dict.<locals>.BNrpr_r[rYr�r��r�r[r�r|r`c��eZdZy)�!GenericTests.test_dict.<locals>.CNrpr_r[rYr7r��r�r[r7rzr)rr#r`r�rr�r)rWrr�r�r7r�s      rY�	test_dictzGenericTests.test_dict�s{���C�L��	���
�	�
�C�����������e�R�[�1�	��#��	�
�C�����������e�U�^�4r[c�P�d��}|j|t�|�y)Nc�0��d�x}f�G�fd�d��
}|�S)rc���eZdZW�Zd�Zy)�7GenericTests.test_setattr_exceptions.<locals>.Immutablec��td��)N�	immutabler�r�s   rY�__setattr__zCGenericTests.test_setattr_exceptions.<locals>.Immutable.__setattr__�s
��"�;�/�/r[N)r\r]r^rkr�rls�rY�	Immutabler��s���
0r[r�r_r�s  @rYz!<generic parameters of Immutable>zOGenericTests.test_setattr_exceptions.<locals>.<generic parameters of Immutable>�s����	0�	0�	0r[)r�r�)rWr�s  rY�test_setattr_exceptionsz$GenericTests.test_setattr_exceptions�s"��	0�	
���n�i��n�.�	�:r[c��td�}Gd�dt|�}|j|tjd�|j||tjd�d||t_|j|jd�|j|t
jd�d|tt
_|j|jd�|j|ttjd�|j|�jd�|j|tt
�jd�Gd�d||�}|j|tjd�|j|jd�d	|_d
|t_|j|jd�|j|tjd�|j|jd
�|j|t
jd	�y)Nrc��eZdZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.C�defNr{r_r[rYr7r		s���Ar[r7r	�changed�newc��eZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.DNrpr_r[rYr:r	r�r[r:zfrom derived zzfrom derived x)	rr#r�r�r�r�rrQr�rWrr7r:s    rY�$test_subscripted_generics_as_proxiesz1GenericTests.test_subscripted_generics_as_proxiess����C�L��	���
�	�����3����5�)�����1�S�6����e�,���!�C�&�	��������i�(�����3����9�-���$�s�)���������e�$�����5��:����%�0��������	�*������5��:���*�*�E�2�	��!��	�����3����9�-�������e�$����#��#���������i�(�����3����5�)�������.�/�����3����#3�4r[c�4�td�}Gd�dtjjt|�}|jt�|jd|�|t|jd|�|j�|j�y)Nrc��eZdZy)�.GenericTests.test_abc_registry_kept.<locals>.CNrpr_r[rYr7r
	$r�r[r7rb)
rrrzr�r#r�r�r�r��_abc_caches_clearr�s   rY�test_abc_registry_keptz#GenericTests.test_abc_registry_kept"sm���C�L��9����'�'����9�	�
�
�3�����a��#�	�#�����a��#�	����	���r[c��Gd�dtttf�}|ji|�|jt|�y)Nc��eZdZy)�5GenericTests.test_false_subclasses.<locals>.MyMappingNrpr_r[rY�	MyMappingr	-r�r[r	)r!r�r�r�r)rWr	s  rY�test_false_subclassesz"GenericTests.test_false_subclasses,s3��7��s�C�x�0�7�� � ��Y�/�� � ��y�1r[c�T�Gd�dtttf�}|�j�|j|�tj
j�|j|�t�|j
|�t�|j
i|�y)Nc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�'GenericTests.test_abc_bases.<locals>.MMc��yrSr_�rWrs  rYr�z3GenericTests.test_abc_bases.<locals>.MM.__getitem__3r2r[c��yrSr_�rWrr�s   rYr�z3GenericTests.test_abc_bases.<locals>.MM.__setitem__5r�r[c��yrSr_r	s  rY�__delitem__z3GenericTests.test_abc_bases.<locals>.MM.__delitem__7r�r[c��td�Sr���iterr�s rYrNz0GenericTests.test_abc_bases.<locals>.MM.__iter__9����B�x�r[c��yrWr_r�s rY�__len__z/GenericTests.test_abc_bases.<locals>.MM.__len__;r�r[N�r\r]r^r�r�r	rNr#	r_r[rY�MMr	2���
�
�
�
 �
r[r%	)r!r��updater�rrzr�r)rWr%	s  rY�test_abc_baseszGenericTests.test_abc_bases1st��
	���S��)�
	�	����
����b�d�K�O�O�$B�$B�C����b�d�N�3�� � ���t�,�� � ��R�(r[c�L�Gd�dtttftjj�}Gd�dtjjtttf�}|j	|j
tjjtf�y)Nc��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM1Nrpr_r[rY�MM1r+	Er�r[r,	c��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM2Nrpr_r[rY�MM2r.	Gr�r[r/	)r!r�rrzr��	__bases__r#)rWr,	r/	s   rY�test_multiple_basesz GenericTests.test_multiple_basesDsg��	�.��c��*�K�O�O�,J�,J�	�	�+�/�/�0�0�.��c��2J�	����������)G�)G��(Q�Rr[c���td�}Gd�dtjt|f�}|j	|j
tjt|ff�y)Nrc��eZdZy)�'GenericTests.test_orig_bases.<locals>.CNrpr_r[rYr7r4	Mr�r[r7)rrTr r�r��__orig_bases__r�s   rY�test_orig_baseszGenericTests.test_orig_basesKsF���C�L��)����C��F�#�)�����)�)�F�K�K��Q��,?�+A�Br[c��d�}|j|dditjttf��|j|dditjttf��|j
t�5|dditjttf�ddd�d�}Gd�dtt�}|j||t�|t��|j||t�|t��|j||t�t��|j
t�5|gd�|t�ddd�d�}Gd	�d
tt�}|j|gd�|��|j|ddg|��y#1swY��xYw#1swY�dxYw)
Nc����t|j�dkDrt�|jr2|j\��t	��fd�|j�D��Sy)Nrc3�X�K�|]!\}}t|��xrt|�����#y�wrS)r)�.0rr�rrs   ��rY�	<genexpr>zSGenericTests.test_naive_runtime_checks.<locals>.naive_dict_check.<locals>.<genexpr>Ws3������ +���1��q�"�%�;�*�Q��*;�;� +�s�'*)rr�r=r��allr�)rV�tprrs  @@rY�naive_dict_checkz@GenericTests.test_naive_runtime_checks.<locals>.naive_dict_checkQsU����2�$�$�%��)�)�)��{�{������B��� #�	�	�����r[r�rbc�D�t|d�st�|j|k(S)Nr4)rlr=r4�rVr=	s  rY�naive_generic_checkzCGenericTests.test_naive_runtime_checks.<locals>.naive_generic_check`s$���3� 0�1�)�)��%�%��+�+r[c��eZdZy)�4GenericTests.test_naive_runtime_checks.<locals>.NodeNrpr_r[rY�NoderC	er�r[rD	rNc�,��t�fd�|D��S)Nc3�j�K�|]*}t|�jdjd����,y�w)rN)rr5	r�)r:	r�r=	s  �rYr;	zXGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check.<locals>.<genexpr>ns6�����%� #�1�"�!�R�%6�%6�q�%9�%B�%B�1�%E�F� #�s�03)r<	r@	s `rY�naive_list_base_checkzEGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_checkls����%� #�%�%�
%r[c��eZdZy)�1GenericTests.test_naive_runtime_checks.<locals>.CNrpr_r[rYr7rI	pr�r[r7rr�)r�rTr r�r�r�r}r=rr#r)rWr>	rA	rD	rG	r7s      rY�test_naive_runtime_checksz&GenericTests.test_naive_runtime_checksPsl��		�	
���(�#�q��6�;�;�s�C�x�3H�I�J����)�1�c�(�F�K�K��S��4I�J�K�
�
�
�2�
3��a��X�v�{�{�3��6�':�;�4�	,�
	$�7�1�:�#����+�I�D��I�K��c��C�D����,�Y�T�#�Y�[�$�s�)�D�E����,�Y�T�#�Y�[�$�?�@�
�
�
�2�
3��	�4��9�5�4�	%�	 ��S�	�����-�i��;�<����.��S�z�1�=�>�+4�
3��4�
3�s�'G�G�G�Gc��td�}td�}td�}Gd�dt|||�}Gd�d|t|||�}|j|j|f�|j|j|f�|j|tjd�|j|tjd�|j|tj
tf�|j|tj
tf�|j|jttf�|j|j|ttf�|j|jt|||f�|j|j|t|||f�y)	Nrr�r�c��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.CNrpr_r[rYr7rM	xr�r[r7c��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.DNrpr_r[rYr:rO	yr�r[r:r_)
rrr�r�r�r�r0	r�r#r5	)rWrr�r�r7r:s      rY�test_multi_subscr_basez#GenericTests.test_multi_subscr_basets^���C�L���C�L���C�L��#��Q���
�1�
�#�&��4��7�1�:�a�=�&�����)�)�A�4�0�����)�)�A�4�0�����3��.�.��3�����3��.�.��3�����3����3�&�1�����3����3�&�1�������t�W�o�6�������q�$��&8�9�����)�)�D��G�A�J�q�M�+;�<�����)�)�A�t�A�w�q�z�!�}�+=�>r[c�,�td�}Gd�dt�}|jt|t|�|jt|t
f|t|t
f�|jtd|fjt|f�y)Nrc��eZdZy)�.GenericTests.test_subscript_meta.<locals>.MetaNrpr_r[rY�MetarS	�r�r[rT	.)	rr�r�r5rr�r"r��Ellipsis)rWrrT	s   rY�test_subscript_metaz GenericTests.test_subscript_meta�su���C�L���4������d��T�$�Z�0�����q�#�v��t�,�e�D�#�I�.>�?�����#�t�)�,�5�5��$�7G�Hr[c�4�Gd�dtt�}Gd�dtt�}|j||�|jtjt
tjt
�|j|j|j�|jtjj|jt
tjj|jt
�|j||j�|j|tj�|j|tjj�|j|jtj�|j|jtjj�|j|t
|jt
�|j|tt|jtt�|j|t
tjt
�|j|t
tjjt
�|j|jttjt�|j|jtttjjtt�|jt|t
t|jt
�|jt|ttt|jtt�|jtt
|t
ftt
tjt
f�|jt|t
|t
ft|t
tjt
f�|jtj|t
tjtjjt
�|jt!t|t
�j#d��|jt!t|jt
�j#d��|jt!ttjt
�j#d��|jt!ttjjt
�j#d��y)	Nc��eZdZy)�+GenericTests.test_generic_hashes.<locals>.ANrpr_r[rYr�rY	����r[r�c�(�eZdZGd�dee�Zy)�+GenericTests.test_generic_hashes.<locals>.Bc��eZdZy)�-GenericTests.test_generic_hashes.<locals>.B.ANrpr_r[rYr�r^	����r[r�N)r\r]r^r#rr�r_r[rYr�r\	�s��
�G�A�J�
r[r�z<locals>.A[str]]z<locals>.B.A[str]]zmod_generics_cache.A[str]]zmod_generics_cache.B.A[str]])r#rr�rNr�r�r�r�rr
r�rrrT�	FrozenSetr�r�r�r�s   rY�test_generic_hashesz GenericTests.test_generic_hashes�s���	���
�	�	���
�	�	
����A�����+�-�-�c�2�4F�4H�4H��4M�N�������a�c�c�"����+�-�-�/�/����C��9�+�-�-�/�/����C��9�	;�	
���A�q�s�s�#����A�1�3�3�4����A�1�3�3�5�5�6����A�C�C�!3�!5�!5�6����A�C�C�!3�!5�!5�!7�!7�8����A�c�F�A�C�C��H�-����A�d�3�i�L�!�#�#�d�3�i�.�9����A�c�F�$6�$8�$8��$=�>����A�c�F�$6�$8�$8�$:�$:�3�$?�@����A�C�C��H�&8�&:�&:�3�&?�@����A�C�C��S�	�N�,>�,@�,@�,B�,B�4��9�,M�N����E�!�C�&�M�5����S��?�;����E�!�D��I�,�/��q�s�s�4��9�~�1F�G����E�#�q��v�+�.��c�;M�;O�;O�PS�;T�6T�0U�V����E�!�C�&�!�C�&�.�1�!�!�C�&�*<�*>�*>�s�*C�"C�D�	F����F�,�,�Q�s�V�4�"�,�,�-?�-A�-A�-C�-C�C�-H�I�	K�	
����U�1�S�6�]�+�4�4�5G�H�I�����U�1�3�3�s�8�_�-�6�6�7K�L�M�����U�#5�#7�#7��#<�=�>�!��">�?�	A�����U�#5�#7�#7�#9�#9�#�#>�?�@�!��"@�A�	Cr[c���td�}td�}|jt||fttttf�|jtj
t||f|tj
t||f�|j
t�5t|tfdddd�|jt|tftt�|jt||fttttfftttf�Gd�d�}Gd�d|�}|jt||ft||ft||f�|jt|g|ftttgtf�|jtdt|fttdttf�y#1swY��2xYw)	Nrr�r_c��eZdZy)�9GenericTests.test_extended_generic_rules_eq.<locals>.BaseNrpr_r[rY�Baserd	�r�r[re	c��eZdZy)�<GenericTests.test_extended_generic_rules_eq.<locals>.DerivedNrpr_r[rY�Derivedrg	�r�r[rh	.)
rr�rr�rTr�r}r~rr�r"rr)rWrr�re	rh	s     rY�test_extended_generic_rules_eqz+GenericTests.test_extended_generic_rules_eq�s����C�L���C�L������q�!�t��S�)�5��c��?�;��������q�!�t��5�a�8�&�/�/�%�PQ�ST�PT�+�:V�W�
�
�
�y�
)��!�S�&�M�"��*�	
����q�#�v��s�+�S�1�����q�!�t��S�%��S��/�%9�:�E�#�s�(�O�L��� �d� �����q�$�w���d�G�m�(<�=�u�T�7�]�?S�T�����1�#�q�&�)�"�-�x���b��/A�B�����#�t�A�w�,�/��4�h�s�D��I�~�6N�O�*�
)�s�(G+�+G5c� �td�}|jtttt
f�j
dd�d�|jtttttf�j
dd�d�|jtt
dt|ft�j
dd�d�|jtt
gt|ft�j
dd�d�y)	Nrztyping.r�zUnion[Tuple, Callable]zUnion[Tuple, Tuple[int]].zCallable[..., Optional[int]]zCallable[[], List[int]])
rr�r�rrr"r�r�rrrls  rY� test_extended_generic_rules_reprz-GenericTests.test_extended_generic_rules_repr�s����C�L������e�E�8�O�4�5�=�=�i��L�1�	3�����e�E�5��:�$5�6�7�?�?�	�2�N�3�	5�����h�s�H�Q�K�'7�8��=�>�F�F�y�RT�U�7�	9�����h�r�4��7�{�3�C�8�9�A�A�)�R�P�2�	4r[c�X�dttdfd�}dtttd�fd�}dttd�tzfd�}Gd�d�}|j	t|t
�t��dtt|i�|j	t|t
�t��dtt|i�|j	t|t
�t��dt|tztzi�td�}t|d	f}d|fd
�}|jt|t
�t��d|�td	t|f}d|fd�}	|jt|	t
�t��d|�y)Nr��CCc��yrSr_r�s rY�foobarz5GenericTests.test_generic_forward_ref.<locals>.foobar�s��r[c��yrSr_r�s rY�foobar2z6GenericTests.test_generic_forward_ref.<locals>.foobar2�r
r[zCC | intc��yrSr_r�s rY�foobar3z6GenericTests.test_generic_forward_ref.<locals>.foobar3�r�r[c��eZdZy)�1GenericTests.test_generic_forward_ref.<locals>.CCNrpr_r[rYrm	ru	�r�r[r.c��yrSr_r�s rY�barfooz5GenericTests.test_generic_forward_ref.<locals>.barfoo�r�r[c��yrSr_r�s rY�barfoo2z6GenericTests.test_generic_forward_ref.<locals>.barfoo2�r�r[)rr�rAr�r�r+rrrrr�r")
rWro	rq	rs	rm	r�ATrw	�CTry	s
          rY�test_generic_forward_refz%GenericTests.test_generic_forward_ref�sS��,�d�4��:�&�,�9�t�D��D�!1�2�3�9�?�t�J�z�2�3�c�9�?��
�����6�7�9�f�h�7�
�$�t�B�x�.�!�	
�	
����7�G�I�v�x�8�
�$�t�B�x�.�!�	
�	
����7�G�I�v�x�8�
�$�r�C�x�.�3�&�'�	
�

�C�L��
�1�c�6�]���b���
�
�n�V�W�Y���A�#�F��K�
�c�4��7�l�
#���r���
�
�n�W�g�i���B�3�G��Lr[c
���Gd�d�}|jt|t�t��dt|i�Gd�d�}|jt|t�t��dt
|ttt|fi�i}ttjd�|�|d}|j|jdd�|jt|t�t��dtt|i�td	}d
|fd�}|jt|t�t��d
tttd	�i�y)Nc��eZdZUeded<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C1r%rN�r\r]r^r�r�r_r[rYr%r	�s���D�z�Mr[r%rc�4�eZdZUedeeedfed<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C2r%r&rN)r\r]r^rr�rr�r_r[rYr&r�	�s ���D�$�t�D��J�/�0�0�1�1r[r&zf
        from __future__ import annotations
        class C3:
            a: List[list["C2"]]
        r'zList[list['C2']]r�r�c��yrSr_r�s rYrXz7GenericTests.test_generic_pep585_forward_ref.<locals>.fr�r[)r�r+rrr�rrro�textwrap�dedentr�rA)rWr%r&�scoper'r�rXs       rY�test_generic_pep585_forward_refz,GenericTests.test_generic_pep585_forward_ref�s<��	�	�����2�w�y�&�(�3�
�$�r�(�O�	
�
	2�	2�����2�w�y�&�(�3�
�$�r�4��T�"�X��/�/�0�1�	
����X�_�_��
��		�
�4�[������+�+�C�0�2D�E�����2�w�y�&�(�3�
�$�t�B�x�.�!�	
�
��I���������1�g�i���2�
�$�t�J�s�O�,�-�.�	
r[c��ttj�}ttj�}tjj
}|j
|d|d�|j|djdt|d�|j
|djd|d�|jtj|�y)Nr�rr�rbrQr�)
rrMrr+r�rkr�r�r�r)rW�original_globals�hints_for_A�
A_type_paramss    rY�1test_pep695_generic_class_with_future_annotationsz>GenericTests.test_pep695_generic_class_with_future_annotationss����
� 6� 6�7��$�]�_�_�5��%���7�7�
��
�
�k�#�&�
�a�(8�9�����S�)�2�2�1�5�v�m�A�>N�7O�P��
�
�k�#�&�/�/��2�M�!�4D�E�	
����/�/�1A�Br[c�z�ttj�}|j|tt
td��y)NrP)r+rMr�r�r�r�r�)rW�hints_for_Bs  rY�Etest_pep695_generic_class_with_future_annotations_and_local_shadowingzRGenericTests.test_pep695_generic_class_with_future_annotations_and_local_shadowings'��$�]�_�_�5������C�c��&F�Gr[c���ttj�}|jt	|j��t	tjj��yrS)r+rMr7r�rN�valuesrk)rW�hints_for_Cs  rY�Mtest_pep695_generic_class_with_future_annotations_name_clash_with_global_varszZGenericTests.test_pep695_generic_class_with_future_annotations_name_clash_with_global_vars"sA��$�]�_�_�5�������"�"�$�%��
���/�/�0�	
r[c��ttj�}tjj}|j	|j�hd��|j
|d|d�|j	|dt|d�|j
|dj|d�|j
|dj|d�y)	N>r�r�rQ�zzr�r�rr�rbrQr�r�	)	r+rM�generic_functionrkr�rQr�rr�)rW�hints_for_generic_function�
func_t_paramss   rY�5test_pep_695_generic_function_with_future_annotationszBGenericTests.test_pep_695_generic_function_with_future_annotations)s���%3�M�4R�4R�%S�"�%�6�6�F�F�
����&�+�+�-�/N�	
�	
�
�
�0��5�}�Q�7G�H����3�C�8�&��q�AQ�:R�S��
�
�0��5�@�@�-�PQ�BR�S��
�
�0��6�A�A�=�QR�CS�Tr[c���|jtttj�j��ttjj��yrS)r�rNr+rM�generic_function_2r�	rkr�s rY�Qtest_pep_695_generic_function_with_future_annotations_name_clash_with_global_varsz^GenericTests.test_pep_695_generic_function_with_future_annotations_name_clash_with_global_vars4s@�������}�?�?�@�G�G�I�J��
�0�0�@�@�A�	
r[c� �ttjj�}tjjjD�cic]}|j
|��}}|j
||d|dtjd��ycc}w)Nr�r�)r�r�r�)	r+rMr:�generic_methodrkr\r�r��NoneType)rW�hints_for_generic_method�param�paramss    rY�3test_pep_695_generic_method_with_future_annotationsz@GenericTests.test_pep_695_generic_method_with_future_annotations:s���#1�-�/�/�2P�2P�#Q� �'���7�7�G�G�
�G��
�N�N�E�!�G�	�
�	
���$���-�f�U�m�u�~�~�N�	
��	
s�
Bc���|jtttjj
�j
��ttjj
j��yrS)r�rNr+rMr:�generic_method_2r�	rkr�s rY�Otest_pep_695_generic_method_with_future_annotations_name_clash_with_global_varsz\GenericTests.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_varsEsH�������}���?�?�@�G�G�I�J��
���0�0�@�@�A�	
r[c�|�tj�}|jt|jj��t|jj��|jt|jj��t|jjj��|jt|jj��t|jj��|jt|jj��j|jj�t��|jt|jj��t|jj��yrS)rM�nestedr�rN�hints_for_Er�	r�rk�hints_for_E_methr�	r��intersection�hints_for_generic_func�generic_func)rW�resultss  rY�@test_pep_695_generics_with_future_annotations_nested_in_functionzMGenericTests.test_pep_695_generics_with_future_annotations_nested_in_functionKs;���&�&�(�������#�#�*�*�,�-���	�	�)�)�*�	
�	
�����(�(�/�/�1�2���	�	�(�(�8�8�9�	
�	
�����(�(�/�/�1�2���	�	�)�)�*�	
�	
�����(�(�/�/�1�2�?�?��	�	�@Y�@Y�Z��E�	
�
	
�����.�.�5�5�7�8���$�$�4�4�5�	
r[c���Gd�dtttf�}Gd�dttdf�}Gd�dtjt�}|j|jttf�|j|ttfjttf�|j|ttfj|�|j|jtf�|jt|t�jd�d	d
�|j|jtf�|j|�tjj�|j!|tjj�|j|�t"�|j!|t"�|j%t&�5t)ttdftj*�ddd�|j%t&�5t)ttdftj,�ddd�y#1swY�OxYw#1swYyxYw)Nc��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T1Nrpr_r[rYrr�	er�r[rc��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T2Nrpr_r[rYrr�	fr�r[r.c��eZdZd�Zy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.C1c��y)NFr_)rW�items  rY�__contains__zMGenericTests.test_extended_generic_rules_subclassing.<locals>.C1.__contains__hs��r[N)r\r]r^r�	r_r[rYr%r�	gr�r[r%�.���zC1[int])rrrrT�	Containerr�r�r�r�r�r�r��splitr�rrzr�r�r}r~r��Sequencer�)rWrrr%s    rY�'test_extended_generic_rules_subclassingz4GenericTests.test_extended_generic_rules_subclassingds���#��q�"�u��#�$��q�#�v��$�	��!�!�!�$�	�	
����*�*�Q��G�4�����C��H��.�.��c�
�;�����C��F��.�.��3�����*�*�Q�D�1�	
����b��g��,�,�S�1�"�5�y�A�����*�*�Q�D�1����b�d�K�O�O�$=�$=�>����b�+�/�/�";�";�<����b�d�E�*����b�%�(�
�
�
�y�
)��u�S�#�X�����8�*�
�
�
�y�
)��u�S�#�X�����8�*�
)�*�
)��
)�
)�s�,(I"�1(I.�"I+�.I7c���|jt�5ttddd�|jt�5tt
ddd�|jt�5tttddd�|jt�5tttddd�y#1swY��xYw#1swY�zxYw#1swY�TxYw#1swYyxYwrS)r}r~rrrrr$r�r�s rY�test_fail_with_bare_unionz&GenericTests.test_fail_with_bare_union�s���
�
�
�y�
)���K�*�
�
�
�y�
)��(�O�*�
�
�
�y�
)��X�c�]�#�*�
�
�
�y�
)���#���*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�B<�C�,C�C �<C�C�C� C)c�~�td�}|jt�5ttddd�|jt�5t
t|ddd�|jt�5ttjddd�y#1swY�mxYw#1swY�KxYw#1swYyxYwr�)rr}r~rr#rrTr'rls  rY�test_fail_with_bare_genericz(GenericTests.test_fail_with_bare_generic�s}���C�L��
�
�
�y�
)���M�*�
�
�
�y�
)��'�!�*��*�
�
�
�y�
)�����!�*�
)�	*�
)��
)�
)��
)�
)�s#�B�B'�:B3�B$�'B0�3B<c���td�}|j�Gd�dt||f�}|j|t�j
|�|j
|t�j|t�Gd�dtj||f�}|j|t�j
|�|j
|t�j|t�Gd�dtjt|f�}|j|t�j
|�|j
|t�j|t�Gd�d	tjt|f�}|j|t�j
|�|j
|t�j|t�y)
Nrc��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyTupNrpr_r[rY�MyTupr�	�r�r[r�	c��eZdZy)�6GenericTests.test_type_erasure_special.<locals>.MyDictNrpr_r[rY�MyDictr�	�r�r[r�	c��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyDefNrpr_r[rY�MyDefr�	�r�r[r�	c��eZdZy)�7GenericTests.test_type_erasure_special.<locals>.MyChainNrpr_r[rY�MyChainr�	�r�r[r�	)
rrZrr�r�r�r�r4rTr �DefaultDictr��ChainMap)rWrr�	r�	r�	r�	s      rY�test_type_erasure_specialz&GenericTests.test_type_erasure_special�s`���C�L������%�E�!�Q�$�K�%��
�
�j�e�C�j�l�,�,�e�4������s���4�4�e�C�j�A�,�V�[�[��A��&�,��
�
�k�f�S�k�m�-�-�v�6���������5�5�v�c�{�C�4�F�&�&�s�A�v�.�4��
�
�j�e�C�j�l�,�,�e�4������s���4�4�e�C�j�A�3�f�o�o�c�1�f�-�3��
�
�l�g�c�l�n�.�.��8���������6�6����Er[c�>�d�tjD�}|D�]}|jt|�d�|j	||�t|dd�rtt
|tj�sZt
|jt�r@t|j�dk(r(|j	|tjtf�t
|t�s��|jD]/}|jt|�d�|j	||��1��y)Nc3�<K�|]}tt|����y�wrS)�getattrrT)r:	�els  rYr;	z4GenericTests.test_all_repr_eq_any.<locals>.<genexpr>�s����=�n�����#�n�s�r�r�rb)rT�__all__r�r�r�r�	rrr�r�rr
r�r�r�)rW�objsrV�bases    rY�test_all_repr_eq_anyz!GenericTests.test_all_repr_eq_any�s���=�f�n�n�=���C�����S�	�2�.����S�#�&���-�t�4�&�s�F�N�N�;�"�3�#5�#5�u�=��C�.�.�/�1�4�� � ��S��!2�!2�S�F�;��#�t�$��K�K�D��'�'��T�
�B�7��$�$�T�4�0�(�r[c
���td�}Gd�dt|�}Gd�d|t�at�}d|_d|_t
tjdz�D]�}tj||�}tj|�}|j|jd�|j|j
d�|j|jddd	����tttt t"ttt$ft"t&ttd
ftdt t$gt(ft*j,t*j.tg}|D]`}t
tjdz�D]?}tj||�}tj|�}|j||��A�bt&t*j0t*j2t&tt*j2t*j4t*j6ttt$fg}	|	D]`}t
tjdz�D]?}tj||�}tj|�}|j||��A�bt9d�at:j<t:j>fD]x}
t
tjdz�D]W}|jA|
|�
�5|jtjtj|
|��|
�ddd��Y�zby#1swY�gxYw)Nrc��eZdZy)�#GenericTests.test_pickle.<locals>.BNrpr_r[rYr�r�	�r�r[r�c��eZdZy)r7Nrpr_r[rYr7r7�r�r[r7r|rzrbr\.r_�PP)rre)!rr#r�r7r`rrfrgrhrfrer�rr
rrr"r$r�rr�rTr�	r`	r�r5r��AbstractSetrEr�	r�r�ri)rWrr�r�rerQr�r!r��more_samplesrs           rYr#zGenericTests.test_pickle�s����C�L��	���
�	�	��#��	�
�C���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�Z�Z��E�)B�C�8���u�h����c��?�H�T�N�E�#�s�(�O�U�2�Y��S�E�5�L�)��%�%�v�'7�'7��'<�>���A��v�6�6��:�;���L�L��E�*���L�L��O��� � ��A�&�<��
�f�o�o�v�{�{�D��I����F�N�N�3�V�5G�5G��c�SV�h��5X�Z���A��v�6�6��:�;���L�L��E�*���L�L��O��� � ��A�&�<���t�_���g�g�r�y�y�)�E��v�6�6��:�;���\�\��U�\�;��$�$����V�\�\�%��%?�@���<�;�<�*�
�<�;�s�:M�M!c� �td�}Gd�dt|�}t|tft|tftdt
d|ft
tgtftttf|||t|ttj|tjttjttjttftj|tftttt|tdtdtftdtjdtfg}|tgzD]8}|j|t|��|j|t!|���:y)Nrc��eZdZy)�1GenericTests.test_copy_and_deepcopy.<locals>.NodeNrpr_r[rYrD	r�	�r�r[rD	r_.)rr)rr#rr�rr"r
rTr�r r�r$rr�r�rr)rWrrD	�thingsrss     rY�test_copy_and_deepcopyz#GenericTests.test_copy_and_deepcopy�s#���C�L��#�7�1�:�#���3��-��q�#�v���b�	��3��6�"�H�c�U�C�Z�$8���S��/�4��7�D��I�t�C�y�&�/�/�RS�BT��/�/�#�&�����(<�f�k�k�#�s�(�>S��+�+�a��f�%�x��}�h�t�A�w�6G��x����S��/�4��9�f�n�n�S�#�X�.F�H���3�%��A����Q��Q��(����Q����,� r[c���td�atdt��atdtt
�atd�attttttjttjttt t"fD]�}|j%|��5|j't)|�|�|j't+|�|�t-t.j0dz�D];}|j't/j2t/j4||��|��=	ddd���bbbbtd�}td	t��}td
tt
�}td�}||||fD]S}|j%|��5|j't)|�|�|j't+|�|�ddd��Uy#1swY��XxYw#1swY�mxYw)Nr��TPBru�TPVr�	)rrb�TL�TLB�TLV�PL)rr�r�r�	r�r�r�	rEr�	rrTr�r$r�rr
rr"rir�rrrfrgrhrerf)rWr�rer�	r�	r�	r�	s       rY�$test_immutability_by_copy_and_picklez1GenericTests.test_immutability_by_copy_and_pickle�sp���T�]���e�3�'���e�U�C�(��
�t�_���c�3�������&�/�/���e�X�/�A����A��&��
�
�d�1�g�q�)��
�
�h�q�k�1�-�"�6�#:�#:�Q�#>�?�E��M�M�&�,�,�v�|�|�A�u�/E�"F��J�@�'�&�/�
��S�"��T�]���e�3�'���e�U�C�(��
�t�_���c�3��#�A����A��&��
�
�d�1�g�q�)��
�
�h�q�k�1�-�'�&�$�'�&��'�&�s�$BG�7G*�G'	�*G3	c���td��G�fd�dt��}|d�}|jt|�jd�|jt|�jd�|j
t|�|�|j
t|�|�d|_|jt|�jd�|jt|�jd�|td�}|jt|�jd�|jt|�jd�|j
t|�|�|j
t|�|�d|_|jt|�jd�|jt|�jd�|j|j|t�y)Nrc� ��eZdZdW�ddfd�Zy)�3GenericTests.test_copy_generic_instances.<locals>.Cr�r�Nc��||_yrSr�rs  rYr�z<GenericTests.test_copy_generic_instances.<locals>.C.__init__r�r[r�rts�rYr7r�	s���
!�Q�
!�4�
!r[r7r|rb)	rr#r�rr�r�assertIsNotr�r4)rWr7r��cirs    @rY�test_copy_generic_instancesz(GenericTests.test_copy_generic_instances
sv����C�L��	!���
�	!�
�b�E������a����r�*�����!��)�)�2�.�����a��!�$�����!��a�(��������a����q�)�����!��)�)�1�-�
�Q�s�V�B�Z������b�����+�����"��*�*�B�/�����b��2�&�����"��r�*��������b�����*�����"��*�*�A�.�����*�*�A�c�F�3r[c	��td�}tt|tftd|ft
ttfttttjttftjttjdg}|D],}|jtj |��|��.y)Nr.�whatever)rr
rr�r"rrrrTr�r�r?r�r�r�r�r)rWrr�	rss    rY�test_weakref_allzGenericTests.test_weakref_all%s����C�L���u�Q��V�}�h�s�A�v�&6��c�3�h���4��9�%�v�~�~�c�3�h�'?��,�,�u�%�v���z�'B�D���A����^�W�[�[��^�-�q�1�r[c�$�td�}Gd�dt|�}|�}|t�}d|_d|_|j	t
�5d|_ddd�|j	t
�5d|_ddd�d|dfd�}|jt|t�t��d||�|jt|t�t|t��y#1swY��xYw#1swY��xYw)Nrc��eZdZdZy)�0GenericTests.test_parameterized_slots.<locals>.C)�potatoNr�r_r[rYr7r�	/s��#�Ir[r7rr�c��yrSr_r�s rYr`z2GenericTests.test_parameterized_slots.<locals>.foo<r�r[)
rr#r�r�	r}r�tomator�r+rrrr)rWrr7r��c_intr`s      rY�test_parameterized_slotsz%GenericTests.test_parameterized_slots-s����C�L��	$���
�	$�
�C����#����������
�
�
�~�
.��A�H�/�
�
�
�~�
.��E�L�/�	 �1�S�6�������W�Y���A�#�F��!��M�����a��f��x��#��'7�8�/�
.��
.�
.�s�C:�;D�:D�Dc�H�td�}Gd�dt|�}|�}|t�}d|_d|_|j	t
�5d|_ddd�|j	t
�5d|_ddd�y#1swY�/xYw#1swYyxYw)Nrc��eZdZddiZy)�5GenericTests.test_parameterized_slots_dict.<locals>.D�bananar|Nr�r_r[rYr:r
Bs��!�2��Ir[r:�yesr�)rr#r�r
r}rro	)rWrr:r��d_ints     rY�test_parameterized_slots_dictz*GenericTests.test_parameterized_slots_dict@s����C�L��	'���
�	'�
�C����#����������
�
�
�~�
.��A�H�/�
�
�
�~�
.��E�L�/�
.�/�
.��
.�
.�s�B�;B�B�B!c��|jt�5tttf}Gd�dt
|�}ddd�y#1swYyxYw)Nc��eZdZy)�#GenericTests.test_errors.<locals>.CNrpr_r[rYr7r
Sr�r[r7)r}r~r�r�r
r#)rWr�r7s   rYr�zGenericTests.test_errorsOs:��
�
�
�y�
)��b�#�g�&�A�
�G�A�J�
�*�
)�
)�s�&A�Ac���Gd�dtt�}|j|jt�|j|j
d�|t}|j|jt�|jt|�jd�dd�Gd�d|t�}|j|jt�|j|j
d	�y)
Nc��eZdZy)�#GenericTests.test_repr_2.<locals>.CNrpr_r[rYr7r
Wr�r[r7r
r�	r�	zC[int]c��eZdZy)�#GenericTests.test_repr_2.<locals>.YNrpr_r[rYr�r
ar�r[r�r
)	r#rr�r]r\r^r�r�r�	)rWr7r�r�s    rY�test_repr_2zGenericTests.test_repr_2Vs���	���
�	�	
������x�0�������>�	@�
�c�F��������x�0�����a����s�+�B�/��:�	��#��	�	
������x�0�������>�	@r[c�d�td�}td�}td�}td�}td�}Gd�dt||f�}Gd�d	t|||f�}Gd
�dtg|�|���}|||fd|t||f|fd
|gt
fd|tgt
fd|ttgt
fd|tttgt
fd|tg|�|��|fd||||fd|tgtgt
fd|ttgttgt
fd|g|�|��d|ttttgfd|ttttgfd|tg|�|��tfttt
tgfdi}	|	j�D]s\}
}|j|
|��5|jt|
�dtj|j ��dtj|��d��ddd��uy#1swY��xYw)Nrrr�r7r�c��eZdZy)�,GenericTests.test_repr_3.<locals>.MyCallableNrpr_r[rY�
MyCallabler
or�r[r
c��eZdZy)�,GenericTests.test_repr_3.<locals>.DoubleSpecNrpr_r[rY�
DoubleSpecr
rr�r[r
c��eZdZy)�%GenericTests.test_repr_3.<locals>.TsPNrpr_r[rY�TsPr
ur�r[r
zMyCallable[~P, ~T]z+MyCallable[typing.Concatenate[~T1, ~P], ~T]zMyCallable[[], bool]zMyCallable[[int], bool]zMyCallable[[int, str], bool]z"MyCallable[[int, list[int]], bool]z9MyCallable[typing.Concatenate[typing.Unpack[Ts], ~P], ~T]zDoubleSpec[~P2, ~P, ~T]zDoubleSpec[[int], [str], bool]z(DoubleSpec[[int, int], [str, str], bool]zTsP[typing.Unpack[Ts], ~P]zTsP[int, str, list[int], []]zTsP[int, [str, list[int]]]z(MyCallable[[int, str, bool, float], int])rV�
expected_repr�^z.*\.�$)rrErr#rFrr�r�r�rpr�ri�assertRegexr�r�r�r])rWrrr�r7r�r
r
r
�object_to_expected_reprrVr
s            rY�test_repr_3zGenericTests.test_repr_3hs?���C�L��
�T�]���c�N��
�t�_��
�$�
��	���A���	�	���B���*�	�	�'�&�2�&�q�&�/�	�
�q�!�t��6J��{�2�q�5�)�1�,�-�6c��r�4�x� �6L���u�d�{�#�6O���S�z�4�'�(�6T���T�#�Y�'��-�.�6Z��{�6�B�6��6�*�A�-�.�6q��r�1�a�x� �6O���u�s�e�T�)�*�6V���S�z�C��:�t�3�4�6`�����Q��K�6R���S�$�s�)�R�'�(�6T���c�4��9�%�%�&�6R�
�{�6�B�6��6�*�C�/�0��c�D�%�=�1H�I�6`�'#
��,#:�"?�"?�"A��C�����#�]��C�� � ���I�����:�#8�#8�9�:�$�r�y�y��?W�>X�XY�Z��D�C�#B�C�C�s
�AH&�&H/	c���|jtt�|jtttt�|jtttt
�yrS)r�r#rr�rrr�s rY�	test_eq_1zGenericTests.test_eq_1�sB������'�*�������W�Q�Z�0����G�B�K����5r[c�$�Gd�dtt�}Gd�dtt�}|j||�|j||�|j|t|t�|j|t|t�y)Nc��eZdZy)�!GenericTests.test_eq_2.<locals>.ANrpr_r[rYr�r&
�r�r[r�c��eZdZy)�!GenericTests.test_eq_2.<locals>.BNrpr_r[rYr�r(
�r�r[r�)r#rr�r�r�s   rY�	test_eq_2zGenericTests.test_eq_2�st��	���
�	�	���
�	�	
����A�����A�q�!�����1��q��t�$����A�a�D�!�A�$�'r[c	�D�Gd�dtttf�}Gd�dtttf�}Gd�d|ttfttttf|ttf�}|j	|j
tttf�y)Nc��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.ANrpr_r[rYr�r,
�r�r[r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.BNrpr_r[rYr�r.
�r�r[r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.CNrpr_r[rYr7r0
�r�r[r7)r#rrrr�r�)rWr�r�r7s    rY�test_multiple_inheritancez&GenericTests.test_multiple_inheritance�ss��	���2���	�	���A���	�	��!�R�%��'�"�a��)�,�a��A��h�	�	
����)�)�B��2�;�7r[c���td�}Gd�dt|�}Gd�dtt|�}|j	|j
|t|ttf�y)Nr�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.BNrpr_r[rYr�r4
�r�r[r�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.CNrpr_r[rYr7r6
�r�r[r7)rr#rr�r�r�r�r�)rWr�r�r7s    rY�!test_multiple_inheritance_specialz.GenericTests.test_multiple_inheritance_special�sD���C�L�� ���
� �"��S�	�1�"�������Q��a��&�$A�Br[c�@���Gd�dt��G��fd�d��Gd�dtt��}|j��5Gd�d|�}ddd�|j��5Gd	�d
|t�}ddd�y#1swY�6xYw#1swYyxYw)Nc��eZdZy)�DGenericTests.test_init_subclass_super_called.<locals>.FinalExceptionNrpr_r[rY�FinalExceptionr:
�r�r[r;
c�&���eZdZd���fd�Z�xZS)�;GenericTests.test_init_subclass_super_called.<locals>.Finalc�x��|jD]}|�us�t|��s��|��t�|�di|��yr�)r0	r�r�r�)r�r�r�	r%r;
r�s   ���rYr�zMGenericTests.test_init_subclass_super_called.<locals>.Final.__init_subclass__�s?����M�M�D��5�(�Z��e�-D�,�T�2�2�*���)�3�F�3r[rr�)r�r%r;
s@��rYr%r=
�s
���
4�
4r[r%c��eZdZy)�:GenericTests.test_init_subclass_super_called.<locals>.TestNrpr_r[rYr�r@
�r�r[r�c��eZdZy)�>GenericTests.test_init_subclass_super_called.<locals>.SubclassNrpr_r[rY�SubclassrB
�r�r[rC
c��eZdZy)�?GenericTests.test_init_subclass_super_called.<locals>.Subclass2Nrpr_r[rY�	Subclass2rE
�r�r[rF
)r�r#rr}r�)rWr�rC
rF
r%r;
s    @@rY�test_init_subclass_super_calledz,GenericTests.test_init_subclass_super_called�s����	�Y�	�	4�	4�	�7�1�:�u�	�
�
�
�~�
.�
�4�
�/��
�
�~�
.�
�D��I�
�/�
.�/�
.��/�
.�s�B�,B�B�Bc�6�t}Gd�d|t�}|tjt}Gd�d|�}|�}|jg�|j
d�|j
d�|j|j�ddg�y)Nc�.�eZdZdZdefd�Zd�Zdefd�Zy)�)GenericTests.test_nested.<locals>.VisitorNrc��||_yrSr
�rWrs  rYrNz-GenericTests.test_nested.<locals>.Visitor.set�r�r[c��|jSrSr
r�s rYr�z-GenericTests.test_nested.<locals>.Visitor.get�����v�v�
r[r�c��|jSrSr
r�s rY�visitz/GenericTests.test_nested.<locals>.Visitor.visit�rN
r[)r\r]r^rrrNr�rP
r_r[rY�VisitorrJ
�s$���A�
�Q�
�
�
�q�
r[rQ
c��eZdZdefd�Zy)�0GenericTests.test_nested.<locals>.IntListVisitorr�c�:�|jj|�yrS)rr�r�s  rYr�z7GenericTests.test_nested.<locals>.IntListVisitor.append�s�����
�
�a� r[N)r\r]r^r�r�r_r[rY�IntListVisitorrS
�s��
!��
!r[rU
rbr|)	r#rrTrr�rNr�r�r�)rWr�rQ
r�rU
rs      rY�test_nestedzGenericTests.test_nested�s}����	�a��d�	�
�F�K�K��$�%��	!�Q�	!�

���	���b�	�	�����	������������1�b�'�*r[c�l����td��G�fd�dt���d�f���fd�}|d�y)Nrc�*��eZdZ		ddW�ddddfd�Zy)�,GenericTests.test_type_erasure.<locals>.NodeNr��left�Node[T]�rightc�.�||_||_||_yrS�r�rZ
r\
)rWr�rZ
r\
s    rYr�z5GenericTests.test_type_erasure.<locals>.Node.__init__�s��#��
� ��	�"��
r[�NNr�rts�rYrD	rY
�s%���+/�,0�
#�a�
#�(�
#� )�
#r[rD	r�c����|�}��|�}�t|�}�jt|����jt|����jt|����j|j|��j|j|��j|j|�yrS)r
r�r�r�r�)r�rr�r�rD	rrWs    ���rYr`z+GenericTests.test_type_erasure.<locals>.foo�s�����Q��A���Q���
�A���S�	�!��A��M�M�$�q�'�4�(��M�M�$�q�'�4�(��M�M�$�q�'�4�(����Q�W�W�a�(����Q�W�W�a�(����Q�W�W�a�(r[r|�rr#)rWr`rD	rs` @@rYr5zGenericTests.test_type_erasure�s1����C�L��	#�7�1�:�	#�		)�1�		)�	�B�r[c��td�}Gd�dt|�}Gd�d|�}|j|jd�|j	t
�5|tddd�|j	t
�5|tddd�|j	t
�5||ddd�y#1swY�TxYw#1swY�9xYw#1swYyxYw)Nrc��eZdZy)�)GenericTests.test_implicit_any.<locals>.CNrpr_r[rYr7rd
r�r[r7c��eZdZy)�)GenericTests.test_implicit_any.<locals>.DNrpr_r[rYr:rf
	r�r[r:r_)rr#r�r�r}r~r�r
r		s    rY�test_implicit_anyzGenericTests.test_implicit_anys����C�L��	���
�	�	��	�	
����)�)�2�.�
�
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�a�D�*�
)�	*�
)��
)�
)��
)�
)�s$�
B7�
C�(C�7C�C�Cc��Gd�dtt�}Gd�d�}Gd�d||�}|d�}|j|jd�y)Nc��eZdZy)�*GenericTests.test_new_with_args.<locals>.ANrpr_r[rYr�rj
r�r[r�c���eZdZ�fd�Z�xZS)�*GenericTests.test_new_with_args.<locals>.Bc�4��t�|�|�}||_|SrS)r�r�r��r�r�rVr�s   �rYr�z2GenericTests.test_new_with_args.<locals>.B.__new__s����g�o�c�*������
r[r�r�s@rYr�rl
�
���
�
r[r�c��eZdZy)�*GenericTests.test_new_with_args.<locals>.CNrpr_r[rYr7rq
"r�r[r7r`)r#rr�r��rWr�r�r7r�s     rY�test_new_with_argszGenericTests.test_new_with_argssI��	���
�	�	�	�	��1�	�
�e�H���������&r[c���Gd�d�}Gd�dtt|�}|d�}|j|jd�|j|jd�y)Nc���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Ac�0��||_t�|�	�yrS)�from_ar�r��rWr�r�s  �rYr�z4GenericTests.test_new_with_args2.<locals>.A.__init__+s���!����� �"r[r�r�s@rYr�rv
*s
���
#�
#r[r�c���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Cc�2��||_t�|�	|�yrS)�from_cr�r�ry
s  �rYr�z4GenericTests.test_new_with_args2.<locals>.C.__init__2s���!����� ��%r[r�r�s@rYr7r{
1s
���
&�
&r[r7r`)r#rr�rx
r}
)rWr�r7r�s    rY�test_new_with_args2z GenericTests.test_new_with_args2(sQ��	#�	#�	&���
�A�	&�
�e�H��������5�)�������5�)r[c�x�Gd�dtt�}|jt�5|d�ddd�Gd�d�}Gd�d||�}|d�}|j	|j
d�|j	|jd�|j	|jd	�y#1swY�|xYw)
Nc��eZdZy)�(GenericTests.test_new_no_args.<locals>.ANrpr_r[rYr�r�
=r�r[r�r`c���eZdZ�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Bc�4��t�|�|�}d|_|S)Nr�)r�r��from_b)r�rVr�s  �rYr�z0GenericTests.test_new_no_args.<locals>.B.__new__D�����g�o�c�*�� ��
��
r[r�r�s@rYr�r�
Cro
r[r�c�$��eZdZd�Z�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Cc��||_yrSr�r�s  rYr�z1GenericTests.test_new_no_args.<locals>.C.__init__Ls	����r[c�4��t�|�|�}d|_|S)Nr�)r�r�r}
rn
s   �rYr�z0GenericTests.test_new_no_args.<locals>.C.__new__Or�
r[)r\r]r^r�r�r�r�s@rYr7r�
Ks���
�
�
r[r7r�r�)r#rr}r~r�r�r�
r}
rr
s     rY�test_new_no_argszGenericTests.test_new_no_args;s���	���
�	��
�
�y�
)�
�e�H�*�	�	�	��1�	�
�e�H���������&�������3�'�������3�'�1*�
)�s�	B0�0B9c
���tttttttft
ttdtttd�fttfD]a}|j|��5|jtdtjd|����d��5Gd�d|�}ddd�ddd��cy#1swY�xYw#1swY�zxYw)	Nr�r�)�msgr
r�r
c��eZdZy)�4GenericTests.test_subclass_special_form.<locals>.FooNrpr_r[rYr�r�
h���r[r�)r$r�r%rrprrrFrErIrir�r~r�r�)rWrVr�s   rY�test_subclass_special_formz'GenericTests.test_subclass_special_formZs����S�M��#�J��#�u�*���S�M��D�M���Y�s�^�+�,��c�N�
�C����#��&��+�+�!�Q�r�y�y�3C�C�7�1K�'L�&M�Q�#O���c���'�&�
����'�&�s$�91C�*C	�6C�	C�C�C	c�~�tdd��}Gd�dt|�}td�}Gd�d|t|�}y)	NrxTryc��eZdZy)�2GenericTests.test_complex_subclasses.<locals>.BaseNrpr_r[rYre	r�
nrZ	r[re	rc��eZdZy)�1GenericTests.test_complex_subclasses.<locals>.SubNrpr_r[rYr�r�
trZ	r[r�ra
)rWrxre	rr�s     rY�test_complex_subclassesz$GenericTests.test_complex_subclassesks;���v��.��	�7�4�=�	�
�C�L��	�$���
�	r[c	���|jttjtf�|jtttjtf�Gd�d�}ttfD]�}|t
ttttjtjfD]I}|j||��5|jtd�5||tddd�ddd��K��|jt|�jtf�|jt|�jtf�y#1swY�pxYw#1swY��xYw)Nc��eZdZefZy)�0GenericTests.test_parameter_detection.<locals>.AN)r\r]r^rr�r_r[rYr�r�
zs	���T�Nr[r�)r�subz.* is not a generic class)r�rrr�r�r�rrrEr�r�	UnionTyperir�r~r�)rWr�rr�s    rY�test_parameter_detectionz%GenericTests.test_parameter_detectionws
������a��/�/�!��6�����d�1�g��5�5��t�<�	"�	"����A���g�|�Y��@R�@R�TY�Tc�Tc�d���\�\�!��\�3��/�/�	�;V�W��!��S�	�X�4�3�e��	
����a�c��1�1�A�4�8�����a�c��1�1�A�4�8�
X�W��4�3�s$�E#�
E	�(E#�E 
�E#�#E,c
���td��Gd�dt��}G�fd�d�}t||tttt
ttjtjf
D�]l}ttfD]�}|j||��5|j||�ft||tf�|j|�|ft|t|f�||}|jt�5|tddd�ddd���t t"j$j fD]�}|j||��5|j||g�ft||gtf�|j|�g|ft|tg|f�||g|f}|jt�5|tddd�ddd�����oy#1swY��xYw#1swY��wxYw#1swY�0xYw#1swY��xYw)Nrc��eZdZy)�2GenericTests.test_non_generic_subscript.<locals>.GNrpr_r[rYr�r�
�r�r[r�c���eZdZW�fZy)�2GenericTests.test_non_generic_subscript.<locals>.AN)r\r]r^r�rts�rYr�r�
�s
����T�Nr[r�)r�r�
)�callabler�
)rr#r�rr�rrEr�rr�
rr�rir�r}r~r"rrz)rWr�r�r�rsrr�rs       @rY�test_non_generic_subscriptz'GenericTests.test_non_generic_subscript�s�����C�L��	���
�	�	"�	"��q�!�T�4��<���$�$�e�o�o�7�A��E�\���\�\��q�\�1��$�$�Q�q�!�t�W�S�\�1�Q��V�9�=��$�$�Q�q�!�t�W�S�\�1�S�!�V�9�=��!��A��*�*�9�5��#��6�	2�1�"��{���7�7�7���\�\�1�!�\�4��$�$�Q��s�A�v�Y�s�^�Q��s�C�x�[�A��$�$�Q��s�A�v�Y�s�^�Q��u�a�x�[�A��1�#�q�&�	�A��*�*�9�5��#��6�	5�4�8�7�6�5��	2�1��6�5��	5�4�sJ�A)G(�:
G	�G(�A0H�<
G5	�H�G%
�!G(�(G2�5G>
�:H�H
N)Br\r]r^r.r�r�r�r�r�r�r�r�r�r	r
	r	r	r(	r1	r6	rJ	rP	rV	ra	ri	rk	r|	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r#r�	r�	r�	r�	r
r
r�r
r!
r#
r)
r1
r7
rG
rV
r5rg
rs
r~
r�
r�
r�
r�
r�
r_r[rYr�r�esP��E�&�2�%�(B�+�0	>�

��5�";�5�6�2�
)�&S�C�
"?�H?�"I�(C�TP� 	4�M�4%
�N
C�H�
�	U�
�	
�
�
�29�: �"�F�"
1�.�`-�.�84�02�9�&
 ��@�$+�Z6�
(�8�C��&+�<�0�$'�&*�&(�>�"
�9�"r[r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
ClassVarTestsc��|jt�5tttfddd�|jt�5tttddd�y#1swY�<xYw#1swYyxYwrS)r}r~r$r�r�r�s rYr.zClassVarTests.test_basics�sS��
�
�
�y�
)��S�#�X��*�
�
�
�y�
)��S�M�#��*�
)�*�
)��
)�
)�s�A%�A1�%A.�1A:c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�y)Nztyping.ClassVar�typing.ClassVar[int]ztyping.ClassVar[%s.Employee])r�r�r$r�ror\�rW�cvs  rYr�zClassVarTests.test_repr�sY������h��):�;�
�c�]������b��#9�:�
�h�
������b��#A�H�#L�Mr[c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r�
�r�r[r7c��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r�
�r�r[r:z Cannot subclass typing\.ClassVarc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r�
�r�r[r�z'Cannot subclass typing\.ClassVar\[int\]c��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�r�
�r�r[r�)r�r~r�r�r$r��rWr7r:r�r�s     rYr�z"ClassVarTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��N�
�E��
#�
#�I�/C�
D�
�D��#��'�
�E��
#�
#�I�$G�I�
�H�
�I��
#�
#�I�$N�P�
�H�S�M�
�P�P�E�
D��E�
D��I�I��P�P��/�C"� C.�C:�D�"C+�.C7�:D�Dc��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrS)r}r~r$r�rr�r�s rYr>zClassVarTests.test_cannot_init��|��
�
�
�y�
)��J�*�
�
�
�y�
)��D��N��*�
�
�
�y�
)�)�D��(�3�-�(�)�+�*�
)�	*�
)��
)�
)��
)�
)��"�B�B(�0#B4�B%�(B1�4B=c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr@)r}r~rr$r�r�r�s rYrAz ClassVarTests.test_no_isinstance��S��
�
�
�y�
)��q�(�3�-�(�*�
�
�
�y�
)��s�H�%�*�
)�*�
)��
)�
)���A)�A5�)A2�5A>N�r\r]r^r.r�r�r>rAr_r[rYr�
r�
�s���N�� ,�&r[r�
c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
FinalTestsc��tt|jt�5tttfddd�|jt�5tttddd�|jt�5t
ttddd�y#1swY�nxYw#1swY�HxYw#1swYyxYwrS)r%r�r}r~r�rr�s rYr.zFinalTests.test_basics�s~��
�c�
�
�
�
�y�
)��#�s�(�O�*�
�
�
�y�
)��#�J�s�O�*�
�
�
�y�
)��U�3�Z� �*�
)�	*�
)��
)�
)��
)�
)�s#�B$�B0�B<�$B-�0B9�<Cc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.Finalztyping.Final[int]ztyping.Final[%s.Employee]ztyping.Final[tuple[int]])r�r�r%r�ror\r�r�
s  rYr�zFinalTests.test_repr�sz������e��n�5�
�3�Z������b��#6�7�
�8�_������b��#>��#I�J�
�5��:�
������b��#=�>r[c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r�
�r�r[r7c��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r�
�r�r[r:zCannot subclass typing\.Finalc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r�
�r�r[r�z$Cannot subclass typing\.Final\[int\]c��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�r�
�r�r[r�)r�r~r�r�r%r�r�
s     rYr�zFinalTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��K�
�E��
#�
#�I�/C�
D�
�D��s��$�
�E��
#�
#�I�0�2�
�E�
�2��
#�
#�I�7�9�
�E�#�J�
�9�9�E�
D��E�
D��2�2��9�9�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrS)r}r~r%r�rr�r�s rYr>zFinalTests.test_cannot_init�s{��
�
�
�y�
)��G�*�
�
�
�y�
)��D��K�M�*�
�
�
�y�
)�&�D��x��}�%�&�(�*�
)�	*�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr@)r}r~rr%r�r�r�s rYrAzFinalTests.test_no_isinstance�sS��
�
�
�y�
)��q�%��*�%�*�
�
�
�y�
)��s�E�"�*�
)�*�
)��
)�
)�r�
Nr�
r_r[rYr�
r�
�s��!�?�� )�#r[r�
c��eZdZd�Zd�Zy)�FinalDecoratorTestsc�@�d�}|j|t|��y)Nc��yrSr_r�s rY�funcz7FinalDecoratorTests.test_final_unmodified.<locals>.funcr�r[)r�r&�rWr�
s  rY�test_final_unmodifiedz)FinalDecoratorTests.test_final_unmodifieds����
�
�d�E�$�K�(r[c��td��}tGd�d��}|jd|j�|jd|j�Gd�d�}t|d���}|j||�|jdt	|d	��Gd
�dt
�}tGd�d
|���}|j
|jd�tt�|jdt	td	��Gd�d�}|jdtj|d�j�|jdtj|d�j�|jd|jjj�|jd|jj�y)Nc��yrSr_r_r[rYr�
z3FinalDecoratorTests.test_dunder_final.<locals>.func
���r[c��eZdZy)�2FinalDecoratorTests.test_dunder_final.<locals>.ClsNrpr_r[rY�Clsr�
s��r[r�
Tc��eZdZdZd�Zd�Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Wrapper�r�
c��||_yrSr�
r�
s  rYr�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__init__r�r[c�&�|j|i|��SrSr�
r�s   rYr1z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__call__s�� �t�y�y�$�1�&�1�1r[N)r\r]r^r�r�r1r_r[rY�Wrapperr�
s��!�I�
!�
2r[r�
c��yrSr_r_r[rY�wrappedz6FinalDecoratorTests.test_dunder_final.<locals>.wrappeds��r[F�	__final__c��eZdZed��Zy)�3FinalDecoratorTests.test_dunder_final.<locals>.Metac��y)N�can't set mer_r�s rYr�
z=FinalDecoratorTests.test_dunder_final.<locals>.Meta.__final__!s��(6r[N)r\r]r^rQr�
r_r[rYrT	r�
 s��
�6��6r[rT	c��eZdZy)�7FinalDecoratorTests.test_dunder_final.<locals>.WithMetaNrpr_r[rY�WithMetar�
#s��(+r[r�
r�r�
c�~�eZdZeed���Zeed���Zeed���Z	ee
�d���Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Methodsc��yrSr_r�s rY�	clsmethodz@FinalDecoratorTests.test_dunder_final.<locals>.Methods.clsmethod.s�� #r[c��yrSr_r_r[rY�stmethodz?FinalDecoratorTests.test_dunder_final.<locals>.Methods.stmethod2���r[c��yrSr_r�s rY�propz;FinalDecoratorTests.test_dunder_final.<locals>.Methods.prop8r�
r[c��yrSr_r�s rY�cachedz=FinalDecoratorTests.test_dunder_final.<locals>.Methods.cached<s��!r[N)r\r]r^r&rer�
�staticmethodr�
rQr�
rr�
r_r[rY�Methodsr�
-s^��
�
�#���#�
�
������
�����
�
�[�!���!r[r�
r�
r�
)
r&r�r�
r�rlr�r�r��inspect�getattr_staticr�
�fgetr�
)rWr�
r�
r�
r�
rT	r�
r�
s        rY�test_dunder_finalz%FinalDecoratorTests.test_dunder_final	sp��	��
��	���
���
�
�d�D�N�N�+��
�
�d�C�M�M�*�	2�	2�
�	��
�
�����g�w�/��
�
�e�W�W�k�:�;�	7�4�	7�
�+��+�
�+�����+�+�^�<�	�c�
��
�
�e�W�S�+�6�7�	"�	"�*	
�
�
���"�"�7�K�8�B�B�	
�	
�
�
���"�"�7�J�7�A�A�	
�	
�
�
�d�G�L�L�-�-�7�7�8��
�
�d�G�N�N�4�4�5r[N)r\r]r^r�
r�
r_r[rYr�
r�
s
��)�B6r[r�
c�$�eZdZd�Zd�Zd�Zd�Zy)�OverrideDecoratorTestsc���Gd�d�}Gd�d|�}|j||�|�}|j|j�d�|jd|jj�|jd|jj�|j|j�d�|jd|j
j�|j|j
�d�|jdt|jd��|j|j�d�|jd|jj�|j|j�d�|jdt|jd��|jdt|jd��|jdt|j
d��|jdt|jd��|jdt|jd��|jdt|jd��y)	Nc�R�eZdZd�Zed��Zed��Zed��Zed��Z	y)�2OverrideDecoratorTests.test_override.<locals>.Basec��yrSr_r�s rY�
normal_methodz@OverrideDecoratorTests.test_override.<locals>.Base.normal_methodQr$r[c��yrSr_r�s rY�class_method_good_orderzJOverrideDecoratorTests.test_override.<locals>.Base.class_method_good_orderRs��.1r[c��yrSr_r�s rY�class_method_bad_orderzIOverrideDecoratorTests.test_override.<locals>.Base.class_method_bad_orderTs��-0r[c��yrSr_r_r[rY�static_method_good_orderzKOverrideDecoratorTests.test_override.<locals>.Base.static_method_good_orderVs��,/r[c��yrSr_r_r[rY�static_method_bad_orderzJOverrideDecoratorTests.test_override.<locals>.Base.static_method_bad_orderXs��+.r[N)
r\r]r^rrerrr�
rr	r_r[rYre	r�
Ps=��(�
�1��1�
�0��0�
�/��/�
�.��.r[re	c��eZdZed��Zeed���Zeed���Zeed���Z	eed���Z
y)�5OverrideDecoratorTests.test_override.<locals>.Derivedc��yr{r_r�s rYrzCOverrideDecoratorTests.test_override.<locals>.Derived.normal_method\rOr[c��yr{r_r�s rYrzMOverrideDecoratorTests.test_override.<locals>.Derived.class_method_good_order`���r[c��yr{r_r�s rYrzLOverrideDecoratorTests.test_override.<locals>.Derived.class_method_bad_orderdrr[c��yr{r_r_r[rYrzNOverrideDecoratorTests.test_override.<locals>.Derived.static_method_good_orderirr[c��yr{r_r_r[rYr	zMOverrideDecoratorTests.test_override.<locals>.Derived.static_method_bad_ordermrr[N)r\r]r^r.rrerrr�
rr	r_r[rYrh	r[s���
�
��
��
�
���
�
�
�
���
��
�
���
�
�
�
���
r[rh	r|TF�__override__)
r�r�rr�rrrrlrr	)rWre	rh	r�s    rY�
test_overridez$OverrideDecoratorTests.test_overrideOs���		/�		/�	�d�	�.	
���g�t�,��9������/�/�1�2�6��
�
�d�G�1�1�>�>�?��
�
�d�H�2�2�?�?�@�����8�8�:�B�?��
�
�d�G�;�;�H�H�I�����7�7�9�2�>��
�
�e�W�W�%C�%C�^�T�U�����9�9�;�R�@��
�
�d�G�<�<�I�I�J�����8�8�:�B�?��
�
�e�W�W�%D�%D�n�U�V�	
�
�
�e�W�T�%7�%7��H�I��
�
�e�W�T�%A�%A�>�R�S��
�
�e�W�T�%@�%@�.�Q�R��
�
�e�W�T�%B�%B�N�S�T��
�
�e�W�T�%A�%A�>�R�Sr[c��Gd�d�}Gd�d|�}|�}|j|jd�|j|jjj�|j|j
d�|j
t|j
d��|j
t|j
jd��y)Nc�8�eZdZedefd��Zedefd��Zy)�2OverrideDecoratorTests.test_property.<locals>.Baser�c��yr@r_r�s rY�correctz:OverrideDecoratorTests.test_property.<locals>.Base.correct����r[c��yr@r_r�s rY�wrongz8OverrideDecoratorTests.test_property.<locals>.Base.wrong�rr[N)r\r]r^rQr�rrr_r[rYre	r�s4��
�
��
��
�
�
�s�
��
r[re	c�L�eZdZeedefd���Zeedefd���Zy)�3OverrideDecoratorTests.test_property.<locals>.Childr�c��y�Nr�r_r�s rYrz;OverrideDecoratorTests.test_property.<locals>.Child.correct����r[c��yrr_r�s rYrz9OverrideDecoratorTests.test_property.<locals>.Child.wrong�r r[N)r\r]r^rQr.r�rrr_r[rY�Childr�sD��
�
�
��
���
�
�
�
�s�
���
r[r"r�r)	r�rr�r�
rrr�rl�fset)rWre	r"r�s    rY�
test_propertyz$OverrideDecoratorTests.test_property�s���	�	�	�D�	��7������)�)�1�-�����
�
�*�*�7�7�8��������+��������n�=�>��������!1�!1�>�B�Cr[c���Gd�d��G�fd�d�}|j|jd�|jt|jd��y)Nc��eZdZdZd�Zdd�Zy)�>OverrideDecoratorTests.test_silent_failure.<locals>.CustomProp�r�
c��||_yrSr()rWr�
s  rYr�zGOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__init__�r�r[Nc�$�|j|�SrSr(rUs   rYrXzFOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__get__�s���y�y��~�%r[rS)r\r]r^r�r�rXr_r[rY�
CustomPropr'�s��!�I�
!�
&r[r+c�*��eZdZeW�d���Zy)�@OverrideDecoratorTests.test_silent_failure.<locals>.WithOverridec��yr@r_r�s rYr�zEOverrideDecoratorTests.test_silent_failure.<locals>.WithOverride.some�r r[N)r\r]r^r.r�)r+s�rY�WithOverrider-�s���
�
�
���
r[r/rbr)r�r�r�rl)rWr/r+s  @rY�test_silent_failurez*OverrideDecoratorTests.test_silent_failure�sJ���	&�	&�	�	�	
����*�*�A�.������!2�!2�N�C�Dr[c�J��d��G�fd�d�}|�}|j|jd�d�|j|jj�|j|j	d�d�|j|jj�y)Nc�.��t���fd��}|S)Nc����|i|��SrSr_)r�r�rXs  �rYrkzTOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wraps.<locals>.wrapper�s����$�)�&�)�)r[rl)rXrks` rY�
with_wrapszCOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wraps�s���
�1�X�
*��
*��Nr[c�Z��eZdZeW�dedefd���ZW�ededefd���Zy)�EOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverriderr�c��|dzSr@r_rL
s  rY�on_topzLOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_top��
���1�u�r[c��|dzSrr_rL
s  rY�	on_bottomzOOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_bottom�r9r[N)r\r]r^r.r�r8r;)r4s�rYr/r6�sS���
�
�
��
��
���
�
�
�
�3�
�3�
���
r[r/rbr�rO)r�r8r�rr;)rWr/r�r4s   @rY�test_multiple_decoratorsz/OverrideDecoratorTests.test_multiple_decorators�s}���	�	�	� �>���������+�Q�/�������4�4�5�����+�+�A�.��2�����*�*�7�7�8r[N)r\r]r^rr$r0r<r_r[rYr�
r�
Ns��8T�tD�4E�"9r[r�
c��eZdZd�Zd�Zy)�	CastTestsc�0�|jttd�d�|jttd�d�|j	tttd��t�|jttd�d�|jttd�d�|jttttfd�d�|jttd�d�|jtdd�d�yr{)r�r)r�rpr�r�r
r�rr�rr�s rYr.zCastTests.test_basics�s�������c�2���+�����e�R��"�-��
�
�d�4��r�?�+�S�1�����c�2���+�����d�B���,�����e�C��J�/��4�b�9�����f�b�)�2�.�����d�B���,r[c�4�tdd�tdd�y�Nr|�hello)r)r�s rYr�zCastTests.test_errors�s���R����W�b�r[N�r\r]r^r.r�r_r[rYr>r>�s��-�r[r>c��eZdZd�Zd�Zy)�AssertTypeTestsc��d}|jt|t�|�|jt|ttz�|�|jt|t
�|�|jt|d�|�yr{)r�r(r�r�rprr�s  rYr.zAssertTypeTests.test_basics�s_�����
�
�k�#�s�+�S�1��
�
�k�#�s�U�{�3�S�9��
�
�k�#�v�.��4��
�
�k�#�t�,�c�2r[c�x�d}|jt|d�|�|jt|d�|�yrA)r�r(r�s  rYr�zAssertTypeTests.test_errors�s1�����
�
�k�#�r�*�C�0��
�
�k�#�w�/��5r[NrCr_r[rYrErE�s��3�6r[rE)�ann_module8c�8�eZdZejj
Zy)�NoTypeCheck_OuterN)r\r]r^rHrJ�Innerr_r[rYrJrJ�s���)�)�/�/�Er[rJc�$�eZdZejZy)�NoTypeCheck_WithFunctionN)r\r]r^rH�NoTypeCheck_functionr_r[rYrMrM�s��&�;�;�r[rMc���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�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&y%)&�ForwardRefTestsc�~�Gd�dtt�}|t}t|jt�t
��}|j|dt|t�|j|d|t�|j|dt�|jd|�t|jt�t
��}|j|dt|t�t|jt�t
��}|j|d|t�y)Nc�P�eZdZdefd�Z			d
dddddefd	�Zd
edfd�Zddd�Z	y)�)ForwardRefTests.test_basics.<locals>.Noder�c�.�||_dx|_|_yrSr^
)rWr�s  rYr�z2ForwardRefTests.test_basics.<locals>.Node.__init__s��"��
�)-�-��	�D�Jr[NrZ
zOptional[Node[T]]r\
r[
�stuffc� �||_||_yrS)rZ
r\
)rWrZ
r\
rU�blahs     rY�add_bothz2ForwardRefTests.test_basics.<locals>.Node.add_boths��
!��	�"��
r[�nodec�(�|j|d�yrS�rX�rWrYs  rY�add_leftz2ForwardRefTests.test_basics.<locals>.Node.add_left����
�
�d�D�)r[c�(�|jd|�yrSr[r\s  rY�	add_rightz3ForwardRefTests.test_basics.<locals>.Node.add_rightr^r[)NNNrS)rYr[
)
r\r]r^rr�r�rXrr]r`r_r[rYrD	rS�sN��
.�a�
.�-1�&*�"�	
#�2�
#� )�
#�!$�
#�
*�X�i�%8�
*�
*r[rD	rZ
r\
rUrWrY)r#rr�r+rXrrr�rrNr]r`)rWrD	rs�
both_hints�
left_hints�right_hintss      rYr.zForwardRefTests.test_basics�s���	*�7�1�:�	*�(
��I��#�A�J�J��	�6�8�D�
�����F�+�X�d�1�g�->�?�����G�,�d�1�g�6�����G�,�c�2������,�#�A�J�J��	�6�8�D�
�����F�+�X�d�1�g�->�?�$�Q�[�[�'�)�V�X�F������V�,�d�1�g�6r[c��tjd�}|jt�5t	d|�ddd�y#1swYyxYw)Nr�r|)rTrAr}r~r�rW�frs  rY�#test_forwardref_instance_type_errorz3ForwardRefTests.test_forwardref_instance_type_errors6��
�
�
�u�
%��
�
�
�y�
)��r�2��*�
)�
)�s�
A�A
c��tjd�}|jt�5t	t
|�ddd�y#1swYyxYw)Nr�)rTrAr}r~r�r�res  rY�#test_forwardref_subclass_type_errorz3ForwardRefTests.test_forwardref_subclass_type_error$s6��
�
�
�u�
%��
�
�
�y�
)��s�B��*�
)�
)�s�A�Ac��|jt�5tjd�ddd�y#1swYyxYwr@)r}r~rTrAr�s rY�test_forwardref_only_str_argz,ForwardRefTests.test_forwardref_only_str_arg)s*��
�
�
�y�
)����a� �*�
)�
)�s�5�>c���tjd�}|j|tjd��|jtdtt
�|j|tjdt���tjdt��}|j|tjdt���|j|tjdd���y)Nr���module�__other_name__)rTrAr�r�rr�r\)rWrf�frms   rY�test_forward_equalityz%ForwardRefTests.test_forward_equality-s���
�
�
�u�
%������V�.�.�u�5�6����D��K��c��3����B�� 1� 1�%�� I�J�����h�7������f�/�/��h�G�H����C��!2�!2�5�AQ�!R�Sr[c��tjd�}tjd�}tjd�}tjd�}Gd�d�}d|d|fd�}|jt|t	�t��||d��|j||�|j||�|j||�|jt|t|�|jt|t|�|jt|t|�|jt||ft|�|jt||tft|tf�y)Nr7c��eZdZy)�4ForwardRefTests.test_forward_equality_gth.<locals>.CNrpr_r[rYr7rt<r�r[rr�c��yrSr_�rr�s  rYr`z6ForwardRefTests.test_forward_equality_gth.<locals>.foo>r�r[rv)
rTrAr�r+rrrr�rr�)rWrF�c1_gthrG�c2_gthr7r`s       rY�test_forward_equality_gthz)ForwardRefTests.test_forward_equality_gth6s<��
�
�
�s�
#���"�"�3�'��
�
�
�s�
#���"�"�3�'��	�	�	�6�	�f�	�	
�����W�Y���A��QR�CS�T�����R� �����V�$������(�����b��4��<�0����D��H�d�1�g�.����D��L�$�q�'�2�����r�6�z�*�E�"�I�6�����r�6�3��/��r�3�w��@r[c	��tjd�}tjd�}tjd�}tjd�}d|d|fd�}t|t�t	��|jt
|�t
|��|jt
|�t
|��|jt
|�t
|��tjdt��}tjdd��}|jt
|�t
|��|jt
|�t
|��|jt
|�t
|��|jt
|�t
tjdt����y)Nr�rr�c��yrSr_rvs  rYr`z7ForwardRefTests.test_forward_equality_hash.<locals>.fooQr�r[rmro)	rTrAr+rrr�r�r\r�)rWrFrwrGrxr`�c3�c4s        rY�test_forward_equality_hashz*ForwardRefTests.test_forward_equality_hashKs@��
�
�
�u�
%���"�"�5�)��
�
�
�u�
%���"�"�5�)��	�6�	�f�	��s�G�I�v�x�0�����b��4��8�,�����f��t�F�|�4�����b��4��<�0�
�
�
�u�X�
6��
�
�
�u�-=�
>�����D��H�d�2�h�/����D��H�d�6�l�3����D��H�d�2�h�/�����b��4��(9�(9�%��(Q�#R�Sr[c��Gd�d�}d�}d�}|j|�|��|j|�|��y)Nc��eZdZy)�:ForwardRefTests.test_forward_equality_namespace.<locals>.ANrpr_r[rYr�r�br�r[r�c�v�tjd�}d|fd�}t|t�t	��|S)Nr�r�c��yrSr_r�s rYr�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace1.<locals>.funfr�r[�rTrAr+rr)rr�s  rY�
namespace1zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace1ds3���!�!�#�&�A�
�q�
��3��	�6�8�4��Hr[c��tjd�}Gd�d�}d|fd�}t|t�t	��|S)Nr�c��eZdZy)�NForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.ANrpr_r[rYr�r�nr�r[r�c��yrSr_r�s rYr�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.funpr�r[r�)rr�r�s   rY�
namespace2zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace2ks?���!�!�#�&�A�
�
�
�q�
�
�3��	�6�8�4��Hr[)r�r�)rWr�r�r�s    rY�test_forward_equality_namespacez/ForwardRefTests.test_forward_equality_namespaceas@��	�	�	�		�	
�����z�|�4����J�L�*�,�7r[c	��|jttd�d�|jtttdd���d�y)Nr�ztyping.List[ForwardRef('int')]�modrmz,typing.List[ForwardRef('int', module='mod')])r�r�rrAr�s rY�test_forward_reprz!ForwardRefTests.test_forward_reprysA������d�5�k�*�,L�M�����d�:�e�E�#B�C�D�G�	Ir[c�N�dtdfd�}|jt|t�t	��dtt
i�dttd�tzfd�}|jt|t�t	��dtt
tzi�y)Nrrc��yrSr_r
s rYr`z/ForwardRefTests.test_union_forward.<locals>.foo�r�r[c��yrSr_r
s rYr`z/ForwardRefTests.test_union_forward.<locals>.foo�r�r[)	rr�r+rrrr�rAr��rWr`s  rY�test_union_forwardz"ForwardRefTests.test_union_forward~s���	�5��:�	�	
�����W�Y���A��u�Q�x��	*�	�5��C��)�C�/�	�	
�����W�Y���A��u�Q�x�#�~�.�	0r[c�2�dtdfd�}|jt|t�t	��dtt
i�dttd�fd�}|jt|t�t	��dtt
i�y)Nrrc��yrSr_r
s rYr`z/ForwardRefTests.test_tuple_forward.<locals>.foo�r�r[c��yrSr_r
s rYr`z/ForwardRefTests.test_tuple_forward.<locals>.foo�r�r[)rr�r+rrrr�rAr�s  rY�test_tuple_forwardz"ForwardRefTests.test_tuple_forward�s{��	�5��:�	�	
�����W�Y���A��u�Q�x��	*�	�5��C��)�	�	
�����W�Y���A��u�Q�x��	*r[c��dd�}|jt|t�t��dtt
i�y)Nrc��yrSr_r
s rYr`z0ForwardRefTests.test_double_forward.<locals>.foo�r�r[)rzList['int'])r�r+rrrr�r�s  rY�test_double_forwardz#ForwardRefTests.test_double_forward�s0��	������W�Y���A��t�C�y�)�	+r[c��d�}d�}d�}|�}|�}|j||�|jt|||�y)Nc�z�tjd�}|}d|fd�}t|t�t	��}|S)Nr�r�c��yrSr_r�s rYr�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace1.<locals>.fun�r<r[r��rr�r��rets    rYr�zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace1��6���!�!�#�&�A��A��q�� ��g�i���:�C��Hr[c�z�tjd�}|}d|fd�}t|t�t	��}|S)Nr�r�c��yrSr_r�s rYr�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace2.<locals>.fun�r<r[r�r�s    rYr�zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace2�r�r[c��||k(SrSr_)�o1�o2s  rY�cmpz<ForwardRefTests.test_forward_recursion_actually.<locals>.cmp�s����8�Or[)r�	r}�RecursionError)rWr�r�r��r1�r2s      rY�test_forward_recursion_actuallyz/ForwardRefTests.test_forward_recursion_actually�sE��	�	�	��\��
�\������R� ����.�#�r�2�6r[c����td�tt�f�G�fd�d�}G��fd�d�}G��fd�d�}G��fd�d	�}|jt	|t�t
��t	|t�t
���|jt	|t�t
��d
tttttttdffi�|jt	|t�t
��d
ttttttdffi�|jt	|t�t
��d
ttttttttdffttttdffi�|jt	|t�t
��d
ttttttdftttttttdfffi�y)N�Valuec�"��eZdZUeW�ed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.Cr`N)r\r]r^rr�)r�s�rYr7r��s
����e��r[r7c�(��eZdZUeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.Dr`N)r\r]r^rr��r��	ValueLists��rYr:r��s����u�i�'�(�(r[r:c�.��eZdZUeeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.Er`N�r\r]r^rrr�r�s��rYr�r��s����t�E�{�I�-�.�.r[r�c�2��eZdZUeW�eW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.Fr`Nr�r�s��rYr�r��s����u�d�5�k�9�4�5�5r[r�r`)rrr�r�r+rr)rWr7r:r�r�r�r�s     @@rY�test_union_forward_recursionz,ForwardRefTests.test_union_forward_recursion�s������M�	��c�9�n�%��	�	�	)�	)�	/�	/�	6�	6�	
�����7�9�f�h�?��PQ�SZ�S\�^d�^f�Ag�h������7�9�f�h�?���e�C��e�C��g��<N�6O�1P�,P�&Q�!R�S�	U������7�9�f�h�?���s�D��s�D��M�7I�1J�,K�'K�!L�M�	O������7�9�f�h�?���!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�!�%��T�'�]�(:�";�<�=�"��	�	
�����7�9�f�h�?��� �!�%��T�'�]�(:�";�<�!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�O�"��	r[c��dtdgdffd�}|jt|t�t	��dtt
gt
fi�y)Nrrc��yrSr_r
s rYr`z2ForwardRefTests.test_callable_forward.<locals>.foo�r�r[)r"r�r+rrrr�s  rY�test_callable_forwardz%ForwardRefTests.test_callable_forward�sK��	�8�S�E�3�J�'�	�	
�����W�Y���A��x���Q��/�0�	2r[c��dd�}|jt|t�t��dtdt
fi�y)Nrc��yrSr_r
s rYr`z@ForwardRefTests.test_callable_with_ellipsis_forward.<locals>.foo�r�r[.)rzCallable[..., T])r�r+rrr"rr�s  rY�#test_callable_with_ellipsis_forwardz3ForwardRefTests.test_callable_with_ellipsis_forward�s7��	�	
�����W�Y���A��x��Q��/�0�	2r[c��Gd�d�}Gd�d�}|jt|t��dtt�|jt|t��dt
t�|jt|t��dt�|jt|t��dt
�|j
t�5t|t��fddd�y#1swYyxYw)	Nc�R�eZdZUdZeded<dZeded<dZded<dZded	<y
)�5ForwardRefTests.test_special_forms_forward.<locals>.CrT)�
ClassVar[int])rOrUr)�
Final[int]�constr�r$r�r%r�N)	r\r]r^rr@r�r�r�r�r_r[rYr7r��s5��45�A�y�0�1�5�23�A�y�.�/�3��A�z���A�w�Nr[r7c�"�eZdZUdZeded<y)�6ForwardRefTests.test_special_forms_forward.<locals>.CFrTr�r�N)r\r]r^r�rr�r_r[rY�CFr��s��$%�A�t�L�!�%r[r�rr�r�r�)r�r+rr$r�r%r}r~)rWr7r�s   rY�test_special_forms_forwardz*ForwardRefTests.test_special_forms_forward�s���	�	�	&�	&�	
�����7�9�5�c�:�H�S�M�J������7�9�5�c�:�E�#�J�G������7�9�5�c�:�H�E������7�9�5�c�:�E�B�
�
�
�y�
)��2�w�y�)�*�*�
)�
)�s�$D�Dc�j�|jt�5tdddd�y#1swYyxYw)Nz/T)r}�SyntaxErrorr#r�s rY�test_syntax_errorz!ForwardRefTests.test_syntax_error�s#��
�
�
�{�
+��D�M�,�
+�
+�r�c�v�dd�}|jt�5t|�ddd�y#1swYyxYw)Nc��yrSr_r
s rYr`z6ForwardRefTests.test_delayed_syntax_error.<locals>.foor�r[)rzNode[T)r}r�r+r�s  rY�test_delayed_syntax_errorz)ForwardRefTests.test_delayed_syntax_errors+��	��
�
�{�
+��3��,�
+�
+�s�/�8c�6�tjtjtjtjfD]@}|j|��5|j
t�5|dddd�ddd��By#1swY�xYw#1swY�YxYw)N)�formr�)rTr�Setr5�Dequerir}r�)rWr�s  rY�test_syntax_error_empty_stringz.ForwardRefTests.test_syntax_error_empty_stringsf���[�[�&�*�*�f�k�k�6�<�<�H�D����4��(��&�&�{�3���H�4�)�(�I�3�3��)�(�s$�B�*B�0B�B�B�B	c��dd�}|jt�5t|t��ddd�y#1swYyxYw)Nc��yrSr_r
s rYr`z,ForwardRefTests.test_name_error.<locals>.foor�r[)rzNoode[T])r}�	NameErrorr+rr�s  rY�test_name_errorzForwardRefTests.test_name_errors/��	��
�
�y�
)��3���)�*�
)�
)�s	�8�Ac�`�tdddifd��}t|�}|j|i�y)Nr�	whateversr�c��yrSr_r
s rYr`z/ForwardRefTests.test_no_type_check.<locals>.foo���r[)r2r+r�)rWr`�ths   rY�test_no_type_checkz"ForwardRefTests.test_no_type_checks>��	�	�;�	�2�	�
�	��C�
 ������R� r[c���tGd�d��}t|j�}|j|i�t|�j�}|j|i�y)Nc��eZdZdddifd�Zy)�3ForwardRefTests.test_no_type_check_class.<locals>.Crr�r�c��yrSr_r
s rYr`z7ForwardRefTests.test_no_type_check_class.<locals>.C.foo#r�r[N�r\r]r^r`r_r[rYr7r�!���
�{�
�r�
r[r7)r2r+r`r�)rWr7�cth�iths    rY�test_no_type_check_classz(ForwardRefTests.test_no_type_check_classsY��	�	�	�
�	��Q�U�U�#������b�!��Q�S�W�W�%������b�!r[c���Gd�d��tG�fd�d���}|jt�j�dti�Gd�d|�}|jt|j
�dti�y)Nc��eZdZdefd�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.Cr�c��yrSr_r�s  rYr�z;ForwardRefTests.test_no_type_check_no_bases.<locals>.C.meth-s��Cr[Nr�r_r[rYr7r�,s
��'�c�'r[r7c���eZdZW�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.DN)r\r]r^r��r7s�rYr:r�.s����Ar[r:r�c��eZdZdefd�Zy)�:ForwardRefTests.test_no_type_check_no_bases.<locals>.Childr�c��yrSr_r�s  rYr`z>ForwardRefTests.test_no_type_check_no_bases.<locals>.Child.foo7r r[N)r\r]r^r�r`r_r[rYr"r�6s
��&�S�&r[r")r2r�r+r�r�r`)rWr:r"r7s   @rY�test_no_type_check_no_basesz+ForwardRefTests.test_no_type_check_no_bases+sp���	(�	(�	�	��	�
�	�	
�������/�#�s��<�	'�A�	'�	
�����	�	�2�S�#�J�?r[c�t�Gd�d�}Gd�d�}tGd�d��}||j|jj|jfD]S}|j	|��5|j|j�|jt|�i�ddd��U||fD]b}|j	|��5|jt�5|jddd�|jt|�i�ddd��dy#1swY��xYw#1swY�;xYw#1swY��xYw)	Nc��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.Otherr	Nr�r_r[rYr�r�=rrr[r�c��eZdZUeed<y)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Br	Nr�r_r[rYr�r�?rrr[r�c�D�eZdZUeed<Gd�d�ZGd�d�ZeZy)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Arc�,�eZdZUeed<Gd�d�Zy)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Br�c��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.A.B.Cr�Nr�r_r[rYr7r�Fs���Fr[r7N)r\r]r^r�r�r7r_r[rYr�r�Ds�����r[r�c��eZdZUeed<y)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Dr�Nr�r_r[rYr:r�H����r[r:N)r\r]r^r�r�r�r:r�r_r[rYr�r�As"���F�
�
�
�
��Er[r�)rH)�not_modified)r2r�r7r:rir��__no_type_check__r�r+r}rr�)rWr�r�r�rHrs      rY�test_no_type_check_nested_typesz/ForwardRefTests.test_no_type_check_nested_types;s��	�	�	�	�	�		�		�
�		�����a�c�c�e�e�Q�S�S�)�E����E��*����� 7� 7�8�� � ���!6��;�+�*�*�
#�A�J�L����<��8��&�&�~�6� �2�2�7��#�#�N�<�$@�"�E�9�8�'�	+�*��7�6��9�8�s0�+7D�D.�
D"�(#D.�D	�"D+�'D.�.D7	c�R�tGd�d��}|j|jj�|j	t|j�i�|j|jj�|j	t|j�i�y)Nc�@�eZdZededefd��Zededefd��Zy)�IForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Somer�r�c��yrSr_r�s rY�stzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.st[s��#&r[r�c��yrSr_)r�r�s  rY�clzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.cl]s��(+r[N)r\r]r^r�
r�rrer	r_r[rY�SomerYs2��
�&�c�&�c�&��&�
�+�3�+�3�+��+r[r
)r2r�rrr�r+r	)rWr
s  rY�+test_no_type_check_class_and_static_methodsz;ForwardRefTests.test_no_type_check_class_and_static_methodsXsy��	�	,�	,�
�	,�	
������1�1�2��������0�"�5�������1�1�2��������0�"�5r[c�,�|jtj�|jt�5t
jjddd�|jt�5t
jjjddd�|jtj�|jt�5t
jjddd�y#1swY��xYw#1swY�mxYw#1swYyxYwrS)	r�rJrr}rrHrKrMrNr�s rY�test_no_type_check_other_modulez/ForwardRefTests.test_no_type_check_other_modulees������)�;�;�<�
�
�
�~�
.��)�)�;�;�/�
�
�
�~�
.��)�)�/�/�A�A�/�	
���0�B�B�C�
�
�
�~�
.��,�,�>�>�/�
.�
/�
.��
.�
.��/�
.�s#�C2�-%C>�D
�2C;�>D�
Dc���dtdtfd��tG�fd�d��}|jt�5�jddd�|jt
��ttd��y#1swY�0xYw)Nr�r�c��yrSr_r�s rYr�zBForwardRefTests.test_no_type_check_foreign_functions.<locals>.somers��r[c�8��eZdZW�ZeW��ZeW��Zy)�?ForwardRefTests.test_no_type_check_foreign_functions.<locals>.AN)r\r]r^�
some_aliasre�
some_classr�
�some_static)r�s�rYr�rus����J�$�T�*�J�&�t�,�Kr[r�)r�r�)r�r2r}rrr�r+)rWr�r�s  @rY�$test_no_type_check_foreign_functionsz4ForwardRefTests.test_no_type_check_foreign_functionspsp���	��	��	�
�	-�	-�
�	-�
�
�
�~�
.��"�"�/������-��s�/K�L�/�
.�s�
A8�8Bc��tGd�d��}|j|jj�|j	t|j�i�y)Nc�*�eZdZUd�Zeegefed<y)�4ForwardRefTests.test_no_type_check_lambda.<locals>.Ac��|SrSr_r�s rYr1z=ForwardRefTests.test_no_type_check_lambda.<locals>.A.<lambda>�s��Cr[rN)r\r]r^rr"r�r�r_r[rYr�r�s��)8�C��3�%��*�%�7r[r�)r2r�rrr�r+r�s  rY�test_no_type_check_lambdaz)ForwardRefTests.test_no_type_check_lambdasJ��	�	8�	8�
�	8�	
������/�/�0��������.��3r[c�"�tt�yrS)r2rr�s rY�test_no_type_check_TypeErrorz,ForwardRefTests.test_no_type_check_TypeError�s��	�d�r[c���Gd�d�}Gd�d�}Gd�d�}Gd�d�}d	tjti}||||fD]}|jt	|�|��y)
Nc�6�eZdZUdZej
eed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.C�r`N)r\r]r^r`rTr$r�r�r_r[rYr7r�s��()�C�����%�)r[r7c�"�eZdZUdZeeed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Dr r`N)r\r]r^r`r$r�r�r_r[rYr:r"�s��!"�C��#��"r[r:c��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Er r�
r`N�r\r]r^r`r�r_r[rYr�r$�s
��*+�C�'�+r[r�c��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Fr r�r`Nr%r_r[rYr�r'�s��#$�C��$r[r�r`)rTr$r�r�r+)rWr7r:r�r��expected_result�clazzs       rY�(test_no_type_check_forward_ref_as_stringz8ForwardRefTests.test_no_type_check_forward_ref_as_string�sf��	*�	*�	#�	#�	,�	,�	%�	%�!�&�/�/�#�"6�7����A�q�\�E����^�E�2�O�D�"r[c��Gd�d�}Gd�d�}||fD]+}|jt�5t|�ddd��-y#1swY�8xYw)Nc��eZdZUdZded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Er z%typing.ClassVar[typing.ClassVar[int]]r`Nr%r_r[rYr�r-�s
��;<�C�8�<r[r�c�"�eZdZUdZeded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Fr r�r`N)r\r]r^r`r$r�r_r[rYr�r/�s��-.�C��/�*�.r[r�)r}r~r+)rWr�r�r)s    rY�,test_nested_classvar_fails_forward_ref_checkz<ForwardRefTests.test_nested_classvar_fails_forward_ref_check�sK��	=�	=�	/�	/���V�E��"�"�9�-��u�%�.�-��-�-�s�A�A	c��td��}|j|jd�|dddifd��}|Gd�d��}|j|jd	�t|�}|j|i�t|j�}|j|i�t|�j�}|j|i�y)
Nc��|SrSr_r�
s rY�magic_decoratorz@ForwardRefTests.test_meta_no_type_check.<locals>.magic_decorator�s���Kr[r3rr�r�c��yrSr_r
s rYr`z4ForwardRefTests.test_meta_no_type_check.<locals>.foo�r�r[c��eZdZdddifd�Zy)�2ForwardRefTests.test_meta_no_type_check.<locals>.Crr�r�c��yrSr_r
s rYr`z6ForwardRefTests.test_meta_no_type_check.<locals>.C.foo�r�r[Nr�r_r[rYr7r6�r�r[r7r`)r3r�r\r+r`)rWr3r`r7r�r�r�s       rY�test_meta_no_type_checkz'ForwardRefTests.test_meta_no_type_check�s���	 �	�
!�	�	
����1�1�3D�E�	�	�;�	�2�	�
�	�
�	�	�
�	�	
������u�-�
�C�
 ������R� ��Q�U�U�#������b�!��Q�S�W�W�%������b�!r[c��d}i}t||�t|dj�}|j||d|dd��y)Nz^class C:
    def foo(self, a: 'C') -> 'D': pass
class D:
    def bar(self, b: 'D') -> C: pass
r7r:)rr�)ror+r`r�)rWr�rq�hintss    rY�test_default_globalsz$ForwardRefTests.test_default_globals�sH��9��
���T�2���r�#�w�{�{�+������b��g��C�� A�Br[c�:�|jttt��dtt�|jttt��dtt�|jttt��dt�y)Nr�)r�r��Looprr%r�r�r�s rY�test_final_forward_refz&ForwardRefTests.test_final_forward_ref�sd������T�7�9�-�f�5�u�T�{�C����C��g�i�0��8�%��*�E����C��g�i�0��8�%�@r[c��td�}|j|dzt|df�|jd|ztd|f�yr�)rAr�rr�s  rYr�zForwardRefTests.test_or�sC���s�O������S��%��3��-�0�����q��%��Q��-�0r[N)'r\r]r^r.rgrirkrqryr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrrr*r0r8r;r>r�r_r[rYrPrP�s���!7�F�
 �
!�T�A�*T�,8�0I�
0�*�+�7�2�@2�2�+�$�
 ��*�!�
"�@� F�:6�	?�
M�4��
E�&�"�2	C�A�
1r[rPc��d|z|zS)NrOr_r�s  rY�cached_funcrA�s���q�5�1�9�r[c�2�eZdZed��Zed��Zd�Zy)�MethodHolderc��yrSr_r�s rYr�
zMethodHolder.clsmethod�s��r[c��yrSr_r_r[rYr�
zMethodHolder.stmethod�r�
r[c��yrSr_r�s rYr�zMethodHolder.method�s��cr[N)r\r]r^rer�
r�
r�
r�r_r[rYrCrC�s!����������r[rCc�`�eZdZd�Zd�Zed��Zd�Zede	d���d��Z
d�Zy	)
�
OverloadTestsc�~�|jt�5td��}|�ddd�y#1swYyxYw)Nc��yrSr_r_r[rYrWz/OverloadTests.test_overload_fails.<locals>.blah�s��r[)r}r=r�rWrWs  rY�test_overload_failsz!OverloadTests.test_overload_fails�s6��
�
�
�2�
3�
�
��
�
�F�
4�
3�
3�r�c�0�td��}d�}|�y)Nc��yrSr_r_r[rYrWz2OverloadTests.test_overload_succeeds.<locals>.blah�r�r[c��yrSr_r_r[rYrWz2OverloadTests.test_overload_succeeds.<locals>.blah�r�r[�rrKs  rY�test_overload_succeedsz$OverloadTests.test_overload_succeeds�s ��	�	�
�	�	�	
�r[c�z�tdtd���5|jtji�tt�tt�|jtjt�g�|jtjt�g�ddd�y#1swYyxYw)N�typing._overload_registryc� �tt�SrS�rrr_r[rYr1zCOverloadTests.test_overload_on_compiled_functions.<locals>.<lambda>�s	��{�4�'8r[)	r
rr�rT�_overload_registryr�sum�printrr�s rY�#test_overload_on_compiled_functionsz1OverloadTests.test_overload_on_compiled_functions�s���
�.��8�9�;�
���V�6�6��;�
�S�M��U�O�
���V�1�1�#�6��;����V�1�1�%�8�"�=�;�;�;�s�BB1�1B:c�T�d�}|}t|�d�}|}t|�d�}|||gfS)Nc��yrSr_r_r[rYrWz,OverloadTests.set_up_overloads.<locals>.blahr�r[c��yrSr_r_r[rYrWz,OverloadTests.set_up_overloads.<locals>.blah
r�r[c��yrSr_r_r[rYrWz,OverloadTests.set_up_overloads.<locals>.blahr�r[rP)rWrW�	overload1�	overload2s    rY�set_up_overloadszOverloadTests.set_up_overloadss?��	��	����	��	����	��i��+�+�+r[rSc� �tt�SrSrUr_r[rYr1zOverloadTests.<lambda>s	��K��-r[c��|jtji�|j�\}}|j	tji�|jtt
|��|�d�}t|�|}d�}|jtt
|��|g�d�}|jtt
|��g�t�|jtji�|jt
|�g�d�}|jt
|�g�|jtji�y)Nc��yrSr_r_r[rY�some_other_funcz=OverloadTests.test_overload_registry.<locals>.some_other_func#r�r[c��yrSr_r_r[rYrdz=OverloadTests.test_overload_registry.<locals>.some_other_func&r�r[c��yrSr_r_r[rY�not_overloadedz<OverloadTests.test_overload_registry.<locals>.not_overloaded)s��dr[c��yrSr_r_r[rY�the_only_onez:OverloadTests.test_overload_registry.<locals>.the_only_one3r�r[)	r�rTrVr`r�r�rrr)rW�impl�	overloadsrd�other_overloadrgris       rY�test_overload_registryz$OverloadTests.test_overload_registrys��	
����2�2�B�7��/�/�1���i����F�5�5�r�:�����m�D�1�2�I�>�#���!�(��#�����m�O�<�=��?O�P�"�����m�N�;�<�b�A�	������2�2�B�7�����t�,�b�1�	!�����|�4�b�9�����2�2�B�7r[c��td�D]9}|j�\}}|jtt	|��|��;yr)rfr`r�r�r)rW�_rjrks    rY�test_overload_registry_repeatedz-OverloadTests.test_overload_registry_repeated7s<���q��A�"�3�3�5�O�D�)����T�-��"5�6�	�B�r[N)r\r]r^rLrQrKrYr`r
rrmrpr_r[rYrHrH�sP�����>��>�,�&�&��-�.�0�8�0�8�8Cr[rH)�
ann_module�ann_module2�ann_module3�ann_module5�ann_module6�T_ac�8�eZdZd�Zdej
efd�Zy)�AwaitableWrapperc��||_yrS�r�rWrs  rYr�zAwaitableWrapper.__init__H�	����
r[r�c#�*K�d��|jS�wrSrzr�s rY�	__await__zAwaitableWrapper.__await__Ks����
��z�z��s�N)r\r]r^r�rT�Iteratorrvr~r_r[rYrxrxFs����6�?�?�3�/�r[rxc�d�eZdZdejefd�Zdejefd�Zdefd�Z	y)�AsyncIteratorWrapperrc��||_yrSrzr{s  rYr�zAsyncIteratorWrapper.__init__Qr|r[r�c��|SrSr_r�s rY�	__aiter__zAsyncIteratorWrapper.__aiter__Ts���r[c��JK�|j�d{���}|r|St�7��wrS)r�StopAsyncIteration)rW�datas  rY�	__anext__zAsyncIteratorWrapper.__anext__Ws%�����Z�Z�����K�$�$�	 �s�#�!�#N)
r\r]r^rTr�rvr�rmr�r�r_r[rYr�r�Os:���f�o�o�c�2���6�/�/��4��%��%r[r�c��eZdZdefd�Zd�Zy)�ACMr�c��K�y�wr{r_r�s rY�
__aenter__zACM.__aenter___s	�������c��K�y�wrSr_)rW�etyper�tbs    rY�	__aexit__z
ACM.__aexit__as	�����r�N)r\r]r^r�r�r�r_r[rYr�r�^s���#��r[r�c��eZdZUeed<y)r�r�N)r\r]r^rpr�r_r[rYr�r�ds���Hr[r�c�<�eZdZUdZeeded<eed<eed<y)r�Nr�r�r�)r\r]r^r�r$rr�r�r_r[rYr�r�fs��!%�A�x���
��%�
�F�
�Fr[r�c�,�eZdZUe�Zeded<y)�CSubrQN)r\r]r^r�rQr$r�r_r[rYr�r�js���#�A�x���r[r�c�(�eZdZUgZeeeed<y)r��lstN)r\r]r^r�r$rrr�r_r[rYr�r�ls���C��$�q�'�	�r[r�c��eZdZUeded<y)r=r�N)r\r]r^r%r�r_r[rYr=r=os��
��-�r[r=c�"�eZdZUded<ded<y)�NoneAndForward�parentN�meaningrsr_r[rYr�r�rs
����
�Mr[r�c�"�eZdZUeed<eed<y)�CoolEmployeer��coolN�r\r]r^r�r�r�r_r[rYr�r�vs��

�I�

�Ir[r�c�&�eZdZUeed<dZeed<y)�CoolEmployeeWithDefaultr�rr�N)r\r]r^r�r�r�r�r_r[rYr�r�zs��

�I��D�#�Mr[r�c��eZdZUeed<d�Zy)�XMethr�c� �d|jzSrr�r�s rY�doublezXMeth.double�s���4�6�6�z�r[N)r\r]r^r�r�r�r_r[rYr�r�~s��
�F�r[r�c�2�eZdZUeed<dZeed<d�Zd�Zy)�XReprr�rbr�c�8�|j�d|j��S)Nz -> r�r�s rY�__str__z
XRepr.__str__�s���&�&���d�f�f�X�&�&r[c��yrWr_�rWrcs  rY�__add__z
XRepr.__add__�s��r[N)r\r]r^r�r�r�r�r�r_r[rYr�r��s��
�F�
�A�s�J�'�r[r��Labelr�c�"�eZdZUeed<eed<y)�Point2Dr�r�Nr�r_r[rYr�r��r�r[r�c�"�eZdZUeed<eed<y)�Point2DGenericrr�N�r\r]r^rr�r_r[rYr�r��s���D��Dr[r�c��eZdZUeed<y)r�r�Nr�r_r[rYr�r��r�r[r�F��totalc��eZdZUeed<y)�
BarGenericr�Nr�r_r[rYr�r��r�r[r�c��eZdZy)�LabelPoint2DNrpr_r[rYr�r��r�r[r�c�"�eZdZUeed<eed<y)�Options�	log_level�log_pathNr�r_r[rYr�r��s���N��Mr[r�c�(�eZdZUeed<eeed<y)�
TotalMovie�titler^N)r\r]r^r�r�r7r�r_r[rYr�r��s���J�
�c�
�r[r�c�(�eZdZUeeed<eed<y)�
NontotalMovier�r^N)r\r]r^r8r�r�r�r_r[rYr�r��s���C�=��

�Ir[r�c��eZdZUeeed<y)�ParentNontotalMovier�N�r\r]r^r8r�r�r_r[rYr�r��s���C�=�r[r�c��eZdZUeeed<y)�ChildTotalMovier^N�r\r]r^r7r�r�r_r[rYr�r��s
��
�c�
�r[r�c�2�eZdZUeeeedfdfed<y)�ParentDeeplyAnnotatedMoviero	�
another levelr�N)r\r]r^r@r8r�r�r_r[rYr�r��s ���Y�x��}�h�6�7��H�I�Ir[r�c�(�eZdZUeeedfed<y)�ChildDeeplyAnnotatedMovie��r^N)r\r]r^r7r@r�r�r_r[rYr�r��s��
�i��T�	�*�
+�+r[r�c�B�eZdZUeeedfed<eeedfed<y)�AnnotatedMoviero	r�r�r^N�	r\r]r^r@r8r�r�r7r�r_r[rYr�r��s*���X�c�]�H�,�-�-�
�i��T�	�*�
+�+r[r�c�L�eZdZUeeeedfdfed<eeedfed<y)�DeeplyAnnotatedMoviero	r�r�r�r^Nr�r_r[rYr�r��s4���Y�x��}�h�6�7��H�I�I�
�i��T�	�*�
+�+r[r�c�.�eZdZUeded<eded<y)�WeirdlyQuotedMovie)z"Annotated[Required[str], "foobar"]r�r�zAnnotated[int, 2000]r^N)r\r]r^r@r�r7r_r[rYr�r��s���J�K�K�
�,�
-�-r[r�c�"�eZdZUded<ded<y)�HasForeignBaseClassr��
some_xreprzmod_generics_cache.A�other_aNrsr_r[rYr�r��s����
#�#r[r��amc��xK�|4�d{���}|cddd��d{���S7�7�#1�d{���7swYyxYw�wrSr_)r�r�s  rY�g_withr��s#�����r�Q���r�r��r��r�r�r�s0�:�!�:�%�:�#�:�:�7�.�7�:c�v�eZdZejdd��Zejejdd���Zy)�
ForRefExamplec��yrSr_r�s rYr�
zForRefExample.func�s��r[c��yrSr_r�s rYr�	zForRefExample.nested�s��	
r[N)rWr�)r\r]r^rq�decr�
r�	r_r[rYr�r��s<���^�^�
��
��^�^��^�^�
���
r[r�c��eZdZd�Zd�Zed�d��Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�GetTypeHintTestsc�B�|jt�5td�ddd�|jt�5td�ddd�|jt�5td�ddd�y#1swY�\xYw#1swY�?xYw#1swYyxYw)N�{rz)r}r~r�r�s rY�(test_get_type_hints_from_various_objectsz9GetTypeHintTests.test_get_type_hints_from_various_objects�sj��
�
�
�y�
)���H�*�
�
�
�y�
)���J�*�
�
�
�y�
)���I�*�
)�	*�
)��
)�
)��
)�
)�s"�A=�B	�(B�=B�	B�Bc��dtttfttttzd�}|j	tt�|�|j	tt�i�|j	tt�i�y)Nr�)rbrXr�r�r
)	rr�r�rpr�r�rqrrrs)rW�ann_module_type_hintss  rY�test_get_type_hints_modulesz,GetTypeHintTests.test_get_type_hints_modules�sa��$%�E�#�s�(�O�#�C�VY�\a�Va� b������Z��*?�@�����[�)�2�.�����[�)�2�.r[z	known bugc��ttjttjd�}|j	tt�|�y)N)�	default_a�	default_b)rrNr�r�r�r�)rW�	mgc_hintss  rY�&test_get_type_hints_modules_forwardrefz7GetTypeHintTests.test_get_type_hints_modules_forwardref�s@��
#+�+=�+?�+?�"@�"*�+=�+?�+?�"@�B�	�����/�0�)�<r[c��|jttj�dttji�|jttj�t�|jttj�dtd��|jttj�ttttjd��|jttj�dti�|jttj�dttji�|jttj�ttd��|jttj �dti�|jtt"�t"td�d��|jtt$�t&t(j*t(j,d	��|jtt&j.�ttd��|jtt(j,�t(j,j*t(j,j*t(j*d
��y)Nr�r�)�123r	)rrr�rQr�r�)r�r�)r�r��some_b)�my_inner_a1�my_inner_a2�
my_outer_a)r�r�rqr7rr��j_classrr�r�r:r�r�r��h_classr�r`r�r�r�rNr�r�r�r�s rY�test_get_type_hints_classesz,GetTypeHintTests.test_get_type_hints_classes�s�������Z�\�\�*��x�
���5�6�	8����c�*�"4�"4�5�t�<�����Z�\�\�*�C�d�,C�D�����Z�\�\�*�"��8�J�L�L�3I�J�	L�����Z�\�\�*�S�#�J�7�����Z�/�/�0��x�
���5�6�	8�����Z�\�\�*�#�C�,@�A�����Z�^�^�,�s�C�j�9�����^�,�$2�t�D�z�J�	L�����0�1�(-�:L�:N�:N�$6�$8�$8�:�	;�	
����U�]�]�+�"��-�	/�����/�1�1�2�);�)=�)=�)?�)?�);�)=�)=�)?�)?�(:�(<�(<�>�	?r[c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUdZeed<y)�ZGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional.<locals>.WithNoneDefaultN�field)r\r]r^r�r�r�r_r[rY�WithNoneDefaultr�s���E�3�r[r�r�)r�r�r�)rWr�s  rY�0test_get_type_hints_classes_no_implicit_optionalzAGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional
s'��	�	�	
����_�-���~�>r[c���tGd�d��}|j|j�|j|jjj�|jt
tjj�i�Gd�dtt�}tGd�d|��}|jt
|j�dti�y)Nc� �eZdZGd�d�Zy)�>GetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheckc��eZdZdd�Zy)�BGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Innc��yrSr_r�s  rYr�zKGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Inn.__init__rXr[N)r�z
not a typer�r_r[rY�Innr
s��8r[r
N)r\r]r^r
r_r[rY�	NoTpCheckr
s��
9�
9r[r
c��eZdZdefd�Zy)�:GetTypeHintTests.test_respect_no_type_check.<locals>.ABaser�c��yrSr_r�s rYr�z?GetTypeHintTests.test_respect_no_type_check.<locals>.ABase.meths��cr[Nr�r_r[rY�ABaser
s
��!��!r[r

c��eZdZy)�8GetTypeHintTests.test_respect_no_type_check.<locals>.DerNrpr_r[rY�Derr
s��r[r

r�)
r2r�rr
r�r�r�rr�NTCr�r#rr�)rWr
r

r

s    rY�test_respect_no_type_checkz+GetTypeHintTests.test_respect_no_type_checks���	�	9�	9�
�	9�	
���	�3�3�4����	�
�
�.�.�@�@�A�����[�_�_�1�1�2�B�7�	"�G�A�J�	"�	��%��
������U�Z�Z��3��*�5r[c��|jtt�i�|jtt�i�|jtt�i�|jtt
�i�|jttj�i�|jtt
�j�i�|jttj�i�yrS)
r�r�r�r�rOrr�r�r��joinr�s rY� test_get_type_hints_for_builtinsz1GetTypeHintTests.test_get_type_hints_for_builtins!s�������S��2�&�����T��B�'�����S��2�&�����S��2�&�����V�^�^�,�b�1�����V�X�-�-�.��3�����S�X�X���+r[c��d�}d|jd<|jt|�dti�dd�}|jt|�dt	d�i�y)Nc��yrSr_r�s  rY�testfz6GetTypeHintTests.test_previous_behavior.<locals>.testf,rzr[r�r�c��yrSr_r�s rY�testgz6GetTypeHintTests.test_previous_behavior.<locals>.testg/r�r[)r�N)r�r�r�r�r�)rWr
r
s   rY�test_previous_behaviorz'GetTypeHintTests.test_previous_behavior+sM���%*����c�"�����U��c�3�Z�0������U��c�4��:�%6�7r[c��Gd�d�}Gd�d�}|�}ddi|_|jt|t��d|i�y)Nc��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.ANrpr_r[rYr�r
3r�r[r�c��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.BNrpr_r[rYr�r
4r�r[r�r�)r�r�r�r)rWr�r�r�s    rY�/test_get_type_hints_for_object_with_annotationsz@GetTypeHintTests.test_get_type_hints_for_object_with_annotations2s<������
�C�� �#�J�������Q���)�C��8�4r[c	�L�|jttjtj�dt
jtji�|jttt��tttttd��|jttt��tttttttd��|jtt�dttti�y)N�var)r�r�r�)rQr�r�r�r�)r�r�rr�CVrrTr$r�rr�rr�r�rrr�s rY�test_get_type_hints_ClassVarz-GetTypeHintTests.test_get_type_hints_ClassVar9s�������[�^�^�[�-A�-A�B��������!@�A�	C�����Q��	�*�"��(�1�+�)>�S�I�	K�����T�7�9�-�'��~�C�c�'����4�6�	7�	
����Q��%��$�q�'�):�!;�<r[c��dti}|jttj�|�|jttj�|�y)NrW)r�r�r�r�
r�	)rW�expectss  rY�,test_get_type_hints_wrapped_decoratored_funcz=GetTypeHintTests.test_get_type_hints_wrapped_decoratored_funcCsB���=�)������]�/�/�0�'�:�����]�1�1�2�G�<r[c�<�dtdfd�}ttdf}|jt	|t�t
��dtti�|jt	|t�t
�d��dtttdfi�dttd�fd�}ttdf}|jt	|t�t
��dtti�|jt	|t�t
�d��dtttdfi�tttdfd	f}d|fd
�}|jt	|t�t
��dttd	f�|jt	|t�t
�d��d|�tttdfd	f}d|fd�}|jt	|t�t
��dttd	f�|jt	|t�t
�d��d|�dtjd	tttdffd
tjtttdfffd�}|jt	|t�t
��tjd	ttftjttfd��tjd	ttf}d|fd�}|jt	|t�t
�d��d|�tjtt zdf}d|fd�}	|jt	|	t�t
��dtt zi�|jt	|	t�t
�d��dtjtt zdfi�y)Nr�r�c��yrSr_r�s rYro	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobarIs��#r[�rbr�T��include_extrasc��yrSr_r�s rYro	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobarTrTr[)rbr.c��yrSr_r�s rYrw	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo`r�r[c��yrSr_r�s rYrw	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoohr�r[r�r��mutablec��yrSr_r�s  rYry	z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo2os��DGr[r�c��yrSr_r�s rY�barfoo3z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo3wr�r[c��yrSr_r�s rY�barfoo4z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo4}r�r[)rr@r�r�r+rrr�rArrr�rTr"rr�rp)
rWro	r��BArw	ry	�BA2r1
�BA3r3
s
          rY�test_get_type_hints_annotatedz.GetTypeHintTests.test_get_type_hints_annotatedHsN��%�d�3�i�%��c�7�l�#������6�7�9�f�h�7�
�$�s�)��	
�	
����6�7�9�f�h�t�L�
�$�y��g��.�/�0�	
�
	2�d�:�c�?�+�1��c�7�l�#������6�7�9�f�h�7�
�$�s�)��	
�	
����6�7�9�f�h�t�L�
�$�y��g��.�/�0�	
�
�9�Q��Y�'��,�
-���b��������	�6�8�D�S�I�5�QR�TW�QW�=�Y�����6�7�9�f�h�t�L�S�Q��	
�
�9�Q��Y�'��,�
-���b��������	�6�8�D�S�I�5�QR�TW�QW�=�Y�����6�7�9�f�h�t�L�S�Q��	
�
	H�v���s�I�d�1�g�w�6F�,G�'G�H�	H��|�|�C��1�i�<�)@�$@�A�	H�����7�G�I�v�x�8��/�/�#�t�A�w�,�/�f�l�l�3��6�6J�K�	
�
�o�o�c�4��7�l�+�� �s� ��
�
��7�G�I�v�x��M�c�R��	
����s�U�{�G�3�4�� �s� �����7�G�I�v�x�8�
�#��+��	
�	
����7�G�I�v�x��M�
�&�"�"�3��;��#7�8�9�	
r[c	��dttttdfzfd�}|j	t|�dtttzi�|j	t|d��dttttdfzi�y)Nr��metac��yrSr_r�s rY�
with_unionzKGetTypeHintTests.test_get_type_hints_annotated_in_union.<locals>.with_union�s��sr[Tr)
)r�r�r@r�r�r+)rWr;
s  rY�&test_get_type_hints_annotated_in_unionz7GetTypeHintTests.test_get_type_hints_annotated_in_union�sr��B�#��Y�s�F�{�%;� <�<�B�����
�3�c�3��c��?�5K�L�����:�d�;�
�#��Y�s�F�{�3�4�4�5�	
r[c���ttdf�G�fd�dtt�}|jt	|j
t
�t��|t|td��|jt	|j
t
�t�d���|t|td��|jt	|jt
�t��|t|td��y)N�Constc�.��eZdZdd�ZdW�dddfd�Zy)�BGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySetrcr��MySet[T]c��yrSr_r�s  rY�__ior__zJGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__ior__����r[c��yrSr_r�s  rY�__iand__zKGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__iand__�rD
r[N)rczConst[MySet[T]]r�rA
)r\r]r^rC
rF
)r>
s�rY�MySetr@
�s ���
�
�e�J�&7�
�J�
r[rG
)rcr�Tr)
)	r@rr#r�r+rF
rrrC
)rWrG
r>
s  @rY�"test_get_type_hints_annotated_refsz3GetTypeHintTests.test_get_type_hints_annotated_refs�s�����!�W�*�%��	�G�A�J�	�	
����5�>�>�7�9�f�h�?��A�h�%��(�3�	
�
	
����5�>�>�7�9�f�h�t�T��E�!�H�o��q��:�	
�
	
����5�=�=�'�)�V�X�>��A�h�%��(�3�	
r[c���ddttdffd�}|jt|�dti�|jt|d��dttdfi�y)Nr�r�c��yrSr_r�s rY�annotated_with_none_defaultzeGetTypeHintTests.test_get_type_hints_annotated_with_none_default.<locals>.annotated_with_none_default�s��3r[Tr)
rS)r@r�r�r+)rWrK
s  rY�/test_get_type_hints_annotated_with_none_defaultz@GetTypeHintTests.test_get_type_hints_annotated_with_none_default�s]��N�9�S�&�[�+A�N�����6�7�
�#�J�	
�	
����6�t�L�
�)�C��K�(�)�	
r[c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUeZded<y)�IGetTypeHintTests.test_get_type_hints_classes_str_annotations.<locals>.Foor�r�N)r\r]r^r�r�r�r_r[rYr�rO
�s���A��Fr[r�r�)r�r+r�r�s  rY�+test_get_type_hints_classes_str_annotationsz<GetTypeHintTests.test_get_type_hints_classes_str_annotations�s'��	�	�	
�����,�s�C�j�9r[c��Gd�d�}d|_|jdtj�|j	t|�i�y)Nc��eZdZy)�BGetTypeHintTests.test_get_type_hints_bad_module.<locals>.BadModuleNrpr_r[rY�	BadModulerS
�r�r[rT
�bad)r]rN�sys�modulesr�r+)rWrT
s  rY�test_get_type_hints_bad_modulez/GetTypeHintTests.test_get_type_hints_bad_module�s=��	�	�$�	���������,�����	�2�B�7r[c���Gd�d�}Gd�d|�}dx|_|_|jdtj�|j	t|�ttd��y)Nc��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadBaser`N)r\r]r^r�r�r_r[rY�BadBaser[
�s���Jr[r\
c��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadTyperNr�	r_r[rY�BadTyper^
�s���Ir[r_
rU
r\)r]rNrV
rW
r�r+r�r�)rWr\
r_
s   rY�(test_get_type_hints_annotated_bad_modulez9GetTypeHintTests.test_get_type_hints_annotated_bad_module�sV��	�	�	�g�	�27�7���W�/��������,������0�%��2M�Nr[c���tt�}|j|dtti�ttj
�}|j|dti�y)Nr�r)r+rtr�r%r��MyClass)rWr:s  rY�test_forward_ref_and_finalz+GetTypeHintTests.test_forward_ref_and_final�sJ���{�+��������s�� 4�5��{�2�2�3�������%� 0�1r[c�x�|jtd�5tt�ddd�y#1swYyxYw)Nz4typing.ClassVar\[int\] is not valid as type argument)r�r~r+rur�s rY�test_top_level_class_varz)GetTypeHintTests.test_top_level_class_var�s0��
�
#�
#��C�
�
�;�'�	
�
�
���0�9c	� �|jtt�ttd��|jttd��tt
td��|jtt�ttd��|jttd��tttdft
ttdfd��|jtt�ttd��|jttd��tttddft
ttdfd��|jtt�ttd��|jttd��tttddft
ttdfd��|jttj�dti�|jttjd��dtttddd	fi�|jtt�ttd��|jttd��ttt
td��|jtt�ttd��|jttd��tttddft
ttdfd��y)
N)r�r^Tr)
ro	r�r�rr�r�)r�r+r�r�r�r7r�r@r8r�r�rO�
VeryAnnotatedr�r�r�s rY�test_get_type_hints_typeddictz.GetTypeHintTests.test_get_type_hints_typeddict�sh������
�3�s�C�5P�Q�����
�4�H����$�K
�	�
	
�����7�3�PS�9T�U������t�L��x��}�h�6�7��	�#�t�)� 4�5�O
�	�
	
����(<�=��VY�?Z�[�����(<�T�R��x��}�h��G�H��	�#�t�)� 4�5�U
�	�
	
����(:�;�s�TW�=X�Y�����(:�4�P��x��}�h��G�H��	�#�t�)� 4�5�S
�	�
	
����(:�(H�(H�I�C�QT�:�V�����(:�(H�(H�Y]�^���8�C�=�#�s�C�7�8�a
�	�	
�����8�C�QT�:U�V�������M��c�]�K��,<�P
�	�	
����(A�B�c�[^�D_�`�����(A�RV�W��x��}�h��G�H��	�#�t�)� 4�5�Z
�	r[c��td�}dtjjtgtffd�}dtjjdtffd�}dtjj|tffd�}|jt
|�dtjjtgtfi�|jt
|�dtjjdtfi�|jt
|�dtjj|tfi�y)Nr�r�c��yrSr_r�s rYrXzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.fs��r[.c��yrSr_r�s rYrzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.g
r
r[c��yrSr_r�s rYrzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.hs��Cr[)rErrzr"r�r�r+)rWr�rXrrs     rY�,test_get_type_hints_collections_abc_callablez=GetTypeHintTests.test_get_type_hints_collections_abc_callable	s����c�N��;����)�)�3�%��*�5�;�9����)�)�#�s�(�3�9�7����)�)�!�S�&�1�7������*�S�+�/�/�2J�2J�C�5�RU�:�2V�,W�X������*�S�+�/�/�2J�2J�3�PS�8�2T�,U�V������*�S�+�/�/�2J�2J�1�c�6�2R�,S�Tr[N)r\r]r^r�r�r	r�r�r�r
r
r
r
r"
r%
r7
r<
rH
rL
rP
rX
r`
rc
re
ri
rn
r_r[rYr�r��s����/�
�+��=��=�?�0?�6�,�8�5�=�=�
=
�~
�
�6

�:�8�O�2�(�'�R	Ur[r�c��eZdZd�Zd�Zy)�GetUtilitiesTestCasec�d�td�}td�}td�}Gd�dt|�}|j	t|t�|�|j	t||�|�|j	tt�d�|j	ttt�t�|j	ttttf�t�|j	ttd�t�|j	tttt�t�|j	tt�t�|j	tt|�t�|j	ttt||ft�t�|j	tt|df�t�|j	tt�t�|j	tt�t �|j	tt"�t$j&j"�|j	ttt�t�|j	tt�d�|j	tttz�t(j*�|j	t|j,�|�|j	t|j.�|�|j	tt0t�t0�|j	tt2t�t2�|j	tg|��d�t4�|j	tt4|�t4�|j	tgt g|����d�t �|j	tt4tt4|�t4�y)	Nrr�r�c��eZdZy)�/GetUtilitiesTestCase.test_get_origin.<locals>.CNrpr_r[rYr7rs
r�r[r7�r|�+rr)rrrEr#r�r,r�r$rr�rr%rrr�r@r�r"rrzr�r�
r�r�r8r7r)rWrr�r�r7s     rYr�z$GetUtilitiesTestCase.test_get_origins����C�L��
�$�
���c�N��!���
�!��
�
�j��3��(�!�,��
�
�j��1��&��*��
�
�j��o�t�,��
�
�j��#��/��:��
�
�j��s�C�x��1�5�9��
�
�j����1�7�;��
�
�j��t�C�y�!1�2�E�:��
�
�j��)�7�3��
�
�j����,�g�6��
�
�j��e�A�q�D�k�!2�3�!7�8�$�?��
�
�j��1�g�:�!6�7��C��
�
�j��&��-��
�
�j��'��/��
�
�j��*�K�O�O�,D�,D�E��
�
�j��c��+�T�2��
�
�j��&��-��
�
�j����,�e�o�o�>��
�
�j����(�!�,��
�
�j����*�A�.��
�
�j��#��/��:��
�
�j��S�!1�2�K�@��
�
�j��2����+�V�4��
�
�j����,�f�5��
�
�j��5��"��:���!2�3�U�;��
�
�j���f�R�j�(9�!:�;�V�Dr[c
�(�td�}Gd�dt|�}|jt|t�tf�|jt||�|f�|jtt
jt�tf�|jtt
j|�|f�|jttt�tf�|jtt|�|f�|jt|�d�|jtt�d�|jtt�d�|jtt�d�|jtt�d�|jttt�tf�|jttttf�ttf�|jttd�d�|jttt t�t tf�|jtt"t�tt%d�f�|jtttdf�tt%d�f�|jtttt&|tfft�tt&ttff�|jtt
j(tt&||fft"t�tt&t"tt"tff�|jtt*g|ft�gtf�|jtt*dtf�dtf�|jtt*tgtf�tgtf�|jtttt*t&|dfgtff�tt*t&|dfgtff�|jtt&tdf�tdf�|jtt&d�d�|jtt,|ddd	gf�|ddd	gf�|jtt �d�|jtt&�d�|jtt*�d�|jtt.t�tf�|jtt.�d�|jtt0j2j*tgtf�tgtf�|jtt0j2j*dtf�dtf�|jtt0j2j*gtf�gtf�|jtt0j2j*tgtf�tt*tgtf��t5d
�}|jt|�d�|jt|j6�d�|jt|j8�d�|jtt*|tf�|tf�|jtt0j2j*|tf�|tf�|jtt*t:t|ftf�t:t|ftf�|jtt0j2j*t:t|ftf�t:t|ftf�|jtt:tt|f�tt|f�|jtt.tz�t.tf�|jtt<t�tf�|jtt>t�tf�|jtt@�d�|jttBt�tf�tEd�}|jt|�d�|jtg|��d�|f�|jttF|�|f�|jttHg|���g|���|jttHtF|�tF|f�|jtgtHg|����d�g|���|jttFtHtF|�tHtF|f�y)
Nrc��eZdZy)�-GetUtilitiesTestCase.test_get_args.<locals>.CNrpr_r[rYr7rx
7r�r[r7r_rt
.�oner��threer�r�r)%rr#r�r-r�rTr0r�r
rBrCr$rr�rr%rrr�rr r"r@r�rrzrEr�r�rFr8r7rDrIrrr�)rWrr7r�r�s     rY�
test_get_argsz"GetUtilitiesTestCase.test_get_args5s����C�L��!���
�!�����!�C�&�)�C�6�2�����!�A�$��!��.�����&�"4�"4�S�"9�:�S�F�C�����&�"4�"4�Q�"7�8�1�$�?�����.��"5�6���?�����.��"3�4�q�d�;�����!��b�)�����#���+�����#���+�����$���,�����-�0�"�5�����(�3�-�0�3�&�9�����%��S��/�2�S�#�J�?�����'�&�/�2�H�=�����%��S�	�"2�3�d�3�i�\�B�����(�3�-�0�3��T�
�2C�D�����%��T�	�"2�3�c�4��:�5F�G�����%��U�1�c�6�]�(:�";�C�"@�A��u�S�#�X��/�	1�����&�+�+�c�5��A��;�.>�"?���
�"N�O��u�X�c�]�H�S�M�%A�B�C�	E�����(�2�q�5�/�#�"6�7�"�c��C�����(�3��8�"4�5��S�z�B�����(�C�5�#�:�"6�7�3�%���F�����%��X�u�Q��V�}�o�s�6J�-K�(K�"L�M��x��q�#�v����(<�=�>�	@�����%��S��/�2�S�#�J�?�����%��)�,�b�1�����)�A�u�a�'��,B�"C�D�q�%�QR�U\�T]�F^�_�����$���,�����%��"�-�����(�+�R�0�����$�s�)�,�s�f�5�����$���,�����+�/�/�":�":�C�5�#�:�"F�G�3�%�QT��V�����+�/�/�":�":�3��8�"D�E��S�z�R�����+�/�/�":�":�2�s�7�"C�D�r�3�i�P�����+�/�/�":�":�C�5�#�:�"F�G�!�(�C�5�#�:�"6�7�	9��c�N������!��b�)�����!�&�&�)�2�.�����!�(�(�+�R�0�����(�1�c�6�"2�3�a��X�>�����+�/�/�":�":�1�c�6�"B�C�a��X�N�����(�;�s�A�v�+>��+C�"D�E�%�c�1�f�-�s�3�	5�����+�/�/�":�":�;�s�A�v�;N�PS�;S�"T�U�%�c�1�f�-�s�3�	5�����+�c�3��k�":�;�c�3��]�K�����$��*�-��c�{�;�����(�3�-�0�3�&�9�����+�c�"2�3�c�V�<�����)�,�b�1�����)�C�.�1�C�6�:�
�$�
������"��r�*�����&�B�&��)�,�r�e�4�����&��*�-��u�5�����%����*�-�v��v�6�����%��r�
�"3�4�v�b�z�m�D�����.�E�#�2�#�J�.��"3�4�f��f�=�����&��v�b�z�):�";�<�u�V�B�Z�?P�>R�Sr[N)r\r]r^r�r{
r_r[rYrp
rp
s��E�>ATr[rp
c�D�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�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+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6y5)6�CollectionsAbcTestsc��|jdtj�|jgtj�yr{)r�rT�Hashabler�r�s rY�
test_hashablez!CollectionsAbcTests.test_hashable{�*�����b�&�/�/�2�� � ��V�_�_�5r[c��|jgtj�|jgtj�|jgtj�|jdtj�|j	t
tj�|j	t
tj�yr{)r�rTr�r�r�r�r�s rY�
test_iterablez!CollectionsAbcTests.test_iterables|�����b�&�/�/�2�	
���b�&�/�/�2����b�&�/�/�2�� � ��V�_�_�5����d�F�O�O�4����d�F�O�O�4r[c��tg�}|j|tj�|j	dtj�yr{)r 	r�rTrr�)rW�its  rY�
test_iteratorz!CollectionsAbcTests.test_iterator�s3��
�"�X�����b�&�/�/�2�� � ��V�_�_�5r[c���dtjtfd�}|�}|j|tj�|j	|tj�|jd�y)Nr�c��4K�td��d{���S7��wr{)rxr_r[rYr`z/CollectionsAbcTests.test_awaitable.<locals>.foo�s����)�"�-�-�-�-�s���)rT�	Awaitabler�r�r��send�rWr`rs   rY�test_awaitablez"CollectionsAbcTests.test_awaitable�sW��	.�6�+�+�C�0�	.��E�����a��!1�!1�2�� � ��f�&6�&6�7�	���t�r[c�p�d�}|�}|j|tj�|jt�5t|tjt�ddd�|j|tj�	|jd�y#1swY�<xYw#t$rYywxYw)Nc��K�y�wrSr_r_r[rYr`z/CollectionsAbcTests.test_coroutine.<locals>.foo�s	�����r�)
r�rT�	Coroutiner}r~rr�r�r�
�
StopIterationr�
s   rY�test_coroutinez"CollectionsAbcTests.test_coroutine�s���	��E�����a��!1�!1�2�
�
�
�y�
)��q�&�*�*�3�/�0�*�� � ��f�&6�&6�7�	�
�F�F�4�L�	*�
)��
�	��	�s�"B�B)�B&�)	B5�4B5c���td�}t|�}|j|tj�|j|tj�|jdtj�y�Nr�r|)rfr�r�rT�
AsyncIterabler��rW�base_itr�
s   rY�test_async_iterablez'CollectionsAbcTests.test_async_iterable�sW����)��
!�'�
*�����b�&�"6�"6�7����b�&�"6�"6�7�� � ��V�%9�%9�:r[c��td�}t|�}|j|tj�|jdtj�yr�
)rfr�r�rTrmr�r�
s   rY�test_async_iteratorz'CollectionsAbcTests.test_async_iterator�sA����)��
!�'�
*�����b�&�"6�"6�7�� � ��V�%9�%9�:r[c��|jgtj�|jdtj�yr{)r�rTrr�r�s rY�
test_sizedzCollectionsAbcTests.test_sized�s*�����b�&�,�,�/�� � ��V�\�\�2r[c��|jgtj�|jdtj�yr{)r�rTr�	r�r�s rY�test_containerz"CollectionsAbcTests.test_container�s.�����b�&�"2�"2�3�� � ��V�%5�%5�6r[c�,�|jt�tj�|jt	�tj�|jttj�|jdtj�yr{)r�r�rT�
Collectionr�r�rr�r�s rY�test_collectionz#CollectionsAbcTests.test_collection�s^�����e�g�v�'8�'8�9����i�k�6�+<�+<�=����d�F�$5�$5�6�� � ��V�%6�%6�7r[c��|jt�tj�|j	dtj�yr{)r�rNrTr�	r�r�s rY�test_abstractsetz$CollectionsAbcTests.test_abstractset�s0�����c�e�V�%7�%7�8�� � ��V�%7�%7�8r[c��|jt�tj�|j	t�tj�yrS)r�rNrT�
MutableSetr�r�r�s rY�test_mutablesetz#CollectionsAbcTests.test_mutableset�s2�����c�e�V�%6�%6�7�� � ���f�.?�.?�@r[c��|jitj�|jdtj�yr{)r�rTr�r�r�s rY�test_mappingz CollectionsAbcTests.test_mapping�s*�����b�&�.�.�1�� � ��V�^�^�4r[c��|jitj�|jdtj�yr{)r�rTr!r�r�s rY�test_mutablemappingz'CollectionsAbcTests.test_mutablemapping�s.�����b�&�"7�"7�8�� � ��V�%:�%:�;r[c��|jgtj�|jdtj�yr{)r�rTr�	r�r�s rY�
test_sequencez!CollectionsAbcTests.test_sequence�r�
r[c��|jgtj�|jdtj�yr�)r�rT�MutableSequencer�r�s rY�test_mutablesequencez(CollectionsAbcTests.test_mutablesequence�s.�����b�&�"8�"8�9�� � ��V�%;�%;�<r[c�h�|jt�5|jdtj�ddd�|jt�5|jtd�tj�ddd�|jt�5Gd�dtj�}ddd�|jt�5Gd�dtjtj�}ddd�y#1swY��xYw#1swY��xYw#1swY�hxYw#1swYyxYw)Nr[c��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.FooNrpr_r[rYr�r�
�r�r[r�c��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.BarNrpr_r[rYr�r�
�r�r[r�)�assertWarns�DeprecationWarningr�rT�
ByteString�	bytearrayr�
rms   rY�test_bytestringz#CollectionsAbcTests.test_bytestring�s���
�
�
�0�
1��!�!�#�v�'8�'8�9�2�
�
�
�0�
1��!�!�)�C�.�&�2C�2C�D�2�
�
�
�0�
1�-�f�'�'�-�2�
�
�
�0�
1�?�f�'�'��)9�)9�?�2�
1�
2�
1��
1�
1��
1�
1��
1�
1�s/�!D�*D�D�)D(�D
�D�D%�(D1c�L�|jttj�yrS)r�r�rTrr�s rY�	test_listzCollectionsAbcTests.test_list�������d�F�K�K�0r[c���|jtjtj�Gd�dtjt
�}|j
|�tj�y)Nc��eZdZy)�/CollectionsAbcTests.test_deque.<locals>.MyDequeNrpr_r[rY�MyDequer�
�r�r[r�
)r�r�dequerTr�r�r�)rWr�
s  rY�
test_dequezCollectionsAbcTests.test_deque�sE�����k�/�/����>�-�f�l�l�3�'�-����g�i��):�):�;r[c�`�|jtjtj�yrS)r�r�CounterrTr�s rY�test_counterz CollectionsAbcTests.test_counter�s�����k�1�1�6�>�>�Br[c��|jttj�|j	t
tj�yrS)r�rNrTr�r�r�r�s rY�test_setzCollectionsAbcTests.test_set�s*�����c�6�:�:�.�� � ��F�J�J�7r[c��|jttj�|j	t
tj�yrS)r�r�rTr`	r�rNr�s rY�test_frozensetz"CollectionsAbcTests.test_frozenset�s.�����i��)9�)9�:�� � ��f�&6�&6�7r[c�L�|jttj�yrS)r�rrTr r�s rYr�zCollectionsAbcTests.test_dict�r�
r[c��td�}td�}|jt||fttftttf�|jt|tfttttf�|jtt|fttttf�|jt|t
|fttfttt
tf�|jt|t
tftttt
tf�|jt|t|fttfttttf�|jt|ttftttttf�y)Nr�r�)rr�r r�r�rr�)rWr�r�s   rY�test_dict_subscribez'CollectionsAbcTests.test_dict_subscribe�sK���C�L���C�L������a��d��C��H�-�t�C��H�~�>�����a��f��c�*�D��c��N�;�����c�1�f��c�*�D��c��N�;�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�����a��c��l�+�C�0�$�s�D��I�~�2F�G�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�����a��c��l�+�C�0�$�s�D��I�~�2F�Gr[c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrS)r}r~rTrrr�r�s rY�test_no_list_instantiationz.CollectionsAbcTests.test_no_list_instantiations{��
�
�
�y�
)��K�K�M�*�
�
�
�y�
)��K�K��N��*�
�
�
�y�
)��K�K����*�
)�	*�
)��
)�
)��
)�
)��#�B&�B2�B>�&B/�2B;�>Cc��Gd�dtjt�}|�}|j||�|j|tj�|j|t�|jt|�y)Nc��eZdZy)�6CollectionsAbcTests.test_list_subclass.<locals>.MyListNrpr_r[rY�MyListr�
r�r[r�
)rTrr�r�r�	r�r�r�)rWr�
rs   rY�test_list_subclassz&CollectionsAbcTests.test_list_subclass
sd��	�V�[�[��%�	�
�H�����a��(����a����1����f�d�+�� � ��v�.r[c��|jt�5tj�ddd�|jt�5tjtt
f�ddd�|jt�5tjttf�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwrS)r}r~rTr rrr�r�r�s rY�test_no_dict_instantiationz.CollectionsAbcTests.test_no_dict_instantiations���
�
�
�y�
)��K�K�M�*�
�
�
�y�
)��K�K��B���!�*�
�
�
�y�
)��K�K��S��!�#�*�
)�	*�
)��
)�
)��
)�
)��#�B2�"B>�"C
�2B;�>C�
Cc��Gd�dtjttf�}|�}|j	||�|j	|tj
�|j
|t�|jt|�y)Nc��eZdZy)�6CollectionsAbcTests.test_dict_subclass.<locals>.MyDictNrpr_r[rYr�	r�
 r�r[r�	)	rTr r�r�r�r!r�rr�)rWr�	r�s   rY�test_dict_subclassz&CollectionsAbcTests.test_dict_subclasssj��	�V�[�[��c��*�	�
�H�����a��(����a��!6�!6�7����f�d�+�� � ��v�.r[c��|jttj��tj
�|jttjttf��tj
�|jttjttf��tj
�yrS)
r�r�rTr�	rrrrr�r�r�s rY�test_defaultdict_instantiationz2CollectionsAbcTests.test_defaultdict_instantiation*�z���
�
�d�6�-�-�/�0�+�2I�2I�J��
�
�d�6�-�-�b�"�f�5�7�8�+�:Q�:Q�R��
�
�d�6�-�-�c�3�h�7�9�:�K�<S�<S�Tr[c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_defaultdict_subclass.<locals>.MyDefDictNrpr_r[rY�	MyDefDictr�
1r�r[r�
)	rTr�	r�r�r�r�rrr�)rWr�
�dds   rY�test_defaultdict_subclassz-CollectionsAbcTests.test_defaultdict_subclass/�b��	��*�*�3��8�4�	��[�����b�)�,����i��)@�)@�A�� � ��!8�!8�)�Dr[c��|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�yrS)	r�r�rT�OrderedDictrrrr�r�r�s rY�test_ordereddict_instantiationz2CollectionsAbcTests.test_ordereddict_instantiation:r�
r[c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_ordereddict_subclass.<locals>.MyOrdDictNrpr_r[rY�	MyOrdDictr�
Ar�r[r�
)rTr�
r�r�r�r�rr�)rWr�
�ods   rY�test_ordereddict_subclassz-CollectionsAbcTests.test_ordereddict_subclass?r�
r[c�@�|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�Gd�dtjt
tf�}|jt|ttf��|�y)Nc��eZdZy)�;CollectionsAbcTests.test_chainmap_instantiation.<locals>.CMNrpr_r[rY�CMr�
Nr�r[r�
)	r�r�rTr�	rrrr�r�)rWr�
s  rY�test_chainmap_instantiationz/CollectionsAbcTests.test_chainmap_instantiationJs����
�
�d�6�?�?�,�-�{�/C�/C�D��
�
�d�6�?�?�2�r�6�2�4�5�{�7K�7K�L��
�
�d�6�?�?�3��8�4�6�7��9M�9M�N�.�����R��(�.��
�
�d�<�2�c�3�h�<�>�*�B�/r[c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�>CollectionsAbcTests.test_chainmap_subclass.<locals>.MyChainMapNrpr_r[rY�
MyChainMapr�
Sr�r[r�
)rTr�	r�r�r�r�rr�)rWr�
rs   rY�test_chainmap_subclassz*CollectionsAbcTests.test_chainmap_subclassQs`��	�����c��2�	��\�����b�*�-����j�+�*>�*>�?�� � ��!5�!5�z�Br[c��|jttj��tj
�|jttjt��tj
�|jttjt��tj
�Gd�dtjt�}|jt|t��|�y)Nc��eZdZy)�7CollectionsAbcTests.test_deque_instantiation.<locals>.DNrpr_r[rYr:r�
`r�r[r:)r�r�rTr�rr�
rr��rWr:s  rY�test_deque_instantiationz,CollectionsAbcTests.test_deque_instantiation\s����
�
�d�6�<�<�>�*�K�,=�,=�>��
�
�d�6�<�<��?�,�-�{�/@�/@�A��
�
�d�6�<�<��,�.�/��1B�1B�C�%����Q��%��
�
�d�6�1�S�6�8�n�a�(r[c��|jttj��tj�|jttjt
��tj�|jttjt��tj�Gd�dtjt
�}|jt|t��|�y)Nc��eZdZy)�9CollectionsAbcTests.test_counter_instantiation.<locals>.CNrpr_r[rYr7r�
gr�r[r7)r�r�rTr�
rrr�r%s  rY�test_counter_instantiationz.CollectionsAbcTests.test_counter_instantiationcs����
�
�d�6�>�>�+�,�k�.A�.A�B��
�
�d�6�>�>�!�,�.�/��1D�1D�E��
�
�d�6�>�>�#�.�0�1�;�3F�3F�G�'����q�!�'��
�
�d�6�1�S�6�8�n�a�(r[c��Gd�dtjt�}|�}|j||�|j|tj�|j|tj�y)Nc��eZdZy)�JCollectionsAbcTests.test_counter_subclass_instantiation.<locals>.MyCounterNrpr_r[rY�	MyCounterrlr�r[r)rTr�
r�r�r)rWrr�s   rY�#test_counter_subclass_instantiationz7CollectionsAbcTests.test_counter_subclass_instantiationjsZ��	����s�+�	�
�K�����a��+����a����0����a��!4�!4�5r[c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrS)r}r~rTr�rr�r�s rY�test_no_set_instantiationz-CollectionsAbcTests.test_no_set_instantiationtsy��
�
�
�y�
)��J�J�L�*�
�
�
�y�
)��J�J�q�M�O�*�
�
�
�y�
)��J�J�s�O��*�
)�	*�
)��
)�
)��
)�
)�r�
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�BCollectionsAbcTests.test_set_subclass_instantiation.<locals>.MySetNrpr_r[rYrG
r
~r�r[rG
)rTr�r�r�)rWrG
r�s   rY�test_set_subclass_instantiationz3CollectionsAbcTests.test_set_subclass_instantiation|s/��	�F�J�J�s�O�	�
�G�����a��'r[c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrS)r}r~rTr`	rr�r�s rY�test_no_frozenset_instantiationz3CollectionsAbcTests.test_no_frozenset_instantiation�s���
�
�
�y�
)�����*�
�
�
�y�
)����Q��!�*�
�
�
�y�
)����S�!�#�*�
)�	*�
)��
)�
)��
)�
)�r�
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�NCollectionsAbcTests.test_frozenset_subclass_instantiation.<locals>.MyFrozenSetNrpr_r[rY�MyFrozenSetr�r�r[r)rTr`	r�r�)rWrr�s   rY�%test_frozenset_subclass_instantiationz9CollectionsAbcTests.test_frozenset_subclass_instantiation�s2��	�&�*�*�3�/�	�
�M�����a��-r[c�X�|jt�5t�ddd�|jt�5tt�ddd�|jt�5tt�ddd�y#1swY�hxYw#1swY�ExYw#1swYyxYwrS)r}r~rrr�r�s rY�test_no_tuple_instantiationz/CollectionsAbcTests.test_no_tuple_instantiation�sl��
�
�
�y�
)��G�*�
�
�
�y�
)��!�H�J�*�
�
�
�y�
)��#�J�L�*�
)�	*�
)��
)�
)��
)�
)�s"�B�B�-B �B�B� B)c�j�d�}|�}|jt|�tj�y)Nc3�K�d��y�wr{r_r_r[rYr`z/CollectionsAbcTests.test_generator.<locals>.foo�s�����H���)r�r�rT�	Generatorr�
s   rY�test_generatorz"CollectionsAbcTests.test_generator�s(��	��E�����d�1�g�v�'7�'7�8r[c��|jt�5tj�ddd�|jt�5tjtttf�ddd�|jt�5tjt
t
t
f�ddd�y#1swY��xYw#1swY�ZxYw#1swYyxYwrS)r}r~rTrrr�r�s rY�test_no_generator_instantiationz3CollectionsAbcTests.test_no_generator_instantiation�s���
�
�
�y�
)�����*�
�
�
�y�
)����Q��1�W�%�'�*�
�
�
�y�
)����S�#�s�]�+�-�*�
)�	*�
)��
)�
)��
)�
)�s#�B<�'C�'C�<C�C�Cc�j�d�}|�}|jt|�tj�y)Nc�K�d���y�wr{r_r_r[rYrXz3CollectionsAbcTests.test_async_generator.<locals>.f�s�����X���	)r�r�rT�AsyncGenerator)rWrXrs   rY�test_async_generatorz(CollectionsAbcTests.test_async_generator�s(��	�
�C�����d�1�g�v�'<�'<�=r[c��|jt�5tj�ddd�|jt�5tjttf�ddd�|jt�5tjt
t
f�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwrS)r}r~rTrrr�r�s rY�%test_no_async_generator_instantiationz9CollectionsAbcTests.test_no_async_generator_instantiation�s���
�
�
�y�
)��!�!�#�*�
�
�
�y�
)��!�!�!�Q�$�'�)�*�
�
�
�y�
)��!�!�#�s�(�+�-�*�
)�	*�
)��
)�
)��
)�
)�r�
c��Gd�dtj�}|jt�5|�ddd�Gd�d|�}|j	t|��d�|j
t|j��|j|�tj�Gd�dtjttf�}|j	t|��d�|j	t|ttf��d�|j	t|ttf��d�|jt|�|jt|�|j!|tj�|j!|tj�|j!|tj�|j|ttf�tj�|j|ttf�t"j$j�|j!|t"j$j�|j!|t"j$j�|j!|t"j$j�|jt�5t'|ttftj�ddd�|j!||�Gd�d	tj(�}|jt*|�Gd
�dtj,t.t.t.f�}d�}|j!|tj,�|j!|tj(�|j!|t"j$j,�|j!|t"j$j(�|jt1|�|�y#1swY���xYw#1swY��6xYw)
Nc��eZdZy)�1CollectionsAbcTests.test_subclassing.<locals>.MMANrpr_r[rY�MMAr%�r�r[r&c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMCc��yrSr_r	s  rYr�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__getitem__�r2r[c��yrSr_r	s   rYr�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__setitem__�r�r[c��yrSr_r	s  rYr	z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__delitem__�r�r[c��td�Sr�r	r�s rYrNz:CollectionsAbcTests.test_subclassing.<locals>.MMC.__iter__�r!	r[c��yrWr_r�s rYr#	z9CollectionsAbcTests.test_subclassing.<locals>.MMC.__len__�r�r[Nr$	r_r[rY�MMCr(�r&	r[r.rc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMBc��yrSr_r	s  rYr�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__getitem__�r2r[c��yrSr_r	s   rYr�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__setitem__�r�r[c��yrSr_r	s  rYr	z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__delitem__�r�r[c��td�Sr�r	r�s rYrNz:CollectionsAbcTests.test_subclassing.<locals>.MMB.__iter__�r!	r[c��yrWr_r�s rYr#	z9CollectionsAbcTests.test_subclassing.<locals>.MMB.__len__�r�r[Nr$	r_r[rY�MMBr0�r&	r[r6c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.INrpr_r[rYr�r8�r�r[r�c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.GNrpr_r[rYr�r:�r�r[r�c3�K�d��y�wrWr_r_r[rYrz/CollectionsAbcTests.test_subclassing.<locals>.g�s
����q��r)rTr!r}r~r�rr�r�
r'	r�r�rrr�r�rr�rrzr�r�r�rr�r�)rWr&r.r6r�r�rs       rY�test_subclassingz$CollectionsAbcTests.test_subclassing�s���	�&�'�'�	��
�
�y�
)��E�*�
	�#�
	�	
����S�U��Q�'��������,�-����c�e�V�^�^�4�
	�&�'�'��B��/�
	�	
����S�U��Q�'�����]�S��c��]�_�-�q�1�����[�S��R��[�]�+�Q�/�� � ��s�+�� � ��s�+����c�6�>�>�2����c�6�>�>�2����c�6�>�>�2����k�c�"�b�&�k�m�V�^�^�<����k�c�"�b�&�k�m�[�_�_�-D�-D�E����c�;�?�?�#:�#:�;����c�;�?�?�#:�#:�;����c�;�?�?�#:�#:�;�
�
�
�y�
)��s�3��8�}�f�n�n�5�*����c�3�'�%����%�� � ��q�)�5�� � ��c�3��/�5�����a��!1�!1�2����a����1����a����!:�!:�;����a����!9�!9�:�� � ��a��!�,�}*�
)��b*�
)�s�P/� (P<�/P9�<Qc�D�Gd�dtjttf�}d�}|j|tj�|j|tj�|j|t
jj�|j|t
jj�|jt|�|�|�}|j|tj�|j|tj�|j|t
jj�|j|t
jj�|jt|�|�|j||�y)Nc��eZdZd�Zdd�Zy)�?CollectionsAbcTests.test_subclassing_async_generator.<locals>.Gc��yrSr_r{s  rY�asendzECollectionsAbcTests.test_subclassing_async_generator.<locals>.G.asend�r�r[Nc��yrSr_)rW�typ�valr�s    rY�athrowzFCollectionsAbcTests.test_subclassing_async_generator.<locals>.G.athrowr�r[r_
)r\r]r^rArEr_r[rYr�r?�s��
�
r[r�c�K�d���y�wrWr_r_r[rYrz?CollectionsAbcTests.test_subclassing_async_generator.<locals>.gs
����Q�w�r)rTrr�r�r�
rrzr�r�r�r�)rWr�rr�s    rY� test_subclassing_async_generatorz4CollectionsAbcTests.test_subclassing_async_generator�s!��	��%�%�c�3�h�/�	�	����a��!6�!6�7����a��!5�!5�6����a����!?�!?�@����a����!>�!>�?�� � ��a��!�,��3�����h��(=�(=�>����h��(<�(<�=����h����(F�(F�G����h����(E�(E�F�� � ��a��!�,�� � ��A�&r[c���Gd�dtj�}Gd�d|�}Gd�d�}Gd�d�}|j||�|j||�|j||�y)	Nc��eZdZed��Zy)�?CollectionsAbcTests.test_subclassing_subclasshook.<locals>.Basec�$�|jdk(ryy)Nr�TF)r\rbs  rYrKzPCollectionsAbcTests.test_subclassing_subclasshook.<locals>.Base.__subclasshook__s���>�>�U�*�� r[Nrdr_r[rYre	rJs��
�
!��
!r[re	c��eZdZy)�<CollectionsAbcTests.test_subclassing_subclasshook.<locals>.CNrpr_r[rYr7rMr�r[r7c��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.FooNrpr_r[rYr�rOr�r[r�c��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.BarNrpr_r[rYr�rQ r�r[r�)rTr�r�r�)rWre	r7r�r�s     rY�test_subclassing_subclasshookz1CollectionsAbcTests.test_subclassing_subclasshooksV��	!�6�?�?�	!�	����������c�4�(����c�1�%�� � ��a�(r[c���Gd�dtj�}Gd�d|�}Gd�d�}|j|�|j||�|j	||�Gd�d�}|j|�|j||�|j||�Gd	�d
�}t
jjj|�|j|tj�y)Nc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.ANrpr_r[rYr�rU'r�r[r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.BNrpr_r[rYr�rW(r�r[r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.CNrpr_r[rYr7rY*r�r[r7c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.DNrpr_r[rYr:r[/r�r[r:c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.MNrpr_r[rYr�r]4r�r[r�)	rTr�	r�r�r�rrzr!r�)rWr�r�r7r:r�s      rY�test_subclassing_registerz-CollectionsAbcTests.test_subclassing_register%s���&�� � �&������	�
�
�1�
����a��#�� � ��A�&���	�
�
�1�
����a��#����a��#������&�&�/�/��2����a����0r[c���Gd�dtjj�}|j|tj�|j|tj
�Gd�dtjj�}|j|tj�|j|tj
�Gd�dtjj
�}|j|tj
�Gd�dtjjtj�	�}Gd
�d�}|j|�|j|tj�y)Nc��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.MNrpr_r[rYr�ra:r�r[r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.SNrpr_r[rYr�rc>r�r[r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.INrpr_r[rYr�reBr�r[r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.ANrpr_r[rYr�rgEr�r[r�r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.BNrpr_r[rYr�riFr�r[r�)	rrzr�r�rTr�r�
rMr�)rWr�r�r�r�r�s      rY�test_collections_as_basez,CollectionsAbcTests.test_collections_as_base8s���-����'�'�-����a����0����a����1�5����/�/�5����a��!7�!7�8����a����1�.����(�(�.����a����1�D����'�'�3�;�;�D���	�
�
�1�
����a����0r[c�\�|jtjtjzttjtjf�|jtj
tjzttj
tjf�yrS)r�rTrr�
rr�
r
r�s rYrz#CollectionsAbcTests.test_or_and_rorJsk���������(8�(8�8�%����f�N^�N^�@^�:_�`�����)�)�F�O�O�;�U�6�CS�CS�U[�Ud�Ud�Cd�=e�fr[N)7r\r]r^r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
rrrrr
rrrrr r"r<rGrRr^rjrr_r[rYr}
r}
ys��6�	5�6�
��;�;�3�7�8�9�A�5�<�6�=�@�1�<�
C�8�8�1�	H��
/�$�
/�U�
	E�U�
	E�0�	C�)�)�6��(�$�.��9�.�>�.�C-�J'�.)�"1�&1�$gr[r}
c��eZdZd�Zd�Zy)�
OtherABCTestsc��tjd��}|�}|j|tj�|jdtj�y)Nc3�K�d��y�wr{r_r_r[rY�managerz2OtherABCTests.test_contextmanager.<locals>.managerR������H�rr|)�
contextlib�contextmanagerr�rTrlr�)rWrprs   rY�test_contextmanagerz!OtherABCTests.test_contextmanagerQsO��	�	"�	"�	�
#�	��Y�����b�&�"7�"7�8�� � ��V�%:�%:�;r[c��Gd�d�}|jt�tj�|j	|�tj�t
jd��}|�}|j	|tj�|jtjtjtf�|jt�5tdtjt�ddd�|jt�5tjttfddd�y#1swY�ExYw#1swYyxYw)Nc��eZdZy)�7OtherABCTests.test_async_contextmanager.<locals>.NotACMNrpr_r[rY�NotACMrw[r�r[rxc3�K�d��y�wr{r_r_r[rYrpz8OtherABCTests.test_async_contextmanager.<locals>.manager_rqrr|)r�r�rT�AsyncContextManagerr�rrrsr�r�r�r}r~rr�)rWrxrprs    rY�test_async_contextmanagerz'OtherABCTests.test_async_contextmanagerZs���	�	����c�e�V�%?�%?�@�� � ���6�+E�+E�F�	�	"�	"�	�
#�	��Y��� � ��V�%?�%?�@�����3�3�C�8�A�A�C�6�J�
�
�
�y�
)��r�6�5�5�c�:�;�*�
�
�
�y�
)��&�&�s�C�x�0�*�
)�*�
)��
)�
)�s� "E�E�E�EN)r\r]r^rtr{r_r[rYrmrmOs��<�1r[rmc��eZdZd�Zd�Zd�Zy)�	TypeTestsc�r�Gd�d�}Gd�d|�}Gd�d|�}dt|d|fd	�}||�y)
Nc��eZdZy)�'TypeTests.test_type_basic.<locals>.UserNrpr_r[rY�Userr�pr�r[r�c��eZdZy)�,TypeTests.test_type_basic.<locals>.BasicUserNrpr_r[rY�	BasicUserr�qr�r[r�c��eZdZy)�*TypeTests.test_type_basic.<locals>.ProUserNrpr_r[rY�ProUserr�rr�r[r��
user_classr�c��|�SrSr_�r�s rY�new_userz+TypeTests.test_type_basic.<locals>.new_usert�
���<�r[r4)rWr�r�r�r�s     rY�test_type_basiczTypeTests.test_type_basicns9����#��#�!�d�!�	 ��d��	 ��	 �	��r[c��Gd�d�}Gd�d|�}Gd�d|�}td|��}d	t|d
|fd�}||�y)Nc��eZdZy)�)TypeTests.test_type_typevar.<locals>.UserNrpr_r[rYr�r�{r�r[r�c��eZdZy)�.TypeTests.test_type_typevar.<locals>.BasicUserNrpr_r[rYr�r�|r�r[r�c��eZdZy)�,TypeTests.test_type_typevar.<locals>.ProUserNrpr_r[rYr�r�}r�r[r�r�rur�r�c��|�SrSr_r�s rYr�z-TypeTests.test_type_typevar.<locals>.new_user�r�r[)rr5)rWr�r�r�r�r�s      rY�test_type_typevarzTypeTests.test_type_typevarysE����#��#�!�d�!��C�t�$��	 ��a��	 �Q�	 �	��r[c��ttt}d|dttfd�}|j|t�t�|j|d��y)Nrr�c��|�y|�SrSr_r
s rYr`z)TypeTests.test_type_optional.<locals>.foo�s���y���s�
r[)rr5�
BaseExceptionr��KeyboardInterrupt�assertIsNone)rWr�r`s   rY�test_type_optionalzTypeTests.test_type_optional�sT���T�-�(�)��	�1�	��-�0�	�	
���c�"3�4�6G�H����#�d�)�$r[N)r\r]r^r�r�r�r_r[rYr}r}ls��	��
%r[r}c��eZdZdgZd�Zy)�TestModules�_idfuncc�z�|jD],}|jtt|�jd��.y)N�_typing)�
func_namesr�r�	rTr])rW�fnames  rY�test_c_functionszTestModules.test_c_functions�s-���_�_�E����W�V�U�3�>�>�	�J�%r[N)r\r]r^r�r�r_r[rYr�r��s����J�Kr[r�c�\�eZdZed��Zed��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
y)�NewTypeTestsc��tjdt�atj|jdzt
�|_y)N�UserId�	.UserName)rT�NewTyper�r�r^r��UserNamer�s rY�
setUpClasszNewTypeTests.setUpClass�s1������#�.���~�~�c�&6�&6��&D�c�J��r[c�
�b|`yrS)r�r�r�s rY�
tearDownClasszNewTypeTests.tearDownClass�s��
��Lr[c���|jtd�t�|j|jd�t�|jtd�dzd�y)NrU�Joerb�)r�r�r�r�r�r�r�s rYrzNewTypeTests.test_basic�sG�����f�Q�i��-����d�m�m�E�2�C�8�������Q���*r[c���|jt�5ttt�ddd�|jt�5Gd�dt�}ddd�y#1swY�7xYw#1swYyxYw)Nc��eZdZy)�#NewTypeTests.test_errors.<locals>.DNrpr_r[rYr:r��r�r[r:)r}r~r�r�r�r�
s  rYr�zNewTypeTests.test_errors�sQ��
�
�
�y�
)��v�s�#�*�
�
�
�y�
)�
�F�
�*�
)�*�
)��
)�
)�s�A!�A-�!A*�-A6c��t|jfD]�}|j|��5|jt|zt
jt|f�|j|tzt
j|tf�|jtjt|z�t|f�|jtj|tz�|tf�ddd���y#1swY��xYw)Nr�)r�r�rir�r�rTrr-)rWr�s  rYr�zNewTypeTests.test_or�s�������'�C����#��&�� � ��#��v�|�|�F�C�K�/H�I�� � ��v��v�|�|�C��K�/H�I�� � �����#��!>���
�N�� � �����v��!>��f�
�N�'�&�(�&�&�s�CC8�8D	c�J�|jtjd�|jtjd�|jtjt�|jtj
t�|j}|j|jd�|j|j|jjdz�|j|jt�|j|j
t�y)Nr�r�r�)
r�r�r\r^r]�
__supertype__r�r�r�r�)rWr�s  rY�test_special_attrszNewTypeTests.test_special_attrs�s���������(�3�����,�,�h�7�����*�*�H�5�����-�-�s�3��=�=������*�*�J�7�����.�.����4�4�{�B�	D�����,�,�h�7�����/�/��5r[c���|jtt�t�d��|jt|j�t�d|j
j�d��y)Nz.UserIdr�	r�)r�r�r�r\r�r�r^r�s rYr�zNewTypeTests.test_repr�sR������f��(��7�';�<�����d�m�m�,�$�:�Q�t�~�~�'B�'B�&C�9�M�	Or[c��tjdt�}ttj
dz�D]�}|j
|��5t	jt|�}t	j|�}|j|t�t	j|j|�}t	j|�}|j||j�|jtj�5t	j||�ddd�ddd���y#1swY�xYw#1swY��xYw)N�UserAgerbrd)rTr�rprfrgrhrirfr�rer�r�r}�
PicklingError)rWr�re�pickledr"s     rYr#zNewTypeTests.test_pickle�s����.�.��E�2���6�2�2�Q�6�7�E����E��*� �,�,�v�u�5�����g�.���
�
�f�f�-� �,�,�t�}�}�e�<�����g�.���
�
�f�d�m�m�4��&�&�v�';�';�<��L�L��%�0�=�+�*�8�=�<��+�*�s%�B6D8�D,�D8�,D5�1D8�8E	c� �d}t|i�y)Nz-import typing
NT = typing.NewType('NT', int)
r�r�s  rYr�z!NewTypeTests.test_missing__name__�s��3��	
�T�2�r[c��|jttjd��5Gd�dt�}ddd�y#1swYyxYw)NzpCannot subclass an instance of NewType. Perhaps you were looking for: `ProUserId = NewType('ProUserId', UserId)`c��eZdZy)�CNewTypeTests.test_error_message_when_subclassing.<locals>.ProUserIdNrpr_r[rY�	ProUserIdr��r_	r[r�)r�r~r�r�r�)rWr�s  rY�#test_error_message_when_subclassingz0NewTypeTests.test_error_message_when_subclassing�s@��
�
#�
#���I�I�=�
�
�
�F�
�
�
�
�s�A�AN)r\r]r^rer�r�rr�r�r�r�r#r�r�r_r[rYr�r��sT���K��K�
����
+�
�O�6�O�

1��	r[r�c�v�eZdZGd�de�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�NamedTupleTestsc�"�eZdZUeed<eed<y)�NamedTupleTests.NestedEmployeer�r�Nr�r_r[rY�NestedEmployeer��s���	��	r[r�c��tddtfdtfg�}|j|t�|dd�}|dd��}|j||�|j|t�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jtjdtfdtfg��y)	N�Empr��idr�r|�Jimrb�r�r�)r6r�r�r�r�r�r�r�r�r\�_fieldsr�rr�
)rWr��joe�jims    rYr.zNamedTupleTests.test_basics�s����&�#���s�� <�=�����c�5�)��%��n���u��#�����c�3�'����c�5�)�������5�)��������$�������5�)��������#�������u�-�������n�5�����,�,�$�0�0�6�3�-�$���1M�N�	Pr[c���tdd�}|j|t�|j|t�|j|jd�|j|j
d�|jtjd�|jtjd�|jtjtjtt���y)N�Timi(#r��r�r�)
r�r�r�r�r�r�r\r�r�rr�
r�r�)rW�tims  rY�test_annotation_usagez%NamedTupleTests.test_annotation_usages����5�$�'�����c�<�0����c�5�)�������5�)�������4�(�����.�.��?�����-�-�/?�@�����5�5�$�0�0�c��D�	Fr[c���td�}|j|t�|j|t�|j|jd�|j|j
d�tdd�}|j|j
d�|jtjd�|jtjd�|jtjttt���|jtjtd���|jt�5Gd�d	t�}ddd�y#1swYyxYw)
N�Jeller�Sjoerdrbr�r�)r�c�&�eZdZUdZeed<eed<y)�RNamedTupleTests.test_annotation_usage_with_default.<locals>.NonDefaultAfterDefaultrOr�r�N)r\r]r^r�r�r�r_r[rY�NonDefaultAfterDefaultr� s����3�
��r[r�)r�r�r�r�r�r�r\r�r�rr�r��_field_defaultsr}r~r6)rW�jelle�cooler_employeer�s    rY�"test_annotation_usage_with_defaultz2NamedTupleTests.test_annotation_usage_with_defaults	��'��0�����e�%<�=����e�U�+�������W�-�������Q�'�1�(�A�>������-�-�q�1����0�9�9�;T�U����0�8�8�:J�K����0�@�@��3�S�1�	3����0�@�@�$�A�,�O�
�
�
�y�
)�
��
�*�
)�
)�s�
E#�#E,c�4�|jtd�j�d�|jtd�jtd�d�|jt	td��d�|jtdd�td�zd�|j
t�5Gd�dt�}ddd�|j
t�5Gd	�d
t�}ddd�y#1swY�7xYw#1swYyxYw)Nrbr�r|rz42 -> 1rOc��eZdZUeed<d�Zy)�DNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBadr�c��y)Nzno chance for thisr_r�s rYr�zLNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad._fields-s��/r[N)r\r]r^r�r�r�r_r[rY�XMethBadr�+s����0r[r�c��eZdZUeed<d�Zy)�ENamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2r�c��y)Nzno chance for this as wellr_r�s rY�_sourcezMNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2._source3s��7r[N)r\r]r^r�r�r�r_r[rY�	XMethBad2r�1s����8r[r�)	r�r�r�r�r�r�r}rr6)rWr�r�s   rY�"test_annotation_usage_with_methodsz2NamedTupleTests.test_annotation_usage_with_methods$s�������q����*�A�.�����r����e�B�i��l�3�����U�2�Y���3�����q�!��u�Q�x�/��3�
�
�
�~�
.�
0�:�
0�/��
�
�~�
.�
8�J�
8�/�
.�
/�
.��/�
.�s�<D�)D�D�Dc��Gd�d�}|jt�5Gd�dt|�}ddd�|jt�5Gd�dtt�}ddd�|jt�5Gd�dtt�}ddd�Gd	�d
t�}|jt�5Gd�dt|�}ddd�y#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)
Nc��eZdZy)�4NamedTupleTests.test_multiple_inheritance.<locals>.ANrpr_r[rYr�r�7r�r[r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Xr�Nr�r_r[rYr�r�:r�r[r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Yr�Nr�r_r[rYr�r�=r�r[r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Zr�Nr�r_r[rYr�r�@r�r[r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Br�Nr�r_r[rYr�r�Brrr[r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Cr�Nr�r_r[rYr7r�Er�r[r7)r}r~r6r�)rWr�r�r�r�r�r7s       rYr1
z)NamedTupleTests.test_multiple_inheritance6s���	�	�
�
�
�y�
)�
�J��
�*��
�
�y�
)�
�J��
�*��
�
�y�
)�
�J�
�
�*�	�
�	�
�
�
�y�
)�
�J��
�*�
)�*�
)��*�
)��*�
)��
*�
)�s/�C�C'�C3�C?�C$�'C0�3C<�?Dc��Gd�dttt�}|j|jt
tf�|j|jtttf�|j|j|t
ttf�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�||fD�]|}|j|��5|j|jtf�|j|tjtf�|jt|t�tf�|t}|j|j|�|j|jtf�|jt|�tf�|j|jd�|d�}|jt!|�|�|j|j"d�|j%t&�5|tt(fddd�ddd���y#1swY�xYw#1swY���xYw)Nc��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.Xr�Nr�r_r[rYr�r�I����Dr[r�c��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.Yr�Nr�r_r[rYr�r�Or�r[r��r�r_rO)r6r#rr�r0	r�r5	r�r�rir�r�r-r�r�r�r�r�r}r~r�)rWr�r�r�r�rs      rY�test_genericzNamedTupleTests.test_genericHs���	�
�G�A�J�	�������u�g�&6�7�����)�)�J���
�+C�D�������Q��w��$?�@�	���
�J�	�������w��&6�7�����)�)�G�A�J�
�+C�D�������Q����$?�@��A��A����1��%�� � ��!1�!1�A�4�8�� � ��1������5�� � ��!�A�$��!��6��c�F���
�
�a�l�l�A�.�� � ����c�V�4�� � ��!��s�f�5�� � ��!1�!1�2�6��a�D���
�
�d�1�g�q�)�� � ����a�(��&�&�y�1��c�3�h�K�2�&�%��2�1��&�%�s%�EK�J:�&K�:K�?K�K	c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|j|j|f�|j|tjtf�|j|tjd�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�.NamedTupleTests.test_generic_pep695.<locals>.Xr�Nrr�s��rYr�rh�
�����Dr[r�)r6r�s @@rYz<generic parameters of X>zFNamedTupleTests.test_generic_pep695.<locals>.<generic parameters of X>hs����	�	�:�	r[rr_)rkr�rr�r\r0	r�r#r5	r6r�r�r�r�r�)rWr�rs   rY�test_generic_pep695z#NamedTupleTests.test_generic_pep695gs���	�
�
�
������a��)�������S�)�������u�g�&6�7�����)�)�J���
�+C�D�������Q��w��$?�@�����)�)�A�4�0�����3����3�&�1�����3��.�.��3r[c�Z�Gd�dt�}|t}|j|j|�|j|jd�|j|j
tf�|ddg�}|j
t|�|�|j|ddgf�y)Nc�(�eZdZUeed<eeed<y)�9NamedTupleTests.test_non_generic_subscript.<locals>.Groupr��groupN)r\r]r^rr�r�r_r[rY�Grouprws���F���7�Nr[r
r_rbr�)r6r�r�r�r�r�r�r�)rWr
r�rs    rYr�
z*NamedTupleTests.test_non_generic_subscriptts���	�J�	�
�#�J��������u�-�����)�)�2�.�������c�V�,�
�a�!��I���
�
�d�1�g�u�%�����Q���H�%r[c��tdtt��}|dd�}|j|t�|j|jd�|j|jd�|j|jd�|j|jttt���|jt�5tddtfgt��ddd�y#1swYyxYw)N�
LocalEmployee)r��age�Nick��Namer�r�)
r6r�r�r�r�r�r�r\r�r�rr}r~)rWr�nicks   rY�test_namedtuple_keyword_usagez-NamedTupleTests.test_namedtuple_keyword_usage�s���"�?��#�F�
��V�R�(�����d�E�*�������F�+�����/�/��A�����.�.��@�����6�6��#�3�8O�P�
�
�
�y�
)��v��c�
�|�s�3�*�
)�
)�s�C1�1C:c���tdtttt��}|j|jd�|j|jd�|tdddtfg��}|j|jt�|j|jd�|j|jd�|j|jdtfg�y)Nr�)r�rW�typename�fieldsr|r`r)
r6r�r�r�r�r�r\r�r�r�rWrr)rWr�rs   rY�%test_namedtuple_special_keyword_namesz5NamedTupleTests.test_namedtuple_special_keyword_names�s���
��$�V�c�$�
O��������d�+�������%J�K��3�R�%�%���8H�I���������$��������$�������U�+�������U�E�N�#3�4r[c�n�td�}Gd�dt�}||fD]�}|j|��5|j|jd�|j|ji�|j|j
i�|j
|�|�ddd���y#1swY��xYw)Nr�c��eZdZy)�2NamedTupleTests.test_empty_namedtuple.<locals>.CNTNrpr_r[rY�CNTr�r�r[r)�structr_)r6rir�r�r�r�r�)rWr�rrs    rY�test_empty_namedtuplez%NamedTupleTests.test_empty_namedtuple�s���
��
��	�*�	��3�i�F����V��,�� � �����4�� � ��!7�!7��<�� � ��!7�!7��<��%�%�f�h��7�	-�,� �,�,�s�A,B+�+B4	c�^�|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt
�5tddtfg�ddd�|jt�5tdtt��ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�bxYw#1swYyxYw)Nr�r��_name)rr�r�)r}r~r6r�r�r�r�r�s rY�test_namedtuple_errorsz&NamedTupleTests.test_namedtuple_errors�s���
�
�
�y�
)���� �*�
�
�
�y�
)��L�*�
�
�
�y�
)��u���}�o�t�4�*�
�
�
�z�
*��u���~�.�/�+�
�
�
�y�
)���C�C�8�*�
)�*�
)��
)�
)��
)�
)��
*�
*��
)�
)�s;�C3�C?�0D�"D�D#�3C<�?D�D�D �#D,c�n�tddtfdtfg�att|j
fD]�}|j
|��5|dd�}ttjdz�D]Q}tj||�}tj|�}|j||�|j||��St|�}|j||�|j||�t|�}|j||�|j||�ddd���y#1swY��xYw)Nr�r�r�r��jane�%rb)r6r�r�r�r�r�rirfrgrhrfrer�r�rr)rWr�r!rerQ�jane2s      rY�test_copy_and_picklez$NamedTupleTests.test_copy_and_pickle�s����&�#����
� >�?����d�&9�&9�9�C����#��&��6�2���"�6�#:�#:�Q�#>�?�E����T�5�1�A�"�L�L��O�E��$�$�U�D�1��)�)�%��5�	@��T�
��� � ���-��%�%�e�S�1� ����� � ���-��%�%�e�S�1�'�&�:�&�&�s
�CD*�*D4	c�T�td�}Gd�dt�}Gd�dtt|�}|j|jtf�|j|jtt|f�tdg�}|j|jtf�y)Nrc��eZdZy)�9NamedTupleTests.test_orig_bases.<locals>.SimpleNamedTupleNrpr_r[rY�SimpleNamedTupler'�r�r[r(c��eZdZy)�:NamedTupleTests.test_orig_bases.<locals>.GenericNamedTupleNrpr_r[rY�GenericNamedTupler*�r�r[r+�CallNamedTuple)rr6r#r�r5	)rWrr(r+r,s     rYr6	zNamedTupleTests.test_orig_bases�s����C�L��	�z�	�	�
�G�A�J�	�	
���)�8�8�:�-�H����*�9�9�J��PQ�
�;S�T�#�$4�b�9������6�6��
�Fr[N)r\r]r^r6r�r.r�r�r�r1
r�rr�
rrrrr$r6	r_r[rYr�r��sW�����P� 	F��(8�$�$ �>4�&�	4�5�8�
9�2�(Gr[r�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�Zy)�TypedDictTestsc���tdttd��}|j|t�|j|t
j�|j|tjj�|dd��}|jt|�t�|j|dd�|j|dd�|j|jd�|j|jt�|j|j tf�|j|j"ttd��|j|j$d�|j|j&ddh�|j)|j&t*�|j|j,t/��|j)|j,t*�y�Nr�r�r�rbr�r�T)r9r�r�r�rrTr!r�rrzr�	r�r�r�r\r]r0	r��	__total__�__required_keys__r�r��__optional_keys__rN�rWr�r�s   rY�test_basics_functional_syntaxz,TypedDictTests.test_basics_functional_syntax�sd�����3�7�8�����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�����.�.����?����c�3�3�Y�?�����.�.���6����c�3�3�Y�?r[c�,�|jt�5tdtt��}ddd�|jt�|j|tj�|j|tjj�|dd��}|jt|�t�|j|dd�|j|dd�|j|j d�|j|j"t �|j|j$tf�|j|j&ttd��|j|j(d�y#1swY��^xYwr0)r�
r�
r9r�r�r�rrTr!r�rrzr�	r�r�r�r\r]r0	r�r1r4s   rY�test_basics_keywords_syntaxz*TypedDictTests.test_basics_keywords_syntax�s ��
�
�
�0�
1��E���4�C�2����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�2�
1�s�F	�	Fc
��|jt�5tdttt
ttt��}ddd�|jjd�|j|jttt
tttd��|t
ddddtfgdth��}|j|dt
�|j|d	d�|j|d
d�|j|dd�|j|ddtfg�|j|d
dth�y#1swY��xYw)N�TD)r�rWr�	_typenamerr�r|r`�5rr_r�rWrr:rr�)r�
r�
r9r�r�r�r�r�rr�r\r�r�rN)rWr9rs   rY�$test_typeddict_special_keyword_namesz3TypedDictTests.test_typeddict_special_keyword_names�s"��
�
�
�0�
1��4�T���PS�\`�jn�o�B�2�������d�+�����+�+�T�6�WZ�il�x|�JN�.O�	P��3�R�%�2��u�~�FV�af�hk�`l�m������5��3�'�����6��B�'�����:���.�����;���,�����8���u�~�&6�7�����9���s�|�4�2�
1�s�+E�Ec���|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt�5tdtt
��ddd�y#1swY��xYw#1swY�|xYw#1swY�VxYw#1swYyxYw)Nr�r�)r:r�r�)r}r~r9r�r�r�r�s rY�test_typeddict_create_errorsz+TypedDictTests.test_typeddict_create_errorss���
�
�
�y�
)�����*�
�
�
�y�
)��K�*�
�
�
�y�
)��e�v�s�m�_�d�3�*�
�
�
�y�
)���C�C�8�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C�0C�"C&�C�C�C#�&C/c�X�tdttd��}|jtjd�|dd��}|jt�5ti|�ddd�|jt�5t||�ddd�|jt�5tt|�ddd�|jt�5tddtfgt��ddd�y#1swY��xYw#1swY�{xYw#1swY�YxYw#1swYyxYw)	Nr�r�rTr�rb�Hir�r�)
r9r�r�r�r]r}r~rr�rr4s   rY�test_typeddict_errorsz$TypedDictTests.test_typeddict_errorss������3�7�8������-�-�x�8��u��#��
�
�
�y�
)��r�3��*�
�
�
�y�
)��s�C� �*�
�
�
�y�
)��t�S�!�*�
�
�
�y�
)��d�c�3�Z�L�C�0�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s0�
C<�
D�+D�D �<D�D�D� D)c�r�|jtjd�|jtjt�|jtjt
t
td��|jtjtf�|jtjd�|jttj�tdd��}|j|dd�|j|dd�tddd	��}|j|d
d	�y)Nr�r�Trrbr�r�r��hir�)r�r�r\r]r�r�r�r0	rr1r�rTr�	r�)rW�
not_originrcs   rY�test_py36_class_syntax_usagez+TypedDictTests.test_py36_class_syntax_usages�������.�.��?�����0�0�(�;�����5�5�S�s�UX�7Y�Z�����/�/�$��9�����/�/��6�� � ��v���?��q�A�&�
�����C��!�,�����C��!�,��q�A�T�2������w���.r[c���tdttd��atddd��}t	t
jdz�D]�}tj||�}tj|�}|j||�|j|ddd��tjt|�}tj|�}|j|ddd��|���y)N�EmpDr�r!r"rb)
r9r�r�rGrfrgrhrfrer�)rWr!rerQr#�ZZ�EmpDnews       rYr#zTypedDictTests.test_pickle*s�����#�S�!9�:���V�2�.�/���6�2�2�Q�6�7�E����T�5�)�A��L�L��O�E����U�D�)����U�V�2�$>�?����d�E�*�B��l�l�2�&�G����W�f�B�%?�@�$�G�8r[c��tdd��}ttjdz�D]�}tj||�}tj
|�}|j
||�|j
|ddd��tjt|�}tj
|�}|j
|ddd��|���y)Ng@g@rvrb)r�rfrgrhrfrer�)rW�pointrerQ�point2rH�Point2DGenericNews       rY�test_pickle_genericz"TypedDictTests.test_pickle_generic7s������,���6�2�2�Q�6�7�E����U�E�*�A��\�\�!�_�F����V�U�+����V�3�S�%9�:����n�e�4�B� &���R� 0�����.�S�s�/C�D�e�L�8r[c��tdttd��}|jtj
|tjd|f�|jtj|tj|�y)NrGr�)
r9r�r�r�rTrrr�rr)rWrGs  rYr�zTypedDictTests.test_optionalBs[����#�S�!9�:���������.����T�4�Z�0H�I����F�K�K��-�v�|�|�D�/A�Br[c��tddtid��}|j|�i�|j|d��ddi�|j|jd�|j|jt��|j
|jt
�|j|jdh�|j
|jt
�|jt�i�|jtd��d	di�|jtjd�|jtjt��|jtjd	d
h�y)Nr:r�Fr�rbr�r�)r�r�r�)	r9r�r�r1r2r�r�r3r�r�
s  rY�
test_totalzTypedDictTests.test_totalHs#���c�C��:�U�3�������b�!�����Q��#�q��*�������e�,�����,�,�i�k�:����a�1�1�9�=�����,�,�s�e�4����a�1�1�9�=������B�'�����1�-��Q�/?�@�����*�*�E�2�����2�2�I�K�@�����2�2�[�*�4M�Nr[c�@�Gd�dtd��}|j|jtddg��|j	|jt�|j|j
tdg��|j	|j
t�y)Nc��eZdZUeed<y)�6TypedDictTests.test_optional_keys.<locals>.Point2Dor3DrQNr�r_r[rY�Point2Dor3DrTYrrr[rUFr�r�r�rQ)r�r�r2r�r�r3)rWrUs  rY�test_optional_keysz!TypedDictTests.test_optional_keysXsz��	�'��	�	
����6�6�	�3��*�8M�N����k�;�;�Y�G�����6�6�	�3�%�8H�I����k�;�;�Y�Gr[c��Gd�dt�}Gd�d|d��}Gd�d|�}|j|jtd	g��|j|jtg��|j|j
d	ti�|j|jtd	g��|j|jtd
dg��|j|j
tttd��|j|jtd	d
g��|j|jtd
dg��|j|j
ttttd��y)Nc��eZdZUeed<y)�8TypedDictTests.test_keys_inheritance.<locals>.BaseAnimalr�Nr�r_r[rY�
BaseAnimalrYbr�r[rZc�"�eZdZUeed<eed<y)�4TypedDictTests.test_keys_inheritance.<locals>.Animal�voice�tailN)r\r]r^r�r�rr_r[rY�Animalr\es���J��Jr[r_Fr�c��eZdZUeed<y)�1TypedDictTests.test_keys_inheritance.<locals>.Cat�	fur_colorNr�r_r[rY�Catrais���Nr[rcr�r^r])r�r^r]rb)rbr�r^r])r9r�r2r�r3r�r�r)rWrZr_rcs    rY�test_keys_inheritancez$TypedDictTests.test_keys_inheritanceasE��	��	�	�Z�u�	�	�&�	�	
����5�5�y�&��7J�K�����5�5�y��}�E�����3�3�f�c�]�C�����1�1�9�f�X�3F�G�����1�1�9�f�g�=N�3O�P�����/�/����2
�	�	
����.�.�	�6�;�:O�0P�Q�����.�.�	�6�7�:K�0L�M�����,�,�����	/
�	r[c���Gd�dtd��}Gd�d|�}|j|jt��|j|jtdg��|j|jtdg��|j|jt��Gd�d	t�}Gd
�d|�}|j|jtdg��|j|jtdg��|j|jtdg��|j|jtdg��y)
Nc��eZdZUeed<y)�ETypedDictTests.test_keys_inheritance_with_same_name.<locals>.NotTotalrNr�r_r[rY�NotTotalrg�rrr[rhFr�c��eZdZUeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.TotalrNr�r_r[rY�Totalrj�rrr[rkrc�.�eZdZUeeed<eeed<y)�ATypedDictTests.test_keys_inheritance_with_same_name.<locals>.Baserr�N)r\r]r^r7r�r�r8r_r[rYre	rm�s���3�����}�r[re	c�.�eZdZUeeed<eeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.Childrr�N)r\r]r^r8r�r�r7r_r[rYr"ro�s����}���3��r[r"r�)r9r�r2r�r3)rWrhrkre	r"s     rY�$test_keys_inheritance_with_same_namez3TypedDictTests.test_keys_inheritance_with_same_name�s��	�y��	�	�H�	�	
����3�3�Y�[�A�����3�3�Y��u�5E�F�����0�0�)�S�E�2B�C�����0�0�)�+�>�	�9�	�	 �D�	 �	
����/�/��C�5�1A�B�����/�/��C�5�1A�B�����0�0�)�S�E�2B�C�����0�0�)�S�E�2B�Cr[c�>�Gd�dt�}Gd�dt�}Gd�d||�}|j|jdtti�|j|j
t
dg��|j|jt
��y)Nc��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base1rNr�r_r[rY�Base1rs�s
���3��r[rtc��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base2rNr�r_r[rY�Base2rv�s����}�r[rwc��eZdZy)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.ChildNrpr_r[rYr"ry�r�r[r"r)r9r�r�r8r�r2r�r3)rWrtrwr"s    rY�'test_multiple_inheritance_with_same_keyz6TypedDictTests.test_multiple_inheritance_with_same_key�s~��	 �I�	 �	�I�	�	�E�5�	�	
����.�.��h�s�m�0D�E�����0�0�)�S�E�2B�C�����0�0�)�+�>r[c��|jtjtdh��|jtjtdh��|jt
jtdh��|jt
jtdh��|jtjjt��|jtjjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��y)Nr�r^r)r�r�r2r�r3r�rOrh
r�r�r�r�r�s rY�test_required_notrequired_keysz-TypedDictTests.test_required_notrequired_keys�s�������8�8�"�G�9�-�	/�����8�8�"�F�8�,�	.�	
����5�5�"�G�9�-�	/�����5�5�"�F�8�,�	.�	
���+�9�9�K�K�"��	&����+�9�9�K�K�"�C�5�)�	+�	
����9�9�"�G�9�-�	/�����9�9�"�F�8�,�	.�	
���+�=�=�"�G�9�-�	/����+�=�=�"�F�8�,�	.�	
����:�:�"�G�9�-�	/�����:�:�"�F�8�,�	.�	
���2�D�D�"�G�9�-�	/����2�D�D�"�F�8�,�	.r[c��Gd�dt�}Gd�dt�}Gd�dtd��}td	d
ti�}Gd�d�}Gd
�d||�}|j|jt	gd���|j|j
t	g��|j|jtttd��Gd�d||�}|j|jt	ddg��|j|j
t	dg��|j|jtttd��Gd�d||d��}|j|jt	dg��|j|j
t	ddg��|j|jtttd��Gd�d||�}	|j|	jt	d
dg��|j|	j
t	dg��|j|	jtttd��||f||f|||f||f||fg}
|
D]G}|j|��5|jtd�5Gd�dg|���}ddd�ddd��Iy#1swY�xYw#1swY�`xYw)Nc��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Onery
Nr�r_r[rY�Oner�����Hr[r�c��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Two�twoNr�r_r[rY�Twor��r�r[r�c��eZdZUeed<y)�9TypedDictTests.test_multiple_inheritance.<locals>.Untotal�untotalNr�r_r[rY�Untotalr��s���Lr[r�Fr��Inline�inlinec��eZdZy)�9TypedDictTests.test_multiple_inheritance.<locals>.RegularNrpr_r[rY�Regularr��r�r[r�c��eZdZUeed<y)�7TypedDictTests.test_multiple_inheritance.<locals>.Child�childN�r\r]r^rr�r_r[rYr"r������Kr[r")ry
r�r�c��eZdZUeed<y)�CTypedDictTests.test_multiple_inheritance.<locals>.ChildWithOptionalr�Nr�r_r[rY�ChildWithOptionalr��r�r[r�ry
r�r�)ry
r�r�c��eZdZUeed<y)�ETypedDictTests.test_multiple_inheritance.<locals>.ChildWithTotalFalser�Nr�r_r[rY�ChildWithTotalFalser��r�r[r�c��eZdZUeed<y)�LTypedDictTests.test_multiple_inheritance.<locals>.ChildWithInlineAndOptionalr�Nr�r_r[rY�ChildWithInlineAndOptionalr�r�r[r�)r�r�r�)�basesz=cannot inherit from both a TypedDict type and a non-TypedDictc��eZdZy)�7TypedDictTests.test_multiple_inheritance.<locals>.WrongNrpr_r[rY�Wrongr�!r�
r[r�)r9rr�r2r�r3r�r�r�rir�r~)
rWr�r�r�r�r�r"r�r�r��wrong_basesr�r�s
             rYr1
z(TypedDictTests.test_multiple_inheritance�s���	�)�	�	�)�	�	�i�u�	��8�h��%5�6��	�	�	�C��	�����#�#��-�.�	
�	
����#�#��b�M�	
�	
����!�!���d�3�	
�
	��W�	�����/�/��u�g�&�'�	
�	
����/�/��y�k�"�	
�	
����-�-��C�$�7�	
�
	�#�w�e�	�����1�1��u�g��	
�	
����1�1��y�'�*�+�	
�	
����/�/��C�$�7�	
�
	��&�	����&�8�8��x��)�*�	
�	
���&�8�8��y�k�"�	
�	
���&�6�6���d�;�	
��'�N�
�c�N�
�#�w��
�W��
�g��
��!�E����E��*��+�+��S�����	�+�*�!����+�*�s$�
K�!K�-K�K	�K�K	c���|jtt�d�|jtttt
f�d�|jtt��d�t
ddt
i�}|jt|�d�|jt|��d�td��G�fd�dtt��}|jt|�d�|jt|t
�d�|jt|��d�d��}|jt|�d�|jt|t
�d�|jt|��d�|jtt�d�y)	NTF�
call_basedrrc���eZdZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.BarGenericrNrsrts�rYr�r�.s����Dr[r�c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.NewGenericrNrr�s��rYr�r�4rr[r��r9r�s @@rYz"<generic parameters of NewGeneric>zLTypedDictTests.test_is_typeddict.<locals>.<generic parameters of NewGeneric>4s����	�	�I�	r[)	r�r/r�rr�r�r9rr#)rWr�r�r�rs    @rY�test_is_typeddictz TypedDictTests.test_is_typeddict$s1����
�
�l�7�+�T�2��
�
�l�5��c��?�3�U�;��
�
�l�7�9�-�u�5��|�c�3�Z�8�
��
�
�l�:�.��5��
�
�l�:�<�0�%�8��C�L��	��G�A�J�	��
�
�l�:�.��5��
�
�l�:�c�?�3�U�;��
�
�l�:�<�0�%�8�	��
�
�l�:�.��5��
�
�l�:�c�?�3�U�;��
�
�l�:�<�0�%�8�	
�
�
�l�9�-�u�5r[c�z�|jtt�tjt
t
d��y)Nrv)r�r+r�rTrr�r�s rYr�z"TypedDictTests.test_get_type_hints=s)������3���/�/�#�&�S�1�	
r[c��|jtt�tjt
td��Gd�dtt�}|jt|�tjt
ttd��y)Nrvc��eZdZUeed<y)�ATypedDictTests.test_get_type_hints_generic.<locals>.FooBarGenericr�Nr�r_r[rY�
FooBarGenericr�Irrr[r��rr�r�)r�r+r�rTrrr�r�)rWr�s  rY�test_get_type_hints_genericz*TypedDictTests.test_get_type_hints_genericCsd������:�&��/�/�!�$�3�/�	
�
	�J�s�O�	�	
����=�)��/�/�!�$�3�S�9�	
r[c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|j|j|f�|j|tjd�|j|tjtf�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�7TypedDictTests.test_pep695_generic_typeddict.<locals>.ArNrr�s��rYr�r�Rrr[r�r�r�s @@rYz<generic parameters of A>zOTypedDictTests.test_pep695_generic_typeddict.<locals>.<generic parameters of A>Rs����	�	�9�	r[rr_)rkr�rr�r\r0	r#rr5	r9r�r�r�r�r�)rWr�rs   rY�test_pep695_generic_typeddictz,TypedDictTests.test_pep695_generic_typeddictQs���	��
�
������a��)�������S�)�������w��o�6�����)�)�I�w�q�z�+B�C�������Q���v�$>�?�����)�)�A�4�0�����3��.�.��3�����3����3�&�1r[c�"�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�d|td�	�}|j|jtt
f�|j|j|tf�|j|j|tt
tf�|j|jtf�|j|jd�|j|jtd
g��|j|j tdg��|j|tjd�|j|tjtf�|j|tj"|�Gd�d
|t$�}|j|jtt
f�|j|j|t$f�|j|j|tt
tf�|j|jd�|j|jd�|j|jtd
g��|j|j tddg��|j|j&ttt$d��|j)t*�5|tddd�Gd�dt,ttttf�}|j|jtt
f�|j|jt,ttttff�|j|j|tt
tf�|j|jttf�|j|jd�|j|jt��|j|j tgd���|j|j&tttd��|j|t$tfj"|�|j)t*�5|t$ddd�|j)t*�5Gd�dt,ttt�}ddd�y#1swY��xYw#1swY�WxYw#1swYyxYw)Nc��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.ArNr�r_r[rYr�r�`r�r[r�r_c��eZdZUeed<y)�3TypedDictTests.test_generic_inheritance.<locals>.A2rNr�r_r[rY�A2r�jr�r[r�c��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Br�N�r\r]r^rr�r_r[rYr�r�t����Er[r�Fr�r�rc��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Cr�Nr�r_r[rYr7r��rrr[r7Tr�r�c��eZdZUeed<y��8TypedDictTests.test_generic_inheritance.<locals>.Point3Dr�Nr�r_r[rY�Point3Dr��r�r[r�c��eZdZUeed<yr�r�r_r[rYr�z8TypedDictTests.test_generic_inheritance.<locals>.Point3D�s���r[)r9r#rr�r0	rr5	r�r�r�r�r�rr1r3r�r2r�r�r�r}r~r�)rWr�r�r�r7r�s      rY�test_generic_inheritancez'TypedDictTests.test_generic_inheritance_s��	�	�7�1�:�	�	
������w��o�6�����)�)�I�w�q�z�+B�C�������Q���v�$>�?�����)�)�A�4�0�����3��.�.��3�����3����3�&�1�	����Y�	�	
���������7�����*�*�W�Q�Z��,C�D�������b�'�4��%@�A�����*�*�Q�D�1�����C��/�/��4�����C��)�)�C�6�2�	��"��U�	�	
������w��o�6�����)�)�A�b�E�8�4�������Q���v�$>�?�����)�)�B�5�1�������e�,�����,�,�i���.>�?�����,�,�i���.>�?�����3��.�.��3�����3����3�&�1�����3��*�*�A�.�	��#��	�	
������w��o�6�����)�)�A�c�F�9�5�������Q���v�$>�?�����)�)�2�.�������d�+�����,�,�i���.>�?�����,�,�i��c�
�.C�D�����*�*����-
�	�
�
�
�y�
)�
�c�F�*�	�n�Q�'���B���	�	
����*�*�W�d�O�<�����/�/�.��2C�W�Q�PR�U�^�1T�U�������7�G�T�6�*J�K�����/�/�!�R��9�����*�*�D�1�����2�2�I�K�@�����2�2�I�o�4N�O�����0�0����3
�	�
	
�����c��*�5�5�w�?�
�
�
�y�
)��C�L�*��
�
�y�
)�
�.��+�W�R�[�
�*�
)�1*�
)��**�
)��*�
)�s$�
[,�
[9�#\�,[6�9\�\c���Gd�dttt�}Gd�d|td��}Gd�d|�}|j	|j
ttf�|j	|j|tttf�|j	|jd	�|j	|jd
�|j	|jtdg��|j	|jtdd
g��|j	|jtttd��|j!t"�5|t$ddd�y#1swYyxYw)Nc��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.ArNr�r_r[rYr�r��r�r[r�c��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Br�Nr�r_r[rYr�r��r�r[r�Fr�c��eZdZUeed<y)�ETypedDictTests.test_implicit_any_inheritance.<locals>.WithImplicitAnyr�Nr�r_r[rY�WithImplicitAnyr��rrr[r�r_Tr�rr�r�)r9r#rrr�r0	rr�r�r�r1r3r�r2r�r�r}r~r�)rWr�r�r�s    rY�test_implicit_any_inheritancez,TypedDictTests.test_implicit_any_inheritance�s��	�	�7�1�:�	�	��"��U�	�	�a�	�	
����2�2�W�d�4D�E�����0�0�?�G�T�SY�2Z�[�����7�7��<�����2�2�D�9�����:�:�I�s�e�<L�M�����:�:�I�s�C�j�<Q�R�����8�8����;
�	�
�
�
�y�
)��C� �*�
)�
)�s�
E&�&E/c�^�Gd�dt�}|t}|j|j|�|j|jd�|j|j
tf�|d��}|j
t|�t�|j|ddi�y)Nc��eZdZUeed<y)�5TypedDictTests.test_non_generic_subscript.<locals>.TDrNr�r_r[rYr9r��r�r[r9r_rbr
r)	r9r�r�r�r�r�r�r�r)rWr9r�rs    rYr�
z)TypedDictTests.test_non_generic_subscript�s���	��	��s�G��������r�*�����)�)�2�.�������c�V�,�
�!�H���
�
�d�1�g�t�$�����S�!�H�%r[c�$�td�}Gd�dt�}Gd�d|�}Gd�d|�}Gd�d	|||�}Gd
�dtt|�}Gd�d
|t�}Gd�d|t�}Gd�d|||t
�}	Gd�d|t|t
�}
tdi�}|j
|jtf�|j
|j|f�|j
|j|f�|j
|j|||f�|j
|jtt|f�|j
|j|tf�|j
|j|tf�|j
|	j|||t
f�|j
|
j|t|t
f�|j
|jtf�y)Nrc��eZdZy)�.TypedDictTests.test_orig_bases.<locals>.ParentNrpr_r[rY�Parentr��r�r[r�c��eZdZy)�-TypedDictTests.test_orig_bases.<locals>.ChildNrpr_r[rYr"r��r�r[r"c��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.OtherChildNrpr_r[rY�
OtherChildr��r�r[r�c��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.MixedChildNrpr_r[rY�
MixedChildr��r�r[r�c��eZdZy)�5TypedDictTests.test_orig_bases.<locals>.GenericParentNrpr_r[rY�
GenericParentr��r�r[r�c��eZdZy)�4TypedDictTests.test_orig_bases.<locals>.GenericChildNrpr_r[rY�GenericChildr��r�r[r�c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.OtherGenericChildNrpr_r[rY�OtherGenericChildr��r�r[r�c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.MixedGenericChildNrpr_r[rY�MixedGenericChildr��r�r[r�c��eZdZy)�<TypedDictTests.test_orig_bases.<locals>.MultipleGenericBasesNrpr_r[rY�MultipleGenericBasesr��r�r[r��
CallTypedDict)rr9r#r�r�rpr�r5	)rWrr�r"r�r�r�r�r�r�r�r�s            rYr6	zTypedDictTests.test_orig_bases�s����C�L��	�Y�	�	�F�	�	��	�	��
�F�	�	�I�w�q�z�	�	�=��-�	�	�
�c� 2�	�	��.?��u�AU�	�	�=��#5�}�U�7K�	�"�/�2�6�
�����.�.���=�����-�-��y�9�����2�2�V�I�>�����2�2�U�J��4P�Q�����5�5�	�7�1�:�7N�O�����4�4�}�S�7I�6K�L����*�9�9�M�#�<N�;P�Q����*�9�9�L�J[�]j�kp�]q�;r�s����-�<�<�}�S�?Q�S`�af�Sg�>h�i�����5�5�	�|�Dr[N)r\r]r^r5r7r<r>rArEr#rNr�rQrVrdrprzr|r1
r�r�r�r�r�r�r�
r6	r_r[rYr.r.�s���@�&.� 5�9�1�/�H�	M�C�O� H��@D�2
?�".�HU�n6�2
�
�2�M�^!�2&�)Er[r.c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
RequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwrS)r}r~r8r7r�r�r�s rYr.zRequiredTests.test_basics su��
�
�
�y�
)��[�!�*�
�
�
�y�
)��S�#�X��*�
�
�
�y�
)��S�M�#��*�
)�	*�
)��
)�
)��
)�
)��#�B�B�2B(�B�B%�(B1c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.Requiredztyping.Required[int]ztyping.Required[�
.Employee])r�r�r8r�ror\r�
s  rYr�zRequiredTests.test_repr
 s]������h��):�;�
�c�]������b��#9�:�
�h�
������b��%5�h�Z�z�#J�Kr[c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r� r�r[r7c��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r� r�r[r:z Cannot subclass typing\.Requiredc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r� r�r[r�z'Cannot subclass typing\.Required\[int\]c��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�r� r�r[r�)r�r~r�r�r8r�r�
s     rYr�z"RequiredTests.test_cannot_subclass s���
�
#�
#�I�/C�
D�
�D��N�
�E��
#�
#�I�/C�
D�
�D��#��'�
�E��
#�
#�I�3�5�
�H�
�5��
#�
#�I�:�<�
�H�S�M�
�<�<�E�
D��E�
D��5�5��<�<�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrS)r}r~r8r�rr�r�s rYr>zRequiredTests.test_cannot_init! r�
r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr@)r}r~rr8r�r�r�s rYrAz RequiredTests.test_no_isinstance) r�
r�
Nr�
r_r[rYr�r� s���L�� ,�&r[r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�NotRequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwrS)r}r~r7r8r�r�r�s rYr.zNotRequiredTests.test_basics2 sv��
�
�
�y�
)���!�*�
�
�
�y�
)���S��!�*�
�
�
�y�
)����S�!�*�
)�	*�
)��
)�
)��
)�
)�r�c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.NotRequiredztyping.NotRequired[int]ztyping.NotRequired[r�)r�r�r7r�ror\r�
s  rYr�zNotRequiredTests.test_repr: s_������k�*�,@�A�
��
������b��#<�=�
��
"������b��%8��
�*�#M�Nr[c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7rC r�r[r7c��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r
F r�r[r:z#Cannot subclass typing\.NotRequiredc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�rJ r�r[r�z*Cannot subclass typing\.NotRequired\[int\]c��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�rN r�r[r�)r�r~r�r�r7r�r�
s     rYr�z%NotRequiredTests.test_cannot_subclassA s���
�
#�
#�I�/C�
D�
�D��%�
�E��
#�
#�I�/C�
D�
�D��S�)�*�
�E��
#�
#�I�6�8�
�K�
�8��
#�
#�I�=�?�
�K��$�
�?�?�E�
D��E�
D��8�8��?�?�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrS)r}r~r7r�rr�r�s rYr>z!NotRequiredTests.test_cannot_initQ s}��
�
�
�y�
)��M�*�
�
�
�y�
)��D����*�
�
�
�y�
)�,�D��X�c�]�+�,�.�*�
)�	*�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr@)r}r~rr7r�r�r�s rYrAz#NotRequiredTests.test_no_isinstanceY sT��
�
�
�y�
)��q�+�c�*�+�*�
�
�
�y�
)��s�K�(�*�
)�*�
)��
)�
)�r�
Nr�
r_r[rYrr0 s��"�O�� /�)r[rc�$�eZdZd�Zd�Zd�Zd�Zy)�IOTestsc��dtdtfd�}|jd}|j|jtf�y)Nrr�c�"�|j�SrS��readliner
s rYrUzIOTests.test_io.<locals>.stuffd ����:�:�<�r[)r;rr�r�r��rWrUrs   rY�test_iozIOTests.test_iob s?��	 �R�	 �F�	 �
�!�!�#�&������)�)�F�9�5r[c�z�dtdtfd�}|jd}|j|jd�y)Nrr�c�"�|j�SrSrr
s rYrUz"IOTests.test_textio.<locals>.stuffl rr[r_)r<r�r�r�r�rs   rY�test_textiozIOTests.test_textioj s=��	 �V�	 ��	 �
�!�!�#�&������)�)�2�.r[c�z�dtdtfd�}|jd}|j|jd�y)Nrr�c�"�|j�SrSrr
s rYrUz$IOTests.test_binaryio.<locals>.stufft rr[r_)r=r�r�r�r�rs   rY�
test_binaryiozIOTests.test_binaryior s=��	 �X�	 �%�	 �
�!�!�#�&������)�)�2�.r[c��tjd��5}tjdt��ddlm}m}m}m}m	}|j|tj
�|j|tj�|j|tj�|jt|�tgd���|j|d�|jt|�d	�ddd�y#1swYyxYw)
NT��recordr���categoryr)r;r<r=r�	r\r:z	typing.iorb)�warnings�catch_warnings�filterwarningsr�
�	typing.ior;r<r=r�	r\r�rTr�rNr)rW�wr;r<r=r�	r\s       rY�test_io_submodulezIOTests.test_io_submodulez s���
�
$�
$�D�
1�Q��#�#�I�8J�K�I�I��M�M�"�f�i�i�(��M�M�&�&�-�-�0��M�M�(�F�O�O�4����S��\�3�/K�+L�M����X�{�3����S��V�Q�'�2�
1�
1�s�CC=�=DN)r\r]r^rrrr*r_r[rYrr` s��6�/�/�	(r[rc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�RETestsc�*�tjdtj�}|j|jt
�|jt
|�t
�|j|t
�|jd�}|j|jt�|jt
|�t�|j|t�t
tttfttttfy)Nz[a-z]+z12345abcde.....)
r��compiler�r�r�r>r�r��searchr?rr�r�)rWr+�mats   rYr.zRETests.test_basics� s����j�j��2�4�4�(�����c�m�m�W�5����d�3�i��1����c�7�+��j�j�*�+�����c�m�m�U�3����d�3�i��/����c�5�)�	��c�5�j�!�"�
�e�E�3�J�� r[c�6�|jtttt�|jtttt�|jttt
t�|jttt�yrS)r�r>r�r�r�r?r�s rY�test_alias_equalityzRETests.test_alias_equality� s^��������w�s�|�4����G�C�L�'�%�.�9����G�C�L�%��*�5����G�C�L�#�.r[c��ttttf}|j	t
�5|tddd�|j	t
�5t
dtt�ddd�|j	t
�5ttttt�ddd�y#1swY�xYw#1swY�VxYw#1swYyxYwr{)	r?rr�r�r}r~rr>r�)rWrs  rYr�zRETests.test_errors� s����%��U�
�#�$��
�
�
�y�
)�
�c�F�*�
�
�
�y�
)��r�7�3�<�(�*��
�
�y�
)��w�u�~�w�s�|�4�*�
)�*�
)��
)�
)��*�
)�s#�
B8�C�#C�8C�C
�Cc��|jtt�d�|jttt�d�|jttt�d�|jtt
�d�|jtt
t�d�|jtt
t�d�y)Nztyping.Patternztyping.Pattern[str]ztyping.Pattern[bytes]ztyping.Matchztyping.Match[str]ztyping.Match[bytes])r�r�r>r�r�r?r�s rYr�zRETests.test_repr� s�������g��(8�9�����g�c�l�+�-B�C�����g�e�n�-�/F�G�����e��n�5�����e�C�j�)�+>�?�����e�E�l�+�-B�Cr[c���tjd��5}tjdt��ddlm}m}m}m}|j|tj
�|j|tj�|jt|�tddg��|j|d	�|jt|�d
�ddd�y#1swYyxYw)NTr!r�r#r)r?r>r�	r\r?r>�	typing.rerb)r%r&r'r�
�	typing.rer?r>r�	r\r�rTr�rNr)rWr)r?r>r�	r\s      rY�test_re_submodulezRETests.test_re_submodule� s���
�
$�
$�D�
1�Q��#�#�I�8J�K�C�C��M�M�%����.��M�M�'�6�>�>�2����S��\�3���/C�+D�E����X�{�3����S��V�Q�'�2�
1�
1�s�B;C�C$c���tj�5tjdt��ddlm}|j
|jt�|j|jd�|j
|jtj�ddd�|jt�5jddd�y#1swY�4xYw#1swYyxYw)N�errorr#r)r�r6)r%r&r'r�
rTr�r��__doc__r�r�r\rr��MappingProxyTyper�
r?)rWr�s  rY�test_re_submodule_access_basicsz'RETests.test_re_submodule_access_basics� s���
�
$�
$�
&��#�#�G�6H�I�!��!�!�"�*�*�c�2����R�[�[�+�6��!�!�"�+�+�u�/E�/E�F�'��
�
�0�
1��H�H�2�
1�'�
&��2�
1�s�BC�:
C�C�C%c��|jtd�5Gd�dtj�}ddd�|jtd�5Gd�dtj�}ddd�y#1swY�BxYw#1swYyxYw)Nz/type 're\.Match' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.ANrpr_r[rYr�r@� r�r[r�z1type 're\.Pattern' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.BNrpr_r[rYr�rB� r�r[r�)r�r~rTr?r>r�s   rYr�zRETests.test_cannot_subclass� sq��
�
#�
#��>�
�
�F�L�L�
�	
��
#�
#��@�
�
�F�N�N�
�	
�
�

�
��
�
�s�A2�A>�2A;�>BN)
r\r]r^r.r2r�r�r8r=r�r_r[rYr,r,� s&��
!�/�	5�D�(�	�r[r,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)�AnnotatedTestsc�n�|jtd�5t�ddd�y#1swYyxYw)Nz%Type Annotated cannot be instantiated�r�r~r@r�s rY�test_newzAnnotatedTests.test_new� s-��
�
#�
#��3�
�
�K�	
�
�
�s�+�4c��|jtttddf�d�|jttttddf�d�y)NrTrUztyping.Annotated[int, 4, 5]z(typing.Annotated[typing.List[int], 4, 5])r�r�r@r�rr�s rYr�zAnnotatedTests.test_repr� sP�������3��1�9�%�&�)�	
�	
�����4��9�a��?�+�,�6�	
r[c���ttttdf��}dD]/}|j	|��5|j||�ddd��1y#1swY�<xYw)NrT)r�r�r��__metadata__rL)rNrOr@r�rirPrQs   rYrSzAnnotatedTests.test_dir� sU����I�c�1�f�-�.�/�	�
�M����M��:��
�
�m�Y�7�;�:�	
�;�:�s�A�A 	c���tttdfdf}|j|ttddf�|j|jd�|j|jt�y)NrTrUrS)r@r�r�rJr�r�s  rYr}zAnnotatedTests.test_flatten� s]���i��Q��'��*�+������I�c�1�a�i�0�1��������0�������s�+r[c�H�|jtttdftz�ttdftf�|jttttdftf�ttdftf�|jtttdfttdfztz�ttdfttdftf�|jttttdfttdftf�ttdfttdftf�|jtttdftt
dfztz�ttdftt
dftf�|jttttdftt
dftf�ttdftt
dftf�|jttdfttdfztzttdftz�|jtttdfttdftftttdftf�|jtt
ttifzttt
�fztz�t
ttifttt
�ftf�|jttt
ttifttt
�ftf�t
ttifttt
�ftf�|jtt
ttifztt
ifztz�t
ttiftt
iftf�|jttt
ttiftt
iftf�t
ttiftt
iftf�|jtttdft
ztt
ifztz�ttdft
tt
iftf�|jttttdft
tt
iftf�ttdft
tt
iftf�ddl}|jGd�d��}|dd�}|jttt|fdz�tt|ftjf�|jtttt|fdf�tt|ftjf�|jtttt|f�tt|ftjf�|jttifttifztzttiftz�|jttifttifztztttifz�|jtttifttiftftttiftf�|jtttifttiftfttttiff�y)Nrbr�rc�"�eZdZUeed<eed<y)�>AnnotatedTests.test_deduplicate_from_union.<locals>.ValueRange�lorCNr�r_r[rY�
ValueRangerN!s���G��Gr[rP)r�r-r@r�rr�rN�dataclasses�	dataclassr�r�	r)rWrQrPr�s    rY�test_deduplicate_from_unionz*AnnotatedTests.test_deduplicate_from_union� s������)�C��F�"3�c�"9�:�#�C��F�+�S�1�	3�����%�	�#�q�&�(9�3�(>�"?�@�#�C��F�+�S�1�	3�����)�C��F�"3�i��Q��6G�"G�#�"M�N�#�C��F�+�Y�s�A�v�->��D�	F�����%�	�#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�#�C��F�+�Y�s�A�v�->��D�	F�����)�C��F�"3�i��Q��6G�"G�#�"M�N�#�C��F�+�Y�s�A�v�->��D�	F�����%�	�#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�#�C��F�+�Y�s�A�v�->��D�	F�	
����3��6�*�Y�s�A�v�->�>��D�"�3��6�*�S�0�	2�����y��a��0�)�C��F�2C�S�H�I��y��a��0�#�5�6�	8�	
����#�	�#�r�'�(:�":�Y�s�C�E�z�=R�"R�UX�"X�Y��y��b��1�9�S�#�%�Z�3H�#�N�	P�����%��Y�s�B�w�-?��3�PS�PU�:�AV�X[�([�"\�]��y��b��1�9�S�#�%�Z�3H�#�N�	P�����#�	�#�r�'�(:�":�Y�s�B�w�=O�"O�RU�"U�V��y��b��1�9�S�"�W�3E�s�K�	M�����%��Y�s�B�w�-?��3�PR�7�AS�UX�(X�"Y�Z��y��b��1�9�S�"�W�3E�s�K�	M�	
����)�C��F�"3�c�"9�I�c�2�g�<N�"N�QT�"T�U�#�C��F�+�S�)�C��G�2D�c�J�	L�����%�	�#�q�&�(9�3�	�#�r�'�@R�TW�(W�"X�Y�#�C��F�+�S�)�C��G�2D�c�J�	L�	�	�	�	�	�	�
�	�
�q�!�������)�C��F�"3�d�":�;�#�C��F�+�U�^�^�<�	>�����%�	�#�q�&�(9�4�(?�"@�A�#�C��F�+�U�^�^�<�	>�����(�9�S�!�V�+<�"=�>�#�C��F�+�U�^�^�<�	>�	
����3��7�+�i��R��.@�@�3�F�"�3��7�+�c�1�	3�����3��7�+�i��R��.@�@�3�F��y��b��1�1�	3�����y��b��1�9�S�"�W�3E�s�J�K��y��b��1�3�6�7�	9�����y��b��1�9�S�"�W�3E�s�J�K��s�I�c�2�g�$6�6�7�	9r[c	�j�ttdftzttifztz}tjt|��D]G}|j
|��5|j|ttj|��ddd��Itttdftttiftf}tjt|��D]6}|j
|��5|j|t|�ddd��8y#1swY��xYw#1swY�OxYw)Nrbr�)r@r�r�r��permutationsr-rir�r�operator�or_r)rW�expr1r��expr2s    rY�test_order_in_unionz"AnnotatedTests.test_order_in_union2!s����#�q�&�!�C�'�)�C��G�*<�<�s�B���*�*�8�E�?�;�D����4��(�� � ���x�|�|�T�(B�C�)�(�<��i��Q��'��i��R��.@�#�E�F���*�*�8�E�?�;�D����4��(�� � ���d��4�)�(�<�	)�(��
)�(�s�!+D�8D)�D&	�)D2	c�0�tttdf}tttdf}|j	|ttttdf�|j	|tj
d�|j	|tjtt�|jt�5|tddd�|jt�5|ttfddd�y#1swY�7xYw#1swYyxYw)N�
my decoration)r\)
r@rrr�r�rJr�r}r~rp)rWr��LIs   rY�test_specializezAnnotatedTests.test_specialize=!s����d�1�g��.�/��
�t�C�y�/�1�
2������3���4��9�o�+E�!F�G�����3��,�,�.@�A�����3��*�*�D��I�6�
�
�
�y�
)��s�G�*�
�
�
�y�
)�
�c�5�j�M�*�
)�*�
)��
)�
)�s�
D�'D�D	�Dc	�p�|jtttddfttddfh�d�|j	ttddfttddf�|j	ttddftt
ddf�|j	ttdfttddf�|jttddfttddfttddfhttddfttddfh�ttgf}|jt�5t|�ddd�Gd�d�}tt|�f}|jt�5t|�ddd�y#1swY�QxYw#1swYyxYw)NrTrUrbc��eZdZdZy)�&AnnotatedTests.test_hash_eq.<locals>.ANr�r_r[rYr�raV!r�r[r�)
r�rr@r�r�r�rr}r~r�)rW�a1r��a2s    rY�test_hash_eqzAnnotatedTests.test_hash_eqH!sl������i��Q��	�2�I�c�1�a�i�4H�I�J�A�N����I�c�1�a�i�0�)�C��A�I�2F�G����I�c�1�a�i�0�)�C��A�I�2F�G����I�c�1�f�-�y��a���/C�D����
�s�A�q�y�
!�9�S�!�Q�Y�#7��1�a��7�9K�L�
�s�A�q�y�
!�9�Q��1�W�#5�6�	
�
�s�B�w�
��
�
�
�y�
)���H�*�	�	�
�s�A�C�x�
 ��
�
�
�y�
)���H�*�
)�
*�
)��*�
)�s�F �F,� F)�,F5c���G�fd�d��t�df}|d�}�d�}|j||�|j|j|j�|j|j|j�y)Nc�"��eZdZdZd�Z�fd�Zy)�*AnnotatedTests.test_instantiate.<locals>.CrTc��||_yrSr�r�s  rYr�z3AnnotatedTests.test_instantiate.<locals>.C.__init__`!r�r[c�Z��t|��stS|j|jk(SrS)r�NotImplementedr�)rWrcr7s  �rY�__eq__z1AnnotatedTests.test_instantiate.<locals>.C.__eq__c!s&���!�%��+�)�)��w�w�$�&�&�(�(r[N)r\r]r^�classvarr�rkr�s�rYr7rg]!s����H�
�
)r[r7�a decorationrU)r@r�r�rl)rWr�rr�r7s    @rY�test_instantiatezAnnotatedTests.test_instantiate\!sp���		)�		)�
�a��'�(��
�a�D��
�a�D������A��������a�c�c�"�������Q�Z�Z�0r[c���ttjtdf}|j	|gd��ddd��|j	|t
gd��ddd��y)Nr\)rTrTrUr�rbrS)r@rTr�
rr�r�)rW�MyCounts  rY�test_instantiate_genericz'AnnotatedTests.test_instantiate_generico!sR���F�N�N�1�-��>�?�������+��q�\�:��������i�0�a�A�,�?r[c�\�Gd�d�}t|df}|j|�|�y)Nc��eZdZd�Zy)�4AnnotatedTests.test_instantiate_immutable.<locals>.Cc��td��)Nzshould be ignored)r�r�s   rYr�z@AnnotatedTests.test_instantiate_immutable.<locals>.C.__setattr__v!s��� 3�4�4r[N)r\r]r^r�r_r[rYr7rtu!s��
5r[r7rm)r@r��rWr7r�s   rY�test_instantiate_immutablez)AnnotatedTests.test_instantiate_immutablet!s1��	5�	5�
�a��'�(��	
���a�c�1�%r[c�z�td}|jt�5|d�ddd�y#1swYyxYw)N)r��rUr�rU)r@r}r~r�s  rY�test_cannot_instantiate_forwardz.AnnotatedTests.test_cannot_instantiate_forward!s-���m�$��
�
�
�y�
)�
�a�D�*�
)�
)�s�	1�:c��ttdf}|jt�5|d�ddd�y#1swYyxYw)NryrU)r@rr}r~r�s  rY� test_cannot_instantiate_type_varz/AnnotatedTests.test_cannot_instantiate_type_var�!s1���a��i� ��
�
�
�y�
)�
�a�D�*�
)�
)�s	�	7�Ac��|jt�5ttdfjddd�y#1swYyxYw)N)rUr )r}rr@rr�r�s rY�test_cannot_getattr_typevarz*AnnotatedTests.test_cannot_getattr_typevar�!s.��
�
�
�~�
.��a��i� �"�"�/�
.�
.��	�9�Ac��Gd�d�}t|df}|j|jd�d|_|j|jd�y)Nc��eZdZdZy)�/AnnotatedTests.test_attr_passthrough.<locals>.CrTN)r\r]r^rlr_r[rYr7r��!s���Hr[r7rmrTrU)r@r�rlr�rvs   rY�test_attr_passthroughz$AnnotatedTests.test_attr_passthrough�!sL��	�	�
�a��'�(��������Q�'����������a� r[c���Gd�d�}|jt|t��dtt�|jt|t��dt
t�y)Nc�J�eZdZUdZeeedfed<dZee	edfed<y)�7AnnotatedTests.test_special_form_containment.<locals>.CrTrmrlr>
r�N)
r\r]r^rlr@r$r�r�r�r%r_r[rYr7r��!s2��AB�H�i���
�~� =�>�B�45�E�9�U�3�Z��0�1�5r[r7rlr�)r�r+rr$r�r%r%s  rY�test_special_form_containmentz,AnnotatedTests.test_special_form_containment�!sR��	6�	6�	
�����7�9�5�j�A�8�C�=�Q������7�9�5�g�>��c�
�Kr[c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)NzCannot subclass .*Annotatedc��eZdZy)�.AnnotatedTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r��!r�r[r7rFr%s  rYr�z#AnnotatedTests.test_cannot_subclass�!s,��
�
#�
#�I�/L�
M�
�I�
�N�
M�
M�rf
c��|jt�5tdttdf�ddd�y#1swYyxYw)NrU�positive)r}r~rr@r�r�s rY�test_cannot_check_instancez)AnnotatedTests.test_cannot_check_instance�!s/��
�
�
�y�
)��q�)�C��O�4�5�*�
)�
)�rc��|jt�5ttttdf�ddd�y#1swYyxYw)Nr�)r}r~r�r�r@r�s rY�test_cannot_check_subclassz)AnnotatedTests.test_cannot_check_subclass�!s/��
�
�
�y�
)��s�I�c�:�o�6�7�*�
)�
)�s	�=�Ac�t�|jtd�5ttddd�y#1swYyxYw)Nzat least two arguments)r�r~r@r�r�s rY�test_too_few_type_argsz%AnnotatedTests.test_too_few_type_args�!s'��
�
#�
#�I�/G�
H��c�N�I�
H�
H�s�.�7c���tjtjttftj
tttdftjtgtfg}|D]�}t|df}ttjdz�D][}|j||��5tj||�}tj|�}|j!||�ddd��]��Gd�dt"t$�att&tdf}d|_d	|_ttjdz�D]�}tj||�}	tj|	�}|j!|j(d�|j!|j*d	�|j!|j,d���y#1swY��ExYw)
N.rrb)�protocolr�c��eZdZdZy)�_Annotated_test_GrbNr{r_r[rYr�r��!r�r[r�zA decorationr|rz)rTr
rr�r�rrr"r�r@rfrgrhrirfrer�r#rr�r`rr�)
rWr!rsr��protr��restoredr�rerQs
          rYr#zAnnotatedTests.test_pickle�!sr���:�:�v�|�|�C��H�5��?�?�3�'��s�C�x���?�?�C�5�%�<�0�2���A��!�S�&�!�A��f�5�5��9�:���\�\�4�a�\�8�$�l�l�1�d�3�G�%�|�|�G�4�H��$�$�Q��1�9�8�;��	���
�	�
�'��,�n�<�=���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$�8�9�8�s�1>G�G c�V�d}d}tt|f}|j|ttt|f�|j|tt|ftt||f�ttt|f}|j|tttt|f�|jt�5|ttfddd�|j||tttt||f�ttjttf|f}|j|ttfttjttf|f�|jt�5|tddd�tt|f}|jt�5|dddd�|t}|jt�5|dddd�y#1swY��*xYw#1swY�uxYw#1swY�OxYw#1swYyxYw)Nrmzanother decoration)r@rr�r�rr}r~rTr rrr�)rWr��dec2r�r�r:�Itr]s        rY�
test_substzAnnotatedTests.test_subst�!s�����#���a��g�������3���3��9�!5�6�����9�S�#�X�.�/��3��T�>�1J�K��d�1�g�s�l�#������3���4��9�c�>�!:�;�
�
�
�y�
)�
�c�3�h�K�*�	
����1�S�6��I�d�3�i��d�.B�$C�D��f�k�k�"�b�&�)�3�.�/������3��8��i����C��H�0E�s�0J�&K�L�
�
�
�y�
)�
�c�F�*��s�C�x�
 ��
�
�
�y�
)��t�H�*��s�V��
�
�
�y�
)��t�H�*�
)�*�
)��*�
)��*�
)��*�
)�s0�G:�	
H�?H�+H�:H�H�H�H(c��d}td�}td�}td�}td�}ttg|��|f}|j	|t
ttt
|f�|j	|tt
ftttt
f|f�|jt�5tg|�|��ddd�ttt||f}|j	|t
ttt
|f�|j	|tt
ftttt
f|f�|jt�5tt||fddd�tt|g|��|f}|j	|t
ttt
|f�|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|jt�5|dddd�tt|t|f|f}	|j	|	t
ttt
|f�|j	|	t
tfttt
tf|f�|j	|	t
ttfttt
ttf|f�|jt�5|	dddd�ttg|�|��|f}
|j	|
t
ttt
|f�|j	|
t
tfttt
tf|f�|j	|
t
ttfttt
ttf|f�|jt�5|
dddd�ttt||f|f}|j	|t
ttt
|f�|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|jt�5|dddd�tt|g|�|��|f}|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|j	|t
tttfttt
tttf|f�|jt�5|t
ddd�tt|t||f|f}
|j	|
t
tfttt
tf|f�|j	|
t
ttfttt
ttf|f�|j	|
t
tttfttt
tttf|f�|jt�5|
t
ddd�td�}td�}td	�}||g|�|��}||t||f}|tt|g|�|��|ff|tt|t||f|ff|t
tfttt
tf|ff|t
tfttt
tf|ff|t
ttfttt
ttf|ff|t
ttfttt
ttf|ff|t
tttfttt
tttf|ff|t
tttfttt
tttf|fffD]\}}|j	||��|jt�5|t
ddd�|jt�5|t
ddd�y#1swY��txYw#1swY���xYw#1swY���xYw#1swY��#xYw#1swY��MxYw#1swY��sxYw#1swY��xxYw#1swY��yxYw#1swY��xYw#1swYyxYw)
Nrmr�rrrr_r�r*�T4)
rrr@r�r�r�r�r}r~rrrpr)rWr�r�rrrr�r�r7r:r�r�r�r�r�r*r�r�r�r�r�s                     rY�test_typevar_substz!AnnotatedTests.test_typevar_subst�!s�����
�$�
���C�L��
�T�]��
�T�]���e�C�R�C�j�#�o�&������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F�
�
�
�y�
)��h�r�h�3�h��*�
�e�F�2�J�'��,�-������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F�
�
�
�y�
)��f�R�j�#�o�&�*�
�e�A�F��F�m�S�(�)������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�A�v�b�z�M�*�C�/�0������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�F�R�F��F�m�S�(�)������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�F�2�J��M�*�C�/�0������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�
�b�E�*�
�e�B�K��K�R�K�(�#�-�.������3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
���
�c�3��e�#�$��e�C��d�E�1�2�C�7�8�	
��
�
�y�
)�
�c�F�*�
�e�B��r�
�B�.�/��4�5������3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
���
�c�3��e�#�$��e�C��d�E�1�2�C�7�8�	
��
�
�y�
)�
�c�F�*�
�5�!��
�T�]��
�T�]��
�b�l�3�l��l�O��
�b�&��+�r�!�"����5���c��2��+>��+C�!D�E�
��5��V�C�[�"�1D�+E�s�+J�!K�L�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�D�A�q�
���Q��"�
��
�
�y�
)�
�c�F�*�
�
�
�y�
)�
�c�F�*�
)�K*�
)��*�
)��*�
)��*�
)��*�
)��*�
)��*�
)��*�
)��6*�
)��
)�
)�sx�?e�*e
�e�e'�#e4�
f�
f�
f�
f(�-
f4�e
�
e�e$�'e1�4e>�f�f�f%�(f1�4f=c��tttdf}|j|ttttdf�y)NrU)rr@rr�r�r�s  rY�test_annotated_in_other_typesz,AnnotatedTests.test_annotated_in_other_types\"s6����1�a�4��!������3���i��Q��&7�!8�9r[c��Gd�dttdf�}|j|j|ttfd�y)Nc��eZdZy)�,AnnotatedTests.test_annotated_mro.<locals>.XNrpr_r[rYr�r�a"r�r[r�r(
z Annotated should be transparent.)r@r�r�r�r�r�s  rY�test_annotated_mroz!AnnotatedTests.test_annotated_mro`"s3��-�	�#�w�,�'�-�������Q��V�$4�;�	=r[c���Gd�dt�}Gd�dt�}tt|d�f}tt|d�f}|jd}|jd}|jt	|�|�|j||d��|jt	|�|�|j||d��|j
t	|�t	|��tt|d�f}tt|d�f}|jd}	|jd}
|jt	|	�|�|j|	|d��|jt	|
�|�|j|
|d��|j
t	|	�t	|
��ttdf}ttd	f}ttd
f}
|jt	|jd�t�|jt	|jd�t�|jt	|
jd�t�y)Nc��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.ANrpr_r[rYr�r�f"r�r[r�c��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.BNrpr_r[rYr�r�g"r�r[r�r�rr�rbg�?T)
r�r@rJr�r�r�r�	r�rpr)rWr�r��field_a1�field_a2�a1_metadata�a2_metadata�field_b1�field_b2�b1_metadata�b2_metadata�field_c1�field_c2�field_c3s              rY� test_annotated_cached_with_typesz/AnnotatedTests.test_annotated_cached_with_typese"s����������S�!�C�&�[�)���S�!�C�&�[�)���+�+�A�.���+�+�A�.���
�
�d�;�'��+�����a��f�-��
�
�d�;�'��+�����a��f�-�����k�*�D��,=�>��S�!�C�&�[�)���S�!�C�&�[�)���+�+�A�.���+�+�A�.���
�
�d�;�'��+�����a��f�-��
�
�d�;�'��+�����a��f�-�����k�*�D��,=�>��S�!�V�$���S�#�X�&���S�$�Y�'���
�
�d�8�0�0��3�4�c�:��
�
�d�8�0�0��3�4�e�<��
�
�d�8�0�0��3�4�d�;r[N)r\r]r^rGr�rSr}rSrZr^rdrnrqrwrzr|r~r�r�r�r�r�r�r#r�r�r�r�r�r_r[rYrDrD� s����
�8�,�99�v	5�	��(1�&@�
	&��
�
#�!�L��
6�8��%�<�:p�d:�=�
 <r[rDc�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�TypeAliasTestsc��t}yrS�ro�rWr
s  rY�-test_canonical_usage_with_variable_annotationz<TypeAliasTests.test_canonical_usage_with_variable_annotation�"s��#�r[c��t}yrSr�r�s  rY�&test_canonical_usage_with_type_commentz5TypeAliasTests.test_canonical_usage_with_type_comment�"s���r[c�l�|jt�5t�ddd�y#1swYyxYwrS)r}r~rDr�s rYr�z&TypeAliasTests.test_cannot_instantiate�"s!��
�
�
�y�
)��K�*�
)�
)�r[c�x�|jt�5tdt�ddd�y#1swYyxYwr{)r}r~rrDr�s rYrAz!TypeAliasTests.test_no_isinstance�"s&��
�
�
�y�
)��r�9�%�*�
)�
)�r�c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUded<y)�/TypeAliasTests.test_stringized_usage.<locals>.ArDrNrsr_r[rYr�r��"s���Nr[r�r)r�r+rDr�s  rY�test_stringized_usagez$TypeAliasTests.test_stringized_usage�"s&��	�	������*�S�)�,<�=r[c��|jt�5ttt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrS)r}r~r�rorDr�s rY�test_no_issubclassz!TypeAliasTests.test_no_issubclass�"sS��
�
�
�y�
)��x��+�*��
�
�y�
)��y�(�+�*�
)�*�
)��*�
)�s�A&�A2�&A/�2A;c��|jtd�5Gd�dt�}ddd�|jt�5Gd�dt	t��}ddd�y#1swY�@xYw#1swYyxYw)Nz!Cannot subclass typing\.TypeAliasc��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r��"r�r[r7c��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r��"r�r[r:)r�r~rDr}r�r;s   rYr�z#TypeAliasTests.test_cannot_subclass�"sb��
�
#�
#�I�4�6�
�I�
�6�
�
�
�y�
)�
�D��O�
�*�
)�6�6��
*�
)�s�A&�A2�&A/�2A;c�B�|jtt�d�y)Nztyping.TypeAlias)r�r�rDr�s rYr�zTypeAliasTests.test_repr�"s������i��*<�=r[c�r�|jt�5ttddd�y#1swYyxYwrS)r}r~rDr�r�s rYr2z$TypeAliasTests.test_cannot_subscript�"s#��
�
�
�y�
)��c�N�*�
)�
)�r3N)r\r]r^r�r�r�rAr�r�r�r�r2r_r[rYr�r��"s/��$���&�>�
,��>�r[r�c�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�ParamSpecTestsc���td�}|j||�|j|t�|j|jd�|j|jt�y)Nr�)rEr�r�r\r]rss  rYrmzParamSpecTests.test_basic_plain�"sS���c�N������A�����a��+�������S�)�������x�0r[c���i}td||�|d}|j|t�|j|jd�|j|jd�y)Nz0from typing import ParamSpec; P = ParamSpec("P")r�)ror�rEr�r\r�r])rWrqr�s   rYrrz#ParamSpecTests.test_basic_with_exec�"sS��
���
?��R�H��s�G�����a��+�������S�)��
�
�a�l�l�D�)r[c���td�}td�}t|tf}|j	|j
|tf�|j	|j|f�t||f}|j	|j
||f�|j	|j||f�tjj|tf}|j	|j
|tf�|j	|j|f�tjj||f}|j	|j
||f�|j	|j||f�y�Nr�r)	rErr"r�r�r�r�rrz�rWr�rr%r&r'r(s       rY�test_valid_useszParamSpecTests.test_valid_uses�"s#���c�N���C�L��
�a��f�
��������q�#�h�/�����*�*�Q�D�1�
�a��d�^��������q�!�f�-�����*�*�Q��F�3�
�_�_�
%�
%�a��f�
-��������q�#�h�/�����*�*�Q�D�1�
�_�_�
%�
%�a��d�
+��������q�!�f�-�����*�*�Q��F�3r[c�\�td�}td�}|jdt|��|jdt|��|j|jt
�|j|jt�|j|jj|�|j|jj|�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|jt|j�d�|jt|j�d�y)Nr��P_2r�r��P.args�P.kwargs)
rErPrOr�r�rGr�rHr�r�r�r�r�)rWr�r�s   rY�test_args_kwargszParamSpecTests.test_args_kwargs�"si���c�N�������
�
�f�c�!�f�%��
�
�h��A��'����a�f�f�m�4����a�h�h��8��
�
�a�f�f�'�'��+��
�
�a�h�h�)�)�1�-����������(�������1�8�8�,����A�F�F�C�H�H�-����A�H�H�c�j�j�1����A�F�F�A�H�H�-����A�H�H�a�f�f�-����A�F�F�C�J�J�/�����a�f�f��x�0�����a�h�h���4r[c�R�td�}Gd�dt|�}|jt|t	�t��dt|tfi�|jt|jt	�t��|j|jd��y)Nr�c�*�eZdZUedefed<dd�Zy)�)ParamSpecTests.test_stringized.<locals>.Cr�r�
c��yrSr_r�s   rYr`z-ParamSpecTests.test_stringized.<locals>.C.foo�"r�r[N)r�r�r�r�)r\r]r^r"r�r�r`r_r[rYr7r��"s���3��8�$�$�
r[r7r�
r0)rEr#r�r�rrr"r�r`r�r�r~s   rY�test_stringizedzParamSpecTests.test_stringized�"sy���c�N��	���
�	�
	
����Q��	�6�8�4�v�x��3��?O�6P�Q��������w�y�&�(�+�a�f�f����-Q�	
r[c�$���td��td��td�}G��fd�dt��f�}|t|f}|j	|j
t|f�|j	|j|f�|jtd�5|tddd�|jtd�5|t|tfddd�|ttt|ff}|j	|j
ttt|ff�|j	|j|f�|tttgf}|j	|j
tttff�|j	|jd�|td	f}|j	|j
ttf�|j	|jd�G�fd
�dt��}|tttg}|j	|j
tttff�|j	|jd�|tttf}	|j	|	j
tttff�|j	|	jd�|j	|j
|	j
�|j	|j|	j�|j	|j|	j�|j	||	�|t}
|j	|
j
tff�|j	|
jd�|jtd�5|ttgtfddd�|jtd�5||tfddd�y#1swY��=xYw#1swY��xYw#1swY�NxYw#1swYyxYw)Nrr�r�c�2��eZdZUeW�efed<W�ed<y)�,ParamSpecTests.test_user_generics.<locals>.XrXr�N�r\r]r^r"r�r�)r�rs��rYr�r��"s�����3�����Dr[r�rBrAr_.c�&��eZdZUeW�efed<y)�,ParamSpecTests.test_user_generics.<locals>.ZrXNr�)r�s�rYr�r�#s�����3���r[r�)rrEr#r�r�r�r�r�r~r�rFrrU	r�)
rWr�r�r�r��G3�G4r��G5�G6�G7r�rs
           @@rY�test_user_genericsz!ParamSpecTests.test_user_generics�"s+����C�L���c�N������	���1��
�	��s�C�x�[��������s�C�j�1�����*�*�S�F�3�
�
#�
#�I�/B�
C�
�c�F�D�
�
#�
#�I�/C�
D�
�c�3��m��E��s�K��S��)�)�
*��������s�K��S��,A�&B�C�����*�*�S�F�3�
�s�S�$�K��
 ��������s�S�$�K�&8�9�����*�*�B�/�
�s�C�x�[��������s�H�o�6�����*�*�B�/�	 ���
�	 ���S�$��
 ���������S�$�'7�&9�:�����*�*�B�/�
�s�C��~�
���������S�$�'7�&9�:�����*�*�B�/�	
������b�k�k�2��������
�
�6�����*�*�B�,=�,=�>�����R� �
�s�V���������v�i�0�����*�*�B�/�
�
#�
#�I�/C�
D�
�s�C�j�$���E�
�
#�
#�I�/C�
D�
�c�4�i�L�E�
D�QD�
C��
D�
D��HE�
D��
D�
D�s0�
O �O-�O:�P� O*�-O7�:P�Pc����td��td��G��fd�dt��f�}|ttgtgf}|tgttgf}|j||�|j
|jttftff�|j
|jtfttff�y)Nr�r7c�<��eZdZUeW�efed<eW�efed<y)�CParamSpecTests.test_multiple_paramspecs_in_user_generics.<locals>.XrXrN)r\r]r^r"r�r�r�)r�r7s��rYr�r�0#s!�����3������C�� � r[r�)rEr#r�r�r�r�r�r�)rWr�r�r�r�r7s    @@rY�)test_multiple_paramspecs_in_user_genericsz8ParamSpecTests.test_multiple_paramspecs_in_user_generics,#s�����c�N��
�t�_��	!���2���	!���S�z�E�7�"�
#��
��u�s�E�l�"�
#�����B��#��������S�z�E�8�&<�=��������v��U�|�&<�=r[c�l���td��td��G��fd�dtg������}|ttgf}|j|jttff�|tttgf}|j|jtttff�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�G��fd�dt�g����}|tgtf}|j|jtftf�|tgttf}|j|jtfttf�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�y#1swY��xYw#1swYyxYw)	Nr�r�c�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.XrXrN�r\r]r^r"r�r�r�r�r�s��rYr�r�>#������3�����S�b�S�z�Mr[r�)r_r_c�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.YrXrNr�r�s��rYr�r�M#r�r[r�)
rrEr#r�r�r�r�r�r}r~)	rWr�r�r�r�r�r�r�r�s	       @@rY�1test_typevartuple_and_paramspecs_in_user_genericsz@ParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics:#s����
�$�
���c�N��	�����Q���	��s�U�G�|�_��������s�U�H�o�6�
�s�C�%�� �
!��������s�C�%��&:�;�
��w�Z���������x�k�2�
�r�U��������e�,�
�
�
�y�
)�
�b�E�*�	����B���	���w��|�_���������x��o�6�
��w��S� �
!���������x��c�&:�;�
��w�Z���������x�k�2�
�r�U��������e�,�
�
�
�y�
)�
�b�E�*�
)�*�
)��*�
)�s�
H�H*�H'�*H3c
��td�}td�}td�}ttj
jfD]�}|j
|��5||tg|��f}|ttgttf}|j|jtttttff�ddd���Gd�dt||f�}|tg|��|f}|ttttgf}|j|jtttfttff�Gd�dt||f�}||tg|��f}|ttgttf}|j|jttftttff�y#1swY��~xYw)	Nr�rr�)rc��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.XNrpr_r[rYr�r�g#r�r[r�c��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.YNrpr_r[rYr�r�n#r�r[r�)rErrr"rrzrirr�r�r�rpr�r�r#)	rWr�rr�r7r�r�r�r�s	         rY�3test_typevartuple_and_paramspecs_in_generic_aliaseszBParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases\#ss���c�N���C�L��
�$�
���;�?�?�3�3�3�A����a��(��a��s��s��m�$���s�C�j�%��.�/��� � ����c�3��e�U�l�8K�-L�M�)�(�4�	���1��
�	�
�e�C�R�C�j�!�m���
�e�U�S�#�J�&�'��������e�E�5�L�&9�C��;�%G�H�	���1��
�	�
�a��s��s��m���
�s�C�j�%��&�'��������s�C�k�5����3F�%G�H�#)�(�s
�A$F6�6G	c���td�}|j}|j|ttf�ttf�|j|ttg�ttf�|j|dg�td�f�|j
|d�d�|j
||�|�|j|tt|f�tt|f�y)Nr�.)rEr�r�r�r�r�r�rF)rWr�r�s   rYr�z$ParamSpecTests.test_var_substitutionu#s����c�N���"�"�������S�z�*�S�#�J�7������S�z�*�S�#�J�7������v���d��
�6��
�
�e�C�j�#�&��
�
�e�A�h��"�����{�3��6�2�3�[��a��5H�Ir[c��td�}td�}dtd|ttztttff}|D]�}|j|��5|j
t�5|j|�ddd�|j
t�5tj||f|tfddd�|j
t�5tjj||f|tfddd�ddd���y#1swY��xYw#1swY�fxYw#1swY�,xYw#1swY��xYw)Nrr�r|r�)
rrEr�r�rrir}r~r�rTr"rrz)rWrr�r�r�s     rYr�z(ParamSpecTests.test_bad_var_substitution#s����C�L���c�N����T�1�c�#�g�u�S�#�X��?���C����#��&��&�&�y�1��&�&�s�+�2��&�&�y�1��O�O�A�q�D�)�#�s�(�3�2��&�&�y�1��O�O�,�,�Q��T�2�3��8�<�2�'�&��1�1��1�1��1�1��'�&�sT�D7�,D�>D7�D�:D7�)D+�D7�D�D7�D(�$D7�+D4�0D7�7E	c��td�}td�}td�}td�}td�}Gd�dt|�}||}|j	|j
|f�|j	|j|ff�|j	|t|t�||g}|j	|j
|f�|j	|j|ff�|j	|t|t�|t|g}	|j	|	j
|f�|j	|	jt|ff�|j	|	t|ttg�||t|g}
|j	|
j
||f�|j	|
j|t|ff�|j	|
ttf|tttg�|g|�t�}|j	|j
|f�|j	|jg|�t��f�|j	|ttf|tttg�|tg|�}|j	|j
|f�|j	|jtg|��f�|j	|ttf|tttg�||g|�}
|j	|
j
||f�|j	|
j|g|��f�|j	|
tttf|tttg�|||g}|j	|j
|f�|j	|j||ff�|j	|t|ttg�||t|g}|j	|j
|f�|j	|j|t|ff�|j	|t|tttg�|tg|��g|�}|j	|j
|f�|j	|jtg|��g|��f�|j	|ttf|tttfttf�||}|j	|j
|f�|j	|j|f�|j	|ttg|ttg�Gd�d	t||f�}|||f}|j	|j
||f�|j	|j||f�|j	|ttgtgf|ttgtgf�|j	|ggf|ggf�|ttg|f}|j	|j
|f�|j	|jttf|f�|j	|ttg|ttgttgf�|j	|g|ttggf�||ttgf}|j	|j
|f�|j	|j|ttff�|j	|ttg|ttgttgf�|j	|g|gttgf�||tgt|gf}|j	|j
||f�|j	|j|tft|ff�|j	|ttf|ttgttgf�|g|�t�t|gf}|j	|j
||f�|j	|jg|�t��t|ff�|j	|tttf|tttgttgf�||tgtg|�f}|j	|j
||f�|j	|j|tftg|��f�|j	|tttf|ttgtttgf�Gd
�dt||f�}|||f}|j	|j
||f�|j	|j||f�|j	|ttgtf|ttgtf�|t|g|f}|j	|j
|f�|j	|jt|f|f�|j	|t|ttgtf�|tg|�|f}|j	|j
||f�|j	|jtg|��|f�|j	|tttf|tttgtf�y)Nrrr�r7r�c��eZdZy)�DParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.BaseNrpr_r[rYre	r�#r�r[re	c��eZdZy)�GParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.DoublePNrpr_r[rY�DoublePr�#r�r[rc��eZdZy)�EParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.PandTNrpr_r[rY�PandTr�#r�r[r)rrErr#r�r�r�r�r�rr�rrpr�)rWrrr�r7r�re	�A1r��A3�A4�A5�A5_2�A6�A7�A8�A9�A10r�B1�B2�B3�B4�B5�B6rr%r&r's                             rY�'test_type_var_subst_for_other_type_varsz6ParamSpecTests.test_type_var_subst_for_other_type_vars�#sS	���C�L��
�T�]���c�N��
�t�_��
�$�
��	�7�1�:�	��!�W������*�*�Q�D�1��������t�g�.�����C��$�s�)�,�
�1�#�Y������*�*�Q�D�1��������t�g�.�����C��$�s�)�,�
�3��(�^������*�*�Q�D�1��������Q�x�k�2�����C��$��S�z�"2�3�
�1�c�2�,�
������*�*�Q��G�4��������3��|�o�6�����C��I���c�3��-=�(>�?�
�*�B�*��*�
������*�*�R�E�2�������z��z�S�z�m�4�����C��I���c�4��-=�(>�?��S�J�2�J�������,�,�r�e�4�������#����
�6�����c�4�i��$��S�$�/?�*@�A�
�1�(�r�(�^������*�*�Q��G�4��������x�B�x�k�2�����C��d�N�+�T�3��T�2B�-C�D�
�1�a�&�\������*�*�Q�D�1��������1�v�i�0�����C��$��S�z�"2�3�
�1�d�1�g�,�
������*�*�Q�D�1��������4��7�|�o�6�����C��$��T�#�Y�'7�"8�9�
�5��"��:�#��#�
$������*�*�R�E�2��������c�r�c�
�'8�R�'8�&:�;�����C��H��t�E�#�s�(�O�S�#�,E�'F�G��2�h������+�+�b�U�3��������u�-�����c�3�Z��$��S�z�*:�;�	�g�a��e�n�	��Q��U�^������*�*�Q��G�4�������q�"�g�.�����S�#�J���.�/��#���t�f�9L�1M�N�����B��F��W�R��V�_�5�
�c�3�Z��^�
$������*�*�R�E�2��������S�z�2�&6�7�����T�4�L�)�7�C�#�;��t��3L�+M�N�����B���#���b��!9�:�
�Q��t��_�
%������*�*�Q�D�1�������q�4��,�&7�8�����S�#�J���#���t�T�l�1J�)K�L�����B����d�D�\�)9�!:�;�
�a��X��b�z�)�
*������*�*�Q��G�4��������3�x�$���&<�=�����C��J���#�s��d�E�]�1J�)K�L�
�Z�r�Z�3�Z�$���+�
,������*�*�R��H�5�������z��z�S�z�D�"�:�&>�?�����C���-�.� �#�u�c�!2�T�5�M�!A�B�	D��a��X��{�r�{�*�
+������*�*�Q��G�4��������3�x�$����&=�>�����C���-�.� �#�s��d�E�5�-A�!A�B�	D�	�G�A�q�D�M�	��1�a�4�[������*�*�Q��F�3�������q�!�f�-�����S�#�J��,�-�u�c�3�Z��5E�/F�G�
�C��8�Q�;�
������*�*�Q�D�1��������Q�x��m�4�����C��%��c�
�C��"8�9�
�C�:�"�:�q�=�
!������*�*�R��G�4��������z�b�z�1�o�6�����C��u�,�-�u�c�3��5E�u�5L�/M�Nr[c��td�}td�}t||f}t|}t|}t|t
z}|j
|j||f�|j
|j||f�|j
|j||f�tt
tgtf}|j
|t
tgtft|�|j
|t
tgtft|�|j
|t
tgtft|t
z�y)Nrr�)
rrEr"rr�r�r�r�r�rp)rWrr�r%r�r�r�r7s        rY�!test_paramspec_in_nested_genericsz0ParamSpecTests.test_paramspec_in_nested_generics$s
��
�C�L���c�N��
�a��d�^��
�"�X��
�"�X��
�"�X��^������*�*�Q��F�3�����*�*�Q��F�3�����*�*�Q��F�3��c�3�Z��&�'������S�#�J��-�.��Q��8�����S�#�J��-�.��Q��8�����S�#�J��-�.��Q��#�
�>r[c�x�td�}td�}t|tf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�|j|djd�ttt
|ftf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�y)Nr�r7r_.)rEr"r�r�r�r�rrF)rWr�r7r%r&s     rY�test_paramspec_gets_copiedz)ParamSpecTests.test_paramspec_gets_copied$s����c�N��
�t�_��
�a��f�
������*�*�Q�D�1�����B��.�.���6�����C��/�/��4�����C��F��2�2�Q�D�9�����K��R��0�1�@�@�2�%�H�����K��2��.�/�>�>��B��H�����C��/�/��4�
�k�#�q�&�)�3�.�
/������*�*�Q�D�1�����B��.�.���6�����C��/�/��4�����C��F��2�2�Q�D�9�����K��R��0�1�@�@�2�%�H�����K��2��.�/�>�>��B��Hr[c�8�|jttdz�5Gd�dt�}ddd�|jttdz�5Gd�dt�}ddd�|jttdz�5Gd�d	t
�}ddd�td
�}|jttdz�5Gd�d|�}ddd�|jttdz�5Gd
�d|j�}ddd�|jttdz�5Gd�d|j�}ddd�y#1swY��'xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�vxYw#1swYyxYw)NrEc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r .$r�r[r7rGc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r"0$r�r[r:rHc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r$2$r�r[r�r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�r&6$r�r[r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.GNrpr_r[rYr�r(9$r�r[r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.HNrpr_r[rYr�r*<$r�r[r�)	r�r~r�rErGrHr�r�r�)rWr7r:r�r�r�r�r�s        rYr�z#ParamSpecTests.test_cannot_subclass,$s/��
�
#�
#�I���/L�
M�$�I�$�N�
�
#�
#�I���/P�
Q�(�M�(�R�
�
#�
#�I��AR�/R�
S�*�O�*�T��c�N��
�
#�
#�I�(�;�6�8��A��8��
#�
#�I�(�?�:�<�!�A�F�F�!�<��
#�
#�I�(�+<�<�>�#�A�H�H�#�>�>�N�
M��
Q�
Q��
S�
S��8�8��<�<��>�>�sG�E�E �E,�E8�9F�4F�E� E)�,E5�8F�F
�FN)r\r]r^rmrrr�r�r�r�r�r�r�r�r�rrrr�r_r[rYr�r��"sU��1�*�4�"5�&

�4�l>� �DI�2J�=�wO�r?�$I�*$r[r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�ConcatenateTestsc�p�td�}Gd�d�}t||f}|j|t�y)Nr�c��eZdZy)�-ConcatenateTests.test_basics.<locals>.MyClassNrpr_r[rYrb
r/B$r�r[rb
)rErFr�)rWr�rb
r�s    rYr.zConcatenateTests.test_basics@$s/���c�N�������
�#�����A�{�+r[c���td�}tttt|f��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw)Nr�rKrL)rErNrOrFr�rirP)rWr�rRrMs    rYrSzConcatenateTests.test_dirF$s^���c�N����K��Q��/�0�1�	�
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A"�"A+	c��td�}td�}ttt|ftf}|j|jtt|ftf�|j|j|f�ttt||f|f}|j|jtt||f|f�|j|j||f�tjjtt|ftf}|j|jtt|ftf�|j|j|f�tjjtt||f|f}|j|jtt||f|f�|j|j||f�yr�)
rErr"rFr�r�r�r�rrzr�s       rYr�z ConcatenateTests.test_valid_usesO$s~���c�N���C�L��
�k�#�q�&�)�3�.�
/��������{�3��6�':�C�&@�A�����*�*�Q�D�1�
�k�#�q�!�)�,�a�/�
0��������{�3��1�9�'=�q�&A�B�����*�*�Q��F�3��_�_�
%�
%�k�#�q�&�&9�3�&>�
?��������{�3��6�':�C�&@�A�����*�*�Q�D�1�
�_�_�
%�
%�k�#�q�!�)�&<�a�&?�
@��������{�3��1�9�'=�q�&A�B�����*�*�Q��F�3r[c���|jtd�5tdddd�|jtd�5ttddd�y#1swY�6xYw#1swYyxYw)NzConcatenate of no typesr_zLThe last parameter to Concatenate should be a ParamSpec variable or ellipsis)r�r~rFr�r�s rY�test_invalid_usesz"ConcatenateTests.test_invalid_usesa$s_��
�
#�
#�I�/H�
I���O�J�
�
#�
#��1�
�
���
�
�J�
I��
�
�s�
A�A"�A�"A+c��td�}td�}td�}t||f}|j|t|ftt|f�|j|tt
tgftt
tf�|j|tgftf�|j|ttt
|ffttt
|f�|j|tdfttdf�tt|f}|j||tt|f�|j|t
tgtt
tf�|j|t
tftt
tf�|j|gtf�|j|tt
|fttt
|f�|j|dttdf�y)Nrr�r7.)rrErFr�r�r�rp)rWrr�r7r7s     rYr�z&ConcatenateTests.test_var_substitutionm$s����C�L���c�N��
�t�_����1��������3��7��[��b��%9�:�����3��e��,�-��S�%�/@�A�����3��7��c�V�,�����3��C��G� 4�4�5�$�S�#�r�\�2�	4�����3��8��k�#�s�(�&;�<���Q��������2���C��G� 4�5�����C��<��3��U�*;�<�����3��:���c�5�(9�:�����2����'�����;�s�B�w�/�0�+�c�3��l�2K�L�����3���S�#�X�!6�7r[N)r\r]r^r.rSr�r3r�r_r[rYr,r,?$s��,�8�4�$
�8r[r,c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TypeGuardTestsc�
�ttdttfd�}|jt|�dtti�|j	t
�5tttfddd�y#1swYyxYw)Nr�c��yrSr_r�s rYr`z'TypeGuardTests.test_basics.<locals>.foo�$r�r[)rIr�r�r�r}r~r�r�s  rYr.zTypeGuardTests.test_basics�$sX���#��+�	�#��+�����S��H�i��n�#=�>�
�
�
�y�
)��c�3�h��*�
)�
)�s�A9�9Bc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.TypeGuardztyping.TypeGuard[int]ztyping.TypeGuard[%s.Employee]ztyping.TypeGuard[tuple[int]])r�r�rIr�ror\r�r�
s  rYr�zTypeGuardTests.test_repr�$s|������i��*<�=�
�s�^������b��#:�;�
�x�
 ������b��#B�X�#M�N�
�u�S�z�
"������b��#A�Br[c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.CNrpr_r[rYr7r<�$r�r[r7c��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.DNrpr_r[rYr:r>�$r�r[r:z!Cannot subclass typing\.TypeGuardc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.ENrpr_r[rYr�r@�$r�r[r�z(Cannot subclass typing\.TypeGuard\[int\]c��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.FNrpr_r[rYr�rB�$r�r[r�)r�r~r�r�rIr�r�
s     rYr�z#TypeGuardTests.test_cannot_subclass�$s���
�
#�
#�I�/C�
D�
�D��O�
�E��
#�
#�I�/C�
D�
�D��3��(�
�E��
#�
#�I�$H�J�
�I�
�J��
#�
#�I�$O�Q�
�I�c�N�
�Q�Q�E�
D��E�
D��J�J��Q�Q�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrS)r}r~rIr�rr�r�s rYr>zTypeGuardTests.test_cannot_init�$s|��
�
�
�y�
)��K�*�
�
�
�y�
)��D��O��*�
�
�
�y�
)�*�D��8�C�=�)�*�,�*�
)�	*�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr@)r}r~rrIr�r�r�s rYrAz!TypeGuardTests.test_no_isinstance�$sS��
�
�
�y�
)��q�)�C�.�)�*�
�
�
�y�
)��s�I�&�*�
)�*�
)��
)�
)�r�
Nr�
r_r[rYr6r6�$s�� �C�� -�'r[r6�
SpecialAttrsP�
SpecialAttrsTc�D�eZdZd�Zej
de�Zd�Zd�Z	y)�SpecialAttrsTestsc	�B�itjd�tjd�tjd�tjd�tj
d�tjd�tjd�tjd�tjd	�tjd
�tjd�tjd�tjd
�tjd�tjd�tj d�tj"d�itj$d�tj&d�tj(d�tj*d�tj,d�tj.d�tj0d�tj2d�tj4d�tj6d�tj8d�tj:d�tj<d�tj>d�tj@d �tjBd!�tjDd"��itjFd#�tjHd$�tjJd%�tjLd&�tjtNd�tjtNd�tjtNtNfd�tjtNd�tj
tNd�tjtNd�tjgtNfd�tjd'tNfd�tjtNtNfd	�tjtNd
�tjtNd�tjtNd�tjtNtNtNfd
��itjtNd�tjtNtNfd�tj tNd�tj"tNtNfd�tj$tNd�tj&tNtNtNfd�tj*tNtNfd�tj,tNd�tj.tNd�tj0tNd�tj2tNd�tj4tNtNfd�tj6tNd�tj8tNtNfd�tj:tNd�tj<tNd�tj>tNtNfd��itj@tNd �tjBtNd!�tjDtNd"�tjHtNd$�tjHtNd'fd$�tjJtNd%�tjLtNd&�tjPd(�tjNd)�tjRd*�tjTd+�tjVd,�tjXd-�tjZd.�tj\d/�tj^d0�tj`d1��itjbd2�tjdd3�tjfd4�tjhd5�tjjd6�tjld7�tjPtNd8fd(�tjPtnd8fd(�tjRtNd*�tjTtNtpfd+�tjVtNd,�tjZtNd.�tjZd9d.�tjZd:d.�tjbtNd2�tjftNd4�tjjtNd)��tjjtntrfd6i�}|ju�D]�\}}|jw|�;�5|jy|jz|t}|��|jy|j~|t}|��|jy|j�d<t}|��t�t�j�d=z�D]?}t�j�||�}t�j�|�}|j�||��A	ddd���y#1swY��xYw)>Nr�	rzrr�
rmr�
r�
r"r�	r�
r�	rlr�
r�
r�	r�r r`	rr
�	ItemsViewr�r�KeysViewrr��MappingViewr!r�
r�
r�
r6r�	r�rrr5�
ValuesView.r@r
r$rFr%rArr�rrrrDrIrrrB�
Annotationr�rrr�rTrb)GrTr�	rzrr�
rmr�
r�
r"r�	r�
r�	rlr�
r�
r�	r�r r`	rr
rJr�rrKrr�rLr!r�
r�
r�
r6r�	r�rrr5rMr
r@r$rFr%rArr�rrrrDrIrrrBr�rErpr�rir�r\r�r^r]rfrgrhrfrer�)rW�cls_to_checkr�r�rer�r"s       rYr�z$SpecialAttrsTests.test_special_attrs�$s�	��q
����
�q
�
�&�&�(=�q
�
�!�!�#3�	q
�

� � �/�q
�
� � �/�
q
�
���k�q
�
���|�q
�
�O�O�Z�q
�
�O�O�Z�q
�
���|�q
�
���k�q
�
�!�!�#3�q
�
���k�q
�
�N�N�I�q
� 
���
�!q
�"
�L�L�'�#q
�$
�K�K��%q
�&
���k�'q
�(
���k�)q
�*
�O�O�Z�+q
�,
���k�-q
�.
�O�O�Z�/q
�0
�O�O�Z�1q
�2
�O�O�Z�3q
�4
�K�K��5q
�6
�N�N�I�7q
�8
���
�9q
�:
�!�!�#3�;q
�<
�"�"�$5�=q
�>
���|�?q
�@
���
�Aq
�B
���|�Cq
�D
�O�O�Z�Eq
�F
�J�J��Gq
�H
�L�L�'�Iq
�J
�L�L�'�Kq
�L
�K�K��Mq
�N
���|�Oq
�R
���s�#�]�Sq
�T
�&�&�s�+�-B�Uq
�V
�!�!�#�s�(�+�-=�Wq
�X
� � ��%��Yq
�Z
� � ��%��[q
�\
���S�!�;�]q
�^
�O�O�B��G�$�j�_q
�`
�O�O�C��H�%�z�aq
�b
�O�O�C��H�%�z�cq
�d
���c�"�L�eq
�f
���S�!�;�gq
�h
�!�!�#�&�(8�iq
�j
���S�#�s�]�+�[�kq
�l
�N�N�3���mq
�n
���s�C�x�(�-�oq
�p
�L�L���w�qq
�r
�K�K��S��!�6�sq
�t
���S�!�;�uq
�v
���S�#�s�]�+�[�wq
�x
���S�#�X�&��yq
�z
�O�O�C� �*�{q
�|
�O�O�C� �*�}q
�~
�O�O�C� �*�q
�@
�K�K���f�Aq
�B
�N�N�3��8�$�i�Cq
�D
���s�#�]�Eq
�F
�!�!�#�s�(�+�-=�Gq
�H
�"�"�3�'�):�Iq
�J
���c�"�L�Kq
�L
���s�C�x�(�-�Mq
�N
���c�"�L�Oq
�P
�O�O�C� �*�Qq
�R
�J�J�s�O�U�Sq
�T
�L�L���w�Uq
�V
�L�L��c��"�G�Wq
�X
�K�K���f�Yq
�Z
���c�"�L�[q
�^
���k�_q
�`
�J�J��aq
�b
�O�O�Z�cq
�d
���
�eq
�f
�L�L�'�gq
�h
���|�iq
�j
�N�N�I�kq
�l
�N�N�I�mq
�n
�O�O�Z�oq
�p
�L�L�'�qq
�r
�O�O�Z�sq
�t
���k�uq
�v
���k�wq
�x
�N�N�I�yq
�z
�L�L�'�{q
�|
�K�K��}q
�@
���S�,�.�/��Aq
�B
���S�,�.�/��Cq
�D
�O�O�C� �*�Eq
�F
���s�M�1�2�M�Gq
�H
�L�L���w�Iq
�J
�N�N�3���Kq
�L
�N�N�4� �)�Mq
�N
�N�N�7�#�Y�Oq
�P
�O�O�C� �*�Qq
�R
���S�!�;�Sq
�T
�L�L���u�Uq
�V
�L�L��e��$�g�Wq
��f&�+�+�-�I�C�����#��&�� � ����t�S��X�>�� � ��!1�!1�4��S��B�� � �����3�s�8�D�"�6�#:�#:�Q�#>�?�E����S�%�0�A�#�\�\�!�_�F��M�M�#�v�.�@�	'�&�.�&�&�s
�8Cf�f	�SpecialAttrsTests.TypeNamec��tjd�}|jt|d��|jt|d��|j	|j
d�t
tjdz�D]6}|jt�5tj||�ddd��8|j	tjjd�|j	tjjd�|j	tjj
t�t
tjdz�D][}tjtj|�}tj |�}|j#tj|��]|j	t$jd�|jtt$d��|j	t$j
t�t
tjdz�D]G}tjt$|�}tj |�}|j#t$|��I|j	t&jd	�|jtt&d��|j	t&j
t�t
tjdz�D]G}tjt&|�}tj |�}|j#t&|��Iy#1swY���xYw)
Nzset[Any]r\r^rTrb�TypeNamerPrFrE)rTrAr�rlr�r]rfrgrhr}r~rfrHrRr\r^rer�rFrE)rWrfrer�r"s     rY�test_special_attrs2z%SpecialAttrsTests.test_special_attrs29%s`���
�
�z�
*�������Z�0�1������^�4�5��������1��6�2�2�Q�6�7�E��"�"�9�-����R��'�.�-�8�	
���*�3�3�<�<�j�I�����&�&�3�3�(�	
�	
����&�&�1�1��	
�
�6�2�2�Q�6�7�E����.�7�7��?�A��\�\�!�_�F��M�M�+�4�4�f�=�8�	
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�E����]�E�2�A��\�\�!�_�F��M�M�-��0�8�
	
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�E����]�E�2�A��\�\�!�_�F��M�M�-��0�8�G.�-�s�M�M	c�
�Gd�dtt�}tt|t��}dD]/}|j|��5|j
||�ddd��1|jd|�y#1swY�NxYw)Nc��eZdZd�ZdZdZy)�4SpecialAttrsTests.test_genericalias_dir.<locals>.Fooc��yrSr_r�s rYrz8SpecialAttrsTests.test_genericalias_dir.<locals>.Foo.barm%r�r[rOrTN)r\r]r^rr_�	__magic__r_r[rYr�rVl%s��
��C��Ir[r�)rr_r�r�r�rLrX)r#rrNrOr�rirPrN)rWr�rRrMs    rY�test_genericalias_dirz'SpecialAttrsTests.test_genericalias_dirk%ss��	�'�!�*�	���C��H�
�&�	�
�M����M��:��
�
�m�Y�7�;�:�	
�	
����i�0�;�:�s�	A9�9B	N)
r\r]r^r�rTr�r
rRrSrYr_r[rYrHrH�$s)��|/�|�v�~�~�:�C�@�H�01�d1r[rHc��eZdZd�Zy)�RevealTypeTestsc���t�}t�5}|j|t|��ddd�|j	j�d�y#1swY�*xYw)NzRuntime type is 'object'
)r�rJr�r0r��getvalue)rWrV�stderrs   rY�test_reveal_typez RevealTypeTests.test_reveal_type%sJ���h��
�
�&��M�M�#�{�3�/�0��������*�,H�I��
�s�A�A#N)r\r]r^r_r_r[rYr[r[~%s��Jr[r[c��eZdZd�Zd�Zd�Zy)�DataclassTransformTestsc
��ddd�dtdtfd�}tdd��|�}Gd�d	�}|j||�|j|jddddd
id��|j|dd��|�|�y)NFT��frozen�kw_onlyrdrec��d�S)Nc��|SrSr_r�s rYr1zNDataclassTransformTests.test_decorator.<locals>.create_model.<locals>.<lambda>�%s��sr[r_rcs  rY�create_modelz<DataclassTransformTests.test_decorator.<locals>.create_model�%s��"�"r[)�kw_only_default�
order_defaultc��eZdZUeed<y)�=DataclassTransformTests.test_decorator.<locals>.CustomerModelr�Nr�r_r[rY�
CustomerModelrl�%����Gr[rmr_��
eq_defaultrjri�frozen_default�field_specifiersr�)rr1r�r��__dataclass_transform__)rWrh�	decoratedrms    rY�test_decoratorz&DataclassTransformTests.test_decorator�%s���+0�$�	#�D�	#�4�	#�S�'��E�R�S_�`�	�	�	�	
�
�
�i��.�����-�-�"�!&�#'�"'�$&��

�
	
�	
�
�
�1�I�T�5�1�-�@��	
r[c
���Gd�d�}tddd��|�}Gd�d|d��}|j||�|j|jddddd	d
did��|j	||�y)Nc��eZdZdd�defd�Zy)�:DataclassTransformTests.test_base_class.<locals>.ModelBaseF�rdrdc��yrSr_)r�rds  rYr�zLDataclassTransformTests.test_base_class.<locals>.ModelBase.__init_subclass__�%s��r[N)r\r]r^rr�r_r[rY�	ModelBaserx�%s
��9>�D�$�Dr[r{T)rprj�make_everything_awesomec��eZdZUeed<y)�>DataclassTransformTests.test_base_class.<locals>.CustomerModelr�Nr�r_r[rYrmr~�%rnr[rmryFr_r|ro)r1r�r�rsr�)rWr{�	Decoratedrms    rY�test_base_classz'DataclassTransformTests.test_base_class�%s���	E�	E�
�'���$(�	
�
��	�	�I�d�	�	
�
�
�i��+�����-�-�"�!%�#(�"'�$&�4�d�;�

�
	
�	
���m�Y�7r[c
�"�Gd�d�}Gd�dt�}tdd|f��|�}Gd�d|�	�}Gd
�d|d�
�}|j||�|j|jdddd|fid��|j||�y)Nc��eZdZy)�5DataclassTransformTests.test_metaclass.<locals>.FieldNrpr_r[rY�Fieldr��%r�r[r�c�*��eZdZdd�def�fd�Z�xZS)�9DataclassTransformTests.test_metaclass.<locals>.ModelMetaT��initr�c�(��t�|�||||�SrS)r�r�)r�r�r��	namespacer�r�s     �rYr�zADataclassTransformTests.test_metaclass.<locals>.ModelMeta.__new__�%s����w��s�D�%��C�Cr[)r\r]r^rr�r�r�s@rY�	ModelMetar��%s���=A�
D�6:�
D�
Dr[r�T)rjrqrrc��eZdZy)�9DataclassTransformTests.test_metaclass.<locals>.ModelBaseNrpr_r[rYr{r��%r�r[r{r�c��eZdZUeed<y)�=DataclassTransformTests.test_metaclass.<locals>.CustomerModelr�Nr�r_r[rYrmr��%rnr[rmFr�ro)r�r1r�r�rsr�)rWr�r�rr{rms      rY�test_metaclassz&DataclassTransformTests.test_metaclass�%s�����	D��	D�
�'��t�u�h�
�
��	�	2�)�1�	�I�E�	�	
�
�
�i��+�����-�-�"�!%�#(�"&�%*�H��

�
	
�	
���m�Y�7r[N)r\r]r^rur�r�r_r[rYrara�%s��
�48�88r[rac��eZdZ	d�Zd�Zy)�AllTestsc���ddlm}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�|jd	|�|jd
|�|jd|�|jd|�|jd
|�|jd|�|jd|�y)Nr)r�	r�	rMr)rrlrz�ior��osrV
�Textr-r$)rTr�	rPrNrL
s  rY�test_allzAllTests.test_all�%s���'��
�
�m�Q�'��
�
�l�A�&��
�
�f�a� ��
�
�j�!�$��
�
�&��*��
�
�+�Q�/�����q�!�����q�!�����q�!������"��
�
�f�a� ��
�
�o�q�)��
�
�'��+r[c	�z�ttj�}tt�j	�D��chc]b\}}||vsW|jd�sH|dvrD|j
d�s3|j�|k(s t|dd�tjk(r|��d}}}|j||�ycc}}w)Nro>r�r�)rT	�_contra�_cor])rNrTr�	rOr�r�r��upperr�	r\�assertSetEqual)rW�
actual_allrr��computed_alls     rY�test_all_exported_namesz AllTests.test_all_exported_names�%s�������(�
��v�,�,�,�.�

�.�$�!�Q��J���L�L��%���%��J�J�9�:��G�G�I��N���<��.�&�/�/�A�
�.�	�

�	
���L�*�5��

s�A'B7N)r\r]r^r�r�r_r[rYr�r��%s���,�,6r[r�c
�f�eZdZeeeeefeeefee	e
e
defe
egefeeedffZd�Z
d�Zy)�TypeIterationTests.r�c��d}|jD]�}|j|��5|jt|�5t	|�ddd�|jt|�5t|�ddd�|jt|�5|D]}�	ddd�ddd���y#1swY�exYw#1swY�GxYw#1swY�,xYw#1swY��xYw)Nzobject is not iterabler�)�_UNITERABLE_TYPESrir�r~r 	r�)rW�expected_error_regex�	test_typeros    rY�test_cannot_iteratez&TypeIterationTests.test_cannot_iterate&s���7���/�/�I����9��-��+�+�I�7K�L���O�M��+�+�I�7K�L���O�M��+�+�I�7K�L�&���'�M�.�-�0�L�L��L�L��L�L��.�-�sR�C�B+�C�%B7�1C�C�C�+B4�0C�7C�<C�C�C�C	c�z�|jD],}|j|tjj��.yrS)r�r�rrzr�)rW�type_to_tests  rY� test_is_not_instance_of_iterablez3TypeIterationTests.test_is_not_instance_of_iterable%&s,�� �2�2�L��$�$�\�;�?�?�3K�3K�L�3r[N)r\r]r^r
rr�r�rrrr"r@r�r�r�r_r[rYr�r�
&sc���
�
�c�3�h��
�c�1�f�
��
����a����!��c�����!�R�%����
�Mr[r�c�V�ddl}|j|jt��|SrW)�doctest�addTests�DocTestSuiterT)�loaderr�patternr�s    rY�
load_testsr�*&s!���	�N�N�7�'�'��/�0��Lr[�__main__)�rrr�collections.abcr�	functoolsrrrr�r�
r�rVrgr�rV
r%�unittestrrr	�
unittest.mockr
rrrTr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r5r6r7r8r9r;r<r=r>r?r@rArBrCrDrErFrGrHrIrzr�	r�r��test.supportrJrK�test.support.testcaserL�test.typinganndatarMrNrOr�r�r�rQrmrorsrurwryr�r�rrrrKrer�r�rr�r�r�r�rFrrbrvr�r�rDrJrLr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�
r�
r�
r�
r>rErHrJrMrPrArCrHrqrrrsrtrurvr�
rxrmr�r�r�r�r�r�r=r�r�r�r�r�r�r�r�r�r��
FooGenericr�r�r�r�r�r�r�r�r�r�r�r�r�rzr�r�r�
r�
rr�r�r�rp
r}
rmr}r�r�r�r.r�rrr,rDr�r�r,r6rErpr#rFrHr[rar�r�r�r\r_r[rY�<module>r�s������#�.�.�	����
�	�
��)�)���5�5�;�;�8�8���+�+�4�4��<�<�7�7�!�'����&�9��?�?�'�'�!�(�&��I�I��
��
���6�1�T�T�@��C��>���8�_��	�	�	�	�h�	�	�h�	�	�g�w�	�F�|�F�R&%�&%�R-�(�,�-�(
8�%�|�
8� 
�|�
�&65��65�r5>��5>�ng2�<�g2�TA,��S�	�A,��c�4��9�n�9M�A,�RV�W\�]`�Wa�Rb�A,�H+�|�+�B@�L�@�HB'�,�B'�J~
<��~
<�B.$��.$�bTG��TG�n)'��)'�Xd�d�L		?�+�\�	?�(�0�,�(�x=�<�x=�v
�T�3�����T�]��	�G�B��F�O�	��m�B��F�+��$�����J�������
�H���H���	�u�e�X�	��	���H����
	�u�	��������h����[8�L�[8�|0|�<�|�~!+&�L�+&�Z0#��0#�fG6�,�G6�T{9�\�{9�|���$
6�l�
6�"+��0�0��0��<�<��<�X1�l�X1�v���
����YC�L�YC�|���e�n���v�'�'��,��
%�6�/�/��4�
%���
�
�����1�� ���
� ������:���j���J��
�J��	�'�W�c�N�+�,���i��	�W�Q�Z��	��
�
 �
 ����#�.�.�q�1���(�7�E�'��i�u������I�U���)�5���)��J��J�,� :�,�,�Y�,�,�9�,�.��.�$�,�.�.�$��V�/�/��4��
�
�3�5�M���t����
�
�vU�|�vU�r	aT�8�aT�HSg�,�Sg�l1�L�1�:$%��$%�NK�(�K�R�<�R�jbG�l�bG�JhE�\�hE�V-&�L�-&�`-)�|�-)�`#(�l�#(�LL�l�L�^p<�\�p<�f
*�\�*�ZG$�\�G$�T@8�|�@8�D/'�\�/'�d!�� � ��1�
�������U�G�D�
�D1��D1�NJ�l�J�U8�l�U8�p)6�|�)6�XM��M�@��z���F���Ik�����s�7\�\.�)\.

Youez - 2016 - github.com/yon3zu
LinuXploit