<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]m                 @   s  d  Z  d d l Z d d l Z d d l m Z d Z i  a d d   Z Gd d   d e  Z	 Gd	 d
   d
 e	  Z
 Gd d   d e	  Z d d   Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z d d   Z d S)z#Guido van Rossum <guido@python.org>    N)StringIOic             C   sb   t  sR d d l m } x9 | j j   D]( \ } } t |  t k r& | t  | <q& Wt  j |  |   S)N   )python_symbols)_type_reprsZpygramr   __dict__itemstypeint
setdefault)Ztype_numr   nameval r   +/opt/alt/python35/lib64/python3.5/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  rd# 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 } xO |  j j D]A } | |  k re | d  k	 r\ | j |  d } q1 | j |  q1 W|  j j   | |  j _ x | D] } |  j | _ q Wd  |  _ 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  s5 | 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   sc   |  j  r_ xS t |  j  j  D]? \ } } | |  k r |  j  j   |  j  j | =d  |  _  | Sq Wd  S)N)r"   	enumerater#   r&   )r   ir.   r   r   r   remove   s    		zBase.removec             C   su   |  j  d  k r d  Sx[ t |  j  j  D]G \ } } | |  k r& y |  j  j | d SWq& t k
 rl d  SYq& Xq& Wd  S)Nr   )r"   r1   r#   
IndexError)r   r2   childr   r   r   next_sibling   s    zBase.next_siblingc             C   sh   |  j  d  k r d  SxN t |  j  j  D]: \ } } | |  k r& | d k rN d  S|  j  j | d Sq& Wd  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   Ed  Hq
 Wd  S)N)r#   leaves)r   r5   r   r   r   r8      s    zBase.leavesc             C   s$   |  j  d  k r d Sd |  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 d d  Z d d   Z d d   Z e j d k rN e 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   ss   | |  _  t |  |  _ x |  j D] } |  | _ q" W| d  k	 rJ | |  _ | rf | 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 d |  j S)Nc             S   s   g  |  ] } | j     q Sr   )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   Ed  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   Ed  Hq Wd  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   s4   |  | _  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)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  d d  Z d d   Z d d	   Z e	 j
 d k r` e 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   se   | d  k	 r' | \ |  _  \ |  _ |  _ | |  _ | |  _ | d  k	 rN | |  _  | 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   s4   t  |  j |  j |  j |  j |  j f f d |  j S)NrJ   )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   sk   | \ } } } } | s' | |  j  k rT t |  d k rA | d St | | d | St | | d | Sd  S)Nr   r   rK   )Znumber2symbollenrI   r,   )ZgrZraw_noder   r[   rK   r#   r   r   r   convert  s    r]   c               @   sp   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   sh   t  |  j  |  j |  j g } x! | rA | d d  k rA | d =q! Wd |  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   s   |  j  d  k	 r% | j  |  j  k r% d S|  j d  k	 ru d  } | d  k	 rL i  } |  j | |  sb d S| ru | j |  | d  k	 r |  j r | | |  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   s1   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)rB   rC   rD   r   r`   r   r   rM   rb   rg   ri   rj   r   r   r   r   r^     s   
r^   c               @   sC   e  Z d  Z d d d d d  Z d d d  Z d d d  Z d S)LeafPatternNc             C   s7   | 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 St 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)rB   rC   rD   rL   rg   rc   r   r   r   r   rk     s   rk   c               @   s:   e  Z d  Z d Z d d d d d  Z d d d  Z d S)NodePatternFNc             C   sx   | d  k	 r | d  k	 rY t  |  } x2 t |  D]$ \ } } t | t  r1 d |  _ q1 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  re xU t |  j | j  D]> \ } } | t | j  k r | d  k	 rY | j |  d Sq Wd St |  j  t | j  k r d Sx9 t |  j | j  D]" \ } } | j | |  s d Sq Wd S)NTF)rn   rj   r`   r#   r\   rd   ziprg   )r   r.   re   crf   
subpatternr5   r   r   r   rc   B  s    	""zNodePattern._submatch)rB   rC   rD   rn   rL   rc   r   r   r   r   rl   !  s   rl   c               @   s   e  Z d  Z d d e d 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   sZ   | d  k	 r2 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	 rT t |  j   d k rT t |  j  d  d k rT |  j  d d } |  j d k r |  j d k r |  j  d  k r t d |  j  S| d  k	 r |  j | j k r | j   S|  j d k r%t | t  r%| j d k r%|  j | j k r%t | 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   so   xh |  j  |  D]W \ } } | t |  k r | d  k	 rc | j |  |  j rc t |  | |  j <d Sq Wd 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 rv xzt |  j d t t |  |  j   D]7 } i  } |  j rd | d  |  | |  j <| | f Vq8 Wn|  j d k r |  j |  Vn t t d  r t j	 } t
   t _	 z yR xK |  j | d  D]7 \ } } |  j r | d  |  | |  j <| | f Vq WWn] t k
 rnxH |  j |  D]7 \ } } |  j r[| d  |  | |  j <| | f Vq/WYn XWd  t t d  r| t _	 Xd  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  } xO |  j D]D } x; t | |  D]* \ } } | | f V| j | | f  qL Wq6 Wx | rXg  } x | D] \ } }	 | | k  r | |  j k r x |  j D] } xy t | | | d    D]^ \ }
 } |
 d k r i  } | j |	  | j |  | |
 | f V| j | |
 | f  q Wq Wq W| } q Wd  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   s   d } i  } d } t  |  } x\ | r| | | k  r| d } x< |  j D]1 } | d j | | |  rD | d 7} d } PqD Wq! 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  r x |  j D] } x} t | |  D]l \ } } x] |  j | | d   | d  D]; \ } } i  } | j |  | j |  | | | f Vqv WqI Wq3 Wd  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)rB   rC   rD   HUGErL   rb   rg   ri   rj   r~   ry   r|   r   r   r   r   rm   ^  s   #-rm   c               @   sC   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   sb   |  j  d  k r/ t |  d k r^ d i  f Vn/ x! |  j  j |  D] \ } } d  SWd i  f Vd  S)Nr   )r`   r\   rj   )r   rh   rq   rf   r   r   r   rj   1  s    zNegatedPattern.generate_matches)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   } } x | j  |  D]y \ } } | s_ | | f Vq? xV t  | | | d    D]; \ } } i  } | j |  | j |  | | | f Vqy Wq? Wd  S)Nr   r   )rj   rd   )	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    
nNV,=#