509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \g;  ã            
   @   sœ  d dl mZ d dlmZmZ d dlmZ d dlm	Z	 dd„ Z
dd„ Zd	d
„ Zdd„ ZdVdd„Zdd„ Zdd„ Zdd„ Zeƒ eƒ fdd„ZdWdd„Zdd„ Zdd„ ZdXdd„Zd d!„ ZdYd"d#„ZdZd$d%„Zd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1d2d3d4d5d6d7d8d9h
Zd:d;„ Z d<a!d=a"d>a#d?a$d@dA„ Z%dBdC„ Z&dDdE„ Z'dFdG„ Z(dHdI„ Z)dJdK„ Z*dLdM„ Z+dNdO„ Z,ej-ej.hZ/d[dPdQ„Z0ej.ej-ej1hZ2dRdS„ Z3d\dTdU„Z4dS )]é   )Útoken)ÚLeafÚNode)Úpython_symbols)Úpatcompc             C   s   t tj| ttjdƒ|gƒS )Nú=)r   ÚsymsZargumentr   r   ÚEQUAL)ÚkeywordÚvalue© r   ú*/usr/lib64/python3.6/lib2to3/fixer_util.pyÚ
KeywordArg   s    r   c               C   s   t tjdƒS )Nú()r   r   ÚLPARr   r   r   r   ÚLParen   s    r   c               C   s   t tjdƒS )Nú))r   r   ÚRPARr   r   r   r   ÚRParen   s    r   c             C   sH   t | tƒs| g} t |tƒs&d|_|g}ttj| ttjddd�g | ƒS )Nú r   )Úprefix)	Ú
isinstanceÚlistr   r   r   Úatomr   r   r	   )ÚtargetÚsourcer   r   r   ÚAssign   s    

r   Nc             C   s   t tj| |d�S )N)r   )r   r   ÚNAME)Únamer   r   r   r   ÚName$   s    r   c             C   s   | t tjtƒ |gƒgS )N)r   r   ÚtrailerÚDot)ÚobjÚattrr   r   r   ÚAttr(   s    r$   c               C   s   t tjdƒS )Nú,)r   r   ÚCOMMAr   r   r   r   ÚComma,   s    r'   c               C   s   t tjdƒS )NÚ.)r   r   ÚDOTr   r   r   r   r!   0   s    r!   c             C   s4   t tj|jƒ |jƒ gƒ}| r0|jdt tj| ƒƒ |S )Nr   )r   r   r    ÚcloneÚinsert_childÚarglist)ÚargsZlparenZrparenÚnoder   r   r   ÚArgList4   s    r/   c             C   s&   t tj| t|ƒgƒ}|d k	r"||_|S )N)r   r   Úpowerr/   r   )Z	func_namer-   r   r.   r   r   r   ÚCall;   s    r1   c               C   s   t tjdƒS )NÚ
)r   r   ÚNEWLINEr   r   r   r   ÚNewlineB   s    r4   c               C   s   t tjdƒS )NÚ )r   r   r3   r   r   r   r   Ú	BlankLineF   s    r6   c             C   s   t tj| |d�S )N)r   )r   r   ÚNUMBER)Únr   r   r   r   ÚNumberJ   s    r9   c             C   s"   t tjttjdƒ| ttjdƒgƒS )Nú[ú])r   r   r    r   r   ÚLBRACEÚRBRACE)Z
index_noder   r   r   Ú	SubscriptM   s    r>   c             C   s   t tj| |d�S )N)r   )r   r   ÚSTRING)Ústringr   r   r   r   ÚStringS   s    rA   c       	      C   s®   d| _ d|_ d|_ ttjdƒ}d|_ ttjdƒ}d|_ ||||g}|rtd|_ ttjdƒ}d|_ |jttj||gƒƒ ttj| ttj	|ƒgƒ}ttj
ttjdƒ|ttjdƒgƒS )Nr5   r   ÚforÚinÚifr:   r;   )r   r   r   r   Úappendr   r   Zcomp_ifZ	listmakerZcomp_forr   r<   r=   )	ZxpÚfpÚitZtestZfor_leafZin_leafZ
inner_argsZif_leafÚinnerr   r   r   ÚListCompW   s$    
rI   c             C   sZ   x|D ]}|j ƒ  qW ttjdƒttj| dd�ttjddd�ttj|ƒg}ttj|ƒ}|S )NÚfromr   )r   Úimport)Úremover   r   r   r   r   Úimport_as_namesÚimport_from)Zpackage_nameZ
name_leafsZleafÚchildrenÚimpr   r   r   Ú
FromImporto   s    

