£Á°è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>

7ReY  c               @   s  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 Gd d   d e	  Z
 Gd d   d e  Z Gd d   d e  Z e j d  Z d d   Z e Z Gd d   d e  Z d d   Z Gd d   d e  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 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 d0 d1   Z d2 d3   Z e j d4 e j  Z i d5 d6 6d5 d7 6d8 d9 6d5 d: 6d; d< 6d d 6d d$ 6Z d= d>   Z Gd? d   d e  Z Gd@ d   d e  Z  e j dA e j  Z! dB dC   Z" dD dE   Z# GdF d	   d	 e  Z$ GdG d
   d
 e  Z% GdH dI   dI e  Z& i e& e e e  dJ 6e& e e  dK dL    dM 6e& e# e% e  dN 6Z' e' dJ e' dO <dP d   Z( d S(Q   u~   
Implementation of a flexible versioning scheme providing support for PEP-386,
distribute-compatible and semantic versioning.
i    Ni   (   u   string_typesu   NormalizedVersionu   NormalizedMatcheru   LegacyVersionu   LegacyMatcheru   SemanticVersionu   SemanticMatcheru   UnsupportedVersionErroru
   get_schemec             B   s   |  Ee  Z d  Z d Z d S(   u   UnsupportedVersionErroru   This is an unsupported version.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   UnsupportedVersionError   s   c             B   s   |  Ee  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 e d d    Z d S(   u   Versionc             C   sZ   | j    |  _ } |  j |  |  _ } t | t  s> t  t |  d k sV t  d  S(   Ni    (   u   stripu   _stringu   parseu   _partsu
   isinstanceu   tupleu   AssertionErroru   len(   u   selfu   su   parts(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __init__   s    u   Version.__init__c             C   s   t  d   d  S(   Nu   please implement in a subclass(   u   NotImplementedError(   u   selfu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   parse$   s    u   Version.parsec             C   s5   t  |   t  |  k r1 t d |  | f   n  d  S(   Nu   cannot compare %r and %r(   u   typeu	   TypeError(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _check_compatible'   s    u   Version._check_compatiblec             C   s   |  j  |  |  j | j k S(   N(   u   _check_compatibleu   _parts(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __eq__+   s    u   Version.__eq__c             C   s   |  j  |  S(   N(   u   __eq__(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __ne__/   s    u   Version.__ne__c             C   s   |  j  |  |  j | j k  S(   N(   u   _check_compatibleu   _parts(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __lt__2   s    u   Version.__lt__c             C   s   |  j  |  p |  j |  S(   N(   u   __lt__u   __eq__(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __gt__6   s    u   Version.__gt__c             C   s   |  j  |  p |  j |  S(   N(   u   __lt__u   __eq__(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __le__9   s    u   Version.__le__c             C   s   |  j  |  p |  j |  S(   N(   u   __gt__u   __eq__(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __ge__<   s    u   Version.__ge__c             C   s   t  |  j  S(   N(   u   hashu   _parts(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __hash__@   s    u   Version.__hash__c             C   s   d |  j  j |  j f S(   Nu   %s('%s')(   u	   __class__u   __name__u   _string(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __repr__C   s    u   Version.__repr__c             C   s   |  j  S(   N(   u   _string(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __str__F   s    u   Version.__str__c             C   s   t  d   d  S(   Nu   Please implement in subclasses.(   u   NotImplementedError(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_prereleaseI   s    u   Version.is_prereleaseN(   u   __name__u
   __module__u   __qualname__u   __init__u   parseu   _check_compatibleu   __eq__u   __ne__u   __lt__u   __gt__u   __le__u   __ge__u   __hash__u   __repr__u   __str__u   propertyu   is_prerelease(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   Version   s   u   Versionc             B   s  |  Ee  Z d  Z d% Z e j d  Z e j d  Z e j d  Z	 i d d   d 6d d   d 6d	 d   d
 6d d   d 6d d   d 6d d   d 6d d   d 6Z
 d d   Z d d   Z e d d    Z d d   Z d d   Z d d   Z d d    Z d! d"   Z d# d$   Z d% S(&   u   Matcheru   ^(\w[\s\w'.-]*)(\((.*)\))?u#   ^(<=|>=|<|>|!=|==|~=)?\s*([^\s,]+)$u   ^\d+(\.\d+)*$c             C   s
   |  | k  S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>W   s    u   Matcher.<lambda>u   <c             C   s
   |  | k S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>X   s    u   >c             C   s   |  | k p |  | k  S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>Y   s    u   <=c             C   s   |  | k p |  | k S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>Z   s    u   >=c             C   s
   |  | k S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>[   s    u   ==c             C   s   |  | k p |  | k S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>]   s    u   ~=c             C   s
   |  | k S(   N(    (   u   vu   cu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>^   s    u   !=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d d   | d j d  D } x | D] } |  j j |  } | s t d	 | | f   n  | j   } | d pd
 } | d } | j d  r| d k rRt d |   n  | d  d  d } }	 |  j j |  s|  j  |  qn |  j  |  d } }	 | j | | |	 f  q Wn  t |  |  _ d  S(   Nu   Please specify a version classu   Not valid: %ru    i    i   c             S   s   g  |  ] } | j     q S(    (   u   strip(   u   .0u   c(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>m   s   	 u$   Matcher.__init__.<locals>.<listcomp>u   ,u   Invalid %r in %ru   ~=i   u   .*u   ==u   !=u#   '.*' not allowed for %r constraints(   u   ==u   !=iTF(   u   version_classu   Noneu
   ValueErroru   stripu   _stringu   dist_reu   matchu   groupsu   nameu   loweru   keyu   splitu   comp_reu   endswithu   Trueu   num_reu   Falseu   appendu   tupleu   _parts(
   u   selfu   su   mu   groupsu   clistu   constraintsu   cu   opu   vnu   prefix(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __init__a   s:    
 
u   Matcher.__init__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+ d Sq+ Wd S(   u   
        Check if the provided version matches the constraints.

        :param version: The version to match against this instance.
        :type version: Strring or :class:`Version` instance.
        u   %r not implemented for %sFT(   u
   isinstanceu   string_typesu   version_classu   _partsu
   _operatorsu   getu   getattru	   __class__u   __name__u   NotImplementedErroru   Falseu   True(   u   selfu   versionu   operatoru
   constraintu   prefixu   fu   msg(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   match   s    u   Matcher.matchc             C   sJ   d  } t |  j  d k rF |  j d d d k rF |  j d d } n  | S(   Ni   i    u   ==(   u   Noneu   lenu   _parts(   u   selfu   result(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   exact_version   s    ,u   Matcher.exact_versionc             C   sG   t  |   t  |  k s* |  j | j k rC t d |  | f   n  d  S(   Nu   cannot compare %s and %s(   u   typeu   nameu	   TypeError(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _check_compatible   s    *u   Matcher._check_compatiblec             C   s/   |  j  |  |  j | j k o. |  j | j k S(   N(   u   _check_compatibleu   keyu   _parts(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __eq__   s    u   Matcher.__eq__c             C   s   |  j  |  S(   N(   u   __eq__(   u   selfu   other(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __ne__   s    u   Matcher.__ne__c             C   s   t  |  j  t  |  j  S(   N(   u   hashu   keyu   _parts(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __hash__   s    u   Matcher.__hash__c             C   s   d |  j  j |  j f S(   Nu   %s(%r)(   u	   __class__u   __name__u   _string(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __repr__   s    u   Matcher.__repr__c             C   s   |  j  S(   N(   u   _string(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __str__   s    u   Matcher.__str__N(   u   __name__u
   __module__u   __qualname__u   Noneu   version_classu   reu   compileu   dist_reu   comp_reu   num_reu
   _operatorsu   __init__u   matchu   propertyu   exact_versionu   _check_compatibleu   __eq__u   __ne__u   __hash__u   __repr__u   __str__(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   MatcherN   s*   %u   MatcheruQ   ^(\d+(\.\d+)*)((a|b|c|rc)(\d+))?(\.(post)(\d+))?(\.(dev)(\d+))?(-(\d+(\.\d+)?))?$c             C   s  |  j    }  t j |   } | s4 t d |    n  | j   } t d d   | d j d  D  } x6 t |  d k r | d d k r | d  d  } qi W| d d  } | d	 d
  } | d d  } | d } | d k r f  } n | d t	 | d  f } | d k rf  } n | d t	 | d  f } | d k rLf  } n | d t	 | d  f } | d  k r{f  } n" t d d   | j d  D  } | s| r| rd } qd } n  | sd } n  | sd } n  | | | | | f S(   Nu   Not a valid version: %sc             s   s   |  ] } t  |  Vq d  S(   N(   u   int(   u   .0u   v(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   <genexpr>   s    u   _pep426_key.<locals>.<genexpr>i    u   .i   i   i   i   i   i	   i   i   c             S   s   g  |  ] } t  |   q S(    (   u   int(   u   .0u   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>   s   	 u   _pep426_key.<locals>.<listcomp>u   au   zu   _u   finalii(   NN(   NN(   NNi(   u   ai(   u   z(   u   _(   u   final(
   u   stripu   PEP426_VERSION_REu   matchu   UnsupportedVersionErroru   groupsu   tupleu   splitu   lenu   Noneu   int(   u   su   mu   groupsu   numsu   preu   postu   devu   local(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _pep426_key   sB    &%
				"				u   _pep426_keyc             B   sS   |  Ee  Z d  Z d Z d d   Z e d d d d d g  Z e d	 d
    Z d S(   u   NormalizedVersionuI  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           # mininum two numbers
        1.2a        # release level must have a release serial
        1.2.3b
    c             C   sT   t  |  } t j |  } | j   } t d d   | d j d  D  |  _ | S(   Nc             s   s   |  ] } t  |  Vq d  S(   N(   u   int(   u   .0u   v(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   <genexpr>	  s    u*   NormalizedVersion.parse.<locals>.<genexpr>i    u   .(   u   _normalized_keyu   PEP426_VERSION_REu   matchu   groupsu   tupleu   splitu   _release_clause(   u   selfu   su   resultu   mu   groups(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   parse  s
    )u   NormalizedVersion.parseu   au   bu   cu   rcu   devc                s    t    f d d     j D  S(   Nc             3   s(   |  ] } | r | d    j  k Vq d S(   i    N(   u   PREREL_TAGS(   u   .0u   t(   u   self(    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   <genexpr>  s    u2   NormalizedVersion.is_prerelease.<locals>.<genexpr>(   u   anyu   _parts(   u   self(    (   u   selfu4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_prerelease  s    u   NormalizedVersion.is_prereleaseN(	   u   __name__u
   __module__u   __qualname__u   __doc__u   parseu   setu   PREREL_TAGSu   propertyu   is_prerelease(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   NormalizedVersion   s   c             C   sU   t  |   }  t  |  } |  | k r( d S|  j |  s; d St |  } |  | d k S(   Nu   .TF(   u   stru   Trueu
   startswithu   Falseu   len(   u   xu   yu   n(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _match_prefix  s    u   _match_prefixc             B   s   |  Ee  Z d  Z e Z i d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6Z 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(    u   NormalizedMatcheru   _match_compatibleu   ~=u	   _match_ltu   <u	   _match_gtu   >u	   _match_leu   <=u	   _match_geu   >=u	   _match_equ   ==u	   _match_neu   !=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(   Nu   -i   i    iii(   u   _partsu   _stringu   splitu   version_class(   u   selfu   versionu
   constraintu   prefixu   strip_localu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _adjust_local,  s    u   NormalizedMatcher._adjust_localc             C   s^   |  j  | | |  \ } } | | k r+ d S| j } d j d d   | D  } t | |  S(   Nu   .c             S   s   g  |  ] } t  |   q S(    (   u   str(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>?  s   	 u/   NormalizedMatcher._match_lt.<locals>.<listcomp>F(   u   _adjust_localu   Falseu   _release_clauseu   joinu   _match_prefix(   u   selfu   versionu
   constraintu   prefixu   release_clauseu   pfx(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   _match_lt:  s    	u   NormalizedMatcher._match_ltc             C   s^   |  j  | | |  \ } } | | k r+ d S| j } d j d d   | D  } t | |  S(   Nu   .c             S   s   g  |  ] } t  |   q S(    (   u   str(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>G  s   	 u/   NormalizedMatcher._match_gt.<locals>.<listcomp>F(   u   _adjust_localu   Falseu   _release_clauseu   joinu   _match_prefix(   u   selfu   versionu
   constraintu   prefixu   release_clauseu   pfx(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   _match_gtB  s    	u   NormalizedMatcher._match_gtc             C   s%   |  j  | | |  \ } } | | k S(   N(   u   _adjust_local(   u   selfu   versionu
   constraintu   prefix(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   _match_leJ  s    u   NormalizedMatcher._match_lec             C   s%   |  j  | | |  \ } } | | k S(   N(   u   _adjust_local(   u   selfu   versionu
   constraintu   prefix(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   _match_geN  s    u   NormalizedMatcher._match_gec             C   sC   |  j  | | |  \ } } | s0 | | k } n t | |  } | S(   N(   u   _adjust_localu   _match_prefix(   u   selfu   versionu
   constraintu   prefixu   result(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   _match_eqR  s
    u   NormalizedMatcher._match_eqc             C   sD   |  j  | | |  \ } } | s0 | | k } n t | |  } | S(   N(   u   _adjust_localu   _match_prefix(   u   selfu   versionu
   constraintu   prefixu   result(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   _match_neZ  s
    u   NormalizedMatcher._match_nec             C   s   |  j  | | |  \ } } | | k r+ d S| | k  r; d S| j } t |  d k ri | d  d  } n  d j d d   | D  } t | |  S(   Ni   u   .c             S   s   g  |  ] } t  |   q S(    (   u   str(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>k  s   	 u7   NormalizedMatcher._match_compatible.<locals>.<listcomp>TFi(   u   _adjust_localu   Trueu   Falseu   _release_clauseu   lenu   joinu   _match_prefix(   u   selfu   versionu
   constraintu   prefixu   release_clauseu   pfx(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _match_compatibleb  s    	u#   NormalizedMatcher._match_compatibleN(   u   __name__u
   __module__u   __qualname__u   NormalizedVersionu   version_classu
   _operatorsu   _adjust_localu	   _match_ltu	   _match_gtu	   _match_leu	   _match_geu	   _match_equ	   _match_neu   _match_compatible(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   NormalizedMatcher  s"   
u   [.+-]$u    u   ^[.](\d)u   0.\1u   ^[.-]u
   ^\((.*)\)$u   \1u   ^v(ersion)?\s*(\d+)u   \2u   ^r(ev)?\s*(\d+)u   [.]{2,}u   .u   \b(alfa|apha)\bu   alphau   \b(pre-alpha|prealpha)\bu	   pre.alphau	   \(beta\)$u   betau
   ^[:~._+-]+u
   [,*")([\]]u   [~:+_ -]u   \.$u   (\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  } d d   | D } x# t |  d k  r | j	 d  q Wt |  d k r | | j
   d  } nJ d j d d   | d d  D  | | j
   d  } | d d  } d j d	 d   | D  } | j    } | rx) t D] \ } } | j | |  } qjWn  | s| } n& d
 | k rd n d } | | | } t |  sd } n  | S(   u   
    Try to suggest a semantic form for a version for which
    _suggest_normalized_version couldn't come up with anything.
    u   0.0.0i    u   .c             S   s   g  |  ] } t  |   q S(    (   u   int(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>  s   	 u-   _suggest_semantic_version.<locals>.<listcomp>i   Nc             S   s   g  |  ] } t  |   q S(    (   u   str(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>  s   	 c             S   s   g  |  ] } t  |   q S(    (   u   str(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>  s   	 u   devu   -u   +(   u   stripu   loweru   _REPLACEMENTSu   subu   _NUMERIC_PREFIXu   matchu   groupsu   splitu   lenu   appendu   endu   joinu   _SUFFIX_REPLACEMENTSu	   is_semveru   None(   u   su   resultu   patu   replu   mu   prefixu   suffixu   sep(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _suggest_semantic_version  s:    		:		u   _suggest_semantic_versionc             C   s  y t  |   |  SWn t k
 r& Yn X|  j   } x& dB D] \ } } | j | |  } q: Wt j d d |  } t j d d |  } t j d d |  } t j d d |  } t j d d |  } | j d  r | d  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/ d0 |  } t j d1 d2 |  } y t  |  Wn t k
 rd! } Yn X| S(C   u  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.
    u   -alphau   au   -betau   bu   alphau   betau   rcu   cu   -finalu    u   -preu   -releaseu   .releaseu   -stableu   +u   .u   _u    u   .finalu   finalu   pre$u   pre0u   dev$u   dev0u   ([abc]|rc)[\-\.](\d+)$u   \1\2u   [\-\.](dev)[\-\.]?r?(\d+)$u   .\1\2u   [.~]?([abc])\.?u   \1u   vi   Nu   \b0+(\d+)(?!\d)u   (\d+[abc])$u   \g<1>0u   \.?(dev-r|dev\.r)\.?(\d+)$u   .dev\2u   -(a|b|c)(\d+)$u   [\.\-](dev|devel)$u   .dev0u   (?![\.\-])dev$u   (final|stable)$u   \.?(r|-|-r)\.?(\d+)$u   .post\2u   \.?(dev|git|bzr)\.?(\d+)$u   \.?(pre|preview|-c)(\d+)$u   c\g<2>u   p(\d+)$u   .post\1(   u   -alphau   a(   u   -betau   b(   u   alphau   a(   u   betau   b(   u   rcu   c(   u   -finalu    (   u   -preu   c(   u   -releaseu    (   u   .releaseu    (   u   -stableu    (   u   +u   .(   u   _u   .(   u    u    (   u   .finalu    (   u   finalu    (   (   u   -alphau   a(   u   -betau   b(   u   alphau   a(   u   betau   b(   u   rcu   c(   u   -finalu    (   u   -preu   c(   u   -releaseu    (   u   .releaseu    (   u   -stableu    (   u   +u   .(   u   _u   .(   u    u    (   u   .finalu    (   u   finalu    (   u   _normalized_keyu   UnsupportedVersionErroru   loweru   replaceu   reu   subu
   startswithu   None(   u   su   rsu   origu   repl(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _suggest_normalized_version  sH    
    	u   _suggest_normalized_versionu   ([a-z]+|\d+|[\.-])u   cu   preu   previewu   final-u   -u   rcu   @u   devc             C   s   d d   } g  } x | |   D] } | j  d  r | d k  rj x' | rf | d d k rf | j   qC Wn  x' | r | d	 d k r | j   qm Wn  | j |  q Wt |  S(
   Nc             S   s   g  } x t  j |  j    D]p } t j | |  } | r d | d  d  k o[ d k n rr | j d  } n
 d | } | j |  q q W| j d  | S(   Nu   0i   u   9i   u   *u   *final(   u   _VERSION_PARTu   splitu   loweru   _VERSION_REPLACEu   getu   zfillu   append(   u   su   resultu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   get_parts4  s    &
u   _legacy_key.<locals>.get_partsu   *u   *finali   u   *final-u   00000000ii(   u
   startswithu   popu   appendu   tuple(   u   su	   get_partsu   resultu   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _legacy_key3  s    u   _legacy_keyc             B   s2   |  Ee  Z d  Z d d   Z e d d    Z d S(   u   LegacyVersionc             C   s
   t  |  S(   N(   u   _legacy_key(   u   selfu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   parseN  s    u   LegacyVersion.parsec             C   sR   d } xE |  j D]: } t | t  r | j d  r | d k  r d } Pq q W| S(   Nu   *u   *finalFT(   u   Falseu   _partsu
   isinstanceu   string_typesu
   startswithu   True(   u   selfu   resultu   x(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_prereleaseQ  s    u   LegacyVersion.is_prereleaseN(   u   __name__u
   __module__u   __qualname__u   parseu   propertyu   is_prerelease(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   LegacyVersionM  s   c             B   sN   |  Ee  Z d  Z e Z e e j  Z d e d <e j	 d  Z
 d d   Z d S(   u   LegacyMatcheru   _match_compatibleu   ~=u   ^(\d+(\.\d+)*)c             C   s   | | k  r d S|  j j t |   } | sE t j d | |  d S| j   d } d | k rz | j d d  d } n  t	 | |  S(   NuA   Cannot compute compatible match for version %s  and constraint %si    u   .i   FT(
   u   Falseu
   numeric_reu   matchu   stru   loggeru   warningu   Trueu   groupsu   rsplitu   _match_prefix(   u   selfu   versionu
   constraintu   prefixu   mu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _match_compatibled  s    	
u   LegacyMatcher._match_compatibleN(   u   __name__u
   __module__u   __qualname__u   LegacyVersionu   version_classu   dictu   Matcheru
   _operatorsu   reu   compileu
   numeric_reu   _match_compatible(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   LegacyMatcher\  s
   
uN   ^(\d+)\.(\d+)\.(\d+)(-[a-z0-9]+(\.[a-z0-9-]+)*)?(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$c             C   s   t  j |   S(   N(   u
   _SEMVER_REu   match(   u   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu	   is_semverz  s    u	   is_semverc       	      C   s   d d   } t  |   } | s- t |    n  | j   } d d   | d  d  D \ } } } | | d d  | | d d  } } | | | f | | f S(	   Nc             S   sN   |  d  k r | f } n2 |  d d   j d  } t d d   | D  } | S(   Ni   u   .c             S   s1   g  |  ]' } | j    r' | j d   n |  q S(   i   (   u   isdigitu   zfill(   u   .0u   p(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>  s   	 u5   _semantic_key.<locals>.make_tuple.<locals>.<listcomp>(   u   Noneu   splitu   tuple(   u   su   absentu   resultu   parts(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   make_tuple  s
    u!   _semantic_key.<locals>.make_tuplec             S   s   g  |  ] } t  |   q S(    (   u   int(   u   .0u   i(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   <listcomp>  s   	 u!   _semantic_key.<locals>.<listcomp>i   u   |i   u   *(   u	   is_semveru   UnsupportedVersionErroru   groups(	   u   su
   make_tupleu   mu   groupsu   majoru   minoru   patchu   preu   build(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   _semantic_key~  s    
&'u   _semantic_keyc             B   s2   |  Ee  Z d  Z d d   Z e d d    Z d S(   u   SemanticVersionc             C   s
   t  |  S(   N(   u   _semantic_key(   u   selfu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   parse  s    u   SemanticVersion.parsec             C   s   |  j  d d d k S(   Ni   i    u   |(   u   _parts(   u   self(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_prerelease  s    u   SemanticVersion.is_prereleaseN(   u   __name__u
   __module__u   __qualname__u   parseu   propertyu   is_prerelease(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   SemanticVersion  s   c             B   s   |  Ee  Z d  Z e Z d S(   u   SemanticMatcherN(   u   __name__u
   __module__u   __qualname__u   SemanticVersionu   version_class(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   SemanticMatcher  s   c             B   sS   |  Ee  Z d  Z d d d  Z d d   Z d d   Z d d   Z d	 d
   Z d S(   u   VersionSchemec             C   s   | |  _  | |  _ | |  _ d  S(   N(   u   keyu   matcheru	   suggester(   u   selfu   keyu   matcheru	   suggester(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   __init__  s    		u   VersionScheme.__init__c             C   s9   y |  j  j |  d } Wn t k
 r4 d } Yn X| S(   NTF(   u   matcheru   version_classu   Trueu   UnsupportedVersionErroru   False(   u   selfu   su   result(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_valid_version  s    
u   VersionScheme.is_valid_versionc             C   s6   y |  j  |  d } Wn t k
 r1 d } Yn X| S(   NTF(   u   matcheru   Trueu   UnsupportedVersionErroru   False(   u   selfu   su   result(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_valid_matcher  s    
u   VersionScheme.is_valid_matcherc             C   s   |  j  d |  S(   u:   
        Used for processing some metadata fields
        u   dummy_name (%s)(   u   is_valid_matcher(   u   selfu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   is_valid_constraint_list  s    u&   VersionScheme.is_valid_constraint_listc             C   s+   |  j  d  k r d  } n |  j  |  } | S(   N(   u	   suggesteru   None(   u   selfu   su   result(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   suggest  s    	u   VersionScheme.suggestN(	   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   is_valid_versionu   is_valid_matcheru   is_valid_constraint_listu   suggest(   u
   __locals__(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   VersionScheme  s
   u   VersionSchemeu
   normalizedc             C   s   | S(   N(    (   u   selfu   s(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <lambda>  s    u   <lambda>u   legacyu   semanticu   defaultc             C   s'   |  t  k r t d |    n  t  |  S(   Nu   unknown scheme name: %r(   u   _SCHEMESu
   ValueError(   u   name(    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu
   get_scheme  s    ()   u   __doc__u   loggingu   reu   compatu   string_typesu   __all__u	   getLoggeru   __name__u   loggeru
   ValueErroru   UnsupportedVersionErroru   objectu   Versionu   Matcheru   compileu   PEP426_VERSION_REu   _pep426_keyu   _normalized_keyu   NormalizedVersionu   _match_prefixu   NormalizedMatcheru   _REPLACEMENTSu   _SUFFIX_REPLACEMENTSu   _NUMERIC_PREFIXu   _suggest_semantic_versionu   _suggest_normalized_versionu   Iu   _VERSION_PARTu   Noneu   _VERSION_REPLACEu   _legacy_keyu   LegacyVersionu   LegacyMatcheru
   _SEMVER_REu	   is_semveru   _semantic_keyu   SemanticVersionu   SemanticMatcheru   VersionSchemeu   _SCHEMESu
   get_scheme(    (    (    u4   /tmp/pip-zej_zi-build/pip/_vendor/distlib/version.pyu   <module>	   s~   1j/$Q.r
		#	
	