403Webshell
Server IP : 74.208.236.16  /  Your IP : 216.73.216.220
Web Server : Apache
System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User : u102440577 ( 7172810)
PHP Version : 8.4.26
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /kunden/lib/python3/dist-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /kunden/lib/python3/dist-packages/mercurial/__pycache__/debugcommands.cpython-313.pyc
�

6�h�_��^�SSKJr SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJrJrJrJr SSKJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r1J2r2J3r3J4r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrKJLrMJNrNJOrOJPrPJQrRJSrSJTrTJUrVJWrWJXrX SSKYJZrZ SSK[J\r\ SS	K]J^r^J_r_J`r`JaraJbrbJcrc SS
KdJerfJgrgJhrhJiri \1R�rj0rk\kR�\KR�R�5 \>R�"\k5rm\m"S/\"S5S
S9S5ro\m"S/5S5rp\m"S/S5S5rq\m"SSSS\"S54SSS\"S54SSS\"S54SS S\"S!54/\"S"55GS�S$j5rrGS�S%jrsGS�S&jrtGS�S'jruS(rvGS�S)jrw\m"S*S+S,S\"S-54SS./\"S/54SS0S\"S154/\"S5S
S29GS�S3j5rx\m"S4/\"S55S
S29S65ry\m"S7S8/S95S:5rz\m"S;/S5S<5r{\m"S=SS>S\"S?54/S@5SA5r|SBr}SCr~\m"SD/S5SE5r\m"SFSGSHS\"SI54SJSKS\"SL54SSMS\"SN54SOSPS\"SQ54/\"SR5S
S9GS�SSj5r�\m"ST\GR\"SU55GS�SVj5r�\m"SWSXSYS\"SZ54/\"S[5S
S
S\9GS�S]j5r�\m"S^S_S`/\"Sa54SSbS#\"Sc54SSdS\"Se54SSfS\"Sg54SShS\"Si54/\GR-\GR-\"Sj5S
S9GS�Skj5r�\m"Sl\GR\GR-SSmSn\"So54/-\"SU5S
S9GS�Spj5r�\m"SqSSrS\"Ss54SStS
\"Su54SSvS\"Sw54SSxS#\"Sy54SS,S#\"Sz54/\"S{55S|5r�\m"S}/\"S55S~5r�\m"SSS�S\"S�54SS�S\"S�54SS`/S�4S�S�S�/\GR-\GR-\"S�55GS�S�j5r�S�r�\m"S�SS�S\"S�54/S
S9GS�S�j5r�\m"S�\GR/S
S9S�5r�\m"S�S_S`S\"S�5\"S954SS�S#\"S�54SOS�S\"S�54S�S�/\"S�5\"S�54/\"S�55S�5r�\m"S�SS�S\"S�5\"S54SS�S\"S�5\"S54SS�S#\"S�54/\GR-5S�5r�\m"S�/\GR-S�5S�5r�\m"S�/\"S�5S
S29GS�S�j5r�\m"S�S�S�/\"S�5\"S�54S�S�/\"S�5\"S�54SGS�S�\"S�5\"S�54/\"S�5S
S29GS�S�j5r�\m"S�/S�5S�5r�\m"S�\GR\GR-\"Sj55GS�S�j5r�\m"S�\GR\"Sj5S
S9GS�S�j5r�\m"S�/5S�5r�\m"S�/\GR-SS
S29S�5r�\m"S�/\"S�5S
S29S�5r�\m"S�/\"S�55S�5r�\m"S�S�S�S\"S�54S�S�S\"S�54SOS�S\"S�54S�S�S\"S�54/\"S{55S�5r�\m"S�SS�S#\"S�54S+S�/\"S�5\"S�54/S5GS�S�j5r�\m"S�/\GR:-S5S�5r�\m"S�/\"S�55S�5r�\m"S�\GRSS�S#\"S�54SS�S#\"S�54SS�S#\"S�54SS�S#\"S�54/-\"Sj55GS�S�j5r�\m"S�SS�S\"S�54SS�S#\"S�54S_S`/\"S�54SS�S#\"S�54SS�S#\"S�54SS�/\"S�54/\GRB-\GR-\"S�55GS�S�j5r�\m"S�S_S`S\"S�5\"S954/\"S�55S�5r�\m"S�S_S`S\"S�5\"S954/\"S�55GS5r�\m"GSGSSnS\"GS54SGSS\"GS54S+GSS\"GS54S_GSS\"GS	54/\"GS
55GS5r�\m"GS\GRLGS
S
GS9GS5r�\m"GS/\"S55S
S29GS5r�\m"GSS_S`S\"GS5\"S954SGSS\"GS54/\GRL-\GRR-\"GS5S
GS9GS5r�\m"GS/\"GS5S
S29GS5r�\m"GS/\"GS55GS�GSj5r�\m"GSS_S`S\"GS5\"S954SGS S\"GS!54/\"S�55GS"5r�\m"GS#SGS$S#\"GS%54/S5GS&5r�\m"GS'S_S`S\"S�5\"S954/\"GS(55GS)5r�\m"GS*/S5GS+5r�\m"GS,\GRGS-GS.S#\"GS/54/-\"Sj5S
S9GS�GS0j5r�\m"GS1\GRGSGS2S\"GS35\"GS454/-\"GS55S
S9GS�GS6j5r�\m"GS7SGS8S\"GS954SGS:S
\"GS;54SOGS<S\"GS=54S�S�/\"S�5\"S�54SGS>S#\"GS?54SGS@S#\"GSA54/GSB5GSC5r�\m"GSDSGSES#\"GSF54SGSGS\"GSH54SGSIS\"GSJ54/S5GSK5r�\m"GSL/\"GSM55GS�GSNj5r�\m"GSO\GR\"SU55GS�GSPj5r�\m"GSQ/GSRS
S9GS�GSSj5r�\m"GSTGSUGSVGSW\"GSX5\"GSY54/S95GSZ5r�\m"GS[GSUGSVGS\\"GSX5\"GSY54SOGS]S#\"GS^54/S95GS_5r�\m"GS`GSa/\GRt-\"GSb55GSc5r�\m"GSdS_S`S\"GSe5\"S954/\"GSf55GS�GSgj5r�\m"GShGSiGSjS\"GSk5\"GSl54/\"GSm5S
S9GSn5r�\m"GSoGSiGSpS\"GSq54SGSrS\"GSs54GSGStS\"GSu54/\GR-5GSv5r�\m"GSwSGSxS#\"GSy54/\"GSz55GS{5r�\m"GS|/5GS}5r�\m"GS~S_S`/\"GS5\"S954GS�GS�/\"GS�5\"GS�54/\"GS�5S
S9GS�5r�\m"GS�S�GS�S\"GS�5\"GS�54/\"GS�5S
S29GS�GS�j5r�\m"GS�S�GS�S\"GS�5\"GS�54/\"GS�5S
S29GS�GS�j5r�\m"GS�/5GS�5r�\m"GS�SGS8/\"GS�5\"S�54SGS�S#\"GS�54SGS�S
\"GS�54SGSpS\"GS�54SGSrS\"GS�54SGStS\"GS�54/5GS�GS�j5r�\m"GS�/\"GS�5\mGR�GS�9GS�5r�\m"GS�\GRL\"GS�5S
GS9GS�5r�\m"GS�/\"S955GS�5r�\m"GS�/GS�Q\GR-\"GS�5S
S29GS�5r�GS�r�\m"GS�SGS�S#\"GS�54SGS�S\"GS�54SGS�S#\"GS�54SGS�S#\"GS�54/\GR-\"S�5S
S9GS�GS�j5r�g(��)�annotationsN�)�_)�bin�hex�nullrev�short)8�bundle2�
bundlerepo�changegroup�cmdutil�color�context�copies�	dagparser�
dirstateutils�encoding�error�exchange�
extensions�filelog�	filemerge�filesetlang�	formatter�hg�httppeer�	localrepo�lock�
logcmdutil�manifest�
mergestate�metadata�obsolete�obsutil�pathutil�phases�policy�pvec�pycompat�	registrar�repair�repoview�requirements�revlog�revset�
revsetlang�scmutil�setdiscovery�simplemerge�sshpeer�sslutil�streamclone�strip�tags�	templater�
treediscovery�upgrade�url�util�verify�vfs�wireprotoframing�wireprotoserver)�
repository)�stabletailsort)�cborutil�compression�dateutil�procutil�
stringutil�urlutil)�debug�nodemap�rewrite�sidedatas
debugancestors[INDEX] REV1 REV2T)�optionalrepoc�:�[U5S:XaOUup4n[R"[R"[R
"5SS9U5nURnOq[U5S:XaCU(d[R"[S55eUupEURnURnO[R"[S55eURU"U5U"U55nURSURU5[U54-5 g)	z<find the ancestor revision of two revisions in a given index�F��audit��5there is no Mercurial repository here (.hg not found)s&either two or three arguments requireds%d:%s
N)�lenr.�vfsmodr?r�getcwd�lookupr�Abortr�	changelog�ancestor�write�revr)	�ui�repo�args�index�rev1�rev2�rrX�as	         �9/usr/lib/python3/dist-packages/mercurial/debugcommands.py�
debugancestorrgws����4�y�A�~� ���T��M�M�&�*�*�X�_�_�%6�e�D�e�L������	�T��a����+�+��J�K��
��
���N�N�������k�k�!�E�F�G�G�	�
�
�6�$�<����.�A��H�H�Z�1�5�5��8�S��V�,�
,�-�sdebugantivirusrunningc�D�URRSS5nUR[R"S55 SSS5 [
R"S5 [R"URRS55 g!,(df   NT=f)z?attempt to trigger an antivirus scanner to see if one is activeseicar-test-file.comswbsUST#=}P$fV?P+K%yP+C|uG$>GBDK|qyDK~v2MM*<JQY}+dK~6+LQba95PE<)&Nm5l)EmTEQR4qnHOhq9iNGnJxNrS)	�cachevfs�openr\r=�	b85decode�time�sleep�unlink�join)r^r_�fs   rf�debugantivirusrunningrr�so��
���	�	�2�E�	:�a�	����N�N�1�
�	
�
;�	�J�J�q�M��K�K��
�
�"�"�#9�:�;�
;�	:�s�&B�
BsdebugapplystreamclonebundlesFILEc��[R"X5n[R"XU5nUR	U5 g)z apply a stream clone bundle fileN)r�openpathr�
readbundle�apply)r^r_�fnamerq�gens     rf�debugapplystreamclonebundlery�s/��	���B��A�
�
�
�b�U�
+�C��I�I�d�Orh�
debugbuilddag�msmergeable-files!add single file mergeable changes�osoverwritten-files"add single file all revs overwrite�nsnew-filesadd new file at each revrhs
from-existings$continue from a non-empty repositorys[OPTION]... [TEXT]Fc�
^'^(�Uc4UR[S55 URR5nURn[U5S:�a&U(d[R"[S55eSn[R"U5Hup�U	S:XdM
US-
nM U(a4Sn[SX�-5Vs/sHnSU-PM
 n
nU
RS	5 /nUR[S
5[S5US9nURS
S5nU UR5 UR5 UR!S5 SnSn/nSnUR#U5 [R"U5GHup�U	S:XGa�UR%S[&R("U
5-5 U
unn/n0m'SnU(Ga
Sm(UUSn[U5S:�a�UUSnUR+U5nU(4SjUUU45unnn[,R."UUUUS9n[,R0"U5SVs/sHnUR35PM nnURS	5 O+US:�a#UT(R55R7S5nOW
nUUW-==SU--
ss'SR9U5n URT(5 U T'T('U(aSm(URT(5 SU-T'T('U(a�SU-m(URT(5 SU-T'T('[U5S:�aWU(dUUSnUHBm(T(R;S5(dMURT(5 UT(R55T'T('MD U'4Sjn![U5S:Xd	USS:aSS/n"O/[U5S:XaUUSS/n"OUV#s/sHn#UU#PM
 n"n#[<R>"UU"SU-UU!US4SSU0S 9n$URAU$5n%URU%5 UnOtU	S!:XaRU
unn&UR%S"U&-5 URS#[CURREU55U&4-5 OU	S$:XaUR%S%U
-5 U
nUR#U5 GM  U(a+URFRIS&S	R9U55 SSS5 SSS5 SSS5 SSS5 gs snfs snfs sn#f!,(df   N6=f!,(df   N?=f!,(df   NH=f!,(df   g=f)'a�builds a repo with a given DAG from scratch in the current empty repo

The description of the DAG is read from stdin if not given on the
command line.

Elements:

 - "+n" is a linear run of n nodes based on the current default parent
 - "." is a single node based on the current default parent
 - "$" resets the default parent to null (implied at the start);
       otherwise the default parent is always the last node created
 - "<p" sets the default parent to the backref p
 - "*p" is a fork at parent p, which is a backref
 - "*p1/p2" is a merge of parents p1 and p2, which are backrefs
 - "/p2" is a merge of the preceding node and p2
 - ":tag" defines a local tag for the preceding node
 - "@branch" sets the named branch for subsequent nodes
 - "#...\n" is a comment up to the end of the line

Whitespace between the above elements is ignored.

A backref is either

 - a number n, which references the node curr-n, where curr is the current
   node, or
 - the name of a local tag you placed earlier using ":tag", or
 - empty to denote the default parent.

All string valued-elements are either strictly alphanumeric, or must
be enclosed in double quotes ("..."), with "\" as escape character.
Nsreading DAG from stdin
rsrepository is not emptyr}rrSs%drhsbuildings	revisions)�unit�totalsexperimentalsrelaxed-block-sync-mergesbuilddag����defaultsnode %s
smfc3�H># �UHoTR5v� M g7f�N)�data)�.0�x�fns  �rf�	<genexpr>� debugbuilddag.<locals>.<genexpr>s����.�2>�Q�b�E�J�J�L�L�,���")�relaxed_sync�
s r%isofsr%i
snf%isnfc�H>�UT;a"XUTU5$gr�)r�
memfilectx)r_�cx�path�filecontents   �rf�fctxfn�debugbuilddag.<locals>.fctxfn@s/����{�*�&�1�1� �d�K��,=� �� rh�r%irz�branch)�date�user�extra�lstag %s
�%s %s
�as
branch %s
s	localtags)%�statusr�fin�readrZrUrrYr�parsedag�range�append�makeprogress�
configbool�wlockr�transaction�update�
notenoi18nr)�bytestrr[r3�
Merge3Text�render_minimizedr7r��splitrp�
startswithr�memctx�	commitctxr�noder?r\))r^r_�text�mergeable_file�overwritten_file�new_file�
from_existing�clr��typer��linesperrev�i�initialmergedlinesr8�progress�merge_relaxed_sync�at�atbranch�nodeids�id�ps�files�p2�p1�pa�base�local�other�m3�l�ml�
mergedtextr��pars�pr��nodeid�namer�r�s)                                       @@rf�
debugbuilddagr��s����D�|�
�	�	�!�/�0�1��v�v�{�{�}��	
���B�
�2�w��{�=��k�k�!�6�7�8�8�
�E��(�(��.�
���4�<��Q�J�E�/����16�q�%�:M�1N�O�1N�A�e�a�i�1N��O��!�!�#�&�
�D����	�+��Q�|�_�E���H�����#���
�4�:�:�<�����d�.>�.>�{�.K�
������
�������#�,�,�T�2�J�D��t�|��
�
�l�X�-=�-=�d�-C�C�D����B��� ����!��B��b��e��B��2�w��{�!�"�Q�%�[���[�[��_��.�35�r�2�,�.�*��e�U�)�3�3� �!�!�);�	��&1�%A�%A�"�%E�a�%H��%H���G�G�I�%H����	�	�#���a����V�[�[�]�0�0��7��/���r�K�'�(�G�b�L�8�(�!&���B��J��L�L��$�&0�K��O�#��B��L�L��$�&.��m�K��O�� �2��B��L�L��$�&.��m�K��O��2�w��{�!�!%�b��e��B�"$�B�!�}�}�U�3�3� %���R� 0�24�R�&�+�+�-��B��#%�
 ��r�7�a�<�2�a�5�1�9� �$�<�D���W��\�#�B�q�E�N�D�1�D�02�3��1�G�A�J��D�3��^�^����R�K����a��)�$�h�/�	������+�����v�&���������D��
�
�k�D�0�1����J�#�d�n�n�.A�.A�"�.E�*F��)M�M�N�����
�
�n�t�3�4����O�O�B��q3�t��H�H�N�N�<����$��8�C/L��<����P��R��V4�S/L�.K�����<�<����s��S6�T8�.T'�?T�C/T	�S;�C7T	�A,T	�T�DT	�T�T'�%T8�;
T	�
T
�T�
T$� T'�'
T5	�1T8�8
Uc	�(^^^�SU-mU(awTRST-5 UUU4SjnTR5 U"S5 TR5 U"S5 [TR05HnUSnU"U5 M g[T[R5(a[R"[S55eTR5 TR5H*nUup�p�p�nnTRST[U	54-5 M, g)	N� s3%sformat: id, p1, p2, cset, delta base, len(delta)
c
�>�TRSTU4-5 T
R5H[nUup#pEpgp�TRST[U5[U5[U5[U5[U5[U54-5 M] g)Ns
%s%s
s%s%s %s %s %s %s %d
)r\�	deltaiterrrU)
�named�	deltadatar�r�r��cs�	deltabase�delta�flagsrMrx�
indent_stringr^s
          ���rf�
showchunks�%_debugchangegroup.<locals>.showchunksos}����H�H�[�M�5�#9�9�:� �]�]�_�	�FO�C��"�)�E����,�%��D�	��B���B���B���I���E�
��	��-rh�	changelog�manifestsfilenamesuse debugbundle2 for this file�%s%s
)�writenoi18n�changelogheader�manifestheader�iter�
filelogheader�
isinstancer
�
unbundle20rrYrr�r\r)r^rx�all�indent�optsr��	chunkdatarwr�r�r�r�r�r�r�r�rMr�s``               @rf�_debugchangegroupr�gs�����6�M�M�
�
���C��
�	
�
	�"	�����<� ������;���c�/�/��4�I��k�*�E��u��5��c�7�-�-�.�.��+�+�a� A�B�C�C���������I�BK�?�D�b�i��x��H�H�Y�-��T��!;�;�<�)rhc�n�UR5nSU-n[R"U5upgSnX�U[U54-nUR	U5 URS[R"U55n	[U5HQn
[R"SU
5nU	R5 U	RU5 [R"X�5 MS U	R5 g![ R"a7nSnX�UR$[U54-nUR	U5 SnAgSnAff=f)�/display version and markers contained in 'data'r�s%sversion: %d (%d bytes)
�
debugobsoleteNs%%sunsupported version: %s (%d bytes)
)r�r#�_readmarkersrUr\rr)�byteskwargs�sortedr$�marker�	startitem�plainr
�
showmarker�endr�UnknownVersion�version)
r^�partr�r�r�r�r��markers�msg�fm�	rawmarker�m�excs
             rf�_debugobsmarkersr�s����9�9�;�D��6�M�M��#�0�0��6���,���g�s�4�y�0�0��
����
�
�\�\�*�H�,@�,@��,F�
G�����I����t�Y�/�A��L�L�N��H�H�]�#����r�%�	)�
	���������7���c�k�k�3�t�9�4�4��
����
�
���s�C)�)D4�=-D/�/D4c��SU-n[R"U5n[RHOnXEHDnURU5 URS[	U5[R
U4-5 MF MQ g)r�r�r�N)r&�binarydecode�	allphasesr\r�
phasenames)r^r�r�r��headsbyphase�phase�heads       rf�_debugphaseheadsr
�si���6�M�M��&�&�t�,�L��!�!�� �'�D��H�H�]�#��H�H�Z�3�t�9�f�.?�.?��.F�"G�G�H�(�"rhc�^�[T[[R[R
45(a'SSR
U4Sj[T555-$[R"[T55$)Ns{%s}�, c3�8># �UHnSUTU4-v� M g7f)s%s: %sN�)r��k�things  �rfr��_quasirepr.<locals>.<genexpr>�s����H�-�Q�y�A�u�Q�x�=�0�-�s�)r��dictr=�sortdict�collections�OrderedDictrpr�r)r��repr)rs`rf�
_quasireprr�s[����%�$��
�
�{�/F�/F�G�H�H���J�J�H�&��-�H�H�
�	
����D��K�(�(rhc�Z�[U[R5(d[R"[S55eUR
S[UR5-5 URS/5nUR5GHnU(aURU;aMSnUR
XeR[UR5UR4-5 URS:XaSURRSS5n[R"XuS5nUR(d[!X4US	S
.UD6 URS:XaUR(d[#X4SS	0UD6 URS
:XdGMUR(aGM[%XS	S9 GM" g)zlists the contents of a bundle2snot a bundle2 filesStream params: %s
�	part_types%s -- %s (mandatory: %r)
schangegroupsversions01sUN�)r�r�s
obsmarkersr�sphase-heads)r�N)r�r
r�rrYrr�r�params�get�	iterpartsr��	mandatoryr�getunbundler�quietr�rr
)	r^rxr�r��	parttypesr�r�r��cgs	         rf�
_debugbundle2r#�s8���c�7�-�-�.�.��k�k�!�1�2�3�3��N�N�)�J�s�z�z�,B�B�C�����b�)�I��
�
�������)�3��+��
����9�9�j����5�t�~�~�F�F�	
��9�9��&��k�k�o�o�j�%�8�G��)�)�'��?�B��8�8�!�"�D�c�!�D�t�D��9�9�
�%��8�8� ��<�!�<�t�<��9�9��&��8�8�8� ��!�4�# rhsdebugbundler��allsshow all detailss	part-typesshow only the named part typesspecs"print the bundlespec of the bundle)�norepoc��[R"X5nU(a4[R"X5nUR	SU-5 SSS5 g[R
"XU5n[
U[R5(a[X4SU0UD6sSSS5 $[X4SU0UD6 SSS5 g!,(df   g=f)zlists the contents of a bundle�%s
Nr�)rrtr�
getbundlespecr\rur�r
r�r#r�)r^�
bundlepathr��specr�rqrxs       rf�debugbundler+�s���
���R�	$����)�)�"�0�D��H�H�W�t�^�$��	
%�	$��!�!�"��4���c�7�-�-�.�.� ��:�c�:�T�:�
%�	$�	�"�3�s�3�d�3�
%�	$�	$�s�3B7�AB7� B7�7
CsdebugcapabilitiessPATHc�8�[R"U[R"U5U5nUR	5nURS5 [
U5HnURSU-5 M [R"U5nU(adURS5 [
UR55H6upxURSU-5 UHn	URSU	-5 M M8 UR5 g!UR5 f=f)z'lists the capabilities of a remote peersMain capabilities:
�  %s
sBundle2 capabilities:
s    %s
N)r�peerr)r��capabilitiesr�r�r\r
�bundle2caps�items�close)
r^r�r�r.�caps�c�b2caps�key�values�vs
          rf�debugcapabilitiesr9�s����7�7�2�x�+�+�D�1�4�8�D�
�� � �"��
���.�/����A��H�H�Y��]�#���$�$�T�*����N�N�5�6�%�f�l�l�n�5�������S��)��A��H�H�[�1�_�-� � 6�
	
�
�
����
�
��s�CD�Dsdebugchangedfiles)rhscomputeFs6compute information instead of reading it from storagesREVc���[R"XS5nSnUS(a[R"U5nOaURRUR
55nUR[
R5nUb[R"U5nUb�[UR5H�nX�R;aSn	O8X�R;aSn	O&X�R;aSn	OX�R;aSn	OSn	Sn
SnX�R ;aS	n
UR UnO X�R";aS
n
UR"UnX�X�4nSn
UR%X�-5 M� gg)z,list the stored files changes for a revisionN�compute�added�removedsmergedssalvagedstouchedrh�p1�p2s%-8s %2s: %s, %s;
)r�	revsingler"�compute_all_files_changesrZrMr]r�SD_FILES�decode_files_sidedatar��touched�added�removed�merged�salvaged�copied_from_p1�copied_from_p2r\)r^r_r]r��ctxr��sd�files_blockrq�action�copy_parent�copy_sourcer��templates              rf�debugchangedfilesrR�s>���
�
�t�$�
/�C��E��I���2�2�3�7��
�^�^�
$�
$�S�W�W�Y�
/���f�f�X�.�.�/���"��2�2�2�6�E�����
�
�&�A��K�K��!���m�m�#�#���l�l�"�"���n�n�$�$��#���K��K��(�(�(�#��#�2�2�1�5���*�*�*�#��#�2�2�1�5����8�D�-�H��H�H�X�_�%�/'�rhsdebugcheckstatec��[R"U5R5nU(a![S5n[R
"U5eg)z0validate the correctness of the current dirstates4dirstate inconsistent with current parent's manifestN)r>�verifier�_verify_dirstaterrrY)r^r_�errors�errstrs    rf�debugcheckstaterX2s=���_�_�T�
"�
3�
3�
5�F�
��J�K���k�k�&�!�!�rhs
debugcolorsstylesshow all configured styless
hg debugcolorc��URS[R"UR5-5 UR	S5(a[U5$[
U5$)z&show available color, effects or stylescolor mode: %s
�style)r�rH�pprint�
_colormoder�_debugdisplaystyle�_debugdisplaycolor�r^r_r�s   rf�
debugcolorr`;sJ���N�N�&��):�):�2�=�=�)I�I�J��x�x����!�"�%�%�!�"�%�%rhc�~�UR5nURR5 [R"U5R5HnXRU'M UR(anURS5HYup#URS5(aUSSURU'M/URS5(dMGUSSURU'M[ UR[S55 [URR5SS9nUHupVURS	U-US
9 M g)Nscolorscolor.�s	terminfo.�	savailable colors:
c�$�SUS;USUS4$)N�_rrr)r�s rf�<lambda>�$_debugdisplaycolor.<locals>.<lambda>Vs��d�a��d�l�A�a�D�!�A�$�5Orh�r6r'��label)
�copy�_styles�clearr�_activeeffects�keys�_terminfoparams�configitemsr�r\rr�r1)r^�effectrr8r1�	colornamerjs       rfr^r^Is���	����B��J�J�����&�&�r�*�/�/�1��#�
�
�6��2�	����N�N�8�,�D�A��|�|�I�&�&� !�!�"���
�
�1�
����l�+�+� !�!�"���
�
�1�
�	-�
�H�H�Q�%�
&�'��2�:�:�#�#�%�+O�P�E�!��	�
����9�$�E��2�"rhc�*^�TR[S55 TR(dg[STR55n[	TRR55H�up#TRSU-US9 U(asTRS5 TRS[SU[
U5-
5-5 TRSRU4S	jUR5555 TRS
5 M� g)Nsavailable style:
c3�8# �UHn[U5v� M g7fr��rU)r��ss  rfr��%_debugdisplaystyle.<locals>.<genexpr>_s���+�
�1��A���
����%sris: r�rrc3�F># �UHnTRX5v� M g7fr�ri)r��er^s  �rfr�rxfs����H��1��������s�!r�)	r\rrl�maxr�r1rUrpr�)r^�widthrj�effectss`   rfr]r][s�����H�H�Q�$�
%�&�
�:�:���+��
�
�+�+�E� ����!1�!1�!3�4���
������e��,���H�H�U�O��H�H�T�S��E�C��J�$6�7�8�9��H�H�U�Z�Z�H��
�
��H�H�I�
�����5rhsdebugcreatestreamclonebundlec�6�[R"U5(aUR[S55 [R
"U5up4[R"XU5 UR[S5SR[U55-5 g)arcreate a stream clone bundle file

Stream bundles are special bundles that are essentially archives of
revlog files. They are commonly used for cloning very quickly.

This command creates a "version 1" stream clone, which is deprecated in
favor of newer versions of the stream protocol. Bundles using such newer
 versions can be generated using the `hg bundle` command.
s=(warning: stream clone bundle will contain secret revisions)
sbundle requirements: %s
rN)r&�	hassecret�warnrr6�generatebundlev1r�writechunksr\rpr�)r^r_rwr-rxs     rf�debugcreatestreamclonebundler�jsx��������
���
� �
�	
�$�4�4�T�:��L����B�U�+��H�H�Q�+�
,�u�z�z�&��:N�/O�
O�Prhsdebugdag�tstagssuse tags as labels�b�branchessannotate with branch namessdotssuse dots for runs�ssspacessseparate elements by spacessPTION]... [FILE [REV]...]c
�:^^^
^^^�URS5nURS5nU(aa[R"[R"[R
"5SS9U5mTVs1sHn[
U5iM snmUU4SjnO�U(a�URm
URS5mURS5mT(aY0mUR5R5H5up�TRT
RU
5/5RU	5 M7 UU
UU4SjnO[R"[S	55e[ R""U"5US
S
UUSS9H%nUR%U5 UR%S
5 M' gs snf)aformat the changelog or an index DAG as a concise textual description

If you pass a revlog index, the revlog's DAG is emitted. If you list
revision numbers, they get labeled in the output as rN.

Otherwise, the changelog DAG of the current repo is emitted.
�spaces�dotsFrQc	3�># �TH=nSU[STRU55544v� UT;dM2SUSU-44v� M? g7f)Nr}c3�4# �UHoS:wdM
Uv� M g7f�r�Nr�r�r�s  rfr��+debugdag.<locals>.events.<locals>.<genexpr>�s���$N�0B�1�2�g�Q�Q�0B���	�	r�r�)�list�
parentrevs)rd�revs�rlogs ��rf�events�debugdag.<locals>.events�sN�������Q��$N�����0B�$N� N�O�O�O���9���F�Q�J��/�/��s
�1A�Ar8�branchesc	3�L># �SnTH�nT(a3TRTRU55SSnX :waSU4v� UnSU[STRU55544v� T(dMmTR	U5nU(dM�UH
nSX44v� M M� g7f)Nr��r�r�r}c3�4# �UHoS:wdM
Uv� M g7fr�rr�s  rfr�r��s���$L�0@�1��G�Q�Q�0@�r�r�)r�r�r�r�r)	�brd�newb�lsr�r�r��labelsr8s	     ����rfr�r��s������A�����7�7�2�7�7�1�:�.�q�1�)�<�D��y�"�D�j�(� ���Q��$L��
�
�a�0@�$L� L�M�M�M��4����A��B��r�!#�A�"&���,�.�"$��s�A.B$�5B$�B$sneed repo for changelog dagT�F)�	addspaces�
wraplabels�wrapannotations�
wrapnonlinear�usedots�maxlinewidthr�N)rr.rVr?rrW�intrZr8r1�
setdefaultr]r�rrYrr�dagtextlinesr\)r^r_�file_r�r�r�r�rdr�r��n�liner�r�r�r�r8s   `        @@@@@rf�debugdagr��s>���&�X�X�h�
�F��8�8�F��D���}�}�V�Z�Z����(9��G��O�� $�%��1��A���%��	0�
�
�^�^���x�x�����8�8�J�'����F��	�	��)�)�+����!�!�"�&�&��)�R�0�7�7��:�,�
	/�
	/� �k�k�!�:�;�<�<��&�&�����������	�����
�������G&s�1F�	debugdatas-c|-m|FILE REVc�2�URS5(d,URS5(dURS5(a&Ub[R"[S55eSUp2O"Uc[R"[S55e[R
"USU[R"U55nURURURU555 g![a# [R"[S5U-5ef=f)	z)dump the contents of a data file revisionrZr �dirN�.cannot specify a revision with other arguments�please specify a revisionr��invalid revision identifier %s)
rr�
InputErrorrr
�openstorager)r�r\�rawdatarX�KeyErrorrY)r^r_r�r]r�rds      rf�	debugdatar��s����x�x�������� 4� 4��������?��"�"��C�D��
��5�s�	�����q�!=�>�?�?�����l�E�8�#7�#7��#=�	�A�F�
������1�8�8�C�=�)�*���F��k�k�!�=�>��D�E�E�F�s�9/C)�)-Ds	debugdate�esextendedstry extended date formatss[-e] DATE [RANGE])r%rNc�~�US(a&[R"U[R5nO[R"U5nURSU-5 URS[R"U5-5 U(a4[R
"U5nURSU"US5-5 gg)zparse and display a date�extendedsinternal: %d %d
s
standard: %s
s
match: %s
rN)rF�	parsedate�extendeddateformatsr��datestr�	matchdate)r^r�r�r��drs      rf�	debugdater��s����J�����t�X�%A�%A�B�����t�$���N�N�'�!�+�,��N�N�$�x�'7�'7��':�:�;�����u�%��
���~��!�A�$��/�0�
rh�debugdeltachain�rsrevz-restrict processing to these revlog revisionssall-infoz2compute all information unless specified otherwises	size-infoz*compute information related to deltas sizes	dist-infoz,compute information related to base distancessparse-infoz*compute information related to sparse reads
-c|-m|FILEc��SnURS/5nU(aUVs/sHn[U5PM nnURSS5nURSS5nUcUnURSS5n	U	cUn	URSS5n
U
cUn
[R"USU[R
"U55nUR
S[R
"U55n[R"UUUU	U
S	9n
[U
5nURU5 U
H�nS
RSU55nS
RSU55nUVs/sHnUS
PM
 nnUVs0sHnUSUS
_M nnUR5 UR"UU/UQ70UD6 URS5 M� UR5 gs snfs snfs snf)a7dump information about delta chains in a revlog

Output can be templatized. Available template keywords are:

:``rev``:       revision number
:``p1``:        parent 1 revision number (for reference)
:``p2``:        parent 2 revision number (for reference)

:``chainid``:   delta chain identifier (numbered by unique base)
:``chainlen``:  delta chain length to this revision

:``prevrev``:   previous revision in delta chain
:``deltatype``: role of delta / how it was computed
                - base:  a full snapshot
                - snap:  an intermediate snapshot
                - p1:    a delta against the first parent
                - p2:    a delta against the second parent
                - skip1: a delta against the same base as p1
                          (when p1 has empty delta
                - skip2: a delta against the same base as p2
                          (when p2 has empty delta
                - prev:  a delta against the previous revision
                - other: a delta against an arbitrary revision

:``compsize``:  compressed size of revision
:``uncompsize``: uncompressed size of revision
:``chainsize``: total size of compressed revisions in chain
:``chainratio``: total chain size divided by uncompressed revision size
                (new delta chains typically start at ratio 2.00)

:``lindist``:   linear distance from base revision in delta chain to end
                of this revision
:``extradist``: total size of revisions not part of this delta chain from
                base of delta chain to end of this revision; a measurement
                of how much extra data we need to read/seek across to read
                the delta chain for this revision
:``extraratio``: extradist divided by chainsize; another representation of
                how much unrelated data is needed to load this delta chain

If the repository is configured to use the sparse read, additional keywords
are available:

:``readsize``:     total size of data read from the disk for a revision
                   (sum of the sizes of all the blocks)
:``largestblock``: size of the largest block of data read from the disk
:``readdensity``:  density of useful bytes in the data read from the disk
:``srchunks``:  in how many data hunks the whole revision would be read

It is possible to select the information to be computed, this can provide a
noticeable speedup to the command in some cases.

Always computed:

- ``rev``
- ``p1``
- ``p2``
- ``chainid``
- ``chainlen``
- ``prevrev``
- ``deltatype``

Computed with --no-size-info

- ``compsize``
- ``uncompsize``
- ``chainsize``
- ``chainratio``

Computed with --no-dist-info

- ``lindist``
- ``extradist``
- ``extraratio``

Skipped with --no-sparse-info

- ``readsize``
- ``largestblock``
- ``readdensity``
- ``srchunks``

--

The sparse read can be enabled with experimental.sparse-read = True
Nr]�all_infoF�	size_info�	dist_info�sparse_infor�)r�r�r�r�r�c3�*# �UH	oSv� M g7f)rNr�r�r|s  rfr��"debugdeltachain.<locals>.<genexpr>�s���.��1�A�$����c3�*# �UH	oSv� M g7f)rNrr�s  rfr�r��s���/��A�Q�4��r�rPrSr�)�popr�r
�
openrevlogr)r�r�revlog_debug�debug_delta_chain�nextr�rpr�r\r�)r^r_r�r�r��revs_optrdr�r�r�r�r.r��lines�header�entryrj�formatr|r7r�s                     rf�debugdeltachainr��s���z�D��x�x��r�"�H�� (�)��1��A����)��x�x�
�E�*�H�����d�+�I����	�����d�+�I����	��(�(�=�$�/�K�����
�
�
�� �%��)=�)=�d�)C��F�
���(�(�*>�*>�t�*D�	E�B��*�*��
����
�E��%�[�F��H�H�V�����	�	�.��.�.�����/��/�/�� %�&��1�!�A�$���&�$)�*�E�q��!��a��d�
�E��*�
����
�����0��0�4�0�
�������F�F�H��I*��>'��*s�G�G
�#Gsdebug-delta-find�source�fulls<input data feed to the process (full, storage, p1, p2, prev)c��UcSnUnOUnUn[U5n[R"USU[R"U55nUR
"U5up�US:Xa[nOPUS:XaUR"U5nO7US:XaU	nO.US:XaU
nO%US:XaUS-
nO[R"S	U-5e[R"XX{S
9 g)a�display the computation to get to a valid delta for storing REV

This command will replay the process used to find the "best" delta to store
a revision and display information about all the steps used to get to that
result.

By default, the process is fed with a the full-text for the revision. This
can be controlled with the --source flag.

The revision use the revision number of the target storage (not changelog
revision number).

note: the process is initiated from a full text of the revision to store.
Nr�r�sstorager>r?sprevrsinvalid --source value: %s)�base_rev)r�r
r�r)r�r�r�deltaparentrr�r��debug_delta_find)r^r_�arg_1�arg_2�sourcer�r�r]r.�p1r�p2rr�s            rf�debugdeltafindr��s���<
�}���������

�c�(�C�
�
�
�� �%��)=�)=�d�)C��F�� � ��%�H�C�
�����	�:�	��%�%�c�*��	�5����	�5����	�7�	���7�����<�v�E�F�F��!�!�"�c�Erhsdebugdirstate|debugstatesnodatess+do not display the saved mtime (DEPRECATED)sdatessdisplay the saved mtimesdatesortssort by saved mtimesdockets*display the docket (metadata file) insteads9display dirstate-v2 tree nodes that would not exist in v1s[OPTION]...c	�n�URS5(Ga�URR(d[R"[S55eURRRn[RRRUR5unnnnnn	n
UR[S5UR-5 UR[S5UR-5 UR[S5U-5 UR[S5U-5 UR[S5U-5 UR[S5U-5 UR[S	5U-5 UR[S
5[ R""U
5-5 gUS(+nURS
5bSnURS5nU(aSn
OSn
[%URRR'USS95nUR)U
S9 UH�nUunnnnnUS:XaSnOKU(aSnOA[*R,"S[*R."U55n[0R2"U5nUS-(aSnOSUS-[4R6)--nURSUUUUU4-5 M� URR95H;nUR[S5URR;U5U4-5 M= g)z)show the contents of the current dirstate�dockets"dirstate v1 does not have a docketssize of dirstate data: %d
sdata file uuid: %s
sstart offset of root nodes: %d
snumber of root nodes: %d
snodes with entries: %d
snodes with copies: %d
snumber of unused bytes: %d
signore pattern hash: %s
N�dates�nodatesT�datesortc��Uupp4nXQ4$r�r)r��filename�_state�_mode�_size�mtimes      rf�keyfunc�debugstate.<locals>.keyfuncs��49�1�H�e�E��$�$rhr�)r�rhr�sunset               sset                 z%Y-%m-%d %H:%M:%S i slnks%3oi�s%c %s %10d %s%s
scopy: %s -> %s
)r�dirstate�_use_dirstate_v2rrYr�_mapr�r�v2�
TREE_METADATA�unpack�
tree_metadatar\�	data_size�uuid�binascii�hexlifyr��
debug_iter�sortrm�strftime�	localtimer�
strtolocalr=�umaskr�copied)r^r_r�r��start_offset�
root_nodes�nodes_with_entry�nodes_with_copy�unused_bytes�_unused�ignore_patternr�r�r��entriesr�r��state�mode�sizer��timestrrqs                       rf�
debugstater�s���:�x�x�����}�}�-�-��+�+�a� E�F�G�G����#�#�*�*��
���*�*�1�1�&�2F�2F�G�	
��������	����1�2�V�5E�5E�E�F�
����*�+�f�k�k�9�:�
����6�7�,�F�G�
����0�1�J�>�?�
����.�/�2B�B�C�
����-�.��@�A�
����2�3�l�B�C�
���
�*�+�h�.>�.>�~�.N�N�	
�	��w�-��G��x�x�	��&����x�x�
�#�H��	%�
���4�=�=�%�%�0�0�T�%�[�0�A�B�G��L�L�W�L����-2�*��%��t�U��B�;�-�G�
�-�G��m�m�$8�$�.�.��:O�P�G��)�)�'�2�G��'�>��D��T�E�\�T�Z�Z�K�7�8�D�
���%���d�G�X�(N�N�O���]�]�
!�
!�
#��
����&�'�4�=�=�+?�+?��+B�A�*F�F�G�$rhsdebugdirstateignorepatternshashc���URR(a[URRRnSnURU*SnUR[R"U5S-5 gg)zVshow the hash of ignore patterns stored in dirstate if v2,
or nothing for dirstate-v2
�Nr�)r�r�r�r�r�r\r�r�)r^r_r�r��hash_len�
hash_bytess      rf�debugdirstateignorepatternshashr0s`���}�}�%�%����#�#�*�*�����)�)�8�)�*�5�
�
����!�!�*�-��5�6�	&rh�debugdiscovery�oldsuse old-style discoverysnonheadss/use old-style discovery with non-heads includeds&restrict discovery to this set of revs)rhsseeds12323s)specify the random seed use for discovery)rhs
local-as-revsrhs+treat local has having these revisions only)rhsremote-as-revsrhs.use local as remote, with only these revisionss[--rev REV] [OTHER]c	�`^^^^$^%^&^'�TR5nTSnTSm'[R"[TS55 T'(d�[R
"STU5nUR/4n[R"T[R"T5U5nTR[S5[R"UR5-5 OsS/4n[R "UST'-/5m&[#T&5m&U&4Sjn	U	[$R&S	'TR5nUR(R+S	5UlU(aP[R "USU-/5m%[#T%5m%U%4S
jn
U
[$R&S'TR+S5m0m$TR-S5(aU4U$UU'UU4S
jjnOU4U$UU4Sjjn[R."TX�SS9up�TSnTR1S[R"T55nUR2(a6U$U4Sj5nO[8R:nU"5 [8R<"S5nU"X�5unnSSS5 SSS5 [?W5S:XaTR@U;a
[C5n[CU5n[CW5n[CTRE55nUU-nUU-nUU-U-nTRGS5nTRGSU5nTRGSU5nTRGSU5nTRGSU5nTRGSU5n[?U5[?U5-[?U5:XdeTRGSUU5nTRGSU5n TRGSU5n!UU-n"UU-n#WRHT$S'[?U5T$S'[?U5T$S'[?U5T$S'[?U5T$S'[?U5T$S '[?U5T$S!'[?U5[?U5-
T$S"'[?U5T$S#'[?U5[?U5-
T$S$'[?U5T$S%'[?U5T$S&'[?U5T$S''[?U5T$S('[?U5T$S)'[?U5T$S*'[?U 5T$S+'[?U!5T$S,'[?U"5T$S-'[?U#5T$S.'URK5 URL"SV0[RN"T$5D6 URQS/T$-5 URQS0T$-5 S1T$;aURQS2T$-5 S3T$;aURQS4T$-5 S5T$;aURQS6T$-5 URQS7T$-5 S8T$;aURQS9T$-5 S:T$;aURQS;T$-5 URQS<5 URQS=T$-5 URQS>T$-5 URQS?T$-5 URQS@T$-5 URQSAT$-5 URQSBT$-5 URQSCT$-5 URQSDT$-5 URQSET$-5 URQSFT$-5 URQSGT$-5 URQSHT$-5 URQSIT$-5 URQSJT$-5 URQSKT$-5 URQSLT$-5 URQSMT$-5 URQSNT$-5 URQSOT$-5 URQSPT$-5 URQSQT$-5 URQSRT$-5 TRR(a3URQSSSTRU[WSUU555-5 URY5 g!,(df   GN�=f!,(df   GN�=f)WaZruns the changeset discovery protocol in isolation

The local peer can be "replaced" by a subset of the local repository by
using the `--local-as-revs` flag. In the same way, the usual `remote` peer
can be "replaced" by a subset of the local repository using the
`--remote-as-revs` flag. This is useful to efficiently debug pathological
discovery situations.

The following developer oriented config are relevant for people playing with this command:

* devel.discovery.exchange-heads=True

  If False, the discovery will not start with
  remote head fetching and local head querying.

* devel.discovery.grow-sample=True

  If False, the sample size used in set discovery will not be increased
  through the process

* devel.discovery.grow-sample.dynamic=True

  When discovery.grow-sample.dynamic is True, the default, the sample size is
  adapted to the shape of the undecided set (it is set to the max of:
  <target-size>, len(roots(undecided)), len(heads(undecided)

* devel.discovery.grow-sample.rate=1.05

  the rate at which the sample grow

* devel.discovery.randomize=True

  If andom sampling during discovery are deterministic. It is meant for
  integration tests.

* devel.discovery.sample-size=200

  Control the initial size of the discovery sample

* devel.discovery.sample-size.initial=100

  Control the initial size of the discovery for initial change
�
local_as_revs�remote_as_revs�seedrscomparing with %s
Nsnot (::(%s))c�>�T$r�r)r��remote_filtered_revss �rf�remote_func�#debugdiscovery.<locals>.remote_func�s	���'�'rh�debug-discovery-remote-filterc�>�T$r�r)r��local_filtered_revss �rf�
local_func�"debugdiscovery.<locals>.local_func�s	���&�&rhsdebug-discovery-local-filter�oldc	�(>�[US5(dL[R"UR55nT
(a!URRS5nX2l[R"TUSTS9upEn[U5nT	RS5(drTRSSR[SU555-5 TRRnTRS	U5nUVs1sH
o7"U5iM nnXF4$s snf)
Nr�r!T)�forcerR�nonheadssunpruned common: %s
r�c3�8# �UHn[U5v� M g7fr��r	�r�r�s  rfr��/debugdiscovery.<locals>.doit.<locals>.<genexpr>�s���&@��A�u�Q�x�x��rysheads(::%ln))�hasattrr�locallegacypeerr��_repo�filteredr:�findcommonincoming�setrr�rpr�rZr�r�)
�
pushedrevs�remoteheads�remoterd�common�_in�hds�clnoder�r��remote_revsr_r^s
        �����rf�doit�debugdiscovery.<locals>.doit�s�����6�:�.�.�"�2�2�6�<�<�>�B������-�-�.N�O�A�#$�L�,�?�?��f�D�� ��F����[�F��8�8�J�'�'����,��i�i��&@��&@� @�A�B��
���,�,�����?�F�;��-3�4�V��&��)�V��4��;���5s�9Dc	��>�SnU(a:[R"T
U5nUVs/sHnT
UR5PM nn[R"TT
UUT	SS9upgnXh4$s snf)NF)�ancestorsofrR�abortwhenunrelated)r�revranger�r2�findcommonheads)r4r5r6�nodesr�rdr7�anyr9r�r_r^s         ���rfr<r=�sq����E��!�*�*�4��<��15�6��A��a�������6�+�;�;����!��#(�
 ��F���;���7s�A$)r�r]c3�\># �TR5 Sv� TR5TS'g7f)N�output)�
pushbuffer�	popbuffer)r�r^s��rf�may_capture_output�*debugdiscovery.<locals>.may_capture_output�s!�����M�M�O�� �l�l�n�D��O�s�),zdebug-discoveryrsall()s::%lnsroots(::%ld)s	not ::%lds
heads(%ld)s
roots(%ld)snot (::%ln or %ln::)selapsedsnb-common-headssnb-common-heads-localsnb-common-heads-remotesnb-common-heads-bothsnb-common-rootss
nb-head-localsnb-head-local-missingsnb-head-remotesnb-head-remote-unknownsnb-revssnb-revs-commonsnb-revs-missingsnb-missing-headssnb-missing-rootss
nb-ini_undsnb-ini_und-headssnb-ini_und-rootssnb-ini_und-commonsnb-ini_und-missings#elapsed time:  %(elapsed)f seconds
s-round-trips:           %(total-roundtrips)9d
stotal-round-trips-headss5  round-trips-heads:    %(total-round-trips-heads)9d
stotal-round-trips-branchess;  round-trips-branches:    %(total-round-trips-branches)9d
stotal-round-trips-betweens9  round-trips-between:    %(total-round-trips-between)9d
s*queries:               %(total-queries)9d
stotal-queries-branchess3  queries-branches:    %(total-queries-branches)9d
stotal-queries-betweens2  queries-between:     %(total-queries-between)9d
sheads summary:
s,  total common heads:  %(nb-common-heads)9d
s2    also local heads:  %(nb-common-heads-local)9d
s3    also remote heads: %(nb-common-heads-remote)9d
s1    both:              %(nb-common-heads-both)9d
s*  local heads:         %(nb-head-local)9d
s2    common:            %(nb-common-heads-local)9d
s2    missing:           %(nb-head-local-missing)9d
s+  remote heads:        %(nb-head-remote)9d
s3    common:            %(nb-common-heads-remote)9d
s3    unknown:           %(nb-head-remote-unknown)9d
s$local changesets:      %(nb-revs)9d
s+  common:              %(nb-revs-common)9d
s,    heads:             %(nb-common-heads)9d
s,    roots:             %(nb-common-roots)9d
s,  missing:             %(nb-revs-missing)9d
s-    heads:             %(nb-missing-heads)9d
s-    roots:             %(nb-missing-roots)9d
s'  first undecided set: %(nb-ini_und)9d
s-    heads:             %(nb-ini_und-heads)9d
s-    roots:             %(nb-ini_und-roots)9d
s.    common:            %(nb-ini_und-common)9d
s/    missing:           %(nb-ini_und-missing)9d
scommon heads: %s
r�c3�8# �UHn[U5v� M g7fr�r+r,s  rfr��!debugdiscovery.<locals>.<genexpr>Us���>��A�u�Q�x�x��ryr)-�
unfiltered�randomrr�rI�get_unique_pull_path_obj�branchrr.r)r�r�r�hidepassword�locrrA�	frozensetr,�filtertabler0r1r�
addbranchrevsr�
strict_format�
contextlib�contextmanagerr=�nullcontextmanager�timedcmrU�nullidr3�headsr��elapsedr�r��	strkwargsr��verboserpr�r�)(r^r_�	remoteurlr��unfi�
local_revsr�r�r6rr$r<�
remoterevs�	_checkout�	localrevsr�rI�tr7r9�heads_common�heads_remote�heads_local�heads_common_local�heads_common_remote�heads_common_bothr��roots_common�missing�
heads_missing�
roots_missing�initial_undecided�heads_initial_undecided�roots_initial_undecided�common_initial_undecided�missing_initial_undecidedr�r#rr;s(`` `                                @@@@rf�debugdiscoveryrv@s����R�?�?��D��o�&�J��'�(�K��K�K��D��L�!�"���/�/��r�9�
���K�K��$������x�3�3�D�9�4�@��
�	�	�!�*�+�g�.B�.B�4�8�8�.L�L�M��"�:��)�2�2��?�[�0�1� 
�� )�)=�>��	(�BM����=�>�������|�|�,�,�-M�N����(�1�1��?�Z�/�0�
��(�(;�<��	'�AK����<�=��}�}�<�=��
�D��x�x����17�	�	�028�
	�
	��,�,�T�6�$�O��J��U��I�	���'��)=�)=�d�)C�	D�B�	���	�	"�	"�	-�
#�	-�"�4�4��	�	�
�\�\�+�
,���y�5�K�F�C�-�
�
�6�{�a��D�K�K�6�1�����v�;�L��s�8�L��d�j�j�l�#�K�&��3��&��5��$�|�3�k�A��
�)�)�H�
�C�
�Y�Y�x��
(�F��9�9�_�f�5�L��i�i��f�-�G��I�I�m�W�5�M��I�I�m�W�5�M��v�;��W��%��S��1�1�1��	�	��!4�6H���#�i�i�
�7H�I��"�i�i�
�7H�I��0�6�9�� 1�G� ;���y�y�D���"�<�0�D�	��%(�);�%<�D�	!�"�&)�*=�&>�D�	"�#�$'�(9�$:�D�	 �!�"�<�0�D�	�� ��-�D�	��%(��%5��<N�8O�%O�D�	!�"�!�,�/�D�	��&)�,�&7�#��;�'�D�	"�#��3�x�D���!�&�k�D�	��"�7�|�D�	�� #�M� 2�D�	�� #�M� 2�D�	���/�0�D��� #�$;� <�D�	�� #�$;� <�D�	��!$�%=�!>�D�	��"%�&?�"@�D�	���L�L�N��G�G�'�h� � ��&�'��H�H�
4�t�
;�<��H�H�
>��
E�F�!�T�)�
���E��L�	
�%��,�
���K��
�	
�$�t�+�
���I�D�P�	
��H�H�
;�d�
B�C� �D�(�
���H�4�O�P��4�'�
���G�$�N�O��H�H�
 �!��H�H�
=��
D�E��H�H�
C�d�
J�K��H�H�
D�t�
K�L��H�H�
B�T�
I�J��H�H�
;�d�
B�C��H�H�
C�d�
J�K��H�H�
C�d�
J�K��H�H�
<�t�
C�D��H�H�
D�t�
K�L��H�H�
D�t�
K�L��H�H�
5��
<�=��H�H�
<�t�
C�D��H�H�
=��
D�E��H�H�
=��
D�E��H�H�
=��
D�E��H�H�
>��
E�F��H�H�
>��
E�F��H�H�
8�4�
?�@��H�H�
>��
E�F��H�H�
>��
E�F��H�H�
?�$�
F�G��H�H�
@�4�
G�H�	�z�z�
���!��i�i��>��>�>�?�
@�	
��F�F�H�U-�
,��
�	�s$�`�1`�=`�
`	�`�
`-is
debugdownloadrFspathc�h�[R"XU5nUnU(a[US[5nUR[5nU(a/UR	U5 UR[5nU(aM/U(aUR5 gg!U(aUR5 ff=f)z4download a resource using Mercurial logic and config�wbN)�urlmodrk�
_chunksizer�r\r2)r^r_r<�outputr��fh�destr�s        rf�
debugdownloadr~]s���
���R�f�	%�B�
�D�
��F�D�*�-����w�w�z�"����J�J�t���7�7�:�&�D��d���J�J�L���6��J�J�L��s�A	B�B1�debugextensionsc��[R"U5n[R"5nURS[R
"U55n[
U[R"S5S9GHLupg[R"U5nSn	[US5(a![R"UR5n	O&[[SS5(a[Rn	U(a/n
O[USS	5R!5n
[US
S5nUR#5 UR$(dUR&(aUR)SSU5 OlUR)SS
U5 U(dXJ;aUR+S5 O;U
(dUR+[-S55 OU
SnUR+SU-5 UR/UR&=(a U	S[-S5U	=(d S	5 UR&(a"UR+[-S5SS/U-5 UR1US9 UR/UR&=(a U
S[-S5UR3U
SS95 UR/UR&=(a US[-S5U=(d S	5 GMO UR55 g)z(show information about active extensionsrrrhN�__file__�oxidizedF�
testedwithrh�buglink�namer'rzr�s
 (untested!)
r�s (%s!)
r�s  location: %s
s  bundled: %s
�no�yes)�bundleds
testedwiths  tested with: %s
sver�r�sbuglinks  bug reporting: %s
)rr=r�rr)r�r��operator�
itemgetter�ismoduleinternalr.�fsencoder��getattr�sys�
sysexecutabler�r�r r_r\r�r�	condwriter��
formatlistr�)
r^r_r��exts�hgverr��extname�extmod�
isinternal�	extsource�
exttestedwith�
extbuglink�lasttestedversions
             rf�debugextensionsr�us$��� � ��$�D��L�L�N�E�	���(�(�*>�*>�t�*D�	E�B�!�$�H�,?�,?��,B�C����0�0��8�
��	��6�:�&�&� �)�)�&�/�/�:�I�
�S�*�e�
,�
,� �.�.�I���M�#�F�L�#�>�D�D�F�M��V�Y��5�
�
����
�8�8�r�z�z��H�H�W�g�w�/��H�H�W�e�W�-��U�3������"�����,�-�.�$1�"�$5�!�����'8�8�9�
����J�J�$�9��
�!�"����		
��:�:��H�H�Q�)�*�e�V�_�Z�-H�H�I�
���
��#�
����J�J�(�=��
�$�%��M�M�-�f�M�5�		
�	����J�J�%�:��
�&�'���#�		
�]D�j�F�F�Hrhsdebugfilesets#apply the filespec on this revisions	all-filess3test files from all revisions and working directorysshow-matchers(print internal representation of matcher�ps
show-stages$print parsed tree at the given stagesNAMEs+[-r REV] [--all-files] [OPTION]... FILESPECc	��SSKJn UR [R"XRS5S5nS[R4S[R4S[R4/nUVVs1sHupxUiM	 n	nn[5n
UR(aUS(dU
RS5 USS	/:XaU
RU	5 OGUSH*nXy;dM
[R "[#S
5U-5e U
RUS5 [R$"U5nUH^upxU"U5nXz;dMUS(dUS:waUR'SU-5 UR'[R("U5S5 M` [5nUS
(aGUHAn
XnURUR+55 URUR,5 MC US
(dUR/5csUSnURUR0R3[4R6"U5[9UR,5SSS95 URUR,5 O:URUR+55 URUR,5 UR;UR=5U5nUS(dUSc8UR(a'UR?S[@RB"U5S5 [EU5H&nU"U5(dMUR'SU-5 M( gs snnf)z'parse and apply a fileset specificationr)�filesetr]N�parsed�analyzed�	optimized�
show_stager$�invalid stage name: %s�* %s:
r��	all_filesT)�subrepos�unknown�ignored�show_matcher�* matcher:
r')#�r��symbolsrr@rr)�identityr�analyze�optimizer3r_�addr�rrYr�parser\�prettyformatr��substater]r��walkr1�matchallr��matchfilesetrWr�rH�
prettyreprr�)r^r_�exprr�r�rK�stagesr�rq�
stagenames�
showalways�treer�rdr4�wctxrs                 rf�debugfilesetr��s���D��O�O�
�
�
�t�X�X�e�_�d�
;�C�
�H�%�%�&�	�k�)�)�*�	�{�+�+�,��F�
!'�'����!��J�'���J�	�z�z�$�|�,����y�!��L��f�X�%����*�%��l�#�A��"��k�k�!�$=�">��"B�C�C�$�	���$�|�,�-����T�"�D������w���?��L�!�Q�)�^�����a��(��H�H�[�-�-�d�3�U�;��
�E�E��K���A���A��L�L�����#��L�L����$���K��C�G�G�I�-��D�z��
����M�M���� � ��&��d�m�m�,���	
�
�	
�	���T�]�]�#�
���S�Y�Y�[�!�
���S�\�\�"���������-�A��N���^� 4� <����
����
�(=�(=�a�(@�%�H�
�E�]����t�t��
����1�����](s�3Msdebug-repair-issue6528s	to-reports1build a report of affected revisions to this filesfrom-reports+repair revisions listed in this report filesparanoids3check that both detection methods do the same thingc	�p�[R"USSS/5 URS5nURS5nURS5nURS5n[RUR;a!Sn[
R"[U55e[R"UUUUUUS9 g)a�find affected revisions and repair them. See issue6528 for more details.

The `--to-report` and `--from-report` flags allow you to cache and reuse the
computation of affected revisions for a given repository across clones.
The report format is line-based (with empty lines ignored):

```
<ascii-hex of the affected revision>,... <unencoded filelog index filename>
```

There can be multiple broken revisions per filelog, they are separated by
a comma with no spaces. The only space is between the revision(s) and the
filename.

Note that this does *not* mean that this repairs future affected revisions,
that needs a separate fix at the exchange level that was introduced in
Mercurial 5.9.1.

There is a `--paranoid` flag to test that the fast implementation is correct
by checking it against the slow implementation. Since this matter is quite
urgent and testing every edge-case is probably quite costly, we use this
method to test on large repositories as a fuzzing method of sorts.
�	to_report�from_report�dry_run�paranoids9can only repair revlogv1 repositories, v2 is not affected)r�r�r�r�N)
r
�check_incompatible_argumentsrr-�REVLOGV1_REQUIREMENTrrYrrL�repair_issue6528)r^r_r�r�r�r�r�r�s        rf�debug_repair_issue6528r�s���d�(�(��k�M�9�5���h�h�y�!�G�����%�I��(�(�=�)�K��x�x�
�#�H��(�(��0A�0A�A�J���k�k�!�C�&�!�!����
������
rh�debugformats[PATTERN] ... [PATTERN]c	�^�[S[R55m[[S5T5mU4SjnUR	S[
R"U55nUR5(aSnO[
RnURS5 URST[S5-
-5 URS5 UR(aURS5 URS	5 [RGH5nU(aUHnX�R;dM O M'UR5 URU5n	URU5n
X�:waS
nSnOX�R:waSnS
nOSnSnUR!SU"UR5URUS9 UR!SSU"U	5US9 URU
:waSn
OSn
UR#URSSU"U
5U
S9 UR#URSSU"UR5SS9 URS	5 GM8 UR%5 g)z�display format information about the current repository

Use --verbose to get extra information about current config value and
Mercurial default.

If patterns are specified, only format matching at least one of these
pattern will be displayed.
c3�L# �UHn[UR5v� M g7fr�)rUr�)r��fvs  rfr��debugformat.<locals>.<genexpr>ls���K�2J�B�3�r�w�w�<�<�2J�s�"$sformat-variantc�,>�SST[U5-
--$)Ns%s:r�rv)r��maxvariantlengths �rf�makeformatname�#debugformat.<locals>.makeformatnameos�����!1�C��I�!=�>�?�?rhr�c�:�[US5(aU$U(agg)Nr�r�r�)r.��values rf�formatvalue� debugformat.<locals>.formatvalueus���u�l�+�+�����rhr�s repos config defaultr�s!formatvariant.name.mismatchconfigs!formatvariant.repo.mismatchconfigs"formatvariant.name.mismatchdefaults"formatvariant.repo.mismatchdefaultsformatvariant.name.uptodatesformatvariant.repo.uptodater�risrepos %3ssformatvariant.config.specialsformatvariant.config.defaultsconfigs %6sr�s %7ssformatvariant.defaultN)r}r;�allformatvariantrUrr)r��isplainr�r�r_r�r��fromrepo�
fromconfig�defaultr\r�r�)r^r_�patternsr�r�r�r�r�r��	repovalue�configvalue�	namelabel�	repolabel�configlabelr�s              @rf�debugformatr�^s����K�'�2J�2J�K�K���3�0�1�3C�D��@�
���n�h�&:�&:�4�&@�	A�B�	�z�z�|�|�	��'�'���H�H�
���H�H�T�%��,=�(>�>�
?�@��H�H�X��	�z�z�
���#�$��H�H�U�O��&�&��������<����
�����K�K��%�	��m�m�D�)���#�<�I�<�I�
�*�*�
$�=�I�=�I�6�I�6�I�
����.����1�2�7�7�)��L�
����'�;�y�#9���K�
�:�:��$�9�K�9�K�
����J�J�����$��	�	
�	����J�J�����
�
�#�*�	�	
�	�����W'�X�F�F�Hrhsdebugfsinfos[PATH]c�\�URSU-5 URS[R"U5=(d S-5 URS[R"U5=(a S=(d S-5 URS[R"U5=(d S-5 URS[R
"U5=(a S=(d S-5 URS	[R"U5=(a S=(d S-5 Sn[R"S
US9n[R"UR5=(a S=(d SnSSS5 URS
U-5 g!,(df   N#=f![a N2f=f)z2show information detected about current filesystems	path: %s
smounted on: %s
s	(unknown)s	exec: %s
r�r�sfstype: %s
ssymlink: %s
s
hardlink: %s
s.debugfsinfo)�prefixr�Nscase-sensitive: %s
)r�r=�getfsmountpoint�	checkexec�	getfstype�	checklink�
checknlinkr)�
namedtempfile�fscasesensitiver��OSError)r^r��
casesensitiverqs    rf�debugfsinfor��s?���N�N�=�4�'�(��N�N��t�3�3�D�9�I�\�J���N�N�=�D�N�N�4�$8�$C�V�$L�u�M�N��N�N�?�d�n�n�T�&:�&J�l�K�L��N�N��D�N�N�4�0�;�V�D�u�E���N�N��T�_�_�T�2�=�v�F��G��!�M�
�
�
#�
#�?��
E�� �0�0����8�C�V�L�u�M�F��N�N�*�]�:�;�	F�
E���
��
�s0�(F�=3F
�0F�
F�F�F�
F+�*F+sdebuggetbundle�Hsheadsid of head nodesID�Cscommonsid of common nodestype�bzip2sbundle compression type to usesTYPEsREPO FILE [-H|-C ID]...c��[R"U[R"U5U5nUR	S5(d[
R"S5e0nU(aUVs/sHn[U5PM snUS'U(aUVs/sHn[U5PM snUS'SUS'UR"S0UD6n	URSS5R5n
S	S
SSS
.nURU
5n
U
[R;a[
R"[S55e[R"X	X*5 gs snfs snf)zwretrieves a bundle from a repo

Every ID must be a full-length hex node id string. Saves the bundle to the
given file.
s	getbundles.getbundle() not supported by target repositoryr7r\N�
bundlecapsr�r�sHG10UNsHG10BZsHG10GZsHG20)snoner�sgzipsbundle2s)unknown bundle type specified with --type)sdebug)rr.r)r��capablerrYr�	getbundler�lowerr
�bundletypesr�writebundle)r^�repopathr)r	r7r�r_r`rw�bundle�
bundletype�btypess            rf�debuggetbundler��s��,�7�7�2�x�+�+�D�1�8�<�D��<�<��%�%��k�k�K�L�L�
�D�
�*0�1�&�Q�#�a�&�&�1��X���)-�.��A��Q���.��W�
��D���
�^�^�
-��
-�F����&�(�+�1�1�3�J�����	�F����J�'�J���,�,�,��k�k�!�H�I�J�J�����J�;��#2��.s�&E�Esdebugignores	[FILE]...c��URRnU(d)URS[R"U5-5 g[
R"USUS9n[
R"USS9nUR5GH7n[R"U5nSn	Sn
US:watU"U5(aUn	URRU5n
OI[R"U5H/nU"U5(dMUn	URRU5n
 O U	(auX�:Xa$UR[S5U"U5-5 O%UR[S5U"U5U	4-5 U
up�nUR[S	5X�U4-5 GMUR[S
5U"U5-5 GM: g)a
display the combined ignore pattern and information about ignored files

With no argument display the combined ignore pattern.

Given space separated file names, shows if the given file is ignored and
if so, show the ignore rule (file and line number) that matched it.
r'N)�patsT)�legacyrelativevalue�.s%s is ignored
s1%s is ignored because of containing directory %s
s#(ignore rule in %s, line %d: '%s')
s%s is not ignored
)r��_ignorer\r)�bytereprr1�match�getuipathfnr�r=�normpath�_ignorefileandliner%�finddirsr)r^r_r�r��ignorer�uipathfnrq�nfr��
ignoredatar��
ignorefile�linenor�s               rf�debugignorer�s���]�]�
"�
"�F��
����8�,�,�V�4�4�5��M�M�$�t�*�5�1���&�&�t��F������A����q�!�B��G��J��T�z��"�:�:� �G�!%���!A�!A�"�!E�J�%�.�.�r�2��!�!�9�9�&'�G�)-���)I�)I�!�)L�J�!�	3�
��=��H�H�Q�1�2�X�a�[�@�A��H�H��9��$�A�;��0�	1��,6�(�
�D�����=�>�!�4�0�1��
����1�2�X�a�[�@�A�?rhsdebug-revlog-index|debugindexc���[R"U5n[R"USX#5nUR	SU5n[USU5n[R"UUUUURS9$)zdump index data for a revlogs
debugindex�_revlog)rr.�	full_node)	r)r�r
r�rr�r��debug_index�	debugflag)r^r_r�r��storer�r.s       rf�
debugindexr.sl������%�D�����m�U�A�E�	���m�T�	*�B�
�U�I�u�
-�F��#�#�
�����,�,��rh�
debugindexdotc���[R"USU[R"U55nUR	S5 UH�nURU5nUR
U5nURSURUS5U4-5 USUR:wdMbURSURUS5U4-5 M� URS5 g)z(dump an index DAG as a graphviz dot filersdigraph G {
s
	%d -> %d
rrs}
N)
r
r�r)r�r�r��parentsr\r]r[)r^r_r�r�rdr�r��pps        rf�
debugindexdotrEs���	������x�';�';�D�'A�	�A��N�N�#�$�
���v�v�a�y��
�Y�Y�t�_��
����A�E�E�"�Q�%�L�!�#4�4�5�
�a�5�D�K�K���H�H�_����b��e��a�'8�8�9���H�H�V�rhsdebugindexstatsc�f�URRURS5 URRn[	US5(d[
R"[S55e[UR5R55Hup4URSX44-5 M g)z)show stats related to the changelog indexr�statss-debugindexstats only works with native C codes%s: %d
N)rZ�shortestr[rar.rrYrr�rr1r\)r^r_rarr8s     rf�debugindexstatsrZs���	�N�N���D�K�K��+��N�N� � �E��5�'�"�"��k�k�!�L�M�N�N��u�{�{�}�*�*�,�-���
�����v�%�&�.rh�debuginstallc��SnURS[R"U55nUR5 UR	SS[
R
5 Sn[R"[R"[
R
55 URUSSU5 Sn[[S	5(aB[RR![R""[R$55nO&['[(S
S5(a[R*nUR	S[-S
5[R*=(d [-S55 UR	S[-S5[R."[0R2"555 UR	S[-S5S[(R4SS-5 UR	S[-S5U=(d [-S55 SSKJn UR: [?[@RB5n[@RD(aURGS5 UR	S[-S5URI[KU5SSSS95 SU;aURM[-S 55 SU;aURM[-S!55 URM[-S"UcS#OS$-55 [NRP"5n	UR	S%[-S&5U	RSS'5S5 UR	S([-S)5S'RUU	RSS'5SS55 Sn
[[(RV[XS	5(a8[RR![R""[$55n
O&['[(S
S5(a[R*n
UR	S*[-S+5[ZRZ5 UR	S,[-S-5U
=(d [-S55 [ZRZS.;nUn[ZRZS/;=(d UnU=(d Un
U
(aySnU(a6SS0K.J/nJ0nJ1nJ2n [gU5[gU5[gU5[gU54 U(aSS1KJ4nJ5n [gU5[gU54 URUS2S3U5 [NRnRpRs5nUR	S4[-S55URI[KS6U55S7SS8S95 UR	S9[-S:5URI[KS;U55S7SS8S95 [tRnRw[tRx5nUR	S<[-S=5URIUVs/sH*nUR{5(dMUR}5PM, snS7SS8S95 S#n[NR~"5(aS>nURM[-S?5U-5 UR�[�[NR�5S@9 [�R�"5nUR	SASBU=(d SC5 URU(+SC[-SD55 U(a�[�R�"SE5unnU(a7Sn[�R�R�U5 URUSFS3U5 OSnURUSG[-SH5U5 URU(+SI[-SJ5SK5 U(dUS-
nURU(+SC[-SL55 UR�5nR�"U5n[�R�"U5SnUR	SM[-SN5U5 [�R�"U5nURU(+=(a USO:HSP[-SQ5U(+=(a USO:H=(a U5 URU(+=(a USO:gSR[-SS5U(+=(a U5 U(dUSO:waUS-
nSnSnUR�5nURUST[-SU5U5 URUSV[-SW5U5 [�R�"5H#unn ['U SXS5n!U!cMUU!"X5-
nM% URU(+SC[-SY55 U(dUR�USZ9 URUS[[-S\5U5 UR�5 U$![a&n[R"U5nUS-
nSnAG	NDSnAff=f![<a SnGN�f=f![la&n[R"U5nUS-
nSnAGN+SnAff=fs snf![la#n[R"U5nSnSnAGN!SnAff=f![�R�anUR�nUS-
nSnAGN�SnAff=f)]z3test Mercurial installation

Returns 0 on success.
rr sencodingschecking encoding (%s)...
Nrs
encodingerrors. %s
 (check that your locale is properly set)
r�r�Fs	pythonexes checking Python executable (%s)
sunknownspythonimplementations$checking Python implementation (%s)
s	pythonverschecking Python version (%s)
s%d.%d.%drPs	pythonlibschecking Python lib (%s)...
)�rustextssnispythonsecuritys&checking Python security support (%s)
sprotocolrz�,)r��fmt�sepstls1.2sT  TLS 1.2 not supported by Python install; network connections lack modern security
sV  SNI not supported by Python install; may have connectivity issues with some servers
schecking Rust extensions (%s)
�missings	installedshgvers checking Mercurial version (%s)
�+s
hgverextras%checking Mercurial custom build (%s)
shgmodulepolicyschecking module policy (%s)
s	hgmoduless#checking installed modules (%s)...
)srust+csrust+c-allow)�csallow)�base85�bdiff�mpatch�osutil)r[r�sextensionserrors %s
scompenginess-checking registered compression engines (%s)
c3�@# �UHoR5v� M g7fr�r�r�s  rfr��debuginstall.<locals>.<genexpr>s���1�[��6�6�8�8�[���s
compenginerscompenginesavails,checking available compression engines (%s)
c3�n# �UH+oR5(dMUR5v� M- g7fr�)�	availabler�r�s  rfr�r.
s ���B�[��K�K�M�8�1�6�6�8�8�[�s�5�5scompenginesservers>checking available compression engines for wire protocol (%s)
s	availables"checking "re2" regexp engine (%s)
)�re2stemplatedirsschecking templates (%s)...
rhs no template directories found
smap-cmdline.defaultsdefaulttemplateerrorsdefaulttemplateschecking default template (%s)
sdefaulttemplatenotfounds template '%s' not found
r�s5 (templates seem to have been installed incorrectly)
seditorschecking commit editor... (%s)
svis
vinotfoundsf No commit editor set and can't find %s in PATH
 (specify a commit editor in your configuration file)
seditornotfoundsV Can't find editor '%s' in PATH
 (specify a commit editor in your configuration file)
susernameschecking username (%s)
s
usernameerrorsJchecking username...
 %s
 (specify a username in your configuration file)
�debuginstallsno problems detected
)�problemssproblemss1%d problems detected, please check your install!
)Rrr)r�r�r\r�codecsrX�sysstr�LookupErrorrH�forcebytestrr�r.�osr��dirnamer�r�r�r�r�r�sysbytes�platform�python_implementation�version_infor�r"�__doc__�ImportErrorr3r5�supportedprotocols�hassnir�r�r�r�r=r�r�rp�modules�__name__r'�cextr)r*r+r,r�r[r��	Exception�compengines�_enginesr7rE�supportedwireengines�
SERVERROLE�wireprotosupportr��has_re2r��bool�_re2r9�templatedir�try_open_template�frommapfile�	geteditor�
expandpathrG�
shellsplit�findexe�usernamerrY�messagerr�)"r^r�r4r��err�inst�	pythonlibr"�securityr��	hgmodules�rustandcrE�nopurer)r*r+r,r[r�rG�wirecompenginesr|r2r�r�fp�editor�	editorbin�cmdpathrVr��mod�handlers"                                  rfr3r3es����H�	���o�x�';�';�D�'A�	B�B��L�L�N��H�H�[�8�(�:K�:K�L�
�C���
�
�h�o�o�h�&7�&7�8�9��L�L���;��	��I��r�:����G�G�O�O�H�$5�$5�b�k�k�$B�C�	�	��j�%�	(�	(��*�*�	��H�H��	�
.�/����/�!�J�-��
�H�H��	�
2�3����(�8�8�:�;��
�H�H��	�
+�,�	�s�'�'���+�	+��
�H�H��	�
*�+��"�Q�z�]��������7�-�-�.�H��~�~����V���H�H��	�
4�5�
�
�
�f�X�&�[�e��
�N���� �
���
�>�
�	
��X��
���
�;�
�	
��H�H�	�.�$�_�z�,�
@�	
��
�L�L�N�E��H�H��!�8�9�5�;�;�t�;L�Q�;O���H�H��	�
3�4��	�	�%�+�+�d�#�A�B�'�(���I��s�{�{�8�$�j�1�1��G�G�O�O�H�$5�$5�h�$?�@�	�	��j�%�	(�	(��*�*�	��H�H��1�=�>��
�
���H�H��	�
1�2��"�Q�z�]���}�}� <�<�H��G��=�=�,�,�8��D�
�_�W�F�
���	�����E�
�C��K��V��c�&�k�A���
�H�
�s�8�}�,�	���S�,�h��<��"�"�+�+�2�2�4�K��H�H��	�
;�<�
�
�
��1�[�1�1����		�	
�	��H�H��	�
:�;�
�
�
��B�[�B�B����		�	
�	�"�-�-�B�B�����O��H�H��	�
(�	
�	�
�
�.�G��!�!�2D�2D�2F�X�Q�V�V�X��G����		�	
�
��C��|�|�~�~����H�H�Q�5�
6��
<�=��G�G��T�Y�Y��G� �	����A��H�H�_�=�q�x�C�H��L�L�Q���Q�B�C�D���-�-�.D�E���B���C�
��#�#�/�/��2�
�L�L��5�x��E��A�
���
�!�1�%H�#I�1�	
�	����E�&�
�+�,��		
�
��A�
���L�L�
��s�A�O�P��
�\�\�^�F�
�_�_�V�
$�F��#�#�F�+�A�.�I��H�H�Y��=�>�	�J����y�)�G��L�L���'��%���	�
�	
�

��5��%��5�I�	��L�L���'��%���	�
�	
�

��!�	�	��v����A�
���H�
�C���;�;�=��
�L�L��+�q�!<�=�x���L�L���	�
B�	
�	�� �*�*�,�	��c��#�~�t�4��������'�H�-�
�L�L�X��s�A�&?�$@�A��
�����"��L�L���	�
?�@��	��F�F�H��O��o���%�%�d�+���A�
�����T������t�	��)�)�$�/�C���M�H��	��H
H��.�
� �-�-�d�3�����
��n�;�;���i�i���A�
����s�8f.�g!�A"g4�:h'�h'�h,�i�.
g�8g�g�!g1�0g1�4
h$�>h�h$�,
i�6i�i�j�0j�js
debugknowns
REPO ID...c
��[R"U[R"U5U5nUR	S5(d[
R"S5eURUVs/sHn[U5PM sn5nURSSRUVs/sHow=(a S=(d SPM sn5-5 gs snfs snf)z�test whether node ids are known to a repo

Every ID must be a full-length hex node id string. Returns a list of 0s
and 1s indicating unknown/known.
sknowns*known() not supported by target repositoryr'rh�1�0N)rr.r)r�r�rrY�knownrr\rp)r^r��idsr�r_rwr�rqs        rf�
debugknownrk�s����7�7�2�x�+�+�D�1�8�<�D��<�<��!�!��k�k�G�H�H��J�J��,��1��A���,�-�E��H�H�W����e�!D�e��*��"4��"4�e�!D�E�
F�G��-��!Ds�(C
�CsdebuglabelcompletesLABEL...c��[X/UQ76 g)zEbackwards compatibility with old bash completion scripts (DEPRECATED)N)�debugnamecomplete)r^r_r`s   rf�debuglabelcompletern�s���b�&��&rhs
debuglocks�Lsforce-free-locksfree the store lock (DANGEROUS)�Wsforce-free-wlocks'free the working state lock (DANGEROUS)sset-locks set the store lock until stopped�Ss	set-wlocks(set the working state lock until stoppedc�^^
�URS5(aURRS5 URS5(aURRS5 URS5(dURS5(ag/n[R
RS5nU(a<[
US5nURS[R"5-5 S	S	S	5 URS
5(a!URURS55 URS
5(a!URUR!S55 [#U5(awTR%5(a[S5nTR'U5 O:SnU[#U5-nTR)U5 [*R,"S5 M[1U6 g[1U6 [*R*"5m
SnU
U4Sjn	X�"URSUR 5-
nX�"URSUR5-
nU$!,(df   GNm=f![Ra  [R"[S55ef=f![Ra  [R"[S55ef=f![.a SnTR)U5 GNf=f![1U6 f=f)avshow or modify state of locks

By default, this command will show which locks are held. This
includes the user and process holding the lock, the amount of time
the lock has been held, and the machine name where the process is
running if it's not local.

Locks protect the integrity of Mercurial's data, so should be
treated with care. System crashes or other interruptions may cause
locks to not be properly released, though Mercurial will usually
detect and remove such stale locks automatically.

However, detecting stale locks may not always be possible (for
instance, on a shared filesystem). Removing locks may also be
blocked by filesystem permissions.

Setting a lock will prevent other commands from changing the data.
The command will wait until an interruption (SIGINT, SIGTERM, ...) occurs.
The set locks are removed when the command exits.

Returns 0 if no locks are held.

�force_free_lockslock�force_free_wlockswlockrsDAEMON_PIDS�ab�%d
N�	set_wlockFswlock is already held�set_lockslock is already helds&ready to release the lock (y)? $$ &Yess"%d locks held, waiting for signal
g�������?s signal-received releasing locks
c�^>�U"S5nU(aUR5 O�URU5nT
U[R
-
n[R"UR5nURU5nSU;aNURS5up�U[R"5:XaSU=(d SU	4-nOSU=(d SU	U4-nTRSUS-Xu4-5 gTRSUS--5 g	![Ra SnGNf=f![a NAf=f)
NF�:suser %s, process %ssNonesuser %s, process %s, host %ss%-6s %s (%ds)
rs
%-6s free
r)r�LockHeld�release�lstat�stat�ST_MTIMEr=rV�st_uid�readlockr��socket�gethostnamer��FileNotFoundError)r?r��methodr��st�ager��locker�host�pid�nowr^s          ��rf�report�debuglocks.<locals>.report�s#���	��u�
�A�
�
�I�I�K�
��Y�Y�t�_���B�t�}�}�-�-���}�}�R�Y�Y�/�����d�+���6�>� &���T� 2�I�D��v�1�1�3�3�!7�4�?�7�C�:P�!P��!@� �O�G�� �D�"��
���1�T�D�[�&�4N�N�O��	���~����5�6���7�~�~�	��A�	��.%�
��
�s#�D�CD�D�D�
D,�+D,)r�svfs�	tryunlinkr?r�environrkr\r9�getpidr�r�rr{rYrrrU�interactive�promptchoicer�rmrn�KeyboardInterruptr|)r^r_r��locks�pidsr`�promptr��heldr�r�s`         @rf�
debuglocksr��sg���Z�x�x�!�"�"��	�	���G�$��x�x�"�#�#������8�$��x�x�!�"�"�d�h�h�/A�&B�&B���E�"����#�#�N�3����d�D�!�R�����2�9�9�;�.�/�"��8�8�K� � �
?����T�Z�Z��.�/��8�8�J���
>����T�Y�Y�u�-�.��u�:�:�
��>�>�#�#��H�I�F��O�O�F�+�@�C��3�u�:�%�C��I�I�c�N���
�
�3���
����!� 	���
�)�)�+�C��D��B	�F�4�9�9�g�t�y�y�1�1�D��F�4�8�8�X�t�z�z�2�2�D��K�M"�!���>�>�
?��k�k�!�$<�"=�>�>�
?��
�>�>�
>��k�k�!�$;�"<�=�=�
>��%�
�:���	�	�#��
��
	���s~�2K9�(I�/K9� I'�.K9� J�%K9�61K�'K9�(:K�
I$�K9�'4J�K9�4K�K9�K6�2K9�5K6�6K9�9
Lsdebugmanifestfulltextcachesclearsclear the cachesadds)add the given manifest nodes to the cachesNODEc�^�U4SjnURS5(a1TR5 U"5nURSS9 SSS5 gU(afTR5 TRnUR	S5nUH(nXgRU5n	U	R"5 M* SSS5 gU"5n[U5(dUR[S	55 gUR[S
5[U54-5 SnUHbnURU5n
[U
5nX�S--
nUR[S
5[U5[ R""U54-5 Md UR$R'S5R(nUR[S5[ R""U5[ R""U54-5 g!,(df   GN�=f![Ra#n
[R"[U
5SS9eSn
A
ff=f!,(df   GN�=f)z@show, clear or amend the contents of the manifest fulltext cachec�>�TRRS5nUR$![a" [	S5n[
R"U5ef=f)NrhsOCurrent revlog implementation doesn't appear to have a manifest fulltext cache
)�manifestlog�
getstorage�_fulltextcache�AttributeErrorrrrY)rdr�r_s  �rf�getcache�,debugmanifestfulltextcache.<locals>.getcache7	sY������'�'��,��	#��#�#�#���	#��-��C��+�+�c�"�"�	#�s	�*�,ArmT)�clear_persisted_dataNrhsCheck your manifest node id��hintscache empty
sFcache contains %d manifest entries, in order of most to least recent:
r�sid: %s, size %s
smanifestfulltextcaches%total cache data size %s, on-disk %s
)rr�rmr�r�rXrr7rY�bytesr�rUr\r�peekrr=�	bytecount�_openerr~�st_size)r^r_r�r�r��cacherrr�r r|�	totalsizer�r�r�ondisks `              rf�debugmanifestfulltextcacher�&	s����"	#��x�x����
�Z�Z�\��J�E��K�K�T�K�2���\�
�
�Z�Z�\�� � �A��L�L��%�E���� ���a��1�H�
�
�
���
��\�
�J�E��u�:�:�
����#�$�%�
���
�#�
��5�z�m�	
�	
��	��F��:�:�f�%�D��t�9�D����"�I��H�H��&�'�3�v�;����t�8L�*M�M�
�����#�#�$<�=�E�E��
���
�7�8��~�~�i�(�$�.�.��*@�A�
B�	
�Q�\���(�(���+�+��a��'E������
�\�s;�G,�&#H8�
G>�H8�,
G;�>H5�H0�0H5�5H8�8
I�debugmergestatec�B	�UR(a�[R"U5nUR5nUR	5nU(dU(dORU(dURS5 O9UR
XV5(aURS5 OURS5 US(dSUS'[RRU5nURS[R"U55nUR5 URS5nUR5(a�SURS	4S
URS44H�up�nUR5 UR!U	S9 UR![#U
5S
9 UR$(dMP['UR$5U:�dMkUR!UR$US9 M� UR)5 URS5nUR5(Ga�UGH�n
UR5 UR!U
S9 UR*U
nUR!US	S9 US	[R,[R.4;aUR!USS9 UR!USS9 UR!USS9 UR!USS9 UR!USS9 UR!USS9 UR!USS9 OKUS	[R0[R24;a$UR!USS9 UR!USS 9 URS!5n[5UR7U
5R955H4unnUR5 UR!US"9 UR!US#9 M6 UR)5 GM� UR)5 URS!5n[5UR;5R955Hdun
nX�;aM
UR95HCunnUR5 UR!U
S$9 UR!US"9 UR!US#9 ME Mf UR)5 UR)5 g%)&zhprint merge state

Use --verbose to print out information about whether v1 or v2 merge state
was chosen.sno version 2 merge state
s!v1 and v2 states match: using v2
s$v1 and v2 states mismatch: using v1
rQs�{if(commits, "", "no merge state found
")}{commits % "{name}{if(label, " ({label})")}: {node}
"}{files % "file: {path} (state \"{state}\")
{if(local_path, "  local path: {local_path} (hash {local_key}, flags \"{local_flags}\")
  ancestor path: {ancestor_path} (node {ancestor_node})
  other path: {other_path} (node {other_node})
")}{if(rename_side, "  rename side: {rename_side}
  renamed path: {renamed_path}
")}{extras % "  extra: {key} = {value}
"}"}{extras % "extra: {file} ({key} = {value})
"}r�scommitsslocalrsotherrr��r�risfiles)r�)r
)�	local_keyrS)�
local_pathrP)�
ancestor_pathr)�
ancestor_noder�)�
other_pathrb)�
other_node�)�local_flags)�renamed_path)�rename_sidesextrasrhr�)�fileN)r_�
mergestatemodr!�_readrecordsv1�_readrecordsv2r��
_v1v2matchr�rr)r�r��nested�activer�r�r�r�_labelsrUr�r��MERGE_RECORD_UNRESOLVED�MERGE_RECORD_RESOLVED�MERGE_RECORD_UNRESOLVED_PATH�MERGE_RECORD_RESOLVED_PATHr��extrasr1�	allextras)r^r_r`r��ms�	v1records�	v2recordsr��
fm_commitsr�r��label_index�fm_filesrqr
�	fm_extrasrr8r�s                   rf�debugmergestater�q	s���
�z�z�
�
%�
%�d�
+���%�%�'�	��%�%�'�	������N�N�8�9�
�]�]�9�
0�
0��N�N�@�A��N�N�C�D��
��
>�	
�Z��$
�	!�	!�	&�	&�t�	,�B�	���(�(�*>�*>�t�*D�	E�B��L�L�N����:�&�J�	�y�y�{�{�
�r�x�x��#�
�r�x�x��#�(
�#�D��
� � �"��O�O��O�&��O�O��T��O�+��z�z�z�c�"�*�*�o��;����b�j�j��&=��>�(
��N�N���y�y��"�H�	�y�y�{�{��A���� ��M�M�q�M�!��I�I�a�L�E��M�M��a��M�)��Q�x��5�5��3�3����
�
��a��
�1��
�
��q��
�2��
�
�E�!�H�
�5��
�
�E�!�H�
�5��
�
��q��
�2��
�
��q��
�2��
�
�%��(�
�3��q���:�:��8�8����
�
�5��8�
�4��
�
�%��(�
�3� ���	�2�I��r�y�y��|�1�1�3�4���1��#�#�%����1��%����Q��'�5�
�M�M�O�7�:
�L�L�N��	�	�)�$�I��r�|�|�~�+�+�-�.���1��7���G�G�I�D�A�q����!��N�N��N�"��N�N�q�N�!��N�N��N�#�	�	/��M�M�O��F�F�HrhsdebugnamecompletesNAME...c�^�[5nURR5H-upEUS:wdM
URUR	U55 M/ URSUR5R
555 [5nU(dS/nUHmURU4SjU55 M  URSR[U555 URS5 g)z:complete "names" - tags, open branch names, bookmark namesr�c3�># �UHupp4U(aMUv� M g7fr�r)r��tagr\�tip�closeds     rfr��$debugnamecomplete.<locals>.<genexpr>�	s!����)H�%�S���	��)H�s��	rhc3�V># �UHoRT5(dMUv� M  g7fr�)r�)r�r�res  �rfr�r��	s����?�e��|�|�A��1�1�e�s�)�	)r�N)
r3�namesr1r��	listnames�	branchmap�iterbranchesr\rpr�)r^r_r`r�r��ns�completionsres       @rfrmrm�	s����
�E�E��J�J�$�$�&����;���L�L����d�+�,�'�
�L�L��)-���)9�)F�)F�)H���
�%�K���u��
�����?�e�?�?���H�H�U�Z�Z��{�+�
,�-��H�H�U�Orh�debugnodemapsdump-news1write a (new) persistent binary nodemap on stdouts	dump-disksdump on-disk data on stdoutschecks-check that the data on disk data are correct.smetadatas-display the on disk meta data for the nodemapc��URS5(d,URS5(dURS5(a#Ub[R"[S55eOUcSUS'[R
"UR
5SU[R"U55n[U[R[R45(aURnUS(ah[URS	5(aURR!5nO ["R$"UR5nUR'U5 gUS
(a3["R("U5nUbUupuUR'USS5 ggUS(a?["R("U5nUb%Uupu["R*"XRU5$gUS(a�["R("U5nUb�UupuUR'S
UR,-5 UR'SUR.-5 UR'S[1UR25-5 UR'SUR4-5 UR'SUR6-5 UR6S-UR4-nUR'SU-5 ggg)z!write and inspect on disk nodemaprZr r�Ns*cannot specify a file with other argumentsTr��dump_new�nodemap_data_all�	dump_disk�checkr"suid: %s
stip-rev: %d
s
tip-node: %s
sdata-length: %d
sdata-unused: %d
gY@sdata-unused: %2.3f%%
)rrr�rr
r�rMr)r�r�r �manifestrevlogrrr.rar�rK�persistent_datar\�persisted_data�
check_data�uid�tip_revr�tip_node�data_length�data_unused)	r^r_r�r�rdr��nm_datar��unused_percs	         rf�debugnodemapr��	sR��<�x�x�������� 4� 4����������"�"��?�@��
��
�� ��[���������?�E�8�3G�3G��3M�	�A��!�h�-�-�w���?�@�@�
�I�I���J���1�7�7�.�/�/��7�7�+�+�-�D��*�*�1�7�7�3�D�
�����	
�k�	��(�(��+����"�L�F��H�H�T�!�W���
�g���(�(��+����"�L�F��%�%�b�'�'�4�8�8��
�j�	��(�(��+����"�L�F��H�H�l�f�j�j�0�1��H�H�&�&�.�.�8�9��H�H�'�3�v���+?�?�@��H�H�*�f�.@�.@�@�A��H�H�*�f�.@�.@�@�A� �,�,�u�4�v�7I�7I�I�K��H�H�/�;�>�?��
rhr�sflagssmarkers flagsrecord-parentss+record parent information for the precursorsdisplay markers relevant to REVs	exclusives0restrict display to markers only relevant to REVsindexsdisplay index of the markersdeletes#delete markers specified by indicess[OBSOLETED [REPLACEMENT ...]]c�Z	^^^�U4SjmURS5(a�/nURS5HnUR[U55 M  TR5(a[R"[
S55eTR5 [R"TRU5nUR[
S5U-5 SSS5 gUGb�US	(a[R
"S
5e0n[R"US=(d UR!55US'[#U4S
jU55n	TR5n
TR%S5nURS5nU(a[&R("U5nOSnT"U5n
SnUS(a]U
TR+5;a[R"S5eTR+5U
R-5n[#SU55nTRR/UU
U	USUUUUS9 UR15 UR75 U
R75 gUS	(ap[8R:"TUS	5nUVs/sHnTUR=5PM nn[?[@RB"TUUSS95nURESS9 O[@RB"T5nUnSnURS	5(a=URS5(a'[@RB"T5n[GU5mU4SjnURIS[JRL"U55n[OU5HUunnU"U5(dMURQ5 URS5(aUOSn[RRT"UUUS9 MW URW5 g![a+ [R
"[
S5U-[
S5S9ef=f!,(df   g=f![a;n[R"[
S5[2R4"U5-5eSnAff=f!UR75 f=f!U
R75 f=fs snf)z_create arbitrary obsolete marker

With no arguments, displays the list of obsolescence markers.c�>�[U5n[U5TRR:wa[eU$![a [
R"S5ef=f)Ns>changeset references must be full hexadecimal node identifiers)rrU�
nodeconstants�nodelen�
ValueErrorrr�)rwr�r_s  �rf�parsenodeid�"debugobsolete.<locals>.parsenodeidY
s]���	��A��A��1�v��+�+�3�3�3� � ��H���	��"�"�$��
�	�s	�59�!A�deletesinvalid index value: %rsuse integers for indicesr�s6cannot delete obsmarkers in the middle of transaction.s deleted %i obsolescence markers
Nr]s+cannot select revision when creating markerr�suserc3�4># �UH
nT"U5v� M g7fr�r)r��succr�s  �rfr�� debugobsolete.<locals>.<genexpr>�
s����?�J�D�k�$�'�'�J�s�r�r��record_parentss2cannot used --record-parents on unknown changesetsc3�@# �UHoR5v� M g7fr�r�r�s  rfr�r��
s���#>�g��F�F�H�H�g�r/r�)rr�r"r^sbad obsmarker input: %s�	exclusive)rCr�c��UR$r�)�_data�r�s rfrf�debugobsolete.<locals>.<lambda>�
s��q�w�wrhrhc��g)NTr)rs rfrfr�
s��trhrac�>�UT;$r�r)r�	markersets �rfrfr�
s	���1�	�>rh)ra),rr�r�r�rr�r�currenttransactionrYrr+�deleteobsmarkers�obsstorer\r�	fromlocalrV�tupler�rFr�rMr�creater2rHr8r|rrAr�r�r$�
getmarkersr�r3rr)r��	enumerater�r
r�r�)r^r_�	precursor�
successorsr��indicesr8r�r"�succsr��trr��precrrr�rdrCr��
markerstoiter�
isrelevantr�r�r�indrr�s `                        @@rf�
debugobsoleter<
s����:
��x�x���������(�#�A�
����s�1�v�&�$��"�"�$�$��+�+��K�L��
��Y�Y�[��'�'��
�
�w�?�A��H�H�Q�;�<�q�@�A��	�����;��"�"�>��
���$�.�.�t�F�|�/L�r�{�{�}�M�����?�J�?�?���I�I�K��$	��!�!�"2�3�B� 
��x�x��'���#�-�-�d�3�D��D�"�9�-�����(�)��4�?�?�#4�4�#�k�k�2���#�o�o�/��5�=�=�?�G�#�#>�g�#>�>�G��
�
�$�$������M�#��%��%�	����
��
�
��
�I�I�K���;��&�&�t�T�%�[�9�D�-1�2�T��T�!�W�\�\�^�T�E�2���"�"����k�1B���G�

�L�L�.�L�/��(�(��.�G��
�#�
��8�8�E�?�?�t�x�x��0�0�#�.�.�t�4�M��G��I�1�J�
�\�\�*�H�,@�,@��,F�
G���m�,�D�A�q��a�=�=���L�L�N��x�x��(�(�!�d�C����r�1�C�0�-�	�����C�
��&�&��0�1�A�5��6�7���
���[�	��P�
��k�k��0�1�J�4K�4K�C�4P�P����
��
�
�
���
�I�I�K��3sZ�O-�?P%� R�2CP6�R�R(�-5P"�%
P3�6
Q;�6Q6�6Q;�;Q>�>R�R�R%s
debugp1copiessrevision to debugs[-r REV]c���[R"XRS5SS9nUR5R	5HupEURSXT4-5 M g)z$dump copy information compared to p1r]N�r��	%s -> %s
)r1r@r�p1copiesr1r\�r^r_r�rK�dst�srcs      rf�
debugp1copiesr�
�L���
�
�D�(�(�5�/�4�
@�C��L�L�N�(�(�*���
����#��+�,�+rhs
debugp2copiesc���[R"XRS5SS9nUR5R	5HupEURSXT4-5 M g)z$dump copy information compared to p2r]Nrr)r1r@r�p2copiesr1r\rs      rf�
debugp2copiesr#�
r rhsdebugpathcomplete�fscomplete an entire pathsnormalsshow only normal filesr<sshow only added filesr=sshow only removed filessFILESPEC...c�^^^�UU4SjnSnTS(aUS-
nTS(aUS-
nTS(aUS-
nTR5mU(dS	/n[5[5pvUH8nU"X�=(d S
5up�URU	5 URU
5 M: URU5 URSR	UU4Sj[U5555 URS5 g
)acomplete part or all of a tracked path

This command supports shells that offer path name completion. It
currently completes only files already known to the dirstate.

Completion extends only to the next path segment unless
--full is specified, in which case entire paths are used.c�>�TRn[RR[RR	[
R"5U55nTR[R-nUTR:waURU5(d//4$[RRU5(aUS-
nU[U5Sn[RS:gnU(a UR[RS5n[U5nTSn[5[5p�U	RURp�UR!5H�up�URU5(dMU
R"U;dM/U(a URS[R5nU(a
U"U5 MgUR%[RU5nUS:�a
U
"USU5 M�U"U5 M� X�4$)N�/�fullr)r�r9r�rrprrW�rootr)�ossepr��isdirrU�replacer3r�r1r
�find)r��
acceptabler�r*�rootdir�fixpaths�speclen�	fullpathsr��dirs�adddir�addfilerqr�rwr�r_s               ��rf�complete�#debugpathcomplete.<locals>.complete�
sr����=�=���w�w��������X�_�_�->�� E�F���)�)�h�n�n�,���4�9�9��T�_�_�W�%=�%=��r�6�M�
�7�7�=�=�����D�L�D��C��L�N�#���>�>�T�)����<�<�����5�D��d�)����L�	��e�S�U�t��(�(�E�I�I���^�^�%�E�A��|�|�D�!�!�b�h�h�*�&<���	�	�$����7�A���A�J���F�F�8�>�>�7�3����6��1�R�a�5�M��A�J�&��{�rhrh�normalsnmrEr�rFr�rsnmarr�c3�H># �UHnTRUT5v� M g7fr�)�pathto)r�r��cwdr_s  ��rfr��$debugpathcomplete.<locals>.<genexpr>-s����C�]�����A�s�+�+�]�r�N)rWr3r�r\rpr�)r^r_�specsr�r6r.r�r3r*rqr�r;s ` `       @rf�debugpathcompleter>�
s����&�<�J��H�~��e��
��G�}��d��
��I���d��
�
�+�+�-�C������%���4�����3�G�4���
���Q�����A���
�L�L����H�H�U�Z�Z�C�V�E�]�C�
C�D��H�H�U�Orhsdebugpathcopiess#hg debugpathcopies REV1 REV2 [FILE])�	inferrepoc�"�[R"X5n[R"X5n[R"XdU5n[[R
"XgU5R
55Hup�URSX�4-5 M g)z!show copies between two revisionsrN)r1r@rr�r�
pathcopiesr1r\)r^r_rbrcr�r��ctx1�ctx2rrrs           rf�debugpathcopiesrD1so�����T�(�D����T�(�D��
�
�d�$�'�A��6�,�,�T��;�A�A�C�D���
����#��+�,�Erhs	debugpeerc�Z�SS0nURU5 [R"U0U5nUR5SLnUR	5nUR[
S5UR5-5 UR[
S5U(a[
S5O
[
S5-5 UR[
S5U(a[
S5O
[
S5-5 UR5 SSS5 g!UR5 f=f!,(df   g=f)	z+establish a connection to a peer repository)sdevelsdebug.peer-requestTNsurl: %s
s
local: %s
r�r�s
pushable: %s
)	�configoverriderr.r��canpushr\rr<r2)r^r��	overridesr.r�rGs      rf�	debugpeerrI@s���	*�4��I�
�	�	�9�	%��w�w�r�2�t�$��
	��J�J�L��,�E��l�l�n�G��H�H�Q�|�_�t�x�x�z�1�2��H�H�Q�~�&�u�!�F�)�!�E�(�K�L��H�H��#�$�W��&�	�!�E�(�K�
�
�J�J�L�
&�	%��
�J�J�L��
&�	%�s#�D�B=D�-D�D�D�
D*sdebugpickmergetools check for files in this revisionschangedeletes!emulate merging change and deletes[PATTERN]...c��0nUS(a3USUS'URS[R"US5-5 URUS5 [R
R
S5nUb(URS[R"U5-5 URSS	5nU(a(URS
[R"U5-5 [R"XR
S55n[R"Xr[R"U55nUSn	URU5H�n
XznUR(dURS
S9O[R "5 ["R$"UUU
UR'5SUR)5;U	5up�SSS5 UR+SU
W4-5 M� SSS5 g!,(df   N1=f!,(df   g=f)a�examine which merge tool is chosen for specified file

As described in :hg:`help merge-tools`, Mercurial examines
configurations below in this order to decide which merge tool is
chosen for specified file.

1. ``--tool`` option
2. ``HGMERGE`` environment variable
3. configurations in ``merge-patterns`` section
4. configuration of ``ui.merge``
5. configurations in ``merge-tools`` section
6. ``hgmerge`` tool (for historical reason only)
7. default tool for fallback (``:merge`` or ``:prompt``)

This command writes out examination result in the style below::

    FILE = MERGETOOL

By default, all files known in the first parent context of the
working directory are examined. Use file patterns and/or -I/-X
options to limit target files. -r/--rev is also useful to examine
files in another context without actual updating to it.

With --debug, this command shows warning messages while matching
against ``merge-patterns`` and so on, too. It is recommended to
use this option with explicit file patterns and/or -I/-X options,
because this option increases amount of output per file according
to configurations in hgrc.

With -v/--verbose, this command shows configurations below at
first (only if specified).

- ``--tool`` option
- ``HGMERGE`` environment variable
- configuration of ``ui.merge``

If merge tool is chosen before matching against
``merge-patterns``, this command can't show any helpful
information, even with --debug. In such case, information above is
useful to know why a merge tool is chosen.
�tool)�uis
forcemergeswith --tool %r
sdebugmergepatternssHGMERGENswith HGMERGE=%r
rLsmergeswith ui.merge=%r
r]�changedeleteT)rr�s%s = %s
)r�r)r�rFrr�r�configr1r@rr�r�r�silentr=rYr�	_picktool�isbinaryr�r\)r^r_r�r�rH�hgmerge�uimergerKrrMr��fctxrK�toolpaths              rf�debugpickmergetoolrVYs���j�I��F�|�,0��L�	�(�)�
�
�
�)�X�-=�-=�d�6�l�-K�L�M�	�	�	�9�&;�	<��"�"�&�&�z�2�����M�M�.�(�2B�2B�7�2K�L�M��)�)�E�8�,����M�M�/�8�3C�3C�G�3L�M�N�����h�h�u�o�6���M�M�#�X�%9�%9�$�%?�@���N�+���H�H�Q�K�D��9�D��\�\�������'+�'>�'>�'@�A�"+�!4�!4�����M�M�O��D�J�J�L�(� �
"���A�
�H�H�\�T�4�L�0�1� �
=�	<�A�A��
=�	<�s%�D.G9�=G(�="G9�(
G6�2G9�9
HsdebugpushkeysREPO NAMESPACE [KEY OLD NEW]c	��[R"U0U5nU(a�UupgnUR5n	U	RSUUUUS.5R	5n
SSS5 UR[R"W
5S-5 U
(+UR5 $[URU5R55HCup�URS[R"U5[R"U54-5 ME UR5 g!,(df   N�=f!UR5 f=f)z�access the pushkey key/value protocol

With two args, list the keys in the given namespace.

With five args, set a key to new if it currently is set to old.
Reports success or failure.
spushkey)s	namespaceskeyrsnewNr�s%s	%s
)rr.�commandexecutor�callcommand�resultr�r)r�r2r��listkeysr1r\rH�	escapestr)
r^r��	namespace�keyinfor��targetr6r&�newr|rdrr8s
             rf�debugpushkeyra�s���W�W�R��X�
&�F���#�M�C�c��'�'�)�Q��M�M��&/� #� #� #�	���&�(��*�
�I�I�h�&�&�q�)�E�1�2��5�	����
�v���y�9�?�?�A�B�������!�+�+�A�.�
�0D�0D�Q�0G�H�I��C�	����)*�)��(	����s)�D5�&D$�6D5�#A/D5�$
D2�.D5�5Es	debugpvecsA Bc���[R"X5n[R"X5n[R"U5n[R"U5nXg:XaSnOXg:�aSnOXg:aSnOXg-(aSnUR	[S5U-5 UR	[S5U-5 UR	[S5URUR4-5 UR	[S5[URUR-
5[R"URUR5URU5W4-5 g)	N�=�>�<�|sa: %s
sb: %s
sdepth(a): %d depth(b): %d
s.delta: %d hdist: %d distance: %d relation: %s
)r1r@r(�ctxpvecr\r�_depth�abs�_hamming�_vec�distance)	r^r_rer��ca�cbr��pb�rels	         rf�	debugpvecrq�s��	�	�	�4�	#�B�	�	�	�4�	#�B�	
���b�	�B�	
���b�	�B�	�x���	����	����	�����H�H�Q�z�]�R�
� ��H�H�Q�z�]�R�
� ��H�H�Q�-�
.�"�)�)�R�Y�Y�1G�
G�H��H�H�	�
<�=���	�	�B�I�I�%�&��M�M�"�'�'�2�7�7�+��K�K��O��	
�	
�rhs&debugrebuilddirstate|debugrebuildstatesrevision to rebuild tosminimalsEonly rebuild files that are inconsistent with the working copy parentc��[R"X5nUR5 UR5bSn[R
"U5eURnSnURS5(aq[UR5R55n[U5n	X�-
n
X�-
nUVs1sH&o�RU5R(aM$UiM( n
nX�-nURU5 URUR5UR5U5 SSS5 SSS5 gs snf!,(df   N=f!,(df   g=f)a�rebuild the dirstate as it would look like for the given revision

If no revision is specified the first current parent will be used.

The dirstate will be set to the files of the given revision.
The actual working directory content or existing dirstate
information such as adds or removes is not considered.

``minimal`` will only rebuild the dirstate status for files that claim to be
tracked but are not in the parent manifest, or that exist in the parent
manifest but are not in the dirstate. It will not change adds, removes, or
modified files that are in the working copy parent.

One use of this command is to make the next :hg:`status` invocation
check the actual file content.
Ns-rebuild the dirstate outside of a transaction�minimal)r1r@r�rr�ProgrammingErrorr�rr3r ro�	get_entryrE�changing_parents�rebuildr�)r^r_r]r�rKr�r��changedfiles�
manifestfiles�
dirstatefiles�manifestonly�dsonlyrq�
dsnotaddeds              rf�debugrebuilddirstater~�s��B�
�
�D�
&�C�	
�����"�"�$�0�B�C��(�(��-�-��=�=�����8�8�I�������� 3� 3� 5�6�M���M�M�(�8�L�"�2�F�%+�O�V��3E�3E�a�3H�3N�3N�!�V�J�O�'�4�L�
�
&�
&�t�
,����S�X�X�Z������F�-�
���P�-�
,��
��s<�BE�3#D8�D8� E�70D=�'E�8E�=
E	�E�
Esdebugrebuildfncaches	only-datas*only look for wrong .d files (much faster)c�P�[R"XURS55 g)zrebuild the fncache file�	only_dataN)r+�rebuildfncacherr_s   rf�debugrebuildfncacher�$s�����"�D�H�H�[�$9�:rhsdebugrenames[-r REV] [FILE]...c
��[R"XRS55n[R"XB[R
"U55nUR
U5H�nXFnUR5RUR55nURU5n	U(a0UR[S5X�S[US54-5 M|UR[S5U	-5 M� g)zdump rename informationr]s%s renamed from %s:%s
rrs%s not renamed
N)r1r@rrr)r�r�r�renamed�filenoder:r\rr)
r^r_r�r�rKrrirT�orps
          rf�debugrenamer�5s����
�
�D�(�(�5�/�
2�C��
�
�c��!5�!5�d�!;�<�A��x�x��{���x���L�L�N�"�"�4�=�=�?�3���k�k�#�����H�H�Q�1�2�c�Q�4��Q�q�T��5K�K�L��H�H�Q�*�+�c�1�2�rhsdebugrequires|debugrequirementsc�d�[UR5HnURSU-5 M g)z#print the current repo requirementsr'N)r�r-r\)r^r_rds   rf�debugrequirementsr�Is)���D�%�%�
&��
����1���'rh�debugrevlog�dsdumpsdump index datac���[R"USU[R"U55nUR	S5(a[
R"X5 g[
R"X5 g)z'show data and statistics about a revlogr��dumpr)r
r�r)r�rr�r��debug_revlog)r^r_r�r�rds     rf�debugrevlogr�Ps_��	����n�e�X�%9�%9�$�%?�	�A��x�x�������"� �
�	�!�!�"�(�rh�debugrevlogindexsformats
revlog formatsFORMATs[-f FORMAT] -c|-m|FILEc�0�[R"USU[R"U55nUR	SS5nUS;a"[
R"[S5U-5eUR(a[nO[nSnUH#n[U"URU555n O US:Xa{UR(a5URSSRU5S	RU54-5 O�URS
SRU5S	RU54-5 O^US:XaXUR(a$URSSR!U5-5 O#URS
SR!U5-5 UGH�nURU5n	US:Xa�UR#U	5n
UR(abUR)SUUR+U5UR-U5UR/U5U"U	5U"U
S5U"U
S54-5 M�UR)SUUR/U5U"U	5U"U
S5U"U
S54-5 M�US:XdM�UR1U5nUR(awUR)SUUR3U5UR+U5UR-U5UR5U5UR/U5USUSU"U	54	-5 GM�UR)SUUR3U5UR5U5UR/U5USUSU"U	54-5 GM� g![$a UR&UR&/n
GN�f=f)z#dump the contents of a revlog indexr�r�r)rrsunknown format %d�s*   rev    offset  length linkrev %s %s p2
snodeidr>s   rev linkrev %s %s p2
rs?   rev flag   offset   length     size   link     p1     p2 %s
s-   rev flag     size   link     p1     p2 %s
s% 6d % 9d % 7d % 7d %s %s %s
s% 6d % 7d %s %s %s
s+% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d %s
s!% 6d %04x % 8d % 6d % 6d % 6d %s
N)r
r�r)r�rrrYrrrr	rUr�r_r��ljust�rjustrrFr[r\�start�length�linkrevr�r��rawsize)r^r_r�r�rdr��shortfn�idlenr�r�r�prs            rf�debugrevlogindexr�cs5��	����!�5�(�*>�*>�t�*D�	�A��X�X�h��
"�F�
�V���k�k�!�0�1�F�:�;�;�	�|�|�����
�E�
���G�A�F�F�1�I�&�'��
����{�
�:�:��N�N�>��?�?�5�)�5�;�;�u�+=�>�?�
�

�N�N�,��?�?�5�)�5�;�;�u�+=�>�?�
�
�1��
�:�:��N�N�$��/�/�%�(�	)�
�
�N�N�A��/�/�%�(�)�
�
���v�v�a�y���Q�;�
0��Y�Y�t�_���z�z����5������
�������	�	�!����
���1�����1����	�����+���	�	�!����
���1�����1�����	��q�[����a��B��z�z����C������
�����
�������	�	�!���	�	�!���1���1����
�
��
����9������
��	�	�!���	�	�!���1���1����
��	��c��
�
0��k�k�4�;�;�/��
0�s�.M/�/"N�Nsdebugrevspecsoptimizes/print parsed tree after optimizing (DEPRECATED)s	show-revss(print list of result revisions (default)sshow-sets+print internal representation of result setsno-optimizeds"evaluate tree without optimizationsverify-optimizedsverify optimized resultsREVSPECc�	^^�TRS5mSS4SUU4Sj4S[R4S[R4S[R4/nUS	(aUS
SnUS(a)US	(a[
R"[S
55eUVVs1sHupVUiM	 nnn[5n[5n	TR(aIUS(d?URS5 U	RSS/5 US(aURS5 US(a)US(a[
R"[S55eUSS/:XaURU5 OGUSH*nXW;dM
[
R"[S5U-5e URUS5 0n
S
n[R"U[R"U5S9nUHpupVU"U5=X�'nXX;dXY;dMX�:wdM$US(dUS:waTRSU-5 TR[R "U5S5 UnMr US(Ga�[R""U
S5"U5n
[R""U
S5"U5nUS(dUSc_TR(aNTR%S[&R("U
5S5 TR%S[&R("U5S5 [+U
5n
[+U5nX�:XagTR%SSS9 TR%SSS9 [,R."S
X�5nUR15H{unnnnnUS;aU
UUHnTRS U-S!S9 M US";aUUUHnTRS#U-S$S9 M US%:XdM[U
UUHnTRS&U-5 M M} g'[R""U5nU"U5nUS(dUSc8TR(a'TR%S([&R("U5S5 US)(dg
UHnTRS*U-5 M g
s snnf)+a�parse and apply a revision specification

Use -p/--show-stage option to print the parsed tree at the given stages.
Use -p all to print tree at every stage.

Use --no-show-revs option with -s or -p to print only the set
representation or the parsed tree respectively.

Use --verify-optimized to compare the optimized result with the unoptimized
one. Returns 1 if the optimized result differs.
srevsetaliasr�c��U$r�r)r�s rfrf�debugrevspec.<locals>.<lambda>
s��rhsexpandedc�H>�[R"UTTR5$r�)r0�
expandaliasesr�)r��aliasesr^s ��rfrfr�	
s����1�1�$�����Irhsconcatenatedr�r��no_optimizedNr��verify_optimizeds1cannot use --verify-optimized with --no-optimizedr�r�s'cannot use --optimize with --show-stager$r�)rXr�r��show_sets* analyzed set:
s* optimized set:
rs
--- analyzed
sdiff.file_aris+++ optimized
sdiff.file_b)r�r,s-%d
sdiff.deleted)�insertr,s+%d
s
diff.inserted�equals %d
rs* set:
�	show_revsrv)rqr0�
foldconcatr�r�rrYrr3r_r�r�r�r/�lookupfnr\r��makematcherr�rHr�r��difflib�SequenceMatcher�get_opcodes)r^r_r�r�r�r�rqr�r��showchanged�treebystage�printedtreer��arevs�brevs�smr��alo�ahi�blo�bhir4�funcr�r�s`                       @rf�debugrevspecr��s���Z�n�n�^�,�G�	�%�&��I�	
�
�*�/�/�0�	�j�(�(�)�	�z�*�*�+�	�F��N����������D��$8��k�k�
�B�C�
�	
�!'�'����!��J�'���J��%�K�	�z�z�$�|�,����y�!����K��9�:��
���N�N�<�(��L��d�:�.��k�k�!�F�G�H�H��L��f�X�%����*�%��l�#�A��"��k�k�!�$=�">��"B�C�C�$�	���$�|�,�-��K��K����D�����)>�?�D���� !�$��'�����?�q�/�D�4G��L�!�Q�)�^�����a��(��H�H�Z�,�,�T�2�E�:��K�
������"�"�;�{�#;�<�T�B���"�"�;�|�#<�=�d�C���
���Z� 0� 8�R�Z�Z��N�N�$�j�&;�&;�E�&B�E�
�
�N�N�%�z�'<�'<�U�'C�U�
��U����U����>��
���(���?�
���)���@�
�
$�
$�T�5�
8��')�~�~�'7�#�C��c�3���+�+��s�3��A��H�H�X��\��H�A�(��+�+��s�3��A��H�H�X��\�1A�H�B�(��g�~��s�3��A��H�H�X��\�*�(�(8�����d�#�D���:�D��J��D��,�4����
���{�J�$9�$9�$�$?��G�����
��
����1�����E(s�Q>�
debugservessshstdios*run an SSH server bound to process handlesslogiofds$file descriptor to log server I/O tos	logiofilesfile to log server I/O toc�R�US(d[R"[S55eSnUS(a)US(a[R"[S55eUS(a&[R"[US5SS5nOUS(a[USSS5n[R"XUS
9nUR5 g![aMnUR[R:wae[R"[US5S	S5nSnANxSnAff=f)z�run a server with advanced settings

This command is similar to :hg:`serve`. It exists partially as a
workaround to the fact that ``hg serve --stdio`` must have specific
arguments for security reasons.
�sshstdios&only --sshstdio is currently supportedN�logiofd�	logiofiles)cannot use both --logiofd and --logiofilerurrx)�logfh)
rrYrr9�fdopenr�r��errno�ESPIPErkrA�	sshserver�
serve_forever)r^r_r�r�r|rws      rf�
debugserver�[
s���*�
���k�k�!�E�F�G�G��E��I��4��,��k�k�!�H�I�J�J��I��
	=��I�I�c�$�y�/�2�D�!�<�E�
�k�	��T�+�&��a�0���!�!�"�%�8�A��O�O����	=��w�w�%�,�,�&���I�I�c�$�y�/�2�D�!�<�E��		=�s�*$C�
D&�AD!�!D&sdebugsetparentssREV1 [REV2]c��[R"X5R5n[R"XS5R5nUR5 UR	XE5 SSS5 g!,(df   g=f)a�manually set the parents of the current working directory (DANGEROUS)

This command is not what you are looking for and should not be used. Using
this command will most certainly results in slight corruption of the file
level histories within your repository. DO NOT USE THIS COMMAND.

The command updates the p1 and p2 fields in the dirstate, without touching
anything else. This useful for writing repository conversion tools, but
should be used with extreme care. For example, neither the working
directory nor the dirstate is updated, so file statuses may be incorrect
after running this command. Use it only if you are one of the few people who
deeply understands both conversion tools and file level histories. If you are
reading this help, you are not one of those people (most of them sailed west
from Mithlond anyway).

So, one more time, DO NOT USE THIS COMMAND.

Returns 0 on success.
snullN)r1r@r�r��
setparents)r^r_rbrc�node1�node2s      rf�debugsetparentsr��
sW��,
���d�)�.�.�0�E����d�'�2�7�7�9�E�	
��������%�
���s�A5�5
Bs
debugsidedatac��URS5(d,URS5(dURS5(a&Ub[R"[S55eSUp2O"Uc[R"[S55e[R
"USU[R"U55n[USU5nURURU55nU(a�[UR"55nUR"5 UR!S
[#U5-5 UH_upxUR!SU[#U54-5 UR$(dM7UR!S[&R("U5-5 Ma gg![a# [R"[S	5U-5ef=f)
z_dump the side data for a cl/manifest/file revision

Use --verbose to dump the sidedata content.rZr r�Nr�r�r�rr�s%d sidedata entries
s entry-%04o size %d
r-)rrr�rr
r�r)r�r�rMrXr�rYr�r1r�r�rUr_rHr[)	r^r_r�r]r�rdrMr6r�s	         rf�
debugsidedatar��
sv��
�x�x�������� 4� 4��������?��"�"��C�D��
��5�s�	�����q�!=�>�?�?�����l�E�8�#7�#7��#=�	�A�	��9�a� �A�F��:�:�a�h�h�s�m�,�������(�)���
�
��
���/�#�h�-�?�@�"�J�C��N�N�3�s�C��J�6G�G�H��z�z�z����y�:�+<�+<�U�+C�C�D�#�	���F��k�k�!�=�>��D�E�E�F�s� F�-G	�debugssls[SOURCE]c���[R(d[R"[	S55eU(d(U(d[R"[	S55eSn[
R"SX5nURnSSS.nURU;a8UR[UR=(d XeR54nO[R"[	S	55eS
SK
Jn [R "["R""5[R$[R&SS
9n	U	R)U5 U	R+S5n
UR-[	S5UR-5 UR/U
SS9nU(dfUR-[	S55 UR/U
5(dUR-[	S55 O5UR-[	S55 OUR-[	S55 U	R15 g![a  [R"[	S55ef=f!U	R15 f=f)a�test a secure connection to a server

This builds the certificate chain for the server on Windows, installing the
missing intermediates and trusted root via Windows Update if necessary.  It
does nothing on other platforms.

If SOURCE is omitted, the 'default' path will be used.  If a URL is given,
that server is used. See :hg:`help urls` for more information.

If the update succeeds, retry the original operation.  Otherwise, the cause
of the SSL error is likely another issue.
s6certificate chain building is only possible on Windowss>there is no Mercurial repository here, and no server specifiedr�r�i��)�httpsssshsmalformed port number in URLs,only https and ssh connections are supportedr)�win32N)�ssl_version�	cert_reqs�ca_certsTs&checking the certificate chain for %s
F)�builds-certificate chain is incomplete, updating... sfailed.
sdone.
s$full certificate chain is available
)r)�	iswindowsrrYrrIrOr<�schemer�r��portr�r�r��ssl�wrap_socketr��PROTOCOL_TLS�	CERT_NONE�connect�getpeercertr��checkcertificatechainr2)r^r_r�r�r�r<�defaultport�addrr�rw�certr6s            rf�debugsslr��
s�������k�k�
�G�H�
�	
����+�+��(���
����+�+�K��D�D�
�(�(�C� �"�-�K�
�z�z�[� �	B��H�H�c�#�(�(�"E�k�*�*�.E�F�G�D��k�k�!�K�L�M�M������
�
���$�$��-�-��		�A��	�	�	�$���}�}�T�"��
�	�	�!�>�?�#�(�(�J�K��.�.�t�5�.�A����I�I�a�H�I�J��.�.�t�4�4��	�	�!�L�/�*��	�	�!�J�-�(��I�I�a�@�A�B�	���	��A�	B��+�+�a� ?�@�A�A�	B��@	
���	�s�6H1�C I�1*I�I0sdebug::stable-tail-sort�Tstemplates{rev}
sdisplay with templatesTEMPLATEc��[R"X5R5nURn[R"XU5n[
R"Xe5nUHn	URX5 M g)z=display the stable-tail sort of the ancestors of a given nodeN)rr@r]rZ�
maketemplaterrC�_stable_tail_sort_naive�show)
r^r_�revspecrQr�r]r��	displayer�sorted_revs�ancestor_revs
          rf�debug_stable_tail_sortr�sa���
�
�t�
-�
1�
1�
3�C�	
���B��(�(��8�<�I� �8�8��A�K�#�����t�)�*�$rhsdebug::stable-tail-sort-leapss{rev}sspecificsrestrict to specific leapsc�p�[R"X5R5nU(a[RnO[R
n[R"XU5nU"URU5H<up�URX5 URX5 URS5 M> g)zAdisplay the leaps in the stable-tail sort of a node, one per liner�N)
rr@r]rC�_find_specific_leaps_naive�_find_all_leaps_naiver�rZr�r\)r^r_�rspecrQ�specificr�r]�	get_leapsr�r�r_s           rf�debug_stable_tail_sort_leapsr�&s��� �
�
�t�
+�
/�
/�
1�C��"�=�=�	�"�8�8�	��(�(��8�<�I�#�D�N�N�C�8������t�|�$����t�|�$�
�����9rh�debugbackupbundle)rhsrecoverrhs7brings the specified changeset back into the repositorys%hg debugbackupbundle [--recover HASH]c�Z^^^�[[[RR[
R
"TRRS5S-555nURSSS9 STS'STS	'[R"[R"T55mUUU4S
jnTRS5nU(a;[R"TU5(aUR![#S5U-5 gO>U(a[#S
5nUR%USS9 OUR%[#S55 gUGH�n[RR'U[(R*"55n	[,R."SUU	5n
[0R2"T[R"T5U
5nU
R>TRS/54n[0R@"TX�TRS55unnU(a!UVs/sHnURCU5PM nnURE5 [FRH"UTX�TSTS	5unnnSSS5 W(dW"5 GM>U(Ga/TRK5 TRMS5n[R"X�5(a�UR%[#S5U-5 [0RN"X
R85n[PRR"UUU
R85n[UU[VRX5(a&[VRZ"TUUSSU
R8-S9 O UR]TSSU
R8-5 SSS5 SSS5 W"5  gSSS5 SSS5 GO[(R^"[`Rb"S[`Rd"[RRgU
R85555nUR%SURiS5-5 URj(a0UR%SSRiS5U
R84-5 OS TS!'[Rl"X[R"T5S"5nU"UUU5 URo5 W"5 GM� g![4R6aTn[#S5U
R8-n[#S5[;UR<5-n
UR!X}S9 SnAGM�SnAff=fs snf![4R6a
 SSS5 GM'f=f!,(df   GN=f!,(df   GN�=f!,(df   N�=f!W"5 f=f)#aolists the changesets available in backup bundles

Without any arguments, this command prints a list of the changesets in each
backup bundle.

--recover takes a changeset hash and unbundles the first bundle that
contains that hash, which puts that changeset back in your repository.

--verbose will print the entire commit message and the bundle path for that
backup.
sstrip-backups/*.hgc�@�[RRU5$r�)r9r��getmtimers rfrf�#debugbackupbundle.<locals>.<lambda>bs��r�w�w�/�/��2rhT)r6�reverserhr�Nr(c�~>�TRS5(aUR5 SnUH�nTbUT:�a gURRU5Vs/sHoUT	R:wdMSPM nnTRS5(a[U5S:XaMqUS-
nUR
X5 M� gs snf)N�newest_firstrT�	no_mergesrSr)rr�rZrr[rUr�)
r��chlistr��countr�r�r�limitr�r_s
       ���rf�display�"debugbackupbundle.<locals>.displayhs�����8�8�N�#�#��N�N�����A�� �U�e�^��#�o�o�5�5�a�8��8�����<L��8�
���x�x��$�$��W���):���Q�J�E��N�N�5�8�$���s�B:�.B:�recovers%s already exists in the repo
sgRecover changesets using: hg debugbackupbundle --recover <changeset hash>

Available backup changesets:sstatus.removedrisno backup changesets found
r�s"
warning: unable to open bundle %ss
(missing parent rev %s)
r�rPr]sunbundlesUnbundling %s
sbundle:)r�r<z%a %H:%M, %Y-%m-%ds
%s
�2r��
s8{label('status.modified', node|short)} {desc|firstline}
rQF)8r��filterr9r��isfile�globr?rpr�r�getlimitr)r�rr1�isrevsymbolr�rr��relpathrrWrIrOrr.rr7rRr	r�rPrUrXrOr�getremotechangesrr�rtrrur�r
r��applybundlervrrmrrr�r�r_�changesetdisplayerr2)r^r_r�r��backupsr�recovernoder��backupr�r�r��exr�r�r��checkoutr]r��	cleanupfnrrqrx�
backupdater�rs ` `                     @rf�debugbackupbundlerDsv���2���G�G�N�N�D�I�I�d�h�h�m�m�O�&D�x�&O�P�	
��G�
�L�L�2�D�L�A��D��N��D��M����� 4� 4�T� :�;�E�
%��(�(�9�%�K�����t�[�1�1��G�G�A�8�9�K�G�H��2�
��
@�
��	�	�	�#�.�	�/�
�	�	�!�3�4�5�������������):�;���/�/� ���
��
	��G�G�D�(�"6�"6�t�"<�d�C�E��K�K����(�B�!7�8���)�)��%�4�8�8�E�?�
���h��15�6��#�E�L�L��%��D�6�
�Y�Y�[�
�+5�+F�+F���e�4��>�4��=�,�(��v�y��(	���L
�K�K��Y�Y�[�$�"2�"2�;�"?�2��*�*�5�>�>��	�	�!�$6�"7�;�"G�H��K�K��H�H�5��&�1�1�"�a����B��%�c�7�+=�+=�>�>�#�/�/� $� #� "�'2�$.����$9�� �I�I�d�K��d�h�h�9N�O��#@�[�H
�K�G?�#@�[�[�"&�0�0��M�M�,����r�w�w�'7�'7����'A�B���
��	�	�)�z�'7�'7��';�<�=��:�:��I�I�i�:�+;�+;�B�+?����*J�J�K�U��"��'�9�9��x�3�3�D�9�5��	���v�y�1����!��K�O��� � �	��:�;�d�h�h�F�C��3�4�u�R�W�W�~�E�D��G�G�C�G�#���		��7���$�$�
��
�[�

���[��#@�"?��[�[��H
�K�s��,S�U�=U,�?$U�-V!�?V!�V�)C!U>�
V�V!�$V�,DV!�U�,AT;�;U�U)�U,�(U)�)U,�,
U;	�>
V
�V�
V	�V!�!	V*sdebugsubsrevision to checks[-r REV] [REV]c��[R"XS5n[URR	55HGupEURSU-5 URSUS-5 URSUS-5 MI g)Nspath %s
s
 source   %s
rs
 revision %s
r)r1r@r�r�r1r�)r^r_r]rKrr8s      rf�debugsubr�sq���
�
�D�t�
,�C��s�|�|�)�)�+�,���
���|�a�'�(�
���(�1�Q�4�/�0�
���(�1�Q�4�/�0�-rhs
debugshellr(�commandsprogram passed in as a stringsCOMMANDs[-c COMMAND]c��SSKnUUS.n[[SS5S:Xa5SSKnUR	5 UR5 UR
5 URS5nU(aDUR[R"U55nURUS9RU5 gURUS9 g![a SnNzf=f)	z�run an interactive Python interpreter

The local namespace is provided with a reference to the ui and
the repo instance (if available).
rN)r^r_�frozen�console_exe�command)�locals)r�)�coder�r��site�setcopyright�	sethelper�setquitr@r�compile_commandr�strfromlocal�InteractiveInterpreter�runcode�interact)r^r_r�r �imported_objectsr!r�compileds        rf�
debugshellr,�s���(������s�H�d�#�}�4�	�������N�N���L�L�N��h�h�y�!�G���'�'��(=�(=�g�(F�G���#�#�+;�#�<�D�D�X�N���M�M�(�M�)���	��D�	�s�4C�C�C�debug-revlog-statsr�sDisplay changelog statisticsr�sDisplay manifest statisticssfilelogssDisplay filelogs statisticsc��USnUSnUSnUcUc	UcSnSnSnUR5nURS[R"U55n[R
"XX4U5 UR
5 g)z-display statistics about revlogs in the storerZr �filelogsNTr-)rMrr)r�r��debug_revlog_statsr�)r^r_r�rZr r/r�s       rfr0r0s����[�!�I��J��H��J��H���X�-�(�2B��	������?�?��D�	���+�X�-A�-A�$�-G�	H�B��#�#�D�i�8�L��F�F�Hrhsdebugsuccessorssetssclosests#return closest successors sets onlys[REV]c���0n[n[n[R"X5H�nXnUR	SU"U5-5 [
R"XR5USUS9Hzn	U	(a_UR	S5 UR	U"U	S55 U	SSH+n
UR	S5 UR	U"U
55 M- UR	S	5 M| M� g)
a%show set of successors for revision

A successors set of changeset A is a consistent group of revisions that
succeed A. It contains non-obsolete changesets only unless closests
successors set is set.

In most cases a changeset A has a single successors set containing a single
successor (changeset A replaced by A').

A changeset that is made obsolete with no successors are called "pruned".
Such changesets have no successors sets at all.

A changeset that has been "split" will have a successors set containing
more than one successor.

A changeset that has been rewritten in multiple different ways is called
"divergent". Such changesets have multiple successor sets (each of which
may also be split, i.e. have multiple successors).

Results are displayed as follows::

    <rev1>
        <successors-1A>
    <rev2>
        <successors-2A>
        <successors-2B1> <successors-2B2> <successors-2B3>

Here rev2 has two possible (i.e. divergent) successors sets. The first
holds one element, whereas the second holds three (i.e. the changeset has
been split).
r'�closest)r2r�s    rrNr�r�)r�r	rrAr\r$�successorssetsr�)r^r_r�r�r��ctx2str�node2strr]rK�succssetr�s           rf�debugsuccessorssetsr7*s���L
�E��G��H��"�"�4�.���i��
����7�3�<�'�(��.�.��(�(�*�d�9�o�U�
�H������!�����(�1�+�.�/�$�Q�R�L�D��H�H�T�N��H�H�X�d�^�,�)�
�H�H�U�O�
�/rhsdebugtagscachec�p�[R"UR55nURS5nUH{nXR	5nURUSS9nU(a'[
U5nURU5(dUS-
nOUcSnOSnURSU[
U5U4-5 M} g)	z/display the contents of .hg/cache/hgtagsfnodes1s.hgtagsF)�computemissings (unknown node)Nr&sinvalids	%d %s %s
)	�tagsmod�hgtagsfnodescacherMr�r��getfnoder�hasnoder\)r^r_r��flogrdr��tagsnode�tagsnodedisplays        rf�debugtagscacherAbs���
�%�%�d�o�o�&7�8�E��9�9�Z� �D�
���w�|�|�~���>�>�$�u�>�=���!�(�m�O��<�<��)�)��#5�5���
�
�(�O�(�O�
����!�S��Y��!@�@�A�rhs
debugtemplatesapply template on changesets�Dsdefinesdefine template keywords	KEY=VALUEs&[-r REV]... [-D KEY=VALUE]... TEMPLATEc��SnUS(a;Uc[R"[S55e[R"XS5n0nUSH6nSURSS55upxU(aUS:Xa[eX�U'M8 UR(a�URS
5n	[R"U5n
UR[R"U
5S5 [R"X�5nX�:wa'URS[R"U5S5 Uc�[ R""X5n[ R$"XUS
9n
UR(ajU
R'5up�UR)SSR+[-U55-5 UR)SSR+[-U55-5 UR/U
R1U55 g[R$"XU5nUR(atUR2R'5up�UR)SSR+[-U55-5 UR)SSR+[-U55-5 UH-nUR4"UU40[6R8"U5D6 M/ UR;5 g![a# [R"[S	5U-5ef=f)z�parse and apply a template

If -r/--rev is given, the template is processed as a log template and
applied to the given changesets. Otherwise, it is processed as a generic
template.

Use --verbose to print the parsed tree.
Nr]rT�definec3�@# �UHoR5v� M g7fr�)r7r�s  rfr�� debugtemplate.<locals>.<genexpr>�s���8�'7�!�G�G�I�I�'7�r/rcrrLs malformed keyword definition: %ss
templatealiasr�s* expanded:
)�	resourcess* keywords: %s
rs* functions: %s
)r�	RepoErrorrrrAr�r�rYr_rqr9r��noter�r�r�r�templateresourcesr��symbolsuseddefaultr�rpr�r\�
renderdefaultrfr�r)r^r2)r^r_�tmplr�r��propsr�rr8r�r��newtree�tresrf�kwds�funcsr�rds                  rf�
debugtemplaterSvs\��$�D��E�{��<��/�/��J�K��
��"�"�4�e��5���E�
�(�^��	J�8�q�w�w�t�Q�'7�8�D�A���U�
� � ��!�H��
�z�z��.�.�!1�2�����t�$��
���	�&�&�t�,�e�4��)�)�$�8���?��M�M� �)�"8�"8��"A�5�
��|��*�*�2�4���#�#�B��=��
�:�:��.�.�0�K�D��N�N�.����F�4�L�1I�I�J��N�N�/�%�*�*�V�E�]�2K�K�L�
�������'�(��,�,�R�t�<�	�
�:�:�#�+�+�8�8�:�K�D��N�N�.����F�4�L�1I�I�J��N�N�/�%�*�*�V�E�]�2K�K�L��A��N�N�4��7�@�h�&8�&8��&?�@�������;�	J��+�+�a� C�D�q�H�I�I�	J�s�2K�-Lsdebuguigetpassspromptsprompt textsTEXTs	[-p TEXT]c�X�URU5nUcSnURSU-5 g)zshow prompt to type passwordNs<default response>�
response: %s
)�getpassr��r^r�rds   rf�debuguigetpassrX�s.��	�
�
�6��A��y�!���N�N�$�q�(�)rhs
debuguipromptc�N�URU5nURSU-5 g)zshow plain promptrUN)r�r�rWs   rf�
debuguipromptrZ�s$��	�	�	�&��A��N�N�$�q�(�)rhsdebugupdatecachesc���UR5 UR5 UR[RS9 SSS5 SSS5 g!,(df   N=f!,(df   g=f)z'warm all known caches in the repository)�cachesN)r�r�updatecachesrB�
CACHES_ALL)r^r_r�r�s    rf�debugupdatecachesr_�s?��
����t�y�y�{�����!6�!6��7�#���{�{����s"�A"�A�A"�
A	�A"�"
A0sdebugupgradereposextra optimization to performsrunsperforms an upgradesbackups&keep the old repository content arounds select the changelog for upgradesselect the manifest for upgradesselect all filelogs for upgradec�J�[R"X4U[U5US.UD6$)a�upgrade a repository to use different features

If no arguments are specified, the repository is evaluated for upgrade
and a list of problems and potential optimizations is printed.

With ``--run``, a repository upgrade is performed. Behavior of the upgrade
can be influenced via additional arguments. More details will be provided
by the command output when run without ``--run``.

During the upgrade, the repository will be locked and no writes will be
allowed.

At the end of the upgrade, the repository may not be readable while new
repository data is swapped in. This window will be as long as it takes to
rename some directories inside the ``.hg`` directory. On most machines, this
should complete almost instantaneously and the chances of a consumer being
unable to access the repository should be low.

By default, all revlogs will be upgraded. You can restrict this using flags
such as `--manifest`:

  * `--manifest`: only optimize the manifest
  * `--no-manifest`: optimize all revlog but the manifest
  * `--changelog`: optimize the changelog only
  * `--no-changelog --no-manifest`: optimize filelogs only
  * `--filelogs`: optimize the filelogs only
  * `--no-changelog --no-manifest --no-filelogs`: skip all revlog optimizations
)�runr�r)r;�upgraderepor3)r^r_rar�rr�s      rf�debugupgradereporc�s3��\���
���C��M�&��DH��rhsdebug::unbundlesFILE...)�helpcategoryc�>�U4U-n[R"XU5 g)z~same as `hg unbundle`, but pretent to come from a push

This is useful to debug behavior and performance change in this case.
N)r
�unbundle_files)r^r_�fname1�fnamess    rf�
debugunbundleris ���Y��
�F����2�V�,rhs	debugwalks[OPTION]... [FILE]...c��[R"USU[R"U55nUR(a'URS[R"U5S5 [USRU55nU(dgSnURSS5(a[RS:waSnS	[UVs/sHn[U5PM sn5[UVs/sHn[URU55PM sn54-nUHcnUUU"URU55URU5=(a S
=(d S4-n	UR!SU	R#5-5 Me gs snfs snf)
z&show how files match on given patternsNr�r�c��U$r�r�r�s rfrf�debugwalk.<locals>.<lambda>)s��2rhrLsslashr'c�.�[R"U5$r�)r=rrls rfrfrm+s
��t�}�}�R�(rhsf  %%-%ds  %%-%ds  %%ssexactrhr')r1rr)r�r_r�rHr�r�r�r�r*r}rUr:�exactr\�rstrip)
r^r_r�r�rr1rqrir$r�s
          rf�	debugwalkrqs>��
	�
�
�d�4�j�$��(<�(<�T�(B�C�A�	�z�z�
����
�(=�(=�a�(@�%�H���d�����#�$�E����A�	�}�}�U�H�%�%�(�.�.�D�*@�(��
#���'��#�S��X��'�(��e�4�e�s�S����S�!�
"�e�4�5�'��C�����
�d�k�k�#���
�G�G�C�L�%�X�,��
�
��
	����4�;�;�=�(�)�
��
(��4s�F
�,$F	sdebugwhyunstablec	��[R"U[R"X55HYnSnUR	S5(aSRSUS55S-nUR
SUSXCSUS4-5 M[ g	)
z$explain instabilities of a changesetrhsdivergentnodesr�c3�h# �UH(nSUR5UR54-v� M* g7f)s%s (%s)N)r�phasestr)r�rKs  rfr��#debugwhyunstable.<locals>.<genexpr>@s-����7���#�'�'�)�S�\�\�^�!<�<�7�s�02s%s: %s%s %s
sinstabilitysreasonsnodeN)r$�whyunstabler1r@rrpr\)r^r_r]r��dnodess     rf�debugwhyunstablerx9s����$�$�T�7�+<�+<�T�+G�H�����9�9�&�'�'��	�	��$�%6�7����	�
�	�����^�$�f�I�.>��g��O�
P�	
�Irhs
debugwireargs))rh�threerhry)rh�fourrhrz)rh�fiverhr{sREPO [OPTIONS]... [ONE [TWO]]c��[R"U[R"U5U5n[R
HnU[R"US5	M 0nUR5HupxU(dMX�U'M UR"U0UD6n	UR"U0UD6n
URSU	-5 X�:waURSU
-5 UR5 g!UR5 f=f)Nrr')rr.r)r�r
�
remoteoptsr6r1�
debugwireargsr\r�r2)r^r��valsr�r_�optr`rr8�res1�res2s           rfr~r~Ls����7�7�2�x�+�+�D�1�8�<�D���%�%�C��X�_�_�S��V�,�-�&����J�J�L�D�A��q��Q��!�
�!�!�4�0�4�0���!�!�4�0�4�0��
����4�� ��<��G�G�G�d�N�#��
�
����
�
��s�A
C)�?AC)�)C;c#�# �Sn/nSnUH�nUR5nU(dMURS5(aM4URS5(dU(aX4v� Un/nSnM^U(d[R"[	S55e[U5[UR
55-
nXS:�a$U(aUS==UR
5-
ss'M�URU5 UnM� U(aX4v� gg7f)Nr�#r�sindented line outside of blockr�)rpr�rrYrrU�lstripr�)r|�activeaction�
blocklines�
lastindentr�r�s      rf�_parsewirelangblocksr�ks�����L��J��J����{�{�}�����?�?�4� � �����t�$�$��"�.�.��L��J��J����+�+�a� A�B�C�C��T��S�����/�/����:��r�N�d�k�k�m�+�N����d�#��J�=�B��&�&��s�DDsdebugwireprotoslocalsshs!start an SSH server for this repospeers(construct a specific version of the peersnoreadstderrs%do not read from stderr of the remotesnologhandshakes,do not log I/O related to the peer handshakec��^+�US(a&U(d[R"[S55eUS(a0USS;a'[R"[S5[S5S9eU(a)US(a[R"[S55eUR5(aUR	[S	55 [[
UR55nS
nS
nS
nS
nS
n	US(Ga�[R"5SURSS
/-n
[R"[R"[RU
5[R [R [R SS9nUR"nUR$nUR&nUR((d	USS:Xa`[*R,"XR"SSS9n[*R,"XR$SSS9n[*R,"XR&SSS9nSnUS(+nUSS:Xa7UR	[S55 [.R0"UUUUUUS
US9n
GO�USS:XaUR	[S55 S
n
GO�UR	[S55 [.R2"UUUUUUUS9n
GOkU(GaD[4R6"U5nUR8S;a[R"[S55eUR;5up�SS 0nUR((aUR=US!SS"S#.S$.5 UR>(aSUS%S&'USS:XaS"US''[@RB"X40UD6n	USS:XaUR	[S55 S
n
O{US(a%[R"[S(5US-5e[4RD"X5n[FR2"UUU	S)9n
O[R"[S*55eS
nUGHiunnUS+;aU(d[R"[S,55eS-RIS.U55n[JRL"U5nUR	U5 US/:XaURO5 M�M�US0:Xa8U(d[R"[S155eURO5 M�URQS25(Ga!U
(d[R"[S355eURSS4S55S5n0n
UH�nURU5RSS4S55n[WU5S5:XaUSnS-nOUunnURQS65(a[JRX"US7S
5nO[JRL"U5nUU
U'M� UbUR[UU
45 GM�UR][S85U-5 S9U
;a�[_U
S9S:5nU
S9	U
R`"UU40[Rb"U
5D6unnUR][S;5[JRd"U5-5 UR][S<5[JRd"U5-5 S
S
S
5 GM�U
Rg5nURiUU
5Rk5nS
S
S
5 UR][S=5[JRl"WSS>S?9-5 GMUS@:Xa'Ub[R"[SA55e/nGM/USB:Xa�UR][SC5[WU5-5 U
ce[oU
RqU55H9unn UR][SD5U[JRd"U 54-5 M; S
nGM�URQSE5(Ga�U	(d[R"[SF55eURSS4S>5n![WU!5SG:wa[R"[SH55eU!S5S
um+n"0n#S
n$/n%UGH,nURU5n[rRt"SIU5n&U&(aQ[Rv"U&RyS555n[Rv"U&RyS>55nUU#U'M�URQSJ5(a([*Rz"URSS4S555n$M�URQSK5(a6[|R~"U[WSK5S
5n'U%R[U'5 GM
[R"[SL5U-5e UU"-nU%(aS-RISMU%55n$[@R�R�[Rv"U5U$U#5n(U+4SNjU(lBU	R_U(5nUR�5n$UR�R�SQ5n)U)SR:XaHUR	[SS5[JRl"[�R�"U$5SS>S?9-5 GMiGMlUST:XaU
ceU
R�5 GM�USU:Xa`U(aU(d[R"[SV55eUR�5 UR�5 UR�5 GM�USW:Xa9U(d[R"[SX55eUR�5 GM/USY:Xa9U(d[R"[SZ55eUR�5 GMnURQS[5(aX[�URSS4S55S55n*U(d[R"[S\55eUR�U*5 GM�URQS]5(aX[�URSS4S55S55n*U(d[R"[S^55eUR�U*5 GMJ[R"[S_5U-5e Ub[R"[S`55eU
(aU
R�5 U(aUR�5 g
g
!,(df   GM�=f!,(df   GN=f![*R�R�an[�USOSP5"5 S
nAG	MS
nAff=f)aa�send wire protocol commands to a server

This command can be used to issue wire protocol commands to remote
peers and to debug the raw data being exchanged.

``--localssh`` will start an SSH server against the current repository
and connect to that. By default, the connection will perform a handshake
and establish an appropriate peer instance.

``--peer`` can be used to bypass the handshake protocol and construct a
peer instance using the specified class type. Valid values are ``raw``,
``ssh1``. ``raw`` instances only allow sending raw data payloads and
don't support higher-level command actions.

``--noreadstderr`` can be used to disable automatic reading from stderr
of the peer (for SSH connections only). Disabling automatic reading of
stderr is useful for making output more deterministic.

Commands are issued via a mini language which is specified via stdin.
The language consists of individual actions to perform. An action is
defined by a block. A block is defined as a line with no leading
space followed by 0 or more lines with leading space. Blocks are
effectively a high-level command with additional metadata.

Lines beginning with ``#`` are ignored.

The following sections denote available actions.

raw
---

Send raw data to the server.

The block payload contains the raw data to send as one atomic send
operation. The data may not actually be delivered in a single system
call: it depends on the abilities of the transport being used.

Each line in the block is de-indented and concatenated. Then, that
value is evaluated as a Python b'' literal. This allows the use of
backslash escaping, etc.

raw+
----

Behaves like ``raw`` except flushes output afterwards.

command <X>
-----------

Send a request to run a named command, whose name follows the ``command``
string.

Arguments to the command are defined as lines in this block. The format of
each line is ``<key> <value>``. e.g.::

   command listkeys
       namespace bookmarks

If the value begins with ``eval:``, it will be interpreted as a Python
literal expression. Otherwise values are interpreted as Python b'' literals.
This allows sending complex types and encoding special byte sequences via
backslash escaping.

The following arguments have special meaning:

``PUSHFILE``
    When defined, the *push* mechanism of the peer will be used instead
    of the static request-response mechanism and the content of the
    file specified in the value of this argument will be sent as the
    command payload.

    This can be used to submit a local bundle file to the remote.

batchbegin
----------

Instruct the peer to begin a batched send.

All ``command`` blocks are queued for execution until the next
``batchsubmit`` block.

batchsubmit
-----------

Submit previously queued ``command`` blocks as a batch request.

This action MUST be paired with a ``batchbegin`` action.

httprequest <method> <path>
---------------------------

(HTTP peer only)

Send an HTTP request to the peer.

The HTTP request line follows the ``httprequest`` action. e.g. ``GET /foo``.

Arguments of the form ``<key>: <value>`` are interpreted as HTTP request
headers to add to the request. e.g. ``Accept: foo``.

The following arguments are special:

``BODYFILE``
    The content of the file defined as the value to this argument will be
    transferred verbatim as the HTTP request body.

``frame <type> <flags> <payload>``
    Send a unified protocol frame as part of the request body.

    All frames will be collected and sent as the body to the HTTP
    request.

close
-----

Close the connection to the server.

flush
-----

Flush data written to the server.

readavailable
-------------

Close the write end of the connection and read all available data from
the server.

If the connection to the server encompasses multiple pipes, we poll both
pipes and read available data.

readline
--------

Read a line of output from the server. If there are multiple output
pipes, reads only the main pipe.

ereadline
---------

Like ``readline``, but read from the stderr pipe, if available.

read <X>
--------

``read()`` N bytes from the server's main output pipe.

eread <X>
---------

``read()`` N bytes from the server's stderr pipe, if available.

Specifying Unified Frame-Based Protocol Frames
----------------------------------------------

It is possible to emit a *Unified Frame-Based Protocol* by using special
syntax.

A frame is composed as a type, flags, and payload. These can be parsed
from a string of the form:

   <request-id> <stream-id> <stream-flags> <type> <flags> <payload>

``request-id`` and ``stream-id`` are integers defining the request and
stream identifiers.

``type`` can be an integer value for the frame type or the string name
of the type. The strings are defined in ``wireprotoframing.py``. e.g.
``command-name``.

``stream-flags`` and ``flags`` are a ``|`` delimited list of flag
components. Each component (and there can be just one) can be an integer
or a flag name for stream flags or frame flags, respectively. Values are
resolved to integers and then bitwise OR'd together.

``payload`` represents the raw frame payload. If it begins with
``cbor:``, the following string is evaluated as Python code and the
resulting object is fed into a CBOR encoder. Otherwise it is interpreted
as a Python byte string literal.
�localsshs --localssh requires a repositoryr.)�raw�ssh1sinvalid value for --peers!valid values are "raw" and "ssh1"r�s/cannot specify --localssh with an explicit paths (waiting for commands on stdin)
Ns-Rr�s
--sshstdior)�stdin�stdout�stderr�bufsizer��iT)�logdatar|r�sssh://localserver�noreadstderrr�s.creating ssh peer for wire protocol version 1
)�autoreadstderrsusing raw connection to peer
s)creating ssh peer from handshake results
)shttpr�s7only http:// and https:// paths are currently supported�	useragentsMercurial debugwireprotor�F)r��logdataapis)�	loggingfh�loggingname�loggingoptsr�r��
sendaccepts'--peer %s not supported with HTTP peers)�openers$unsupported connection configuration)r��raw+s!cannot call raw/raw+ on this peerrhc3�@# �UHoR5v� M g7fr�)r�)r�r�s  rfr��!debugwireproto.<locals>.<genexpr>�s���6��1�H�H�J�J��r/r�sflushscannot call flush on this peerrs6cannot send commands unless peer instance is availabler�rseval:r�ssending %s command
sPUSHFILE�rbsresult: %s
sremote output: %s
rUrS)�bprefixr�s
batchbeginsnested batchbegin not allowedsbatchsubmits#sending batch with %d sub-commands
sresponse #%d: %s
shttprequest s+cannot use httprequest without an HTTP peerrPsDinvalid httprequest: expected format is "httprequest <method> <path>s^([a-zA-Z0-9_-]+): (.*)$s	BODYFILE sframe s#unknown argument to httprequest: %sc3�8# �UHn[U5v� M g7fr�)r�)r�rqs  rfr�r�|s���9�&�Q��a���&�ryc�0>�[R"T5$r�)r)r6)r�s�rfrf� debugwireproto.<locals>.<lambda>�s���X�_�_�V�%<rhr�c��gr�rrrhrfrfr��s��4rhzContent-Typezapplication/mercurial-cbors	cbor> %s
scloses
readavailables(readavailable not available on this peersreadlines#readline not available on this peers	ereadlines$ereadline not available on this peersread sread not available on this peerseread s eread not available on this peersunknown action: %ssunclosed "batchbegin" request)OrrYrr�r\r�r�r�rG�hgcmdr)�
subprocess�Popenr)�rapply�tonativestr�PIPEr�r�r�r_r=�makeloggingfileobjectr4�	sshv1peer�
_make_peerrIr<r��authinfor�rryr��try_pathrrprH�unescapestr�flushr�r�r�rU�evalpythonliteralr�r�rk�	_callpushr^r\rXrYrZr[r
�_submitbatch�rer�strurl�group�readfiler@�makeframefromhumanstring�urlreq�request�
get_methodr��urlerr�urlerrorr��headersrrD�	decodeallr2�readliner��kill),r^r_r�r��blocks�procr�r�r�r�r`r<r�r.�ur��
openerargs�	peer_path�batchedcommandsrNr�r�rr��fieldsr6r�r|�resr{r|r��chunkr��httppathr��body�framesr�frame�req�ctrr�s,                                           @rf�debugwireprotor��sH���V�J����k�k�!�?�@�A�A��F�|��V��-���k�k�
�)�*��7�8�
�	
�
��Z� ��k�k�!�N�O�P�P�	�~�~���
����7�8�9�
�&�r�v�v�.�
/�F��D��E�
�F�
�F�
�F��J����~�~����I�I���	#
�
������O�O�H�0�0�$�7��/�/��?�?��?�?��
���
�
�����������:�:��f���/��.�.��J�J��d��E��/�/��K�K��t��F��/�/��K�K��t��F�#��!�.�1�1����<�7�"��H�H�Q�I�J�K��$�$��������-�	�D��&�\�V�
#��H�H�Q�8�9�:��D��H�H�Q�D�E�F��%�%�������-��D�
�
�K�K�����8�8�.�.��+�+��L�M��
��
�
��
���4�
�
�
�:�:����!#�#'�#'�',�$��	
��<�<�7;�J�}�%�m�4�
��<�6�!�',�J�|�$����r�:�z�:����<�6�!��H�H�Q�8�9�:��D�
�&�\��+�+��<�=��V��L��
� �(�(��2�I��&�&�r�9�V�D�D��k�k�!�C�D�E�E��O� �
����&�&���k�k�!�$H�"I�J�J��8�8�6��6�6�D��)�)�$�/�D��K�K����� ����
�!�
�x�
���k�k�!�$E�"F�G�G��K�K�M�
�
�
�z�
*�
*���k�k��(�����l�l�4��+�A�.�G��D�������,�,�T�1�5���v�;�!�#� ��)�C��E�!'�J�C���#�#�H�-�-�&�8�8��q�r��C�E�&�2�2�5�9�E�!��S�	�� �*��&�&����7���I�I�a�/�0�7�:�;��d�"��$�{�+�T�2�b��[�)�"&�.�.���#�'/�'9�'9�$�'?�#�K�C���I�I�a��0�:�3G�3G��3L�L�M��I�I��0�1�J�4H�4H��4P�P��
3�2��)�)�+�q��-�-���6�=�=�?�C�,��	�	��'�(� �'�'��T�!�D�E��
�}�
$��*��k�k�!�$D�"E�F�F� �O�
�~�
%�
�I�I��9�:��o�&�'�
��#�#�#�%�d�&7�&7��&H�I���5��	�	��+�,��:�3G�3G��3N�/O�O��J�
#�O�
�
�
��
/�
/���k�k��D�E����l�l�4��+�G��7�|�q� ��k�k��8���� '�q�r�{��F�H��G��D��F����{�{�}���H�H�8�$�?���"�/�/�!�'�'�!�*�5�C�$�O�O�A�G�G�A�J�7�E�#(�G�C�L���?�?�<�0�0��=�=����D�!�)<�=�D��_�_�Y�/�/�,�E�E��S��^�-�.��E��M�M�%�(��+�+��@�A�D�H���'�.��/�C���x�x�9�&�9�9���-�-�'�'�����(<�d�G�L�C�
=�C�N�
��k�k�#�&���x�x�z��������0�B��1�1�����m�$� �'�'� �*�*�4�0�$�q����2��x�
��#�#�#��J�J�L�
�'�
'����k�k��A�B���
�K�K�M��K�K�M��K�K�M�
�{�
"���k�k�!�$J�"K�L�L��O�O��
�|�
#���k�k�!�$K�"L�M�M��O�O��
�
�
�x�
(�
(�����T�1�-�a�0�1�E���k�k�!�$F�"G�H�H��K�K���
�
�
�y�
)�
)�����T�1�-�a�0�1�E���k�k�!�$G�"H�I�I��K�K����+�+�a� 5�6��?�@�@�C �F�"��k�k�!�<�=�>�>���
�
����	�	���m3�2��,�+��l�;�;�'�'�
���6�<�0�2���
�s1�8Bs?�$!t�!t$�?
t	�
t!	�$u!�u�u!)NFFFF)Nr)rr�)NN)Nr�)r�)r)r)rh)FNT)��
__future__rr�r5rrWr�r�r	r�r9r<rNr�r�r�r~r�r�rm�i18nrr�rrrr	r�r
rrr
rrrrrrrrrrrrrrrrr�lockmodrr r!r�r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r:r9r:r;r<ryr=r>r?rVr@rA�
interfacesrB�stabletailgraphrC�utilsrDrErFrGrHrI�revlogutilsrJr�rKrLrMr|�tabler�r�_tablergrrryr�r�rr
rr#r+r9rRrXr`r^r]r�r��debugrevlogoptsr�r��
formatteroptsr�r�rrr}rvrzr~r�r��
dryrunoptsr�r�r�r�rrrrr3rkrnr�r��templateoptsr�rmr��commitopts2rrr#r>�walkoptsrDrI�
mergetooloptsrVrarqr~r�r�r�r�r�r�r�r�r�r�r�r��logoptsrrr,r0r7rArSrXrZr_rc�CATEGORY_IMPORT_EXPORTrirqrxr~r�r�rrhrf�<module>r�s	��#��
�������	��
�	�
�
���
�����9�9�9�9�9�9�9�9�9�9�9�9�9�9�9�t#�+������/�/��
�����U�]�]�
!�
!�"�
�
�
�E�
"��	�	�2�q�!5�6�T�J�.�K�.�(	�	!�2�&�
<�'�
<� 	�	'��W�5��6��	��
���
�2�3�		
�
���
�3�4�		
�
�{�D�!�$?�"@�A����
�5�6�		
��*���/�8
���
��f9�3�2f9�R&=�R�.I�)�5�4	��	
�v�t�Q�2�3�4�	�l�B��"B� C�D�	�g�t�Q�D�E�F��
�g�J��	�4�	�4�	�	�r�1�W�:�d�;��<��&	��	
����$&��$&�N	�	�R��%�"�&�"�	��	�8�T�1�:�;�<�=���
&��
&�3�$�	�	(�"�g�6�Q�7�Q�4	��	
�w��a� 5�6�7�	
�{�D�!�$A�"B�C�	�g�t�Q�3�4�5�	
�y�$��"@� A�B�	��$�%��
�9�
�9�x	��w�.�.��2C�0D�E�F�F�F�&	��
�K��q�!=�>�?�@�������
1��
1�	��
���
�=�>�		
�
���
�B�C�		
�
���
�:�;�		
�
���
�<�=�		
�
���
�:�;�		
�3�@���A �B���C!�D�m���K&�N}
�O&�N}
�@	�����
����
���
�M�N�		
��	������*F��*F�Z	��
���
�<�=�		
�

�h��a� :�;�<�	�k�4��#9�!:�;����
�;�<�		
�
���
�J�K�		
��,�n��1�4<H�5�4<H�~	�&���c�F��
7��
7�	��	�f�d�A�8�9�:����
�@�A�		
�

�f�b�C�D�N�	
�	
�!�.���/�0���1�2���7�:z
�;�:z
�z�
�	��	
�y�#�q��z�*�������"	�	�W�2�2�B�T�J�:
�K�:
�z	��
���
�4�5�
�f�I�	
�
���
�D�E�		
�
���
�9�:�		
�
���
�5�6�
�g�J�	
�)�8�4�5�=�@>�A�@>�B	��
���
�B�C�
�g�J�	
�
���
�<�=�
�g�J�	
�
���
�D�E�		
��,���-��4-�5�4-�`	����	�	����
O
��
O
�d	���Q�y�\�$�7�<�8�<�.	��	
�w��A�0�1�1�U�8�<�	
�y�"�a� 4�5�q��x�@����
�/�0�
�g�J�	
�
�� �!��� <�!� <�>	���\�*�.B�+�.B�b	�$����g�3�3�3��m���
��
�$	������m���	��
��	�	�R� �'�!�'�	��"�w�4�4�4�c�$�G�f�H�f�R		���A�m�,�T�:�
H�;�
H�	�	��A�k�N�3�'�4�'�
	��	
�!�4��+M�)N�O����
�8�9�		
�
�{�D�!�$G�"H�I����
�9�:�		
�� �n��%�(l�)�(l�^	�!�	�h��q�!3�4�5����
�:�;�
�g�J�	
�	��
�:
�
�:
�z	�	�R�'�"6�"6�6��<�h
�=�h
�V	�	�r�1�Z�=�1��2��.	���������F�G�	
��,��q�)G�'H�I�����B�C�	
�����B�C�	
�
�	
�.�m��5�8(@�9�8(@�V	��	�h��1�_�-�.����
�<�=�		
�
�v�r�1�?�@�A����
�A�B�		
�

�h��q�!?�@�A�	�i��Q�E�F�G�!�$���%�&���'�(�&�'�-�0z�1�0z�z	��
�F�C��/�0�!�F�)�<�=��k�N��
-��
-�	��
�F�C��/�0�!�F�)�<�=��k�N��
-��
-�	��	
�w��a� :�;�<�	
�y�$��";� <�=�	
�x��q�!9�:�;�	
�z�4��#=�!>�?�	��n��	�9�	�9�x	�����*��	�-�
�-�	��r�1�W�:�d�3��4��0	��	
�v�s�A�A�B�A�f�I�N�	�o�t�Q�'K�%L�M�����	�
�����o���
�G2�
�G2�T	��"�a� ?�@��N�!�O�!�H	��r�1�V�9�%��&��6	�-�	
�v�s�A�7�8�!�F�)�D����
�+�
�		
���k�N�� "G�!� "G�J	��
���
�;�<�		
����;��;�
	��
�F�C��/�0�!�F�)�<�=�����
3��
3�	�	+�R��5��6��	������g�u�a�8J�6K�L�M�M��m���	�

�
�

�	������i��A�.�/��9��>�?�@��� ���j��j�Z	��
���
�@�A�		
�
���
�9�:�		
�
���
�<�=�		
�
���
�5�6�
�g�J�	
�

�o�u�a�(M�&N�O�	�!�5�!�,F�*G�H�7�:�? �B`�C �B`�F	��
���
�;�<�		
�

�j�#�q�!H�I�J�	�l�C��#?�!@�A�	��
��
��D	�	�R��>�!2�3�&�4�&�8	�	�7�2�2�A�6G�4H�I�E�J�E�<	��b�+�D�9�C�:�C�L	��
���
�&�'�
�k�N�	
����+��+�	�$�
���
�&�'�
�k�N�	
�
�{�E�1�%B�#C�D�	��
�
�
�
� 	��	
���o�o���.�/��|��|�~	��
�F�C��/�0�!�F�)�<�=�����
1��
1�	��
���
�.�/�
�j�M�	
���o���
�"*�
�"*�J	��	
�|�T�1�%D�#E�F�	
�{�D�!�$B�"C�D�	
�{�D�!�$B�"C�D��
�����
��
�"	��	�:�u�a� F�G�H�I��h�K��
0��
0�f	�	�B��B� �B�&	��	
�v�r�1�<�=�q��y�I�	
�y�"�a� :�;�Q�|�_�M���/�0���5��5�p	��	
�y�#�q��0�!�G�*�=���l�O��
�*��*�	��	
�y�#�q��0�!�G�*�=���l�O��
�*��*�	�	�r�"�8�#�8�	��
���
�.�/�
�g�J�	
�

�f�e�Q�5�6�7�	�i��q�!J�K�L�	�l�D�!�$G�"H�I�	�k�4��#E�!F�G�	�k�4��#E�!F�G�
��"�#�"�D	����j�M��/�/�	�-�
�-�	��'�"�"�A�&>�$?�4��*��*�0	�	�b�!�F�)�,�
�-�
�$	���
�����&�'��
��
��(''�T	��	�k�5�!�$H�"I�J�	�g�s�A�I�J�K����
�6�7�		
�
���
�=�>�		
�� ���!�"�i�L��)�,T�-�,Trh

Youez - 2016 - github.com/yon3zu
LinuXploit