§
    ŒŸjÙ¿  ã                   óþ  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 d dlm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 G d„ d¦  «        Z  G d„ de¦  «        Z! G d„ de
¦  «        Z"e! #                    d¬¦  «         G d „ d!e"¦  «        ¦   «         Z$ G d"„ d#e¦  «        Z% G d$„ d%e
¦  «        Z&e! #                    d¬¦  «         G d&„ d'e&¦  «        ¦   «         Z'e! #                    d(¬)¦  «         G d*„ d+e&¦  «        ¦   «         Z(e! #                    d,¬)¦  «         G d-„ d.e&¦  «        ¦   «         Z)e! #                    d/¬)¦  «         G d0„ d1e&¦  «        ¦   «         Z*e! #                    d2¬)¦  «         G d3„ d4e&¦  «        ¦   «         Z+e! #                    d5¬¦  «         G d6„ d7e&¦  «        ¦   «         Z,e! #                    d8¬¦  «         G d9„ d:e&¦  «        ¦   «         Z-e! #                    d;¬)¦  «         G d<„ d=e&¦  «        ¦   «         Z.e! #                    d>¬)¦  «         G d?„ d@e&¦  «        ¦   «         Z/e! #                    dA¬)¦  «        e! #                    dB¬)¦  «         G dC„ dDe&¦  «        ¦   «         ¦   «         Z0e! #                    dE¬¦  «         G dF„ dGe&¦  «        ¦   «         Z1e! #                    dH¬¦  «         G dI„ dJe&¦  «        ¦   «         Z2e! #                    dK¬¦  «         G dL„ dMe&¦  «        ¦   «         Z3e! #                    dK¬¦  «         G dN„ dOe&¦  «        ¦   «         Z4e! #                    dP¬¦  «         G dQ„ dRe&¦  «        ¦   «         Z5e! #                    e¬S¦  «         G dT„ dUe&¦  «        ¦   «         Z6e! #                    dV¬¦  «         G dW„ dXe&¦  «        ¦   «         Z7e! #                    dY¬¦  «         G dZ„ d[e&¦  «        ¦   «         Z8e! #                    d\¬¦  «         G d]„ d^e&¦  «        ¦   «         Z9e! #                    d_¬¦  «         G d`„ dae&¦  «        ¦   «         Z:e! #                    db¬¦  «        e! #                    dc¬¦  «         G dd„ dee&¦  «        ¦   «         ¦   «         Z;e! #                    df¬¦  «         G dg„ dhe&¦  «        ¦   «         Z<e! #                    di¬¦  «         G dj„ dke&¦  «        ¦   «         Z= G dl„ dme&¦  «        Z>e! #                    dn¬¦  «         G do„ dpe>¦  «        ¦   «         Z?e! #                    dq¬¦  «         G dr„ dse>¦  «        ¦   «         Z@e! #                    dt¬¦  «         G du„ dve>¦  «        ¦   «         ZAe! #                    dw¬¦  «         G dx„ dye>¦  «        ¦   «         ZBe! #                    dz¬¦  «         G d{„ d|e>¦  «        ¦   «         ZCe! #                    d}¬¦  «         G d~„ de>¦  «        ¦   «         ZDe! #                    d€¬¦  «         G d�„ d‚e>¦  «        ¦   «         ZEdS )ƒé    N)Úcontextmanager)Ú
NormalizerÚNormalizerConfigÚIssueÚRule)Ú_get_token_collection)Úif_stmtÚ
while_stmtÚfor_stmtÚtry_stmtÚ	with_stmt)Útestlist_star_exprÚtestlist_compÚexprlisté   éd   )Únested_scopesÚ
generatorsÚdivisionÚabsolute_importÚwith_statementÚprint_functionÚunicode_literalsÚgenerator_stop)Úcomp_forÚsync_comp_forc                 óV  — | j         }|dk    rdS |dk    �rt          | ¦  «        }| j        d d…         \  }}|�|S |j         dk    r6|dk     rdS |j        d         d	k    s|j        d
         dk    r
|dk     rdS dS dS |dk    r6|dk    s.t          | j        ¦  «        dk    r| j        d         j         dk    rdS |dk    rt	          t          | ¦  «        |¬¦  «        S |dk    rdS |dk    r|dk    r
|dk     rdS dS |dk    rt          | j        ¦  «        dk    rdS �n|dk    r'd| j        v rdS |dk     rdS t          | j        ¦  «        S |dk    r| j        dk    r
|dk     rdS d S |d!k    rd!S |d"v rdS |d#k    rdS |d$k    rd%S |d&v rp| j        d
         d'k    rd(S | j        d)         j         d*k    rF| j        d)         }|j        d
         dk    rd+S |j        d
         dk    rd,S |j        d
         d-k    rd.S n2d/|v rd0|vsd1|v s|d2v r
|dk     rdS d3S |d0k    rd4S |d5k    rdS |d6k    rd7S |S )8NÚlambdefÚlambdaÚatomé   Údictorsetmaker©é   é   Úliteralé   ú:r   ú**©r$   é
   údict displayúdict literalúset displayú(ú)r$   r   Útuple)Úversionú[ÚlistÚ{Ú}ÚkeywordÚyieldúyield expressionÚoperatorú...ÚEllipsisÚellipsisÚ
comparison©ÚstringÚnumberÚstringsÚ
yield_exprÚtestúconditional expression©Ú	atom_exprÚpowerÚawaitúawait expressionéÿÿÿÿÚtrailerúfunction callÚ	subscriptú.Ú	attributeÚexprÚ	star_exprÚ_test©ÚtermÚfactorÚ
expressionÚstarredr   Úfstringúf-string expression)ÚtypeÚ_get_comprehension_typeÚchildrenÚlenÚ_get_rhs_nameÚ_remove_parensÚvalueÚstr)Únoder2   Útype_ÚcomprehensionÚfirstÚsecondrL   s          ú`/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/parso/python/errors.pyr_   r_      s  € ØŒI€EØ�	ÒÐØˆxØ	�&Š‰Ý/°Ñ5Ô5ˆØœ b q bÔ)‰ˆˆvØÐ$Ø Ð ØŒ[Ð,Ò,Ð,Ø˜ÒÐØ �yà”? 1Ô%¨Ò,Ð,°´ÀÔ0BÀdÒ0JÐ0JØ Ò(Ð(Ø-˜~à-˜~à(˜=à�SŠLˆLØ˜3’�Ý˜œÑ'Ô'¨1Ò,Ð,°´¸qÔ1AÔ1FÈ/Ò1YÐ1Yà�7Ø�cŠ\ˆ\Ý ¥°Ñ!5Ô!5¸wÐGÑGÔGÐGØ�cŠ\ˆ\Ø�6Ø�cŠ\ˆ\˜f¨šm˜mØ˜Ò Ð Ø%�~à%�~Ø�cŠ\ˆ\�c $¤-Ñ0Ô0°1Ò4Ð4Ø �=ùØ	�)Ò	Ð	Ø�d”jÐ Ð Ø%Ð%Ø�VÒÐØ�9å�t”z‘?”?Ð"Ø	�*Ò	Ð	 ¤¨uÒ!4Ð!4Ø�WÒÐØ�:à�:Ø	�,Ò	Ð	Øˆ|Ø	Ð1Ð	1Ð	1ØˆyØ	�,Ò	Ð	Ø!Ð!Ø	�&ŠˆØ'Ð'Ø	Ð(Ð	(Ð	(ØŒ=˜Ô˜wÒ&Ð&Ø%Ð%ØŒ]˜2ÔÔ# yÒ0Ð0Ø”m BÔ'ˆGØÔ Ô" cÒ)Ð)Ø&�ØÔ! !Ô$¨Ò+Ð+Ø"�{ØÔ! !Ô$¨Ò+Ð+Ø"�{øà	�5ˆˆ˜[°Ð5Ð5Ø�eÐÐØÐ&Ð&Ð&à�WÒÐØ�:à�<Ø	�+Ò	Ð	ØˆyØ	Ð&Ò	&Ð	&ØˆwØ	�)Ò	Ð	Ø$Ð$Ø€Ló    c              #   ó~   K  — | j         D ]2}|j        dk    r!|j         D ]}|j        dk    s|dk    rŒ|V — ŒŒ.|V — Œ3dS )zB
    Iterates over all statements and splits up  simple_stmt.
    Úsimple_stmtÚnewlineú;N©r]   r[   )ÚscopeÚchildÚchild2s      rh   Ú_iter_stmtsrr   m   sv   è è € ð ”ð ð ˆØŒ:˜Ò&Ð&Øœ.ð ð �Ø”; )Ò+Ð+¨v¸ª}¨}ØØ����ðð
 ˆKˆKˆKˆKðð ri   c                 óø   — | j         d d…         \  }}|j        dk    r#|j         d         j        t          v r
|dk    rdS dS |j        dk    r.|j         d         j        t          v r|j         d         d	k    rd
S dS d S )Nr!   r   r'   r3   zlist comprehensionzgenerator expressionr"   rK   r(   zdict comprehensionzset comprehension©r]   r[   Ú_COMP_FOR_TYPES)r    rf   rg   s      rh   r\   r\   {   s‘   € Ø”M " 1 "Ô%�M€Eˆ6Ø„{�oÒ%Ð%¨&¬/¸!Ô*<Ô*AÅ_Ð*TÐ*TØ�CŠ<ˆ<Ø'Ð'à)Ð)Ø	ŒÐ(Ò	(Ð	(¨V¬_¸RÔ-@Ô-EÍÐ-XÐ-XØŒ?˜1Ô Ò$Ð$Ø'Ð'à&Ð&Øˆ4ri   c                 óL   — |                       ¦   «         }d„ |D ¦   «         dgk    S )Nc                 ó   — g | ]	}|j         ‘Œ
S © ©ra   ©Ú.0Úns     rh   ú
<listcomp>z%_is_future_import.<locals>.<listcomp>�   s   € Ð(Ð(Ð(˜ˆAŒGÐ(Ð(Ð(ri   Ú
__future__)Úget_from_names)Úimport_fromÚ
from_namess     rh   Ú_is_future_importr‚   Š   s0   € ð
 ×+Ò+Ñ-Ô-€JØ(Ð(˜ZÐ(Ñ(Ô(¨\¨NÒ:Ð:ri   c                 óª   — 	 | j         }t          |¦  «        dk    r&|d         dk    rt          | j         d         ¦  «        S n# t          $ r Y nw xY w| S )z_
    Returns the inner part of an expression like `(foo)`. Also removes nested
    parens.
    r$   r   r/   r'   )r]   r^   r`   ÚAttributeError)r    r]   s     rh   r`   r`   “   sn   € ð
4Ø”=ˆõ ˆx‰=Œ=˜AÒÐ (¨1¤+°Ò"4Ð"4Ý! $¤-°Ô"2Ñ3Ô3Ð3øøõ	 ð ð ð Øˆðøøøð
 €Ks   ‚A Á
AÁAc                 ól   — | j         �,| j         } | j        dk    s| j        d         dk    r| S | j         ­,dS )za
    Returns an ancestor node of an expression, skipping all levels of parens
    bottom-up.
    Nr    r   r/   ©Úparentr[   r]   ©rc   s    rh   Ú_skip_parens_bottom_upr‰   ¢   sG   € ð
 Œ+Ð
