ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \m                 @   s   d Z ddlZddlZddlmZ dZi add ZG dd deZ	G d	d
 d
e	Z
G dd de	Zdd ZG dd deZG dd deZG dd deZG dd deZG dd deZdd ZdS )z#Guido van Rossum <guido@python.org>    N)StringIOic             C   sH   t s<ddlm} x*|jj D ]\}}t|tkr|t |< qW t j| | S )N   )python_symbols)_type_reprsZpygramr   __dict__itemstypeint
setdefault)Ztype_numr   nameval r   &/usr/lib64/python3.6/lib2to3/pytree.py	type_repr   s     r   c               @   s   e Zd ZdZdZf ZdZdZdd Zdd Z	dZ
dd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zedd Zedd Zdd Zdd Zdd  Zejd%k rd#d$ ZdS )&BaseNFc             O   s
   t j| S )N)object__new__)clsargskwdsr   r   r   r   2   s    zBase.__new__c             C   s   | j |j k	rtS | j|S )N)	__class__NotImplemented_eq)selfotherr   r   r   __eq__7   s    zBase.__eq__c             C   s   t d S )N)NotImplementedError)r   r   r   r   r   r   C   s    	zBase._eqc             C   s   t d S )N)r   )r   r   r   r   cloneN   s    z
Base.clonec             C   s   t d S )N)r   )r   r   r   r   
post_orderV   s    zBase.post_orderc             C   s   t d S )N)r   )r   r   r   r   	pre_order^   s    zBase.pre_orderc             C   s   t |ts|g}g }d}x:| jjD ].}|| krF|d k	r@|j| d}q"|j| q"W | jj  || j_x|D ]}| j|_qlW d | _d S )NFT)
isinstancelistparentchildrenextendappendchanged)r   newZ
l_childrenfoundchxr   r   r   replacef   s    



zBase.replacec             C   s.   | }x"t |ts&|jsd S |jd }qW |jS )Nr   )r    Leafr#   lineno)r   noder   r   r   
get_lineno}   s    zBase.get_linenoc             C   s   | j r| j j  d| _d S )NT)r"   r&   was_changed)r   r   r   r   r&      s    
zBase.changedc             C   sJ   | j rFx>t| j jD ].\}}|| kr| j j  | j j|= d | _ |S qW d S )N)r"   	enumerater#   r&   )r   ir.   r   r   r   remove   s    

zBase.removec             C   sZ   | j d krd S xFt| j jD ]6\}}|| kry| j j|d  S  tk
rP   d S X qW d S )Nr   )r"   r1   r#   
IndexError)r   r2   childr   r   r   next_sibling   s    
zBase.next_siblingc             C   sP   | j d krd S x<t| j jD ],\}}|| kr|dkr8d S | j j|d  S qW d S )Nr   r   )r"   r1   r#   )r   r2   r5   r   r   r   prev_sibling   s    
zBase.prev_siblingc             c   s"   x| j D ]}|j E d H  qW d S )N)r#   leaves)r   r5   r   r   r   r8      s    zBase.leavesc             C   s   | j d krdS d| j j  S )Nr   r   )r"   depth)r   r   r   r   r9      s    
z
Base.depthc             C   s   | j }|d krdS |jS )N )r6   prefix)r   Znext_sibr   r   r   
get_suffix   s    zBase.get_suffix   r   c             C   s   t | jdS )Nascii)strencode)r   r   r   r   __str__   s    zBase.__str__)r=   r   )__name__
__module____qualname__r   r"   r#   r0   Zwas_checkedr   r   __hash__r   r   r   r   r+   r/   r&   r3   propertyr6   r7   r8   r9   r<   sysversion_inforA   r   r   r   r   r       s.   
	

r   c               @   s   e Zd ZdddZdd Zdd Zejdkr0eZd
d Z	dd Z
dd Zdd Zdd Zdd ZeeeZdd Zdd Zdd ZdS )NodeNc             C   sR   || _ t|| _x| jD ]
}| |_qW |d k	r4|| _|rH|d d  | _nd | _d S )N)r   r!   r#   r"   r;   fixers_applied)r   r   r#   contextr;   rJ   r)   r   r   r   __init__   s    

