£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Re                 @   s   Gd  d   d e   Z d S)c               @   s   e  Z 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 d d   Z d d   Z d d   Z d d   Z d S)DirectedGraphz+A graph structure with directed edges.
    c             C   s"   t    |  _ i  |  _ i  |  _ d  S)N)set	_vertices	_forwards
_backwards)self r   /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/resolvelib/structs.py__init__   s    	zDirectedGraph.__init__c             C   s   t  |  j  S)N)iterr   )r   r   r   r   __iter__
   s    zDirectedGraph.__iter__c             C   s   t  |  j  S)N)lenr   )r   r   r   r   __len__   s    zDirectedGraph.__len__c             C   s   | |  j  k S)N)r   )r   keyr   r   r   __contains__   s    zDirectedGraph.__contains__c             C   s]   t    } t |  j  | _ d d   |  j j   D | _ d d   |  j j   D | _ | S)z-Return a shallow copy of this graph.
        c             S   s%   i  |  ] \ } } t  |  |  q Sr   )r   ).0kvr   r   r   
<dictcomp>   s   	 z&DirectedGraph.copy.<locals>.<dictcomp>c             S   s%   i  |  ] \ } } t  |  |  q Sr   )r   )r   r   r   r   r   r   r      s   	 )r   r   r   r   itemsr   )r   otherr   r   r   copy   s
    	zDirectedGraph.copyc             C   sO   | |  j  k r t d   |  j  j |  t   |  j | <t   |  j | <d S)z'Add a new vertex to the graph.
        zvertex existsN)r   
ValueErroraddr   r   r   )r   r   r   r   r   r      s
    zDirectedGraph.addc             C   sv   |  j  j |  x. |  j j |  D] } |  j | j |  q# Wx. |  j j |  D] } |  j | j |  qT Wd S)zLRemove a vertex from the graph, disconnecting all edges from/to it.
        N)r   remover   popr   )r   r   ftr   r   r   r   %   s
    zDirectedGraph.removec             C   s$   | |  j  | k o# | |  j | k S)N)r   r   )r   r   r   r   r   r   	connected.   s    zDirectedGraph.connectedc             C   sG   | |  j  k r t |   |  j | j |  |  j | j |  d S)zgConnect two existing vertices.

        Nothing happens if the vertices are already connected.
        N)r   KeyErrorr   r   r   )r   r   r   r   r   r   connect1   s    zDirectedGraph.connectc             c   s@   x9 |  j  j   D]( \ } } x | D] } | | f Vq# Wq Wd  S)N)r   r   )r   r   childrenr   r   r   r   
iter_edges;   s    zDirectedGraph.iter_edgesc             C   s   t  |  j |  S)N)r
   r   )r   r   r   r   r   iter_children@   s    zDirectedGraph.iter_childrenc             C   s   t  |  j |  S)N)r
   r   )r   r   r   r   r   iter_parentsC   s    zDirectedGraph.iter_parentsN)__name__
__module____qualname____doc__r	   r   r   r   r   r   r   r   r   r!   r"   r#   r   r   r   r   r      s   			
r   N)objectr   r   r   r   r   <module>   s    