!ØŒ{ˆØŒ9˜ÒÐ $¤-°Ô"2°cÒ"9Ð"9ØˆKð Œ+Ð
!ð ˆ4ri   c                 ó$   — d„ | j         D ¦   «         S )Nc              3   óF   K  — | ]}|j         d k    s|j         dk    ¯|V — ŒdS )Úparamr:   N©r[   rz   s     rh   ú	<genexpr>z_iter_params.<locals>.<genexpr>¯   s:   è è € ÐYÐY�!¨q¬v¸Ò/@Ð/@ÀAÄFÈjÒDXÐDXˆAÐDXÐDXÐDXÐDXÐYÐYri   )r]   )Úparent_nodes    rh   Ú_iter_paramsr�   ®   s   € ØYÐY�{Ô+ÐYÑYÔYÐYri   c                 ó¾   — d}t          |                      ¦   «         ¦  «        D ]8}|j        dk    r|sŒd}|| k    r dS |j        dk    rt          |¦  «        rŒ6 dS dS )z@
    Checks if the import is the first statement of a file.
    Fr@   Tr€   N)rr   Úget_root_noder[   r‚   )r€   Úfound_docstringÚstmts      rh   Ú_is_future_import_firstr•   ²   s‡   € ð €OÝ˜K×5Ò5Ñ7Ô7Ñ8Ô8ð 	ð 	ˆØŒ9˜Ò Ð ¨Ð ØØˆà�;ÒÐØ�4�4ØŒ9˜Ò%Ð%Õ*;¸DÑ*AÔ*AÐ%ØØˆuˆuð	ð 	ri   c              #   ó    ‡K  — ˆfd„Š| j         t          v r&| j        d d d…         D ]} ‰|¦  «        E d {V —† Œd S  ‰| ¦  «        E d {V —† d S )Nc              3   óþ   •K  — | j         dk    rj| j        d         dk    rB| j        d         }|j         dk    rt          |¦  «        E d {V —† d S  ‰|¦  «        E d {V —† d S | j        d         dk    r|V — d S | V — d S )Nr    r   r/   r'   r   r3   )r[   r]   Ú!_iter_definition_exprs_from_lists)rp   r   Ú
check_exprs     €rh   r™   z5_iter_definition_exprs_from_lists.<locals>.check_exprÄ   s¾   øè è € ØŒ:˜ÒÐØŒ~˜aÔ  CÒ'Ð'Ø %¤¨qÔ 1�Ø Ô%¨Ò8Ð8Ý@ÀÑOÔOÐOÐOÐOÐOÐOÐOÐOØ�Fð  *˜z¨-Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø�FØ” Ô" cÒ)Ð)Ø#Ð#Ð#Ð#Ø�Øˆˆˆˆˆri   r!   )r[   Ú_STAR_EXPR_PARENTSr]   )r   rp   r™   s     @rh   r˜   r˜   Ã   s¦   øè è € ðð ð ð ð ð  „}Õ*Ð*Ð*ØÔ& s s¨ sÔ+ð 	)ð 	)ˆEØ!�z %Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð	)ð 	)ð �:˜hÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ri   c                 ó’   — g }| j         d dd…         D ]3}|j        dv r|t          |¦  «        z  }Œ|                     |¦  «         Œ4|S )Néþÿÿÿr!   )r   Útestlist)r]   r[   r˜   Úappend)Ú	expr_stmtÚexprsÚlist_s      rh   Ú_get_expr_stmt_definition_exprsr¢   Û   sa   € Ø€EØÔ# E R¨ EÔ*ð  ð  ˆØŒ:Ð;Ð;Ð;ØÕ6°uÑ=Ô=Ñ=ˆEˆEà�LŠL˜ÑÔÐÐØ€Lri   c                 óT   — | j         d         }t          t          |¦  «        ¦  «        S ©Nr'   )r]   r4   r˜   )r   r   s     rh   Ú_get_for_stmt_definition_exprsr¥   å   s&   € ØÔ  Ô#€HÝÕ1°(Ñ;Ô;Ñ<Ô<Ð<ri   c                 ó4   — | j         d         j        t          v S r¤   rt   )Úarguments    rh   Ú_is_argument_comprehensionr¨   ê   s   € ØÔ˜QÔÔ$­Ð7Ð7ri   c                 ó¬   — | dk     s|€dS |j         dk    rt          d„ |j        D ¦   «         ¦  «        S |j         dk    rdS |                     d¦  «        S )N©r$   é	   FÚ
error_nodec              3   ó,   K  — | ]}|j         d k    V — ŒdS )Úfstring_startNr�   ©r{   rp   s     rh   rŽ   z%_any_fstring_error.<locals>.<genexpr>ò   s)   è è € ÐLÐL°U�5”: Ò0ÐLÐLÐLÐLÐLÐLri   rY   T)r[   Úanyr]   Úsearch_ancestor)r2   rc   s     rh   Ú_any_fstring_errorr²   î   sh   € Ø�ÒÐ˜4˜<ØˆuØ„y�LÒ Ð ÝÐLÐL¸d¼mÐLÑLÔLÑLÔLÐLØ	Œ�iÒ	Ð	Øˆtà×#Ò# IÑ.Ô.Ð.ri   c                   óV   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ ¦   «         Z
d	„ Zd
„ ZdS )Ú_ContextNc                 ó„   — || _         g | _        || _        i | _        g | _        g | _        g | _        g | _        || _        d S ©N)	rc   ÚblocksÚparent_contextÚ_used_name_dictÚ_global_namesÚ_local_params_namesÚ_nonlocal_namesÚ_nonlocal_names_in_subscopesÚ_add_syntax_error)Úselfrc   Úadd_syntax_errorr¸   s       rh   Ú__init__z_Context.__init__ú   sN   € ØˆŒ	ØˆŒØ,ˆÔØ!ˆÔØˆÔØ#%ˆÔ Ø!ˆÔØ,.ˆÔ)Ø!1ˆÔÐÐri   c                 óP   — |                       ¦   «         o| j        j        j        dv S )N)Úasync_funcdefÚ
async_stmt)Úis_functionrc   r‡   r[   ©r¿   s    rh   Úis_async_funcdefz_Context.is_async_funcdef  s0   € ð ×ÒÑ!Ô!ð IØ”	Ô Ô%Ð)HÐHð	Iri   c                 ó"   — | j         j        dk    S )NÚfuncdef)rc   r[   rÆ   s    rh   rÅ   z_Context.is_function  s   € ØŒyŒ~ Ò*Ð*ri   c                 ó¢  — |j         j        }|dk    rd S |dk    r| j                             |¦  «         d S |dk    r| j                             |¦  «         d S |dk    r=| j                             d„ |j                              ¦   «         D ¦   «         ¦  «         d S | j         	                    |j
        g ¦  «                             |¦  «         d S )NrL   Úglobal_stmtÚnonlocal_stmtrÉ   c                 ó&   — g | ]}|j         j        ‘ŒS rx   )Únamera   )r{   rŒ   s     rh   r}   z%_Context.add_name.<locals>.<listcomp>  s   € ÐHÐHÐH e�”Ô!ÐHÐHÐHri   )r‡   r[   rº   rž   r¼   r»   ÚextendÚ
get_paramsr¹   Ú
setdefaultra   )r¿   rÎ   Úparent_types      rh   Úadd_namez_Context.add_name  sì   € Ø”kÔ&ˆØ˜)Ò#Ð#àˆFà˜-Ò'Ð'ØÔ×%Ò% dÑ+Ô+Ð+Ð+Ð+Ø˜OÒ+Ð+ØÔ ×'Ò'¨Ñ-Ô-Ð-Ð-Ð-Ø˜IÒ%Ð%ØÔ$×+Ò+ØHÐH¨t¬{×/EÒ/EÑ/GÔ/GÐHÑHÔHñô ð ð ð ð Ô ×+Ò+¨D¬J¸Ñ;Ô;×BÒBÀ4ÑHÔHÐHÐHÐHri   c                 ó`  — |                       | j        d¦  «         |                       | j        d¦  «         d„ | j        D ¦   «         }| j        D ]V}	 ||j                 }n# t          $ r Y Œw xY wd|j        z  }|j        |j        k     r|}n|}|                      ||¦  «         ŒWg }| j        D ]v}|j        }|| j        v rŒ||v s| j	        €!d|j        z  }|                      ||¦  «         Œ?|  
                    ¦   «         r|j        | j        vr|                     |¦  «         Œw| j        |z   S )zV
        Returns a list of nonlocal names that need to be part of that scope.
        ÚglobalÚnonlocalc                 ó   — i | ]
}|j         |“ŒS rx   ry   rz   s     rh   ú
<dictcomp>z%_Context.finalize.<locals>.<dictcomp>&  s   € ÐCÐCÐC¨1˜AœG QÐCÐCÐCri   z name '%s' is nonlocal and globalNz"no binding for nonlocal '%s' found)Ú_analyze_namesrº   r¼   ra   ÚKeyErrorÚ	start_posr¾   r½   r»   r¸   rÅ   r¹   rž   )r¿   Úglobal_name_strsÚnonlocal_nameÚglobal_nameÚmessageÚ
error_nameÚnonlocals_not_handledÚsearchs           rh   Úfinalizez_Context.finalize  sŒ  € ð 	×Ò˜DÔ.°Ñ9Ô9Ð9Ø×Ò˜DÔ0°*Ñ=Ô=Ð=àCÐC°Ô0BÐCÑCÔCÐØ!Ô1ð 	8ð 	8ˆMðØ.¨}Ô/BÔC��øÝð ð ð Ø�ðøøøð 9¸;Ô;LÑLˆGØÔ$ }Ô'>Ò>Ð>Ø(�
�
à*�
Ø×"Ò" :¨wÑ7Ô7Ð7Ð7à "ÐØ!Ô>ð 		<ð 		<ˆMØ"Ô(ˆFØ˜Ô1Ð1Ð1ØØÐ)Ð)Ð)¨TÔ-@Ð-HØ>ÀÔATÑT�Ø×&Ò& }°gÑ>Ô>Ð>Ð>Ø×%Ò%Ñ'Ô'ð <Ø!Ô'¨tÔ/CÐCÐCØ%×,Ò,¨]Ñ;Ô;Ð;øØÔ#Ð&;Ñ;Ð;s   ÁA Á 
A-Á,A-c                 ó>  ‡ ‡‡
— ˆ
ˆ ˆfd„}g }‰ j         j        dk    r‰ j                              ¦   «         }|D ]äŠ
d}t          ‰ j                             ‰
j        g ¦  «        ¦  «        D ]Œ}|j        ‰
j        k    rd}|j        }|j        dk    r|j	        |k    rŒ2| 
                    ¦   «         r5|j        dk    r'|j        d         j        dk    r|r|Š
 |d	¦  «          nd
}nd}|s ||¦  «          nŒ�|D ]#}	|	j	        j        ‰
j        k    r |d¦  «        f Œ$Œåd S )Nc                 óH   •— ‰                      ‰| ‰j        ‰fz  ¦  «         d S r¶   )r¾   ra   )rß   Ú	base_namer¿   rd   s    €€€rh   Úraise_z'_Context._analyze_names.<locals>.raise_B  s+   ø€ Ø×"Ò" 9¨g¸¼È%Ð8PÑ.PÑQÔQÐQÐQÐQri   rÉ   FTrŒ   rŸ   r'   Ú	annassignzannotated name '%s' can't be %sz.name '%s' is assigned to before %s declarationz)name '%s' is used prior to %s declarationzname '%s' is parameter and %s)rc   r[   rÐ   Úreversedr¹   Úgetra   rÛ   r‡   rÎ   Úis_definitionr]   )r¿   Úglobals_or_nonlocalsrd   rç   ÚparamsÚfound_global_or_nonlocalrÎ   r‡   rß   rŒ   ræ   s   ` `       @rh   rÙ   z_Context._analyze_namesA  s£  øøø€ ð	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð ˆØŒ9Œ>˜YÒ&Ð&Ø”Y×)Ò)Ñ+Ô+ˆFà-ð #	=ð #	=ˆIØ',Ð$å  Ô!5×!9Ò!9¸)¼/È2Ñ!NÔ!NÑOÔOð ð �Ø”> IÔ$7Ò7Ð7à/3Ð,àœ�Ø”; 'Ò)Ð)¨f¬k¸TÒ.AÐ.Að à×%Ò%Ñ'Ô'ð JØ”{ kÒ1Ð1Ø &¤°Ô 2Ô 7¸;Ò FÐ FØ3ð -ð )-˜IØ˜Ð@ÑAÔAÐAØ˜à"R˜˜àI�Gà/ð Ø�F˜7‘O”O�Oà�Eðð
  ð =ð =�Ø”:Ô# y¤Ò6Ð6Ø�FÐ:Ñ;Ô;Ð<Ð<øð=ðC#	=ð #	=ri   c              #   óx   K  — | j                              |¦  «         d V — | j                              ¦   «          d S r¶   )r·   rž   Úpop©r¿   rc   s     rh   Ú	add_blockz_Context.add_blockn  s=   è è € àŒ×Ò˜4Ñ Ô Ð ØˆˆˆØŒ�ŠÑÔÐÐÐri   c                 ó0   — t          || j        | ¬¦  «        S )N)r¸   )r´   r¾   rñ   s     rh   Úadd_contextz_Context.add_contextt  s   € Ý˜˜dÔ4ÀTÐJÑJÔJÐJri   c                 óJ   — | xj         |                     ¦   «         z  c_         d S r¶   )r½   rã   )r¿   Úchild_contexts     rh   Úclose_child_contextz_Context.close_child_contextw  s(   € ØÐ)Ô)¨]×-CÒ-CÑ-EÔ-EÑEÐ)Ô)Ð)Ð)ri   r¶   )Ú__name__Ú
