ÿØÿà 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           @@  s.  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m	 Z	 d  d l
 m Z d  d l m Z m Z d  d l m Z d  d l m Z m Z d  d l m Z m Z d  d	 l m Z d
 Z e j e  Z d e f d     YZ d e f d     YZ  d   Z! d   Z" d   Z# d S(   i    (   t   absolute_importN(   t   lockfile(   t   version(   t   total_secondst   WINDOWS(   t   PyPI(   t   USER_CACHE_DIRt   running_under_virtualenv(   t
   ensure_dirt   get_installed_version(   t   check_path_owners   %Y-%m-%dT%H:%M:%SZt   VirtualenvSelfCheckStatec           B@  s   e  Z d    Z d   Z RS(   c         C@  sp   t  j j t j d  |  _ y. t |  j   } t j |  |  _	 Wd  QXWn  t
 t f k
 rk i  |  _	 n Xd  S(   Ns   pip-selfcheck.json(   t   ost   patht   joint   syst   prefixt   statefile_patht   opent   jsont   loadt   statet   IOErrort
   ValueError(   t   selft	   statefile(    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyt   __init__   s    c         C@  sR   t  |  j d  : } t j i | j t  d 6| d 6| d t d d Wd  QXd  S(	   Nt   wt
   last_checkt   pypi_versiont	   sort_keyst
   separatorst   ,t   :(   R    R!   (   R   R   R   t   dumpt   strftimet   SELFCHECK_DATE_FMTt   True(   R   R   t   current_timeR   (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyt   save$   s    (   t   __name__t
   __module__R   R'   (    (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyR      s   	
t   GlobalSelfCheckStatec           B@  s   e  Z d    Z d   Z RS(   c         C@  sw   t  j j t d  |  _ y5 t |  j    } t j |  t j	 |  _
 Wd  QXWn# t t t f k
 rr i  |  _
 n Xd  S(   Ns   selfcheck.json(   R   R   R   R   R   R   R   R   R   R   R   R   R   t   KeyError(   R   R   (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyR   3   s    #c         C@  s   t  t j j |  j   s d  St t j j |  j   t j |  j   t j j |  j  r t	 |  j   } t
 j |  } Wd  QXn i  } i | j t  d 6| d 6| t j <t	 |  j d  # } t
 j | | d t d d Wd  QXWd  QXd  S(	   NR   R   R   R   R   R    R!   (   R    R!   (   R
   R   R   t   dirnameR   R   R   t   LockFilet   existsR   R   R   R#   R$   R   R   R"   R%   (   R   R   R&   R   R   (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyR'   =   s    (   R(   R)   R   R'   (    (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyR*   2   s   	
c           C@  s   t    r t   St   Sd  S(   N(   R   R   R*   (    (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyt   load_selfcheck_statefileX   s    	c          C@  s]   d d l  }  y5 |  j d  } | j d  o? d | j d  k SWn |  j k
 rX t SXd S(   s   Checks whether pip was installed by pip

    This is used not to display the upgrade message when pip is in fact
    installed by system package manager, such as dnf on Fedora.
    i    Nt   pipt	   INSTALLER(   t   pkg_resourcest   get_distributiont   has_metadatat   get_metadata_linest   DistributionNotFoundt   False(   R2   t   dist(    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyt   pip_installed_by_pip_   s    c         C@  s  t  d  } | d k r d St j |  } d } yyt   } t j j   } d | j k r d | j k r t j j | j d t	  } t
 | |  d k  r | j d } q n  | d k rE|  j t j d i d	 d
 6} | j   g  t t | j   d  d t j D] } t j |  j s
| ^ q
d } | j | |  n  t j |  }	 | |	 k  r| j |	 j k rt   rt rd }
 n d }
 t j d | | |
  n  Wn$ t k
 rt j d d t n Xd S(   s   Check for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
    R0   NR   R   i   i   i<   t   headerss   application/jsont   Acceptt   releasest   keyis   python -m pips   You are using pip version %s, however version %s is available.
You should consider upgrading via the '%s install --upgrade pip' command.s5   There was an error checking the latest version of pipt   exc_infoi   i`'  i:	 (   R	   t   Nonet   packaging_versiont   parseR/   t   datetimet   utcnowR   t   strptimeR$   R   t   getR   t   pip_json_urlt   raise_for_statust   sortedt   listR   t   is_prereleaseR'   t   base_versionR9   R   t   loggert   warningt	   Exceptiont   debugR%   (   t   sessiont   installed_versiont   pip_versionR   R   R&   R   t   respt   vt   remote_versiont   pip_cmd(    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyt   pip_version_checkn   sN    		
		
		($   t
   __future__R    RB   R   t   loggingt   os.pathR   R   t   pip._vendorR   t   pip._vendor.packagingR   R@   t
   pip.compatR   R   t
   pip.modelsR   t   pip.locationsR   R   t	   pip.utilsR   R	   t   pip.utils.filesystemR
   R$   t	   getLoggerR(   RL   t   objectR   R*   R/   R9   RW   (    (    (    s6   /usr/lib/python2.7/site-packages/pip/utils/outdated.pyt   <module>   s&   &		