ÿØÿà 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
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
abc           @   sr  d  Z  d d l Z d d l Z d d l m Z d d d d d	 d
 d d g Z e j e  Z d e	 f d     YZ
 d e f d     YZ d e f d     YZ e j d  Z d   Z e Z d e f d     YZ d   Z d e f d     YZ e j d  d f e j d  d f e j d  d f e j d  d f e j d  d f e j d   d f e j d!  d" f e j d#  d$ f e j d%  d& f e j d'  d( f f
 Z e j d)  d f e j d*  d f e j d+  d" f e j d!  d" f e j d,  d f f Z e j d-  Z d.   Z d/   Z e j d0 e j  Z i d1 d2 6d1 d3 6d4 d5 6d1 d6 6d7 d8 6d d 6d d" 6Z d9   Z d e f d:     YZ d e f d;     YZ  e j d< e j  Z! d=   Z" d>   Z# d	 e f d?     YZ$ d
 e f d@     YZ% dA e f dB     YZ& i e& e e e  dC 6e& e e  dD    dE 6e& e# e% e  dF 6Z' e' dC e' dG <dH   Z( d S(I   s~   
Implementation of a flexible versioning scheme providing support for PEP-440,
setuptools-compatible and semantic versioning.
iNi   (   t   string_typest   NormalizedVersiont   NormalizedMatchert   LegacyVersiont   LegacyMatchert   SemanticVersiont   SemanticMatchert   UnsupportedVersionErrort
   get_schemec           B   s   e  Z d  Z RS(   s   This is an unsupported version.(   t   __name__t
   __module__t   __doc__(    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR      s   t   Versionc           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z e d    Z RS(   c         C   sZ   | j    |  _ } |  j |  |  _ } t | t  s> t  t |  d k sV t  d  S(   Ni    (   t   stript   _stringt   parset   _partst
   isinstancet   tuplet   AssertionErrort   len(   t   selft   st   parts(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __init__   s    c         C   s   t  d   d  S(   Ns   please implement in a subclass(   t   NotImplementedError(   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR   $   s    c         C   s5   t  |   t  |  k r1 t d |  | f   n  d  S(   Ns   cannot compare %r and %r(   t   typet	   TypeError(   R   t   other(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _check_compatible'   s    c         C   s   |  j  |  |  j | j k S(   N(   R   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __eq__+   s    c         C   s   |  j  |  S(   N(   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __ne__/   s    c         C   s   |  j  |  |  j | j k  S(   N(   R   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __lt__2   s    c         C   s   |  j  |  p |  j |  S(   N(   R    R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __gt__6   s    c         C   s   |  j  |  p |  j |  S(   N(   R    R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __le__9   s    c         C   s   |  j  |  p |  j |  S(   N(   R!   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __ge__<   s    c         C   s   t  |  j  S(   N(   t   hashR   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __hash__@   s    c         C   s   d |  j  j |  j f S(   Ns   %s('%s')(   t	   __class__R	   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __repr__C   s    c         C   s   |  j  S(   N(   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   __str__F   s    c         C   s   t  d   d  S(   Ns   Please implement in subclasses.(   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   is_prereleaseI   s    (   R	   R
   R   R   R   R   R   R    R!   R"   R#   R%   R'   R(   t   propertyR)   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR      s   												t   Matcherc           B   s   e  Z d Z e j d   Z e j d  Z e j d  Z i d   d 6d   d 6d   d 6d	   d
 6d   d 6d   d 6d   d 6d   d 6Z	 d   Z
 d   Z e d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   s   ^(\w[\s\w'.-]*)(\((.*)\))?s'   ^(<=|>=|<|>|!=|={2,3}|~=)?\s*([^\s,]+)$s   ^\d+(\.\d+)*$c         C   s
   |  | k  S(   N(    (   t   vt   ct   p(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   <lambda>W   t    t   <c         C   s
   |  | k S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   X   R0   t   >c         C   s   |  | k p |  | k  S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   Y   R0   s   <=c         C   s   |  | k p |  | k S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   Z   R0   s   >=c         C   s
   |  | k S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   [   R0   s   ==c         C   s
   |  | k S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   \   R0   s   ===c         C   s   |  | k p |  | k S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   ^   R0   s   ~=c         C   s
   |  | k S(   N(    (   R,   R-   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/   _   R0   s   !=c   
      C   s  |  j  d  k r t d   n  | j   |  _ } |  j j |  } | s\ t d |   n  | j d  } | d j   |  _ |  j j	   |  _
 g  } | d rg  | d j d  D] } | j   ^ q } x | D] } |  j j |  } | s
t d | | f   n  | j   } | d p#d } | d	 } | j d
  r| d k r^t d |   n  | d  t } }	 |  j j |  s|  j  |  qn |  j  |  t } }	 | j | | |	 f  q Wn  t |  |  _ d  S(   Ns   Please specify a version classs   Not valid: %rR0   i    i   t   ,s   Invalid %r in %rs   ~=i   s   .*s   ==s   !=s#   '.*' not allowed for %r constraintsi(   s   ==s   !=(   t   version_classt   Nonet
   ValueErrorR   R   t   dist_ret   matcht   groupst   namet   lowert   keyt   splitt   comp_ret   endswitht   Truet   num_ret   Falset   appendR   R   (
   R   R   t   mR9   t   clistR-   t   constraintst   opt   vnt   prefix(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR   b   s:    
,
c         C   s   t  | t  r! |  j |  } n  x |  j D] \ } } } |  j j |  } t  | t  rm t |  |  } n  | s d | |  j j f } t	 |   n  | | | |  s+ t
 Sq+ Wt S(   s   
        Check if the provided version matches the constraints.

        :param version: The version to match against this instance.
        :type version: String or :class:`Version` instance.
        s   %r not implemented for %s(   R   R    R4   R   t
   _operatorst   gett   getattrR&   R	   R   RB   R@   (   R   t   versiont   operatort
   constraintRI   t   ft   msg(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR8      s    c         C   sJ   d  } t |  j  d k rF |  j d d d k rF |  j d d } n  | S(   Ni   i    s   ==s   ===(   s   ==s   ===(   R5   R   R   (   R   t   result(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   exact_version   s    ,c         C   sG   t  |   t  |  k s* |  j | j k rC t d |  | f   n  d  S(   Ns   cannot compare %s and %s(   R   R:   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR      s    *c         C   s/   |  j  |  |  j | j k o. |  j | j k S(   N(   R   R<   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR      s    c         C   s   |  j  |  S(   N(   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR      s    c         C   s   t  |  j  t  |  j  S(   N(   R$   R<   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR%      s    c         C   s   d |  j  j |  j f S(   Ns   %s(%r)(   R&   R	   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR'      s    c         C   s   |  j  S(   N(   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR(      s    N(   R	   R
   R5   R4   t   ret   compileR7   R>   RA   RJ   R   R8   R*   RS   R   R   R   R%   R'   R(   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR+   N   s,   






	%						sk   ^v?(\d+!)?(\d+(\.\d+)*)((a|b|c|rc)(\d+))?(\.(post)(\d+))?(\.(dev)(\d+))?(\+([a-zA-Z\d]+(\.[a-zA-Z\d]+)?))?$c         C   sK  |  j    }  t j |   } | s4 t d |    n  | j   } t d   | d j d  D  } x0 t |  d k r | d d k r | d  } qf W| d s d } n t | d  } | d d !} | d	 d
 !} | d d !} | d } | d k r d } n | d t | d  f } | d k r.d } n | d t | d  f } | d k r]d } n | d t | d  f } | d  k rd } nf g  }	 xQ | j d  D]@ }
 |
 j
   rd t |
  f }
 n d |
 f }
 |	 j |
  qWt |	  } | s| r| rd } qd } n  | s&d } n  | s5d } n  | | | | | | f S(   Ns   Not a valid version: %sc         s   s   |  ] } t  |  Vq d  S(   N(   t   int(   t   .0R,   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pys	   <genexpr>   s    i   t   .ii    i   i   i   i	   i
   i   i   t   at   zt   _t   final(   NN(    (   NN(    (   NN(    (    (   RY   i(   RZ   (   R[   (   R\   (   R   t   PEP440_VERSION_RER8   R   R9   R   R=   R   RV   R5   t   isdigitRC   (   R   RD   R9   t   numst   epocht   pret   postt   devt   localR   t   part(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _pep_440_key   sT    #%
	
								c           B   sA   e  Z d  Z d   Z e d d d d d g  Z e d    Z RS(   sI  A rational version.

    Good:
        1.2         # equivalent to "1.2.0"
        1.2.0
        1.2a1
        1.2.3a2
        1.2.3b1
        1.2.3c1
        1.2.3.4
        TODO: fill this out

    Bad:
        1           # minimum two numbers
        1.2a        # release level must have a release serial
        1.2.3b
    c         C   sQ   t  |  } t j |  } | j   } t d   | d j d  D  |  _ | S(   Nc         s   s   |  ] } t  |  Vq d  S(   N(   RV   (   RW   R,   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pys	   <genexpr>  s    i   RX   (   t   _normalized_keyR]   R8   R9   R   R=   t   _release_clause(   R   R   RR   RD   R9   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s
    &RY   t   bR-   t   rcRc   c            s   t    f d     j D  S(   Nc         3   s(   |  ] } | r | d    j  k Vq d S(   i    N(   t   PREREL_TAGS(   RW   t   t(   R   (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pys	   <genexpr>  s    (   t   anyR   (   R   (    (   R   s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR)     s    (   R	   R
   R   R   t   setRk   R*   R)   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR      s   	c         C   sU   t  |   }  t  |  } |  | k r( t S|  j |  s; t St |  } |  | d k S(   NRX   (   t   strR@   t
   startswithRB   R   (   t   xt   yt   n(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _match_prefix"  s    c           B   s   e  Z e Z i d  d 6d d 6d d 6d d 6d d	 6d
 d 6d d 6d d 6Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z RS(   t   _match_compatibles   ~=t	   _match_ltR1   t	   _match_gtR2   t	   _match_les   <=t	   _match_ges   >=t	   _match_eqs   ==t   _match_arbitrarys   ===t	   _match_nes   !=c         C   sx   | r" d | k o | j  d } n | j  d o: | j  d } | rn | j j d d  d } |  j |  } n  | | f S(   Nt   +ii   i    (   R   R   R=   R4   (   R   RM   RO   RI   t   strip_localR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _adjust_local<  s    c         C   sj   |  j  | | |  \ } } | | k r+ t S| j } d j g  | D] } t |  ^ qA  } t | |  S(   NRX   (   R   RB   Rh   t   joinRo   Rt   (   R   RM   RO   RI   t   release_clauset   it   pfx(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRv   J  s    	(c         C   sj   |  j  | | |  \ } } | | k r+ t S| j } d j g  | D] } t |  ^ qA  } t | |  S(   NRX   (   R   RB   Rh   R   Ro   Rt   (   R   RM   RO   RI   R   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRw   R  s    	(c         C   s%   |  j  | | |  \ } } | | k S(   N(   R   (   R   RM   RO   RI   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRx   Z  s    c         C   s%   |  j  | | |  \ } } | | k S(   N(   R   (   R   RM   RO   RI   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRy   ^  s    c         C   sC   |  j  | | |  \ } } | s0 | | k } n t | |  } | S(   N(   R   Rt   (   R   RM   RO   RI   RR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRz   b  s
    c         C   s   t  |  t  |  k S(   N(   Ro   (   R   RM   RO   RI   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR{   j  s    c         C   sD   |  j  | | |  \ } } | s0 | | k } n t | |  } | S(   N(   R   Rt   (   R   RM   RO   RI   RR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR|   m  s
    c         C   s   |  j  | | |  \ } } | | k r+ t S| | k  r; t S| j } t |  d k rc | d  } n  d j g  | D] } t |  ^ qp  } t | |  S(   Ni   iRX   (   R   R@   RB   Rh   R   R   Ro   Rt   (   R   RM   RO   RI   R   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRu   u  s    	((   R	   R
   R   R4   RJ   R   Rv   Rw   Rx   Ry   Rz   R{   R|   Ru   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR   -  s&   
								s   [.+-]$R0   s   ^[.](\d)s   0.\1s   ^[.-]s
   ^\((.*)\)$s   \1s   ^v(ersion)?\s*(\d+)s   \2s   ^r(ev)?\s*(\d+)s   [.]{2,}RX   s   \b(alfa|apha)\bt   alphas   \b(pre-alpha|prealpha)\bs	   pre.alphas	   \(beta\)$t   betas
   ^[:~._+-]+s
   [,*")([\]]s   [~:+_ -]s   \.$s   (\d+(\.\d+)*)c   	      C   s  |  j    j   } x& t D] \ } } | j | |  } q W| sJ d } n  t j |  } | sn d } | } n | j   d j d  } g  | D] } t |  ^ q } x# t	 |  d k  r | j
 d  q Wt	 |  d k r | | j   } nD d j g  | d D] } t |  ^ q | | j   } | d  } d j g  | D] } t |  ^ qB } | j    } | rx) t D] \ } } | j | |  } qvWn  | s| } n& d | k rd n d } | | | } t |  sd } n  | S(	   s   
    Try to suggest a semantic form for a version for which
    _suggest_normalized_version couldn't come up with anything.
    s   0.0.0i    RX   i   Rc   t   -R}   N(   R   R;   t   _REPLACEMENTSt   subt   _NUMERIC_PREFIXR8   R9   R=   RV   R   RC   t   endR   Ro   t   _SUFFIX_REPLACEMENTSt	   is_semverR5   (	   R   RR   t   patt   replRD   RI   t   suffixR   t   sep(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _suggest_semantic_version  s:    		:
(		c         C   s   y t  |   |  SWn t k
 r% n X|  j   } xS d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ f D] \ } } | j | |  } qf Wt j d d |  } t j d d |  } t j d d |  } t j d d |  } t j d d |  } | j d  r| d  } n  t j d! d |  } t j d" d# |  } t j d$ d% |  } t j d& d |  } t j d' d( |  } t j d) d( |  } t j d* d
 |  } t j d+ d, |  } t j d- d% |  } t j d. d/ |  } t j d0 d1 |  } y t  |  Wn t k
 rdA } n X| S(B   s  Suggest a normalized version close to the given version string.

    If you have a version string that isn't rational (i.e. NormalizedVersion
    doesn't like it) then you might be able to get an equivalent (or close)
    rational version from this function.

    This does a number of simple normalizations to the given string, based
    on observation of versions currently in use on PyPI. Given a dump of
    those version during PyCon 2009, 4287 of them:
    - 2312 (53.93%) match NormalizedVersion without change
      with the automatic suggestion
    - 3474 (81.04%) match when using this suggestion method

    @param s {str} An irrational version string.
    @returns A rational version string, or None, if couldn't determine one.
    s   -alphaRY   s   -betaRi   R   R   Rj   R-   s   -finalR0   s   -pres   -releases   .releases   -stableR}   RX   R[   t    s   .finalR\   s   pre$t   pre0s   dev$t   dev0s   ([abc]|rc)[\-\.](\d+)$s   \1\2s   [\-\.](dev)[\-\.]?r?(\d+)$s   .\1\2s   [.~]?([abc])\.?s   \1R,   i   s   \b0+(\d+)(?!\d)s   (\d+[abc])$s   \g<1>0s   \.?(dev-r|dev\.r)\.?(\d+)$s   .dev\2s   -(a|b|c)(\d+)$s   [\.\-](dev|devel)$s   .dev0s   (?![\.\-])dev$s   (final|stable)$s   \.?(r|-|-r)\.?(\d+)$s   .post\2s   \.?(dev|git|bzr)\.?(\d+)$s   \.?(pre|preview|-c)(\d+)$s   c\g<2>s   p(\d+)$s   .post\1(   s   -alphaRY   (   s   -betaRi   (   R   RY   (   R   Ri   (   Rj   R-   (   s   -finalR0   (   s   -preR-   (   s   -releaseR0   (   s   .releaseR0   (   s   -stableR0   (   R}   RX   (   R[   RX   (   R   R0   (   s   .finalR0   (   R\   R0   N(   Rg   R   R;   t   replaceRT   R   Rp   R5   (   R   t   rst   origR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _suggest_normalized_version  sH    
			
s   ([a-z]+|\d+|[\.-])R-   Ra   t   previews   final-R   Rj   t   @Rc   c         C   s   d   } g  } x | |   D] } | j  d  r | d k  rg x' | rc | d d k rc | j   q@ Wn  x' | r | d d k r | j   qj Wn  | j |  q Wt |  S(   Nc         S   s   g  } x t  j |  j    D]j } t j | |  } | r d | d  k oU d k n rl | j d  } n
 d | } | j |  q q W| j d  | S(   Nt   0i   t   9i   t   *s   *final(   t   _VERSION_PARTR=   R;   t   _VERSION_REPLACERK   t   zfillRC   (   R   RR   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt	   get_partsI  s     
R   s   *finalis   *final-t   00000000(   Rp   t   popRC   R   (   R   R   RR   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _legacy_keyH  s    	c           B   s    e  Z d    Z e d    Z RS(   c         C   s
   t  |  S(   N(   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR   c  s    c         C   sR   t  } xE |  j D]: } t | t  r | j d  r | d k  r t } Pq q W| S(   NR   s   *final(   RB   R   R   R    Rp   R@   (   R   RR   Rq   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR)   f  s    (   R	   R
   R   R*   R)   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR   b  s   	c           B   s?   e  Z e Z e e j  Z d  e d <e j d  Z	 d   Z
 RS(   Ru   s   ~=s   ^(\d+(\.\d+)*)c         C   s   | | k  r t  S|  j j t |   } | sE t j d | |  t S| j   d } d | k rz | j d d  d } n  t	 | |  S(   NsA   Cannot compute compatible match for version %s  and constraint %si    RX   i   (
   RB   t
   numeric_reR8   Ro   t   loggert   warningR@   R9   t   rsplitRt   (   R   RM   RO   RI   RD   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyRu   y  s    	
(   R	   R
   R   R4   t   dictR+   RJ   RT   RU   R   Ru   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR   q  s
   
sN   ^(\d+)\.(\d+)\.(\d+)(-[a-z0-9]+(\.[a-z0-9-]+)*)?(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$c         C   s   t  j |   S(   N(   t
   _SEMVER_RER8   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s    c   
      C   s   d   } t  |   } | s* t |    n  | j   } g  | d  D] } t |  ^ qA \ } } } | | d d  | | d d  } }	 | | | f | |	 f S(   Nc         S   si   |  d  k r | f } nM |  d j d  } t g  | D]' } | j   rV | j d  n | ^ q5  } | S(   Ni   RX   i   (   R5   R=   R   R^   R   (   R   t   absentRR   R   R.   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt
   make_tuple  s
    :i   t   |i   R   (   R   R   R9   RV   (
   R   R   RD   R9   R   t   majort   minort   patchRa   t   build(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   _semantic_key  s    	
,'c           B   s    e  Z d    Z e d    Z RS(   c         C   s
   t  |  S(   N(   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s    c         C   s   |  j  d d d k S(   Ni   i    R   (   R   (   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR)     s    (   R	   R
   R   R*   R)   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s   	c           B   s   e  Z e Z RS(    (   R	   R
   R   R4   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s   t   VersionSchemec           B   s8   e  Z d d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   R<   t   matchert	   suggester(   R   R<   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s    		c         C   s8   y |  j  j |  t } Wn t k
 r3 t } n X| S(   N(   R   R4   R@   R   RB   (   R   R   RR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   is_valid_version  s    

c         C   s5   y |  j  |  t } Wn t k
 r0 t } n X| S(   N(   R   R@   R   RB   (   R   R   RR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   is_valid_matcher  s    

c         C   s   |  j  d |  S(   s:   
        Used for processing some metadata fields
        s   dummy_name (%s)(   R   (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   is_valid_constraint_list  s    c         C   s+   |  j  d  k r d  } n |  j  |  } | S(   N(   R   R5   (   R   R   RR   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   suggest  s    	N(   R	   R
   R5   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s
   			t
   normalizedc         C   s   | S(   N(    (   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR/     R0   t   legacyt   semantict   defaultc         C   s'   |  t  k r t d |    n  t  |  S(   Ns   unknown scheme name: %r(   t   _SCHEMESR6   (   R:   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyR     s    ()   R   t   loggingRT   t   compatR    t   __all__t	   getLoggerR	   R   R6   R   t   objectR   R+   RU   R]   Rf   Rg   R   Rt   R   R   R   R   R   R   t   IR   R5   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/version.pyt   <module>	   s~   1k	=$	W	.	r
					#	
	