__module__Ú__qualname__rÁ   rÇ   rÅ   rÓ   rã   rÙ   r   rò   rô   r÷   rx   ri   rh   r´   r´   ù   s¼   € € € € € ð	2ð 	2ð 	2ð 	2ðIð Ið Ið+ð +ð +ðIð Ið Ið" <ð  <ð  <ðD+=ð +=ð +=ðZ ðð ñ „^ðð
Kð Kð KðFð Fð Fð Fð Fri   r´   c                   ój   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ fd„Zed„ ¦   «         Zˆ fd„Z	d„ Z
d„ Zd	„ Zd
„ Zˆ xZS )ÚErrorFinderz1
    Searches for errors in the syntax tree.
    c                 ój   •—  t          ¦   «         j        |i |¤Ž i | _        | j        j        | _        d S r¶   )ÚsuperrÁ   Ú_error_dictÚgrammarÚversion_infor2   )r¿   ÚargsÚkwargsÚ	__class__s      €rh   rÁ   zErrorFinder.__init__  s7   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØˆÔØ”|Ô0ˆŒˆˆri   c                 ón   ‡ ‡— ˆˆ fd„Š ‰|¦  «        pt          |‰ j        ¦  «        ‰ _        d‰ _        d S )Nc                 ón   •— | €d S  ‰| j         ¦  «        }| j        dv rt          | ‰j        |¦  «        S |S )N)ÚclassdefrÉ   Ú
file_input)r‡   r[   r´   r¾   )rc   r¸   Úcreate_contextr¿   s     €€rh   r	  z.ErrorFinder.initialize.<locals>.create_context…  sG   ø€ Øˆ|Ø�tà+˜^¨D¬KÑ8Ô8ˆNØŒyÐAÐAÐAÝ  dÔ&<¸nÑMÔMÐMØ!Ð!ri   r   )r´   r¾   ÚcontextÚ_indentation_count)r¿   rc   r	  s   ` @rh   Ú
initializezErrorFinder.initialize„  sU   øø€ ð	"ð 	"ð 	"ð 	"ð 	"ð 	"ð &�~ dÑ+Ô+ÐU­x¸¸dÔ>TÑ/UÔ/UˆŒØ"#ˆÔÐÐri   c                 óº   •— |j         dk    r/|                      |¦  «        5  	 d d d ¦  «         dS # 1 swxY w Y   t          ¦   «                              |¦  «        S )Nr¬   Ú )r[   Ú
visit_noderþ   Úvisit)r¿   rc   r  s     €rh   r  zErrorFinder.visit‘  s™   ø€ ØŒ9˜Ò$Ð$Ø—’ Ñ&Ô&ð ð ð ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð õ
 ‰wŒw�}Š}˜TÑ"Ô"Ð"s   ¢1±5¸5c              #   óz  K  — |                       |¦  «         |j        t          v rp| j                             |¦  «        5  t          | j        j        ¦  «        t          k    r|                      |d¦  «         d V — d d d ¦  «         n# 1 swxY w Y   d S |j        dk    rA| xj	        dz  c_	        | j	        t          k    r!|                      |j        d         d¦  «         d V — |j        dk    r| xj	        dz  c_	        d S |j        dv r/| j        }|j        | _        | j                             |¦  «         d S d S )Nz!too many statically nested blocksÚsuiter'   ztoo many levels of indentation©r  rÉ   )Ú_check_type_rulesr[   Ú_BLOCK_STMTSr
  rò   r^   r·   Ú_MAX_BLOCK_SIZEr¾   r  Ú_MAX_INDENT_COUNTÚ_add_indentation_errorr]   r¸   r÷   )r¿   rc   r
  s      rh   r  zErrorFinder.visit_nodeš  s’  è è € à×Ò˜tÑ$Ô$Ð$àŒ9�Ð$Ð$Ø”×'Ò'¨Ñ-Ô-ð ð Ý�t”|Ô*Ñ+Ô+­Ò>Ð>Ø×*Ò*¨4Ð1TÑUÔUÐUØ���ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ˆFØŒY˜'Ò!Ð!ØÐ#Ô# qÑ(Ð#Ô#ØÔ&Õ*;Ò;Ð;Ø×+Ò+¨D¬M¸!Ô,<Ð>^Ñ_Ô_Ð_àˆˆˆàŒ9˜ÒÐØÐ#Ô# qÑ(Ð#Ô#Ð#Ð#ØŒYÐ1Ð1Ð1Ø”lˆGØ"Ô1ˆDŒLØŒL×,Ò,¨WÑ5Ô5Ð5Ð5Ð5ð 2Ð1s   Á =B	Â	BÂBc                 ó  •— |j         dk    �r|j        dv r`t          |                     ¦   «                              ¦   «         ¦  «        d         }|j        dk    rd}nd}|                      ||¦  «         n­|j                             d¦  «        rd}nzt          j	        d	|j        ¦  «        }|€3d
}| j
        dk    r%|j        t          | j
        ¦  «        j        v rd|z   }n+t          |                     d¦  «        ¦  «        dk    rd}nd}|                      ||¦  «         dS |j        dk    r/|j        }|j         dv r| j                             |¦  «        | _        t'          ¦   «                              |¦  «        S )NÚ
error_leaf)ÚINDENTÚERROR_DEDENTrK   r  zunexpected indentz3unindent does not match any outer indentation levelú\z6unexpected character after line continuation characterz\w{,2}("{1,3}|'{1,3})úinvalid syntaxrª   ú
f-string: r'   z!EOL while scanning string literalz/EOF while scanning triple-quoted string literalr  r(   r  )r[   Ú
token_typer4   Úget_next_leafÚ_split_prefixr  ra   Ú
startswithÚreÚmatchr2   r   Úalways_break_tokensr^   Úgroupr¾   r‡   r
  rô   rþ   Ú
visit_leaf)r¿   ÚleafÚspacingrß   r%  r‡   r  s         €rh   r(  zErrorFinder.visit_leaf²  s�  ø€ ØŒ9˜Ò$Ñ$ØŒÐ"<Ð<Ð<õ ˜t×1Ò1Ñ3Ô3×AÒAÑCÔCÑDÔDÀRÔH�Ø”? hÒ.Ð.Ø1�G�GàS�GØ×+Ò+¨G°WÑ=Ô=Ð=Ð=à”:×(Ò(¨Ñ.Ô.ð XØV�G�GåœHÐ%>ÀÄ
ÑKÔK�EØ�}Ø"2˜à œL¨FÒ2Ð2Ø $¤
Õ.CØ $¤ñ/ô /ä1ð!2ð !2ð '3°WÑ&<˜Gøå˜uŸ{š{¨1™~œ~Ñ.Ô.°!Ò3Ð3Ø&I˜G˜Gà&W˜GØ×&Ò& t¨WÑ5Ô5Ð5Ø�2ØŒZ˜3ÒÐØ”[ˆFØŒ{Ð5Ð5Ð5Ø#œ|×7Ò7¸Ñ?Ô?�”õ ‰wŒw×!Ò! $Ñ'Ô'Ð'ri   c                 ó:   — |                       |dd|z   ¦  «         d S )Né‡  úIndentationError: ©Ú	add_issue)r¿   r*  rß   s      rh   r  z"ErrorFinder._add_indentation_errorÛ  s$   € Ø�Š�w Ð%9¸GÑ%CÑDÔDÐDÐDÐDri   c                 ó:   — |                       |dd|z   ¦  «         d S )Né…  úSyntaxError: r.  )r¿   rc   rß   s      rh   r¾   zErrorFinder._add_syntax_errorÞ  s#   € Ø�Š�t˜S /°GÑ";Ñ<Ô<Ð<Ð<Ð<ri   c                 ó`   — |j         d         }|||f}| j                             ||¦  «         d S )Nr   )rÛ   rÿ   rÑ   )r¿   rc   Úcoderß   Úliner  s         rh   r/  zErrorFinder.add_issueá  s;   € ð Œ~˜aÔ ˆØ�g˜tÐ$ˆØÔ×#Ò# D¨$Ñ/Ô/Ð/Ð/Ð/ri   c                 óÊ   — | j                              ¦   «          | j                             ¦   «         D ]/\  }}}| j                             t          |||¦  «        ¦  «         Œ0d S r¶   )r
  rã   rÿ   ÚvaluesÚissuesrž   r   )r¿   r4  rß   rc   s       rh   rã   zErrorFinder.finalizeè  sj   € ØŒ×ÒÑÔÐà#'Ô#3×#:Ò#:Ñ#<Ô#<ð 	;ð 	;ÑˆD�'˜4ØŒK×Ò�u T¨4°Ñ9Ô9Ñ:Ô:Ð:Ð:ð	;ð 	;ri   )rø   rù   rú   Ú__doc__rÁ   r  r  r   r  r(  r  r¾   r/  rã   Ú__classcell__©r  s   @rh   rü   rü   {  sÞ   ø€ € € € € ðð ð1ð 1ð 1ð 1ð 1ð
$ð $ð $ð#ð #ð #ð #ð #ð ð6ð 6ñ „^ð6ð.'(ð '(ð '(ð '(ð '(ðREð Eð Eð=ð =ð =ð0ð 0ð 0ð;ð ;ð ;ð ;ð ;ð ;ð ;ri   rü   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚIndentationRuler,  c                 óR   •— t          ¦   «                              ||¦  «        }d|z   S )Nr-  )rþ   Ú_get_message©r¿   rß   rc   r  s      €rh   r?  zIndentationRule._get_messageò  s'   ø€ Ý‘'”'×&Ò& w°Ñ5Ô5ˆØ# gÑ-Ð-ri   ©rø   rù   rú   r4  r?  r:  r;  s   @rh   r=  r=  ï  s=   ø€ € € € € Ø€Dð.ð .ð .ð .ð .ð .ð .ð .ð .ri   r=  r¬   r�   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_ExpectIndentedBlockzexpected an indented blockc                 óx   — |                      ¦   «         }t          |                     ¦   «         ¦  «        d         S )NrK   )r!  r4   r"  )r¿   rc   r)  s      rh   Úget_nodez_ExpectIndentedBlock.get_nodeû  s2   € Ø×!Ò!Ñ#Ô#ˆÝ�D×&Ò&Ñ(Ô(Ñ)Ô)¨"Ô-Ð-ri   c                 ó.   — |j         d         j        dk    S )NrK   rl   rn   rñ   s     rh   Úis_issuez_ExpectIndentedBlock.is_issueÿ  s   € àŒ}˜RÔ Ô%¨Ò2Ð2ri   N©rø   rù   rú   rß   rE  rG  rx   ri   rh   rC  rC  ÷  s7   € € € € € à*€Gð.ð .ð .ð3ð 3ð 3ð 3ð 3ri   rC  c                   ó   — e Zd ZeZdS )ÚErrorFinderConfigN)rø   rù   rú   rü   Únormalizer_classrx   ri   rh   rJ  rJ    s   € € € € € Ø"ÐÐÐri   rJ  c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )Ú
SyntaxRuler1  c                 ó˜   •— t          ¦   «                              ||¦  «        }d|vrt          | j        j        |¦  «        rd|z   }d|z   S )Nzf-stringr  r2  )rþ   r?  r²   Ú_normalizerr2   r@  s      €rh   r?  zSyntaxRule._get_message  sV   ø€ Ý‘'”'×&Ò& w°Ñ5Ô5ˆà˜gÐ%Ð%Ý" 4Ô#3Ô#;¸TÑBÔBð &ð # WÑ,ˆGØ Ñ(Ð(ri   rA  r;  s   @rh   rM  rM    s=   ø€ € € € € Ø€Dð)ð )ð )ð )ð )ð )ð )ð )ð )ri   rM  c                   ó"   — e Zd ZdZdZd„ Zd„ ZdS )Ú_InvalidSyntaxRuler  zf-string: invalid syntaxc                 ó*   — |                      ¦   «         S r¶   )r!  rñ   s     rh   rE  z_InvalidSyntaxRule.get_node  s   € Ø×!Ò!Ñ#Ô#Ð#ri   c                 ó´   — |                      ¦   «         j        dk    }|r8t          | j        j        |¦  «        r|                      || j        ¬¦  «         d S |S )Nr  ©rß   )r!  r[   r²   rO  r2   r/  Úfstring_message)r¿   rc   Úerrors      rh   rG  z_InvalidSyntaxRule.is_issue  sc   € Ø×"Ò"Ñ$Ô$Ô)¨\Ò9ˆàð	å" 4Ô#3Ô#;¸TÑBÔBð	ð �NŠN˜4¨Ô)=ˆNÑ>Ô>Ð>Ð>Ð>ð ˆLri   N)rø   rù   rú   rß   rU  rE  rG  rx   ri   rh   rQ  rQ    s<   € € € € € à€GØ0€Oð$ð $ð $ð	ð 	ð 	ð 	ð 	ri   rQ  rI   ry   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_AwaitOutsideAsyncz'await' outside async functionc                 ó@   — | j         j                             ¦   «          S r¶   )rO  r
  rÇ   ©r¿   r)  s     rh   rG  z_AwaitOutsideAsync.is_issue-  s   € ØÔ#Ô+×<Ò<Ñ>Ô>Ð>Ð>ri   c                 ó   — |j         S r¶   ©r‡   rñ   s     rh   Úget_error_nodez!_AwaitOutsideAsync.get_error_node0  s
   € àŒ{Ðri   N)rø   rù   rú   rß   rG  r]  rx   ri   rh   rX  rX  )  s7   € € € € € à.€Gð?ð ?ð ?ðð ð ð ð ri   rX  Úbreakc                   ó   — e Zd ZdZd„ ZdS )Ú_BreakOutsideLoopz'break' outside loopc                 óJ   — d}| j         j        j        D ]}|j        dv rd}Œ| S )NF©r   r
   T)rO  r
  r·   r[   )r¿   r)  Úin_loopÚblocks       rh   rG  z_BreakOutsideLoop.is_issue9  s;   € ØˆØÔ%Ô-Ô4ð 	ð 	ˆEØŒzÐ7Ð7Ð7Ø�øØˆ{Ðri   N©rø   rù   rú   rß   rG  rx   ri   rh   r`  r`  5  s(   € € € € € à$€Gðð ð ð ð ri   r`  Úcontinuec                   ó   — e Zd ZdZdZd„ ZdS )Ú_ContinueChecksz'continue' not properly in loopz0'continue' not supported inside 'finally' clausec                 ó
  — d}| j         j        j        D ]j}|j        dv rd}|j        dk    rR|j        d         }|dk    r?|j        |j        k    r/| j         j        dk     r|                      || j        ¬¦  «          dS Œk|sdS d S )	NFrb  Tr   éýÿÿÿÚfinallyr#   rT  )	rO  r
  r·   r[   r]   rÛ   r2   r/  Úmessage_in_finally)r¿   r)  rc  rd  Ú
