
    <e0V                       d dl Z d dlZd dlZd dlZd dlZd dlZd dlZej         G d d                      Z G d dej	                  Z
 G d dej	                  Z G d d	ej	                  Z G d
 dej	                  Z G d dej	                  Z G d dej	                  Z G d dej	                  Zedk    rG	 d dlZ G d de          Z ej                    Ze                    d e            j                   dS dS )    Nc                   $    e Zd ZU eed<   eed<   dS )PointxyN)__name__
__module____qualname__int__annotations__     &/usr/lib/python3.11/test/test_patma.pyr   r   
   s"         
FFF
FFFFFr   r   c                       e Zd Zd ZdS )TestCompilerc                     t          t                    5 }t          |                                t          d           d d d            d S # 1 swxY w Y   d S )Nexec)open__file__compileread)selffiles     r   test_refleakszTestCompiler.test_refleaks   s     (^^ 	3tDIIKK6222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   )AAAN)r   r   r	   r   r   r   r   r   r      s#        3 3 3 3 3r   r   c                   R    e Zd Zed             Zed             Zd Zd Zd Zd Z	dS )TestInheritancec                 $    | x  r  dS   r dS  d S )Nseqmapr   r   s    r   check_sequence_then_mappingz+TestInheritance.check_sequence_then_mapping   s/    u u r   c                 $    | x r  dS    r dS  d S )Nr   r   r   r   s    r   check_mapping_then_sequencez+TestInheritance.check_mapping_then_sequence$   s/    u u r   c                 X    G d d          } G d dt           j        t           j        j                  } G d d|t           j        t           j        j                  } G d dt           j        |t                    } G d	 d
t
          t           j        j        |          }|                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           d S )Nc                       e Zd ZdS )<TestInheritance.test_multiple_inheritance_mapping.<locals>.CNr   r   r	   r   r   r   Cr%   -           Dr   r'   c                       e Zd ZdS )=TestInheritance.test_multiple_inheritance_mapping.<locals>.M1Nr&   r   r   r   M1r*   /   r(   r   r+   c                       e Zd ZdS )=TestInheritance.test_multiple_inheritance_mapping.<locals>.M2Nr&   r   r   r   M2r-   1   r(   r   r.   c                       e Zd ZdS )=TestInheritance.test_multiple_inheritance_mapping.<locals>.M3Nr&   r   r   r   M3r0   3   r(   r   r1   c                       e Zd ZdS )=TestInheritance.test_multiple_inheritance_mapping.<locals>.M4Nr&   r   r   r   M4r3   5   r(   r   r4   r   )	collectionsUserDictabcSequencelistdictassertEqualr    r"   )r   r'   r+   r.   r1   r4   s         r   !test_multiple_inheritance_mappingz1TestInheritance.test_multiple_inheritance_mapping,   sN   	 	 	 	 	 	 	 		 	 	 	 	%{'? 	 	 		 	 	 	 	K(+/*B 	 	 		 	 	 	 	%q$ 	 	 		 	 	 	 	{/ 	 	 	99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGGGGr   c                 X    G d d          } G d dt           j        t           j        j                  } G d d|t           j        t           j        j                  } G d dt          |t           j        j                  } G d	 d
t           j        t
          |          }|                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           d S )Nc                       e Zd ZdS )=TestInheritance.test_multiple_inheritance_sequence.<locals>.CNr&   r   r   r   r'   r?   A   r(   r   r'   c                       e Zd ZdS )>TestInheritance.test_multiple_inheritance_sequence.<locals>.S1Nr&   r   r   r   S1rA   C   r(   r   rB   c                       e Zd ZdS )>TestInheritance.test_multiple_inheritance_sequence.<locals>.S2Nr&   r   r   r   S2rD   E   r(   r   rE   c                       e Zd ZdS )>TestInheritance.test_multiple_inheritance_sequence.<locals>.S3Nr&   r   r   r   S3rG   G   r(   r   rH   c                       e Zd ZdS )>TestInheritance.test_multiple_inheritance_sequence.<locals>.S4Nr&   r   r   r   S4rJ   I   r(   r   rK   r   )	r5   UserListr7   Mappingr9   r:   r;   r    r"   )r   r'   rB   rE   rH   rK   s         r   "test_multiple_inheritance_sequencez2TestInheritance.test_multiple_inheritance_sequence@   sN   	 	 	 	 	 	 	 		 	 	 	 	%{'> 	 	 		 	 	 	 	K(+/*A 	 	 		 	 	 	 	q+/1 	 	 		 	 	 	 	%tQ 	 	 	99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGG99""$$??GGGGGr   c                     G d d          } G d d|          } G d d|          }t           j        j                            |            G d d|          } G d	 d
|          }|                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           d S )Nc                       e Zd ZdS )>TestInheritance.test_late_registration_mapping.<locals>.ParentNr&   r   r   r   ParentrQ   U   r(   r   rR   c                       e Zd ZdS )@TestInheritance.test_late_registration_mapping.<locals>.ChildPreNr&   r   r   r   ChildPrerT   W   r(   r   rU   c                       e Zd ZdS )ETestInheritance.test_late_registration_mapping.<locals>.GrandchildPreNr&   r   r   r   GrandchildPrerW   Y   r(   r   rX   c                       e Zd ZdS )ATestInheritance.test_late_registration_mapping.<locals>.ChildPostNr&   r   r   r   	ChildPostrZ   \   r(   r   r[   c                       e Zd ZdS )FTestInheritance.test_late_registration_mapping.<locals>.GrandchildPostNr&   r   r   r   GrandchildPostr]   ^   r(   r   r^   r   )r5   r7   rM   registerr;   r    r"   r   rR   rU   rX   r[   r^   s         r   test_late_registration_mappingz.TestInheritance.test_late_registration_mappingT   s   	 	 	 	 	 	 	 		 	 	 	 	v 	 	 		 	 	 	 	H 	 	 	((000	 	 	 	 	 	 	 		 	 	 	 	Y 	 	 	99&&((CCUKKK99((**EEuMMM99--//JJERRR99))++FFNNN99..:J:JKKUSSS99&&((CCUKKK99((**EEuMMM99--//JJERRR99))++FFNNN99..:J:JKKUSSSSSr   c                     G d d          } G d d|          } G d d|          }t           j        j                            |            G d d|          } G d	 d
|          }|                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           |                     |                      |                      d           d S )Nc                       e Zd ZdS )?TestInheritance.test_late_registration_sequence.<locals>.ParentNr&   r   r   r   rR   rd   l   r(   r   rR   c                       e Zd ZdS )ATestInheritance.test_late_registration_sequence.<locals>.ChildPreNr&   r   r   r   rU   rf   n   r(   r   rU   c                       e Zd ZdS )FTestInheritance.test_late_registration_sequence.<locals>.GrandchildPreNr&   r   r   r   rX   rh   p   r(   r   rX   c                       e Zd ZdS )BTestInheritance.test_late_registration_sequence.<locals>.ChildPostNr&   r   r   r   r[   rj   s   r(   r   r[   c                       e Zd ZdS )GTestInheritance.test_late_registration_sequence.<locals>.GrandchildPostNr&   r   r   r   r^   rl   u   r(   r   r^   r   )r5   r7   r8   r_   r;   r    r"   r`   s         r   test_late_registration_sequencez/TestInheritance.test_late_registration_sequencek   s   	 	 	 	 	 	 	 		 	 	 	 	v 	 	 		 	 	 	 	H 	 	 	 ))&111	 	 	 	 	 	 	 		 	 	 	 	Y 	 	 	99&&((CCUKKK99((**EEuMMM99--//JJERRR99))++FFNNN99..:J:JKKUSSS99&&((CCUKKK99((**EEuMMM99--//JJERRR99))++FFNNN99..:J:JKKUSSSSSr   N)
r   r   r	   staticmethodr    r"   r<   rN   ra   rm   r   r   r   r   r      s          \   \H H H(H H H(T T T.T T T T Tr   r   c                      e 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 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 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 ZKdJ ZLdK ZMdL ZNdM ZOdN ZPdO ZQdP ZRdQ ZSdR ZTdS ZUdT ZVdU ZWdV ZXdW ZYdX ZZdY Z[dZ Z\d[ Z]d\ Z^d] Z_d^ Z`d_ Zad` Zbda Zcdb Zddc Zedd Zfde Zgdf Zhdg Zidh Zjdi Zkdj Zldk Zmdl Zndm Zodn Zpdo Zqdp Zrdq Zsdr Ztds Zudt Zvdu Zwdv Zxdw Zydx Zzdy Z{dz Z|d{ Z}d| Z~d} Zd~ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zdʄ Zd˄ Zd̄ Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zdل Zdڄ Zdۄ Zd܄ Zd݄ Zdބ Zd߄ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )	TestPatmac                 B    ddk    rd}|                      |d           d S )Nr   TassertIsr   r   s     r   test_patma_000zTestPatma.test_patma_000   s+    ar   c                 R    dxdk    r	 dk    r	 d}|                      |d           d S )Nr   FTrr   rt   s     r   test_patma_001zTestPatma.test_patma_001   s8    ar   c                 V    dxdk    r d}ndk    rd}|                      |d           d S )Nr   TFrr   rt   s     r   test_patma_002zTestPatma.test_patma_002   s=    ar   c                 z    d}dxdk    rnxdk    rnxdk    rn	xdk    rn n d}|                      |d           d S )NFr            Trr   rt   s     r   test_patma_003zTestPatma.test_patma_003   X    QQQQQQQQQQQQQar   c                 z    d}dxdk    rnxdk    rnxdk    rn	xdk    rn n d}|                      |d           d S )NFr{   r   r|   r}   Trr   rt   s     r   test_patma_004zTestPatma.test_patma_004   r   r   c                 z    d}dxdk    rnxdk    rnxdk    rn	xdk    rn n d}|                      |d           d S )NFr|   r   r{   r}   Trr   rt   s     r   test_patma_005zTestPatma.test_patma_005   r   r   c                 z    d}dxdk    rnxdk    rnxdk    rn	xdk    rn n d}|                      |d           d S )NFr}   r   r{   r|   Trr   rt   s     r   test_patma_006zTestPatma.test_patma_006   r   r   c                 z    d}dxdk    rnxdk    rnxdk    rn	xdk    rn n d}|                      |d           d S )NF   r   r{   r|   r}   Trr   rt   s     r   test_patma_007zTestPatma.test_patma_007   sX    QQQQQQQQQQQQQar   c                     d} G d d          }|x|j         k    r}n |                     |d           |                     |j         d           d S )Nr   c                       e Zd ZdZdS )#TestPatma.test_patma_008.<locals>.Ar{   N)r   r   r	   r   r   r   r   Ar              AAAr   r   r{   )r   r;   )r   r   r   zs       r   test_patma_008zTestPatma.test_patma_008   s{    	 	 	 	 	 	 	 	 Aa     r   c                 $    G d d          }dx}|r d}nxx }||k    r|r d}n|j         k    rd}|                     |j         d           |                     |d           |                     |d           |                     |d           d S )Nc                       e Zd ZdZdS )#TestPatma.test_patma_009.<locals>.Ar   Nr   r   r	   Br   r   r   r   r      r   r   r   r   r{   r|   r   r;   )r   r   r   r   r   s        r   test_patma_009zTestPatma.test_patma_009   s    	 	 	 	 	 	 	 	a166a66a   AAAr   c                 N    d  r
 dk    r d}n |                      |d           d S Nr   r   r;   rt   s     r   test_patma_010zTestPatma.test_patma_010   <     Ar   c                 t    d  r^ }d}n |                      |g d           |                      |d           d S Nr   r{   r|   r   r   r   r   r   s      r   test_patma_011zTestPatma.test_patma_011   sP    " III&&&Ar   c                     d  r dk    r
^dk    r}d}n |                      |ddg           |                      |d           d S Nr   r{   r   r|   r   r   s      r   test_patma_012zTestPatma.test_patma_012   s^    !!!R QF###Ar   c                     d  r dk    r^dk    r	dk    r}d}n  |                      |dg           |                      |d           d S Nr   r|   r   r{   r   r   s      r   test_patma_013zTestPatma.test_patma_013   d    !!!QQQ QC   Ar   c                     d  r dk    r^dk    rdk    r
dk    r}d}n   |                      |g            |                      |d           d S Nr   r}   r   r{   r|   r   r   s      r   test_patma_014zTestPatma.test_patma_014   sj    !!!QQQ2 BAr   c                     d  r dk    r^ cdk    r}d}n |                      |ddg           |                      |d           d S Nr   r{   r|   r   r   r   s      r   test_patma_015zTestPatma.test_patma_015   s`    "aaaa QF###Ar   c                     d  r dk    r^ ccdk    r	dk    r}d}n  |                      |dg           |                      |d           d S Nr   r|   r{   r   r   r   s      r   test_patma_016zTestPatma.test_patma_016   h    ""aaa QC   Ar   c                     d  r  dk    r^ cccdk    rdk    r
dk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_017zTestPatma.test_patma_017  sp    """aaaAAAA  BAr   c                     d  r dk    r^dk    r
cdk    r}d}n  |                      |dg           |                      |d           d S r   r   r   s      r   test_patma_018zTestPatma.test_patma_018  f    !!!R QC   Ar   c                     d  r dk    r^dk    rdk    rcdk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_019zTestPatma.test_patma_019  sl    !!!QQQAAAA  BAr   c                     d  r dk    r^dk    rccdk    r
dk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_020zTestPatma.test_patma_020  n    !!!RRAAAA BAr   c                 t    d  r^ }d}n |                      |g d           |                      |d           d S r   r   r   s      r   test_patma_021zTestPatma.test_patma_021#  P    " III&&&Ar   c                 r    i }| r d}n |                      |i            |                      |d           d S Nr   r   r   s      r   test_patma_022zTestPatma.test_patma_022*  sO     BAr   c                 z    ddi}| r d}n |                      |ddi           |                      |d           d S r   r   r   s      r   test_patma_023zTestPatma.test_patma_0232  sW    F QF###Ar   c                     i }d }| r dk    rd! x\  dk    r  d}n   |                      |i            |                     |d            d S Nr{   r   r   r;   rs   r   s      r   test_patma_024zTestPatma.test_patma_024:  sp    QQQQQ Bar   c                     ddi}| r- dk    r'd! x!\  xxdk    rnxdk    rn	xdk    rn n }  d}n   |                      |ddi           |                      |d           |                      |d           d S Nr   r{   r|   r   r   r   r   r   r   s       r   test_patma_025zTestPatma.test_patma_025C      F&&&&&&&&&&&naaaaa!!!!!aaaaaaaaaaa '&&QF###AAr   c                     ddi}| r- dk    r'd! x!\  xxdk    rnxdk    rn	xdk    rn n }  d}n   |                      |ddi           |                      |d           |                      |d           d S r   r   r   s       r   test_patma_026zTestPatma.test_patma_026L  r   r   c                     ddi}| r- dk    r'd! x!\  xxdk    rnxdk    rn	xdk    rn n }  d}n   |                      |ddi           |                      |d           |                      |d           d S )Nr   r|   r{   r   r   r   s       r   test_patma_027zTestPatma.test_patma_027U  r   r   c                     ddi}d }| r- dk    r'd! x!\  xxdk    rnxdk    rn	xdk    rn n }  d}n   |                      |ddi           |                     |d            d S )Nr   r}   r{   r|   r   r   r   r   r   r   s       r   test_patma_028zTestPatma.test_patma_028^  s    F&&&&&&&&&&&naaaaa!!!!!aaaaaaaaaaa '&&QF###ar   c                 j   i }d }|x r, dk    r&d! x \    r dk    r\  dk    rdk    r
 r    d}nU    x r@ dk    r:d! x4\    r/ dk    r)\  dk    r!dk    r r   r dk    r\    r dk    r	    d}n       r
 dk    r d}n |                      |i            |                     |d            d S Nr{   r   r}   r|   r   r   r{   r   r   s      r   test_patma_029zTestPatma.test_patma_029g  s)    ZZZZZZZaaaBBBBBB !))))))))))))ZZZZZZZaaaBBBDDDDDDDRRRRRRRRRR *)))) Bar   c                 z   dddi fi}|x r, dk    r&d! x \    r dk    r\  dk    rdk    r
 r    d}nU    x r@ dk    r:d	! x4\    r/ dk    r)\  dk    r!dk    r r   r dk    r\    r dk    r	    d}n       r
 dk    r d}n |                      |dddi fi           |                      |d           d S )
NFT       @r{   r   r}   r|   r   r   r   r   s      r   test_patma_030zTestPatma.test_patma_030t  s<   T3O$ ZZZZZZZaaaBBBBBB !))))))))))))ZZZZZZZaaaBBBDDDDDDDRRRRRRRRRR *)))) UT3O4555Ar   c                    ddi fg gdd}|x r, dk    r&d! x \    r dk    r\  dk    rdk    r
 r    d}nU    x r@ dk    r:d	! x4\    r/ dk    r)\  dk    r!dk    r r   r dk    r\    r dk    r	    d}n       r
 dk    r d}n |                      |ddi fg gdd           |                      |d           d S )
NTr   r   Fr{   r|   r{   r}   r|   r   r   r   r   s      r   test_patma_031zTestPatma.test_patma_031  sJ   3O33 ZZZZZZZaaaBBBBBB !))))))))))))ZZZZZZZaaaBBBDDDDDDDRRRRRRRRRR *)))) T3OCCDDDAr   c                 ~   ddi fg gdd}|x r( dk    r"d! x\    r dk    r\  dk    rdk    r   d}nT   x r@ dk    r:d	! x4\    r/ dk    r)\  dk    r!dk    r r   r dk    r\    r dk    r	    d}n       r
 dk    r d}n |                      |ddi fg gdd           |                      |d           d S )
NTr   r   r   r{   r|   r}   r   r   r   r   s      r   test_patma_032zTestPatma.test_patma_032  sB   3O33VVVVVVVaaa ))))))))))))ZZZZZZZaaaBBBDDDDDDDRRRRRRRRRR *)))) T3OCCDDDAr   c                 f   g }|x r, dk    r&d! x \    r dk    r\  dk    rdk    r
 r    d}nU    x r@ dk    r:d! x4\    r/ dk    r)\  dk    r!dk    r r   r dk    r\    r dk    r	    d}n       r
 dk    r d}n |                      |g            |                      |d           d S r   r   r   s      r   test_patma_033zTestPatma.test_patma_033  s&    ZZZZZZZaaaBBBBBB !))))))))))))ZZZZZZZaaaBBBDDDDDDDRRRRRRRRRR *)))) BAr   c           	      B   ddi}|x r, dk    r&d! x \    r dk    r\  dk    rdk    r
 r    d}n    xx r4 dk    r.d! x(\  x  r dk    r\  dk    r	dk    r r n	  xdu rn n   ns   x r$ dk    rd! x\    r dk    r\    r
 dk    r   nK   x r) dk    r#d! x\    r dk    r\  dk    rdk    r r   n    x  r dk    r n xdk    rnx r n  n  d}n  r
 dk    r d}n |                      |ddi           |                      |d           d S )	Nr   r{   r}   r|   FXr   r{   r   r   s      r   test_patma_034zTestPatma.test_patma_034  s   F ZZZZZZZaaaBBBBBB !X************jjjjjjjjqqq!!!RRRRRR55555555555555YYYYYYYYYYYY"""""""""""""ZZZZZZZaaaBBBBBBBBBB2222222222PSPSPSPSPSVXVXVXVXVXVXVXVXVXVX QF###Ar   c           	      B   ddi}|x r, dk    r&d! x \    r dk    r\  dk    rdk    r
 r    d}n    xx r4 dk    r.d! x(\  x  r dk    r\  dk    r	dk    r r n	  xdu rn n   ns   x r$ dk    rd! x\    r dk    r\    r
 dk    r   nK   x r) dk    r#d! x\    r dk    r\  dk    rdk    r r   n    x  r dk    r n xdk    rnx r n  n  d}n  r
 dk    r d}n |                      |ddi           |                      |d           d S )	Nr   r{   r}   r|   Tr   r   r   r   r   s      r   test_patma_035zTestPatma.test_patma_035  s   F ZZZZZZZaaaBBBBBB !U''''''''''''ZZZZZZZZaaaBBBBBB$$$$$$$$$$$$$$))))))))))))dddddddrrrrrrrrrrrrroooooooooooo*******111aaaSSSSSSUSUSUSUSUSUSUSUSUSU QF###Ar   c                     d}|xdk    rnxdk    rn	xdk    rn n d}|                      |d           |                      |d           d S Nr   r{   r|   r   r   s      r   test_patma_036zTestPatma.test_patma_036  f    QQQQQAAr   c                     d}|xdk    rnxdk    rn	xdk    rn n d}|                      |d           |                      |d           d S Nr{   r   r|   r   r   s      r   test_patma_037zTestPatma.test_patma_037  r   r   c                     d}|xdk    rnxdk    rn	xdk    rn n d}|                      |d           |                      |d           d S Nr|   r   r{   r   r   s      r   test_patma_038zTestPatma.test_patma_038  r   r   c                     d}d }|xdk    rnxdk    rn	xdk    rn n d}|                      |d           |                     |d            d S Nr}   r   r{   r|   r   r   s      r   test_patma_039zTestPatma.test_patma_039  si    QQQQQAar   c                     d}|xxdk    rn xxdk    rn xxdk    rn  n} ||dz  k    rd}|                      |d           |                      |d           |                      |d           d S r   r   r   s       r   test_patma_040zTestPatma.test_patma_040      &!!!!!VVQQQQQ1A::AAAr   c                     d}|xxdk    rn xxdk    rn xxdk    rn  n} ||dz  k    rd}|                      |d           |                      |d           |                      |d           d S r   r   r   s       r   test_patma_041zTestPatma.test_patma_041  r   r   c                     d}d }|xxdk    rn xxdk    rn xxdk    rn  n} ||dz  k    rd}|                      |d           |                     |d            |                      |d           d S r   r   r   s       r   test_patma_042zTestPatma.test_patma_042  s    &!!!!!VVQQQQQ1A::AaAr   c                     d}d }|xxdk    rn xxdk    rn xxdk    rn  n} ||dz  k    rd}|                      |d           |                     |d            d S r   r   r   s       r   test_patma_043zTestPatma.test_patma_043  s    &!!!!!VVQQQQQ1A::Aar   c                 ~    d}|  r
 dk    r d}n |                      |d           |                      |d           d S r   r   r   s      r   test_patma_044zTestPatma.test_patma_044  W     BAr   c                 ~    d}|  r
 dk    r d}n |                      |d           |                      |d           d S r   r   r   s      r   test_patma_045zTestPatma.test_patma_045
  r  r   c                     d}|  r dk    r
\  dk    rd}n |                      |d           |                      |d           d S )Nr   r{   r   r   r   s      r   test_patma_046zTestPatma.test_patma_046  s]    !!! D!!!Ar   c                     d}|  r dk    r\    r
 dk    r d}n |                      |d           |                      |d           d S )N)r   r{   r   r   r   s      r   test_patma_047zTestPatma.test_patma_047  se    """"""" E"""Ar   c                     ddg}|x  r dk    r\  dk    rdk    rn x  r dk    r\  dk    rdk    rn  n d}|                      |ddg           |                      |d           d S r   r   r   s      r   test_patma_048zTestPatma.test_patma_048"      F!!!QQQQQ&&&&&&&&111aaaaaaaaQF###Ar   c                     ddg}|x  r dk    r\  dk    rdk    rn x  r dk    r\  dk    rdk    rn  n d}|                      |ddg           |                      |d           d S r   r   r   s      r   test_patma_049zTestPatma.test_patma_049*  r
  r   c                     ddg}d }|x  r dk    r\  dk    rdk    rn x  r dk    r\  dk    rdk    rn  n d}|                      |ddg           |                     |d            d S )Nr   r|   r{   r   r   s      r   test_patma_050zTestPatma.test_patma_0502  s    F!!!QQQQQ&&&&&&&&111aaaaaaaaQF###ar   c                 ~   d }ddg}|x  r dk    r\  xdk    r} d}nE x  r	 dk    r\  n4 x  r  dk    r\  dk    rxxdk    rn	xdk    rn n n x  r	 dk    r\  n  n} d}|                      |d            |                     |ddg           |                     |d           |                     |d           d S r   rs   r;   r   wr   r   r   s        r   test_patma_051zTestPatma.test_patma_051;  s   F611111 !!((((((((JAAAAA33333333AAAAAAaQF###AAr   c                    ddg}|x  r dk    r\  dk    r d}n? x  r" dk    r\  dk    rdk    r|d d         x}r d}n   r dk    r\  dk    rdk    rd}n |                      |g            |                      |d           d S r   r   r   s      r   test_patma_052zTestPatma.test_patma_052H  s    F!!!! !!!QQQ2A2JAQQ !!!QQQ BAr   c                     dh}d }|  r dk    r
\  dk    rd}n |                      |dh           |                     |d            d S Nr   r{   r   r   s      r   test_patma_053zTestPatma.test_patma_053T  sd    C!!! QC   ar   c                     t                      }d }|  r
 dk    r d}n |                     |t                                 |                     |d            d S r   setr;   rs   r   s      r   test_patma_054zTestPatma.test_patma_054]  sb    EE CEE"""ar   c                     t          g d          }d }|  r
 dk    r d}n |                     g |g d           |                     |d            d S )Nr{   r|   r}   r   )iterr;   rs   r   s      r   test_patma_055zTestPatma.test_patma_055f  sl    OO 1yyy)))ar   c                     i }d }|  r
 dk    r d}n |                      |i            |                     |d            d S r   r   r   s      r   test_patma_056zTestPatma.test_patma_056o  sZ     Bar   c                     ddd}d }|  r dk    r\  dk    rdk    rd}n |                      |ddd           |                     |d            d S )NFTr   r|   r   r{   r   r   s      r   test_patma_057zTestPatma.test_patma_057x  sv    $!!!QQQ $//000ar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_058zTestPatma.test_patma_058  sH    AAr   c                 r    d}d }|du rd}|                      |d           |                      |d            d S )Nr   Fr   r   s      r   test_patma_059zTestPatma.test_patma_059  sM    AD!!!!!r   c                 v    d}d }|dk    rd}|                      |d           |                     |d            d S r  r   r   s      r   test_patma_060zTestPatma.test_patma_060  sK    Aar   c                 n    d}d }|d}|                      |d           |                     |d            d S r   r   r   s      r   test_patma_061zTestPatma.test_patma_061  sG    Aar   c                     d}|xdk    r d}ndk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_062zTestPatma.test_patma_062  sZ    AAr   c                     d}d }|xdk    r d}ndk    rd}|                      |d           |                     |d            d S r  r   r   s      r   test_patma_063zTestPatma.test_patma_063  s]    Aar   c                     d}|xdk    r d}ndk    rd}|                      |d           |                      |d           d S )Nr   r   r   r{   r   r   s      r   test_patma_064zTestPatma.test_patma_064  Z    C   Ar   c                     d}|xdk    r d}ndk    rd}|                      |d           |                      |d           d S )Nr   r   r   r{   r   r   s      r   test_patma_065zTestPatma.test_patma_065  r3  r   c                     d}|xdk    r d}ndk    rd}|                      |d           |                      |d           d S )Nr    r   r{   r   r   s      r   test_patma_066zTestPatma.test_patma_066  sZ    C   Ar   c                     d}|xdk    r d}ndk    rd}|                      |d           |                      |d           d S )N   x   yr   r{   r   r   s      r   test_patma_067zTestPatma.test_patma_067  sZ    D!!!Ar   c                     d}|xdk    r	 dk    rd}|                      |d           |                      |d           d S Nr   Fr{   r   r   s      r   test_patma_068zTestPatma.test_patma_068  sS    AAr   c                     d}d }|xdk    r	 dk    r	 |                      |d           |                     |d            d S r   r   r   s      r   test_patma_069zTestPatma.test_patma_069  sS    Aar   c                     d}|xdk    r d}ndk    r	 d}|                      |d           |                      |d           d S )Nr   Tr{   r   r   s      r   test_patma_070zTestPatma.test_patma_070  \    AAr   c                     d}|xdk    r d}ndk    r	 d}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_071zTestPatma.test_patma_071   rD  r   c                     d}|xdk    r d}ndk    r	 d}d}|                      |d           |                      |d           d S )Nr   Tr{   r|   r   r   s      r   test_patma_072zTestPatma.test_patma_072
  sa    AAr   c                     d}|xdk    r	 dk    r	 d}d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_073zTestPatma.test_patma_073  sZ    AAr   c                     d}d }|xdk    rdx}s d}ndk    rd}|                      |d           |                     |d            d S r  r   r   s      r   test_patma_074zTestPatma.test_patma_074   se    61Aar   c                     d}|x  r dk    r\  dk    r d}n dk    rd}|                      |d           |                      |d           d S )Nr   r{   r   r   r   s      r   test_patma_075zTestPatma.test_patma_075+  sm    #### C   Ar   c                     d}|x  r dk    r\  dk    r d}n2 x  r dk    r\  dk    r d}n x  r dk    r\  dk    r d}n dk    rd}|                      |d           |                      |d           d S )Nr:  r{   r   r   x   r|   r   r   r   s      r   test_patma_076zTestPatma.test_patma_0765  s    $$$$ #### #### D!!!Ar   c                     t          d          }d }|x  r dk    r\  dk    r d}n dk    rd}|                     |d           |                     |d            d S )Nr:  r{   rP  r   	bytearrayr;   rs   r   s      r   test_patma_077zTestPatma.test_patma_077C  sv    dOO#### D!!!ar   c                     d}|x  r dk    r  d}n x  r dk    r\  dk    r d}n dk    rd}|                      |d           |                      |d           d S )Nr7  r   r{   r|   r   r   s      r   test_patma_078zTestPatma.test_patma_078N  s     """" BAr   c                     d}|x  r dk    r\  dk    rdk    r
dk    r d}n  x  r dk    r\  dk    r d}n dk    rd}|                      |d           |                      |d           d S )Nxxxr}   r   r   r{   r|   r   r   s      r   test_patma_079zTestPatma.test_patma_079Z  s     ###sssCCCC !%%%% E"""Ar   c                     d}|x  r dk    r\  dk    rdk    r
dk    r d}n  x  r dk    r\  dk    r d}n dk    rd}|                      |d           |                      |d           d S )Ns   xxxr}   rP  r   r{   r|   r   r   s      r   test_patma_080zTestPatma.test_patma_080f  s     ###sssCCCC !&&&& F###Ar   c                     d}|xdk    rdx}s d}nxdk    r}d}n |                      |d           |                      |d           |                      |d           d S r  r   r   s       r   test_patma_081zTestPatma.test_patma_081r  s    61!!!! AAAr   c                     d}|xxdk    r	}dx}s d}n dk    rd}|                      |d           |                      |d           d S r  r   r   s       r   test_patma_082zTestPatma.test_patma_082}  sk    &!!!!q&!!! AAr   c                     d}|xdk    r}d}n |                      |d           |                      |d           |                      |d           d S r   r   r   s       r   test_patma_083zTestPatma.test_patma_083  si    !!!! AAAr   c                 ~    d}d }|xdk    r}d}n |                      |d           |                     |d            d S r  r   r   s       r   test_patma_084zTestPatma.test_patma_084  sV    !!!! Aar   c                     d}d }|xdk    r}dx}rd}n |                      |d           |                      |d           |                     |d            |                      |d           d S r   r   r   r   r   r   r  s        r   test_patma_085zTestPatma.test_patma_085  s    !!!!1fa! AAaAr   c                     d}|xxdk    r}}d}n  |                      |d           |                      |d           |                      |d           |                      |d           d S r   r   r   r   r  r   r   s        r   test_patma_086zTestPatma.test_patma_086  s    611111  -AAAAr   c                     d}|xxdk    rn	xdk    rn n n	xdk    rn n d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_087zTestPatma.test_patma_087  p    !!!!!aaaaaaaaa11111111AAr   c                     d}|xxdk    rn	xdk    rn n n	xdk    rn n d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_088zTestPatma.test_patma_088  rm  r   c                     d}|xxdk    rn	xdk    rn n n	xdk    rn n d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_089zTestPatma.test_patma_089  rm  r   c                     d}d }|xxdk    rn	xdk    rn n n	xdk    rn n d}|                      |d           |                     |d            d S r   r   r   s      r   test_patma_090zTestPatma.test_patma_090  ss    !!!!!aaaaaaaaa11111111Aar   c                     d}|xdk    rnxxdk    rn	xdk    rn n n n d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_091zTestPatma.test_patma_091  p    eaaaaa!!!!!!!!!!!!AAr   c                     d}|xdk    rnxxdk    rn	xdk    rn n n n d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_092zTestPatma.test_patma_092  rv  r   c                     d}|xdk    rnxxdk    rn	xdk    rn n n n d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_093zTestPatma.test_patma_093  rv  r   c                     d}d }|xdk    rnxxdk    rn	xdk    rn n n n d}|                      |d           |                     |d            d S r   r   r   s      r   test_patma_094zTestPatma.test_patma_094  ss    eaaaaa!!!!!!!!!!!!Aar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_095zTestPatma.test_patma_095  sH    AAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Nr   g       r   r   s      r   test_patma_096zTestPatma.test_patma_096  sH    AAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S Nr   y              r   r   s      r   test_patma_097zTestPatma.test_patma_097   sH    AAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_098zTestPatma.test_patma_098  sH    AAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Nr   r   r   s      r   test_patma_099zTestPatma.test_patma_099  sH    BAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ng      r   r   r   s      r   test_patma_100zTestPatma.test_patma_100  sH    D!!!Ar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ny             r   r   r   s      r   test_patma_101zTestPatma.test_patma_101   sH    C   Ar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ny             r   r   r   s      r   test_patma_102zTestPatma.test_patma_102(  sH    E"""Ar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S Nr                   r   r   s      r   test_patma_103zTestPatma.test_patma_1030  H    AAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_104zTestPatma.test_patma_1048  r  r   c                 r    d}|dk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_105zTestPatma.test_patma_105@  H    AAr   c                 r    d}|dk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_106zTestPatma.test_patma_106H  r  r   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ny      ?      ?r   r   r   s      r   test_patma_107zTestPatma.test_patma_107P  H    L)))Ar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ny      ?      r   r   r   s      r   test_patma_108zTestPatma.test_patma_108X  r  r   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ny      п      ?r   r   r   s      r   test_patma_109zTestPatma.test_patma_109`  H    M***Ar   c                 r    d}|dk    rd}|                      |d           |                      |d           d S )Ny      п      r   r   r   s      r   test_patma_110zTestPatma.test_patma_110h  r  r   c                      G d d          }d}||j         k    rd}|                     |j         d           |                     |d           |                     |d           d S )Nc                       e Zd ZdZdS )#TestPatma.test_patma_111.<locals>.Ar   Nr   r   r   r   r   r  q  r   r   r   r   r   r   r   r   r   s       r   test_patma_111zTestPatma.test_patma_111p  s    	 	 	 	 	 	 	 	a   AAr   c                      G d d          }d}||j         j        k    rd}|                     |j         j        d           |                     |d           |                     |d           d S )Nc                   (    e Zd Z G d d          ZdS )#TestPatma.test_patma_112.<locals>.Ac                       e Zd ZdZdS )%TestPatma.test_patma_112.<locals>.A.Br   Nr   r   r	   r'   r   r   r   r   r  }  s        r   r   Nr   r   r   r   r   r  |  s<                 r   r   r   )r   r'   r;   r  s       r   test_patma_112zTestPatma.test_patma_112{  s    	 	 	 	 	 	 	 	 """AAr   c                 H    G d d          }d}|x|j         j        k    r d}n|j         j        k    rd}|                     |j         j        d           |                     |j         j        d           |                     |d           |                     |d           d S )Nc                   (    e Zd Z G d d          ZdS )#TestPatma.test_patma_113.<locals>.Ac                       e Zd ZdZdZdS )%TestPatma.test_patma_113.<locals>.A.Br   r{   N)r   r   r	   r'   Dr   r   r   r   r    s        r   r   Nr   r   r   r   r   r    s<                 r   r   r{   r   r   r'   r  r;   r  s       r   test_patma_113zTestPatma.test_patma_113  s    	 	 	 	 	 	 	 	 """"""AAr   c                      G d d          }d}||j         j        j        k    rd}|                     |j         j        j        d           |                     |d           |                     |d           d S )Nc                   (    e Zd Z G d d          ZdS )#TestPatma.test_patma_114.<locals>.Ac                   (    e Zd Z G d d          ZdS )%TestPatma.test_patma_114.<locals>.A.Bc                       e Zd ZdZdS )'TestPatma.test_patma_114.<locals>.A.B.Cr   N)r   r   r	   r  r   r   r   r'   r    s        AAAr   r'   Nr  r   r   r   r   r    s<                 r   r   Nr   r   r   r   r   r    s<                 r   r   r   r  r  s       r   test_patma_114zTestPatma.test_patma_114  s    	 	 	 	 	 	 	 	 !$$$AAr   c                 p    G d d          }d}|x|j         j        j        k    r d}n|j         j        j        k    rd}|                     |j         j        j        d           |                     |j         j        j        d           |                     |d           |                     |d           d S )Nc                   (    e Zd Z G d d          ZdS )#TestPatma.test_patma_115.<locals>.Ac                   (    e Zd Z G d d          ZdS )%TestPatma.test_patma_115.<locals>.A.Bc                       e Zd ZdZdZdS )'TestPatma.test_patma_115.<locals>.A.B.Cr   r{   N)r   r   r	   r  Er   r   r   r'   r    s        AAAAr   r'   Nr  r   r   r   r   r    s<                 r   r   Nr   r   r   r   r   r    s<                 r   r   r{   r   )r   r'   r  r  r;   r  s       r   test_patma_115zTestPatma.test_patma_115  s    	 	 	 	 	 	 	 	
 !$$$!$$$AAr   c                     dx}}|}d}|                      |d           |                      |d           |                      |d           d S r   r   r   matchcaser   s       r   test_patma_116zTestPatma.test_patma_116  s_    """q!!!Ar   c                     dx}}|}d}|                      |d           |                      |d           |                      |d           d S r   r   r  s       r   test_patma_117zTestPatma.test_patma_117  s_    """q!!!Ar   c                     g }|x  r dk    r  d}n   r
 dk    r d}n |                      |g            |                      |d           d S )Nr{   r   r   r   s      r   test_patma_118zTestPatma.test_patma_118  sv      BAr   c                     t          j        t                    }|x r dk    rd! x\  dk    r   d}n
    r d}n |                     |i            |                     |d           d S r   r5   defaultdictr
   r;   r   s      r   test_patma_119zTestPatma.test_patma_119  s    #C((QQQQQQ  BAr   c                     t          j        t                    }|x r dk    rd! x\  dk    r   d}n    rd! x\   i c\   }d}n   |                     |i            |                     |d           |                     |i            d S )Nr{   r   r   r   r  r   s       r   test_patma_120zTestPatma.test_patma_120  s    #C((QQQQQQ  BABr   c                 N    d  r
 dk    r d}n |                      |d           d S r   r   rt   s     r   test_patma_121zTestPatma.test_patma_121  r   r   c                 t    d  r^ }d}n |                      |g d           |                      |d           d S r   r   r   s      r   test_patma_122zTestPatma.test_patma_122  r   r   c                     d  r dk    r
