HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/lib/python2.7/dist-packages/mercurial/manifest.pyc

Xc@@sddlmZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
e
jZdZdZdZd	Zd
ZdZdefd
YZdefdYZdZdZdefdYZy
ejZWnek
r+nXdefdYZdedZdZ dZ!dZ"dZ#defdYZ$dejfdYZ%defd YZ&d!efd"YZ'd#efd$YZ(d%e%fd&YZ)dS('i(tabsolute_importNi(t_(terrortmdifftparserstrevlogtutilcc@s|r%|ddkr%tdnd}x|jD]}|dk	re||kretdn|}|jd\}}t|dkr|tj|d |dfVq8|tj|dfVq8WdS(Nis
s"Manifest did not end in a newline.s#Manifest lines not in sorted order.si(t(t
ValueErrortNonet
splitlinestsplittlenRtbin(tdatatprevtltftn((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_parsev1s"c
c@s|jd}|d}d}x|t|kr|jd|d}|dkretdnt||}||d|!jd}|| |d}||krtdn|d}||d|d	!}	||	|fV|d
}|}q"WdS(Ns
iRis*Manifest ended with incomplete file entry.sis%Manifest entries not in sorted order.ii(tfindRRtordR(
RtmetadataendtpostprevftendtstemlentitemsRtflR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_parsev2-s"


cC@s3|jdrtt|Stt|SdS(s9Generates (path, node, flags) tuples from a manifest textsN(t
startswithtiterRR(R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_parseBscC@s|rt|St|SdS(sNGiven an iterator over (path, node, flags) tuples, returns a manifest
    textN(t_textv2t_textv1(titt
usemanifestv2((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_textIs
cC@ssg}g}tj}xD|D]<\}}}|j||jd||||fqWt|dj|S(Ns%s%s%s
R(Rthextappendt_checkforbiddentjoin(R#tfilestlinest_hexRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR"Qs	
$
c	C@sg}dg}d}xx|D]p\}}}|j|tjj||g}tt|d}|jd|||||f|}qWt|dj|S(Ns
Ris%c%s%s
%s
(R'tostpathtcommonprefixtminRR(R)(	R#R*R+RRRRtstemR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR!^s	
!

tlazymanifestitercB@s#eZdZdZdZRS(cC@sd|_||_dS(Ni(Rtlm(tselfR3((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__init__ls	cC@s|S(N((R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__iter__pscC@sy|jj|j\}}Wntk
r8tnX|dkr\|jd7_|dS|jd7_|jd|}|||!S(Niiis(R3t_getRt
IndexErrort
StopIterationR(R4RRtzeropos((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytnextss

(t__name__t
__module__R5R6R;(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR2ks		tlazymanifestiterentriescB@s#eZdZdZdZRS(cC@s||_d|_dS(Ni(R3R(R4R3((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s	cC@s|S(N((R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR6scC@sy|jj|j\}}Wntk
r8tnX|dkrX|jd7_|S|jd|}t||jj|j|dd}|jj||j|}|jd7_|||!||fS(Niisi((	R3R7RR8R9Rt	unhexlifyt	extrainfot	_getflags(R4RRR:thashvaltflags((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR;s

(R<R=R5R6R;(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR>s		cC@s;||||!jd}|r7|t|d@7}n|S(NR&i(tdecodetchr(RtextraRtlengthts((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR?scC@s||k||kS(N((tatb((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_cmpst
_lazymanifestcB@seZddddZdZdZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZedZdZdZdZdZdZRS(cC@sw|dkrL|j||_dgt|j|_||_g|_n'||_||_||_||_dS(Ni(R	t	findlinest	positionsRR@Rt	extradata(R4RRNR@RO((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s	


cC@s|s
gS|jd}|dks5|ddkrDtdndg}||jd }x|t|dkr|dkr|j|d||d|jd|d!}||krtdn|}|jd|d}qcW|S(Ns
is"Manifest did not end in a newline.isis#Manifest lines not in sorted order.(RRRR'(R4RRRNRtnexts((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRMs	%!cC@s<|j|}|dkr&|j|fS|j|ddfS(Niii(RNRRO(R4tindexR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR7s

cC@sA|dkr-|j||jjd|d!S|j|ddS(Nisi(RRRO(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_getkeys!cC@sd}t|jd}x|||kr||d}|j|}|j|}t||}|dkrq|S|dkr|d}q|d}qWdS(Niiii(RRNRRRK(R4tkeytfirsttlasttmidpointtnextpost	candidatetr((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytbsearchs

cC@sd}t|jd}x||kr||d}|j|}|j|}t||}|dkrw|tfS|dkr|d}q|d}qW|tfS(Niii(RRNRRRKtTruetFalse(R4RSRTRURVRWRXRY((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytbsearch2s


cC@s|j|dkS(Ni(RZ(R4RS((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__contains__scC@sY|d}|jd|}|dkr;t|d}n||krKdS|j||!S(Ni)s
iiR(RRR(R4RtneedleRtstartR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRAs
cC@st|tstdn|j|}|dkrBtn|j|\}}|dkru|d|dfS|jd|}d|kot|jknst	t|j
t|jkst	t||j
||dd}|j|||}||fS(Ns(getitem: manifest keys must be a string.iiisii((
t
isinstancetstrt	TypeErrorRZtKeyErrorR7RRRNtAssertionErrorR@R?RA(R4RSR_RRR:RBRC((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__getitem__s	+$ cC@s|j|\}}|s$tn|j|}|j| |j|d|_|j| |j|d|_|dkr|j| d|j|d|_ndS(Niis(R]RdRNR@R(R4RSR_tfoundtcur((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__delitem__
s	
cC@st|tstdnt|ts@t|dkrOtdn|d}t|tsdt|kodknrtdn|d}t|dkr|d	 }nt|tst|dkrtd
|n|j|\}}|r|j|}|dkrN|||df|j|d<q|jj|||dft|j|j|<nk|jj|||df|j| t|jg|j||_|j	| dg|j	||_	dS(Ns(setitem: manifest keys must be a string.is1Manifest values must be a tuple of (node, flags).iiisnode must be a 20-byte stringiis'flags must a 0 or 1 byte string, got %r(
RaRbRcttupleRR]RNROR'R@(R4RStvalueRBRCR_RgR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__setitem__s."
3

"
",cC@st|j|j|j|jS(N(RLRRNR@RO(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytcopy6scC@s6t|jdkrdSg}d}d}d}dgt|j|_x|t|jkr|j|dkrP|j|}|}xotr||j|<|d7}|t|jks|j|dkrPn||j||7}|j|}qW|jjd|}|dkr(|d7}n|||7}|j|j||!qMx|t|jkr|j|dkr|j|}|j|d}|j|j|||j|<t|ddkrt	|dd|j|<n|t|d7}|d7}qSWqMWdj
||_g|_dS(Niis
iiiR(RRORNR@R[RRR't_packRR)(R4Rtlast_cuttitoffsetRhtend_cuttt((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_compact;sD
	

(
+

cC@s-|dd|dd jd|ddS(NisiiR&is
(tencode(R4td((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRnascC@s|j|jS(N(RtR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyttextds
cC@si}x|jD]|\}}}||krG||fdf||<q||}||f|kr|||f|f||<q|rd||<qqWxB|jD]4\}}}||krd||ff||<qqW|S(s2Finds changes between the current manifest and m2.RN(NR(NR(titerentriesR	(R4tm2tcleantdifftfnte1RCte2((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR{hs
cC@s
t|S(N(R>(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRx}scC@s
t|S(N(R2(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytiterkeysscC@s
t|S(N(R2(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR6scC@s
t|jS(N(RRN(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__len__scC@sOtd}x<|jD].\}}}||r||f||<qqW|S(NR(RLRx(R4tfilterfntcRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt
filtercopys
N(R<R=R	R5RMR7RRRZR]R^RARfRiRlRmRtRnRwR\R{RxRR6RR(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRLs*											
			&						tmanifestdictcB@seZddZdZdZdZdZdZdZdZ	d	Z
d
ZdZe
dZd
ZdZdZdZdZedZdZddZddZdZdZdZedZdZRS(RcC@sg|jdrTtd|_xBt|D]"\}}}||f|j|<q+Wnt||_dS(NsR(RRLt_lmR(R4RRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s
cC@s|j|dS(Ni(R(R4RS((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRfscC@s|j|S(N(R(R4RS((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s
t|jS(N(RR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s#||j|df|j|<dS(NR(RCR(R4RStnode((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRlscC@s
||jkS(N(R(R4RS((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR^scC@s|j|=dS(N(R(R4RS((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRiscC@s
|jjS(N(RR6(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR6scC@s
|jjS(N(RR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@st|jS(N(tlistR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytkeysscC@s/|j|}td|jD}|S(s7Set of files in this manifest that are not in the othercs@s/|]%\}}|dddkr|VqdS(iiN(R	(t.0tfilepatht	hashflags((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pys	<genexpr>s	(R{tsett	iteritems(R4RyR{R*((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt
filesnotins	cC@s
tj|S(N(Rtdirs(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_dirsscC@s|jS(N(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s
||jkS(N(R(R4tdir((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pythasdirsc@sP|j}t|dkoO|jpO|joOtfd|DS(snChecks whether we can correctly and quickly iterate over matcher
        files instead of over manifest files.idc3@s|]}|kVqdS(N((RR|(R4(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pys	<genexpr>s(R*Rtisexacttprefixtall(R4tmatchR*((R4s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_filesfastpathscc@s|jr,xt|D]}|VqWdSt|j}|j|rmxt|D]}|VqZWdSx>|D]6}||kr|j|n||rt|VqtqtW|jdx6t|D](}|j|s|j	|dqqWdS(sGenerates matching file names.

        Equivalent to manifest.matches(match).iterkeys(), but without creating
        an entirely new manifest.

        It also reports nonexistent files by marking them bad with match.bad().
        Nt.(talwaysRRR*RtsortedtremovetdiscardRtbadR	(R4RRtfsetR|((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytwalks$		

cC@s|jr|jS|j|rrt}|j}x4|jD]&}||krD|||j|<qDqDW|St}|jj||_|S(s6generate a new manifest filtered by the match argument(RRmRRRR*R(R4RtmR3R|((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytmatchess
			cC@s|jj|j|S(szFinds changes between the current manifest and m2.

        Args:
          m2: the manifest to which this manifest should be compared.
          clean: if true, include files unchanged between these manifests
                 with a None value in the returned dictionary.

        The result is returned as a dict with filename as key and
        values of the form ((n1,fl1),(n2,fl2)), where n1/n2 is the
        nodeid in the current/other manifest and fl1/fl2 is the flag
        in the current/other manifest. Where the file does not exist,
        the nodeid will be None and the flags will be the empty
        string.
        (RR{(R4RyRz((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR{	scC@s|||f|j|<dS(N(R(R4RStflag((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytsetflagscC@s,y|j|dSWntk
r'|SXdS(Ni(RRd(R4RStdefault((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytgets
cC@s,y|j|dSWntk
r'|SXdS(Ni(RRd(R4RSR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRC#s
cC@st}|jj|_|S(N(RRRm(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRm)s	cC@sd|jjDS(Ncs@s|]}|d VqdS(iN((Rtx((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pys	<genexpr>/s(RRx(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR.scC@s
|jjS(N(RRx(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRx1scC@s*|rt|jjS|jjSdS(N(R!RRxRw(R4R$((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRw4scC@sg}d}d}dg}d}tj|}t|}t|dkrx$|D]\}	}
t||	|\}}|
s|j|	\}}
d|	tj||
f}n+||krt	t
d|	nd}|dk	r.||kr.||kr.||kr|}n|rq|j|qqqU|dk	r\|j||dj|gn|}|}|g}qUW|dk	r|j||dj|gnt
||\}}n*tjd|j}tj||}||fS(sGiven a base manifest text as an array.array and a list of changes
        relative to that text, compute a delta that can be used by revlog.
        Riis%s%s%s
s!failed to remove %s from manifestRN(R	RtbufferRRt_msearchRRR&ReRR'R)t
_addlistdeltatarrayRwRttextdiff(R4tbasetchangestdeltatdstarttdendtdlineR`taddbufRttodeleteRthRRt	deltatextt	arraytext((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt	fastdelta;sB	$	"
"N(R<R=R5RfRRRlR^RiR6RRRt
propertycacheRRRRRRR\R{RR	RRCRmRRxRwR(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs4															$					c	@s.fd}|s"||fSt|s=}nx||kr||d}|}x.|dkr|ddkr|d8}qcW||d}||!|kr||ddd}q@|}q@W||d}||!}||kr ||dd}||dfS||fSdS(	s,return a tuple (start, end) that says where to find s within m.

    If the string is found m[start:end] are the line containing
    that string.  If start == end the string was not found and
    they indicate the proper sorted insertion point.

    m should be a buffer or a string
    s is a stringc@s1x*|kr,||kr,|d7}qW|S(Ni((RpR(tlenmR(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytadvancexsiiis
si(N(R(	RRHtlothiRtmidR`RRg((RRs6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRos*	
	#

cC@sIxB|D]:}d|ks%d|krtjtd|qqWdS(s'Check filenames for illegal characters.s
s
s)'\n' and '\r' disallowed in filenames: %rN(RtRevlogErrorR(RR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR(s
cC@sd}tjd}xM|D]E\}}}||||!7}|r[|tjd|7}n|}qW|||7}djd|D}||fS(NiRRcs@s:|]0\}}}tjd||t||VqdS(s>lllN(tstructtpackR(RR`Rtcontent((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pys	<genexpr>s(RR)(taddlistRtcurrentpositiont
newaddlistR`RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs

cC@s@d|kr2|jdd\}}|d|fSd|fSdS(Nt/iR(R(RRtsubpath((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_splittopdirscC@sdS(N(R	(RH((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt<lambda>sttreemanifestcB@sveZdddZdZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZdZd'dZdZdZdZdZdZdZdZdZdZedZdZdZdZdZ dZ!dZ"e#d Z$d!Z%d"Z&e#d#Z'e#d$Z(d%Z)d&Z*RS((RcC@sz||_tj|_t|_t|_t|_i|_	i|_
i|_|rvd}|j||t
|_ndS(NcS@stddS(Ns4treemanifest constructor only accepts flat manifests(Re(tsubdirtsubm((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytreadsubtrees(t_dirRtnullidt_nodet_noopt	_loadfunct	_copyfuncR\t_dirtyRt_filest_flagstparseR[(R4RRwR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s								cC@s|j|S(N(R(R4R.((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_subpathscC@sG|jt|j}x'|jjD]}||j7}q)W|S(N(t_loadRRRtvaluesR(R4tsizeR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs

cC@s;|j|jo:|jp:td|jjDS(Ncs@s|]}|jVqdS(N(t_isempty(RR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pys	<genexpr>s(RRRRR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
cC@s>d|jtj|jt|jtk|jt|fS(Ns;<treemanifest dir=%s, node=%s, loaded=%s, dirty=%s at 0x%x>(	RRR&RtboolRRRtid(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt__repr__scC@s|jS(s}The directory that this tree manifest represents, including a
        trailing '/'. Empty string for the repo root directory.(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s|jst|jS(sThis node of this instance. nullid for unsaved instances. Should
        be updated when the instance is read or written from a revlog.
        (RReR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s||_t|_dS(N(RR\R(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytsetnodes	cc@s|jxt|jj|jjD]`\}}||jkrq|j|||jj|dfVq-x|jD]}|Vq~Wq-WdS(NR(	RRRRRRRRRx(R4tpRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRxs
/)cc@s|jx~t|jj|jjD]Z\}}||jkr_|j||fVq-x%|jD]\}}||fVqlWq-WdS(N(RRRRRRR(R4RRRtsn((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
/cc@s~|jxmt|jj|jjD]I}||jkrS|j|Vq-x |j|jD]}|VqgWq-WdS(N(RRRRRRR(R4RR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
)cC@st|jS(N(RR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s
|jS(N(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR6scC@sj|dkrtS|jt|\}}|rY||jkrEtS|j|j|S||jkSdS(N(R	R\RRRR^R(R4RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR^s
cC@sc|jt|\}}|rL||jkr5|S|j|j||S|jj||SdS(N(RRRRR(R4RRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR!s
cC@sE|jt|\}}|r6|j|j|S|j|SdS(N(RRRRfR(R4RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRf+s

cC@ss|jt|\}}|rI||jkr5dS|j|j|S||jkr\dS|jj|dSdS(NR(RRRRCRR(R4RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRC3s
cC@sZ|jt|\}}|r6|j|j|S|j||jj|dfSdS(NR(RRRRRRR(R4RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR?s

cC@s|jt|\}}|rY|j|j||j|jr|j|=qn&|j|=||jkr|j|=nt|_dS(N(	RRRRiRRRR[R(R4RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRiGs


cC@s|dk	st|jt|\}}|r|||jkrbt|j||j|<n|j|j||n|d |j|<t	|_
dS(Ni(R	ReRRRRRRlRR[R(R4RRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRlUs
cC@sb|jtk	r/|jt}|_||n/|jtk	r^|jt}|_||ndS(N(RRR(R4tlftcf((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRas
cC@s|jt|\}}|rj||jkrPt|j||j|<n|j|j||n
||j|<t|_dS(s/Set the flags (symlink, executable) for path f.N(	RRRRRRRR[R(R4RRCRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRis

c@s}tj}j|_j|_jtkrmfd}jtkra||qy||_nj|_|S(Nc@sfjx+jD] }j|j|j|<qWtjj|_tjj|_dS(N(RRRmtdictRR(RHRv(R4(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRzs

(RRRRRRR(R4RmR((R4s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRmus
c@s,tfd||S(s7Set of files in this manifest that are not in the otherc@s|j|jkr*|jr*|jr*dS|j|jx\|jjD]K\}}||jkr|j|}||qNj|jqNWx?|jjD].}||jkrj|j	|qqWdS(N(
RRRRRtupdateRRtaddR(tt1tt2Rvtm1RyR|(t_filesnotinR*(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs&


(R(R4Ry((RR*s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs	
cC@s
tj|S(N(RR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_alldirsscC@s|jS(N(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@sZ|jt|\}}|rI||jkrE|j|j|StS|d|jkS(NR(RRRRR\(R4RttopdirR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
cc@s|jr,xt|D]}|VqWdSt|j}x8|j|D]'}||krp|j|n|VqNW|jdx6t|D](}|j|s|j	|dqqWdS(sGenerates matching file names.

        Equivalent to manifest.matches(match).iterkeys(), but without creating
        an entirely new manifest.

        It also reports nonexistent files by marking them bad with match.bad().
        NR(RRRR*t_walkRRRRRR	(R4RRRR|((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs		
cc@s|j|jd pds dS|jxt|jj|jjD]a}||jkr|j|}||r|VqqMx#|j|j|D]}|VqWqMWdS(s5Recursively generates matching file names for walk().iRN(	tvisitdirRRRRRRRR(R4RRtfullpR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
)cC@s#|jr|jS|j|S(s6generate a new manifest filtered by the match argument(RRmt_matches(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
c	C@s+|j|jd pd}|dkr2|jSt|j}|sK|S|jxl|jD]a}|j|}||sq_n|j||j|<||jkr_|j||j|<q_q_WxH|jj	D]7\}}|j
|}|js||j|<qqW|js't|_
n|S(sLrecursively generate a new manifest filtered by the match argument.
        iRR(RRRmRRRRRRRRRR[R(	R4RtvisittretR|RRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs*

c@s8itfd||S(szFinds changes between the current manifest and m2.

        Args:
          m2: the manifest to which this manifest should be compared.
          clean: if true, include files unchanged between these manifests
                 with a None value in the returned dictionary.

        The result is returned as a dict with filename as key and
        values of the form ((n1,fl1),(n2,fl2)), where n1/n2 is the
        nodeid in the current/other manifest and fl1/fl2 is the flag
        in the current/other manifest. Where the file does not exist,
        the nodeid will be None and the flags will be the empty
        string.
        c
@s|j|jkr*|jr*|jr*dS|j|jx?|jjD].\}}|jj|}||qNWx<|jjD]+\}}||jkr|qqWx|jjD]\}}|jj|d}|jj|d}|jj|d}	||ks2||	krZ||f||	ff|j	|<qrd|j	|<qqWxc|jjD]R\}}||jkr|jj|d}	d||	ff|j	|<qqWdS(NR(NR(
RRRRRRRRR	R(
RRRvRRyR|tn1tfl1tn2tfl2(t_diffRzt	emptytreetresult(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs,&

((R(R4RyRz((RRzRRs6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR{s
	
cC@s$|jo#|jo#|j|jkS(N(RR(R4Ry((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytunmodifiedsince.scC@sxt|D]\}}}|dkrT|d}||j|||j|<q
d|kr|||<|r|j||qq
||j|<|r
||j|<q
q
WdS(NRsR(R RRRRR(R4RwRRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR1s
"

cC@s|jt|j|S(s3Get the full data of this manifest as a bytestring.(RR%Rx(R4R$((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRwEs
cC@s|j|j}g|jD]#}|d |j|jdf^q}g|jD]"}||j|||f^qP}tt|||S(sGet the full data of this directory as a bytestring. Make sure that
        any submanifests have been written first, so their nodeids are correct.
        iRs(RRCRRRR%R(R4R$RCRvRRR*((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytdirtextJs

	32c@sfd}||_dS(Nc@s |jt|_dS(N(RR\R(RH(tgettextR(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_load_for_readUs(R(R4RRR((RRs6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytreadTsc	C@s|j|j|jt}x||jjD]k\}}|jj||j}|jj||j}|tjkr||}}n||||q7WdS(N(RRRRRRRR(	R4RRytwritesubtreeRRvRtsubp1tsubp2((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt
writesubtreesZs


	N(+R<R=R5RRRRRRRRxRRRR6R^R	RRfRCRRiRlRRRmRRRRRRRRRR\R{RRRwRRR(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRsL																
																/		
	tmanifestrevlogcB@sPeZdZdddZedZdZdZdZ	dZ
RS(	snA revlog that stores manifest texts. This is responsible for caching the
    full-text manifest contents.
    Rc	C@s3d}t}t}t|dd}|dk	ri|jd|}|jd|}|jd|}n||_||_tj||_d}|r|jst	d||j
ds|d}nd	|d}n||_|r||_ni|d
6|_t
t|j||dt|dS(NitoptionstmanifestcachesizeRt
manifestv2s00manifest.is
opts is %rRsmeta/Rt
checkambig(R\tgetattrR	Rt_treeondiskt_usemanifestv2Rtlrucachedictt_fulltextcacheRetendswithRt_dirlogcachetsuperRR5R(	R4topenerRtdirlogcachet	cachesizetusetreemanifestR$toptst	indexfile((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5js.		
	cC@s|jS(N(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt
fulltextcachescC@s4tt|j|jji|d6|_dS(NR(RRtclearcachesRtclearR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
cC@sT|r|jstn||jkrIt|j||j|j|<n|j|S(N(R	ReRRR(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytdirlogscC@s||jkrtj|dr|jrt|tjg|D]}|tf^qBg|D]}|tf^q^}	|j	|j||	\}
}|j
||f}tj|
}
|j|
|||||}n|j
r(|j|}|j|}|j|||||}d}
n?|j|j}
|j|
||||}tjd|
}
|
dk	r|
|j|<n|S(NRR(RRtsafehasattrR
R(theapqtmergeR\R[RtrevRtaddrevisionR	Rt_addtreeR	RwR(R4Rttransactiontlinktp1tp2taddedtremovedRtworkRRt
cachedeltaRwRRRy((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs(!

""!		c	@s|j|s|j|r(|jSfd}|j||||jj}||jjkr|j}nN||jjkr|j}n'j||j|j}|j||S(Nc@s8j|j}|j|||dddS(N(RRRR	(RRRtsublog(R!R4R (s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs(RRRRR
RR(	R4RR R!RRyRRwR((R!R4R s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs
'
N(R<R=t__doc__R	R5tpropertyRRRRR(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRfs"			%tmanifestlogcB@s)eZdZdZdZdZRS(sA collection class representing the collection of manifest snapshots
    referenced by commits in the repository.

    In this situation, 'manifest' refers to the abstract concept of a snapshot
    of the list of files in the given commit. Consumers of the output of this
    class do not care about the implementation details of the actual manifests
    they receive (i.e. tree or flat or lazily loaded, etc).cC@sy||_t}t|dd}|dk	rB|jd|}n||_|j|_|j|_|jj	|_	dS(NRR(
t_repoR\RR	Rt
_treeinmemt_constructmanifestt_oldmanifestt_revlogt	_mancache(R4RtrepoRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s		cC@s||jkrA|j|}t|ts:t|trA|Sn|jrbt|jd|}nt|j|}|tjkr||j|<n|S(sdRetrieves the manifest instance for the given node. Throws a KeyError
        if not found.
        R(R1RatmanifestctxttreemanifestctxR-R,RR(R4RtcachemfR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRfs
	cC@s"|jj|||||||S(N(R0R(R4RR R!R"R#R$R%((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs(R<R=R)R5RfR(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR+s		R3cB@s;eZdZdZdZdZdZdZRS(sxA class representing a single revision of a manifest, including its
    contents, its parent revs, and its linkrev.
    cC@s||_d|_||_dS(N(R,R	t_dataR(R4R2R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s		cC@s|jS(N(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s|js|jtjkr*t|_q|jjj}|j|j}t	j	d|}||j
|j<t||_n|jS(NR(R6RRRRR,R+R0trevisionRR(R4trlRwR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs	cC@sh|jjj}|j|j}|j|}|tjkr^||j|kr^|j	S|j
S(N(R,R+R0RRtdeltaparentRtnullrevt
parentrevst	readdeltaR(R4R8RYR9((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytreadfast's$
c
C@s|jjj}|jr|j|j|j}t|j|j|j	}|j	}t
}xa|j|jD]J\}\\}}\}	}
|	r|	||<|
r|j
||
qqqW|S|j|j}tj|j|j||}t
|S(N(R,R+R0R
R9RRR3RRRR{RRRt	patchtexttrevdiff(
R4Rtr0tm0RtmdRtn0tfl0RRRYRv((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR</s	!	4
$(R<R=R)R5RRR=R<(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR3s	
			R4cB@s>eZdZdZdZdZdZdZRS(cC@s(||_||_d|_||_dS(N(R,RR	R6R(R4R2RR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5Cs			cC@s|jjjj|jS(N(R,R+R0RR(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR0Qsc@sjsjjtjkr6t_qjrtdj}fd}fd}|j|||j	j|_qtj
j}tjd|}|jj<tdjd|_njS(NRc@sjjS(N(R7R((R8R4(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR[sc@stj||jS(N(R4R,R(RR(R4(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR]sRRw(
R6R0RRRRR	RRRR7RR(R4RRRRwR((R8R4s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRTs 		cC@s|jS(N(R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRjscC@s|j}|j|j|j}t|j|j|j|j}|j}t	d|j}xa|j
|jD]J\}\\}}\}	}
|	r|	||<|
r|j||
qqqW|S(NR(
R0R9RRR4R,RRRRR{RR(R4RR@RARRBRRCRDRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR<ms'4
cC@se|j}|j|j}|j|}|tjkr[||j|kr[|jS|jS(N(	R0RRR9RR:R;R<R(R4R8RYR9((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR={s$
(R<R=R5R0RRR<R=(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR4Bs					tmanifestcB@steZdddZddZdZdZdZdZdZ	dZ
d	Zd
ZdZ
RS(
RcC@sd}t}t|dd}|dk	rQ|jd|}|jd|}ntj||_||_tt	|j
|d|d|dS(sThe 'dir' and 'dirlogcache' arguments are for internal use by
        manifest.manifest only. External users should create a root manifest
        log with manifest.manifest(opener) and call dirlog() on it.
        iRRRRRN(R\RR	RRRR1R-RRER5(R4RRRRRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR5s	cC@s#|jrt|j|St|S(N(R-RRR(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_newmanifests	cC@sT|r|jstn||jkrIt|j||j|j|<n|j|S(sThis overrides the base revlog implementation to allow construction
        'manifest' types instead of manifestrevlog types. This is only needed
        until we migrate off the 'manifest' type.(R	ReRRER(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRscC@s|j|j|}|j|j|}|j|}|j}xa|j|jD]J\}\\}}\}	}
|	ra|	||<|
r|j||
qqaqaW|S(N(R9RRRRFR{RR(R4RR@RARRBRRCRDRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt_slowreaddeltas4
cC@s_|js|jr|j|S|j|}tj|j|j||}|j|S(N(	R
R	RGRRR>R?R9RF(R4RRYRv((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyR<s

$cC@st|js|j|S|jr7tjtdn|j|}tj|j	|j
||}t|S(sFor flat manifests, this is the same as readdelta(). For
        treemanifests, this will read the delta for this revlog's directory,
        without recursively reading subdirectory manifests. Instead, any
        subdirectory entry will be reported as it appears in the manifests, i.e.
        the subdirectory will be reported among files and distinguished only by
        its 't' flag.s1readshallowdelta() not implemented for manifestv2(R	R<R
RtAbortRRRR>R?R9R(R4RRYRv((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytreadshallowdeltas	
	$cC@s\|j|}|j|}|tjkrO||j|krO|j|S|j|S(sMlike readfast(), but calls readshallowdelta() instead of readdelta()
        (RR9RR:R;RItreadshallow(R4RRYR9((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pytreadshallowfasts
$
c@stjkrjSjkrfj}t|tsSt|trb|j}n|Sjrfd}fd}j}|j|||j	d}n0j}j|}tjd|}|j<|dk	r|j
<n|S(Nc@s
jS(N(R7((RR4(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRsc@sj|j|S(N(RR(RR(R4(s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRsR(RRRFR1RaR3R4RR	RR	R7RR(R4RtcachedRRRRRw((RR4s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs,

	
	
cC@st|j|S(sReads the manifest in this directory. When using flat manifests,
        this manifest will generally have files in subdirectories in it. Does
        not cache the manifest as the callers generally do not read the same
        version twice.(RR7(R4R((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRJscC@s9|j|}y|j|SWntk
r4dSXdS(smlook up entry for a single file efficiently.
        return (node, flags) pair if found, (None, None) if not.N(NN(RRRdR	(R4RRR((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRs

cC@s$tt|j|jjdS(N(RRERR1R(R4((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyRsN(R<R=R	R5RFRRGR<RIRKRRJRR(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyREs										(*t
__future__RRRR-Rti18nRRRRRRRRRRR R%R"R!tobjectR2R>R?RKRLtlazymanifesttAttributeErrorRR	RR(RRRRRR+R3R4RE(((s6/usr/lib/python2.7/dist-packages/mercurial/manifest.pyt<module>sF(						
	
		

(	
			q0;A