
    0hhD&                         S SK r S SKJr  S SKJr   " S S\ R
                  5      r " S S\ R
                  5      r\R                   " S S	\ R
                  5      5       r	\
S
:X  a  \ R                  " 5         gg)    N)support)import_modulec                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestMROEntry   c                    ^^ / m " S S5      n " UU4S jS5      mT" 5       nU R                  T/ 5         " S SX5      nU R                  TS   X445        U R                  TS   0 5        g )	Nc                       \ rS rSrSrg)0TestMROEntry.test_mro_entry_signature.<locals>.B	    N__name__
__module____qualname____firstlineno____static_attributes__r       ?/opt/python-3.13.8/usr/lib/python3.13/test/test_genericclass.pyBr
   	       r   r   c                   $   > \ rS rSrU U4S jrSrg)0TestMROEntry.test_mro_entry_signature.<locals>.C
   c                 .   > TR                  X/5        T4$ Nextend)selfargskwargsCtesteds      r   __mro_entries__@TestMROEntry.test_mro_entry_signature.<locals>.C.__mro_entries__   s    tn-tr   r   Nr   r   r   r   r#   r   r!   r"   s   r   r!   r   
        r   r!   c                       \ rS rSrSrg)0TestMROEntry.test_mro_entry_signature.<locals>.D   r   Nr   r   r   r   Dr)          sr   r+   r      )assertEqual)r   r   cr+   r!   r"   s       @@r   test_mro_entry_signature%TestMROEntry.test_mro_entry_signature   sd    	 	 C$aVI.B'r   c                   ^ / m " S S5      n " S S5      n " U4S jS5      nU" 5       nU R                  T/ 5         " S SXU5      nU R                  TS	   XU45        U R                  UR                  XU45        U R                  UR                  XU45        U R                  UR                  XQX2[        45        U" 5       n " S
 SU5      nU R                  TS	   U45        U R                  UR                  U45        g )Nc                       \ rS rSrSrg)&TestMROEntry.test_mro_entry.<locals>.A   r   Nr   r   r   r   Ar4      r   r   r6   c                       \ rS rSrSrg)&TestMROEntry.test_mro_entry.<locals>.B   r   Nr   r   r   r   r   r8      r   r   r   c                   "   > \ rS rSrU 4S jrSrg)&TestMROEntry.test_mro_entry.<locals>.C   c                 @   > TR                  U5        U R                  4$ r   )append	__class__r   basesr"   s     r   r#   6TestMROEntry.test_mro_entry.<locals>.C.__mro_entries__   s    e$((r   r   Nr%   r"   s   r   r!   r;      s    ) )r   r!   c                       \ rS rSrSrg)&TestMROEntry.test_mro_entry.<locals>.D   r   Nr   r   r   r   r+   rE          #r   r+   c                       \ rS rSrSrg)&TestMROEntry.test_mro_entry.<locals>.E$   r   Nr   r   r   r   ErJ   $       Cr   rL   r.   	__bases____orig_bases____mro__object)	r   r6   r   r!   r/   r+   drL   r"   s	           @r   test_mro_entryTestMROEntry.test_mro_entry   s    	) 	) C$aaAY/qQi0))A!95Q1$89CaT*qd+r   c                   ^ / m " S S5      n " S S5      n " U4S jS5      nU" 5       nU R                  T/ 5         " S SXU5      nU R                  TS	   XU45        U R                  UR                  X45        U R                  UR                  XU45        U R                  UR                  XQU[        45         " S
 SU5      nU R                  TS	   U45        U R                  UR                  [        45        U R                  UR                  U45        U R                  UR                  U[        45        g )Nc                       \ rS rSrSrg)+TestMROEntry.test_mro_entry_none.<locals>.A*   r   Nr   r   r   r   r6   rX   *   r   r   r6   c                       \ rS rSrSrg)+TestMROEntry.test_mro_entry_none.<locals>.B+   r   Nr   r   r   r   r   r[   +   r   r   r   c                   "   > \ rS rSrU 4S jrSrg)+TestMROEntry.test_mro_entry_none.<locals>.C,   c                 (   > TR                  U5        gNr   r>   r@   s     r   r#   ;TestMROEntry.test_mro_entry_none.<locals>.C.__mro_entries__-   s    e$r   r   Nr%   rC   s   r   r!   r^   ,   s     r   r!   c                       \ rS rSrSrg)+TestMROEntry.test_mro_entry_none.<locals>.D2   r   Nr   r   r   r   r+   re   2   rG   r   r+   rH   c                       \ rS rSrSrg)+TestMROEntry.test_mro_entry_none.<locals>.E7   r   Nr   r   r   r   rL   rh   7   rM   r   rL   rN   )r   r6   r   r!   r/   r+   rL   r"   s          @r   test_mro_entry_none TestMROEntry.test_mro_entry_none(   s   	 	 C$aaAY/qf-))A!95Q1f$56aT*vi0))A40QK0r   c                 x  ^ / m " S S5      n " U4S jS5      nU" 5       nU R                  T/ 5         " S SX5      nU R                  TS   X45        U R                  UR                  U[        45        U R                  UR                  X45        U R                  UR                  XA[        [
        45        g )Nc                       \ rS rSrSrg)4TestMROEntry.test_mro_entry_with_builtins.<locals>.A?   r   Nr   r   r   r   r6   rn   ?   r   r   r6   c                   "   > \ rS rSrU 4S jrSrg)4TestMROEntry.test_mro_entry_with_builtins.<locals>.C@   c                 4   > TR                  U5        [        4$ r   )r>   dictr@   s     r   r#   DTestMROEntry.test_mro_entry_with_builtins.<locals>.C.__mro_entries__A   s    e$wr   r   Nr%   rC   s   r   r!   rq   @   s     r   r!   c                       \ rS rSrSrg)4TestMROEntry.test_mro_entry_with_builtins.<locals>.DF   r   Nr   r   r   r   r+   rw   F   r,   r   r+   rH   )r.   rO   rt   rP   rQ   rR   )r   r6   r!   r/   r+   r"   s        @r   test_mro_entry_with_builtins)TestMROEntry.test_mro_entry_with_builtins=   s    	 	 C$aV,q$i0))A62Q4$89r   c                   ^^ / m " UU4S jS5      mT" 5       nU R                  T/ 5         " S SU[        5      nU R                  TS   U[        45        U R                  UR                  T[        45        U R                  UR                  U[        45        U R                  UR                  UT[        [
        45        g )Nc                   $   > \ rS rSrU U4S jrSrg)6TestMROEntry.test_mro_entry_with_builtins_2.<locals>.CN   c                 ,   > TR                  U5        T4$ r   rb   )r   rA   r!   r"   s     r   r#   FTestMROEntry.test_mro_entry_with_builtins_2.<locals>.C.__mro_entries__O   s    e$tr   r   Nr%   r&   s   r   r!   r}   N   r'   r   r!   c                       \ rS rSrSrg)6TestMROEntry.test_mro_entry_with_builtins_2.<locals>.DT   r   Nr   r   r   r   r+   r   T   rG   r   r+   rH   )r.   rt   rO   rP   rQ   rR   )r   r/   r+   r!   r"   s      @@r   test_mro_entry_with_builtins_2+TestMROEntry.test_mro_entry_with_builtins_2L   s    	 	 C$4aY/q$i0))At95Q4$89r   c                 0    " S S5      nU" 5       nU R                  [        5          " S SU5      nS S S 5         " S S5      nU" 5       nU R                  [        5          " S SU5      nS S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)	Nc                       \ rS rSrS rSrg)6TestMROEntry.test_mro_entry_errors.<locals>.C_too_many[   c                     gra   r   )r   rA   	somethingothers       r   r#   FTestMROEntry.test_mro_entry_errors.<locals>.C_too_many.__mro_entries__\       r   r   Nr%   r   r   r   
