£Á°è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>

Rec           @   sT  d  d l  Z  d d l m Z d d l m Z d d l m Z e  j d d d g  Z d	 e	 f d
     YZ
 d e
 f d     YZ d e
 f d     YZ d e f d     YZ d e
 f d     YZ d e f d     YZ d e f d     YZ e  j d d  Z d e f d     YZ d   Z e  j d d  Z d   Z d e f d      YZ d S(!   iNi   (   t   collections_abc(   t   AbstractResolver(   t   DirectedGrapht   RequirementInformationt   requirementt   parentt   ResolverExceptionc           B   s   e  Z d  Z RS(   s   A base class for all exceptions raised by this module.

    Exceptions derived by this class should all be handled in this module. Any
    bubbling pass the resolver should be treated as a bug.
    (   t   __name__t
   __module__t   __doc__(    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR      s   t   RequirementsConflictedc           B   s   e  Z d    Z d   Z RS(   c         C   s#   t  t |   j |  | |  _ d  S(   N(   t   superR
   t   __init__t	   criterion(   t   selfR   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR      s    c         C   s)   d j  d j d   |  j j   D   S(   Ns   Requirements conflict: {}s   , c         s   s   |  ] } t  |  Vq d  S(   N(   t   repr(   t   .0t   r(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>   s    (   t   formatt   joinR   t   iter_requirement(   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   __str__   s    (   R   R   R   R   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR
      s   	t   InconsistentCandidatec           B   s   e  Z d    Z d   Z RS(   c         C   s/   t  t |   j | |  | |  _ | |  _ d  S(   N(   R   R   R   t	   candidateR   (   R   R   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR   !   s    	c         C   s/   d j  |  j d j d   |  j j   D   S(   Ns+   Provided candidate {!r} does not satisfy {}s   , c         s   s   |  ] } t  |  Vq d  S(   N(   R   (   R   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>)   s    (   R   R   R   R   R   (   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR   &   s    (   R   R   R   R   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR       s   	t	   Criterionc           B   sS   e  Z d  Z d   Z d   Z e d    Z d   Z d   Z d   Z	 d   Z
 RS(   sQ  Representation of possible resolution results of a package.

    This holds three attributes:

    * `information` is a collection of `RequirementInformation` pairs.
      Each pair is a requirement contributing to this criterion, and the
      candidate that provides the requirement.
    * `incompatibilities` is a collection of all known not-to-work candidates
      to exclude from consideration.
    * `candidates` is a collection containing all possible candidates deducted
      from the union of contributing requirements and known incompatibilities.
      It should never be empty, except when the criterion is an attribute of a
      raised `RequirementsConflicted` (in which case it is always empty).

    .. note::
        This class is intended to be externally immutable. **Do not** mutate
        any of its attribute containers.
    c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t
   candidatest   informationt   incompatibilities(   R   R   R   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR   A   s    		c         C   s)   d j  d   |  j D  } d j |  S(   Ns   , c         s   s'   |  ] \ } } d  j  | |  Vq d S(   s   ({!r}, via={!r})N(   R   (   R   t   reqR   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>H   s   s   Criterion({})(   R   R   R   (   R   t   requirements(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   __repr__F   s    c         C   ss   | j  | g  } t | t j  s3 t |  } n  |  d | d t | |  g d g   } | so t |   n  | S(   s.   Build an instance from a requirement.
        R   R   R   (   t   find_matchest
   isinstanceR    t   Sequencet   listR   R
   (   t   clst   providerR   R   R   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   from_requirementM   s    	c         C   s   d   |  j  D S(   Nc         s   s   |  ] } | j  Vq d  S(   N(   R   (   R   t   i(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>^   s    (   R   (   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR   ]   s    c         C   s   d   |  j  D S(   Nc         s   s   |  ] } | j  Vq d  S(   N(   R   (   R   R&   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>a   s    (   R   (   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   iter_parent`   s    c   	      C   s   t  |  j  } | j t | |   | j g  | D] \ } } | ^ q2  } t | t j  sn t  |  } n  t |   | | t  |  j	   } | s t
 |   n  | S(   s>   Build a new instance from this and a new requirement.
        (   R"   R   t   appendR   R   R    R    R!   t   typeR   R
   (	   R   R$   R   R   t   infosR   t   _R   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   merged_withc   s    (!c         C   ss   t  |  j  } | j |  g  |  j D] } | | k r& | ^ q& } | sN d St |   | t  |  j  |  } | S(   s   Build a new instance from this, but excluding specified candidate.

        Returns the new instance, or None if we still have no valid candidates.
        N(   R"   R   R(   R   t   NoneR)   R   (   R   R   t	   incompatst   cR   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   excluded_ofp   s    (!(   R   R   R	   R   R   t   classmethodR%   R   R'   R,   R0   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR   -   s   					t   ResolutionErrorc           B   s   e  Z RS(    (   R   R   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR2   ~   s   t   ResolutionImpossiblec           B   s   e  Z d    Z RS(   c         C   s#   t  t |   j |  | |  _ d  S(   N(   R   R3   R   t   causes(   R   R4   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR      s    (   R   R   R   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR3      s   t   ResolutionTooDeepc           B   s   e  Z d    Z RS(   c         C   s#   t  t |   j |  | |  _ d  S(   N(   R   R5   R   t   round_count(   R   R6   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR      s    (   R   R   R   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR5      s   t   States   mapping criteriat
   Resolutionc           B   sn   e  Z d  Z d   Z e d    Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z RS(   s   Stateful resolution object.

    This is designed as a one-off object that holds information to kick start
    the resolution process, and holds the results afterwards.
    c         C   s   | |  _  | |  _ g  |  _ d  S(   N(   t   _pt   _rt   _states(   R   R$   t   reporter(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR      s    		c         C   s3   y |  j  d SWn t k
 r. t d   n Xd  S(   Nit   state(   R;   t
   IndexErrort   AttributeError(   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR=      s    c         C   s{   y |  j  d } Wn, t k
 r? t d t j   d i   } n( Xt d | j j   d | j j    } |  j  j |  d S(   s   Push a new state into history.

        This new state will be used to hold resolution results of the next
        coming round.
        it   mappingt   criteriaN(	   R;   R>   R7   t   collectionst   OrderedDictR@   t   copyRA   R(   (   R   t   baseR=   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _push_new_state   s    !c         C   s   |  j  j | |  |  j j |  } y |  j j | } Wn) t k
 rd t j |  j | |  } n X| j	 |  j | |  } | | f S(   N(
   R:   t   adding_requirementR9   t   identifyR=   RA   t   KeyErrorR   R%   R,   (   R   R   R   t   namet   crit(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _merge_into_criterion   s    c         C   sV   | \ } } y |  j  j | } Wn t k
 r9 d  } n X|  j j | | j | j  S(   N(   R=   R@   RI   R-   R9   t   get_preferenceR   R   (   R   t   itemRJ   R   t   pinned(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _get_criterion_item_preference   s    
	c            sL   y  j  j |   Wn t k
 r( t SXt    f d   | j   D  S(   Nc         3   s$   |  ] }  j  j |    Vq d  S(   N(   R9   t   is_satisfied_by(   R   R   (   t   current_pinR   (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>   s   (   R=   R@   RI   t   Falset   allR   (   R   RJ   R   (    (   RR   R   s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _is_current_pin_satisfying   s    c         C   sL   i  } x? |  j  j |  D]+ } |  j | d | \ } } | | | <q W| S(   NR   (   R9   t   get_dependenciesRL   (   R   R   RA   R   RJ   RK   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _get_criteria_to_update   s
    c            s   g  } x | j  D]   y  j    } Wn& t k
 rQ } | j | j  q n Xt    f d   | j   D  } | s t   |   n   j j	     j
 j j | d      j
 j | < j
 j j |  g  SW| S(   Nc         3   s$   |  ] }  j  j |    Vq d  S(   N(   R9   RQ   (   R   R   (   R   R   (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys	   <genexpr>   s   (   R   RW   R
   R(   R   RT   R   R   R:   t   pinningR=   R@   t   popR-   RA   t   update(   R   RJ   R   R4   RA   t   et	   satisfied(    (   R   R   s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _attempt_to_pin_criterion   s$    c         C   s   |  j  d =x t |  j   d k r |  j  j   } y | j j   \ } } Wn t k
 r` q n X|  j j |  |  j   |  j	 j
 | j |  } | d  k r |  j  d =q n  | |  j	 j
 | <t SWt S(   Nii   (   R;   t   lenRY   R@   t   popitemRI   R:   t   backtrackingRF   R=   RA   R0   R-   t   TrueRS   (   R   t
   prev_stateRJ   R   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt
   _backtrack   s     


c         C   s  |  j  r t d   n  |  j   xe | D]] } y |  j | d d  \ } } Wn% t k
 ru } t | j j   n X| |  j	 j
 | <q) W|  j j   x%t |  D]} |  j j |  |  j   |  j	 } g  |  j	 j
 j   D] }	 |  j |	   s |	 ^ q }
 |
 s(|  j  d =|  j j |  |  j	 St |
 d |  j \ } } |  j | |  } | r|  j   } | sg  | D] } | j D] } | ^ qqt} t |   qn  |  j j | |  q Wt |   d  S(   Ns   already resolvedR   it   key(   R;   t   RuntimeErrorRF   RL   R-   R
   R3   R   R   R=   RA   R:   t   startingt   ranget   starting_roundt   itemsRU   t   endingt   minRP   R]   Rc   t   ending_roundR5   (   R   R   t
   max_roundsR   RJ   RK   R[   t   round_indext   currRN   t   unsatisfied_criterion_itemsR   t   failure_causest   resultR&   R4   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   resolve  s@    	

	
)(   R   R   R	   R   t   propertyR=   RF   RL   RP   RU   RW   R]   Rc   Rs   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR8      s   				
	
		!	"c         C   s   | | k r t  S| |  k r  t Sx |  | j   D]t } y | t |  } Wn t k
 ra q1 n X| | k r | j |  t  St |  | | |  r1 | j |  t  Sq1 Wt S(   N(   Ra   RS   R'   t   idRI   t   addt   _has_route_to_root(   RA   Rd   t   all_keyst	   connectedt   pt   pkey(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyRw   T  s     t   Results   mapping graph criteriac            sH  |  j  } d   | j   D } d  | t d   <t   } | j d   d  h   x |  j j   D] \ } } t |  j | |    s q^ n  | | k r | j |  n  xk | j   D]] } y | t |  } Wn t	 k
 r q n X| | k r | j |  n  | j
 | |  q Wq^ Wt d   f d   | j   D d | d |  j  S(   Nc         S   s%   i  |  ] \ } } | t  |   q S(    (   Ru   (   R   t   kt   v(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys
   <dictcomp>l  s   	 R@   c            s+   i  |  ]! \ } } |   k r | |  q S(    (    (   R   R}   R~   (   Ry   (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pys
   <dictcomp>  s   	 t   graphRA   (   R@   Ri   R-   Ru   R   Rv   RA   Rw   R'   RI   t   connectR|   (   R=   R@   Rx   R   Rd   R   Rz   R{   (    (   Ry   s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   _build_resultj  s.    			t   Resolverc           B   s    e  Z d  Z e Z d d  Z RS(   s8   The thing that performs the actual resolution work.
    id   c         C   s4   t  |  j |  j  } | j | d | } t |  S(   s  Take a collection of constraints, spit out the resolution result.

        The return value is a representation to the final resolution result. It
        is a tuple subclass with three public members:

        * `mapping`: A dict of resolved candidates. Each key is an identifier
            of a requirement (as returned by the provider's `identify` method),
            and the value is the resolved candidate.
        * `graph`: A `DirectedGraph` instance representing the dependency tree.
            The vertices are keys of `mapping`, and each edge represents *why*
            a particular package is included. A special vertex `None` is
            included to represent parents of user-supplied requirements.
        * `criteria`: A dict of "criteria" that hold detailed information on
            how edges in the graph are derived. Each key is an identifier of a
            requirement, and the value is a `Criterion` instance.

        The following exceptions may be raised if a resolution cannot be found:

        * `ResolutionImpossible`: A resolution cannot be found for the given
            combination of requirements. The `causes` attribute of the
            exception is a list of (requirement, parent), giving the
            requirements that could not be satisfied.
        * `ResolutionTooDeep`: The dependency tree is too deeply nested and
            the resolver gave up. This is usually caused by a circular
            dependency, but you can try to resolve this by increasing the
            `max_rounds` argument.
        Rm   (   R8   R$   R<   Rs   R   (   R   R   Rm   t
   resolutionR=   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyRs     s    (   R   R   R	   R   t   base_exceptionRs   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyR     s   (   RB   t   compatR    t	   providersR   t   structsR   t
   namedtupleR   t	   ExceptionR   R
   R   t   objectR   R2   R3   R5   R7   R8   Rw   R|   R   R   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/resolvelib/resolvers.pyt   <module>   s$   Q		