§
    ŒŸj „  ã                   óˆ  — U d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZmZ dZdZd	Zd
ZdZdZdZdZdZeedf         ed<   eez  ZdZdZ G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Z  G d„ d e¦  «        Z! G d!„ d"e¦  «        Z" G d#„ d$e	¦  «        Z#dS )%é    N)Úcontextmanager)ÚTuple)ÚErrorFinderÚErrorFinderConfig)ÚRule)ÚFlowÚScope)Úimport_nameÚimport_from)ÚclassdefÚfuncdefÚif_stmtÚ
while_stmtÚfor_stmtÚtry_stmtÚ	with_stmt)Útermr   Úpower)ú(ú[Ú{)ú)ú]Ú})ú+ú-ú~)Ú*r   r   ú**ú/z//ú@)z<<z>>ú|ú&ú^)ú=ú%z->ú<ú>ú==z>=z<=z<>ú!=z+=z-=z*=z@=z/=z%=z&=z|=z^=z<<=z>>=z**=z//=.Ú_NEEDS_SPACE)ÚdictorsetmakerÚargument)Ú	subscriptÚsubscriptlistÚsliceopc                   ór   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         ZdS )ÚIndentationTypesN)	Ú__name__Ú
__module__Ú__qualname__ÚobjectÚVERTICAL_BRACKETÚHANGING_BRACKETÚ	BACKSLASHÚSUITEÚIMPLICIT© ó    ú^/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/parso/python/pep8.pyr2   r2      sF   € € € € € Ø�v‘x”xÐØ�f‘h”h€OØ�‘”€IØˆF‰HŒH€EØˆv‰xŒx€H€H€Hr=   r2   c                   ó0   — e Zd Zej        Zdd„Zd„ Zd„ ZdS )ÚIndentationNodeNc                 ó0   — |x| _         | _        || _        d S ©N)Úbracket_indentationÚindentationÚparent)ÚselfÚconfigrD   rE   s       r>   Ú__init__zIndentationNode.__init__(   s   € Ø6AÐAˆÔ  4Ô#3ØˆŒˆˆr=   c                 ó    — d| j         j        z  S )Nz<%s>)Ú	__class__r3   )rF   s    r>   Ú__repr__zIndentationNode.__repr__,   s   € Ø˜œÔ/Ñ/Ð/r=   c                 óR   — | }|�"|j         t          j        k    r|S |j        }|­ d S d S rB   )Útyper2   r:   rE   )rF   Úns     r>   Úget_latest_suite_nodez%IndentationNode.get_latest_suite_node/   s8   € ØˆØˆmØŒvÕ)Ô/Ò/Ð/Ø�à”ˆAð	 ˆmˆmˆmˆmˆmr=   rB   )	r3   r4   r5   r2   r:   rM   rH   rK   rO   r<   r=   r>   r@   r@   %   sN   € € € € € ØÔ!€Dðð ð ð ð0ð 0ð 0ðð ð ð ð r=   r@   c                   ó   — e Zd Zdd„ZdS )ÚBracketNodeFc                 ó  — || _         |}|}|j        t          j        k    r|j        }	 t          |d¦  «        r|j        |j         j        k    rn=|                     ¦   «         }t          |t          ¦  «        r||j         k    rn|j        }Œc|j
        }|                     ¦   «         }d|j        v s	d|j        v r0||j        z   | _        ||j
        z   | _
        t          j        | _        nE|j        d         }	d|j
        v rd | _
        n
d|	z  | _
        | j
        | _        t          j        | _        |rI|j        t          j        k    r4| j
        ||j
        z   k    r!| xj
        |j
        z  c_
        | j
        | _        || _        d S )NTÚleafú
úé   ú	ú )rS   rM   r2   r;   rE   ÚhasattrÚlineÚget_previous_leafÚ
isinstancerQ   rD   Úget_next_leafÚprefixÚ#closing_bracket_hanging_indentationrC   r8   Úend_posr7   r:   )
rF   rG   rS   rE   Úin_suite_introducerÚprevious_leafrN   Úparent_indentationÚ	next_leafÚexpected_end_indents
             r>   rH   zBracketNode.__init__9   s£  € ØˆŒ	ð ˆØˆØŒ6Õ%Ô.Ò.Ð.Ø”ˆAð	Ý�q˜&Ñ!Ô!ð  mÔ&8¸A¼F¼KÒ&GÐ&GØà)×;Ò;Ñ=Ô=ˆMÝ˜a¥Ñ-Ô-ð °À!Ä&Ò1HÐ1HØØ”ˆAð	ð œ]Ðà×&Ò&Ñ(Ô(ˆ	Ø�9Ô#Ð#Ð# t¨yÔ/?Ð'?Ð'?ð (:ØÔ<ñ(=ˆDÔ$à1°FÔ4FÑFˆDÔÝ(Ô8ˆDŒIˆIð #'¤,¨q¤/ÐØ�vÔ)Ð)Ð)Ø#'�Ô Ð à#&Ð)<Ñ#<�Ô Ø'+Ô'7ˆDÔ$Ý(Ô9ˆDŒIàð 	8 6¤;Õ2BÔ2HÒ#HÐ#HØÔ$Ð(:¸VÔ=OÑ(OÒOÐOØÐÔ Ô 2Ñ2ÐÔà'+Ô'7ˆDÔ$ØˆŒˆˆr=   N©F)r3   r4   r5   rH   r<   r=   r>   rQ   rQ   8   s(   € € € € € ð1ð 1ð 1ð 1ð 1ð 1r=   rQ   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚImplicitNodezk
    Implicit indentation after keyword arguments, default arguments,
    annotations and dict values.
    c                 óô   •— t          ¦   «                              |||¦  «         t          j        | _        |                     ¦   «         }|dk    r$d|j        vrd|j        vr| xj        dz  c_        d S d S d S d S )Nú:rT   rU   rX   )ÚsuperrH   r2   r;   rM   r]   r^   rD   )rF   rG   rS   rE   rd   rJ   s        €r>   rH   zImplicitNode.__init__r   sŠ   ø€ Ý‰Œ×Ò˜  vÑ.Ô.Ð.Ý$Ô-ˆŒ	à×&Ò&Ñ(Ô(ˆ	Ø�3Š;ˆ;˜4 yÔ'7Ð7Ð7¸DÈ	ÔHXÐ<XÐ<XØÐÔ Ñ#ÐÔÐÐð ˆ;Ð7Ð7Ð<XÐ<Xr=   )r3   r4   r5   Ú__doc__rH   Ú__classcell__©rJ   s   @r>   rh   rh   m   sB   ø€ € € € € ðð ð$ð $ð $ð $ð $ð $ð $ð $ð $r=   rh   c                   ó$   — e Zd Zej        Zdd„ZdS )ÚBackslashNodeNc                 ó&  — |                      d¦  «        }|�W|j        d         }d|j        v rd | _        nH|j        |j        k    r||j        z   | _        n(d|j        d         dz   z  | _        n||j        z   | _        | j        | _        || _        d S )NÚ	expr_stmtéþÿÿÿrW   rX   rV   )Úsearch_ancestorÚchildrenrD   r`   Ú	start_posrC   rE   )rF   rG   rc   Úcontaining_leafÚspacingrE   rr   Úequalss           r>   rH   zBackslashNode.__init__~   sª   € Ø#×3Ò3°KÑ@Ô@ˆ	ØÐ ØÔ'¨Ô+ˆFà�vÔ)Ð)Ð)à#'�Ô Ð ð ”> WÔ%6Ò6Ð6Ø'9¸FÔ<NÑ'N�DÔ$Ð$ð (+¨f¬n¸QÔ.?À!Ñ.CÑ'D�DÔ$Ð$à1°FÔ4FÑFˆDÔØ#'Ô#3ˆÔ ØˆŒˆˆr=   rB   )r3   r4   r5   r2   r9   rM   rH   r<   r=   r>   rp   rp   {   s0   € € € € € ØÔ%€Dðð ð ð ð ð r=   rp   c                 ój   — | j                              d¦  «        o| j                              d¦  «        S )NÚ__)ÚvalueÚ