zNode.__init__c             C   s   d| j jt| j| jf S )Nz
%s(%s, %r))r   rB   r   r   r#   )r   r   r   r   __repr__   s    zNode.__repr__c             C   s   dj tt| jS )Nr:   )joinmapr?   r#   )r   r   r   r   __unicode__   s    zNode.__unicode__r=   r   c             C   s   | j | jf|j |jfkS )N)r   r#   )r   r   r   r   r   r      s    zNode._eqc             C   s   t | jdd | jD | jdS )Nc             S   s   g | ]}|j  qS r   )r   ).0r)   r   r   r   
<listcomp>  s    zNode.clone.<locals>.<listcomp>)rJ   )rI   r   r#   rJ   )r   r   r   r   r     s    z
Node.clonec             c   s(   x| j D ]}|j E d H  qW | V  d S )N)r#   r   )r   r5   r   r   r   r     s    zNode.post_orderc             c   s(   | V  x| j D ]}|j E d H  qW d S )N)r#   r   )r   r5   r   r   r   r     s    zNode.pre_orderc             C   s   | j s
dS | j d jS )Nr:   r   )r#   r;   )r   r   r   r   _prefix_getter  s    zNode._prefix_getterc             C   s   | j r|| j d _d S )Nr   )r#   r;   )r   r;   r   r   r   _prefix_setter  s    zNode._prefix_setterc             C   s(   | |_ d | j| _ || j|< | j  d S )N)r"   r#   r&   )r   r2   r5   r   r   r   	set_child!  s    
zNode.set_childc             C   s    | |_ | jj|| | j  d S )N)r"   r#   insertr&   )r   r2   r5   r   r   r   insert_child+  s    zNode.insert_childc             C   s   | |_ | jj| | j  d S )N)r"   r#   r%   r&   )r   r5   r   r   r   append_child4  s    zNode.append_child)NNN)r=   r   )rB   rC   rD   rL   rM   rP   rG   rH   rA   r   r   r   r   rS   rT   rF   r;   rU   rW   rX   r   r   r   r   rI      s"     



	rI   c               @   s   e Zd ZdZdZdZddg fddZdd Zdd	 Ze	j
dkrBeZdd Zdd Zdd Zdd Zdd Zdd Zdd ZeeeZdS )r,   r:   r   Nc             C   sF   |d k	r|\| _ \| _| _|| _|| _|d k	r4|| _ |d d  | _d S )N)_prefixr-   columnr   valuerJ   )r   r   r[   rK   r;   rJ   r   r   r   rL   G  s    zLeaf.__init__c             C   s   d| j j| j| jf S )Nz
%s(%r, %r))r   rB   r   r[   )r   r   r   r   rM   Z  s    zLeaf.__repr__c             C   s   | j t| j S )N)r;   r?   r[   )r   r   r   r   rP   `  s    zLeaf.__unicode__r=   c             C   s   | j | jf|j |jfkS )N)r   r[   )r   r   r   r   r   r   k  s    zLeaf._eqc             C   s$   t | j| j| j| j| jff| jdS )N)rJ   )r,   r   r[   r;   r-   rZ   rJ   )r   r   r   r   r   o  s    
z
Leaf.clonec             c   s
   | V  d S )Nr   )r   r   r   r   r8   u  s    zLeaf.leavesc             c   s
   | V  d S )Nr   )r   r   r   r   r   x  s    zLeaf.post_orderc             c   s
   | V  d S )Nr   )r   r   r   r   r   |  s    zLeaf.pre_orderc             C   s   | j S )N)rY   )r   r   r   r   rS     s    zLeaf._prefix_getterc             C   s   | j   || _d S )N)r&   rY   )r   r;   r   r   r   rT     s    zLeaf._prefix_setter)r=   r   )rB   rC   rD   rY   r-   rZ   rL   rM   rP   rG   rH   rA   r   r   r8   r   r   rS   rT   rF   r;   r   r   r   r   r,   >  s$   
r,   c             C   sN   |\}}}}|s|| j kr<t|dkr.|d S t|||dS t|||dS d S )Nr   r   )rK   )Znumber2symbollenrI   r,   )ZgrZraw_noder   r[   rK   r#   r   r   r   convert  s    r]   c               @   sL   e Zd ZdZdZdZdd Zdd Zdd Zddd	Z	dd
dZ
dd ZdS )BasePatternNc             O   s
   t j| S )N)r   r   )r   r   r   r   r   r   r     s    zBasePattern.__new__c             C   sL   t | j| j| jg}x|r.|d d kr.|d= qW d| jjdjtt|f S )Nr   z%s(%s)z, r_   )	r   r   contentr   r   rB   rN   rO   repr)r   r   r   r   r   rM     s    
zBasePattern.__repr__c             C   s   | S )Nr   )r   r   r   r   optimize  s    zBasePattern.optimizec             C   sn   | j d k	r|j | j krdS | jd k	rRd }|d k	r4i }| j||sDdS |rR|j| |d k	rj| jrj||| j< dS )NFT)r   r`   	_submatchupdater   )r   r.   resultsrr   r   r   match  s    