^dk    r}d}n |                      |ddg           |                      |d           d S r   r   r   s      r   test_patma_123zTestPatma.test_patma_123  s^    B QF###Ar   c                     d  r dk    r^dk    r	dk    r}d}n  |                      |dg           |                      |d           d S r   r   r   s      r   test_patma_124zTestPatma.test_patma_124  r   r   c                     d  r dk    r^dk    rdk    r
dk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_125zTestPatma.test_patma_125  sj    AAAqqq" BAr   c                     d  r dk    r^ cdk    r}d}n |                      |ddg           |                      |d           d S r   r   r   s      r   test_patma_126zTestPatma.test_patma_126  s`    QQQQ QF###Ar   c                     d  r dk    r^ ccdk    r	dk    r}d}n  |                      |dg           |                      |d           d S r   r   r   s      r   test_patma_127zTestPatma.test_patma_127  r   r   c                     d  r  dk    r^ cccdk    rdk    r
dk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_128zTestPatma.test_patma_128  sp    QQQ1111 BAr   c                     d  r dk    r^dk    r
cdk    r}d}n  |                      |dg           |                      |d           d S r   r   r   s      r   test_patma_129zTestPatma.test_patma_129  r   r   c                     d  r dk    r^dk    rdk    rcdk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_130zTestPatma.test_patma_130$  sl    AAAr1111 BAr   c                     d  r dk    r^dk    rccdk    r
dk    r}d}n   |                      |g            |                      |d           d S r   r   r   s      r   test_patma_131zTestPatma.test_patma_131+  r   r   c                 t    d  r^ }d}n |                      |g d           |                      |d           d S r   r   r   s      r   test_patma_132zTestPatma.test_patma_1322  sP     III&&&Ar   c                    t          j        t          ddi          }|x r dk    rd! x\  dk    r   d}n'   x r dk    rd! x\  dk    r   d}n
    r d}n |                     |ddi           |                     |d           d S Nr   r{   r|   r   r   r  r   s      r   test_patma_133zTestPatma.test_patma_1339  s    #C!Q00QQQQQQ QQQQQQ  QF###Ar   c                 h   t          j        t          ddi          }|x r dk    rd! x\  dk    r   d}n4   x r dk    rd! x\  dk    r   d}n    rd! x\   i c\   }d}n   |                     |ddi           |                     |d           |                     |ddi           d S )Nr   r{   r|   r   r   r   r  r   s       r   test_patma_134zTestPatma.test_patma_134E  s    #C!Q00QQQQQQ QQQQQQ  QF###AQF#####r   c                 x   t          j        t          ddi          }|x r dk    rd! x\  dk    r   d}n>   x r dk    rd! x\  dk    r   d}n!    r dk    rd! x\   i c\  xc= }d}n   |                     |ddi           |                     |d           |                     |i            d S r  r  r   s       r   test_patma_135zTestPatma.test_patma_135R  s
   #C!Q00QQQQQQ QQQQQQ QQQQQQQQQ QF###ABr   c                     ddi}|x r dk    rd! x\  dk    r   d}n'   x r dk    rd! x\  dk    r   d}n
    r d}n |                      |ddi           |                      |d           d S Nr   r{   r   r   r   r   s      r   test_patma_136zTestPatma.test_patma_136_  s    FQQQQQQ QQQQQQ  QF###Ar   c                 8   ddi}|x r dk    rd! x\  dk    r   d}n4   x r dk    rd! x\  dk    r   d}n    rd! x\   i c\   }d}n   |                      |ddi           |                      |d           |                      |ddi           d S )Nr   r{   r   r   r   r   r   s       r   test_patma_137zTestPatma.test_patma_137k  s    FQQQQQQ QQQQQQ  QF###AQF#####r   c                 H   ddi}|x r dk    rd! x\  dk    r   d}n>   x r dk    rd! x\  dk    r   d}n!    r dk    rd! x\   i c\  xc= }d}n   |                      |ddi           |                      |d           |                      |i            d S r  r   r   s       r   test_patma_138zTestPatma.test_patma_138x  s    FQQQQQQ QQQQQQ QQQQQQQQQ QF###ABr   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S )NFr   r   boolrs   r;   r   s       r   test_patma_139zTestPatma.test_patma_139  si    a aAar   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S )NTr   r   r   r   s       r   test_patma_140zTestPatma.test_patma_140  si    a aAar   c                     t                      }|t           dx\  }d}n |                     |t                                 |                     |d           |                     ||           d S r   rS  r   s       r   test_patma_141zTestPatma.test_patma_141  s    KK1 IKK(((Aar   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S )Nr   r   r   )bytesr;   rs   r   s       r   test_patma_142zTestPatma.test_patma_142  k    q C   Aar   c                     i }|t           dx\  }d}n |                     |i            |                     |d           |                     ||           d S r   )r:   r;   rs   r   s       r   test_patma_143zTestPatma.test_patma_143  k    a BAar   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S )N        r   r   )floatr;   rs   r   s       r   test_patma_144zTestPatma.test_patma_144  r  r   c                     t                      }|t           dx\  }d}n |                     |t                                 |                     |d           |                     ||           d S r   )	frozensetr;   rs   r   s       r   test_patma_145zTestPatma.test_patma_145  r  r   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S )Nr   r   )r
   r;   rs   r   s       r   test_patma_146zTestPatma.test_patma_146  sk    Q AAar   c                     g }|t           dx\  }d}n |                     |g            |                     |d           |                     ||           d S r   )r9   r;   rs   r   s       r   test_patma_147zTestPatma.test_patma_147  r  r   c                     t                      }|t           dx\  }d}n |                     |t                                 |                     |d           |                     ||           d S r   r  r   s       r   test_patma_148zTestPatma.test_patma_148  ss    EEQ CEE"""Aar   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S )Nr7  r   r   )strr;   rs   r   s       r   test_patma_149zTestPatma.test_patma_149  sk    Q BAar   c                     d}|t           dx\  }d}n |                     |d           |                     |d           |                     ||           d S r   )tupler;   rs   r   s       r   test_patma_150zTestPatma.test_patma_150  sk    q BAar   c                     d}|f  r dk    r\  }d}n |                      |d           |                     ||           |                     |d           d S r  r   r   s       r   test_patma_151zTestPatma.test_patma_151  sm    b Aaar   c                    d}d}||f  r dk    r\  }}d}n |                      |d           |                      |d           |                     ||           |                     ||           |                      |d           d S )Nr   r|   r   )r   r  r   r   r   vs         r   test_patma_152zTestPatma.test_patma_152  s    dAA AAaaAr   c                    d}|x}f  r dk    r\  x}}d}n |                      |d           |                     ||           |                      |d           |                     ||           |                     ||           d S r  r   )r   r   r  r   r%  r   s         r   test_patma_153zTestPatma.test_patma_153  s    fag AaAaar   c                 z    d}d }|dk    r|rd}|                      |d           |                     |d            d S r   r   r   s      r   test_patma_154zTestPatma.test_patma_154  sO    aAar   c                 v    d}d }|dk    rd}|                      |d           |                     |d            d S )Nr   g      r   r   s      r   test_patma_155zTestPatma.test_patma_155  sK    Aar   c                     d}|}d}|                      |d           |                      |d           |                     ||           d S r   r   r   s       r   test_patma_156zTestPatma.test_patma_156#  sX    AAar   c                 r    d}d }| |rd}|                      |d           |                     |d            d S r   r   r   s      r   test_patma_157zTestPatma.test_patma_157,  sK    aAar   c                     d}|xdk    r d}ndk    rd}|                      |d           |                      |d           d S )Nr   g      r{   r   r   s      r   test_patma_158zTestPatma.test_patma_1585  sZ    AAr   c                     d}|xdk    r|s d}ndk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_159zTestPatma.test_patma_159?  s^    !AAr   c                     d}d }|xdk    r d}n}|rd}|                      |d           |                      |d           |                     |d            d S r  r   r   s       r   test_patma_160zTestPatma.test_patma_160I  ss    aAAar   c                 z    d}|dk    rd}n	 d}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_161zTestPatma.test_patma_161U  sR    AAr   c                     d}|xdk    r|r d}ndk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_162zTestPatma.test_patma_162_  s^    aAAr   c                     d}d }|xdk    r d}n	dk    r|sd}|                      |d           |                     |d            d S r  r   r   s      r   test_patma_163zTestPatma.test_patma_163i  sa    !Aar   c                     d}|xdk    r d}n}d}|                      |d           |                      |d           |                     ||           d S r  r   r   s       r   test_patma_164zTestPatma.test_patma_164t  sj    AAar   c                 ~    d}|dk    r|rd}n	 d}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_165zTestPatma.test_patma_165  sV    aAAr   c                     d}|x}|s d}n	dk    r|rd}|                      |d           |                      |d           |                     ||           d S r  r   r   s       r   test_patma_166zTestPatma.test_patma_166  sr    !aAAar   c                     d}|x}|s d}ndk    rd}|                      |d           |                      |d           |                     ||           d S r  r   r   s       r   test_patma_167zTestPatma.test_patma_167  sn    !AAar   c                     d}|x}|s d}n}d}|                      |d           |                      |d           |                     ||           d S r  r   r   s       r   test_patma_168zTestPatma.test_patma_168  sj    !AAar   c                     d}|}|sd}n|rd}|                      |d           |                      |d           |                     ||           d S r  r   r   s       r   test_patma_169zTestPatma.test_patma_169  sh    !AAar   c                     d}|x |s d}ndk    rd}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_170zTestPatma.test_patma_170  sZ    !AAr   c                     d}d }|x |r d}ndk    rd}|                      |d           |                     |d            d S r  r   r   s      r   test_patma_171zTestPatma.test_patma_171  s]    aAar   c                     d}d }|x |s d}n}|sd}|                      |d           |                      |d           |                     |d            d S r  r   r   s       r   test_patma_172zTestPatma.test_patma_172  ss    !!AAar   c                 v    d}| |sd}n	 d}|                      |d           |                      |d           d S r  r   r   s      r   test_patma_173zTestPatma.test_patma_173  sR    !AAr   c                    d }|                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d	           |                       |d
          d           |                       |d          d           |                       |d          d           |                       |d          d           d S )Nc                 `    | xdk    r dS xdk    r dS xdk    r dS xdk    r dS d	k    rd
S 	 dS )N  Bad request  Unauthorized  	Forbidden  	Not found  I'm a teapotSomething elser   statuss    r   
http_errorz,TestPatma.test_patma_174.<locals>.http_error  sZ    SSSS(=SSSS)>SSSS&;SSSS&;SS)>++r   rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  {   r]  400  r   r   r`  s     r   test_patma_174zTestPatma.test_patma_174  s   	, 	, 	, 	C-888C.999C+666C+666C.999C*:;;;E**,<===O446FGGGGGr   c                    d }|                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d	           |                      |d
          d            |                      |d          d            |                      |d          d            d S )Nc                 `    | xdk    r dS xxdk    rnxdk    rn	xdk    rn n  dS dk    rdS d S )	NrS  rT  rU  rW  rY  Not allowedr[  r\  r   r^  s    r   r`  z,TestPatma.test_patma_175.<locals>.http_error  sV    SSSS(=$SSSSS33333(=SS)> Sr   rS  rT  rU  rh  rW  rY  r[  r\  ra  rb  rc  r   rd  s     r   test_patma_175zTestPatma.test_patma_175  s   	* 	* 	* 	C-888C-888C-888C-888C.999jjoot,,,jj''...jj11488888r   c                 B   d }|                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d	           |                       |d
          d           d S )Nc                     | x  r dk    r\  dk    rdk    r dS  x  r dk    r\  dk    r} d| S  x  r dk    r\  cdk    r} d| S    r dk    r\  }}d| d| S  	 dS )Nr|   r   OriginY=X=z, Y=Not a pointr   pointr   r   s      r   whereisz)TestPatma.test_patma_176.<locals>.whereis  s    VVVVVVVaaa#8 VVVVVVVaaa#88O VVVVVVVa#88O VVVVVV*??q??* (=r   )r   r   rl  )r         Y=-1.0)r   r   X=X)N              ?zX=None, Y=1j*   ro  r   r   rr  s     r   test_patma_176zTestPatma.test_patma_176
  s    	) 	) 	) 	(333++X666**E222,,n===m44444r   c                    d }|                       |t          dd                    d           |                       |t          dd                    d           |                       |d          d           |                       |t          dd                    d           |                       |t          dd	                    d
           |                       |t          dd                    d           |                       |t          d d                    d           |                       |t                    d           |                       |d          d           d S )Nc                     | xt           dx\  dk    rdk    r dS  xt           dx\  dk    r} d| S  xt           dx\  cdk    r} d| S  t           d x\   dS  	 dS )Nr   r   rl  rm  rn  Somewhere elsero  r   rp  s      r   rr  z)TestPatma.test_patma_177.<locals>.whereis  s     U[[[[[111aaaa#8 ! U[[[[[111aa#88O ! U[[[[[1aaaaa#88O !WWWWW++ (=r   r{   r   zX=1rl  
   ro  Frs  rt  r   ru  rv  r|  rw  r;   r   rx  s     r   test_patma_177zTestPatma.test_patma_177  sf   	) 	) 	) 	q!--u555q!--x888m444ue!4!455x@@@q$00(;;;sA//777tR113CDDD777m44444r   c                     d }|                       |t          dd                    d           |                      |t          dd                    d            d S )Nc                 2    | t           dx
\  dk    r}|S  d S )Nr   r{   r}  rq  vars     r   rr  z)TestPatma.test_patma_178.<locals>.whereis5  s(    ]]]]]111cJ #]]r   r{   r   r;   r   rs   rx  s     r   test_patma_178zTestPatma.test_patma_1784  g    	 	 	 	q!--q111ggeAqkk**D11111r   c                     d }|                       |t          dd                    d           |                      |t          dd                    d            d S )Nc                 2    | t           dx
\  dk    r}|S  d S )Nr   r{   r}  r  s     r   rr  z)TestPatma.test_patma_179.<locals>.whereis=  s(    _____111J %__r   r{   r   r  rx  s     r   test_patma_179zTestPatma.test_patma_179<  r  r   c                     d }|                       |t          dd                    d           |                      |t          dd                    d            d S )Nc                 2    | t           d x
\  dk    r}|S  d S )Nr   r   r{   r}  r  s     r   rr  z)TestPatma.test_patma_180.<locals>.whereisE  s/    &&&&&QQQ#J '&&r   r{   r   r  rx  s     r   test_patma_180zTestPatma.test_patma_180D  r  r   c                     d }|                       |t          dd                    d           |                      |t          dd                    d            d S )Nc                 4    | t           d x\  cdk    r}|S  d S )N)r   r   r{   r}  r  s     r   rr  z)TestPatma.test_patma_181.<locals>.whereisM  s1    &&&&&SAAAAJ '&&r   r{   r   r  rx  s     r   test_patma_181zTestPatma.test_patma_181L  r  r   c           
         d }|                       |g           d           |                       |t          dd          g          d           |                       |t          dd          g          d           |                       |t          dd          t          dd          g          d           |                       |t          dd          t          dd          g          d           |                       |t          dd          t          dd          g          d	           |                       |t          dd          t          dd          t          dd          g          d	           |                       |t          dd          t          dd          t          dd          g          d	           d S )
Nc                 (   | x  r
 dk    r  dS  x  r! dk    r\  t           dx\  dk    rdk    r dS  x  r dk    r\  t           dx\  }} d| d| S    r6 dk    r0\  t           dx#\  dk    rct           dx\  dk    r
}}d	| d| S   	 d
S )Nr   	No pointsr{   r   
The originzSingle point z, r|   zTwo on the Y axis at r]  r}  )pointsr   r   y1y2s        r   rr  z)TestPatma.test_patma_182.<locals>.whereisU  s    RRRRRRRR&; "]]]]]]]ekkkkkAAAqqqq'< #"]]]]]]]ekkkkkqqq3133333 #1111111elllllAAArELLLLL!!!RR=2===== 21++r   r  r   r  r{   zSingle point 0, 1zTwo on the Y axis at 0, 0zTwo on the Y axis at 1, 1r]  r  rx  s     r   test_patma_182zTestPatma.test_patma_182T  s   	, 	, 	, 	k222%1++//>>>%1++//1DEEE%1++uQ{{!;<<>YZZZ%1++uQ{{!;<<>YZZZ%1++uQ{{!;<<>NOOO%1++uQ{{E!QKK!HIIK[\\\%1++uQ{{E!QKK!HIIK[\\\\\r   c                 (   d }|                       |t          dd                    d           |                       |t          dd                    d           |                       |t          dd                    d           |                       |t          dd                    d           |                       |t          dd                    d	           |                       |t          dd
                    d           d S )Nc                 b    | xt           dx\  }}||k    r d| S  t           dx\  }}dS  d S )Nr   zY=X at Not on the diagonalr}  )rq  r   r   s      r   rr  z)TestPatma.test_patma_183.<locals>.whereisk  sS     U[[[[[aaAFFF(Q==( ![[[[[aa00 ![[r   r   zY=X at 0FzY=X at Falsey            zY=X at (-1-1j)r   zY=X at Xr   r  r  rx  s     r   test_patma_183zTestPatma.test_patma_183j  s   	1 	1 	1 	q!--z:::q%11:>>>ua11>BBBw!8!899;KLLLsC11:>>>sC113HIIIIIr   c                      G d dt           j        j                  } |              r
 dk    r d}n |                     |d           d S )Nc                       e Zd ZdZd ZdS )%TestPatma.test_patma_184.<locals>.SeqNc                     dS r   r   r   s    r   __len__z-TestPatma.test_patma_184.<locals>.Seq.__len__{  s    qr   r   r   r	   __getitem__r  r   r   r   Seqr  y  s(        K    r   r  r   r5   r7   r8   r;   r   r  r   s      r   test_patma_184zTestPatma.test_patma_184x  ss    	 	 	 	 	+/* 	 	 	 cee Ar   c                      G d dt           j        j                  } |              r d}n |                     |d           d S )Nc                       e Zd ZdZd ZdS )%TestPatma.test_patma_185.<locals>.SeqNc                     dS Nrw  r   r  s    r   r  z-TestPatma.test_patma_185.<locals>.Seq.__len__      rr   r  r   r   r   r  r    s(        K    r   r  r   r  r  s      r   test_patma_185zTestPatma.test_patma_185  sk    	 	 	 	 	+/* 	 	 	 cee Ar   c                     G d dt           j        j                  } |              r dk    rxd         cx dz
           } }d}n |                     |d           |                     |d           |                     |d           d S )Nc                       e Zd Zd Zd ZdS )%TestPatma.test_patma_186.<locals>.Seqc                     |S Nr   )r   is     r   r  z1TestPatma.test_patma_186.<locals>.Seq.__getitem__  s    r   c                     dS r  r   r  s    r   r  z-TestPatma.test_patma_186.<locals>.Seq.__len__  r  r   Nr  r   r   r   r  r    s2              r   r  r|   r   r{   )   r  )r   r  r   r   r   s        r   test_patma_186zTestPatma.test_patma_186  s    	 	 	 	 	+/* 	 	 	
 cee!!!!!! ABAr   c           	      r   t          d          }|  r dk    r^}}}d}n |                     |t          d                     |                     |d           |                     |d           |                     |d           |                     |t          t          dd                               d S )Nr~  r|   r   r{   ranger;   r9   r   r  r   r   restr   s         r   test_patma_187zTestPatma.test_patma_187  s    "II E"II&&&AAAtE!RLL1122222r   c           	      r   t          d          }|  r dk    r^}}}d}n |                     |t          d                     |                     |d           |                     |d           |                     |d           |                     |t          t          dd                               d S )Nd   r|   r   r{   r  r  s         r   test_patma_188zTestPatma.test_patma_188  s    #JJ E#JJ'''AAAtE!SMM2233333r   c           	      r   t          d          }|  r dk    r^}}}d}n |                     |t          d                     |                     |d           |                     |d           |                     |d           |                     |t          t          dd                               d S )Ni  r|   r   r{   r  r  s         r   test_patma_189zTestPatma.test_patma_189  s    $KKuuu E$KK(((AAAtE!TNN3344444r   c                 ,   t          d          }|  r dk    rxd         cxd         } }d}n |                     |t          d                     |                     |d           |                     |d           |                     |d           d S )Ni   r|   r   r{   r  r;   r  s        r   test_patma_190zTestPatma.test_patma_190      'NN!!!!QQQ E'NN+++AAAr   c                 ,   t          d          }|  r dk    rxd         cxd         } }d}n |                     |t          d                     |                     |d           |                     |d           |                     |d           d S )Ni   r|   r   r{   r  r  s        r   test_patma_191zTestPatma.test_patma_191  r  r   c                 ,   t          d          }|  r dk    rxd         cxd         } }d}n |                     |t          d                     |                     |d           |                     |d           |                     |d           d S )Ni   @r|   r   r{   r  r  s        r   test_patma_192zTestPatma.test_patma_192  s    'NNAAA E'NN+++AAAr   c                    ddd}| r dk    rd! x	\  }}  d}n   |                      |ddd           |                     ||d                    |                     ||d                    |                      |d           d S )Nr   r{   	bandwidthlatencyr|   r  r  r   )r   r   blr   s        r   test_patma_193zTestPatma.test_patma_193  s    **///////////QQQQ 0//!::;;;a;(((a9&&&Ar   c                    dddd}| r dk    rd! x	\  }}  d}n   |                      |dddd           |                     ||d                    |                     ||d                    |                      |d           d S )	Nr   r{   valuer  r  keyr|   r  r  r  r  r   )r   r   r  r  r   s        r   test_patma_194zTestPatma.test_patma_194  s    '::///////////QQQQ 0//!'JJKKKa9&&&a;(((Ar   c                 `   dddd}| r# dk    rd	! x\  cccci c\  xc= xc= }}}d}n   |                      |dddd           |                     ||d                    |                     ||d                    |                      |ddi           |                      |d           d S )
Nr   r{   r  r  r|   r  r  r  r  r   )r   r   r  r  r  r   s         r   test_patma_195zTestPatma.test_patma_195  s    '::77777777777qQQQQQQQQQQQQQQQQ 877!'JJKKKa;(((a9&&&w/000Ar   c                 X   ddd}| r# dk    rd! x\  cccci c\  xc= xc= }}}d}n   |                      |ddd           |                     ||d                    |                     ||d                    |                      |i            |                      |d           d S )Nr   r{   r  r|   r  r  r  r   )r   r   r  r  r  r   s         r   test_patma_196zTestPatma.test_patma_196  s    **77777777777QQQQQQQQQQQQQQQQQ 877!::;;;a9&&&a;(((r"""Ar   c                 ~   t          dd          t          dd          g}|  r. dk    r(\  t           dx\  ccxt           dx
\  }}}}}d}n    |                     |t          dd          t          dd          g           |                     ||d         j                   |                     ||d         j                   |                     ||d                    |                     ||d         j                   |                     ||d         j                   |                     |d           d S )Nr  r   r{   r|   r   )r   r;   rs   r   r   )r   r  x1r  x2r  p2r   s           r   test_patma_197zTestPatma.test_patma_197  s7   2q\\5A;;'5555555%-----BB!422222 6555U2q\\5A;;7888b!A$&!!!b!A$&!!!b!A$b!A$&!!!b!A$&!!!ar   c                 H    G d dt           j                  fd}|                      |j                  d           |                      |j                  d           |                      |j                  d           |                      |          d            |                      |d          d            |                      |d          d            |                      |d	          d            |                      |d
          d            |                      |d          d            |                      |d          d            |                      |d          d            |                      |d          d            d S )Nc                       e Zd ZdZdZdZdS )'TestPatma.test_patma_198.<locals>.Colorr   r{   r|   Nr   r   r	   REDGREENBLUEr   r   r   Colorr            CEDDDr   r  c                 Z    | xj         k    r dS xj        k    r dS j        k    rdS d S N
