
    g                     (   d dl Z d dlZd dlZddlmZ d Z e            r6 eedd          dk    r%ej                            ej	                  Z
e
Zd Zn]ej                            ej                             ej        e                              Z
ej                            e
          Zd Z	 d d	lmZ  ej        ed
          rej         nej          eedd          dv re	 ddlmZ d Zd Zd ZdS # eef$ r d Zd Zd ZY dS w xY w)    N   )pycompatc                      t          j        t          d          p-t          j        t          d          pt          j        d          S )zreturn True if we are a frozen executable.

    The code supports py2exe (most common, Windows only) and tools/freeze
    (portable, not much used).
    frozen	importers__main__)r   safehasattrsysimp	is_frozen     >/usr/lib/python3/dist-packages/mercurial/utils/resourceutil.py
mainfrozenr      s@     	S(++ 	%[11	%=$$r   r   
macosx_appc                     |                      d          }|d         dk    sJ t          j        j        t          g|dd          R  S )N   .r   s	   mercurial   )splitospathjoin	_rootpath)packagedirss     r   _package_pathr   *   sJ    }}T""Aw,&&&&w|I1QRR1111r   c                 `    t          j        j        t          g|                     d          R  S )Nr   )r   r   r   r   r   )r   s    r   r   r   4   s(    w|I<d(;(;<<<<r   )	resourcesfiles)console_exewindows_exe)encodingc                 d   t          j        t          d          r^t          j        t          j        |                                         t          j        |                                        d          S t          j        t          j        |           t          j        |                    S )Nr   rb)r   r	   r   r   sysstrjoinpathopenopen_binaryr   names     r   open_resourcer+   a   s    	733 	OG,,  (/$//00d ((((/$*?*?  r   c                 t    t          j        t          j        |           t	          j        |                    S N)r   is_resourcer   r%   r"   strfromlocalr)   s     r   r.   r.   o   s1    $OG$$h&;D&A&A
 
 	
r   c              #      K   t          j        t          j        |                     D ]}t	          j        |          V  d S r-   )r   contentsr   r%   r"   
strtolocal)r   rs     r   r1   r1   t   sN      #HOG$<$<== 	) 	)A%a((((((	) 	)r   c                 |    t           j                            t          |           |          }t	          |d          S )Nr$   )r   r   r   r   r'   r   r*   r   s      r   r+   r+   K   s/    w||M'22D99D$r   c                     t           j                            t          |           |          }	 t           j                            t          j        |                    S # t          t          f$ r Y dS w xY w)NF)	r   r   r   r   isfiler   fsdecodeIOErrorOSErrorr5   s      r   r.   r.   O   sj    w||M'22D99	7>>("3D"9"9:::! 	 	 	55	s   0A   A54A5c              #      K   t          j        t          |                     }t          j        |          D ]}t          j        |          V  d S r-   )r   r8   r   r   listdirfsencode)r   r   ps      r   r1   r1   W   s[       w!7!788D!! 	' 	'A#A&&&&&&	' 	'r   )r   r   r
    r   r   getattrr   dirnamesysexecutabledatapathr   r   r=   __file__	importlibr   r	   r   r(   ImportErrorr"   r+   r.   r1   AttributeErrorr   r   r   <module>rH      s   


 				 



      
 
 
 :<< =GGC400L@@wx566HI2 2 2 2 wrw/@x/@/J/JKKLLH))I= = =@) $##### xIw//  wsHd##'EEE F6   
 
 

) ) ) ) )[ 	^$ ' ' '       ' ' ' ' ' '!'s   47C= =DD