last_blocks        rh   rG  z_ContinueChecks.is_issueF  s¯   € ØˆØÔ%Ô-Ô4ð 	!ð 	!ˆEØŒzÐ7Ð7Ð7Ø�ØŒz˜ZÒ'Ð'Ø"œ^¨BÔ/�
à )Ò+Ð+Øœ¨Ô)=Ò=Ð=ØÔ(Ô0°6Ò9Ð9à—N’N 4°Ô1H�NÑIÔIÐIØ ˜5˜5øØð 	Ø�4ð	ð 	ri   N)rø   rù   rú   rß   rl  rG  rx   ri   rh   rh  rh  A  s.   € € € € € à/€GØKÐðð ð ð ð ri   rh  Úfromc                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_YieldFromCheckz"'yield from' inside async functionc                 ó   — |j         j         S r¶   r\  rZ  s     rh   rE  z_YieldFromCheck.get_node\  s   € ØŒ{Ô!Ð!ri   c                 ó^   — |j         j        dk    o| j        j                             ¦   «         S )NÚ	yield_arg)r‡   r[   rO  r
  rÇ   rZ  s     rh   rG  z_YieldFromCheck.is_issue_  s.   € ØŒ{Ô ;Ò.ð <ØÔ Ô(×9Ò9Ñ;Ô;ð	<ri   NrH  rx   ri   rh   rp  rp  X  s7   € € € € € à2€Gð"ð "ð "ð<ð <ð <ð <ð <ri   rp  rÎ   c                   ó   — e Zd ZdZdZd„ ZdS )Ú_NameCheckszcannot assign to __debug__zcannot assign to Nonec                 óŠ   — | j         j                             |¦  «         |j        dk    r|                     ¦   «         rdS d S d S )NÚ	__debug__T)rO  r
  rÓ   ra   rë   rZ  s     rh   rG  z_NameChecks.is_issuei  sM   € ØÔÔ ×)Ò)¨$Ñ/Ô/Ð/àŒ:˜Ò$Ð$¨×);Ò);Ñ)=Ô)=Ð$Ø�4ð %Ð$Ð$Ð$ri   N)rø   rù   rú   rß   Úmessage_nonerG  rx   ri   rh   ru  ru  d  s-   € € € € € à*€GØ*€Lðð ð ð ð ri   ru  r@   c                   ó4   — e Zd Zej        dk     rdZndZd„ ZdS )Ú_StringChecksr*   z0bytes can only contain ASCII literal characters.z/bytes can only contain ASCII literal charactersc                 ó¤  — |j                              ¦   «         }d|v r t          d„ |j        D ¦   «         ¦  «        rdS d|v�r|                     ¦   «         }d|v r"|                     d¦  «        }t          j        }nt          j        }	 t          j
        ¦   «         5  t          j        d¦  «          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S # t          $ r2}|                      |dt          |¦  «        z   ¬¦  «         Y d }~d S d }~wt          $ r2}|                      |d	t          |¦  «        z   ¬¦  «         Y d }~d S d }~ww xY wd S )
