ó
ŸçƒQc           @   s“  d  d l  m Z d  d l m Z d  d l m Z 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 Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d „  Z d „  Z d d „ Z  i e d 6e	 d	 6e d
 6e
 d 6e
 d 6e d 6e d 6Z! d „  Z" d „  Z# d „  Z$ e% d „ Z& d e% d „ Z' e% d „ Z( d „  Z) d e* d „ Z+ d „  Z, d e% d e* e% d d „ Z- d „  Z. d „  Z/ d „  Z0 e0 Z1 e* d „ Z2 d e* d „ Z e% d „ Z3 d  „  Z4 d! „  Z5 d" „  Z6 d# „  Z7 d$ „  Z d% „  Z8 d S(&   iÿÿÿÿ(   t   _(   t   release(   t   hext   nullidNc         C   s4   t  j t  j |  ƒ ƒ }  t j j |  ƒ r0 t p3 t S(   N(   t   utilt
   expandpatht   urllocalpatht   ost   patht   isfilet
   bundlerepot	   localrepo(   R   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   _local   s    c      
      s3  | j  ƒ  } | \ } } | rF | rF ˆ p/ d  ˆ r? ˆ d pB d  f Sˆ rX t ˆ ƒ p[ g  ‰ | j d ƒ s¦ | r‹ t j t d ƒ ƒ ‚ n  ˆ j | ƒ ˆ ˆ d f S| j ƒ  ‰  ‡  ‡ ‡ f d †  } x6 | D]. } | | ƒ sÎ t	 j
 t d ƒ | ƒ ‚ qÎ qÎ W| r%| | ƒ s%ˆ j | ƒ q%n  ˆ ˆ d f S(   Ni    t	   branchmaps"   remote branch lookup not supportedc            su   |  d k r< ˆ s* t  j t d ƒ ƒ ‚ n  ˆ j j ƒ  }  n  |  ˆ  k rm ˆ j d „  t ˆ  |  ƒ Dƒ ƒ t St Sd  S(   Nt   .s   dirstate branch not accessiblec         s   s   |  ] } t  j | ƒ Vq d  S(   N(   t   nodeR   (   t   .0t   r(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pys	   <genexpr>*   s    (	   R   t   AbortR    t   dirstatet   brancht   extendt   reversedt   Truet   False(   R   (   R   t   lrepot   revs(    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   primary$   s    !s   unknown branch '%s'(   t   peert   Nonet   listt   capableR   R   R    t   appendR   t   errort   RepoLookupError(   R   t   othert   branchesR   R   t
   hashbranchR   R   (    (   R   R   R   s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   addbranchrevs   s&      c         C   sO   t  j |  ƒ } d } | j r3 | j } d | _ n  t | ƒ | | pH g  f f S(   s5   parse url#branch, returning (url, (branch, branches))N(   R   t   urlR   t   fragmentt   str(   R   R$   t   uR   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   parseurl7   s    		t   bundlet   uniont   filet   httpt   httpst   sshs   static-httpc         C   s^   t  j |  ƒ } | j p d } t j | ƒ p4 t d } y | |  ƒ SWn t k
 rY | SXd  S(   NR.   (   R   R'   t   schemet   schemest   gett	   TypeError(   R   R*   R2   t   thing(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   _peerlookupK   s    c         C   sH   t  |  t ƒ r> y t |  ƒ j |  ƒ SWq> t k
 r: t SXn  |  j ƒ  S(   s$   return true if repo or path is local(   t
   isinstanceR)   R7   t   islocalt   AttributeErrorR   t   local(   t   repo(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyR9   T   s    c         C   s9   t  | ƒ r% t j t j | ƒ d ƒ St j |  | ƒ Sd S(   s0   open path with open if local, url.open if remotet   rbN(   R9   R   t	   posixfileR   R'   t   open(   t   uiR   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   openpath]   s    c         C   sv   t  | ƒ j |  | | ƒ } t | d |  ƒ }  xB t j ƒ  D]4 \ } } t | d d ƒ } | r: | |  | ƒ q: q: W| S(   s1   return a repository object for the specified pathR@   t	   reposetupN(   R7   t   instancet   getattrt
   extensionsR   (   R@   R   t   createt   objt   namet   modulet   hook(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   _peerorrepod   s    t    c         C   sY   t  |  | | ƒ } | j ƒ  } | sL t j t d ƒ | pB | j ƒ  ƒ ‚ n  | j d ƒ S(   s1   return a repository object for the specified paths   repository '%s' is not localt   visible(   RK   R;   R   R   R    R'   t   filtered(   R@   R   RF   R   R<   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt
   repositoryn   s    c         C   s%   t  |  | ƒ } t | | | ƒ j ƒ  S(   s/   return a repository peer for the specified path(   t   remoteuiRK   R   (   t   uiorrepot   optsR   RF   t   rui(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyR   w   s    c         C   s.   t  j j t  j j t j |  ƒ j p' d ƒ ƒ S(   s4   return default destination of clone if none is givenRL   (   R   R   t   basenamet   normpathR   R'   (   t   source(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   defaultdest|   s    c         C   sô  t  | ƒ s$ t j t d ƒ ƒ ‚ n  | s9 t | ƒ } n |  j | ƒ } t | t ƒ r¥ |  j | ƒ } t | ƒ \ } } t	 |  | ƒ } t
 | | | d ƒ \ } } n" | j ƒ  } | j ƒ  } } d } | j }	 t j j | ƒ }
 t j j |
 d ƒ } t j j | ƒ r!t j t d ƒ ƒ ‚ n  t j j |
 ƒ sCt j |
 ƒ n  t j | d t ƒd } y | j j d ƒ } Wn+ t k
 rŸ} | j t j k r ‚  q n X| d 7} t j t j j | d ƒ | ƒ t j t j j | d ƒ |	 ƒ t	 |  |
 ƒ } | j j d	 d
 ƒ } | rU| j d d d t ƒ} | j  d ƒ | j  d | ƒ | j! ƒ  n  | rð| j j" t d ƒ ƒ | t k	 r†| } n  xW | d
 d f D]F } | d k r®q–n  y | j# | ƒ } PWq–t$ j% k
 rÛq–q–Xq–Wt& | | ƒ n  d S(   s   create a shared repositorys!   can only share local repositoriess   .hgs   destination already existst
   notindexedRL   t   requiress   shared
t
   sharedpatht   pathst   defaultt   hgrct   wt   texts   [paths]
s   default = %s
s   updating working directory
t   tipN('   R9   R   R   R    RW   R   R8   R)   R+   RO   R&   R   R;   R'   RZ   R   R   t   realpatht   joint   existst   isdirt   mkdirt   makedirR   t   openert   readt   IOErrort   errnot   ENOENTt	   writefileR@   t   configt   writet   closet   statust   lookupR!   R"   t   _update(   R@   RV   t   destt   updatet
   origsourceR$   t   srcrepot   revt   checkoutRZ   t   roott   roothgt   requirementst   instR   R\   t   fpt   testt   uprev(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   share€   sd    	

	c         C   s  d	 } y^d	 } d } | j j d d t ƒ } x| j j ƒ  D]ó } | r^ | j d ƒ r^ q= n  t j j	 | j
 | ƒ } t j j	 | | ƒ }	 t j j |	 ƒ }
 |
 rÆ t j j |
 ƒ rÆ t j |
 ƒ n  t j j | ƒ r= |	 j d ƒ rt j t j j	 |
 d ƒ ƒ } n  t j | |	 | ƒ \ } } | | 7} q= q= W| rN|  j d | ƒ n |  j d | ƒ | SWn t | ƒ ‚  n Xd	 S(
   sG   copy files from store of srcrepo in destpath

    returns destlock
    i    t   phasest   publisht
   phaserootst   datat   locks   linked %d files
s   copied %d files
N(   R   R@   t
   configboolR   t   storet   copylistt   endswithR   R   Rb   RZ   t   dirnameRc   Re   R…   R   t	   copyfilest   debugR   (   R@   Rv   t   destpatht   destlockt   hardlinkt   numt   srcpublishingt   ft   srct   dstt   dstbaset   n(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt	   copystoreÃ   s2    !
c	   '      C   s„  t  | t ƒ rH |  j | ƒ }	 t |	 | ƒ \ } } t |  | | ƒ }
 n. | j ƒ  }
 d( | p` g  f } |
 j ƒ  }	 } t |
 |
 | | ƒ \ } } | d( k rÃ t | ƒ } |  j	 t
 d ƒ | ƒ n |  j | ƒ } t j | ƒ } t j | ƒ } | st j t
 d ƒ ƒ ‚ n  t j j | ƒ r|t j j | ƒ sNt j t
 d ƒ | ƒ ‚ q|t j | ƒ r|t j t
 d ƒ | ƒ ‚ q|n  d( } } } |
 j ƒ  } z¡|	 } t |	 ƒ rÉt j j t j |	 ƒ ƒ } n  t | ƒ rÞ| } n  t } | r#| j ƒ  r#t | ƒ r#t j | ƒ r#| o| } n  | r_y | j d t ƒ } Wq_t j k
 r[t } q_Xn  | rý| j d d t d d	 ƒt j j t j j  | d
 ƒ ƒ } t j j | ƒ sÁt j! | ƒ n | } y | } t j" | d t ƒWnJ t# k
 r0} | j$ t$ j% k r*d( } t j t
 d ƒ | ƒ ‚ n  ‚  n Xt& |  | | ƒ } t j j  | d ƒ } | j' d ƒ } t j j  | d ƒ } t j j | ƒ rÃt j j | ƒ s°t j! | ƒ n  t j( | | ƒ n  t | | | ƒ } | j d d d	 d t) j* t) j+ ƒ ƒn0y" t | p|  | | d t ƒ} WnJ t# k
 rk} | j$ t$ j% k red( } t j t
 d ƒ | ƒ ‚ n  ‚  n Xd( } | rÎ|
 j, d ƒ sŸt j t
 d ƒ ƒ ‚ n  g  | D] } |
 j- | ƒ ^ q¦} | d } n  | j ƒ  rü| j ƒ  j. |
 d | d | ƒn1 | r| j/ | d | ƒn t j t
 d ƒ ƒ ‚ d( } | j ƒ  } | rÓ|
 j, d ƒ rÓ|
 j0 d ƒ } | j1 } xN | j2 ƒ  D]@ \ } } y | j- | ƒ }  |  | | <Wqyt j3 k
 r¸qyXqyW| r'| j4 ƒ  q'nT | r'| j, d ƒ r'x< | j1 j2 ƒ  D]( \ } } | j5 d | d t* | ƒ ƒ qøWn  | r,| j6 d d d t ƒ}! |! j4 d ƒ t j | ƒ }" d( |" _7 t |" ƒ }# |! j4 d  |# ƒ |! j8 ƒ  | j9 j: d! d" |# ƒ | r,| t k	 rË|
 j- | ƒ } n  d( }$ d( }% | d( k	 ry | j- | ƒ }$ Wqt j3 k
 rqXn  |$ d( k r¾yR | j1 d# }$ d# } | |$ j; ƒ  }& |& d" k r]t
 d$ ƒ }% n t
 d% |& ƒ }% Wq¾t< k
 rºy | j= d" ƒ }$ Wq»t j3 k
 r¶| j- d& ƒ }$ q»Xq¾Xn  |% sç| |$ j; ƒ  }& t
 d' ƒ |& }% n  | j9 j	 |% ƒ t> | |$ ƒ | | j1 k r)t? j@ | | ƒ q)q,n  |
 | f SWd( tA | | ƒ | d( k	 rftB jC | t ƒ n  |
 d( k	 r|
 j8 ƒ  n  Xd( S()   sI  Make a copy of an existing repository.

    Create a copy of an existing repository in a new directory.  The
    source and destination are URLs, as passed to the repository
    function.  Returns a pair of repository peers, the source and
    newly created destination.

    The location of the source is added to the new repository's
    .hg/hgrc file, as the default to be used for future pulls and
    pushes.

    If an exception is raised, the partly cloned/updated destination
    repository will be deleted.

    Arguments:

    source: repository object or URL

    dest: URL of destination repository to create (defaults to base
    name of source repository)

    pull: always pull from source repository, even in local case

    stream: stream raw data uncompressed from repository (fast over
    LAN, slow over WAN)

    rev: revision to clone up to (implies pull=True)

    update: update working directory after clone completes, if
    destination is local repository (True means update to default rev,
    anything else is treated as a revision)

    branch: branches to clone
    s   destination directory: %s
s#   empty destination path is not valids   destination '%s' already existss   destination '%s' is not emptyt   waitt   preoutgoingt   throwRV   t   clones   .hgRX   t   caches   cache/branchheadst   branchheadst   outgoingR   RF   Rq   sX   src repository does not support revision lookup and so doesn't support clone by revisioni    t   headst   streamR   s)   clone from remote to remote not supportedt   pushkeyt	   bookmarksRL   R]   R^   R_   s   [paths]
s   default = %s
R[   R\   t   @s   updating to bookmark @
s$   updating to bookmark @ on branch %s
R`   s   updating to branch %s
N(D   R8   R)   R   R+   R   R   R'   R&   RW   Rp   R    R   R   R   R   R   Rc   Rd   t   listdirR;   R9   t   abspathR   t   cancopyR   t	   hassecretR…   R!   t	   LockErrorRJ   R   Ra   Rb   Re   Rf   t   OSErrorRj   t   EEXISTR—   t   sjoint   copyfileR   R   R   R   Rq   R›   t   pusht   listkeyst
   _bookmarkst	   iteritemsR"   Rn   R¡   Rg   t   passwdRo   R@   t	   setconfigR   t   KeyErrort	   branchtipRr   R¢   t
   setcurrentR   t   shutilt   rmtree('   R@   t   peeroptsRV   Rs   t   pullRw   Rt   R    R   Ru   t   srcpeerRx   t   srclockRŽ   t   cleandirRv   R¥   t   copyt   hgdirR   R|   t   dstcachedirt   srcbranchcachet   dstbranchcachet   destpeerR   R   t   destrepoR=   t   markst   kR–   t   mR}   R*   t
   defaulturlR   Rp   t   bn(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyR›   ä   s"   %	!"""	#	
c         C   s   |  j  j t d ƒ | ƒ d  S(   NsI   %d files updated, %d files merged, %d files removed, %d files unresolved
(   R@   Rp   R    (   R<   t   stats(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt
   _showstatsÁ  s    c         C   s   t  j |  | t | d ƒ S(   s    Update the working directory to node.

    When overwrite is set, changes are clobbered, merged else

    returns stats (see pydoc mercurial.merge.applyupdates)N(   t   mergemodRt   R   R   (   R<   R   t	   overwrite(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt
   updaterepoÅ  s    c         C   sP   t  |  | t ƒ } t |  | ƒ | d rB |  j j t d ƒ ƒ n  | d d k S(   s<   update the working directory to node, merging linear changesi   s1   use 'hg resolve' to retry unresolved file merges
i    (   RÍ   R   RÊ   R@   Rp   R    (   R<   R   RÉ   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyRt   Í  s
    
c         C   s6   t  |  | t ƒ } | r( t |  | ƒ n  | d d k S(   sA   forcibly switch the working directory to node, clobbering changesi   i    (   RÍ   R   RÊ   (   R<   R   t
   show_statsRÉ   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   cleanØ  s    c         C   sx   t  j |  | t | t ƒ } t |  | ƒ | d rK |  j j t d ƒ ƒ n | rj |  j j t d ƒ ƒ n  | d d k S(   sW   Branch merge with node, resolving changes. Return true if any
    unresolved conflicts.i   sP   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
s'   (branch merge, don't forget to commit)
i    (   RË   Rt   R   R   RÊ   R@   Rp   R    (   R<   R   t   forcet   remindRÉ   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   mergeß  s    
c         C   sC  t  | j | ƒ | j d ƒ ƒ \ } } t | | | ƒ } | j t d ƒ t j | ƒ ƒ t | | | | j d ƒ ƒ \ }	 }
 |	 r¨ g  |	 D] } | j	 | ƒ ^ qŠ }	 n  t
 j | | | |	 | d | d ƒ \ } } } zV | sú | j t d ƒ ƒ | ƒ  St j | | | | ƒ } |  | | | ƒ | j ƒ  Wd | ƒ  X| ƒ  d S(	   sÐ   
    Helper for incoming / gincoming.
    displaychlist gets called with
        (remoterepo, incomingchangesetlist, displayer) parameters,
    and is supposed to contain only code that can't be unified.
    R   s   comparing with %s
Rw   R,   RÐ   s   no changes found
Ni    (   R+   R   R4   R   Rp   R    R   t   hidepasswordR&   Rq   R
   t   getremotechangest   cmdutilt   show_changesetRo   (   t   displaychlistt   subreporecurseR@   R<   RV   RR   t   bufferedR$   R#   R   Rx   Rw   t   chlistt	   cleanupfnt	   displayer(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt	   _incomingë  s$    ' $% c            s@   ‡  ‡ ‡ ‡ f d †  } ‡  f d †  } t  | | ˆ ˆ ˆ ˆ  ƒ S(   Nc             sm   d }  ˆ  j  d ƒ ri ˆ d  } xG t | j ƒ D]3 } | j | ƒ } t |  | j ˆ ˆ ˆ  ƒ ƒ }  q/ Wn  |  S(   Ni   t   subrepos(   R4   R   t   sortedt   substatet   subt   mint   incoming(   t   rett   ctxt   subpathRá   (   RR   R<   RV   R@   (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyRØ     s    
%c            sÕ   t  j ˆ  ƒ } ˆ  j d ƒ r+ | j ƒ  n  d } x | D]• } | d  k	 rZ | | k rZ Pn  g  |  j j | ƒ D] } | t k rm | ^ qm } ˆ  j d ƒ r² t | ƒ d k r² q8 n  | d 7} | j	 |  | ƒ q8 Wd  S(   Nt   newest_firsti    t	   no_mergesi   i   (
   RÕ   t   loglimitR4   t   reverseR   t	   changelogt   parentsR   t   lent   show(   R#   RÚ   RÜ   t   limitt   countR–   t   pRì   (   RR   (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   display  s    1!
(   RÝ   (   R@   R<   RV   RR   RØ   Rò   (    (   RR   R<   RV   R@   s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyRã     s    	c      	   C   s#  |  j  | p d | p d ƒ } t | | j d ƒ ƒ \ } } |  j t d ƒ t j | ƒ ƒ t | | | | j d ƒ ƒ \ } } | r· g  t j	 | | ƒ D] } | j
 | ƒ ^ q™ } n  t | | | ƒ } t j | j ƒ  | | d | j d ƒ ƒ}	 |	 j }
 |
 st j | j | |	 j ƒ d  S|
 S(   Ns   default-pushR\   R   s   comparing with %s
Rw   RÐ   (   R   R+   R4   Rp   R    R   RÓ   R&   t   scmutilt   revrangeRq   R   t	   discoveryt   findcommonoutgoingt
   unfilteredt   missingt   nochangesfoundR@   t   excludedR   (   R@   R<   Rs   RR   R$   R   Rx   Rw   R#   Rž   t   o(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt	   _outgoing&  s     $1	c            s;  ‡  ‡ ‡ ‡ f d †  } t  j ˆ ƒ } t ˆ ˆ ˆ  ˆ ƒ } | d  k rO | ƒ  Sˆ j d ƒ rk | j ƒ  n  t  j ˆ ˆ ˆ ƒ } d } x | D]• }	 | d  k	 r¯ | | k r¯ Pn  g  ˆ j j |	 ƒ D] }
 |
 t	 k rÂ |
 ^ qÂ } ˆ j d ƒ rt
 | ƒ d k rq n  | d 7} | j ˆ |	 ƒ q W| j ƒ  | ƒ  d S(   Nc             sm   d }  ˆ j  d ƒ ri ˆ d  } xG t | j ƒ D]3 } | j | ƒ } t |  | j ˆ ˆ  ˆ ƒ ƒ }  q/ Wn  |  S(   Ni   RÞ   (   R4   R   Rß   Rà   Rá   Râ   Rž   (   Rä   Rå   Ræ   Rá   (   Rs   RR   R<   R@   (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   recurse8  s    
%Rç   i    Rè   i   i   (   RÕ   Ré   Rü   R   R4   Rê   RÖ   Rë   Rì   R   Rí   Rî   Ro   (   R@   R<   Rs   RR   Rý   Rï   Rû   RÜ   Rð   R–   Rñ   Rì   (    (   Rs   RR   R<   R@   s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyRž   7  s(    	1!

c         C   s#   t  j |  | t t | ƒ d d k S(   s<   revert changes to revision in node without updating dirstatei   i    (   RË   Rt   R   R   (   R<   R   t   choose(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   revertV  s    c         C   s   t  j |  ƒ S(   s&   verify the consistency of a repository(   t	   verifymodt   verify(   R<   (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyR  Z  s    c   	      C   s4  t  j |  d ƒ r- |  j j ƒ  } |  j }  n |  j ƒ  } xK d D]C } | j | ƒ pd |  j d | ƒ } | r@ | j d | | ƒ q@ q@ W|  j d d ƒ } | rµ | j d d | ƒ n  xA d D]9 } x0 |  j | ƒ D] \ } } | j | | | ƒ qÒ Wq¼ W|  j d
 d ƒ } | r0| j d
 d t  j	 | ƒ ƒ n  | S(   s*   build a remote ui from ui or repo and optst   baseuiR1   t	   remotecmdR@   R,   t   mainreporoott   autht   hostfingerprintst
   http_proxyt   webt   cacerts(   R1   R  (   R  R  R  (
   R   t   safehasattrR  R½   R@   R4   Rm   R²   t   configitemsR   (	   R“   RR   R”   Rû   t   vR   t   sectt   keyt   val(    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyRP   ^  s$    !(9   t   i18nR    R…   R   R   R   R   R   R
   t	   unionrepot   httppeert   sshpeert   statichttprepoR¢   R   RE   R!   Ró   R   R'   RÕ   Rõ   RÒ   RË   R  R   Rj   R   R¶   R   R&   R   R+   R3   R7   R9   RA   R   RK   RO   R   RW   R   R€   R—   R›   RÊ   RÍ   Rt   Rr   RÏ   RÝ   Rã   Rü   Rž   Rÿ   RP   (    (    (    s0   /sys/lib/python2.7/site-packages/mercurial/hg.pyt   <module>	   sV   Hl$		 

					
		C	!	Ü				!					