I see red!Grass is greenI'm feeling the blues :(r  r  r  colorr  s    r   fz#TestPatma.test_patma_198.<locals>.f  A    UYYYY'< U[[[[++ZZZ55  Zr   r  r  r  r   r{   r|   r}   FT       @              @)enumEnumr;   r  r  r  rs   r   r  r  s     @r   test_patma_198zTestPatma.test_patma_198  s   	 	 	 	 	DI 	 	 		6 	6 	6 	6 	6 	59|4445;)9:::5:(BCCCaahh%%%aaddD!!!aaddD!!!aaddD!!!aaddD!!!aahh%%%aaggt$$$aaggt$$$aaffd#####r   c                 T    G d dt           t          j                  fd}|                      |j                  d           |                      |j                  d           |                      |j                  d           |                      |          d            |                      |d          d           |                      |d          d           |                      |d	          d           |                      |d
          d            |                      |d          d           |                      |d          d           |                      |d          d           |                      |d          d            d S )Nc                       e Zd ZdZdZdZdS )'TestPatma.test_patma_199.<locals>.Colorr   r{   r|   Nr  r   r   r   r  r  *  r  r   r  c                 Z    | xj         k    r dS xj        k    r dS j        k    rdS d S r  r  r  s    r   r  z#TestPatma.test_patma_199.<locals>.f.  r  r   r  r  r  r   r{   r|   r}   FTr  r  )r
   r  r  r;   r  r  r  rs   r  s     @r   test_patma_199zTestPatma.test_patma_199)  s   	 	 	 	 	C 	 	 		6 	6 	6 	6 	6 	59|4445;)9:::5:(BCCCaahh%%%1|,,,1/00019:::aaddD!!!5<0004"23334"<===aaffd#####r   c                     G d d          } |            }d|_         d|_        ||dx\  }}d}n |                     ||j                    |                     ||j                   |                     |d           d S )Nc                       e Zd ZdZdS )'TestPatma.test_patma_200.<locals>.Classar  Nr   r   r	   __match_args__r   r   r   Classr  D          'NNNr   r	  r   r{   r   r  r  rs   r;   r   r	  cr   r   r   s         r   test_patma_200zTestPatma.test_patma_200C  s    	( 	( 	( 	( 	( 	( 	( 	(EGG!! aaAr   c                     G d d          } |            }d|_         d|_        ||dx\  }}d}n |                     ||j                    |                     ||j                   |                     |d           d S )Nc                       e Zd ZdZdS )'TestPatma.test_patma_201.<locals>.Classr  Nr  r   r   r   r	  r  Q  r
  r   r	  r   r{   r  r  r  s         r   test_patma_201zTestPatma.test_patma_201P  s    	( 	( 	( 	( 	( 	( 	( 	(EGGAA aaAr   c                      G d d          } G d d|          } |            }d|_         d|_        ||dx\  }}d}n |                     ||j                    |                     ||j                   |                     |d           d S )Nc                       e Zd ZdZdS )(TestPatma.test_patma_202.<locals>.Parentr  Nr  r   r   r   rR   r  ^          %NNNr   rR   c                       e Zd ZdZdS )'TestPatma.test_patma_202.<locals>.Childr  dNr  r   r   r   Childr  `  r
  r   r  r   r{   r   r  r   rR   r  r  r   r   r   s          r   test_patma_202zTestPatma.test_patma_202]  s    	& 	& 	& 	& 	& 	& 	& 	&	( 	( 	( 	( 	(F 	( 	( 	(EGG11 aaAr   c                      G d d          } G d d|          } |            }d|_         d|_        ||dx\  }}d}n |                     ||j                    |                     ||j                   |                     |d           d S )Nc                       e Zd ZdZdS )(TestPatma.test_patma_203.<locals>.Parentr  Nr  r   r   r   rR   r!  m  r
  r   rR   c                       e Zd ZdZdS )'TestPatma.test_patma_203.<locals>.Childr  Nr  r   r   r   r  r#  o  r  r   r  r   r{   r  r  r  s          r   test_patma_203zTestPatma.test_patma_203l  s    	( 	( 	( 	( 	( 	( 	( 	(	& 	& 	& 	& 	&F 	& 	& 	&EGGQQ  aaAr   c                    d }|                       |d          i            |                      |d          d            |                       |d          i            |                      |d          d            d S )Nc                 8    | dk    rt                      }|d= |S d S )Nrw  r  localsr  outs     r   r  z#TestPatma.test_patma_204.<locals>.f|  s(    RR ((CCJ Rr   rw  r         E@42r   r   r  s     r   test_patma_204zTestPatma.test_patma_204{  s    	 	 	 	2###aaddD!!!4"%%%aaggt$$$$$r   c                    d }|                       |d          i            |                       |d          i            |                      |d          d            |                      |d          d            d S )Nc                 8    | dk    rt                      }|d= |S d S )Nr+  r  r'  r)  s     r   r  z#TestPatma.test_patma_205.<locals>.f  s(    TT ((CCJ Tr   r+  rw  r  r   r   r-  s     r   test_patma_205zTestPatma.test_patma_205  s    	 	 	 	4"%%%2###aaffd###aaddD!!!!!r   c                    d }|                       |d          i            |                       |d          i            |                       |d          i            |                       |d          i            |                      |d          d            |                      |d          d            |                      |d          d            d S )	Nc                 \    | xdk    rnxdk    rn
xdk    rn d S  t                      }|d= |S )Nr{   r|   r}   r  r'  r)  s     r   r  z#TestPatma.test_patma_206.<locals>.f  sA    QQQQQQQQQQQQQ ((CCJr   r{   r|   r}   r  r   r   1r   r-  s     r   test_patma_206zTestPatma.test_patma_206  s    	 	 	 	1r"""1r"""1r"""3$$$aaddD!!!aaddD!!!aaffd#####r   c                    d }|                       |ddg          i            |                       |ddg          i            |                      |d          d            |                      |ddg          d            |                      |g d          d            |                       |ddg          i            d S )	Nc                     | x  r dk    r\  dk    rdk    rn x  r dk    r\  dk    rdk    rn  d S  t                      }|d= |S )Nr|   r{   r}   r   r  r'  r)  s     r   r  z#TestPatma.test_patma_207.<locals>.f  sc    VVVVVVVaaaffffffffqqq!!!!!!!!! ((CCJr   r{   r|   r}   r   rw  r  r   r   r-  s     r   test_patma_207zTestPatma.test_patma_207  s    	 	 	 	Aq6B'''Aq6B'''aaeeT"""aaAii&&&aa			llD)))As8b)))))r   c                     d }|                       |d          ddi           |                       |d          ddi           |                       |d           dd i           d S )Nc                 ,    | }t                      }|d= |S Nr  r'  )r  r   r*  s      r   r  z#TestPatma.test_patma_208.<locals>.f       ((CCJr   rw  r   r{   r|   r   r-  s     r   test_patma_208zTestPatma.test_patma_208  s    	 	 	 	2b	***6S&M22243+.....r   c                     d }|                       |d          i            |                       |d           i            |                       |d          i            d S )Nc                 ,    |  t                      }|d= |S r;  r'  r)  s     r   r  z#TestPatma.test_patma_209.<locals>.f  r<  r   rw  r=  r   r-  s     r   test_patma_209zTestPatma.test_patma_209  ss    	 	 	 	2###4"%%%6B'''''r   c                    d }|                       |d          dddd           |                      |d          d            |                      |d          d            |                      |d	          d            |                      |d
          d            |                      |d          d            |                       |t          j        dd                    dddd           |                       |t          d                    dddd           |                      |t	          d                    d            d S )Nc                 J    |   r dk    r\  }}}t                      }|d= |S  d S )Nr}   r  r'  )r  r   r   r   r*  s        r   r  z#TestPatma.test_patma_210.<locals>.f  s8    YYYYYYAAA ((CCJ YYr   r  r{   r|   r}   r   r   r   r=  )r{   r|   r}   r   ra  r7   s   abcr  a   b   c   )r;   rs   array