C_too_manyr   [       r   r   c                       \ rS rSrSrg)-TestMROEntry.test_mro_entry_errors.<locals>.D`   r   Nr   r   r   r   r+   r   `       r   r+   c                       \ rS rSrS rSrg)5TestMROEntry.test_mro_entry_errors.<locals>.C_too_fewa   c                     gra   r   r   s    r   r#   ETestMROEntry.test_mro_entry_errors.<locals>.C_too_few.__mro_entries__b   r   r   r   Nr%   r   r   r   	C_too_fewr   a   r   r   r   c                       \ rS rSrSrg)-TestMROEntry.test_mro_entry_errors.<locals>.Ef   r   Nr   r   r   r   rL   r   f   r   r   rL   assertRaises	TypeError)r   r   r/   r+   r   rS   rL   s          r   test_mro_entry_errors"TestMROEntry.test_mro_entry_errorsZ   sq    	 	 Ly)AO *	 	 Ky)AO *) *) *)   A6!B6
B
Bc                 0    " S S5      nU" 5       nU R                  [        5          " S SU5      nS S S 5         " S S5      nU" 5       nU R                  [        5          " S SU5      nS S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)	Nc                       \ rS rSrSrSrg)<TestMROEntry.test_mro_entry_errors_2.<locals>.C_not_callablei   	Surprise!r   Nr%   r   r   r   C_not_callabler   i   s    )Or   r   c                       \ rS rSrSrg)/TestMROEntry.test_mro_entry_errors_2.<locals>.Dm   r   Nr   r   r   r   r+   r   m   r   r   r+   c                       \ rS rSrS rSrg)9TestMROEntry.test_mro_entry_errors_2.<locals>.C_not_tuplen   c                     [         $ r   )rR   r   s    r   r#   ITestMROEntry.test_mro_entry_errors_2.<locals>.C_not_tuple.__mro_entries__o   s    r   r   Nr%   r   r   r   C_not_tupler   n   s    r   r   c                       \ rS rSrSrg)/TestMROEntry.test_mro_entry_errors_2.<locals>.Es   r   Nr   r   r   r   rL   r   s   r   r   rL   r   )r   r   r/   r+   r   rL   s         r   test_mro_entry_errors_2$TestMROEntry.test_mro_entry_errors_2h   sp    	* 	*y)AO *	 	 My)AO *) *) *)r   c                    ^^ / m " U4S jS[         5      n " S S5      m " U4S jS5      nU" 5       n " S SX1S	9nU R                  TS
   U5        U R                  TS   S5        U R                  TS   T45        U R                  TS   S   S5        U R                  UR                  T45        U R                  UR                  U45        U R                  UR                  UT[
        45        U R                  UR                  U5        g )Nc                   ,   >^  \ rS rSrU U4S jrSrU =r$ )3TestMROEntry.test_mro_entry_metaclass.<locals>.Metaw   c                 J   > TR                  XX#/5        [        TU ]	  XX#5      $ r   )r   super__new__)mclsnamerA   nsr?   	meta_argss       r   r   ;TestMROEntry.test_mro_entry_metaclass.<locals>.Meta.__new__x   s'      $e!89wt5==r   r   )r   r   r   r   r   r   __classcell__)r?   r   s   @r   Metar   w   s    > >r   r   c                       \ rS rSrSrg)0TestMROEntry.test_mro_entry_metaclass.<locals>.A{   r   Nr   r   r   r   r6   r   {   r   r   r6   c                   "   > \ rS rSrU 4S jrSrg)0TestMROEntry.test_mro_entry_metaclass.<locals>.C|   c                 
   > T4$ r   r   )r   rA   r6   s     r   r#   @TestMROEntry.test_mro_entry_metaclass.<locals>.C.__mro_entries__}   s
    tr   r   Nr%   )r6   s   r   r!   r   |   s     r   r!   c                       \ rS rSrSrSrg)0TestMROEntry.test_mro_entry_metaclass.<locals>.D   r-   r   N)r   r   r   r   xr   r   r   r   r+   r      s    Ar   r+   	metaclassr   r-         r   )typer.   rO   rP   rQ   rR   r?   )r   r   r!   r/   r+   r6   r   s        @@r   test_mro_entry_metaclass%TestMROEntry.test_mro_entry_metaclassu   s    		>4 	> 		 	 C	 	1t,1s+1t,1c*A.qd+))A40Q6N3d+r   c                      " S S5      nU" 5       nU R                  [        S5         [        SU40 5        S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrS rSrg)0TestMROEntry.test_mro_entry_type_call.<locals>.C   c                     gra   r   )r   rA   s     r   r#   @TestMROEntry.test_mro_entry_type_call.<locals>.C.__mro_entries__   r   r   r   Nr%   r   r   r   r!   r      r   r   r!   z+MRO entry resolution; use types.new_class()Bad)assertRaisesRegexr   r   )r   r!   r/   s      r   test_mro_entry_type_call%TestMROEntry.test_mro_entry_type_call   sJ    	 	 C##I%<= b!= = =s   A  