NÚbc              3   ó@   K  — | ]}t          |¦  «        d k    ¯|V — ŒdS )é   N)Úord©r{   Úcs     rh   rŽ   z)_StringChecks.is_issue.<locals>.<genexpr>z  s,   è è € Ð>Ð>˜aµ°Q±´¸#²°˜°°°°Ð>Ð>ri   TÚrzutf-8Úignorez(unicode error) rT  z(value error) )Ústring_prefixÚlowerr°   ra   Ú_get_payloadÚencodeÚcodecsÚescape_decodeÚunicode_escape_decodeÚwarningsÚcatch_warningsÚfilterwarningsÚUnicodeDecodeErrorr/  rb   Ú
ValueError)r¿   r)  r„  ÚpayloadÚfuncÚes         rh   rG  z_StringChecks.is_issuew  sÚ  € ØÔ*×0Ò0Ñ2Ô2ˆØ�-ÐÐÝÐ>Ð> 4¤:Ð>Ñ>Ô>Ñ>Ô>ð  ð �4à�mÐ#Ñ#ð ×'Ò'Ñ)Ô)ˆGØ�mÐ#Ð#Ø!Ÿ.š.¨Ñ1Ô1�ÝÔ+��åÔ3�ðHÝÔ,Ñ.Ô.ð "ð "åÔ+¨HÑ5Ô5Ð5Ø�D˜‘M”M�Mð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "øõ &ð Jð Jð JØ—’˜tÐ-?Å#ÀaÁ&Ä&Ñ-H�ÑIÔIÐIÐIÐIÐIÐIÐIÐIøøøøÝð Hð Hð HØ—’˜tÐ-=ÅÀAÁÄÑ-F�ÑGÔGÐGÐGÐGÐGÐGÐGÐGøøøøðHøøøð% $Ð#sH   Â
C Â C
Â=C Ã
CÃC ÃCÃC Ã
EÃ!'DÄEÄ'EÅEN)rø   rù   rú   Úsysr  rß   rG  rx   ri   rh   rz  rz  p  sB   € € € € € à
Ô˜'Ò!Ð!ØDˆˆàCˆðHð Hð Hð Hð Hri   rz  Ú*c                   ó   — e Zd ZdZd„ ZdS )Ú
_StarCheckz"named arguments must follow bare *c                 óÄ   — |j         }|j        dk    rK|rK|j        |j                             |¦  «        dz   d …         }d„ |D ¦   «         }t	          |¦  «        dk    S d S d S )NÚ
parametersr'   c                 ó(   — g | ]}|d v¯|j         °|‘ŒS ))ú,r0   )Ú
star_countr¯   s     rh   r}   z'_StarCheck.is_issue.<locals>.<listcomp>œ  s7   € ð Jð Jð J˜uØ ZÐ/Ð/¸Ô8HÐ/ð Ø/Ð/Ð/ri   r   )r‡   r[   r]   Úindexr^   )r¿   r)  rí   Úafters       rh   rG  z_StarCheck.is_issue˜  s‚   € Ø”ˆØŒ;˜,Ò&Ð&¨6Ð&Ø”O F¤O×$9Ò$9¸$Ñ$?Ô$?À!Ñ$CÐ$DÐ$DÔEˆEðJð J¨ð Jñ Jô JˆEå�u‘:”: ’?Ð"ð	 'Ð&Ð&Ð&ri   Nre  rx   ri   rh   r–  r–  ”  s(   € € € € € à2€Gð#ð #ð #ð #ð #ri   r–  r)   c                   ó   — e Zd ZdZd„ ZdS )Ú_StarStarCheckz3dict unpacking cannot be used in dict comprehensionc                 ó–   — |j         j        dk    r8|                     ¦   «                              ¦   «         }|d uo|j        t          v S d S )Nr"   )r‡   r[   Úget_next_siblingru   )r¿   r)  r   s      rh   rG  z_StarStarCheck.is_issue¨  sO   € ØŒ;ÔÐ/Ò/Ð/Ø×,Ò,Ñ.Ô.×?Ò?ÑAÔAˆHØ 4Ð'ÐL¨H¬M½_Ð,LÐLð 0Ð/ri   Nre  rx   ri   rh   rŸ  rŸ  ¡  s0   € € € € € ð
 D€GðMð Mð Mð Mð Mri   rŸ  r8   Úreturnc                   ó"   — e Zd ZdZdZd„ Zd„ ZdS )Ú_ReturnAndYieldChecksz&'return' with value in async generatorz'yield' inside async functionc                 ó   — |j         S r¶   r\  rZ  s     rh   rE  z_ReturnAndYieldChecks.get_node´  ó
   € ØŒ{Ðri   c                 ó„  — | j         j        j        j        dk    r4|                      |                      |¦  «        d|j        z  ¬¦  «         d S | j         j                             ¦   «         rMt          | j         j        j         	                    ¦   «         ¦  «        r|j        dk    r|j
        j        dk    rdS d S d S d S d S )NrÉ   z'%s' outside functionrT  r¢  Úreturn_stmtT)rO  r
  rc   r[   r/  rE  ra   rÇ   r°   Úiter_yield_exprsr‡   rZ  s     rh   rG  z_ReturnAndYieldChecks.is_issue·  sË   € ØÔÔ#Ô(Ô-°Ò:Ð:Ø�NŠN˜4Ÿ=š=¨Ñ.Ô.Ð8OÐRVÔR\Ñ8\ˆNÑ]Ô]Ð]Ð]Ð]ØÔÔ%×6Ò6Ñ8Ô8ð 	Ý˜Ô(Ô0Ô5×FÒFÑHÔHÑIÔIð	àŒz˜XÒ%Ð%¨$¬+Ô*:¸mÒ*KÐ*KØ�tð	ð 	ð 	ð 	à%Ð%Ð*KÐ*Kri   N)rø   rù   rú   rß   Úmessage_async_yieldrE  rG  rx   ri   rh   r¤  r¤  ®  s?   € € € € € ð 7€GØ9Ððð ð ðð ð ð ð ri   r¤  rB   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_BytesAndStringMixz&cannot mix bytes and nonbytes literalsc                 óR   — |j         dk    rdS d|j                             ¦   «         v S )NrY   Fr|  )r[   r„  r…  )r¿   r@   s     rh   Ú_is_bytes_literalz$_BytesAndStringMix._is_bytes_literalÅ  s.   € ØŒ;˜)Ò#Ð#Ø�5Ø�fÔ*×0Ò0Ñ2Ô2Ð2Ð2ri   c                 ó¦   — |j         d         }|                      |¦  «        }|j         dd …         D ]}||                      |¦  «        k    r dS Œd S )Nr   r'   T)r]   r®  )r¿   rc   rf   Úfirst_is_bytesr@   s        rh   rG  z_BytesAndStringMix.is_issueÊ  sk   € Ø”˜aÔ ˆØ×/Ò/°Ñ6Ô6ˆØ”m A B BÔ'ð 	ð 	ˆFØ ×!7Ò!7¸Ñ!?Ô!?Ò?Ð?Ø�t�tð @ð	ð 	ri   N)rø   rù   rú   rß   r®  rG  rx   ri   rh   r¬  r¬  À  s9   € € € € € ð 7€Gð3ð 3ð 3ð
ð ð ð ð ri   r¬  Úimport_as_namesc                   ó   — e Zd ZdZd„ ZdS )Ú_TrailingImportCommaz:trailing comma not allowed without surrounding parenthesesc                 ó\   — |j         d         dk    r|j        j         d         dk    rdS d S d S )NrK   rš  r0   T)r]   r‡   rñ   s     rh   rG  z_TrailingImportComma.is_issue×  s;   € ØŒ=˜Ô Ò#Ð#¨¬Ô(<¸RÔ(@ÀCÒ(GÐ(GØ�4ð $Ð#Ð(GÐ(Gri   Nre  rx   ri   rh   r³  r³  Ò  s+   € € € € € ð K€Gðð ð ð ð ri   r³  r€   c                   ó   — e Zd ZdZd„ ZdS )Ú_ImportStarInFunctionz%import * only allowed at module levelc                 óP   — |                      ¦   «         o| j        j        j        d uS r¶   )Úis_star_importrO  r
  r¸   rñ   s     rh   rG  z_ImportStarInFunction.is_issueà  s(   € Ø×"Ò"Ñ$Ô$Ð\¨Ô)9Ô)AÔ)PÐX\Ð)\Ð\ri   Nre  rx   ri   rh   r¶  r¶  Ü  s-   € € € € € à5€Gð]ð ]ð ]ð ]ð ]ri   r¶  c                   ó   — e Zd ZdZd„ ZdS )Ú_FutureImportRulez?from __future__ imports must occur at the beginning of the filec                 óº  — t          |¦  «        rÉt          |¦  «        sdS |                     ¦   «         D ]¥\  }}|j        }t	          t
          ¦  «        }| j        j        dk    r|                     d¦  «         |dk    r|  	                    |d¬¦  «         Œc|dk    rd}|  	                    ||¬¦  «         Œƒ||vrd	|z  }|  	                    ||¬¦  «         Œ¤d S d S )
NT©r$   é   ÚannotationsÚbracesznot a chancerT  Úbarry_as_FLUFLz-Seriously I'm not implementing this :) ~ Davez future feature %s is not defined)
r‚   r•   Ú	get_pathsra   r4   ÚALLOWED_FUTURESrO  r2   rž   r/  )r¿   rc   Ú	from_nameÚfuture_namerÎ   Úallowed_futuresÚmrß   s           rh   rG  z_FutureImportRule.is_issueè  s  € Ý˜TÑ"Ô"ð 	:Ý*¨4Ñ0Ô0ð Ø�tà*.¯.ª.Ñ*:Ô*:ð :ð :Ñ&�	˜;Ø"Ô(�Ý"&¥Ñ"7Ô"7�ØÔ#Ô+¨vÒ5Ð5Ø#×*Ò*¨=Ñ9Ô9Ð9Ø˜8Ò#Ð#Ø—N’N 4°�NÑ@Ô@Ð@Ð@ØÐ-Ò-Ð-ØG�AØ—N’N 4°�NÑ3Ô3Ð3Ð3Ø Ð0Ð0Ø@À4ÑG�GØ—N’N 4°�NÑ9Ô9Ð9øð!	:ð 	:ð:ð :ri   Nre  rx   ri   rh   rº  rº  ä  s(   € € € € € àO€Gð:ð :ð :ð :ð :ri   rº  rR   c                   ó   — e Zd ZdZd„ ZdS )Ú_StarExprRulez2iterable unpacking cannot be used in comprehensionc                 ó  — d„ }| j         j        dk    r|j        }nt          |¦  «        }|j        g t
          ¢d‘R vr5|j        dk    r|j        d         dk    s|                      |d¬¦  «         d S  ||¦  «        rA| j         j        dk    r|                      |d	¬¦  «         n|                      |d¬¦  «         d S |j        j        d
k    r<|j        j        d         j        t          v r |                      || j	        ¬¦  «         d S d S d S )Nc                 ót   — | j         �0| j         } | j        dk    rdS | j        g t          ¢d‘R vrdS | j         ­0dS )NÚdel_stmtTr    F)r‡   r[   rš   rˆ   s    rh   Úcheck_delete_starredz4_StarExprRule.is_issue.<locals>.check_delete_starred  sU   € Ø”+Ð)Ø”{�Ø”9 
Ò*Ð*Ø˜4Ø”9Ð$AÕ&8Ð$A¸&Ð$AÐ$AÐAÐAØ ˜5ð ”+Ð)ð �5ri   rª   r"   r    r   r/   ú!can't use starred expression hererT  zcannot delete starredr   r'   )
rO  r2   r‡   r‰   r[   rš   r]   r/  ru   Úmessage_iterable_unpacking)r¿   rc   rÌ  Úancestors       rh   rG  z_StarExprRule.is_issue   sA  € ð	ð 	ð 	ð ÔÔ# vÒ-Ð-Ø”{ˆHˆHå-¨dÑ3Ô3ˆHàŒ=Ð GÕ"4Ð GÐ6FÐ GÐ GÐGÐGØ!œ¨&Ò0Ð0°XÔ5FÀqÔ5IÈSÒ5PÐ5PØ�NŠN˜4Ð)LˆNÑMÔMÐMØˆFàÐ Ñ%Ô%ð 	ØÔÔ'¨6Ò1Ð1Ø—’˜tÐ-D�ÑEÔEÐEÐEà—’˜tÐ-P�ÑQÔQÐQØˆFàŒ;Ô˜Ò.Ð.àŒ{Ô# AÔ&Ô+­Ð>Ð>Ø—’˜t¨TÔ-L�ÑMÔMÐMÐMÐMð /Ð.à>Ð>ri   N)rø   rù   rú   rÎ  rG  rx   ri   rh   rÈ  rÈ  ü  s.   € € € € € à!UÐðNð Nð Nð Nð Nri   rÈ  )Útypesc                   ó   — e Zd Zd„ ZdS )Ú_StarExprParentRulec                 óŒ  ‡— ˆfd„Š ‰||j         ¦  «        r¨d„ |j        D ¦   «         }d„ |D ¦   «         }t          |¦  «        dk    r4| j        j        dk     rd}nd}|                      |d         |¬¦  «         d S |rD|                     |d	         ¦  «        }|d
k    r%d}|                      |d	         |¬¦  «         d S d S d S d S )Nc                 óŽ   •— |€dS |j         }|dk    rdS |dk    r| j        |j        d         j        k     S  ‰| |j        ¦  «        S )NFrL   rŸ   rK   )r[   rÛ   r]   r‡   )rc   rÏ  rd   rë   s      €rh   rë   z3_StarExprParentRule.is_issue.<locals>.is_definition$  s\   ø€ ØÐØ�uà”MˆEØ˜	Ò!Ð!Ø�uà˜Ò#Ð#Ø”~¨Ô(9¸"Ô(=Ô(GÒGÐGà �=  x¤Ñ7Ô7Ð7ri   c                 ó   — g | ]
}|d k    ¯|‘ŒS )rš  rx   r€  s     rh   r}   z0_StarExprParentRule.is_issue.<locals>.<listcomp>2  s   € Ð9Ð9Ð9˜!°°S²°�A°°°ri   c                 ó(   — g | ]}|j         d k    ¯|‘ŒS )rR   r�   r€  s     rh   r}   z0_StarExprParentRule.is_issue.<locals>.<listcomp>3  s$   € Ð@Ð@Ð@˜Q¨!¬&°KÒ*?Ð*?�qÐ*?Ð*?Ð*?ri   r'   rª   z%two starred expressions in assignmentz*multiple starred expressions in assignmentrT  r   é   z1too many expressions in star-unpacking assignment)r‡   r]   r^   rO  r2   r/  rœ  )r¿   rc   r  rX   rß   Úcountrë   s         @rh   rG  z_StarExprParentRule.is_issue#  s  ø€ ð	8ð 	8ð 	8ð 	8ð 	8ð ˆ=˜˜tœ{Ñ+Ô+ð 	@Ø9Ð9˜tœ}Ð9Ñ9Ô9ˆDØ@Ð@ $Ð@Ñ@Ô@ˆGÝ�7‰|Œ|˜aÒÐØÔ#Ô+¨fÒ4Ð4ØE�G�GàJ�GØ—’˜w qœz°7�Ñ;Ô;Ð;Ð;Ð;Øð @ØŸ
š
 7¨1¤:Ñ.Ô.�Ø˜C’<�<ØQ�GØ—N’N 7¨1¤:°w�NÑ?Ô?Ð?Ð?Ð?ð	@ð 	@ð@ð @à�<ri   N©rø   rù   rú   rG  rx   ri   rh   rÒ  rÒ  !  s(   € € € € € ð@ð @ð @ð @ð @ri   rÒ  rè   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_AnnotatorRulezillegal target for annotationc                 ó   — |j         S r¶   r\  rñ   s     rh   rE  z_AnnotatorRule.get_nodeG  r¦  ri   c                 ó®  — d }|j         j        d         }t          |¦  «        }	 |j        }d|v s|j        dk    r|d         dk    rd}n|j        dk    r|d         dk    rd}|d         }n# t          $ r Y nw xY w|€6|j        d	k    s'|j        d