zBasePattern.matchc             C   s    t |dkrdS | j|d |S )Nr   Fr   )r\   rg   )r   nodesre   r   r   r   	match_seq  s    zBasePattern.match_seqc             c   s&   i }|r"| j |d |r"d|fV  d S )Nr   r   )rg   )r   rh   rf   r   r   r   generate_matches  s    zBasePattern.generate_matches)N)N)rB   rC   rD   r   r`   r   r   rM   rb   rg   ri   rj   r   r   r   r   r^     s   


r^   c               @   s*   e Zd ZdddZd	ddZd
ddZdS )LeafPatternNc             C   s&   |d k	r|d k	r|| _ || _|| _d S )N)r   r`   r   )r   r   r`   r   r   r   r   rL     s
    zLeafPattern.__init__c             C   s   t |tsdS tj| ||S )NF)r    r,   r^   rg   )r   r.   re   r   r   r   rg     s    
zLeafPattern.matchc             C   s   | j |jkS )N)r`   r[   )r   r.   re   r   r   r   rc     s    zLeafPattern._submatch)NNN)N)N)rB   rC   rD   rL   rg   rc   r   r   r   r   rk     s   

rk   c               @   s$   e Zd ZdZdddZdddZdS )	NodePatternFNc             C   sT   |d k	r|d k	r>t |}x$t|D ]\}}t|tr"d| _q"W || _|| _|| _d S )NT)r!   r1   r    WildcardPattern	wildcardsr   r`   r   )r   r   r`   r   r2   itemr   r   r   rL   %  s    

zNodePattern.__init__c             C   s   | j rJx>t| j|jD ],\}}|t|jkr|d k	r>|j| dS qW dS t| jt|jkrbdS x*t| j|jD ]\}}|j||srdS qrW dS )NTF)rn   rj   r`   r#   r\   rd   ziprg   )r   r.   re   crf   
subpatternr5   r   r   r   rc   B  s    
zNodePattern._submatch)NNN)N)rB   rC   rD   rn   rL   rc   r   r   r   r   rl   !  s   
rl   c               @   sZ   e Zd ZddedfddZdd ZdddZdd	d
Zdd Zdd Z	dd Z
dd ZdS )rm   Nr   c             C   s@   |d k	r$t tt |}x|D ]}qW || _|| _|| _|| _d S )N)tuplerO   r`   minmaxr   )r   r`   rt   ru   r   altr   r   r   rL   l  s    
zWildcardPattern.__init__c             C   s   d }| j d k	r<t| j dkr<t| j d dkr<| j d d }| jdkr| jdkr| j d krft| jdS |d k	r| j|jkr|j S | jdkrt|tr|jdkr| j|jkrt|j | j|j | j|j |jS | S )Nr   r   )r   )	r`   r\   rt   ru   rl   r   rb   r    rm   )r   rr   r   r   r   rb     s     
 