startswithÚendswith)Únames    r>   Ú_is_magic_namer€   ”   s-   € ØŒ:× Ò  Ñ&Ô&ÐD¨4¬:×+>Ò+>¸tÑ+DÔ+DÐDr=   c                   óŽ   ‡ — e Zd Zˆ fd„Zeˆ fd„¦   «         Zed„ ¦   «         Zd„ Zd„ Zdd„Z	ˆ fd„Z
d	„ Zd
„ Zd„ Zd„ Zˆ fd„Zˆ xZS )ÚPEP8Normalizerc                 óT  •—  t          ¦   «         j        |i |¤Ž d | _        d | _        d| _        d| _        d | _        d| _        d| _        d| _	        t          | j        d¬¦  «        x| _        | _        d| _        d| j        j        v rd| _        d| _        d S d	| _        d| _        d S )
NTr   FÚ )rD   rX   ÚspacesrW   Útabs)rk   rH   Ú_previous_partÚ_previous_leafÚ_on_newlineÚ_newline_countÚ_wanted_newline_countÚ_max_new_lines_in_prefixÚ_new_statementÚ_implicit_indentation_possibler@   Ú_configÚ_indentation_tosÚ_last_indentation_tosÚ_in_suite_introducerrD   Ú_indentation_typeÚ_wrong_indentation_char)rF   ÚargsÚkwargsrJ   s      €r>   rH   zPEP8Normalizer.__init__™   sÆ   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ø"ˆÔØ"ˆÔØˆÔØˆÔØ%)ˆÔ"Ø()ˆÔ%Ø"ˆÔØ.3ˆÔ+õ ˜DœL°bÐ9Ñ9Ô9ð	:ˆÔ Ô :à$)ˆÔ!à�$”,Ô*Ð*Ð*Ø%-ˆDÔ"Ø+/ˆDÔ(Ð(Ð(à%+ˆDÔ"Ø+.ˆDÔ(Ð(Ð(r=   c              #   óâ   •K  — t          ¦   «                              |¦  «        5  |                      |¦  «        5  d V — d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S rB   )rk   Ú
visit_nodeÚ_visit_node)rF   ÚnoderJ   s     €r>   r˜   zPEP8Normalizer.visit_node¯   sõ   øè è € å‰WŒW×Ò Ñ%Ô%ð 	ð 	Ø×!Ò! $Ñ'Ô'ð ð Ø���ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s4   ¥A$»AÁ A$ÁA	ÁA$ÁA	ÁA$Á$A(Á+A(c              #   ó>  K  — |j         }|dv rM|                     ¦   «         }t          |¦  «        dk    r$|d d…         D ]}|                      |dd¦  «         Œ�n›|dk    rR|j        }|j         dk    r>t          d„ |j        d dd	…         D ¦   «         ¦  «        r|                      |d
d¦  «         �nC|dk    r9|j        D ]/}|j         dk    r"|j        dk    r|                      |dd¦  «         Œ0�n|dk    r‚|j        D ]y}|j         dvrŒt          |j        ¦  «        d	k    rŒ%|j        d         }|j        d         }|j         dk    r/|j         dk    r$|j        dk    r|                      |dd¦  «          nŒzn||dk    rv|j        d         }	|	                     ¦   «         }
|	j	        }| 
                    d¦  «        s9| 
                    d¦  «        s$|s|
�	|
j        dvr|                      |	dd¦  «         |t          v rí|j        }|j        }|j         dk    rÔ|j                             |¦  «        }|j        d |…         D ]ª}|g}|j         d k    r|j        d d…         }d!}|D ]…}|j         d"k    r|sŒd#}|j         dk    r,t          d$„ |                     ¦   «         D ¦   «         ¦  «        rŒI|j         t          v st          |t          ¦  «        rŒm|                      |d%d&¦  «          nŒª |t           v }|t"          v }|rd#| _        ns|d'k    rd| j        j         t(          j        k    r| j        j        | _        t-          | j        | j        j        | j        j        z   | j        ¬(¦  «        | _        n	|rd#| _        d V — |d'k    r6| j        j         t(          j        k    sJ ‚| j        j        | _        d | _        d S |r6d!| _        | j        j         t(          j        k    r| j        j        | _        d S d S |r&d!| _        |d)v r|                      ¦   «         | _        d S d S d S )*Nr
   rV   i‘  zMultiple imports on one lineÚlambdefrr   c              3   ó,   K  — | ]}|j         d k    V — ŒdS )r   N)rM   ©Ú.0rN   s     r>   ú	<genexpr>z-PEP8Normalizer._visit_node.<locals>.<genexpr>Â   sE   è è € ð 5Yð 5YØ9:ð 67´V¸vÒ5Eð 5Yð 5Yð 5Yð 5Yð 5Yð 5Yr=   rs   é   iÛ  z,Do not assign a lambda expression, use a defr   ÚkeywordÚexceptiÒ  z1Do not use bare except, specify exception insteadÚ