rQ   c          	   C   s¤   |d j ƒ }|jtjkr"|j ƒ }nttj|j ƒ gƒ}|d }|rNdd„ |D ƒ}ttjtt|d ƒt|d ƒƒttj|d j ƒ ||d j ƒ gƒg | ƒ}| j	|_	|S )	Nr"   Úafterc             S   s   g | ]}|j ƒ ‘qS r   )r*   )Ú.0r8   r   r   r   ú
<listcomp>�   s    z!ImportAndCall.<locals>.<listcomp>é    r   ZlparZrpar)
r*   Útyper   r,   r   r0   r$   r   r    r   )r.   ÚresultsÚnamesr"   Z
newarglistrR   Únewr   r   r   ÚImportAndCall‚   s    
DrZ   c             C   sˆ   t | tƒr | jtƒ tƒ gkr dS t | tƒo†t| jƒdko†t | jd tƒo†t | jd tƒo†t | jd tƒo†| jd jdko†| jd jdkS )NTé   rU   r   é   r   r   )r   r   rO   r   r   Úlenr   r   )r.   r   r   r   Úis_tuplež   s    
r^   c             C   sX   t | tƒoVt| jƒdkoVt | jd tƒoVt | jd tƒoV| jd jdkoV| jd jdkS )Nr   rU   r:   r;   éÿÿÿÿr_   )r   r   r]   rO   r   r   )r.   r   r   r   Úis_listª   s    
r`   c             C   s   t tjtƒ | tƒ gƒS )N)r   r   r   r   r   )r.   r   r   r   Úparenthesize¸   s    ra   Úsortedr   ÚsetÚanyÚallÚtupleÚsumÚminÚmaxÚ	enumeratec             c   s(   t | |ƒ}x|r"|V  t ||ƒ}qW d S )N)Úgetattr)r"   r#   Únextr   r   r   Ú
attr_chain¿   s    
rm   zefor_stmt< 'for' any 'in' node=any ':' any* >
        | comp_for< 'for' any 'in' node=any any* >
     z³
power<
    ( 'iter' | 'list' | 'tuple' | 'sorted' | 'set' | 'sum' |
      'any' | 'all' | 'enumerate' | (any* trailer< '.' 'join' >) )
    trailer< '(' node=any ')' >
    any*
>
z`
power<
    ( 'sorted' | 'enumerate' )
    trailer< '(' arglist<node=any any*> ')' >
    any*
>
Fc             C   sr   t s&tjtƒatjtƒatjtƒada tttg}x<t|t| dƒƒD ](\}}i }|j||ƒrB|d | krBdS qBW dS )NTÚparentr.   F)	Ú
pats_builtr   Zcompile_patternÚp0Úp1Úp2Úziprm   Úmatch)r.   ZpatternsÚpatternrn   rW   r   r   r   Úin_special_contextå   s    



rv   c             C   sš   | j }|d k	r|jtjkrdS | j}|jtjtjfkr:dS |jtjkrX|j	d | krXdS |jtj
ks’|jtjkr–|d k	r„|jtjks’|j	d | kr–dS dS )NFrU   T)Zprev_siblingrV   r   r)   rn   r   ÚfuncdefÚclassdefÚ	expr_stmtrO   Z
parametersZtypedargslistr&   )r.   Úprevrn   r   r   r   Úis_probably_builtinø   s    r{   c             C   sN   xH| d k	rH| j tjkr@t| jƒdkr@| jd }|j tjkr@|jS | j} qW dS )Nr\   r   r5   )	rV   r   Úsuiter]   rO   r   ÚINDENTr   rn   )r.   Úindentr   r   r   Úfind_indentation  s    