Ar   N)r   r   r   r   r0   rT   rj   ry   r   r   r   r   r   r   r   r   r   r   r      s/    (,(1*::,,	"r   r   c                   \    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)TestClassGetitem   c                    ^ / m " U4S jS5      nU[         [        4     U R                  TS   U[         [        445        U R                  TS   0 5        g )Nc                   "   > \ rS rSrU 4S jrSrg).TestClassGetitem.test_class_getitem.<locals>.C   c                  *   > TR                  X/5        g r   r   )r   r    getitem_argss     r   __class_getitem__@TestClassGetitem.test_class_getitem.<locals>.C.__class_getitem__   s    ##TN3r   r   Nr   r   r   r   r   r   )r   s   r   r!   r      s     r   r!   r   r-   )intstrr.   )r   r!   r   s     @r   test_class_getitem#TestClassGetitem.test_class_getitem   sO    	 	 	
#s(a1sCj/:a"-r   c                 r     " S S5      nU R                  U[           S5        U R                  X   S5        g )Nc                       \ rS rSrS rSrg)5TestClassGetitem.test_class_getitem_format.<locals>.C   c                 "    SUR                    S3$ )NzC[]r   clsitems     r   r   GTestClassGetitem.test_class_getitem_format.<locals>.C.__class_getitem__   s    DMM?!,,r   r   Nr   r   r   r   r!   r          -r   r!   C[int]zC[C]r.   r   )r   r!   s     r   test_class_getitem_format*TestClassGetitem.test_class_getitem_format   s4    	- 	- 	3*v&r   c                      " S S5      n " S SU5      nU R                  U[           S5        U R                  X"   S5        g )Nc                       \ rS rSrS rSrg):TestClassGetitem.test_class_getitem_inheritance.<locals>.C   c                 :    U R                    SUR                    S3$ N[r   r   r   s     r   r   LTestClassGetitem.test_class_getitem_inheritance.<locals>.C.__class_getitem__       ,,qq99r   r   Nr   r   r   r   r!   r         :r   r!   c                       \ rS rSrSrg):TestClassGetitem.test_class_getitem_inheritance.<locals>.D   r   Nr   r   r   r   r+   r     rM   r   r+   D[int]D[D]r  r   r!   r+   s      r   test_class_getitem_inheritance/TestClassGetitem.test_class_getitem_inheritance   s;    	: 	: 	3*v&r   c                      " S S5      n " S SU5      nU R                  U[           S5        U R                  X"   S5        g )Nc                       \ rS rSrS rSrg)<TestClassGetitem.test_class_getitem_inheritance_2.<locals>.C   c                     g)NzShould not see thisr   r   s     r   r   NTestClassGetitem.test_class_getitem_inheritance_2.<locals>.C.__class_getitem__   s    ,r   r   Nr   r   r   r   r!   r     r   r   r!   c                       \ rS rSrS rSrg)<TestClassGetitem.test_class_getitem_inheritance_2.<locals>.D   c                 :    U R                    SUR                    S3$ r	  r   r   s     r   r   NTestClassGetitem.test_class_getitem_inheritance_2.<locals>.D.__class_getitem__   r  r   r   Nr   r   r   r   r+   r     r  r   r+   r  r  r  r  s      r    test_class_getitem_inheritance_21TestClassGetitem.test_class_getitem_inheritance_2   s@    	- 	-	: 	: 	3*v&r   c                      " S S5      n " S SU5      nU R                  U[           S5        U R                  X"   S5        g )Nc                   $    \ rS rSr\S 5       rSrg):TestClassGetitem.test_class_getitem_classmethod.<locals>.C   c                 :    U R                    SUR                    S3$ r	  r   r   s     r   r   LTestClassGetitem.test_class_getitem_classmethod.<locals>.C.__class_getitem__   s    ,,qq99r   r   N)r   r   r   r   classmethodr   r   r   r   r   r!   r%     s    : :r   r!   c                       \ rS rSrSrg):TestClassGetitem.test_class_getitem_classmethod.<locals>.D   r   Nr   r   r   r   r+   r+     rM   r   r+   r  r  r  r  s      r   test_class_getitem_classmethod/TestClassGetitem.test_class_getitem_classmethod   s;    	: 	: 	3*v&r   c                      " S S5      n " S SU5      nU R                  U[           S5        U R                  X"   S5        g )Nc                       \ rS rSrS rSrg)6TestClassGetitem.test_class_getitem_patched.<locals>.C   c                 *    S n[        U5      U l        g )Nc                 :    U R                    SUR                    S3$ r	  r   r   s     r   r   cTestClassGetitem.test_class_getitem_patched.<locals>.C.__init_subclass__.<locals>.__class_getitem__   s    !ll^1T]]O1==r   )r)  r   )r   r   s     r   __init_subclass__HTestClassGetitem.test_class_getitem_patched.<locals>.C.__init_subclass__   s    >(34E(F%r   r   N)r   r   r   r   r6  r   r   r   r   r!   r1     s    Gr   r!   c                       \ rS rSrSrg)6TestClassGetitem.test_class_getitem_patched.<locals>.D   r   Nr   r   r   r   r+   r9     rM   r   r+   r  r  r  r  s      r   test_class_getitem_patched+TestClassGetitem.test_class_getitem_patched   s=    	G 	G
 	3*v&r   c                      " S S[         5      n " S SU5      nU R                  UR                  S 5        U[             U R                  UR                  [        5        g )Nc                       \ rS rSrSrS rSrg)<TestClassGetitem.test_class_getitem_with_builtins.<locals>.A   Nc                     Xl         g r   )called_withr   s     r   r   NTestClassGetitem.test_class_getitem_with_builtins.<locals>.A.__class_getitem__   s    "&r   r   )r   r   r   r   rB  r   r   r   r   r   r6   r?     s    K'r   r6   c                       \ rS rSrSrg)<TestClassGetitem.test_class_getitem_with_builtins.<locals>.B   r   Nr   r   r   r   r   rE         r   r   )rt   assertIsrB  r   )r   r6   r   s      r    test_class_getitem_with_builtins1TestClassGetitem.test_class_getitem_with_builtins   sE    	' 	'
	 	ammT*	#ammS)r   c                     " S S5      nU R                  [        5         U[             S S S 5         " S S5      nU R                  [        5         U[             S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nc                       \ rS rSrS rSrg)=TestClassGetitem.test_class_getitem_errors.<locals>.C_too_few   c                     g r   r   )r   s    r   r   OTestClassGetitem.test_class_getitem_errors.<locals>.C_too_few.__class_getitem__       r   r   Nr   r   r   r   r   rM         r   r   c                       \ rS rSrS rSrg)>TestClassGetitem.test_class_getitem_errors.<locals>.C_too_many   c                     g r   r   )r   onetwos      r   r   PTestClassGetitem.test_class_getitem_errors.<locals>.C_too_many.__class_getitem__   rQ  r   r   Nr   r   r   r   r   rT     rR  r   r   )r   r   r   )r   r   r   s      r   test_class_getitem_errors*TestClassGetitem.test_class_getitem_errors   sc    	 	 y)cN *	 	 y)sO *) *) *)s   
A$
A5$
A25
Bc                 H    " S S5      nU R                  [        5         U" 5       [             S S S 5         " S S5      nU" 5       nS Ul        U R                  [        5         U[             S S S 5         " S S5      nU R                  [        5         U[             S S S 5         " S S	[        5      nU R                  [        S	5         U[             S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nh= f! , (       d  f       g = f)
Nc                       \ rS rSrS rSrg)7TestClassGetitem.test_class_getitem_errors_2.<locals>.C   c                     g r   r   r   s     r   r   ITestClassGetitem.test_class_getitem_errors_2.<locals>.C.__class_getitem__   rQ  r   r   Nr   r   r   r   r!   r^     rR  r   r!   c                       \ rS rSrSrg)7TestClassGetitem.test_class_getitem_errors_2.<locals>.E   r   Nr   r   r   r   rL   rc     r   r   rL   c                     g)NzThis will not workr   r   s     r   <lambda>>TestClassGetitem.test_class_getitem_errors_2.<locals>.<lambda>   s    0Dr   c                       \ rS rSrSrSrg)DTestClassGetitem.test_class_getitem_errors_2.<locals>.C_not_callable   r   r   Nr   r   r   r   r   ri     s     +r   r   c                       \ rS rSrSrSrg)?TestClassGetitem.test_class_getitem_errors_2.<locals>.C_is_none   Nr   r   r   r   r   	C_is_nonerl     s     $r   rn  )r   r   r   r   tupler   )r   r!   rL   er   rn  s         r   test_class_getitem_errors_2,TestClassGetitem.test_class_getitem_errors_2   s    	 	 y)CH * 	CDy)cF *	, 	,y)3 *	% 	%##I{;cN <;! *) *)
 *)
 <;s/   C %