comparison)Ú	atom_exprr   r   Útrailerr   rM   iÑ  z'Do not compare types, use 'isinstance()Ú
file_inputéÿÿÿÿrT   rU   ¾   ú
rT   rU   i$  zNo newline at end of fileÚsimple_stmtFÚstringTc              3   ó4   K  — | ]}t          |¦  «        V — Œd S rB   )r€   rž   s     r>   r    z-PEP8Normalizer._visit_node.<locals>.<genexpr>ñ   s*   è è € Ð#UÐ#U¸!¥N°1Ñ$5Ô$5Ð#UÐ#UÐ#UÐ#UÐ#UÐ#Ur=   i’  z&Module level import not at top of fileÚsuite©rE   )r   r   )rM   Úget_defined_namesÚlenÚ	add_issuerE   Úanyru   r|   r[   r^   r~   Ú_IMPORT_TYPESÚindexÚallr\   r   Ú_IMPLICIT_INDENTATION_TYPESÚ_SUITE_INTRODUCERSr’   r�   r2   r9   r@   r�   rD   rŽ   r:   r‹   r;   Ú_get_wanted_blank_lines_count)rF   rš   ÚtypÚnamesr   rr   Úchildr¦   ÚatomÚ	endmarkerÚprevr^   r«   Úmodulerµ   ru   Úfound_docstringÚcÚimplicit_indentation_possibleÚin_introducers                       r>   r™   zPEP8Normalizer._visit_nodeµ   s  è è € àŒiˆà�-ÐÐØ×*Ò*Ñ,Ô,ˆEÝ�5‰zŒz˜AŠ~ˆ~Ø! " 1 "œIð Nð N�DØ—N’N 4¨Ð.LÑMÔMÐMÐMùØ�IÒÐØœˆIð Œ~ Ò,Ð,µð 5Yð 5YØ>GÔ>PÐQVÐRTÐUVÐQVÔ>Wð5Yñ 5Yô 5Yñ 2Yô 2YÐ,à—’˜t SÐ*XÑYÔYÐYùØ�JÒÐØœð dð d�ð ”: Ò*Ð*¨u¬{¸hÒ/FÐ/FØ—N’N 5¨#Ð/bÑcÔcÐcøñ	dð
 �LÒ Ð Øœð 
ð 
�Ø”:Ð%;Ð;Ð;ØÝ�u”~Ñ&Ô&¨Ò*Ð*ØØœ.¨Ô+�Ø”~ aÔ(�Ø”< 9Ò,Ð,°´¸fÒ1DÐ1DØ œJ¨&Ò0Ð0Ø—N’N 4¨Ð.WÑXÔXÐXØ�EøøØ�LÒ Ð Øœ bÔ)ˆIØ×.Ò.Ñ0Ô0ˆDØÔ%ˆFØ—O’O DÑ)Ô)ð L°&·/²/À$Ñ2GÔ2Gð LØðLØ"˜l¨d¬jÐ@TÐ.TÐ.TØ—’˜y¨#Ð/JÑKÔKÐKà•-ÐÐØœ+ˆKØ Ô'ˆFØŒ{˜lÒ*Ð*Øœ×-Ò-¨kÑ:Ô:�Ø#œ_¨V¨e¨VÔ4ð ð �EØ %˜w�HØ”z ]Ò2Ð2à#(¤>°#°2°#Ô#6˜à&+�OØ%ð !ð !˜Øœ6 XÒ-Ð-°oÐ-Ø$Ø*.˜àœ6 [Ò0Ð0Ý #Ð#UÐ#U¸q×?RÒ?RÑ?TÔ?TÐ#UÑ#UÔ#UÑ UÔ Uð 1à$àœ6¥]Ð2Ð2µjÀÅDÑ6IÔ6IÐ2Ø$àŸš t¨SÐ2ZÑ[Ô[Ð[Ø˜à Øà(+Õ/JÐ(JÐ%ØÕ1Ð1ˆØð 	7Ø(,ˆDÔ%Ð%Ø�GŠ^ˆ^ØÔ$Ô)Õ-=Ô-GÒGÐGØ(,Ô(=Ô(D�Ô%å$3Ø”ØÔ%Ô1°D´LÔ4LÑLØÔ,ð%ñ %ô %ˆDÔ!Ð!ð
 +ð 	7Ø26ˆDÔ/ØˆˆˆØ�'Š>ˆ>ØÔ(Ô-Õ1AÔ1GÒGÐGÐGÐGØ$(Ô$9Ô$@ˆDÔ!à)-ˆDÔ&Ð&Ð&Ø*ð 	RØ27ˆDÔ/ØÔ$Ô)Õ-=Ô-FÒFÐFØ(,Ô(=Ô(D�Ô%Ð%Ð%ð GÐFàð 	RØ(-ˆDÔ%ØÐ-Ð-Ð-Ø-1×-OÒ-OÑ-QÔ-Q�Ô*Ð*Ð*ð	Rð 	Rà-Ð-r=   c                 ód   — | j         |j        v r!|                      |dd| j        z   ¦  «         dS dS )Née   zIndentation contains TF)r”   r|   r²   r“   )rF   rx   s     r>   Ú_check_tabs_spacesz!PEP8Normalizer._check_tabs_spaces  s;   € ØÔ'¨7¬=Ð8Ð8Ø�NŠN˜7 CÐ)@À4ÔCYÑ)YÑZÔZÐZØ�4Øˆur=   c                 óf   — | j                              ¦   «         }t          |j        d u ¦  «        dz   S )NrV   )r�   rO   ÚintrE   )rF   Ú
suite_nodes     r>   r¹   z,PEP8Normalizer._get_wanted_blank_lines_count!  s1   € ØÔ*×@Ò@ÑBÔBˆ
Ý�:Ô$¨Ð,Ñ-Ô-°Ñ1Ð1r=   Fc                 ó  — t          | j        | j        ¦  «        | _        | j        }|�U| j        dz
  }||k    r>|j        dk    r3|s0|dk    rdnd}d|›d|›�}|                      |||¦  «         d | _        nd | _        |�s|                      ¦   «         }| j        dz
  }|j        }	|	dk    r|j        j        d	k    pI|	d
k    p.|	dk    o| 	                    ¦   «         dk    p|	dk    o
| j
        dk    o|j        j        j        dk    }
