
    6h                        S SK Jr  S SKrS SKrS SKJrJrJr  SSKJ	r	J
r
JrJr  \(       a  SSKJr  SrSS jrSS	 jrSS
 jrSS jrg)    )annotationsN)ListTYPE_CHECKINGTuple   )encodingpycompatutilwin32uis   morec                   ^ / m[         R                  " 5       n [        R                  R	                  [        R                  R                  U 5      S5      nTR                  U5        S	U4S jjnU" [        R                  R	                  [        R                  R                  U 5      S5      5        [        R                  R                  S5      nU(       a  [        R                  R	                  US5      nU" [        R                  R	                  US5      5        [        R                  R	                  US5      n[        R                  R                  U5      (       a  TR                  U5        [        R                  R	                  US5      n[        R                  R                  U5      (       a  TR                  U5        [        R                  " SS[        R                  5      nU(       a  [        U[         5      (       a{  [        R"                  " U5      nUR%                  [&        R(                  5       HB  nUR+                  5       R-                  S5      (       a  TR                  U5        M:  U" U5        MD     T$ )
z+return default os-specific hgrc search path   mercurial.inic                ,  > [         R                  R                  U 5      (       ao  [        [        R
                  " U 5      5       HK  u  pUR                  S5      (       d  M  TR                  [         R                  R                  X5      5        MM     g g )Ns   .rc)	ospathisdirsortedr
   listdirendswithappendjoin)progrcdfkindrcpaths      6/usr/lib/python3/dist-packages/mercurial/scmwindows.py_processdir!systemrcpath.<locals>._processdir"   s]    77==!!!$,,w"78::f%%MM"'',,w":; 9 "    s   hgrc.ds   PROGRAMDATAs	   Mercurials   hgrcs   SOFTWARE\MercurialN)r   bytesreturnNone)r   executablepathr   r   r   dirnamer   r   environgetisfiler
   	lookupregwinregHKEY_LOCAL_MACHINE
isinstancer!   	localpathsplitr	   	ospathseplowerr   )filenameprogrcr   programdatainivaluepr   s          @r   systemrcpathr7      s   F##%HWW\\"''//(35EFF
MM&< RWW__X6	BC ""&&~6Kggll;=BGGLLi89ggll;(8977>>#MM#ggll;077>>#MM# NN!!	E E5))u%X//0Awwy!!"233a A	 1
 Mr    c                    [        S5      n [        R                  R                  U S5      [        R                  R                  U S5      /n[        R
                  R                  S5      nU(       ac  X :w  a^  UR                  [        R                  R                  US5      5        UR                  [        R                  R                  US5      5        U$ )z3return os-specific hgrc search path to the user dir   ~r   s   .hgrc   USERPROFILE)_legacy_expanduserr   r   r   r   r&   r'   r   )homer   userprofiles      r   
userrcpathr>   K   s    d#DGGLL/0"'',,tX2NOD""&&~6K{*BGGLL.>?@BGGLLh78Kr    c                   U R                  S5      (       d  U $ S[        U 5      p!X:  a  X   S;  a  US-  nX:  a
  X   S;  a  M  S[        R                  ;   a  [        R                  S   nOS[        R                  ;   a  [        R                  S   nO[S[        R                  ;  a  U $  [        R                  S   n[
        R                  R                  U[        R                  S   5      nUS:w  a@  [
        R                  R                  [
        R                  R                  U5      U SU 5      nX0US	 -   $ ! [         a    Sn Nf = f)
z2Expand ~ and ~user constructs in the pre 3.8 styler9   r   s   \/s   HOMEr:   s   HOMEPATHs	   HOMEDRIVEr    N)	
startswithlenr   r&   KeyErrorr   r   r   r%   )r   inuserhomedrives        r   r;   r;   V   s$    ??4  c$iq
%DG6)	Q %DG6) ("""##G,	8++	+##N3	H,,	,	$$\2E 77<<x'7'7'DEAv77<< 94!9E12h  	E	s   -D> >EEc                ,    [         R                  " 5       $ )N)r   termsizer   s    r   rH   rH   v   s    >>r    )r"   zList[bytes])r   r!   r"   r!   )r   zuimod.uir"   zTuple[int, int])
__future__r   r   r*   typingr   r   r    r   r	   r
   r   r   uimodfallbackpagerr7   r>   r;   rH    r    r   <module>rO      sG    " 	     .b@r    