zWildcardPattern.optimizec             C   s   | j |g|S )N)ri   )r   r.   re   r   r   r   rg     s    zWildcardPattern.matchc             C   sR   xL| j |D ]>\}}|t|kr|d k	rF|j| | jrFt||| j< dS qW dS )NTF)rj   r\   rd   r   r!   )r   rh   re   rq   rf   r   r   r   ri     s    
zWildcardPattern.match_seqc             c   s:  | j d krXxJt| jdtt|| j D ]*}i }| jrH|d | || j< ||fV  q(W n| jdkrp| j|V  nttdrtj	}t
 t_	zy@x:| j|dD ]*\}}| jr|d | || j< ||fV  qW W nR tk
r   x:| j|D ],\}}| jr
|d | || j< ||fV  qW Y nX W d ttdr4|t_	X d S )Nr   Z	bare_namegetrefcountr   )r`   rangert   r\   ru   r   _bare_name_matcheshasattrrG   stderrr   _recursive_matchesRuntimeError_iterative_matches)r   rh   countrf   Zsave_stderrr   r   r   rj     s.    
"

z WildcardPattern.generate_matchesc             c   s  t |}d| jkrdi fV  g }x>| jD ]4}x.t||D ] \}}||fV  |j||f q8W q(W x|rg }x|D ]\}}	||k rr|| jkrrxn| jD ]d}x^t|||d  D ]H\}
}|
dkri }|j|	 |j| ||
 |fV  |j||
 |f qW qW qrW |}qbW d S )Nr   )r\   rt   r`   rj   r%   ru   rd   )r   rh   Znodelenre   rv   rq   rf   Znew_resultsc0r0c1r1r   r   r   r~     s*    




z"WildcardPattern._iterative_matchesc             C   sx   d}i }d}t |}xH| r\||k r\d}x0| jD ]&}|d j|| |r0|d7 }d}P q0W qW |d | || j< ||fS )Nr   FTr   )r\   r`   rg   r   )r   rh   r   rf   doneru   Zleafr   r   r   ry     s    
z"WildcardPattern._bare_name_matchesc       	      c   s   || j krdi fV  || jk rxr| jD ]h}xbt||D ]T\}}xJ| j||d  |d D ].\}}i }|j| |j| || |fV  qXW q6W q&W d S )Nr   r   )rt   ru   r`   rj   r|   rd   )	r   rh   r   rv   r   r   r   r   rf   r   r   r   r|     s    


"

z"WildcardPattern._recursive_matches)N)N)rB   rC   rD   HUGErL   rb   rg   ri   rj   r~   ry   r|   r   r   r   r   rm   ^  s   #

-rm   c               @   s.   e Zd Zd
ddZdd Zdd Zdd	 ZdS )NegatedPatternNc             C   s   |d k	r|| _ d S )N)r`   )r   r`   r   r   r   rL     s    	zNegatedPattern.__init__c             C   s   dS )NFr   )r   r.   r   r   r   rg   )  s    zNegatedPattern.matchc             C   s   t |dkS )Nr   )r\   )r   rh   r   r   r   ri   -  s    zNegatedPattern.match_seqc             c   sL   | j d kr"t|dkrHdi fV  n&x| j j|D ]
\}}d S W di fV  d S )Nr   )r`   r\   rj   )r   rh   rq   rf   r   r   r   rj   1  s    
zNegatedPattern.generate_matches)N)rB   rC   rD   rL   rg   ri   rj   r   r   r   r   r     s   
r   c       	      c   s   | sdi fV  n| d | dd   }}xl|j |D ]^\}}|sJ||fV  q2xDt |||d  D ].\}}i }|j| |j| || |fV  q^W q2W d S )Nr   r   )rj   rd   )	Zpatternsrh   prestr   r   r   r   rf   r   r   r   rj   =  s    

rj   )
__author__rG   warningsior   r   r   r   r   r   rI   r,   r]   r^   rk   rl   rm   r   rj   r   r   r   r   <module>   s$   
 1nNV,= =#