|
rv||k     rp|j        }|j        }|j        dk    r|j        }|j        t          |j        dk    ¦  «                 |k    r)|dk    rdnd}d|›d|›�}|                      |||¦  «         d| _        d| _        d S )NrV   r¾   r¡   i.  i-  z	expected z blank line, found r!   Ú	decoratorÚclassÚasyncÚdefÚ	decoratedr®   r   )ÚmaxrŒ   rŠ   r‹   rM   r²   r¹   r|   rE   r]   rˆ   ru   rÉ   )rF   rx   rS   Ú
is_commentÚwantedÚblank_linesÚcodeÚmessageÚactualÚvalÚneeds_linesÚfunc_or_clsr®   s                r>   Ú_reset_newlineszPEP8Normalizer._reset_newlines%  sö  € å�Ô-¨tÔ/BÑCÔCð 	Ô%ð Ô+ˆØÐàÔ-°Ñ1ˆKØ˜Ò#Ð#¨¬	°[Ò(@Ð(@à!ð 6à"(¨A¢+ +˜3˜3°3�D�Dà!˜6˜6 ; ;ð0�Gà—N’N 7¨D°'Ñ:Ô:Ð:Ø15�DÔ.øà-1�Ô*àñ 	.Ø×7Ò7Ñ9Ô9ˆFØÔ2°QÑ6ˆFà”*ˆCà�s’
Ð>˜tœ{Ô/°;Ò>ð =à˜7’Nð GØ˜g’~ÐG¨$×*<Ò*<Ñ*>Ô*>À%Ò*GðGà˜e’|ÐF¨Ô(;¸wÒ(Fð=ð ”kÔ(Ô-°Ò<ð ð ð ;˜v¨š˜Ø"œk�Ø#Ô*�Ø”: Ò,Ð,Ø!œL�Eð ”>¥# e¤j°GÒ&;Ñ"<Ô"<Ô=ÀÒLÐLØ"(¨A¢+ +˜3˜3°3�D�Dà!˜6˜6 6 6ð+�Gà—N’N 7¨D°'Ñ:Ô:Ð:à,-ˆDÔ)àˆÔÐÐr=   c                 ó°  •— t          ¦   «                              |¦  «         |                     ¦   «         D ]8}|j        dk    r n*|                      ||                     ¦   «         |¦  «         Œ9|                      |¦  «         |                      |||¦  «         | j        | _        |j        dk    | _	        |j        dk    r+| j        j        t          j        k    r| j        j        | _        |j        dk    r|j        j        t          v rd| _        n|j        dk    rd| _        | j	        s|                      ||¦  «         d| _        || _        |j        S )Nrx   Únewlinerj   FÚelifTr   )rk   Ú
visit_leafÚ_split_prefixrM   Ú_visit_partÚcreate_spacing_partÚ_analyse_non_prefixr�   r‘   r�   r2   r9   rE   r|   r¸   r’   rÛ   Ú_max_blank_linesrˆ   )rF   rS   ÚpartrJ   s      €r>   rß   zPEP8Normalizer.visit_leafX  sa  ø€ Ý‰Œ×Ò˜4Ñ Ô Ð Ø×&Ò&Ñ(Ô(ð 	Eð 	EˆDØŒy˜IÒ%Ð%à�Ø×Ò˜T 4×#;Ò#;Ñ#=Ô#=¸tÑDÔDÐDÐDà× Ò  Ñ&Ô&Ð&Ø×Ò˜˜t TÑ*Ô*Ð*ð &*Ô%:ˆÔ"à"œi¨9Ò4ˆÔð Œ9˜	Ò!Ð!ØÔ%Ô*Õ.>Ô.HÒHÐHØ$(Ô$9Ô$@ˆDÔ!àŒ:˜ÒÐ ¤Ô!1Õ5GÐ!GÐ!GØ(-ˆDÔ%Ð%ØŒZ˜6Ò!Ð!Ø(,ˆDÔ%àÔ"ð 	&Ø× Ò   tÑ,Ô,Ð,Ø$%ˆDÔ!à"ˆÔàŒzÐr=   c                 óà  — |j         }|j        }|dk    rd S |dk    r!|j        j        dk    r| j        j        | _        | j        }|dk    rá|                     d¦  «        r-|                     d¦  «        r|                      |dd¦  «         n†| j        rSt          j	        d	|¦  «        s=|dk    s7|                     d
¦  «        r|j
        dk    s|                      |dd¦  «         n,t          j	        d|¦  «        s|                      |dd¦  «         |                      ||d¬¦  «         nƒ|dk    r}| j        |                      ¦   «         k    r |                      |dd| j        z  ¦  «         n0|dv r,|j        j        j        dk    r|                      |dd¦  «         | xj        dz  c_        |dk    rš|j        t          j        k    rƒ|j        t          j        k    r|                      |dd¦  «         �n�|j        }| j        r$|j        t          j        k    r|| j        j        z  }t)          | j        |||| j        ¬¦  «        | _        �n6| j        �r|j         }|j        t          j        k    r!| j        j        dk    r| j        j        | _        |                      |¦  «        �sÄ|j        }|dk    rK| j        }		 t1          |¦  «        t1          |	j        ¦  «        k    rn|	j        }|	| _        |	|k    rn|	j        }	ŒC| j        rf|dk    r|r|                      |dd ¦  «         �n[||k    r=t1          | j        j        ¦  «        ›d!| j        ›�}