memoryviewrT  r-  s     r   test_patma_210zTestPatma.test_patma_210  s[   	 	 	 	9QQQ'?'?@@@aaii&&&aaoot,,,aaffd###aahh%%%aaii&&&5;sF3344BRb6Q6QRRR:f--..br0K0KLLLaa	&))**D11111r   c           	      2   d }|                       |dddd          ddd           |                       |ddddd          ddd           |                      |dd	ddd          d            |                      |ddd
          d            d S )Nc                 l    |  r/ dk    r)d! x#\  ccccdk    r}  }t                      }|d= |S     d S )Nr}   r   r   r   r  rD  r'  )r  r   r   r*  s       r   r  z#TestPatma.test_patma_211.<locals>.f  se    ///////////1111333QQQQ ((CCJ 0/////r   r   r   r   rD  )r   r   r  )r   r   r   r  yyr  r   r-  s     r   test_patma_211zTestPatma.test_patma_211  s    	 	 	 	3S99::#C<P<PQQQ3SsCCDDCVYFZFZ[[[aasCcBBDDdKKKaas--//66666r   c                 j    d }|                       |t          dd                    ddi           d S )Nc                 p    | t           dx)\  t          dx\  cdk    r}t                      }|d= |S   d S )Nr  r   hellor  )r   r
   r(  )r  xxr*  s      r   r  z#TestPatma.test_patma_212.<locals>.f  sP    .....377777rgggg ((CCJ /...r   rw  rQ  rR  r  r-  s     r   test_patma_212zTestPatma.test_patma_212  sG    	 	 	 	5W--..r
