HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //usr/lib64/python2.7/site-packages/mercurial/vfs.pyo
�
1�3\c@@suddlmZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZm
Z
mZmZd�Zdefd��YZd	efd
��YZeZdefd��YZd
eefd��YZeZdeefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdS(i(tabsolute_importNi(t_(tencodingterrortpathutiltpycompattutilc@sB��fd�}|�s>tjtj����|�ndS(s�Avoid file stat ambiguity forcibly

    This function causes copying ``path`` file, if it is owned by
    another (see issue5418 and issue5584 for detail).
    c@s2tjj��}|j��p1|j���S(N(Rtfilestattfrompathtisambigt
avoidambig(tnewstat(toldstattpath(s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt
checkandavoidsN(Rtrenamet
mktempcopy(R
RR((RR
s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt_avoidambigs	tabstractvfscB@seZdZd�Zd�Zdd�Zejd��Zd�Z	dd�Z
ed�Zd	ed
�Z
d�Zd�Zd
�Zd�Zd1d�Zd�Zd1d�Zd1d�Zd1d�Zd1d�Zd�Zd�Zd1d�Zd1d�Zd1d�Zd1ed�Zd1d1d�Z d�Z!d1d�Z"ddd1d �Z#d1d1d1d!�Z$d"�Z%ed#�Z&d$�Z'd1d%�Z(d1d&�Z)d1eed'�Z*d(�Z+d1d)�Z,d1d*�Z-d1d+�Z.d1eed,�Z/d1d1d-�Z0d1d1d.�Z1e2j3d/d0��Z4RS(2s+Abstract base class; cannot be instantiatedcO@s tdtt|����dS(s7Prevent instantiation; don't call this from subclasses.sattempted instantiating N(tNotImplementedErrortstrttype(tselftargstkwargs((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt__init__-scC@sCy|j|�SWn+tk
r>}|jtjkr?�q?nXdS(s3gracefully return an empty string for missing filest(treadtIOErrorterrnotENOENT(RR
tinst((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyttryread1s
trbcC@sIy|j|d|�SWn+tk
rD}|jtjkrE�qEnXgS(s2gracefully return an empty array for missing filestmode(t	readlinesRRR(RR
R"R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyttryreadlines:s
cC@s|jS(s�Open ``path`` file, which is relative to vfs root.

        Newly created directories are marked as "not to be indexed by
        the content indexing service", if ``notindexed`` is specified
        for "write" mode access.
        (t__call__(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytopenCscC@s&||d��}|j�SWdQXdS(NR!(R(RR
tfp((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRMscC@s)||d|��}|j�SWdQXdS(NR"(R#(RR
R"R'((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR#QscK@s2||dd||��}|j|�SWdQXdS(Ntwbtbackgroundclose(twrite(RR
tdataR)RR'((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR*UsR(cC@s2||d|d|��}|j|�SWdQXdS(NR"t
notindexed(t
writelines(RR
R+R"R,R'((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR-YscC@s)||d��}|j|�SWdQXdS(Ntab(R*(RR
R+R'((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytappend]scC@stjj|�S(s�return base element of a path (as os.path.basename would do)

        This exists to allow handling of strange encoding if needed.(tosR
tbasename(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR1ascC@stj|j|�|�S(N(R0tchmodtjoin(RR
R"((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR2gscC@stjj|�S(s�return dirname element of a path (as os.path.dirname would do)

        This exists to allow handling of strange encoding if needed.(R0R
tdirname(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR4jscC@stjj|j|��S(N(R0R
texistsR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR5pscC@s
tj|�S(N(Rtfstat(RR'((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR6sscC@stjj|j|��S(N(R0R
tisdirR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR7vscC@stjj|j|��S(N(R0R
tisfileR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR8yscC@stjj|j|��S(N(R0R
tislinkR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR9|scC@sMy|j|�}Wntk
r'tSX|j}tj|�pLtj|�S(shreturn whether path is a regular file or a symlink

        Unlike isfile, this doesn't follow symlinks.(tlstattOSErrortFalsetst_modetstattS_ISREGtS_ISLNK(RR
tstR"((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytisfileorlinks
	cG@stjj|�S(s�join various elements of a path together (as os.path.join would do)

        The vfs base is not injected so that path stay relative. This exists
        to allow handling of strange encoding if needed.(R0R
R3(Rtpaths((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytreljoin�scC@stjj|�S(s�split top-most element of a path (as os.path.split would do)

        This exists to allow handling of strange encoding if needed.(R0R
tsplit(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRE�scC@stjj|j|��S(N(R0R
tlexistsR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRF�scC@stj|j|��S(N(R0R:R3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR:�scC@stj|j|��S(N(R0tlistdirR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRG�scC@stj|j|�|�S(N(RtmakedirR3(RR
R,((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRH�scC@stj|j|�|�S(N(RtmakedirsR3(RR
R"((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRI�scC@stj||j|��S(N(RtmakelockR3(RtinfoR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRJ�scC@stj|j|��S(N(R0tmkdirR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRL�sRttmpcC@sotjd|d|d|j|��\}}tj|�\}}|ra|tjj||�fS||fSdS(Ntsuffixtprefixtdir(RtmkstempR3RRER0R
(RRNRORPtfdtnametdnametfname((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRQ�scC@stj|j|�||�S(N(RRGR3(RR
R>tskip((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytreaddir�scC@stj|j|��S(N(RtreadlockR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRX�scC@sx|j|�}|j|�}|o3tjj|�}|rh|jrhtj||�}t||�|Stj||�S(s�Rename from src to dst

        checkambig argument is used with util.filestat, and is useful
        only if destination file is guarded by any lock
        (e.g. repo.lock or repo.wlock).

        To avoid file stat ambiguity forcibly, checkambig=True involves
        copying ``src`` file, if it is owned by another. Therefore, use
        checkambig=True only in limited cases (see also issue5418 and
        issue5584 for detail).
        (R3RRRR>RR(Rtsrctdstt
checkambigtsrcpathtdstpathRtret((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�s
cC@stj|j|��S(N(RtreadlinkR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR_�scC@stj|j|��S(s@Remove a leaf directory and all empty intermediate ones
        (Rt
removedirsR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR`�scC@stj|j|��S(sRemove an empty directory.(R0trmdirR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRa�scC@s:|rd�}nd}tj|j|�d|d|�S(sqRemove a directory tree recursively

        If ``forcibly``, this tries to remove READ-ONLY files, too.
        cS@st|tjk	r�ntj|�}|jtj@dkr@�ntj|tj|j�tjB�tj|�dS(Ni(R0tremoveR>R=tS_IWRITER2tS_IMODE(tfunctionR
texcinfots((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytonerror�s#t
ignore_errorsRhN(tNonetshutiltrmtreeR3(RR
RitforciblyRh((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRl�s

cC@stj|j|�||�S(N(RtsetflagsR3(RR
tltx((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRn�scC@stj|j|��S(N(R0R>R3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR>�scC@stj|j|��S(N(RtunlinkR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRq�scC@stj|j|��dS(s7Attempt to remove a file, ignoring missing file errors.N(Rt	tryunlinkR3(RR
((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRr�scC@s"tj|j|�d|d|�S(Nt
ignoremissingRa(Rt
unlinkpathR3(RR
RsRa((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRt�scC@stj|j|�|�S(N(R0tutimeR3(RR
tt((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRuscc@sxtjj|jd��}ttj|��}xAtj|j|�d|�D]!\}}}||||fVqOWdS(s/Yield (dirpath, dirs, files) tuple for each directories under path

        ``dirpath`` is relative one from the root of this vfs. This
        uses ``os.sep`` as path separator, even you specify POSIX
        style ``path``.

        "The root of this vfs" is represented as empty ``dirpath``.
        RhN(	R0R
tnormpathR3RjtlenRtnormasprefixtwalk(RR
Rhtroott	prefixlentdirpathtdirstfiles((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRzs	.i����c	c@s�ttj�tj�s!dVdSt|d|�}t|dd�r]tjtd���nt	|d|��&}z||_
|VWdd|_
XWdQXdS(s�Allow files to be closed asynchronously.

        When this context manager is active, ``backgroundclose`` can be passed
        to ``__call__``/``open`` to result in the file possibly being closed
        asynchronously, on a background thread.
        Ntvfst_backgroundfileclosers-can only have 1 active background file closert
expectedcount(t
isinstancet	threadingt
currentThreadt_MainThreadtgetattrRjRtAbortRtbackgroundfilecloserR�(RtuiR�R�tbfc((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytbackgroundclosings		N(5t__name__t
__module__t__doc__RR R$Rt
propertycacheR&RR#R<R*R-R/R1R2R4RjR5R6R7R8R9RBRDRERFR:RGtTrueRHRIRJRLRQRWRXRR_R`RaRlRnR>RqRrRtRuRzt
contextlibtcontextmanagerR�(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR*sZ				
													R�cB@s}eZdZeeeed�Zejd��Zejd��Z	d�Z
deeeeed�Zd�Zd�Z
RS(	skOperate files relative to a base directory

    This class is used to hide the details of COW semantics and
    remote file access from higher level code.

    'cacheaudited' should be enabled only if (a) vfs object is short-lived, or
    (b) the base directory is managed by hg and considered sort-of append-only.
    See pathutil.pathauditor() for details.
    cC@s�|rtj|�}n|r3tjj|�}n||_||_|ritj|jd|�|_	ndd�|_	d|_d|_dS(NtcachedcS@stS(N(R�(R
R"((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt<lambda>CR(
Rt
expandpathR0R
trealpathtbaset_auditRtpathauditortauditRjt
createmodet_trustnlink(RR�R�tcacheauditedR�R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR8s			cC@stj|j�S(N(Rt	checklinkR�(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt_cansymlinkGscC@stj|j�S(N(Rt	checkexecR�(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt_chmodKscC@s8|jdks|jrdStj||jd@�dS(Ni�(R�RjR�R0R2(RRS((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt_fixfilemodeOstrcC@s�|rY|jrCtj|�}|rCtjd||f��qCn|j|d|�n|j|�}	d|kr�|d7}nd}
|dkr
tj|	�\}}|r
|r�tj||j	|�tj
|	||j	d|�Sy`d|krtj|	�d	}
n:tj|	��)tj
|	�}
|
d
kr?d}
nWdQXWnMttfk
r�}
|
jtjkrv�nd	}
tj||j	|�nX|
d	kr
|jdkr�|
d
kp�tj|	�|_n|
d
ks�|jrtjtj|	�|	�qq
q
ntj|	|�}|
d	kr;|j|	�n|rx|dkritjtd
�|��nt|�}n|r�ttj�tj�r�|js�tjtd���nt||j�}n|S(s+Open ``path`` file, which is relative to vfs root.

        Newly created directories are marked as "not to be indexed by
        the content indexing service", if ``notindexed`` is specified
        for "write" mode access.

        If ``backgroundclose`` is passed, the file may be closed asynchronously.
        It can only be used if the ``self.backgroundclosing()`` context manager
        is active. This should only be specified if the following criteria hold:

        1. There is a potential for writing thousands of files. Unless you
           are writing thousands of files, the performance benefits of
           asynchronously closing files is not realized.
        2. Files are opened exactly once for the ``backgroundclosing``
           active duration and are therefore free of race conditions between
           closing a file on a background thread and reopening it. (If the
           file were opened multiple times, there could be unflushed data
           because the original file handle hasn't been flushed/closed yet.)

        ``checkambig`` argument is passed to atomictemplfile (valid
        only for writing), and is useful only if target file is
        guarded by any lock (e.g. repo.lock or repo.wlock).

        To avoid file stat ambiguity forcibly, checkambig=True involves
        copying ``path`` file opened in "append" mode (e.g. for
        truncation), if it is owned by another. Therefore, use
        combination of append mode and checkambig=True only in limited
        cases (see also issue5418 and issue5584 for detail).
        s%s: %rR"tbi����R�R!R[twiiiNs>implementation error: mode %s is not valid for checkambig=TruesSbackgroundclose can only be used when a backgroundclosing context manager is active(R�R!(R�R!( R�RtcheckosfilenameRR�R�R3RERIR�tatomictempfileRqt	posixfiletnlinksR;RRRR�Rjt
checknlinkRRR�RtcheckambigatclosingR�R�R�R�R�tdelayclosedfile(RR
R"t
atomictempR,R)R[t	auditpathR�tftnlinkR4R1teR'((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR%Tsb	

	!%
	cC@s�|j|�|j|�}tj|�tjtjj|�|j�|j	r�ytj
||�Wq�tk
r�}t|jt
d�|tj|j�f|��q�Xn|j||�dS(Nscould not symlink to %r: %s(R�R3RRrRIR0R
R4R�R�tsymlinkR;RRRt
strtolocaltstrerrorR*(RRYRZtlinknameterr((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s

	cG@s*|rtjj|j||�S|jSdS(N(R0R
R3R�(RR
tinsidef((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR3�s(R�R�R�R�R<RRR�R�R�R�R%R�R3(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�.s				]	tproxyvfscB@s2eZd�Zed��Zejd��ZRS(cC@s
||_dS(N(R�(RR�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�scC@s
|jjS(N(R�toptions(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��scC@s||j_dS(N(R�R�(Rtvalue((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s(R�R�RtpropertyR�tsetter(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s	t	filtervfscB@s)eZdZd�Zd�Zd�ZRS(s4Wrapper vfs for filtering filenames with a function.cC@stj||�||_dS(N(R�Rt_filter(RR�tfilter((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�scO@s|j|j|�||�S(N(R�R�(RR
RR((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR%�scG@sB|r.|jj|j|jj||���S|jj|�SdS(N(R�R3R�RD(RR
R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR3�s((R�R�R�RR%R3(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s		treadonlyvfscB@s,eZdZd�Zdd�Zd�ZRS(s#Wrapper vfs preventing any writing.cC@stj||�dS(N(R�R(RR�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�sR�cO@s:|dkr$tjtd���n|j||||�S(NR�R!sthis vfs is read only(R�R!(RR�RR�(RR
R"Rtkw((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR%�scG@s|jj||�S(N(R�R3(RR
R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR3�s(R�R�R�RR%R3(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s	t
closewrapbasecB@sMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(saBase class of wrapper, which hooks closing

    Do not instantiate outside of the vfs layer.
    cC@stj|d|�dS(Nt_origfh(tobjectt__setattr__(Rtfh((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�scC@st|j|�S(N(R�R�(Rtattr((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt__getattr__�scC@st|j||�S(N(tsetattrR�(RR�R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�scC@st|j|�S(N(tdelattrR�(RR�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt__delattr__scC@s|jj�|S(N(R�t	__enter__(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�s
cC@s tdtt|����dS(Nsattempted instantiating (RRR(Rtexc_typet	exc_valuetexc_tb((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt__exit__scC@s tdtt|����dS(Nsattempted instantiating (RRR(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pytcloses(
R�R�R�RR�R�R�R�R�R�(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s						R�cB@s)eZdZd�Zd�Zd�ZRS(sfProxy for a file object whose close is delayed.

    Do not instantiate outside of the vfs layer.
    cC@s-tt|�j|�tj|d|�dS(Nt_closer(tsuperR�RR�R�(RR�tcloser((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyRscC@s|jj|j�dS(N(R�R�R�(RR�R�R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�scC@s|jj|j�dS(N(R�R�R�(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�s(R�R�R�RR�R�(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�s		R�cB@s>eZdZdd�Zd�Zd�Zd�Zd�ZRS(sCCoordinates background closing of file handles on multiple threads.i����c
C@s t|_t|_g|_d|_tj}|jdd|�}|sLdS|j	dd�}|dkrz||krzdS|j	dd�}|j	dd�}|j
d|�tjjd|�|_
t|_xIt|�D];}tjd	|jd
d�}	|jj|	�|	j�q�WdS(NtworkerR)tbackgroundcloseminfilecountitbackgroundclosemaxqueuetbackgroundclosethreadcounts0starting %d threads for background file closing
tmaxsizettargetRStbackgroundcloser(R<t_runningt_enteredt_threadsRjt_threadexceptionRt	iswindowst
configboolt	configinttdebugtqueuetQueuet_queueR�trangeR�tThreadt_workerR/tstart(
RR�R�tdefaultenabledtenabledtminfilecounttmaxqueuetthreadcounttiRv((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR#s*							cC@s
t|_|S(N(R�R�(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�Hs	cC@s+t|_x|jD]}|j�qWdS(N(R<R�R�R3(RR�R�R�Rv((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�Ls	cC@s�x}tryL|jjdtdd�}y|j�Wntk
rS}||_nXWqtjjk
r{|j	s|Pq|qXqWdS(sMain routine for worker thread.tblockttimeoutg�������?N(
R�R�tgetR�t	ExceptionR�RR�tEmptyR�(RR�R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�Ts		cC@s||js!tjtd���n|jrE|j}d|_|�n|js\|j�dS|jj	|dt
dd�dS(sSchedule a file for closing.s1can only call close() when context manager activeNR�R�(R�RR�RR�RjR�R�R�tputR�(RR�R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�ds						
(R�R�R�RR�R�R�R�(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�!s%			R�cB@s2eZdZd�Zd�Zd�Zd�ZRS(s"Proxy for a file object, to avoid ambiguity of file stat

    See also util.filestat for detail about "ambiguity of file stat".

    This proxy is useful only if the target file is guarded by any
    lock (e.g. repo.lock or repo.wlock)

    Do not instantiate outside of the vfs layer.
    cC@s<tt|�j|�tj|dtjj|j��dS(Nt_oldstat(	R�R�RR�R�RRRRS(RR�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�scC@s,|j}|jr(t|jj|�ndS(N(R�R>RR�RS(RR((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt_checkambig�s		cC@s$|jj|||�|j�dS(N(R�R�R�(RR�R�R�((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��scC@s|jj�|j�dS(N(R�R�R�(R((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR��s
(R�R�R�RR�R�R�(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyR�ys
				(t
__future__RR�RR0RkR>R�ti18nRRRRRRRRR�RR�topenerR�R�tfilteropenerR�R�R�R�R�(((s3/usr/lib64/python2.7/site-packages/mercurial/vfs.pyt<module>s*(	��X