|                      |d"d#|
z   ¦  «         �n|d$v r|j        }n|j        }| j        rC||                     ¦   «         j        | j        j        z   k    r|                      |d%d&¦  «         �n¹||k    �r›|                      |¦  «        �s…|j         d'v�r{|d$v rG|j        t          j        k    r|                      |d(d)¦  «         �n`|                      |d*d+¦  «         �nGt1          |¦  «        t1          |¦  «        k     rŸ|j        t          j        k    r|                      |d,d-¦  «         nú|j        t          j        k    r|                      |d.d/¦  «         nÍ|j        t          j        k    r|                      |d0d1¦  «         n |                      |d2d3¦  «         nˆ|j        t          j        k    r|                      |d4d5¦  «         n[|j        t          j        k    r|                      |d6d1¦  «         n.|                      |d7d8¦  «         n|                      ||¦  «         |                       ||¦  «         |rt|d9v rp|dk    rj|j        j        d:k    rZ|tB          v r(tE          | j        || j        | j        ¬;¦  «        | _        no|j        t          j        k    sJ ‚| j        j        | _        nF|d<v rB| j#        r;|j        j        tH          v r(|j        }tK          | j        || j        ¬¦  «        | _        |d=v | _        || _        || _&        d S )>NÚ
error_leafú,r,   Úcommentz##ú#i
  z'Too many leading '#' for block comment.z#:? z#!)rV   r   i	  z$Block comment should start with '# 'z#:? [^ ]i  z%Inline comment should start with '# 'T)rÒ   rÝ   i/  zToo many blank lines (%s))rÏ   rÍ   rÐ   i0  z*Blank lines found after function decoratorrV   Ú	backslashiö  z+The backslash is redundant between bracketsr¯   é#  úTrailing whitespacerX   éo   z!Indentation is not a multiple of z])}é�   z+Line with same indent as next logical blockr©   é|   z1Closing bracket does not match visual indentationé{   zCLosing bracket does not match indentation of opening bracket's lineé€   z2Continuation line under-indented for visual indentéz   z2Continuation line missing indentation or outdentedé‡   Úxxxéy   z3Continuation line under-indented for hanging indenté   z1Continuation line over-indented for visual indentéˆ   é~   z2Continuation line over-indented for hanging indentz()[]{}Ú