r   c             C   s>   | j tjkr| S | jƒ } | jd  }| _ttj| gƒ}||_|S )N)rV   r   r|   r*   rn   r   )r.   rn   r|   r   r   r   Ú
make_suite  s    r€   c             C   s(   x"| j tjkr"| j} | stdƒ‚qW | S )Nz,root found before file_input node was found.)rV   r   Z
file_inputrn   Ú
ValueError)r.   r   r   r   Ú	find_root&  s
    r‚   c             C   s   t |t|ƒ| ƒ}t|ƒS )N)Úfind_bindingr‚   Úbool)Úpackager   r.   Zbindingr   r   r   Údoes_tree_import/  s    r†   c             C   s   | j tjtjfkS )N)rV   r   Úimport_namerN   )r.   r   r   r   Ú	is_import7  s    rˆ   c             C   s4  dd„ }t |ƒ}t| ||ƒr d S d }}xTt|jƒD ]F\}}||ƒsFq4x(t|j|d … ƒD ]\}}||ƒsZP qZW || }P q4W |dkrÌxDt|jƒD ]6\}}|jtjkr’|jr’|jd jtjkr’|d }P q’W | d krút	tj
ttjdƒttj|dd�gƒ}	nt| ttj|dd�gƒ}	|	tƒ g}
|j|t	tj|
ƒƒ d S )Nc             S   s    | j tjko| jot| jd ƒS )NrU   )rV   r   Úsimple_stmtrO   rˆ   )r.   r   r   r   Úis_import_stmt>  s    z$touch_import.<locals>.is_import_stmtrU   r   rK   r   )r   )r‚   r†   rj   rO   rV   r   r‰   r   r?   r   r‡   r   r   rQ   r4   r+   )r…   r   r.   rŠ   ÚrootZ
insert_posÚoffsetÚidxZnode2Úimport_rO   r   r   r   Útouch_import;  s4    

r�   c             C   s¬  �x¤|j D �]˜}d }|jtjkrVt| |j d ƒr4|S t| t|j d ƒ|ƒ}|rR|}�n4|jtjtjfkrŠt| t|j d ƒ|ƒ}|r†|}�n |jtj	k�rt| t|j d ƒ|ƒ}|r¸|}nXxÐt
|j dd … ƒD ]@\}}|jtjkoè|jdkrÌt| t|j |d  ƒ|ƒ}|rÌ|}qÌW nx|jtk�r6|j d j| k�r6|}nTt|| |ƒ�rJ|}n@|jtjk�rft| ||ƒ}n$|jtjk�rŠt| |j d ƒ�rŠ|}|r
|�s˜|S t|ƒr
|S q
W d S )	Nr   r\   r[   ú:é   rU   r_   r_   )rO   rV   r   Zfor_stmtÚ_findrƒ   r€   Zif_stmtZ
while_stmtZtry_stmtrj   r   ÚCOLONr   Ú	_def_symsÚ_is_import_bindingr‰   ry   rˆ   )r   r.   r…   ÚchildZretr8   ÚiZkidr   r   r   rƒ   i  sH       
rƒ   c             C   sX   |g}xL|rR|j ƒ }|jdkr6|jtkr6|j|jƒ q|jtjkr|j| kr|S qW d S )Né   )ÚpoprV   Ú_block_symsÚextendrO   r   r   r   )r   r.   Znodesr   r   r   r’   ”  s    r’   c             C   s   | j tjkrÄ| rÄ| jd }|j tjkrvx˜|jD ]@}|j tjkrV|jd j|krp| S q0|j tjkr0|j|kr0| S q0W nL|j tjkr¨|jd }|j tjkrÂ|j|krÂ| S n|j tjkrÂ|j|krÂ| S nØ| j tj	k�rœ|rðt
| jd ƒjƒ |krðd S | jd }|�rtd|ƒ�rd S |j tjk�r.t||ƒ�r.| S |j tjk�rf|jd }|j tjk�rœ|j|k�rœ| S n6|j tjk�r„|j|k�r„| S |�rœ|j tjk�rœ| S d S )Nr   r\   r[   Úasr_   )rV   r   r‡   rO   Zdotted_as_namesZdotted_as_namer   r   r   rN   ÚstrÚstripr’   rM   Zimport_as_nameÚSTAR)r.   r   r…   rP   r–   Zlastr8   r   r   r   r•   ž  s@    




r•   )N)NN)N)N)N)N)N)5Zpgen2r   Zpytreer   r   Zpygramr   r   r5   r   r   r   r   r   r   r$   r'   r!   r/   r1   r4   r6   r9   r>   rA   rI   rQ   rZ   r^   r`   ra   Zconsuming_callsrm   rp   rq   rr   ro   rv   r{   r   r€   r‚   r†   rˆ   r�   rx   rw   r”   rƒ   r    rš   r’   r•   r   r   r   r   Ú<module>   sX   





		-
*