;;;;;r   c                    d }|                       |d          dddd           |                       |ddg          ddddgd           |                      |d          d            |                      |d          d            d S )Nc                 N    | x  r dk    r\  }}}t                      }|d= |S   d S )Nr|   r  r'  )r  pqr   r*  s        r   r  z#TestPatma.test_patma_213.<locals>.f  s<     VVVVVVV ((CCJ ![[[r   r=  r{   r|   )rV  rW  r      r  r   r-  s     r   test_patma_213zTestPatma.test_patma_213  s    	 	 	 	6!!&$A$ABBBAq6!!1a&$A$ABBBaaeeT"""aa	llD)))))r   c                 z    d }|                      t           |                      t                                 d S )Nc                  .    ddk    rt                      S d S r  r'  r   r   r   r  z#TestPatma.test_patma_214.<locals>.f  s    RR!88O Rr   r;   r  r-  s     r   test_patma_214zTestPatma.test_patma_214  ?    	$ 	$ 	$ 	QQSS355)))))r   c                 z    d }|                      t           |                      t                                 d S )Nc                  R    dxdk    rnxdk    rn
xdk    rn d S  t                      S )Nr{   r|   r}   r'  r   r   r   r  z#TestPatma.test_patma_215.<locals>.f 	  s5    QQQQQQQQQQQQQ!88Or   r\  r-  s     r   test_patma_215zTestPatma.test_patma_215  r^  r   c                 z    d }|                      t           |                      t                                 d S )Nc                  "    d t                      S N.r'  r   r   r   r  z#TestPatma.test_patma_216.<locals>.f	  s    !88Or   r\  r-  s     r   test_patma_216zTestPatma.test_patma_216	  r^  r   c                 d    d }|                      t           |                      dh           d S )Nc                  "    d} t                      S rd  r'  )r7   s    r   r  z#TestPatma.test_patma_217.<locals>.f	  s    !88Or   r7   r\  r-  s     r   test_patma_217zTestPatma.test_patma_217	  s=    	$ 	$ 	$ 	QQSSE7+++++r   c                 f    d }|                      t           |                      ddh           d S )Nc                  >    d  r dk    r\  } }t                      S  d S )N)..r|   r'  r  s     r   r  z#TestPatma.test_patma_218.<locals>.f	  s*    TTTTTT!88O TTr   r  r  r\  r-  s     r   test_patma_218zTestPatma.test_patma_218	  ?    	$ 	$ 	$ 	QQSSC:.....r   c                 f    d }|                      t           |                      ddh           d S )Nc                  T    ddd r  dk    rd! x\  } }  t                      S    d S )N.)kr  r|   r'  r  s     r   r  z#TestPatma.test_patma_219.<locals>.f	  sP    #&&%%%%%%%%%%%1111!88O &%%%%r   r  r  r\  r-  s     r   test_patma_219zTestPatma.test_patma_219	  rl  r   c                 f    d }|                      t           |                      ddh           d S )Nc                  ^    t          dd          t           dx\  } }t                      S  d S )N.r  )r   r(  r  s     r   r  z#TestPatma.test_patma_220.<locals>.f#	  s0    S//]]]]]!88O #]]r   r   r   r\  r-  s     r   test_patma_220zTestPatma.test_patma_220"	  rl  r   c                 f    d }|                      t           |                      ddh           d S )Nc                  &    dx} }t                      S rd  r'  )r  r  s     r   r  z#TestPatma.test_patma_221.<locals>.f*	  s    QQ!88Or   r  r  r\  r-  s     r   test_patma_221zTestPatma.test_patma_221)	  rl  r   c                    d }|                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d           d S )Nc                 
    |  dS r   r   r   s    r   r  z#TestPatma.test_patma_222.<locals>.f1	  s    1r   r   r{   r|   r}   r   r-  s     r   test_patma_222zTestPatma.test_patma_2220	  s    	 	 	 	1q!!!1q!!!1q!!!1q!!!!!r   c                    d }|                       |d          d           |                      |d          d            |                      |d          d            |                      |d          d            d S )Nc                     | dk    rdS d S r   r   r   s    r   r  z#TestPatma.test_patma_223.<locals>.f;	  s    QQ1 Qr   r   r{   r|   r}   r   r-  s     r   test_patma_223zTestPatma.test_patma_223:	  s    	 	 	 	1q!!!aaddD!!!aaddD!!!aaddD!!!!!r   c                    d }|                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d           d S )Nc                     | dk    rdS 	 dS r  r   r   s    r   r  z#TestPatma.test_patma_224.<locals>.fE	  s    QQ11r   r   r{   r|   r}   r   r-  s     r   test_patma_224zTestPatma.test_patma_224D	  s    	 	 	 	1q!!!1q!!!1q!!!1q!!!!!r   c                    d }|                       |d          d           |                       |d          d           |                      |d          d            |                      |d          d            d S )Nc                 (    | xdk    r dS dk    rdS d S r  r   r   s    r   r  z#TestPatma.test_patma_225.<locals>.fQ	  s(    QQQQ1QQ1 Qr   r   r{   r|   r}   r   r-  s     r   test_patma_225zTestPatma.test_patma_225P	  s    	 	 	 	1q!!!1q!!!aaddD!!!aaddD!!!!!r   c                    d }|                       |d          d           |                       |d          d           |                       |d          d           |                       |d          d           d S )Nc                 *    | xdk    r dS dk    rdS 	 dS r   r   r   s    r   r  z#TestPatma.test_patma_226.<locals>.f]	  s)    QQQQ1QQ11r   r   r{   r|   r}   r   r-  s     r   test_patma_226zTestPatma.test_patma_226\	  s    	 	 	 	1q!!!1q!!!1q!!!1q!!!!!r   c                    d }|                       |d          d           |                       |d          d           |                       |d          d           |                      |d          d            d S )Nc                 :    | xdk    r dS xdk    r dS dk    rdS d S r   r   r   s    r   r  z#TestPatma.test_patma_227.<locals>.fk	  s8    QQQQ1QQQQ1QQ1 Qr   r   r{   r|   r}   r   r-  s     r   test_patma_227zTestPatma.test_patma_227j	  s    	 	 	 	1q!!!1q!!!1q!!!aaddD!!!!!r   c                 N    d  r
 dk    r d}n |                      |d           d S r   r   rt   s     r   test_patma_228zTestPatma.test_patma_228x	  s<     Ar   c                 j    d}|}d}|                      |d           |                      |d           d S r   r   r   s      r   test_patma_229zTestPatma.test_patma_229~	  sD    AAr   c                     d}|xdu r d}ndk    rd}|                      |d           |                      |d           d S r>  r   r   s      r   test_patma_230zTestPatma.test_patma_230	  sZ    AAr   c                     d}|xdu r d}ndk    rd}|                      |d           |                      |d           d S )Nr{   Tr   r   r   s      r   test_patma_231zTestPatma.test_patma_231	  sZ    AAr   c                      G d d          } |            x}}d }|d}|                      ||           |                     |d            d S )Nc                       e Zd Zd ZdS )$TestPatma.test_patma_232.<locals>.Eqc                     dS )NTr   )r   others     r   __eq__z+TestPatma.test_patma_232.<locals>.Eq.__eq__	  s    tr   N)r   r   r	   r  r   r   r   Eqr  	  s#            r   r  r   r  )r   r  r   eqr   s        r   test_patma_232zTestPatma.test_patma_232	  s{    	 	 	 	 	 	 	 	 BaD!!!!!r   c                 n    d}|du rd}|                      |d           |                     |d           d S )NFr   r  r   s      r   test_patma_233zTestPatma.test_patma_233	  sF    aAr   c                 n    d}|du rd}|                      |d           |                     |d           d S )NTr   r  r   s      r   test_patma_234zTestPatma.test_patma_234	  sF    aAr   c                 j    d }|d}|                      |d            |                     |d           d S r   r  r   s      r   test_patma_235zTestPatma.test_patma_235	  sB    aAr   c                     d}|xxdk    r}}d}n  |                      |d           |                      |d           |                      |d           |                      |d           d S r   r   ri  s        r   test_patma_236zTestPatma.test_patma_236	      &!!!!! AAAAr   c                     d}|xxdk    r}}d}n  |                      |d           |                      |d           |                      |d           |                      |d           d S r   r   ri  s        r   test_patma_237zTestPatma.test_patma_237	  r  r   c                    d}|  rE dk    r?\  xx  r6 dk    r0\  xccccccxccccccxx  r dk    r\  x}}	}
}}}}}}}}d}n	         |                      |d           |                      |d           |                      |d           |                      |d           |                      |d           |                      |d           |                      |	d           |                      |
d           |                      |d           |                      |d           |                      |d           |                      |d           |                      |d           d S )N)r   r|   r}   r|   r   r{   r   r}   r  r   )r   r   r  r  r  r  er  r  ghr  r   r   s                 r   test_patma_238zTestPatma.test_patma_238	  s   FFFFFFF-'"""""""61111116111111/F0@ GFFFFFFFFAAAAF###AAAF###F###,---AF#####r   c                     t          j        ddd          }| r dk    rd! x\  dk    r  d}n   |                     |ddd           |                     |d           d S Nr{   r}   )r   r|   r|   r   )r|   r5   r6   r;   r   s      r   test_patma_239zTestPatma.test_patma_239	  s     Q1..QQQQQ aLL)))Ar   c                    t          j        ddd          }| r dk    rd! x\  dk    ri c\  xc= }d}n   |                     |ddd           |                     |d           |                     |ddi           d S r  r  r   s       r   test_patma_240zTestPatma.test_patma_240	  s     Q1..QQQQQQQQQQQ aLL)))AQF#####r   c                 V   ddigg}|t           dxP\    rL dk    rF\    rB dk    r<\   r8 dk    r2d! x,\  xxt          d x\  dk    rdk    rn
 xdk    rn n }  d}n   |                     |ddigg           |                     |d           |                     |d           d S )Nr   r   r{   r  )realimag)r  )r9   r
   r;   r   s       r   test_patma_241zTestPatma.test_patma_241	  s   !fXJIIIIIHHHHHHHGGGGGGGEEEEEEEEEEE D 9 9 9 9 9 9DDDDDQQQQQQQQQQQ JIIq!fXJ'''AAr   c                 2   t          d          }|  r dk    rxd         cx dz
           } }d}n |                     |d           |                     |t          d                     |                     |d           |                     |d           d S )Nr}   r|   r   r{   r  rf  s        r   test_patma_242zTestPatma.test_patma_242	  s    !HH!!!!!! AE!HH%%%AAr   c                     t          d          }|  r dk    rx dz
           } d}n |                     |t          d                     |                     |d           |                     |d           d S )Nr}   r|   r{   r   r  r   s       r   test_patma_243zTestPatma.test_patma_243	
  s    !HH E!HH%%%AAr   c                     t          d          }|  r dk    rx dz
           } d}n |                     |t          d                     |                     |d           |                     |d           d S )Nr}   r{   r   r|   r  r   s       r   test_patma_244zTestPatma.test_patma_244
  s    !HHaa E!HH%%%AAr   c                     ddi}| r) dk    r#d! x\  xxdk    rn xxdk    rn  n}   d}n   |                      |ddi           |                      |d           |                      |d           d S )Nr   r{   r   r  r   r   s       r   test_patma_245zTestPatma.test_patma_245
  s    !H+++++++++++6611111111111 ,++S!H%%%AAr   c                    d }t          dddddddd	d
d
  
        t          ddddddd	d
dd
  
        t          dddddddddd
  
        t          dddddddddd
  
        t                      g}|                      |t          d                    |d                    |                      |t          dd                    |d                    |                      |t          ddd                    |d                    |                      |t          ddd                    |d                    |                      |t          dd                    |d                    d S )Nc                    | x  r dk    r\
  cccccccc	c
dk    rn         x  r( dk    r"\
  cccccccc	c
dk    r
ccccccc	ccn\         x  r, dk    r&\
  cc
ccc	ccccccccdk    r
cccc	cccccn,         x  r dk    r\
  dk    rccc	ccccn          n}}}}}}}}}	 d}
t                      }|d= |S )Nr~  	   r  r   r   r'  )r   r  r  r  r  r  r  r  r  r  r  r*  s               r   r  z#TestPatma.test_patma_246.<locals>.f%
  so   44444444qqqqqqqqq!!!!!!!!!!!!!55555555qqqqqqqqq""""""""""""""""""""""55555555111111111bbb111111111111111111155555555rrr11111111111111111111111111111A((CCJr   r   r{   r|   r}   r               )
r  r  r  r  r  r  r  r  r  r  r  )
r  r  r  r  r  r  r  r  r  r  r  )
r  r  r  r  r  r  r  r  r  r  r  )
r  r  r  r  r  r  r  r  r  r  r~        r:   r;   r  r   r  altss      r   test_patma_246zTestPatma.test_patma_246$
  s   		 		 		 1Q!qAa1BBB1Q!qAa1BBB1bB"bB"JJJ2rR2rR3!LLLFF
 	599tAw///5B<<$q'2225C,,--tAw7775S"--..Q8885R==))4733333r   c                    d }t          dddddddd	d
ddd          t          ddddddd	d
dddd          t          dddddddddddd          t          dddddddddddd          t                      g}|                      |dt          d          df          |d                    |                      |dt          dd          df          |d                    |                      |dt          ddd          df          |d                    |                      |dt          ddd          df          |d                    |                      |dt          dd          df          |d                    d S ) Nc                    |   r dk    r\  ccx  r dk    r\
  cccccccc	c
dk    rn         x  r( dk    r"\
  cccccccc	c
dk    r
ccccccc	ccn\         x  r, dk    r&\
  cc
ccc	ccccccccdk    r
cccc	cccccn,         x  r dk    r\
  dk    rccc	ccccn          n}}}}}}}}	}
 }}d}n  t                      }|d= |S )Nr}   r~  r  r  r  r   r   r'  )r   r   r  r  r  r  r  r  r  r  r  r   r  r*  s                 r   r  z#TestPatma.test_patma_247.<locals>.f=
  s   = = = = = = =aa77777777!!!!!!!!!QQQQQQQQQQQQQ88888888!!!!!!!!!RRRRRRRRRRRRRRRRRRRRRR888888881111aaaaaaaaaaaaaaaaaaaaaaaaaaaa88888888"""aaaaaaaaaaaaaaaaaaa!!!!!!!!!a!!AA	= =
 ((CCJr   r   r{   r|   r}   r   r  r  r  r  FT)r  r  r  r  r  r  r  r  r  r  r   r   r  )r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  r  r  r   r   r  r  )r  r  r  r  r  r  r  r  r  r  r   r   r~  r  r  r  r  r  s      r   test_patma_247zTestPatma.test_patma_247<
  s   		 		 		 1Q!qAa1UdSSS1Q!qAa1UdSSS1bB"bB"UVZ[[[2rR2rR3!uX\]]]FF
 	E599d344d1g>>>E5B<<677aAAAE5C#4#4d;<<d1gFFFE5S"#5#5t<==tAwGGGE5R==$788$q'BBBBBr   c                      G d dt                     } |ddi          }| r dk    rd! x\  }  |}n   |                     |d           d S )Nc                   &    e Zd Zedd            ZdS )#TestPatma.test_patma_248.<locals>.CNc                     dS )Nbarr   )r  defaults     r   getz'TestPatma.test_patma_248.<locals>.C.getV
  s    ur   r  )r   r   r	   rn   r  r   r   r   r'   r  U
  s2           \  r   r'   foor  r{   )r  )r:   r;   )r   r'   r   r  r   s        r   test_patma_248zTestPatma.test_patma_248T
  s    	 	 	 	 	 	 	 	
 Auen  	E"""""r   N)r   r   r	   ru   rw   ry   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r	  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r,  r.  r0  r2  r5  r8  r<  r?  rA  rC  rF  rH  rJ  rL  rN  rQ  rU  rW  rZ  r\  r^  r`  rb  rd  rg  rj  rl  ro  rq  rs  ru  rx  rz  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r!  r#  r&  r(  r*  r,  r.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rD  rF  rH  rJ  rL  rN  rP  re  ri  ry  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.  r1  r5  r8  r>  rA  rJ  rN  rS  rY  r]  ra  re  rh  rk  rp  rs  rv  ry  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   rp   rp      s                          ! ! !                                          
 
 

 
 

 
 

 
 

 
 

 
 
                                
 
 
            " " "      	 	 	          	 	 	    	 	 		 	 		 	 	    	 	 	
 
 

 
 

 
 
	 	 	      	 	 	                                                  	 	 	
 
 
       "        	  	  	                         
 
 
$ $ $     
 
 
$ $ $                               
 
 
	 	 	            
 
 
    	 	 		 	 	  	 	 		 	 		 	 		 	 	  	 	 	
 
 
  H H H09 9 9$5 5 5&5 5 5.2 2 22 2 22 2 22 2 2] ] ],J J J      	3 	3 	3	4 	4 	4	5 	5 	5          	 	 		 	 	  $ $ $4$ $ $4        
% 
% 
%
" 
" 
"$ $ $* * *	/ 	/ 	/	( 	( 	(2 2 2"
7 
7 
7< < <
* 
* 
** * ** * ** * *, , ,/ / // / // / // / /" " "" " "
" 
" 
"
" 
" 
"" " "" " "        
" 
" 
"          $ $ $&  $ $ $          4 4 40C C C0# # # # #r   rp   c                   
   e Zd Zdef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 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! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+S ),TestSyntaxErrorscodec                     |                      t                    5  t          t          j        |          dd           d d d            d S # 1 swxY w Y   d S )Nz<test>r   )assertRaisesSyntaxErrorr   inspectcleandoc)r   r  s     r   assert_syntax_errorz$TestSyntaxErrors.assert_syntax_errord
  s    {++ 	> 	>G$T**Hf===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s   $AAAc                 0    |                      d           d S )NzK
        match ...:
            case "a" | a:
                pass
        r  r  s    r   0test_alternative_patterns_bind_different_names_0zATestSyntaxErrors.test_alternative_patterns_bind_different_names_0h
  )       " 	 	 	 	 	r   c                 0    |                      d           d S )NzX
        match ...:
            case [a, [b] | [c] | [d]]:
                pass
        r  r  s    r   0test_alternative_patterns_bind_different_names_1zATestSyntaxErrors.test_alternative_patterns_bind_different_names_1o
  r  r   c                 0    |                      d           d S )NzS
        match ...:
            case Class(a=_, a=_):
                pass
        r  r  s    r   -test_attribute_name_repeated_in_class_patternz>TestSyntaxErrors.test_attribute_name_repeated_in_class_patternw
  r  r   c                 0    |                      d           d S )NzG
        match ...:
            case 0+0:
                pass
        r  r  s    r   3test_imaginary_number_required_in_complex_literal_0zDTestSyntaxErrors.test_imaginary_number_required_in_complex_literal_0~
  r  r   c                 0    |                      d           d S )NzL
        match ...:
            case {0+0: _}:
                pass
        r  r  s    r   3test_imaginary_number_required_in_complex_literal_1zDTestSyntaxErrors.test_imaginary_number_required_in_complex_literal_1
  r  r   c                 0    |                      d           d S )NzZ
        match ...:
            case {**rest, "key": value}:
                pass
        r  r  s    r   test_invalid_syntax_0z&TestSyntaxErrors.test_invalid_syntax_0
  r  r   c                 0    |                      d           d S )Nzj
        match ...:
            case {"first": first, **rest, "last": last}:
                pass
        r  r  s    r   test_invalid_syntax_1z&TestSyntaxErrors.test_invalid_syntax_1
  r  r   c                 0    |                      d           d S )NzI
        match ...:
            case {**_}:
                pass
        r  r  s    r   test_invalid_syntax_2z&TestSyntaxErrors.test_invalid_syntax_2
  r  r   c                 0    |                      d           d S )NzK
        match ...:
            case 42 as _:
                pass
        r  r  s    r   test_invalid_syntax_3z&TestSyntaxErrors.test_invalid_syntax_3
  r  r   c                 0    |                      d           d S )NzL
        match ...:
            case {f"": _}:
                pass
        r  r  s    r   Gtest_mapping_pattern_keys_may_only_match_literals_and_attribute_lookupszXTestSyntaxErrors.test_mapping_pattern_keys_may_only_match_literals_and_attribute_lookups
  r  r   c                 0    |                      d           d S )NzH
        match ...:
            case a, a:
                pass
        r  r  s    r   .test_multiple_assignments_to_name_in_pattern_0z?TestSyntaxErrors.test_multiple_assignments_to_name_in_pattern_0
  r  r   c                 0    |                      d           d S )NzT
        match ...:
            case {"k": a, "l": a}:
                pass
        r  r  s    r   .test_multiple_assignments_to_name_in_pattern_1z?TestSyntaxErrors.test_multiple_assignments_to_name_in_pattern_1
  r  r   c                 0    |                      d           d S )NzQ
        match ...:
            case MyClass(x, x):
                pass
        r  r  s    r   .test_multiple_assignments_to_name_in_pattern_2z?TestSyntaxErrors.test_multiple_assignments_to_name_in_pattern_2
  r  r   c                 0    |                      d           d S )NzU
        match ...:
            case MyClass(x=x, y=x):
                pass
        r  r  s    r   .test_multiple_assignments_to_name_in_pattern_3z?TestSyntaxErrors.test_multiple_assignments_to_name_in_pattern_3
  r  r   c                 0    |                      d           d S )NzS
        match ...:
            case MyClass(x, y=x):
                pass
        r  r  s    r   .test_multiple_assignments_to_name_in_pattern_4z?TestSyntaxErrors.test_multiple_assignments_to_name_in_pattern_4
  r  r   c                 0    |                      d           d S )NzJ
        match ...:
            case a as a:
                pass
        r  r  s    r   .test_multiple_assignments_to_name_in_pattern_5z?TestSyntaxErrors.test_multiple_assignments_to_name_in_pattern_5
  r  r   c                 0    |                      d           d S )NzT
        match ...:
            case *a, b, *c, d, *e:
                pass
        r  r  s    r   1test_multiple_starred_names_in_sequence_pattern_0zBTestSyntaxErrors.test_multiple_starred_names_in_sequence_pattern_0
  r  r   c                 0    |                      d           d S )NzS
        match ...:
            case a, *b, c, *d, e:
                pass
        r  r  s    r   1test_multiple_starred_names_in_sequence_pattern_1zBTestSyntaxErrors.test_multiple_starred_names_in_sequence_pattern_1
  r  r   c                 0    |                      d           d S )NzK
        match ...:
            case a | "a":
                pass
        r  r  s    r   8test_name_capture_makes_remaining_patterns_unreachable_0zITestSyntaxErrors.test_name_capture_makes_remaining_patterns_unreachable_0
  r  r   c                 0    |                      d           d S )Nzm
        match 42:
            case x:
                pass
            case y:
                pass
        r  r  s    r   8test_name_capture_makes_remaining_patterns_unreachable_1zITestSyntaxErrors.test_name_capture_makes_remaining_patterns_unreachable_1
  )       " 	 	 	 	 	r   c                 0    |                      d           d S )NzU
        match ...:
            case x | [_ as x] if x:
                pass
        r  r  s    r   8test_name_capture_makes_remaining_patterns_unreachable_2zITestSyntaxErrors.test_name_capture_makes_remaining_patterns_unreachable_2
  r  r   c                 0    |                      d           d S )Nzu
        match ...:
            case x:
                pass
            case [x] if x:
                pass
        r  r  s    r   8test_name_capture_makes_remaining_patterns_unreachable_3zITestSyntaxErrors.test_name_capture_makes_remaining_patterns_unreachable_3
  r  r   c                 0    |                      d           d S )Nzn
        match ...:
            case x:
                pass
            case _:
                pass
        r  r  s    r   8test_name_capture_makes_remaining_patterns_unreachable_4zITestSyntaxErrors.test_name_capture_makes_remaining_patterns_unreachable_4  r  r   c                 0    |                      d           d S )NzG
        match ...:
            case f"":
                pass
        r  r  s    r   =test_patterns_may_only_match_literals_and_attribute_lookups_0zNTestSyntaxErrors.test_patterns_may_only_match_literals_and_attribute_lookups_0  r  r   c                 0    |                      d           d S )NzJ
        match ...:
            case f"{x}":
                pass
        r  r  s    r   =test_patterns_may_only_match_literals_and_attribute_lookups_1zNTestSyntaxErrors.test_patterns_may_only_match_literals_and_attribute_lookups_1  r  r   c                 0    |                      d           d S )NzH
        match ...:
            case 0j+0:
                pass
        r  r  s    r   .test_real_number_required_in_complex_literal_0z?TestSyntaxErrors.test_real_number_required_in_complex_literal_0  r  r   c                 0    |                      d           d S )NzI
        match ...:
            case 0j+0j:
                pass
        r  r  s    r   .test_real_number_required_in_complex_literal_1z?TestSyntaxErrors.test_real_number_required_in_complex_literal_1%  r  r   c                 0    |                      d           d S )NzM
        match ...:
            case {0j+0: _}:
                pass
        r  r  s    r   .test_real_number_required_in_complex_literal_2z?TestSyntaxErrors.test_real_number_required_in_complex_literal_2,  r  r   c                 0    |                      d           d S )NzN
        match ...:
            case {0j+0j: _}:
                pass
        r  r  s    r   .test_real_number_required_in_complex_literal_3z?TestSyntaxErrors.test_real_number_required_in_complex_literal_33  r  r   c                 0    |                      d           d S )NzI
        match ...:
            case _ | _:
                pass
        r  r  s    r   4test_wildcard_makes_remaining_patterns_unreachable_0zETestSyntaxErrors.test_wildcard_makes_remaining_patterns_unreachable_0:  r  r   c                 0    |                      d           d S )NzR
        match ...:
            case (_ as x) | [x]:
                pass
        r  r  s    r   4test_wildcard_makes_remaining_patterns_unreachable_1zETestSyntaxErrors.test_wildcard_makes_remaining_patterns_unreachable_1A  r  r   c                 0    |                      d           d S )NzX
        match ...:
            case _ | _ if condition():
                pass
        r  r  s    r   4test_wildcard_makes_remaining_patterns_unreachable_2zETestSyntaxErrors.test_wildcard_makes_remaining_patterns_unreachable_2H  r  r   c                 0    |                      d           d S )Nzq
        match ...:
            case _:
                pass
            case None:
                pass
        r  r  s    r   4test_wildcard_makes_remaining_patterns_unreachable_3zETestSyntaxErrors.test_wildcard_makes_remaining_patterns_unreachable_3O  r  r   c                 0    |                      d           d S )NzR
        match ...:
            case (None | _) | _:
                pass
        r  r  s    r   4test_wildcard_makes_remaining_patterns_unreachable_4zETestSyntaxErrors.test_wildcard_makes_remaining_patterns_unreachable_4X  r  r   c                 0    |                      d           d S )NzV
        match ...:
            case _ | (True | False):
                pass
        r  r  s    r   4test_wildcard_makes_remaining_patterns_unreachable_5zETestSyntaxErrors.test_wildcard_makes_remaining_patterns_unreachable_5_  r  r   c                 0    |                      d           d S )NzT
        match ...:
            case {"a": _, "a": _}:
                pass
        r  r  s    r   "test_mapping_pattern_duplicate_keyz3TestSyntaxErrors.test_mapping_pattern_duplicate_keyf  r  r   c                 0    |                      d           d S )NzT
        match ...:
            case {0: _, False: _}:
                pass
        r  r  s    r   -test_mapping_pattern_duplicate_key_edge_case0z>TestSyntaxErrors.test_mapping_pattern_duplicate_key_edge_case0m  r  r   c                 0    |                      d           d S )NzR
        match ...:
            case {0: _, 0.0: _}:
                pass
        r  r  s    r   -test_mapping_pattern_duplicate_key_edge_case1z>TestSyntaxErrors.test_mapping_pattern_duplicate_key_edge_case1t  r  r   c                 0    |                      d           d S )NzQ
        match ...:
            case {0: _, -0: _}:
                pass
        r  r  s    r   -test_mapping_pattern_duplicate_key_edge_case2z>TestSyntaxErrors.test_mapping_pattern_duplicate_key_edge_case2{  r  r   c                 0    |                      d           d S )NzQ
        match ...:
            case {0: _, 0j: _}:
                pass
        r  r  s    r   -test_mapping_pattern_duplicate_key_edge_case3z>TestSyntaxErrors.test_mapping_pattern_duplicate_key_edge_case3  r  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  r  r  r  r  r  r  r!  r#  r%  r'  r)  r+  r-  r/  r1  r3  r5  r7  r9  r;  r   r   r   r  r  b
  s       > > > > >                                                                                  r   r  c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestTypeErrorsc                     G d d          } |            }d x}}|                      t                    5  ||dx\  }d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            d S )Nc                       e Zd ZdZdS )CTestTypeErrors.test_accepts_positional_subpatterns_0.<locals>.Classr   Nr  r   r   r   r	  r@    s        NNNr   r	  r   r   r  	TypeErrorrs   r   r	  r   r   r   s        r   %test_accepts_positional_subpatterns_0z4TestTypeErrors.test_accepts_positional_subpatterns_0  s    	  	  	  	  	  	  	  	 EGGAy)) 	 	XXXXX1AA 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aa   AAAc                 *   t          d          }d }|                     t                    5  |t           dx
\  dk    rd}n d d d            n# 1 swxY w Y   |                     |t          d                     |                     |d            d S )Nr~  r   r   )r  r  rB  r;   rs   r   s      r   %test_accepts_positional_subpatterns_1z4TestTypeErrors.test_accepts_positional_subpatterns_1  s    "IIy)) 	 	YYYYY222AA 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	E"II&&&as   AAAc                 D    G d d          } |            }d x}x}}|                      t                    5  ||dx\  }}d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            |                     |d            d S )Nc                       e Zd ZdZdZdS )KTestTypeErrors.test_got_multiple_subpatterns_for_attribute_0.<locals>.Class)r  r  Nr   r   r	   r  r  r   r   r   r	  rJ    s        'NAAAr   r	  r   r   rA  r   r	  r   r  r   r   s         r   -test_got_multiple_subpatterns_for_attribute_0z<TestTypeErrors.test_got_multiple_subpatterns_for_attribute_0  s   	 	 	 	 	 	 	 	 EGGAy)) 	 	[[[[[aaAA !	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aaa   AAAc                 D    G d d          } |            }d x}x}}|                      t                    5  ||dx\  }}d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            |                     |d            d S )Nc                       e Zd ZdZdZdS )KTestTypeErrors.test_got_multiple_subpatterns_for_attribute_1.<locals>.Classr  NrK  r   r   r   r	  rQ    s        #NAAAr   r	  rR  r   rA  rL  s         r   -test_got_multiple_subpatterns_for_attribute_1z<TestTypeErrors.test_got_multiple_subpatterns_for_attribute_1  s   	 	 	 	 	 	 	 	 EGGAy)) 	 	]]]]]AA #	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aaarN  c                     G d d          } |            }d x}}|                      t                    5  ||dx\  }d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            d S )Nc                       e Zd ZdZdS )FTestTypeErrors.test_match_args_elements_must_be_strings.<locals>.Classr  Nr  r   r   r   r	  rV    s        $NNNr   r	  r   r   rA  rC  s        r   (test_match_args_elements_must_be_stringsz7TestTypeErrors.test_match_args_elements_must_be_strings  s    	% 	% 	% 	% 	% 	% 	% 	%EGGAy)) 	 	XXXXX1AA 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aarE  c                     G d d          } |            }d x}}|                      t                    5  ||dx\  }d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            d S )Nc                       e Zd ZdZdS )?TestTypeErrors.test_match_args_must_be_a_tuple_0.<locals>.ClassNr  r   r   r   r	  rZ    s        !NNNr   r	  r   r   rA  rC  s        r   !test_match_args_must_be_a_tuple_0z0TestTypeErrors.test_match_args_must_be_a_tuple_0  s    	" 	" 	" 	" 	" 	" 	" 	"EGGAy)) 	 	XXXXX1AA 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aarE  c                     G d d          } |            }d x}}|                      t                    5  ||dx\  }d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            d S )Nc                       e Zd ZdZdS )?TestTypeErrors.test_match_args_must_be_a_tuple_1.<locals>.ClassXYZNr  r   r   r   r	  r^    s        "NNNr   r	  r   r   rA  rC  s        r   !test_match_args_must_be_a_tuple_1z0TestTypeErrors.test_match_args_must_be_a_tuple_1  s    	# 	# 	# 	# 	# 	# 	# 	#EGGAy)) 	 	XXXXX1AA 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aarE  c                 D    G d d          } |            }d x}x}}|                      t                    5  ||dx\  }}d}n d d d            n# 1 swxY w Y   |                     |d            |                     |d            |                     |d            d S )Nc                       e Zd ZddgZdZdZdS )?TestTypeErrors.test_match_args_must_be_a_tuple_2.<locals>.Classspameggsr   r{   N)r   r   r	   r  rd  re  r   r   r   r	  rc    s"        $f-NDDDDr   r	  r   r   rA  rL  s         r   !test_match_args_must_be_a_tuple_2z0TestTypeErrors.test_match_args_must_be_a_tuple_2  s   	 	 	 	 	 	 	 	 EGGAy)) 	 	[[[[[aaAA !	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aaarN  N)r   r   r	   rD  rG  rM  rS  rW  r[  r`  rf  r   r   r   r=  r=    s        
 
 
      
 
 

 
 

 
 
    r   r=  c                       e Zd Zd ZdS )TestValueErrorsc                 ^    G d d          }ddd}d x}x}}|                      t                    5  | r dk    r|j        df! x	\  }}  d}n   d d d            n# 1 swxY w Y   |                     |d            |                     |d            |                     |d            d S )Nc                       e Zd ZdZdS )ITestValueErrors.test_mapping_pattern_checks_duplicate_key_1.<locals>.Keysr  N)r   r   r	   KEYr   r   r   Keysrk    s        CCCr   rm  r   r{   r  r|   r  )r  
ValueErrorrl  rs   )r   rm  r   r  r   r   s         r   +test_mapping_pattern_checks_duplicate_key_1z;TestValueErrors.test_mapping_pattern_checks_duplicate_key_1  s7   	 	 	 	 	 	 	 	!Az** 	 	******dh3*****AA +**	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	aaas   !A  A$'A$N)r   r   r	   ro  r   r   r   rh  rh    s#            r   rh  c                   N    e Zd Zed             Zd Zd Zd Zd Zd Z	d Z
d Zd	S )
TestTracingc                      g  fdt          j                    }t          j                   	   |i | t          j        |           n# t          j        |           w xY wS )Nc                     |dk    r>| j         j        j        k    r)| j        j        j        z
  }                    |           S )Nline)f_codeco_namer   f_lineno__code__co_firstlinenoappend)frameeventargrelative_linenoactual_linenosfunctraces       r   r  z!TestTracing._trace.<locals>.trace  sG    5<#74=#H#H"'.4=3O"O%%o666Lr   )sysgettracesettrace)r  argskwargs	old_tracer  r  s   `   @@r   _tracezTestTracing._trace  s    	 	 	 	 	 	 	 LNN	U	$D$!&!!!L####CL####s   A A(c                    d }|                      |                     |d          g d           |                      |                     |d          g d           |                      |                     |d          g d           d S )Nc                     |                                  x  r dk    r\  dk    r}|dv r d| S    r dk    r
\  dk    r dS  	 dS )Nr|   goneswgo no gor  splitcommand	directions     r   r  z,TestTracing.test_default_wildcard.<locals>.f  sv    --//&&&&&&&&dddI)v*=*=*=,,,, 'YYYYYYdddA"7 $9r   go nr  go xr{   r|   r   r  rd  r{   r|   r   r  r  assertListEqualr  r-  s     r   test_default_wildcardz!TestTracing.test_default_wildcard  s    	% 	% 	% 	T[[F33YYY???T[[F33\\\BBBT[[F33___EEEEEr   c                    d }|                      |                     |d          g d           |                      |                     |d          g d           |                      |                     |d          g d           d S )Nc                     |                                  x  r dk    r\  dk    r}|dv r d| S  x  r dk    r\  dk    r  dS  }|S Nr|   r  r  r  r  r  )r  r  r   s      r   r  z+TestTracing.test_default_capture.<locals>.f%  sz    --//&&&&&&&&dddI)v*=*=*=,,,, 'YYYYYYYdddAA"7 Hr   r  r  r  r  rd  r  r  r-  s     r   test_default_capturez TestTracing.test_default_capture$  s    	 	 	 	T[[F33YYY???T[[F33\\\BBBT[[F33___EEEEEr   c                    d }|                      |                     |d          g d           |                      |                     |d          g d           |                      |                     |d          g d           d S )Nc                     |                                  x  r dk    r\  dk    r}|dv r d| S    r dk    r
\  dk    r dS  d S r  r  r  s     r   r  z&TestTracing.test_no_default.<locals>.f3  sr    --//&&&&&&&&dddI)v*=*=*=,,,, 'YYYYYYdddA"7 YYr   r  r  r  r  rd  )r{   r|   r   r  r-  s     r   test_no_defaultzTestTracing.test_no_default2  s    	# 	# 	# 	T[[F33YYY???T[[F33\\\BBBT[[F33YYY?????r   c                    d }|                      |                     |d          g d           |                      |                     |d          g d           |                      |                     |d          g d           d S )Nc                 .    |                                   dS )Nr  r  r  s    r   r  z1TestTracing.test_only_default_wildcard.<locals>.f?  s    --//$9r   r  r  r  rd  r  r-  s     r   test_only_default_wildcardz&TestTracing.test_only_default_wildcard>  s    	% 	% 	%
 	T[[F33YYY???T[[F33YYY???T[[F33YYY?????r   c                    d }|                      |                     |d          g d           |                      |                     |d          g d           |                      |                     |d          g d           d S )Nc                 .    |                                  }|S r  r  )r  r   s     r   r  z0TestTracing.test_only_default_capture.<locals>.fI  s    --//Hr   r  r  r  rd  r  r-  s     r   test_only_default_capturez%TestTracing.test_only_default_captureH  s    	 	 	
 	T[[F33YYY???T[[F33YYY???T[[F33YYY?????r   c                     d }|                      |                     |d          g d           |                      |                     |d          g d           d S )Nc                     | dk    rd S 	 d S )Nr{   r   r  s    r   r  z,TestTracing.test_unreachable_code.<locals>.fS  s#    QQ! !! !r   r{   r  r   )r{   r|   r  r  r  r-  s     r   test_unreachable_codez!TestTracing.test_unreachable_codeR  si    	! 	! 	! 	T[[A..			:::T[[A..=====r   c                 0   d}dd|z  z   d|z  z   d|z  dz   d|z  z   d|z  dz   d	|z  z   g}|D ]g}|                      |          5  t          j        d
                    |                    }t	          |dd           d d d            n# 1 swxY w Y   hd S )Nr  r   ()z{1:r4  }[]zs
                    match None:
                        case {}:
                            pass
                z<string>r   )subTestr  r  formatr   )r   levelspatternspatternr  s        r   "test_parser_deeply_nested_patternsz.TestTracing.test_parser_deeply_nested_patterns_  s     #,v-FNS 3</&L3v-
   	2 	2Gg&& 2 2' ) F7OO	% %
 j&1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	2 	2s   9B

B	B	N)r   r   r	   rn   r  r  r  r  r  r  r  r  r   r   r   rq  rq    s          \$F F FF F F
@ 
@ 
@@ @ @@ @ @> > >2 2 2 2 2r   rq  __main__c                   &    e Zd Zd Zd Zd Zd ZdS )	PerfPatmac                      d S r  r   ___s     r   r;   zPerfPatma.assertEqual      Dr   c                      d S r  r   r  s     r   rs   zPerfPatma.assertIs  r  r   c                      d S r  r   r  s     r   r  zPerfPatma.assertRaises  s      r   c                    g }t          t                    D ]:}|                    d          r#|                    t	          | |                     ;||z  }t          j                    }|D ]} |             t          j                    |z
  S )Ntest_)varsrp   
startswithrz  getattrpyperfperf_counter)r   counttestsattrstarttests         r   run_perfzPerfPatma.run_perf  s    EY 6 6??7++ 6LLt!4!4555UNE'))E  &((500r   N)r   r   r	   r;   rs   r  r  r   r   r   r  r    sS        	 	 		 	 		O 	O 	O		1 		1 		1 		1 		1r   r  patma)rH  r5   dataclassesr  r  r  unittest	dataclassr   TestCaser   r   rp   r  r=  rh  rq  r   r  r  Runnerrunnerbench_time_funcr  r   r   r   <module>r     sw              



         
3 3 3 3 38$ 3 3 3fT fT fT fT fTh' fT fT fTR\'# \'# \'# \'# \'#! \'# \'# \'#~Ne e e e ex( e e eN	e e e e eX& e e eP    h'    q2 q2 q2 q2 q2(# q2 q2 q2h z MMM1 1 1 1 1I 1 1 1. V]__F
7IIKK$899999E r   