error_node)rE   ra   )r%   rj   )rÝ   rë   Úbom)'r|   rM   rE   r�   r}   Úlstripr²   r‰   ÚreÚmatchrv   rÛ   rŠ   r¹   r2   r9   r:   rD   r’   r�   rp   r‡   rÇ   r‘   r±   r�   r“   rC   rO   r7   r;   Ú_check_spacingÚ_check_line_lengthÚ_OPENING_BRACKETSrQ   rŽ   r·   rh   Ú_previous_spacing)rF   rå   rx   rS   r|   Útype_rš   rD   Úshould_be_indentationrN   Úss              r>   rá   zPEP8Normalizer._visit_partz  sm  € Ø”
ˆØ”	ˆØ�LÒ Ð ØˆFà�CŠ<ˆ<˜DœKÔ,Ð0@Ò@Ð@Ø$(Ô$9Ô$@ˆDÔ!àÔ$ˆà�IÒÐØ×Ò Ñ%Ô%ð 
Wà—<’< Ñ$Ô$ð YØ—N’N 4¨Ð.WÑXÔXÐXøØÔ!ð WÝ”x ¨Ñ/Ô/ð V¸Àº¸Ø!&×!1Ò!1°$Ñ!7Ô!7ð 9EØ<@¼NÈfÒ<TÐ<TØ—N’N 4¨Ð.TÑUÔUÐUøå”x ¨UÑ3Ô3ð WØ—N’N 4¨Ð.UÑVÔVÐVà× Ò  ¨$¸4Ð Ñ@Ô@Ð@Ð@Ø�iÒÐØÔ" T×%GÒ%GÑ%IÔ%IÒIÐIØ—’˜t SÐ*EÈÔH[Ñ*[Ñ\Ô\Ð\Ð\ØÐ)Ð)Ð)ØœÔ*Ô/°;Ò>Ð>Ø—’˜t SÐ*VÑWÔWÐWàÐÔ 1Ñ$ÐÔà�KÒÐàŒyÕ,Ô6Ò6Ð6Ø”9Õ 0Ô 6Ò6Ð6Ø—N’N 4¨Ð.[Ñ\Ô\Ð\Ñ\à"&Ô"2�KØÔ0ð @°T´YÕBRÔBXÒ5XÐ5XØ# t¤|Ô'?Ñ?˜å,9ØœØ#ØØØ#Ô4ð-ñ -ô -�DÔ)ùð Ôñ ]	/Ø!œ-ˆKØŒyÕ,Ô6Ò6Ð6ØÔ+Ô0°IÒ=Ð=Ø(,Ô(=Ô(D�Ô%à×*Ò*¨7Ñ3Ô3ñ U*Ø(,Ô(8Ð%Ø˜IÒ%Ð%àÔ2�Að	%Ý˜{Ñ+Ô+­c°!´-Ñ.@Ô.@Ò@Ð@Ø!à01´Ð-à56˜Ô2Ø š9˜9Ø!ØœH˜ð	%ð Ô&ð E*Ø 	Ò)Ð)Ø&ð PØ ŸNšN¨7°CÐ9NÑOÔOÐOùØ$Ð(=Ò=Ð=Ý'*¨4¬<Ô+CÑ'DÔ'DÐ'DÐ'DÀdÔF\ÐF\Ð]˜ØŸš t¨SÐ2UÐXYÑ2YÑZÔZÐZùà �~�~Ø04Ô0HÐ-Ð-à04Ô0@Ð-ØÔ0ð 9*°[Ø ×6Ò6Ñ8Ô8ÔDØ"œlÔ6ñ7ò67ð 67ð Ÿš t¨SÐ2_Ñ`Ô`Ð`Ñ`Ø$Ð(=Ò=Ñ=Ø#×6Ò6°wÑ?Ô?ñ 4*ÀDÄJØ 4ðE5ñ E5à$¨˜~˜~Ø#'¤9Õ0@Ô0QÒ#QÐ#QØ$(§N¢NØ(,Ø(+Ø([ñ%&ô %&ð %&ñ %&ð %)§N¢NØ(,Ø(+ð)Pñ%&ô %&ð %&ñ %&õ $' {Ñ#3Ô#3µcÐ:OÑ6PÔ6PÒ#PÐ#PØ'+¤yÕ4DÔ4UÒ'UÐ'UØ(,¯ªØ,0Ø,/Ø,`ñ)*ô )*ð )*ð )*ð
 *.¬Õ6FÔ6PÒ)PÐ)PØ(,¯ªØ,0Ø,/Ø,`ñ)*ô )*ð )*ð )*ð
 *.¬Õ6FÔ6OÒ)OÐ)OØ(,¯ª°t¸SÀ%Ñ(HÔ(HÐ(HÐ(Hà(,¯ªØ,0Ø,/Ø,añ)*ô )*ð )*ð )*ð (,¤yÕ4DÔ4UÒ'UÐ'UØ(,¯ªØ,0Ø,/Ø,_ñ)*ô )*ð )*ð )*ð
 *.¬Õ6FÔ6OÒ)OÐ)OØ(,¯ª°t¸SÀ%Ñ(HÔ(HÐ(HÐ(Hà(,¯ªØ,0Ø,/Ø,`ñ)*ô )*ð )*øð ×Ò  gÑ.Ô.Ð.à×Ò  gÑ.Ô.Ð.ð ð 	�U˜hÐ&Ð&¨5°LÒ+@Ð+@Ø”KÔ$¨Ò4Ð4ØÕ)Ð)Ð)Ý(3Ø”L $ØÔ0Ø(,Ô(Að)ñ )ô )�Ô%Ð%ð ”yÕ$4Ô$=Ò=Ð=Ð=Ð=Ø(,Ô(=Ô(D�Ô%Ð%Ø�jÐ Ð  TÔ%HÐ Ø”KÔ$Õ(CÐCÐCØÔ*ˆKÝ$0Ø”˜d¨4Ô+@ð%ñ %ô %ˆDÔ!ð !Ð$CÐCˆÔà"ˆÔØ!(ˆÔÐÐr=   c           	      óâ  — |j         dk    r|j        d         dz   }n|j        d         }|| j        j        k    r±|j        d         | j        j        k    r˜d}|j         dk    r]|j        dd …                              ¦   «         }t          |¦  «        dk    r)|j        d         t          |d         ¦  «        z
  dk     rd}|r.|                      |dd	|›d
| j        j        ›d�¦  «         d S d S d S d S )Nrë   rV   Tré   r   éH   Fiõ  zLine too long (z > z characters))	rM   rv   r`   r�   Úmax_charactersr|   Úsplitr±   r²   )rF   rå   rx   Úlast_columnÚreportÚsplitteds         r>   r   z!PEP8Normalizer._check_line_length'  s  € ØŒ9˜Ò#Ð#Øœ.¨Ô+¨aÑ/ˆKˆKàœ, qœ/ˆKØ˜œÔ4Ò4Ð4ØÔ% aÔ(¨D¬LÔ,GÒGÐGð ˆFØŒy˜IÒ%Ð%Øœ: a b bœ>×/Ò/Ñ1Ô1�Ý�x‘=”= AÒ%Ð%Ø!œ\¨!œ_­s°8¸A´;Ñ/?Ô/?Ñ?À2ÒEÐEØ"�FØð Ø—’ØØ�Cà �[�[ $¤,Ô"=Ð"=Ð"=ð?ñô ð ð ð ð 5Ð4ØGÐGðð r=   c                 óÒ  ‡ ‡— ˆ ˆfd„}ˆ ˆfd„}|j         Š‰ j        }|�|j        dk    s|j        dk    rd S |j        }d‰v r‰                      |dd¦  «         d S |dk    r8t	          ‰¦  «        ‰ j        j        k     r‰                      |dd	¦  «         d S d S |d
k    r ||dd¦  «         d S t	          ‰¦  «        dk    r‰                      |dd¦  «         d S |t          v rd|j         z  } ||d|¦  «         d S |t          v rd|j         z  } ||d|¦  «         d S |dv s|dk    r,|j	        j        t          vrd|j         z  } ||d|¦  «         d S |dk    r|j	        j        t          v rd S |dv r ||dd¦  «         d S |dk    rd S |dv r|j	        j        t          vs|dv r|j	        j        t          vrd S |t          v r|j	        j        dk    rd S |dk    r|j	        j        dk    rd S |t          v s	|t          v rº|dk    r|j	        j        dv s|dk    rS|j	        j        dv rE|dk    r|j	        }n|j	        }|j        d k    r|j        r ||d!d"¦  «         d S  ||d#d$¦  «         d S |t          v s	|t          v r ||d%d&¦  «         d S |d'k    s|d'k    r ||d(d)¦  «         d S d*}	 ||d+|	¦  «         d S |d,k    s|j        d,k    r ||d-d.¦  «         d S ‰ j        }
|t"          v r@‰|
j         k    r5d/‰ j        j        vr'd0‰ j        j        vrd1}‰                      |d2|¦  «         ‰r6|t"          vr/|t"          vr(d*}	|t          v rd|j         z  } ||d3|¦  «         d S d S d S d S d S )4Nc                  ó    •— ‰r
 ‰j         | Ž S d S rB   ©r²   ©r•   rF   r…   s    €€r>   Úadd_if_spacesz4PEP8Normalizer._check_spacing.<locals>.add_if_spaces?  s$   ø€ Øð -Ø%�t”~ tÐ,Ð,ð-ð -r=   c                  ó    •— ‰s
 ‰j         | Ž S d S rB   r  r  s    €€r>   Úadd_not_spacesz5PEP8Normalizer._check_spacing.<locals>.add_not_spacesC  s$   ø€ Øð -Ø%�t”~ tÐ,Ð,ð-ð -r=   rç   rW   éß   zUsed tab to separate tokensré   i  z)At least two spaces before inline commentrÝ   rì   rí   rV   éÝ   zMultiple spaces usedzWhitespace after '%s'éÉ   zWhitespace before '%s'éÊ   )rè   ú;rj   éË   )rè   r  rj   éç   zmissing whitespace after '%s')r   r   Úfactorr!   rÌ   r%   )r-   Úparamr  éü   z(Expected spaces around annotation equalséû   z3Unexpected spaces around keyword / parameter equalséã   z3Missing whitespace around bitwise or shift operatorr&   éä   z)Missing whitespace around modulo operatorz!Missing whitespace between tokenséá   r¢   i  z!Missing whitespace around keywordrT   rU   z>Whitespace before operator doesn't match with whitespace afteréå   éÓ   )r|   r‡   rM   r²   r±   r�   Úspaces_before_commentr  Ú_CLOSING_BRACKETSrE   Ú_POSSIBLE_SLICE_PARENTSÚ_NON_STAR_TYPESÚ_FACTORr+   Ú
annotationÚ_BITWISE_OPERATORr  Ú_ALLOW_SPACErˆ   r^   )rF   rå   rx   r  r  r¿   r  rÖ   r  Úmessage_225Úprev_spacingr…   s   `          @r>   rÿ   zPEP8Normalizer._check_spacing>  sô  øø€ ð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð ”ˆØÔ"ˆØÐ ¤	¨\Ò 9Ð 9¸T¼YÈ,Ò=VÐ=VØˆFà”	ˆØ�6ˆ>ˆ>Ø�NŠN˜7 CÐ)FÑGÔGÐGÐGÐGØ�iÒÐÝ�6‰{Œ{˜Tœ\Ô?Ò?Ð?Ø—’˜w¨Ð-XÑYÔYÐYÐYÐYð @Ð?à�iÒÐØˆM˜' 3Ð(=Ñ>Ô>Ð>Ð>Ð>Ý�‰[Œ[˜1Š_ˆ_Ø�NŠN˜7 CÐ)?Ñ@Ô@Ð@Ð@Ð@àÕ(Ð(Ð(Ø1°D´JÑ>�Ø�˜g s¨GÑ4Ô4Ð4Ð4Ð4ØÕ*Ð*Ð*Ø2°T´ZÑ?�Ø�˜g s¨GÑ4Ô4Ð4Ð4Ð4Ø˜Ð#Ð# t¨s¢{ {ØœÔ(Õ0GÐGÐGØ2°T´ZÑ?�Ø�˜g s¨GÑ4Ô4Ð4Ð4Ð4Ø˜’� ¤Ô!1Õ5LÐ!LÐ!LØ�Ø˜Ð(Ð(Ø�˜w¨Ð-LÑMÔMÐMÐMÐMØ˜’�à�Ø˜Ð$Ð$¨¬Ô)9ÅÐ)PÐ)PØ˜{Ð*Ð*ØœÔ(µÐ?Ð?à�Ø��� T¤[Ô%5¸Ò%AÐ%AØ�Ø˜’� ¤Ô!1°[Ò!@Ð!@Ø�Ø�Ð%Ð%¨µÐ)=Ð)=Ø˜3’;�; 4¤;Ô#3Ð7LÐ#LÐ#LØ 3š;˜;¨4¬;Ô+;Ð?TÐ+TÐ+TØ˜s’{�{Ø $¤˜˜à $¤˜Ø”z WÒ,Ð,°Ô1AÐ,Ø&˜ w°Ð5_Ñ`Ô`Ð`Ð`Ð`à%˜Ø#ØØQñô ð ð ð ð
 Õ.Ð.Ð.°$Õ:KÐ2KÐ2KØ"�NØØØMñô ð ð ð ð
 ˜S’[�[ D¨C¢K KØ"�N 7¨CÐ1\Ñ]Ô]Ð]Ð]Ð]à"E�KØ"�N 7¨C°Ñ=Ô=Ð=Ð=Ð=Ø˜)Ò#Ð# t¤y°IÒ'=Ð'=Ø�˜w¨Ð-PÑQÔQÐQÐQÐQà#Ô5�Ø�<Ð'Ð'¨F°lÔ6HÒ,HÐ,HØ ¨Ô(;Ô(BÐBÐBØ ¨Ô(;Ô(BÐBÐBØ^�GØ—N’N 7¨C°Ñ9Ô9Ð9àð =˜d­,Ð6Ð6¸4Å|Ð;SÐ;SØ"E�Kð Õ0Ð0Ð0Ø":¸T¼ZÑ"G˜Ø%˜ g¨s°GÑ<Ô<Ð<Ð<Ð<ð=ð =Ð6Ð6Ð;SÐ;Sð 1Ð0r=   c                 ó  — |j         }|dk    rµ|j        dv r¬|                     ¦   «         r–d}|j        j         dk    r,|j        j        |k    r|                      |d|dz  ¦  «         d S |j        j         dk    r,|j        j        |k    r|                      |d|dz  ¦  «         d S |                      d	|d
z  |¦  «         d S d S |j        dk    r˜t          |j        t          t          f¦  «        rq|j        j         dk    rc| 	                    ¦   «         }|j         dk    rF|j        j         dk    r|                      |dd¦  «         d S |                      |dd¦  «         d S d S d S d S |j        dk    rM| 	                    ¦   «         j         dv r|                      |dd¦  «         d S |                      |dd¦  «         d S |j        dv r¬|j        }|j
                             |¦  «        }|j
        |dz
           }|j
        |dz            }||fD ]d}	|	j         dk    s|	j         dk    rL|	j        dk    rd}|                      |d|¦  «          d S |	j        dv rd }|                      |d!|¦  «          d S Œed S |j        d"v rc|j        }|j         d#k    rM|j        j         d$k    r?|j        d%k    r|                      |d&d'¦  «         d S |                      |d(d)¦  «         d S d S d S |d*k    ryt          |j                             ¦   «         dd …         ¦  «        D ]H\  }
}t          j        d+|¦  «                             d,¦  «        }|j        |
z   t%          |¦  «        f}| ŒId S |d-k    r$| j        d.k    r|                      |d/d0¦  «         d S d S d S )1Nr   )ÚlÚOÚIz0Do not define %s named 'l', 'O', or 'I' one linerÍ   iæ  ÚclassesÚfunctioniç  iå  Ú	variablesrj   rœ   rÝ   r   iÀ  z%Multiple statements on one line (def)i½  z'Multiple statements on one line (colon)r  )rÝ   r¾   i¿  zStatement ends with a semicoloni¾  z+Multiple statements on one line (semicolon))r)   r*   rV   r¢   ÚNonez/comparison to None should be 'if cond is None:'iÇ  )ÚTrueÚFalsezCcomparison to False/True should be 'if cond is True:' or 'if cond:'iÈ  )ÚinÚisr¤   Únot_testr8  iÉ  z&test for membership should be 'not in'iÊ  z+test for object identity should be 'is not'r¬   z[ \t]*r   r¾   r¡   i‡  úBlank line at end of file)rM   r|   Úis_definitionrE   r   r²   r\   r   r	   r]   ru   rµ   Ú	enumerateÚ
splitlinesrý   rþ   ÚgrouprZ   r±   rŠ   )rF   rS   rº   rÖ   rd   r¤   rµ   ÚleftÚrightrš   ÚirZ   rD   rv   s                 r>   rã   z"PEP8Normalizer._analyse_non_prefix�  s8  € ØŒiˆØ�&Š=ˆ=˜TœZ¨?Ð:Ð:Ø×!Ò!Ñ#Ô#ð EØL�Ø”;Ô# wÒ.Ð.°4´;Ô3CÀtÒ3KÐ3KØ—N’N 4¨¨g¸	Ñ.AÑBÔBÐBÐBÐBØ”[Ô%¨Ò3Ð3¸¼Ô8HÈDÒ8PÐ8PØ—N’N 4¨¨g¸
Ñ.BÑCÔCÐCÐCÐCà—N’N 3¨°+Ñ(=¸tÑDÔDÐDÐDÐDðEð Eð ŒZ˜3ÒÐÝ˜$œ+­­e }Ñ5Ô5ð b¸$¼+Ô:JÈiÒ:WÐ:WØ ×.Ò.Ñ0Ô0�	Ø”> YÒ.Ð.Ø”{Ô'¨9Ò4Ð4ØŸš y°#Ð7^Ñ_Ô_Ð_Ð_Ð_àŸš y°#Ð7`ÑaÔaÐaÐaÐaðbð bÐ:WÐ:Wà.Ð.ð
 ŒZ˜3ÒÐØ×!Ò!Ñ#Ô#Ô(Ð,DÐDÐDØ—’˜t SÐ*KÑLÔLÐLÐLÐLà—’˜t SÐ*WÑXÔXÐXÐXÐXØŒZ˜<Ð'Ð'ØœˆJØÔ'×-Ò-¨dÑ3Ô3ˆEØÔ& u¨q¡yÔ1ˆDØÔ'¨°©	Ô2ˆEØ˜e˜ð 
ð 
�Ø”9 	Ò)Ð)¨T¬Y¸&Ò-@Ð-@Ø”z VÒ+Ð+Ø"S˜ØŸš t¨S°'Ñ:Ô:Ð:Ø˜˜ØœÐ'8Ð8Ð8ð#E˜àŸš t¨S°'Ñ:Ô:Ð:Ø˜˜øð
ð 
ð ŒZ˜<Ð'Ð'ØœˆJØŒ ,Ò.Ð.°:Ô3DÔ3IÈZÒ3WÐ3WØ”: Ò%Ð%Ø—N’N 4¨Ð.VÑWÔWÐWÐWÐWà—N’N 4¨Ð.[Ñ\Ô\Ð\Ð\Ð\ð	 /Ð.Ð3WÐ3Wð
 �HŠ_ˆ_å$ T¤Z×%:Ò%:Ñ%<Ô%<¸Q¸R¸RÔ%@ÑAÔAð ð ‘��4Ý œh y°$Ñ7Ô7×=Ò=¸aÑ@Ô@�Ø œI¨™M­3¨{Ñ+;Ô+;Ð;�	à�	�	ð	ð ð
 �KÒÐØÔ" aÒ'Ð'Ø—’˜t SÐ*EÑFÔFÐFÐFÐFð  ÐØ'Ð'r=   c                 óF  •— | j         �.| j                              d¦  «        �d S | j         j        dk    rd S |                     d¦  «        �d S |dv r%t          ¦   «                              |||¦  «         d S t          t
          | ¦  «                             |||¦  «         d S )Nrú   rç   )i…  i‡  )rˆ   rt   rM   rk   r²   r   )rF   rš   rÕ   rÖ   rJ   s       €r>   r²   zPEP8Normalizer.add_issue×  s®   ø€ ØÔÐ*ØÔ"×2Ò2°<Ñ@Ô@ÐLØ�ØÔ"Ô'¨<Ò7Ð7Ø�Ø×Ò Ñ-Ô-Ð9ØˆFØ�:ÐÐå‰GŒG×Ò˜d D¨'Ñ2Ô2Ð2Ð2Ð2õ •+˜tÑ$Ô$×.Ò.¨t°T¸7ÑCÔCÐCÐCÐCr=   rf   )r3   r4   r5   rH   r   r˜   r™   rÇ   r¹   rÛ   rß   rá   r   rÿ   rã   r²   rm   rn   s   @r>   r‚   r‚   ˜   s6  ø€ € € € € ð/ð /ð /ð /ð /ð, ðð ð ð ñ „^ðð
 ðcRð cRñ „^ðcRðJð ð ð2ð 2ð 2ð1 ð 1 ð 1 ð 1 ðf ð  ð  ð  ð  ðDk)ð k)ð k)ðZð ð ð.]=ð ]=ð ]=ð~8Gð 8Gð 8GðtDð Dð Dð Dð Dð Dð Dð Dð Dr=   r‚   c                   ó    — e Zd ZeZ	 	 	 dd„ZdS )ÚPEP8NormalizerConfigú    NéO   r¡   c                 ób   — || _         |€|}|| _        d| _        d| _        || _        || _        d S )Nr„   F)rD   Úhanging_indentationr_   Úbreak_after_binaryr  r$  )rF   rD   rI  r  r$  s        r>   rH   zPEP8NormalizerConfig.__init__ì  sD   € à&ˆÔØÐ&Ø"-ÐØ#6ˆÔ Ø35ˆÔ0Ø"'ˆÔØ,ˆÔØ%:ˆÔ"Ð"Ð"r=   )rF  NrG  r¡   )r3   r4   r5   r‚   Únormalizer_classrH   r<   r=   r>   rE  rE  ç  s=   € € € € € Ø%Ððð AEØ:;ð	;ð 	;ð 	;ð 	;ð 	;ð 	;r=   rE  c                   ó   — e Zd ZdZdZd„ ZdS )ÚBlankLineAtEndiˆ  r;  c                 ó   — dS )NFr<   )rF   rS   s     r>   Úis_issuezBlankLineAtEnd.is_issueþ  s   € Øˆur=   N)r3   r4   r5   rÕ   rÖ   rO  r<   r=   r>   rM  rM  ú  s-   € € € € € Ø€DØ)€Gðð ð ð ð r=   rM  )$rý   Ú
contextlibr   Útypingr   Úparso.python.errorsr   r   Úparso.normalizerr   Úparso.python.treer   r	   r´   r¸   r'  r  r%  r(  r+  r*  r+   ÚstrÚ__annotations__r·   r&  r2   r6   r@   rQ   rh   rp   r€   r‚   rE  rM  r<   r=   r>   ú<module>rW     s\  ðØ 	€	€	€	€	Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø !Ð !Ð !Ð !Ð !Ð !Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ð /€ð;Ð à2€Ø!Ð Ø!Ð Ø
€Ø2€Ø-Ð ð!€ˆe�C˜�HŒoð ð ñ ð
 Ð!Ñ !€Ø<Ð ØCÐ ðð ð ð ð ñ ô ð ðð ð ð ð �fñ ô ð ð&2ð 2ð 2ð 2ð 2�/ñ 2ô 2ð 2ðj$ð $ð $ð $ð $�;ñ $ô $ð $ðð ð ð ð �Oñ ô ð ð2Eð Eð EðL	Dð L	Dð L	Dð L	Dð L	D�[ñ L	Dô L	Dð L	Dð^;ð ;ð ;ð ;ð ;Ð,ñ ;ô ;ð ;ð&ð ð ð ð �Tñ ô ð ð ð r=   