C1
D
D 
C.1
C?
D
D!c                 T     " S S[         5      nU R                  U[           S5        g )Nc                       \ rS rSrS rSrg);TestClassGetitem.test_class_getitem_metaclass.<locals>.Meta   c                 :    U R                    SUR                    S3$ r	  r   r   s     r   r   MTestClassGetitem.test_class_getitem_metaclass.<locals>.Meta.__class_getitem__   r  r   r   Nr   r   r   r   r   ru     r  r   r   z	Meta[int]r   r.   r   )r   r   s     r   test_class_getitem_metaclass-TestClassGetitem.test_class_getitem_metaclass   s$    	:4 	: 	cK0r   c                 f     " S S[         5      n " S SUS9nU R                  U[           S5        g )Nc                       \ rS rSrSrg)@TestClassGetitem.test_class_getitem_with_metaclass.<locals>.Metai  r   Nr   r   r   r   r   r~    s    $r   r   c                       \ rS rSrS rSrg)=TestClassGetitem.test_class_getitem_with_metaclass.<locals>.Ci  c                 :    U R                    SUR                    S3$ r	  r   r   s     r   r   OTestClassGetitem.test_class_getitem_with_metaclass.<locals>.C.__class_getitem__  r  r   r   Nr   r   r   r   r!   r    r  r   r!   r   r   ry  r   r   r!   s      r   !test_class_getitem_with_metaclass2TestClassGetitem.test_class_getitem_with_metaclass  s,    4	:$ 	: 	3*r   c                 f     " S S[         5      n " S SUS9nU R                  U[           S5        g )Nc                       \ rS rSrS rSrg)ATestClassGetitem.test_class_getitem_metaclass_first.<locals>.Metai  c                     g)Nfrom metaclassr   r   s     r   __getitem__MTestClassGetitem.test_class_getitem_metaclass_first.<locals>.Meta.__getitem__  s    'r   r   N)r   r   r   r   r  r   r   r   r   r   r    s    (r   r   c                       \ rS rSrS rSrg)>TestClassGetitem.test_class_getitem_metaclass_first.<locals>.Ci  c                     g)Nzfrom __class_getitem__r   r   s     r   r   PTestClassGetitem.test_class_getitem_metaclass_first.<locals>.C.__class_getitem__  s    /r   r   Nr   r   r   r   r!   r    s    0r   r!   r   r  ry  r  s      r   "test_class_getitem_metaclass_first3TestClassGetitem.test_class_getitem_metaclass_first  s1    	(4 	(	0$ 	0 	3!12r   r   N)r   r   r   r   r   r  r  r!  r-  r;  rI  rZ  rq  rz  r  r  r   r   r   r   r   r      s>    .'''''
*.1+3r   r   c                       \ rS rSrS rSrg)CAPITesti  c                    [        S5      nUR                  nUR                  nU R                  UR	                  [
        5      U5        U[
           nU R                  [        U5      U5        U R                  UR                  S5      [
        45         " S SU5      nU R                  UR                  [
        45        U R                  UR                  U45        U R                  UR                  U[
        [        45        g )N	_testcapir   c                       \ rS rSrSrg) CAPITest.test_c_class.<locals>.Ci!  r   Nr   r   r   r   r!   r  !  rG  r   r!   )r   GenericGenericAliasassertIsInstancer   r   rH  r   r.   r#   rO   rP   rQ   rR   )r   r  r  r  
IntGenericr!   s         r   test_c_classCAPITest.test_c_class  s    !+.	## --g77<lKS\
d:&533B7#@	
 	sf-))J=9QV$45r   r   N)r   r   r   r   r  r   r   r   r   r  r    s    6r   r  __main__)unittesttestr   test.support.import_helperr   TestCaser   r   cpython_onlyr  r   mainr   r   r   <module>r     sw      4N"8$$ N"b{3x(( {3| 	6x   6 6$ zMMO r   