v r|j        dk    r|j        d         dk    sdS d S d S d}|                      |j         ||z  ¬¦  «         d S )Nr   rš  r    r/   r1   r3   r4   rK   rÎ   rF   rL   Tz,only single target (not %s) can be annotatedrT  )r‡   r]   r`   r[   r„   r/  )r¿   rc   rd   Úlhsr]   rL   rß   s          rh   rG  z_AnnotatorRule.is_issueJ  s)  € ØˆØŒkÔ" 1Ô%ˆÝ˜SÑ!Ô!ˆð		#Ø”|ˆHð �hˆˆ #¤(¨fÒ"4Ð"4¸À!¼ÈÒ9KÐ9KØ��Ø”˜VÒ#Ð#¨°¬°sÒ(:Ð(:Ø�Ø˜r”lˆGˆGøõ ð 	ð 	ð 	ØˆDð	øøøð ˆ=Ø”H Ò&Ð&à”xÐ#9Ð9Ð9Øœ¨	Ò1Ð1ØÔ(¨Ô+¨sÒ2Ð2Ø�tð 'Ð&ð 3Ð2ð EˆGØ�NŠN˜3œ:¨w¸©ˆNÑ?Ô?Ð?Ð?Ð?s   ¥A, Á,
A9Á8A9NrH  rx   ri   rh   rÛ  rÛ  A  s>   € € € € € ð .€Gðð ð ð@ð @ð @ð @ð @ri   rÛ  r§   c                   ó   — e Zd Zd„ ZdS )Ú_ArgumentRulec                 ó¤  — |j         d         }| j        j        dk     rt          |¦  «        }|j         d         dk    rX|j        dk    rM|j        dk    r| j        j        dk     rd}nd}n| j        j        dk     rd	}nd}|                      ||¬
¦  «         t          |¦  «        r)|j        j        dk    r|                      |d¬
¦  «         d S d S d S )Nr   r#   r'   ú=rÎ   r   z lambda cannot contain assignmentz=expression cannot contain assignment, perhaps you meant "=="?zkeyword can't be an expressionrT  r  r  )r]   rO  r2   r`   r[   r/  r¨   r‡   )r¿   rc   rf   rß   s       rh   rG  z_ArgumentRule.is_issueh  s÷   € Ø”˜aÔ ˆØÔÔ# fÒ,Ð,å" 5Ñ)Ô)ˆEØŒ=˜Ô˜sÒ"Ð" u¤z°VÒ';Ð';ØŒz˜YÒ&Ð&àÔ#Ô+¨fÒ4Ð4Ø@�G�Gà]�G�Gð Ô#Ô+¨fÒ4Ð4Ø>�G�Gà]�GØ�NŠN˜5¨'ˆNÑ2Ô2Ð2å% dÑ+Ô+ð 	;°´Ô0@ÀJÒ0NÐ0NØ�NŠN˜4Ð)9ˆNÑ:Ô:Ð:Ð:Ð:ð	;ð 	;Ð0NÐ0Nri   NrÙ  rx   ri   rh   rà  rà  f  s#   € € € € € ð;ð ;ð ;ð ;ð ;ri   rà  rÌ   c                   ó   — e Zd ZdZd„ ZdS )Ú_NonlocalModuleLevelRulez0nonlocal declaration not allowed at module levelc                 ó(   — | j         j        j        d u S r¶   )rO  r
  r¸   rñ   s     rh   rG  z!_NonlocalModuleLevelRule.is_issue„  s   € ØÔÔ'Ô6¸$Ð>Ð>ri   Nre  rx   ri   rh   rä  rä  €  s(   € € € € € à@€Gð?ð ?ð ?ð ?ð ?ri   rä  Úarglistc                   ó*   — e Zd Zed„ ¦   «         Zd„ ZdS )Ú_ArglistRulec                 ó*   — | j         j        dk     rdS dS )Nr¼  z?Generator expression must be parenthesized if not sole argumentz*Generator expression must be parenthesized)rO  r2   rÆ   s    rh   rß   z_ArglistRule.messageŠ  s   € àÔÔ# fÒ,Ð,ØTÐTà?Ð?ri   c                 ó†  — t          ¦   «         }d}d}|j        D �]%}|dk    rŒ
|j        dk    rØ|j        d         }t          |¦  «        rt	          |j        ¦  «        dk    r dS |dv r%|dk    r|rd	}|                      ||¬
¦  «         Œrd}Œud}|j        dk    rj|j        |v rGd}| j        j        dk    r|d 	                    |j        ¦  «        z  }|                      ||¬
¦  «         ŒÒ| 
                    |j        ¦  «         Œí|rd}|                      ||¬
¦  «         �Œ
|rd}|                      ||¬
¦  «         �Œ'd S )NFrš  r§   r   r!   T)r”  r)   r”  z>iterable argument unpacking follows keyword argument unpackingrT  rÎ   zkeyword argument repeatedrª   z: {}z6positional argument follows keyword argument unpackingz,positional argument follows keyword argument)Úsetr]   r[   r¨   r^   r/  ra   rO  r2   ÚformatÚadd)r¿   rc   Úarg_setÚkw_onlyÚkw_unpacking_onlyr§   rf   rß   s           rh   rG  z_ArglistRule.is_issue‘  sŽ  € Ý‘%”%ˆØˆØ!ÐØœð &	>ñ &	>ˆHØ˜3ŠˆØàŒ} 
Ò*Ð*Ø Ô)¨!Ô,�Ý-¨hÑ7Ô7ð  ½CÀÄÑ<NÔ<NÐRSÒ<SÐ<Sà˜4˜4à˜KÐ'Ð'Ø ’|�|Ø,ð Fð'K˜Gà ŸNšN¨8¸W˜NÑEÔEÐEøà,0Ð)Ð)à"�GØ”z VÒ+Ð+Ø œ;¨'Ð1Ð1à&A˜GØ#Ô/Ô7¸6ÒAÐAØ '¨6¯=ª=¸¼Ñ+EÔ+EÑ E Ø ŸNšN¨5¸'˜NÑBÔBÐBÐBà#ŸKšK¨¬Ñ4Ô4Ð4øà$ð >àV�GØ—N’N 8°W�NÑ=Ô=Ð=Ñ=Øð >àL�GØ—N’N 8°W�NÑ=Ô=Ð=ùðM&	>ð &	>ri   N)rø   rù   rú   Úpropertyrß   rG  rx   ri   rh   rè  rè  ˆ  s?   € € € € € àð@ð @ñ „Xð@ð*>ð *>ð *>ð *>ð *>ri   rè  r˜  r   c                   ó   — e Zd ZdZd„ ZdS )Ú_ParameterRulez-non-default argument follows default argumentc                 ó|  — t          ¦   «         }d}d}t          |¦  «        D ]™}|j        dk    r|j        dk    rd}d}Œ|j        j        |v r+d}|                      |j        ||j        j        z  ¬¦  «         |                     |j        j        ¦  «         |s"|j        €|j        s|r dS Œ‹|j        rd}d}Œ—d}Œšd S )NFr:   r”  Tz.duplicate argument '%s' in function definitionrT  )	rë  r�   r[   ra   rÎ   r/  rí  Údefaultr›  )r¿   rc   Úparam_namesÚdefault_onlyÚ	star_seenÚprß   s          rh   rG  z_ParameterRule.is_issueÄ  sí   € Ý‘e”eˆØˆØˆ	Ý˜dÑ#Ô#ð 	(ð 	(ˆAØŒv˜Ò#Ð#Ø”7˜c’>�>Ø $�IØ#(�LØàŒvŒ|˜{Ð*Ð*ØJ�Ø—’˜qœv¨w¸¼¼Ñ/E�ÑFÔFÐFØ�OŠO˜AœFœLÑ)Ô)Ð)àð (Ø”9Ð$¨Q¬\Ð$Ø#ð $Ø#˜t˜tð$à”\ð (Ø $�IØ#(�L�Là#'�Løð)	(ð 	(ri   Nre  rx   ri   rh   ró  ró  ¾  s*   € € € € € ð >€Gð(ð (ð (ð (ð (ri   ró  r   c                   ó   — e Zd ZdZd„ ZdS )Ú_TryStmtRulezdefault 'except:' must be lastc                 óŒ   — d }|j         dd d…         D ]0}|dv r d S |dk    r|}Œ|�|                      || j        ¬¦  «         Œ1d S )Nr$   )Úelserk  ÚexceptrT  )r]   r/  rß   )r¿   r   Údefault_exceptÚexcept_clauses       rh   rG  z_TryStmtRule.is_issueã  sv   € ØˆØ%Ô.¨q¨t°!¨tÔ4ð 	Eð 	EˆMØÐ 3Ð3Ð3Ø��Ø Ò(Ð(Ø!.��ØÐ+Ø—’˜~°t´|�ÑDÔDÐDøð	Eð 	Eri   Nre  rx   ri   rh   rû  rû  ß  s-   € € € € € à.€GðEð Eð Eð Eð Eri   rû  rY   c                   ó8   — e Zd ZdZdZdZdZd„ Zd„ Zd„ Z	d
d	„Z
dS )Ú_FStringRuleNz3f-string expression part cannot include a backslashz'f-string: expressions nested too deeplyzAf-string: invalid conversion character: expected 's', 'r', or 'a'c                 óL   — |                       |j        dd …         |¦  «         d S r¤   ©Ú_check_fstring_contentsr]   )r¿   Úformat_specÚdepths      rh   Ú_check_format_specz_FStringRule._check_format_specõ  s*   € Ø×$Ò$ [Ô%9¸!¸"¸"Ô%=¸uÑEÔEÐEÐEÐEri   c                 ó  — |dk    r|                       || j        ¬¦  «         |j        d         }d|                     ¦   «         v r|                       || j        ¬¦  «         |j        d         }|j        dk    r|j        dk    r|j        d         }n|}|j        dk    r2|j        d         }|j        d	vr|                       || j        ¬¦  «         |j        d
         }|j        dk    r|                      ||dz   ¦  «         d S d S )Nr!   rT  r'   r  r:   râ  r$   Úfstring_conversion)Úsr‚  Úarœ   Úfstring_format_spec)	r/  Úmessage_nestedr]   Úget_codeÚmessage_exprr[   ra   Úmessage_conversionr  )r¿   Úfstring_exprr  rQ   Ú
children_2Ú
conversionrÎ   r  s           rh   Ú_check_fstring_exprz _FStringRule._check_fstring_exprø  s  € Ø�AŠ:ˆ:Ø�NŠN˜<°Ô1DˆNÑEÔEÐEàÔ$ QÔ'ˆØ�4—=’=‘?”?Ð"Ð"Ø�NŠN˜4¨Ô):ˆNÑ;Ô;Ð;à!Ô*¨1Ô-ˆ
ØŒ?˜jÒ(Ð(¨ZÔ-=ÀÒ-DÐ-DØ%Ô.¨qÔ1ˆJˆJà#ˆJØŒ?Ð2Ò2Ð2ØÔ& qÔ)ˆDØŒz Ð0Ð0Ø—’˜t¨TÔ-D�ÑEÔEÐEà"Ô+¨BÔ/ˆØÔÐ4Ò4Ð4Ø×#Ò# K°¸±Ñ;Ô;Ð;Ð;Ð;ð 5Ð4ri   c                 óJ   — |                       |j        dd…         ¦  «         d S )Nr'   rK   r  )r¿   rY   s     rh   rG  z_FStringRule.is_issue  s(   € Ø×$Ò$ WÔ%5°a¸°dÔ%;Ñ<Ô<Ð<Ð<Ð<ri   r   c                 óR   — |D ]#}|j         dk    r|                      ||¦  «         Œ$d S )Nr  )r[   r  )r¿   r]   r  Úfstring_contents       rh   r  z$_FStringRule._check_fstring_contents  sD   € Ø'ð 	Að 	AˆOØÔ# ~Ò5Ð5Ø×(Ò(¨¸%Ñ@Ô@Ð@øð	Að 	Ari   )r   )rø   rù   rú   Ú_fstring_grammarr  r  r  r  r  rG  r  rx   ri   rh   r  r  î  st   € € € € € àÐØH€LØ>€NØ\ÐðFð Fð Fð<ð <ð <ð,=ð =ð =ðAð Að Að Að Að Ari   r  c                   ó   — e Zd Zdd„ZdS )Ú_CheckAssignmentRuleFc                 ó~  — d }|j         }|dk    rd}�nÖ|dk    �rV|j        d d…         \  }}t          |¦  «        }|�€0|j         dk    rA| j        j        dk     rd}�nŒ|j        d         d	k    r| j        j        d
k     rd}�ngd}�ncd}�n_|dk    r2|dk    r,| j        j        dk     rd}�n?| j        j        d
k     rd}�n+d}�n'|dk    r0t          |j        ¦  «        dk    r| j        j        dk     rd}�nõd}�nñ|dv rr|j         dk    rd}�nÞ|j         dk    r@|r|dk    rd}n|dk    rd}|j        d d d…         D ]}	|                      |	|||¦  «         Œ�n“|                      ||||¦  «         �ny|dk    r9|j        dk    rd}�nd| j        j        dk     rd}�nPt          |j        ¦  «        }�n:|dk    r#|j        dk    r| j        j        d
k     rd}�nd}�n|dk    rd}�n|dv rd}�nÿ|dk    rd }
|  	                    ||
¬!¦  «         �nÞ|d"k    rd#}�nÔ|d$v r›|j        d%         d&k    rd'}�n»|j        d(         d)k    r| j        j        d
k     rd}�n–d*}�n’|j        d+         }|j         d,k    sJ ‚|j        d%         dk    rd-}�nc|r|j        d%         dk    rd.}�nL|r|j        d%         d/k    rd0}�n5|d1k    r| j        j        dk     rd}�nd2}�n|d3v r,|j        d d d…         D ]}	|                      |	|||¦  «         Œnçd4|v r|d5k    sd6|v s|d7v r| j        j        d
k     rd}nÂd*}n¿|d5k    r¹|r+| j        j        d8k    rd9}n„|  	                    |d:¬!¦  «         nl| j        j        d8k    r|j
        }nt          |¦  «        }|j         t          vr7|s5|j         dk    r|j        d%         dk    sd;}
|  	                    ||
¬!¦  «         |                      |j        d         ¦  «         |�Q|rd<|z  }
n0| j        j        dk     rd=nd>}d?                     ||rd@ndA|g¦  «        }
|  	                    ||
¬!¦  «         d S d S )BNr   r   r    r!   r"   r#   r&   r'   r(   r*   r,   r-   r.   r5   r6   )r/   r3   rC   r9   r   r/   r1   r3   r4   r7   r8   r:   r;   r<   r=   r>   r?   z+assignment to yield expression not possiblerT  rD   rE   rF   r   rI   rJ   rœ   r)   rW   rK   rL   rM   rN   rO   rP   rY   rZ   )r   r   r�   rQ   rR   rS   rT   rª   rX   rÍ  z4starred assignment target must be in a list or tuplez)cannot use assignment expressions with %szcan'tÚcannotú Údeletez	assign to)r[   r]   r\   rO  r2   r^   Ú_check_assignmentra   rb   r/  r‡   r‰   rš   Újoin)r¿   rc   Úis_deletionÚis_namedexprÚis_aug_assignrV  rd   rf   rg   rp   rß   rL   rÏ  r  s                 rh   r   z&_CheckAssignmentRule._check_assignment  s¢  € ØˆØ”	ˆØ�IÒÐØˆE‰EØ�fŠ_‰_Ø œM¨"¨1¨"Ô-‰MˆE�6Ý+¨DÑ1Ô1ˆEØ‰}Ø”;Ð"2Ò2Ð2ØÔ'Ô/°&Ò8Ð8Ø )˜™à!œ?¨1Ô-°Ò4Ð4Ø#Ô/Ô7¸'ÒAÐAØ(6 ¡à(6 ¡à$1˜E™EØ˜c’\�\ f°¢m mØÔ'Ô/°&Ò8Ð8Ø )˜™àÔ+Ô3°gÒ=Ð=Ø$2˜E™Eà$2˜E™EØ˜c’\�\¥c¨$¬-Ñ&8Ô&8¸1Ò&<Ð&<ØÔ'Ô/°&Ò8Ð8Ø )˜™à -˜™Ø˜jÐ(Ð(Ø”{ lÒ2Ð2Ø 2˜™Øœ¨Ò7Ð7ð (ð /Ø$¨š|˜|Ø(/  Ø!&¨#¢ Ø(. ð &,¤_°S°S°q°SÔ%9ð dð d˜EØ ×2Ò2°5¸+À|ÐUbÑcÔcÐcÐcñdð ×.Ò.¨v°{ÀLÐR_Ñ`Ô`Ð`ùØ�iÒÐØŒz˜WÒ$Ð$Ø*�‘ØÔ!Ô)¨FÒ2Ð2Ø!�‘å˜DœJ™œ�‘Ø�jÒ Ð ØŒz˜UÒ"Ð"ØÔ#Ô+¨gÒ5Ð5Ø&�E‘Eà&�EùØ�lÒ"Ð"Ø ˆE‰EØÐ5Ð5Ð5ØˆE‰EØ�lÒ"Ð"àCˆGØ�NŠN˜4¨ˆNÑ1Ô1Ð1Ñ1Ø�fŠ_ˆ_Ø,ˆE‰EØÐ,Ð,Ð,ØŒ}˜QÔ 7Ò*Ð*Ø*�‘Ø”˜rÔ" dÒ*Ð*ØÔ#Ô+¨gÒ5Ð5Ø&�E‘Eà(�E‘Eð œ-¨Ô+�Ø”| yÒ0Ð0Ð0Ð0ØÔ# AÔ&¨#Ò-Ð-Ø+�E‘EØ!ð ( gÔ&6°qÔ&9¸SÒ&@Ð&@Ø'�E‘EØ!ð ( gÔ&6°qÔ&9¸SÒ&@Ð&@Ø'�EùØ�iÒÐØÔÔ'¨&Ò0Ð0Ø!�‘à-�‘ØÐDÐDÐDØœ s s¨ sÔ+ð Xð X�Ø×&Ò& u¨k¸<ÈÑWÔWÐWÐWðXà˜ˆoˆo %¨;Ò"6Ð"6Ø˜EÐ!Ð!ØÐ,Ð,Ð,ØÔÔ'¨'Ò1Ð1Ø"��à$��Ø�kÒ!Ð!Øð :ØÔ#Ô+¨vÒ5Ð5Ø%�E�Eà—N’N 4Ð1T�NÑUÔUÐUÐUàÔ#Ô+¨vÒ5Ð5Ø#œ{�H�Hå5°dÑ;Ô;�HØ”=Õ(:Ð:Ð:À=Ð:Ø!)¤°&Ò!8Ð!8¸XÔ=NÈqÔ=QÐUXÒ=XÐ=XØT�GØ—N’N 4°�NÑ9Ô9Ð9à×"Ò" 4¤=°Ô#3Ñ4Ô4Ð4àÐØð ^ØEÈÑM��à$(Ô$4Ô$<¸vÒ$EÐ$E˜˜È8�ØŸ(š( F¸Ð,T¨H¨HÈÐV[Ð#\Ñ]Ô]�Ø�NŠN˜4¨ˆNÑ1Ô1Ð1Ð1Ð1ð Ðri   N)FFF)rø   rù   rú   r   rx   ri   rh   r  r    s.   € € € € € ðC2ð C2ð C2ð C2ð C2ð C2ri   r  r   c                   ó   — e Zd ZdZd„ ZdS )Ú_CompForRulez>asynchronous comprehension outside of an asynchronous functionc                 óÆ   — |j         d         }|j        dk    r|                      |¦  «         |j        j         d         dk    o| j        j                             ¦   «          S )Nr'   Ú	expr_listr   Úasync)r]   r[   r   r‡   rO  r
  rÇ   )r¿   rc   r(  s      rh   rG  z_CompForRule.is_issue¢  se   € Ø”M !Ô$ˆ	ØŒ>˜[Ò(Ð(Ø×"Ò" 9Ñ-Ô-Ð-àŒ{Ô# AÔ&¨'Ò1ð @ØÔ$Ô,×=Ò=Ñ?Ô?Ð?ð	@ri   Nre  rx   ri   rh   r&  r&  ž  s-   € € € € € àN€Gð@ð @ð @ð @ð @ri   r&  rŸ   c                   ó"   — e Zd ZdZdez   Zd„ ZdS )Ú_ExprStmtRulez+illegal expression for augmented assignmentz'{target}' is an c           	      óP  — |j         d         }|dk    o
|j        dk    }| j        j        dk    s|s*|j         d dd…         D ]}|                      ||¬¦  «         Œ|rÉt          |j         d         ¦  «        }|j        d	k    s;|j        d
v r4|j         d         j        dk    r|j         d         j         d         dk    rdS | j        j        dk    rdS |                      || j                             t          |j         d         | j        j        ¦  «        ¬¦  «        ¬¦  «         d S d S )Nr'   râ  rè   r#   rœ   r!   )r$  r   rÎ   rF   rL   rK   r/   FT)ÚtargetrT  )
r]   r[   rO  r2   r   r`   r/  Úextended_messagerì  r_   )r¿   rc   Ú	augassignr$  Úbefore_equalr-  s         rh   rG  z_ExprStmtRule.is_issue°  s^  € Ø”M !Ô$ˆ	Ø! SÒ(ÐJ¨Y¬^¸{Ò-JˆàÔÔ# vÒ-Ð-°]Ð-Ø $¤¨e¨r°!¨eÔ 4ð Rð R�Ø×&Ò& |À=Ð&ÑQÔQÐQÐQàð 	Ý# D¤M°!Ô$4Ñ5Ô5ˆFð Œ{˜fÒ$Ð$Ø”Ð5Ð5Ð5Ø”O AÔ&Ô+¨yÒ8Ð8Ø”O BÔ'Ô0°Ô3°sÒ:Ð:à�uàÔÔ'¨6Ò1Ð1Ø�tà—’ØØ Ô1×8Ò8Ý,¨T¬]¸1Ô-=¸tÔ?OÔ?WÑXÔXð 9ñ ô ð ñ ô ð ð ð ð	ð 	ri   N)rø   rù   rú   rß   r.  rG  rx   ri   rh   r+  r+  «  s3   € € € € € à;€GØ*¨WÑ4Ððð ð ð ð ri   r+  Ú	with_itemc                   ó   — e Zd Zd„ ZdS )Ú_WithItemRulec                 óF   — |                       |j        d         ¦  «         d S ©Nr!   )r   r]   )r¿   r1  s     rh   rG  z_WithItemRule.is_issueÐ  s$   € Ø×Ò˜yÔ1°!Ô4Ñ5Ô5Ð5Ð5Ð5ri   NrÙ  rx   ri   rh   r3  r3  Î  s#   € € € € € ð6ð 6ð 6ð 6ð 6ri   r3  rË  c                   ó   — e Zd Zd„ ZdS )Ú_DelStmtRulec                 óh   — |j         d         }|j        dk    r|                      |d¬¦  «         d S d S )Nr'   r(  T)r"  ©r]   r[   r   )r¿   rË  rp   s      rh   rG  z_DelStmtRule.is_issueÖ  sC   € ØÔ! !Ô$ˆàŒ:˜Ò$Ð$Ø×"Ò" 5°dÐ"Ñ;Ô;Ð;Ð;Ð;ð %Ð$ri   NrÙ  rx   ri   rh   r7  r7  Ô  s#   € € € € € ð<ð <ð <ð <ð <ri   r7  r(  c                   ó   — e Zd Zd„ ZdS )Ú_ExprListRulec                 óV   — |j         d d d…         D ]}|                      |¦  «         Œd S r5  )r]   r   )r¿   r(  rQ   s      rh   rG  z_ExprListRule.is_issueß  s@   € ØÔ& s s¨ sÔ+ð 	)ð 	)ˆDØ×"Ò" 4Ñ(Ô(Ð(Ð(ð	)ð 	)ri   NrÙ  rx   ri   rh   r;  r;  Ý  s#   € € € € € ð)ð )ð )ð )ð )ri   r;  r   c                   ó   — e Zd Zd„ ZdS )Ú_ForStmtRulec                 ód   — |j         d         }|j        dk    r|                      |¦  «         d S d S )Nr'   r(  r9  )r¿   r   r(  s      rh   rG  z_ForStmtRule.is_issueæ  s>   € àÔ% aÔ(ˆ	ØŒ>˜[Ò(Ð(Ø×"Ò" 9Ñ-Ô-Ð-Ð-Ð-ð )Ð(ri   NrÙ  rx   ri   rh   r>  r>  ä  s#   € € € € € ð.ð .ð .ð .ð .ri   r>  Únamedexpr_testc                   ó   — e Zd Zd„ ZdS )Ú_NamedExprRulec                 óÒ  ‡‡	— |j         d         }d„ } ||¦  «        rd}|                      ||¬¦  «         t          ¦   «         Šˆfd„Š	ˆ	fd„} ||¦  «        }|rt| j        j        j        j        dk    rd}|                      ||¬¦  «         d	„ ‰D ¦   «         }|j        d
k    r*|j        |v r!d|j        z  }|                      ||¬¦  «         |                      |d¬¦  «         d S )Nr   c                 ó\   — 	 | j         }|€|S |j        dk    r|j        d         | k    r|S |} Œ,)NTr   r$   r†   )rc   r‡   s     rh   Úsearch_namedexpr_in_comp_forz=_NamedExprRule.is_issue.<locals>.search_namedexpr_in_comp_forõ  sE   € ðØœ�Ø�>Ø!�MØ”; /Ò1Ð1°f´oÀaÔ6HÈDÒ6PÐ6PØ!�MØ�ðri   zKassignment expression cannot be used in a comprehension iterable expressionrT  c                 ó˜   •— | j         dk    r| }n| j         dk    r| j        d         }‰                     t          |¦  «        ¦  «         d S )Nr   r   r'   )r[   r]   rÏ   r¥   )r   Úcompr   s     €rh   Úprocess_comp_forz1_NamedExprRule.is_issue.<locals>.process_comp_for  sR   ø€ ØŒ} Ò/Ð/Ø��Ø” *Ò,Ð,ØÔ(¨Ô+�Ø�OŠOÕ:¸4Ñ@Ô@ÑAÔAÐAÐAÐAri   c                 ó�   •— d}	 |                       dd¦  «        } | €n(| j        D ]}|j        t          v r ‰|¦  «         d} nŒ ŒA|S )NFTr   r"   )r±   r]   r[   ru   )rc   Úhas_ancestorsrp   rH  s      €rh   Úsearch_all_comp_ancestorsz:_NamedExprRule.is_issue.<locals>.search_all_comp_ancestors  sv   ø€ Ø!ˆMðØ×+Ò+¨OÐ=MÑNÔN�Ø�<ØØ!œ]ð ð �EØ”z¥_Ð4Ð4Ø(Ð(¨Ñ/Ô/Ð/Ø(,˜Ø˜ð 5ðð !Ð ri   r  zKassignment expression within a comprehension cannot be used in a class bodyc                 ó2   — g | ]}|j         d k    ¯|j        ‘ŒS )rÎ   )r[   ra   )r{   rQ   s     rh   r}   z+_NamedExprRule.is_issue.<locals>.<listcomp>$  s&   € ÐOÐOÐO t¸4¼9ÈÒ;NÐ;N˜œ
Ð;NÐ;NÐ;Nri   rÎ   zGassignment expression cannot rebind comprehension iteration variable %rT)r#  )	r]   r/  r4   rO  r
  rc   r[   ra   r   )
r¿   r@  rf   rE  rß   rK  Ú
search_allÚnamelistr   rH  s
           @@rh   rG  z_NamedExprRule.is_issueñ  sX  øø€ àÔ'¨Ô*ˆð	ð 	ð 	ð (Ð'¨Ñ7Ô7ð 	<ð dˆGØ�NŠN˜>°7ˆNÑ;Ô;Ð;õ ‘6”6ˆð	Bð 	Bð 	Bð 	Bð 	Bð	!ð 	!ð 	!ð 	!ð 	!ð /Ð.¨~Ñ>Ô>ˆ
Øð 	@ØÔÔ'Ô,Ô1°ZÒ?Ð?ð;�à—’˜~°w�Ñ?Ô?Ð?àOÐO¨xÐOÑOÔOˆHØŒz˜VÒ#Ð#¨¬°xÐ(?Ð(?ð
@ØBGÄ+ñN�à—’˜~°w�Ñ?Ô?Ð?à×Ò˜u°4ÐÑ8Ô8Ð8Ð8Ð8ri   NrÙ  rx   ri   rh   rB  rB  í  s#   € € € € € ð=9ð =9ð =9ð =9ð =9ri   rB  )Frˆ  r“  r‹  r$  Ú
contextlibr   Úparso.normalizerr   r   r   r   Úparso.python.tokenizer   r  rš   r  r  rÂ  ru   r_   rr   r\   r‚   r`   r‰   r�   r•   r˜   r¢   r¥   r¨   r²   r´   rü   r=  Úregister_rulerC  rJ  rM  rQ  rX  r`  rh  rp  ru  rz  r–  rŸ  r¤  r¬  r³  r¶  rº  rÈ  rÒ  rÛ  rà  rä  rè  ró  rû  r  r  r&  r+  r3  r7  r;  r>  rB  rx   ri   rh   ú<module>rS     sÙ  ðà €€€Ø 
€
€
€
Ø €€€Ø 	€	€	€	Ø %Ð %Ð %Ð %Ð %Ð %à FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ 7Ð 7Ð 7Ð 7Ð 7Ð 7àM€ØHÐ à€ØÐ ð€ð 0€ðSð Sð Sðlð ð ðð ð ð;ð ;ð ;ðð ð ð	ð 	ð 	ðZð Zð Zðð ð ð"(ð (ð (ð0ð ð ð=ð =ð =ð
8ð 8ð 8ð/ð /ð /ðFð Fð Fð Fð Fñ Fô Fð FðDq;ð q;ð q;ð q;ð q;�*ñ q;ô q;ð q;ðh.ð .ð .ð .ð .�dñ .ô .ð .ð ×Ò ÐÑ-Ô-ð	3ð 	3ð 	3ð 	3ð 	3˜?ñ 	3ô 	3ñ .Ô-ð	3ð#ð #ð #ð #ð #Ð(ñ #ô #ð #ð
)ð 
)ð 
)ð 
)ð 
)�ñ 
)ô 
)ð 
)ð ×Ò ÐÑ-Ô-ðð ð ð ð ˜ñ ô ñ .Ô-ðð& ×Ò ÐÑ)Ô)ðð ð ð ð ˜ñ ô ñ *Ô)ðð ×Ò ÐÑ)Ô)ðð ð ð ð ˜
ñ ô ñ *Ô)ðð ×Ò ÐÑ,Ô,ðð ð ð ð �jñ ô ñ -Ô,ðð, ×Ò ÐÑ(Ô(ð<ð <ð <ð <ð <�jñ <ô <ñ )Ô(ð<ð ×Ò ÐÑ'Ô'ðð ð ð ð �*ñ ô ñ (Ô'ðð ×Ò ÐÑ)Ô)ð Hð  Hð  Hð  Hð  H�Jñ  Hô  Hñ *Ô)ð HðF ×Ò ÐÑ%Ô%ð	#ð 	#ð 	#ð 	#ð 	#�ñ 	#ô 	#ñ &Ô%ð	#ð ×Ò ÐÑ&Ô&ð	Mð 	Mð 	Mð 	Mð 	M�Zñ 	Mô 	Mñ 'Ô&ð	Mð ×Ò ÐÑ)Ô)Ø×Ò ÐÑ*Ô*ðð ð ð ð ˜Jñ ô ñ +Ô*ñ *Ô)ðð  ×Ò 	ÐÑ*Ô*ðð ð ð ð ˜ñ ô ñ +Ô*ðð" ×ÒÐ 1ÐÑ2Ô2ðð ð ð ð ˜:ñ ô ñ 3Ô2ðð ×Ò ÐÑ.Ô.ð]ð ]ð ]ð ]ð ]˜Jñ ]ô ]ñ /Ô.ð]ð ×Ò ÐÑ.Ô.ð:ð :ð :ð :ð :˜
ñ :ô :ñ /Ô.ð:ð. ×Ò ÐÑ,Ô,ð!Nð !Nð !Nð !Nð !N�Jñ !Nô !Nñ -Ô,ð!NðH ×ÒÐ!3ÐÑ4Ô4ð@ð @ð @ð @ð @˜*ñ @ô @ñ 5Ô4ð@ð> ×Ò ÐÑ,Ô,ð!@ð !@ð !@ð !@ð !@�Zñ !@ô !@ñ -Ô,ð!@ðH ×Ò 
ÐÑ+Ô+ð;ð ;ð ;ð ;ð ;�Jñ ;ô ;ñ ,Ô+ð;ð2 ×Ò ÐÑ0Ô0ð?ð ?ð ?ð ?ð ?˜zñ ?ô ?ñ 1Ô0ð?ð ×Ò 	ÐÑ*Ô*ð2>ð 2>ð 2>ð 2>ð 2>�:ñ 2>ô 2>ñ +Ô*ð2>ðj ×Ò ÐÑ-Ô-Ø×Ò 	ÐÑ*Ô*ð(ð (ð (ð (ð (�Zñ (ô (ñ +Ô*ñ .Ô-ð(ð> ×Ò 
ÐÑ+Ô+ðEð Eð Eð Eð E�:ñ Eô Eñ ,Ô+ðEð ×Ò 	ÐÑ*Ô*ð%Að %Að %Að %Að %A�:ñ %Aô %Añ +Ô*ð%AðPD2ð D2ð D2ð D2ð D2˜:ñ D2ô D2ð D2ðN ×Ò ÐÑ0Ô0ð	@ð 	@ð 	@ð 	@ð 	@Ð'ñ 	@ô 	@ñ 1Ô0ð	@ð ×Ò ÐÑ,Ô,ðð ð ð ð Ð(ñ ô ñ -Ô,ððD ×Ò ÐÑ,Ô,ð6ð 6ð 6ð 6ð 6Ð(ñ 6ô 6ñ -Ô,ð6ð
 ×Ò 
ÐÑ+Ô+ð<ð <ð <ð <ð <Ð'ñ <ô <ñ ,Ô+ð<ð ×Ò ÐÑ,Ô,ð)ð )ð )ð )ð )Ð(ñ )ô )ñ -Ô,ð)ð ×Ò 
ÐÑ+Ô+ð.ð .ð .ð .ð .Ð'ñ .ô .ñ ,Ô+ð.ð ×ÒÐ 0ÐÑ1Ô1ð@9ð @9ð @9ð @9ð @9Ð)ñ @9ô @9ñ 2Ô1ð@9ð @9ð @9ri   