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__/logcmdutil.cpython-313.pyc
�

6�h���
��SSKJr SSKrSSKrSSKrSSKrSSKJrJrJrJ	r	J
r
Jr SSKJ
r
 SSKJr SSKJr SSKJr \R((aSSKrSS	KJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r' SS
K(J)r)J*r* Sr+S:Sjr,S;S
jr-"SS5r.Sr/"SS5r0"SS\05r1"SS\05r2S<Sjr3S<Sjr4S=Sjr5S>Sjr6\Rn"SS55r8S?Sjr9Sr:Sr;S r<S@S!jr=S"r>SAS#jr?S$S%S&S'S(S)S*S+S,S-.	r@S.rAS/rBSBS0jrCSCS1jrDS2rES3rFS4rGSDS5jrHS6rIS7rJS8rKS9rLg)E�)�annotationsN)�Any�Callable�Dict�Optional�Sequence�Tuple�)�_)�MatcherT)�wdirrev)�attr)�dagop�diffutil�error�	formatter�graphmod�match�mdiff�patch�pathutil�pycompat�revset�
revsetlang�scmutil�smartset�
templatekw�	templater�util)�dateutil�
stringutilc��URS5nU(a4[U5nUS::a[R"[S55eU$SnU$![a  [R"[S55ef=f)z0get the log limit according to option -l/--limitslimits limit must be a positive integerrslimit must be positiveN)�get�int�
ValueErrorr�
InputErrorr)�opts�limits  �6/usr/lib/python3/dist-packages/mercurial/logcmdutil.py�getlimitr*>s����H�H�X��E��	K���J�E��A�:��"�"�1�%>�#?�@�@���L����L��
�	K��"�"�1�%H�#I�J�J�	K�s�A�*A;c
�B^^^�U	(a1[R"URUR5U	5mOSmSnSnU4Sjn
TS:wGa[R
"USS9nU"U
"T55nTS-
mUR
5HFnURT5(aMUR[S5U"U
"U55U4-5 MH [R"UT/SS	9n[R"UU5nUnURRS
S5=(d URRS
S5mUU4S
jnU"UU
5n
U(a4URSSS9nT(dU"[R
"U5U
5n
UR!UUUUU
UU
S9$)N�c�^^�UU4Sj$)Nc� >�T"T"U55$�N�)�x�f�gs ��r)�<lambda>�2get_diff_chunks.<locals>.compose.<locals>.<lambda>as
����1�Q�4�r,r0)r2r3s``r)�compose� get_diff_chunks.<locals>.compose`s	��� � r,c�2>�[R"TU5$r/)�	posixpath�join)r2�prefixs �r)�pathfn�get_diff_chunks.<locals>.pathfncs����~�~�f�a�(�(r,T)�legacyrelativevalue�/s(warning: %s not inside relative root %s
spath)�pats�defaultsdevelsall-warningss
check-relrootc�z>�T(a&URT5(d[SUT4-5eU[T5S$)Ns%file %s doesn't start with relroot %s)�
startswith�AssertionError�len)r2�	checkroot�relroots ��r)�
relrootpathfn�&get_diff_chunks.<locals>.relrootpathfn{s@�������g�!6�!6�$�<��7�|�K����S��\�^�$�$r,rF��context�noprefix)r'r<�copysourcematch�
hunksfilterfn)r�	canonpath�root�getcwdr�getuipathfn�filesrC�warnrr�matchmod�intersectmatchers�ui�
configbool�copy�diff)rW�repo�diffopts�ctx1�ctx2r�changes�statr;rPrNrMr6r<�uipathfn�	uirelroot�	matchroot�relrootmatchrHrFrGs        `          @@r)�get_diff_chunksreMs������$�$�T�Y�Y����
�t�D�����O�!�)��#�~��&�&�t��F���V�G�_�-�	��4�������I��'�'��0�0�����B�C���y� 1�2�I�>�?��'��}�}�T��	�7�K���*�*�5�,�?��&���G�G�&�&��o�
�<�
�W�W�
�
��*:�
;�	�	%����/����=�=��U�=�;����W�0�0��6��?�F��9�9��
��
��'�#���r,c�.^^�[TUUUUUUUU
UU
S9mU(a:URSSS9nSnTR5(dTR5U	-
nUcTR	5(aU=(d TnU(a*[
R"[R"T5WS9/m[R"[R"T55HnURU5 M O�U(a*[
R"[R"T5WS9mO[
R"STUS	9mTR5(aOUU4S
jn[R"[R"U"555HnTRU5 M OTHunnTRUUS9 M UR5n[ R""X45H�unnUnUbUR$USn[(R*"UU5nUR,R/U
U5nU(d6UR1U5(d [3UR555(dM�UR7TUUUUUUUS
9 M� g![&a SnN�f=f)zshow diff or diffstat.)r_r`r;rPrNrFrJ�PN)�widthc��U$r/r0)�chunks�kwargss  r)r4� diffordiffstat.<locals>.<lambda>�s��r,)r'c3�F># �THupTRXS9v� M g7f)N��labelrn)�chunkrorjrWs  ��r)�gen�diffordiffstat.<locals>.gen�s#����$*�L�E��(�(�5�(�6�6�%+�s�!rnr
)r_r`�fpr;)rerY�plain�	termwidth�canwritewithoutlabelsr�diffstatr�	iterlines�
filechunkiter�chunkbuffer�write�
diffstatui�	difflabel�canbatchlabeledwrites�noder�itersubrepos�substate�KeyErrorrU�
subdirmatcher�wvfs�reljoin�exact�anyrSrZ)rWr[r\r]r^rr_r`rs�
graphwidthr;rP�listsubreposrNrh�outrprqro�node2�subpath�sub�	tempnode2�submatch�	subprefixrjs`                        @r)�diffordiffstatr��s@���$�
�����
��
��
�#��F���=�=��U�=�;�����x�x�z�z��L�L�N�Z�/�E�	�~��1�1�3�3��h�B����n�n�T�^�^�F�%;�5�I�J�F��'�'��(8�(8��(@�A�E��I�I�e��B���%�%�d�n�n�V�&<�E�J�F��_�_�/��h��F��#�#�%�%�
7��+�+�D�,<�,<�S�U�,C�D�������E�!'���u�����e��,�!'�
�I�I�K�E��,�,�T�8�����	�	�� � �M�M�'�2�1�5�	��)�)�'�5�9���I�I�%�%�f�g�6�	��5�;�;�w�/�/�3�x�~�~�7G�3H�3H��H�H�������� �
�	
�9��
�	��I�		�s�%J�J�Jc�8�\rSrSrSrSrSrS	SjrS
SjrSr	g)�changesetdiffer��zBGenerate diff of changeset with pre-configured filtering functionsc�J�[R"UR55$r/)r�matchallr[��self�ctxs  r)�_makefilematcher� changesetdiffer._makefilematcher�s��������
�+�+r,c��gr/r0r�s  r)�_makehunksfilter� changesetdiffer._makehunksfilter�s��r,c
��[UUR5U[R"U5UUR	U5UUURU5S9	 g)N)rr`r�rN)r�r[r�diff_parentr�r�)r�rWr�r\r�r`s      r)�showdiff�changesetdiffer.showdiff�sL�����H�H�J��� � ��%���'�'��,��!��/�/��4�
	
r,c�>�[UUR5U[R"U5UUR	U5UURU5S9n/n[R"[R"U55Hupxp�URUUU	U
S.5 M U$)N)rr`rN)�names	additionssremovalssbinary)rer[rr�r�r�r�diffstatdatarrx�append)r�rWr�r\r`rj�diffdata�filename�	additions�removals�binarys           r)�getdiffstats�changesetdiffer.getdiffstatss��� ���H�H�J��� � ��%���'�'��,���/�/��4�	
����5:�5G�5G��N�N�6�"�6
�1�H��
�O�O�%�"+�!)�%�	�
�6
��r,r0N)rF�F)
�__name__�
__module__�__qualname__�__firstlineno__�__doc__r�r�r�r��__static_attributes__r0r,r)r�r��s��L�,��
�r,r�c�<�SSUR5-/nUR5(aURS5 UR5(a<URS5 UR	5HnURSU-5 M SRU5$)Ns
log.changesetschangeset.%sschangeset.obsoleteschangeset.unstablesinstability.%s� )�phasestr�obsoleter��
isunstable�
instabilitiesr:)r��labels�instabilitys   r)�changesetlabelsr� s}����#�,�,�.� @�
A�F�
�|�|�~�~��
�
�+�,�
�~�~����
�
�+�,��,�,�.�K��M�M�+�k�9�:�/��9�9�V��r,c�T�\rSrSrSrS
SjrSrSrSSjrSr	S	r
S
rSSjrSr
g)�changesetprinteri+z9show changeset information when templating not requested.Nc�v�XlX lXPlU=(d
 [5Ul[
R"X5UlU=(a URS5Ul	U=(a URS5Ul
0Ul0UlSUl
SUl[R "5Ulg)Nsstatspatch)rWr[�bufferedr��_differr�diffallopts�	_diffoptsr#�_includestat�_includediff�header�hunk�
lastheader�footerr�
getlogcolumns�_columns)r�rWr[�differr\r�s      r)�__init__�changesetprinter.__init__.s������	� �
��2��!2����*�*�2�8���$�>����g�)>���$�?����h�)?��������	�������"�0�0�2��
r,c�d�UR5nX R;aLURUnX0R:wa!X0lURR	U5 URU	X R
;a6URR	UR
U5 UR
U	ggr/)�revr�r�rWr{r�)r�r�r��hs    r)�flush�changesetprinter.flush<s����g�g�i���+�+�����C� �A��O�O�#�"#�����
�
�a� ����C� ��)�)���G�G�M�M�$�)�)�C�.�)��	�	�#��r,c�r�UR(a&URRUR5 ggr/)r�rWr{�r�s r)�close�changesetprinter.closeHs"���;�;��G�G�M�M�$�+�+�&�r,c�8�[R"U5nUR(aaURR	SS9 URXU5 URR
5URUR5'gURXU5 g)NT)�labeled)	r�byteskwargsr�rW�
pushbuffer�_show�	popbufferr�r�)r�r��copies�propss    r)�show�changesetprinter.showLsk���$�$�U�+���=�=��G�G���t��,��J�J�s�E�*�#'�7�7�#4�#4�#6�D�I�I�c�g�g�i� ��J�J�s�E�*r,c�
�UR5nURSS5nURR(a2URR	S[
R"U5-SS9 gURnURR	US[
R"U5-[U5S9 UR5nUS:wa URR	US	U-S
S9 URRR5Hdup�US:XaM
U	RURU5H7n
URR	U	RU
-SU	R-S9 M9 Mf URR(a.URR	US
UR!5-SS9 [
R""URU5HJnSUR!5-nURR	US[
R"U5-US9 ML URR(a�UR%5n
U
c'URR&R(n
[*nO%URR,R/U
5nURR	US[
R0"URX�5-SS9 URR	USUR35-SS9 URR	US[4R6"UR955-SS9 UR;5(a@UR=5nURR	USSR?U5-SS9 O&URA5(aURCU5 UREU5 URR(a~[G/SQURI5URK5URM5/5H>unnU(dMURR	UUSR?U5-SS9 M@ OmURO5(aXURRP(a=URR	USSR?URO55-SS9 U(a_URRP(aDUVs/sHnSU-PM
 nnURR	US SR?U5-S!S9 URS5nU(atURR(aY[UUR55H<unnURR	US"U[VRX"U54-S#S9 M> UR[5R]5nU(a�URRP(aYURR	[_S$5S%S9 URR	US%S9 URR	S&5 O4URR	US'[VR`"U5-S(S9 URR	S)5 URcX5 gs snf)*�(show a single changeset or file revision�
graphwidthrs%s
slog.nodernN�	changesetsdefault�branchs
log.branchsbranchesslog.%ssphases	log.phaseslog.parent changeset.%s�parent�manifestsui.debug log.manifest�userslog.user�dateslog.datesinstabilitys, slog.instability)�filessfiles+sfiles-r�sui.debug log.filesr�sui.note log.filess%s (%s)�copiessui.note log.copies�extrasui.debug log.extras
description:
sui.note log.descriptions

ssummaryslog.summary�
)2rr#rW�quietr{r�formatchangeidr�r��branchr[�names�items�logfmt�	colorname�	debugflagr��meaningfulparents�manifestnode�
nodeconstants�wdiridr
�manifestlogr��
formatrevnode�userr �datestr�dater�r�r:r��_showobsfate�_exthook�zip�
filesmodified�
filesadded�filesremovedrS�verbose�extra�sortedr!�	escapestr�description�stripr�	firstline�
_showpatch)r�r�r�r��
changenoder��columnsr��nsname�ns�name�pctxro�mnode�mrevr��key�value�crrs                     r)r��changesetprinter._showUsh���X�X�Z�
��Y�Y�}�a�0�
��7�7�=�=��G�G�M�M��'�0�0��5�5�[�
�
�
��-�-�����
�
��L�!�G�$:�$:�3�$?�?�!�#�&�	�	
�������Z���G�G�M�M�'�)�,�v�5�]�M�K��)�)�/�/�/�/�1�J�F���$��������J�7�����
�
�b�i�i�$�.�i�"�,�,�6N�
�O�8�2��7�7����G�G�M�M���!�C�L�L�N�2�,�
�
��-�-�d�i�i��=�D�.�����@�E��G�G�M�M��	�"�W�%;�%;�D�%A�A��
�
�>��7�7����$�$�&�E��}��	�	�/�/�6�6�����y�y�,�,�0�0��7���G�G�M�M���$��'�'�����=�>�.�
�
�
	
���
�
�g�g�&�����3�;�
�G����
�
��G��x�/�/����
�;�;�;�	�	
��>�>����-�-�/�M��G�G�M�M���'�%�*�*�]�*C�C�(�
�
�
�\�\�^�^����c�"��
�
�c���7�7���!�0��"�"�$�c�n�n�&6��8H�8H�8J�K��
��U��5��G�G�M�M����t�y�y��'7�7�3�"����Y�Y�[�[�T�W�W�_�_��G�G�M�M���!�D�I�I�c�i�i�k�$:�:�*�
�
��d�g�g�o�o�.4�5�f��j�1�n�f�F�5��G�G�M�M��	�"�T�Y�Y�v�%6�6�+�
�
�
�	�	����T�W�W�&�&�$�U�[�[�]�3�
��U����
�
��H�%��j�.B�.B�5�.I�(J�J�/���4��o�o�'�-�-�/����w�w������
�
��'�(�0J������
�
�k�1K�
�L����
�
�g�&����
�
��J�'�*�*>�*>�{�*K�K�(���	
���
�
�e������(��;6s�[c��[R"URRUR5n[R"URRS[
RUS9nURSU05R5nU(a4UH-nURRURSU-SS9 M/ gg)Ns{join(obsfate, "
")}��defaults�	resources�ctxsobsoleteslog.obsfatern)r�templateresourcesr[rW�
maketemplaterr�keywords�
renderdefault�
splitlinesr{r�)r�r��tres�t�obsfate�obsfatelines      r)r�changesetprinter._showobsfate�s����*�*�4�9�9�<�<����C���#�#��I�I�L�L�$��(�(��	
���/�/�6�3�-�0�;�;�=���&�����
�
��M�M�+�.��<�(��� '�r,c��g)z.empty method used by extension as a hook pointNr0r�s  r)r�changesetprinter._exthook�s�r,c��UR(a0URRURXRUSS9 UR(a,UR
(aURR
S5 UR
(a0URRURXRUSS9 UR(dUR
(aURR
S5 gg)NT�r`r�F)r�r�r�rWr�r�r{)r�r�r�s   r)r�changesetprinter._showpatch�s�������L�L�!�!�����n�n�j�t�
"�
�����!2�!2��G�G�M�M�%� �����L�L�!�!�����n�n�j�u�
"�
����� 1� 1��G�G�M�M�%� �!2r,)r�r�r�r�r�r�r�r�r�r�r[rW�NNFr/)r)r�r�r�r�r�r�r�r�r�r�rrrr�r0r,r)r�r�+s/��C�3�
�'�+�u)�n�$=�!r,r�c�0�\rSrSrSrSSjrSrSrSrg)	�changesetformatteri�z1Format changeset information by generic formatterNc�r�[RXX$XV5 [R"XSS9UlX0lg)NT)�git)r�r�r�difffeatureoptsr��_fm)r�rWr[�fmr�r\r�s       r)r��changesetformatter.__init__�s/��	�!�!�$�D�(�M��.�.�r��F����r,c�8�URR5 gr/)r5�endr�s r)r��changesetformatter.close�s�������r,c�	�URnUR5 URUS9 UR[R
"U5UR
[R"U55S9 UR5nURR(aU(dgURUR5UR5UR5URUR55UR!5UR#UR%5SS9UR#UR'5SS9UR#UR)5Vs/sH!odR
UR+55PM# snSS9S9 URR,(dS	U;aSURUR
UR/5=(d  UR0R2R45S
9 URR,(dSU;a,URUR7UR955S9 URR,(dS
U;dSU;dSU;aeURUR#UR;5SS9UR#UR=5SS9UR#UR?5SS9S9 URR,(+=(a URR@nU(dSU;a+URUR#URC5SS9S9 U(aU(dSU;a'URUR7U=(d 0SSS9S9 URD(dSU;aLURFRIURXRJSS9nURUR#USS9S9 URL(dSU;aqURRO5 URFRQURXRJSS9 URURRS5S9 ggs snf) r�)r�)r�rN�bookmark)rstagsnode)r��phaser�r�desc�	bookmarks�tags�parentsr�)�manifestr�)rsmodifiedsadded�removedsfile)�modified�added�removedr�)rSr�r�ssource)rr�r�sdiffstatTr-)rwsdiffF)rZ)*r5�	startitemrK�datar�intrev�hexfunc�binnode�datahintrWr�r�r�r��
formatdaterr�
formatlistr?r@rArr�r�r[r�r��
formatdictrrrrrrSr�r�r�r�r�r�r�r�)	r�r�r�r�r6rMrrrIs	         r)r��changesetformatter._show�sY��
�X�X��
����
�
�
�s�
��
���G�N�N�3�'�b�j�j�����9M�.N��O��;�;�=���7�7�=�=���
����:�:�<��,�,�.��������s�x�x�z�*����"��m�m�C�M�M�O�+�m�F����s�x�x�z���7��M�M�/2�{�{�}�=�}�!���A�F�F�H�%�}�=�G�"��	�	
��7�7����x� 7��G�G�����$�$�&�H�$�)�)�*A�*A�*H�*H��
�
�
�7�7����H� 4��G�G�"�-�-��	�	��4�G�5�
�G�G����h�&��8�#��X�%��G�G����s�'8�'8�':���I��m�m�C�N�N�$4�7�m�C��
�
�c�&6�&6�&8�w�
�G�
�
��g�g�'�'�'�;�D�G�G�O�O���h�(�*��G�G�"�-�-��	�	��'�-�B�G�C��v��h�!6��G�G��}�}�V�\�r�w�i�}�P�
�
�����x� 7��<�<�,�,�����n�n�4�-��D�
�G�G�R�]�]�4�k�]�B�G�C�����8� 3��G�G��� ��L�L�!�!�$�'�'�3���U�!�K��G�G����*�*�,�G�-�!4��M>s�"(Q<)r�r5r/)	r�r�r�r�r�r�r�r�r�r0r,r)r1r1�s��;�BG���=.r,r1c�^^�\rSrSr%SrS\S'S\S'S\S'S
S	jrU4S
jrSrSr	U=r
$)�changesettemplateri=aformat changeset information.

Note: there are a variety of convenience functions to build a
changesettemplater for common cases. See functions such as:
maketemplater, changesetdisplayer, buildcommittemplate, or other
functions that use changesest_templater.
zformatter.templateresources�_tresourceszOptional[bytes]r�ztemplater.templaterr&c�p�[RXX$XV5 [R"X5=Uln[R
"UU[RU[RS9Ul	[R"5UlURUlSSSSURURSSSSSS0UlUR (a�SUR"R$S	4UR"R&S
4UR"R(S4/nUHDup�URH/nX�-nU	(dMX�R;dM!X�RU'M1 MF OwURR+5V
s/sHo�UR:wdMU
PM nn
[R,"X0RU5nURR/U5 URS(aCUR"R1URR3URS055 ggs sn
f)N)rr�cache�headerr,�footers	docheader�	docfooter�	separator)Tr,s_verboses_quiets_debug)r�r�rr rT�
loadtemplaterrr"�defaulttemplr&�	itertools�count�_counter�ref�_tref�_parts�mapfilerWrr�r��keys�templatepartsmap�updater{�render)r�rWr[�tmplspecr�r\r�r%�	tmplmodes�mode�postfixr&�cur�p�	partnames�ms                r)r��changesettemplater.__init__Ls���	�!�!�$�D�(�M�"+�"=�"=�b�"G�G���4��(�(����(�(���)�)�
���"���)��
��\�\��
��s��s��L�L�(�,�,��#��#��#�

������������+�.������	�*����"�"�I�.�	�I�"+�
�����A��+�C��t��v�v�
�),���A��%�"+�%)�K�K�$4�$4�$6�L�$6�q�x�|�|�:K��$6�I�L��*�*�8�V�V�Y�G�A��K�K���q�!��;�;�|�$��G�G�M�M�$�&�&�-�-����L�(A�2�F�G�%��	Ms�H3�H3c��>�URS(aTUR(dSUlU=RURRURS05-
sl[TU]5$)NrYr,)rbr�r&rg�superr�)r��	__class__s �r)r��changesettemplater.closezsO����;�;�|�$��;�;�!����K�K�4�6�6�=�=����\�)B�B�G�G�K��w�}��r,c�
�UR5nXS'[UR5=US'nSU0US'URSS5nURS(aHUS:�aBUR
R
URRURS055 URS(a�URRURSU5nUR(aX`RUR5'O1URU:wa!X`lUR
R
U5 URURnUR
R
URRXs55 URU5 URX5 URS	(aAUR (d/URRURS	U5Ulg
g
g
)r�rsindexr�srevcacher�rrZrWrXN)rY�nextr_r#rbrWr{r&rgr�r�r�r�rarrr�)r�r�r�r��indexr�r�rs        r)r��changesettemplater._show�sp���
�
����f�
�"&�t�}�}�"5�5��h��%�'��0��k���Y�Y�}�a�0�
�
�;�;�|�$�����G�G�M�M�$�&�&�-�-����L�(A�2�F�G��;�;�y�!����
�
�d�k�k�)�4�e�<�A��}�}�)*���C�G�G�I�&��?�?�a�'�&'�O��G�G�M�M�!�$��k�k�$�*�*�%�����
�
�d�f�f�m�m�C�/�0��
�
�c������(��;�;�y�!��;�;�"�f�f�m�m�D�K�K�	�,B�E�J����"r,)r_rbrarTr�r�r&r/)r�r�r�r�r��__annotations__r�r�r�r��
__classcell__)rss@r)rSrS=s;����-�,�����
HM�,H�\� K� Kr,rSc��U(a	U(aeU(a[R"SU5$[R"U5$)Nr�)r�mapfile_templatespec�literal_templatespec)�tmplrcs  r)�templatespecr�s4����!�!���-�-�l�G�D�D��-�-�d�3�3r,c�B�U(dpU(diURSS5nU(a*[R"[R"U55$[
R"URSS55nU(d�U(a�UnSn[RRU5S(dA[R"SU-5=(d [R"U5upTU(aUn[R"SX45$[R"USU5$)	ziFind the template matching the given template spec or style

See formatter.lookuptemplate() for details.
�command-templates�logsui�styleNrsmap-cmdline.r�)
�configrr}r�
unquotestringr�
expandpath�os�path�split�try_open_templater|�lookuptemplate)rWr~�stylercrs�mapnames      r)�_lookuptemplater��s������y�y�-�v�6����1�1�)�2I�2I�$�2O�P�P��O�O�B�I�I�e�X�$>�?�E��E���
���w�w�}�}�W�%�a�(�%�7�7��'�)��6��,�,�W�5�
�W��!���-�-�l�G�H�H��#�#�B��d�;�;r,c�B�[R"U5n[XXCS9$)zGCreate a changesettemplater from a literal template 'tmpl'
byte-string.)r�)rr}rS)rWr[r~r��specs     r)r!r!�s!���)�)�$�/�D��b��@�@r,c�T�X2U4n[XRS5URS55nURS;aURSU5n[	XU/UQ76$UR(d.UR
(dUR(d[X/UQ76$[XU/UQ76$)a?show one changeset using template or regular display.

Display format will be the first non-empty hit of:
1. option 'template'
2. option 'style'
3. [command-templates] setting 'log'
4. [ui] setting 'style'
If all of these values are either the unset or the empty string,
regular display via changesetprinter() is done.
stemplater�>�cbor�jsonr�)	r�r#r`rr1r~rcr�rS)rWr[r'r�r��postargsr�r6s        r)�changesetdisplayerr��s����h�'�H��2�x�x��4�d�h�h�x�6H�I�D�
�x�x�%�%�
�\�\�&�$�
'��!�"�B�:��:�:��8�8�D�I�I�d�l�l���4�8�4�4��b��8�x�8�8r,c�>�\rSrSrSr\R"5r\R"5r\R"5r	\R"\R"\5S9r\R"\R"\5S9r
\R"SS9r\R"\R"\5S9r\R"SS9r\R"SS9r\R"\R"\5S9r\R"\R"\5S9r\R"\R"\5S9r\R"\R"\5S9r\R"SS9r\R"SS9r\R"SS9r\R"SS9r\R"SS9rSrg)	�walkoptsi�z_Options to configure a set of revisions and file matcher factory
to scan revision/file history
)rANFrTr0)r�r�r�r�r�r�ibr@r'�revspec�Factory�listr?�branchesrr"�	no_merges�only_merges�prune_ancestors�users�include_pats�exclude_pats�follow�force_changelog_traversal�filter_revisions_by_pats�sort_revisionsr(r�r0r,r)r�r��sM���
�7�7�9�D��7�7�9�D��g�g�i�G�������T� 2�3�I��w�w�t�|�|�D�1�2�H��7�7�4� �D��w�w�t�|�|�D�1�2�H�����&�I��'�'�%�(�K��g�g�d�l�l�4�&8�9�O��G�G�D�L�L��.�/�E��7�7�4�<�<��#5�6�L��7�7�4�<�<��#5�6�L��W�W�Q�
�F�!%���� 6�� $�w�w�t�4���W�W�T�*�N�
�G�G�D�!�Er,r�c
�2�URS5(aSnOURS5(aSnOSnURS5(aURSS5(aS	nOS
nOSn[S*0SU_S
U_SURS/5_SURS/5_SURS/5URS/5-_SURS5_SURS/5_S[URS55_S[URS55_SURS/5_SURS /5_S!URS"/5_S#URS$/5_S%U_S&[URS'55_S(U_S)[	U5_6$)+zoParse log command options into walkopts

The returned walkopts will be passed in to getrevs() or makewalker().
sfollow_firstr
sfollow�r�graph�experimentalslog.topo�topo�descNr@r'r�srevr?r<r�r�sonly_branchrr�r"�keywordr��	no_mergesr��only_mergesr��pruner�r�r�sincluder�sexcluder�r�rCr�r(r0)r#rXr��boolr*)rWr@r'r�r�s     r)�	parseoptsr�s����x�x�� � ���	
���)�	�	������x�x����
�=�=��+�6�6�$�N�$�N�����
��
�������$���(�(�;��+�	����)�R�(�4�8�8�N�B�+G�G���X�X�g�
�����*�b�)���t�x�x��-�.������.�1�2������2�.���h�h�w��#���X�X�j�"�-���X�X�j�"�-�� �!�"#'�t�x�x�
�';�"<�#�$&�%�&�t�n�'�r,c��USn[R"X2RUR5upEUR	5=(d( UR5(+=(a URnU(Gd	UR(a�UR(a�[UR55n[U5nUn	UH^n
U	(d OVX
nU	HHnX�;aURU5 MURU5(dM3URU5 SnUn	MJ M` UH*nX�;dM
[R"[!S5U-5e O�UR(a�UR5H�nX�;aY["R$R'UR)U55(aSnM?[R"[!S5U-5eUR+U5n
U
(aM{[R"[!S5U-5e O3UR5HnUR+U5n
U
(aMSnM! U(a1UR5HnU(aX�R,;dM O SnXEU4$)aFBuild matcher and expanded patterns from log options

If --follow, revs are the revisions to follow from.

Returns (match, pats, slowpath) where
- match: a matcher built from the given pats and -I/-X opts
- pats: patterns used (globs are expanded on Windows)
- slowpath: True if patterns aren't as simple as scanning filelogs
NTs>cannot follow file not in any of the specified revisions: "%s"�/cannot follow file not in parent revision: "%s"s$cannot follow nonexistent file: "%s"F)r�matchandpatsr@r'�anypats�alwaysr�r�r�r�rS�set�discard�hasdirr�
StateErrorrr�r��exists�wjoin�file�store)r[�revs�wopts�wctxrr@�slowpath�	all_files�
missing_filesrS�rr�r2�filelogr�s               r)�_makematcherr�Gs!����:�D��&�&�t�Z�Z����D�K�E��}�}����L�L�N��>�u�>�>�
���<�<�E�M�M��U�[�[�]�+�I��	�N�M��E������g���A��x�%�-�-�a�0����A���&�-�-�a�0�#'�� -�������%��*�*��/���	�����\�\��[�[�]���=��w�w�~�~�d�j�j��m�4�4�#'�� �#�.�.��!2�� �	 ����)�)�A�,���w� �*�*��A�B�Q�F���'#�.�[�[�]���)�)�A�,���w� $�H�#�����
���t�z�z�1��&�!���� � r,c��^^^^^	�/m	UH2nTUmT	RU4SjTRU555 M4 0mUU4SjnUU	U4Sjn[R"U"5SS9U4$)Nc3�J># �UHnTUR5v� M g7fr/)�introfilectx)�.0r2r�s  �r)�	<genexpr>�!_fileancestors.<locals>.<genexpr>�s!����D�O�q�S��V�(�(�*�*�O�s� #c�z>�[R"TTR[R"U5/55$r/)r�
matchfilesr#rJ)r��fcacher[s ��r)�filematcher�#_fileancestors.<locals>.filematcher�s*����!�!�$��
�
�7�>�>�#�3F��(K�L�Lr,c3�># �[R"TTS9H,upUVs/sHo"R5PM snTU'Uv� M. gs snf7f)N��followfirst)r�filectxancestorsr�)r��csrr��fctxsr�s   ���r)�revgen�_fileancestors.<locals>.revgen�sD�����-�-�e��M�G�C�-/�0�R��6�6�8�R�0�F�3�K��I�N��0�s�A�A
�AF)�iterasc)�extend�walkr�generatorset)
r[r�rr�r�r�r�r�r�r�s
`  `   @@@r)�_fileancestorsr��sc����E�
���1�g��
���D�C�H�H�U�O�D�D���F�M��
� � ���5�9�;�F�Fr,c��g)zDhook for extensions to override the filematcher for non-follow casesNr0)r[r@r's   r)�_makenofollowfilematcherr��s��r,c���[R"XX#5$![Ra1n[R"UR
SURS9eSnAff=f)z�Resolves user-provided revset(s) into a single revision.

This just wraps the lower-level scmutil.revsingle() in order to raise an
exception indicating user error.
r��hintN)r�	revsingler�RepoLookupErrorr&�argsr�)r[r�rA�
localalias�es     r)r�r��sO��7�� � ���D�D��� � �7����q�v�v�a�y�q�v�v�6�6��7����A�,A�Ac��[R"X5$![Ra1n[R"UR
SURS9eSnAff=f)z�Resolves user-provided revset(s) into two revisions.

This just wraps the lower-level scmutil.revpair() in order to raise an
exception indicating user error.
rr�N)r�revpairrr�r&r�r�)r[r�r�s   r)r�r��sK��7����t�*�*��� � �7����q�v�v�a�y�q�v�v�6�6��7�s��A�,A�Ac���[R"XU5$![Ra1n[R"UR
SURS9eSnAff=f)z�Resolves user-provided revset(s).

This just wraps the lower-level scmutil.revrange() in order to raise an
exception indicating user error.
rr�N)r�revrangerr�r&r�r�)r[�specsr�r�s    r)r�r��sO��7�����Z�8�8��� � �7����q�v�v�a�y�q�v�v�6�6��7�r�)snot merge()N)smerge()N)Ns_matchfiles(%ps))sdate(%s)N)s
branch(%s)�%lr)sfilelog(%s)r�)skeyword(%s)r�)s
ancestors(%s)snot %lr)suser(%s)r�)	r�r��_matchfilesr�r��_patslogr�r�r�c��URVs/sHnSURU5-PM snURURURUR
URURVs/sHnSU-PM
 snS.nUR(a�U(a~SS/nURHnURSU-5 M URHnURSU-5 M URHnURSU-5 M XeS'O:UR(a)UR(d[UR5US	'/n[UR!55H�up�U
(dM["U	up�U(aS
U;aURU5 M9U(d'UR[$R&"X�55 MgU(a&U
Vs/sHn[$R&"X�5PM n
nUR[$R&"X�55 M� UR((aUUR[$R&"SUR(Vs/sHn[*R,"U5PM sn55 U(aSS
R/U5-S-nU$SnU$s snfs snfs snfs snf)z?Return a revset string built from log options and file patternssliteral:)r�r�r�r�r�r�r�sr:s	d:relpathsp:si:sx:r�r��%r��(s and �)N)r��lookupbranchrr"r�r�r�r�r�r@r�r�r�r�r�r	r��_opt2logrevsetr�
formatspecr?r�format_bookmark_revspecr:)
r[r�r��b�vr'�	matchargsrm�expr�op�val�revop�listops
             r)�_makerevsetr�sB��AF���O��1�K�$�"3�"3�A�"6�6��O�����N�N��o�o��)�)��'�'�+0�;�;�7�;�a�+��/�;�7��D�
�%�%�(��L�)�	����A����U�Q�Y�'���#�#�A����U�Q�Y�'�$��#�#�A����U�Q�Y�'�$�(�^��	�	'�	'���� ����,��[��
�D��$�*�*�,�'�����&�r�*�
���T��&��K�K�����K�K�
�-�-�e�9�:��@C�D��1�z�,�,�U�6���D��K�K�
�-�-�f�:�;�(�
�������!�!��=B�_�_�M�_���0�0��3�_�M�
�	
���h�m�m�D�)�)�D�0���K����K��kP��8��@E��Ns�J:�4J?�% K�+ K	c��UR(a[XR5nU$UR(a?URR	5UR
:Xa[R"5nU$UR(aURS5nU$[R"U5nUR5 U$)z>Return the initial set of revisions to be filtered or followed�.)r�r�r��dirstate�p1�nullidr�basesetr��spanset�reverse)r[r�r�s   r)�_initialrevsr
0s����}�}���m�m�,���K�
���$�-�-�*�*�,����;����!���K�
����y�y�����K�����%�������Kr,c�b^�[X5nU(d[R"5S4$[XU5ump4[R
"XS9nSnUR(a|U(dTR5(a#[R"XURS:HS9nO-UR(ae[XTURS:HS9up%UR5 Uc [XRUR5nUcU4Sjn[!XU5nUR"(a�UR"S;deUR"S:Xa^UR%5(dH[R&"X R(R*5n[,R"[/U5SS	9nO9UR15(d$UR%5(dUR3SS
9 U(a[,R4"SU5nU"X5nUR6bUR9SUR65nX%4$)z�Build (revs, makefilematcher) to scan revision/file history

- revs is the smartset to be traversed.
- makefilematcher is a function to map ctx to a matcher for that revision
N)r@r
r�c�>�T$r/r0)r�rs �r)r��makewalker.<locals>.filematcher\s����Lr,>r�r�r�T)�istopo�rr)r
rr
r�r�evolver�r�r�revancestorsr�r�rr�r@r'rr�r�toposort�	changelog�
parentrevsrr��isdescending�sortrr(�slice)	r[r�r�r@r�r�r��matcherrs	        @r)�
makewalkerr>s������$�D�����!�4�'�'�(��U�;��E�4��K�K��)�E��K��|�|��u�|�|�~�~��%�%�d�e�l�l�a�>O�P�D��6�6�6�6� .��E�u�|�|�q�/@�!��D�	
������.�t�Z�Z����L����	��t�H�-�D�����#�#�'9�9�9�9����7�*��;�;�=�=��~�~�d�N�N�,E�,E�F���~�~�d�4�j��>����#�#�%�%�������I�I�d�I�#���,�,�t�T�*���t�"���{�{���z�z�!�U�[�[�)����r,c�X�[X5up#U(dUS4$[5nX4lX$4$)znReturn (revs, differ) where revs is a smartset

differ is a changesetdiffer with pre-configured file matcher.
N)rr�r�)r[r�r�r�r�s     r)�getrevsrss4��#�4�/��D���T�z��
�
�F�)���<�r,c��/nURS/5H�nURSS5up4[
[URS55upV[S5U-n[R"USX75nURU[R"XV545 M� U$![a# [R"[S5U-5ef=f![a# [R"[S5U-5ef=f)	zZParse --line-range log option and return a list of tuples (filename,
(fromline, toline)).
s
line_range�,r
s"malformatted line-range pattern %s�:sinvalid line range for %ss3line range pattern '%s' must match exactly one fileN)r#�rsplitr%rr&r�mapr$r�r�parsefollowlinespatternr�r�processlinerange)	r[r'�linerangebyfname�pat�	linerange�fromline�toline�msg�fnames	         r)�_parselinerangeoptr-�s�����x�x�
�r�*��	� �Z�Z��a�0�N�C�
	J�"�3�	����(=�>��H��F�G�#�M���/�/��d�C�E�����
�D�)�)�(�;�<�	
�+� ����	��"�"��7�8�3�>��
�	���	J��"�"�1�%A�#B�S�#H�I�I�	J�s�B"�!C�"-C�-C?c�F^^^�TSn0m[TU5H�unupVXC;a"[R"[S5U-5eUR	U5n[
R"XuU5HdupxUR5n	U	c[n	X�;aM%TRU	05RUR5/5RU5 Mf M� SmUU4Sjn
UU4Sjn[TSS9n[5n
X�lX�l[ R""U5U
4$)z�Return (revs, differ).

"revs" are revisions obtained by processing "line-range" log options and
walking block ancestors of each specified file/line-range.

"differ" is a changesetdiffer with pre-configured file matcher and hunks
filter.
Nr�c��U$r/r0)�fctx�hunkss  r)�nofilterhunksfn�)getlinerangerevs.<locals>.nofilterhunksfn�s���r,c�j>^�TR[R"U55mTcT$U4SjnU$)Nc3��>^# �TRUR55nUb:UH3umnTcTU4v� M[U4SjU55(dM-TU4v� M5 gUShv�N gN7f)Nc3�X># �UHn[R"TSSU5v� M! g7f)r�N)r�hunkinrange)r��lr�hrs  �r)r��Jgetlinerangerevs.<locals>.hunksfilter.<locals>.filterfn.<locals>.<genexpr>�s'����N�:�R�5�,�,�R���V�R�8�8�:�s�'*)r#r�r�)r0r1�
lineranges�linesr9�fctxlinerangess    @�r)�filterfn�7getlinerangerevs.<locals>.hunksfilter.<locals>.filterfn�sf����'�+�+�D�I�I�K�8�J��%�!&�I�B���z� �%�i�� ��N�:�N�N�N� �%�i��"'�!� � �s�AA.�A.�&A,�'A.)r#rrJ)r�r>r=�linerangesbyrevr2s  @��r)�hunksfilter�%getlinerangerevs.<locals>.hunksfilter�s4���(�,�,�W�^�^�C�-@�A���!�"�"�
	!��r,c�>�[TR[R"U5/55n[R"TU5$r/)r�r#rrJr�)r�rSr@r[s  ��r)r��%getlinerangerevs.<locals>.filematcher�s6����_�(�(�����)<�b�A�B���!�!�$��.�.r,Tr)r-rr�r�filectxr�blockancestors�introrevr
�
setdefaultr�r�r	r�r�r�rr
)r[�userrevsr'r�r,r)r*r0r(r�rAr�r�r�r@r2s`             @@r)�getlinerangerevsrJ�s�����:�D��O�%7��d�%C�!��!�����"�"��D�E��M��
��|�|�E�"��$�3�3�D�F�K�O�D��-�-�/�C��{����"���&�&�s�B�/�:�:��	�	��R�
��f�Y�� L�
&D� ��&/��/�4�0�D�
�
�F�)��)�����D�!�6�)�)r,c�J^�URSS5nU(d[R$[R"U5n[U[5(a
URnO[R"U5n[R"X[RUS9mU4SjnU$)Nr�s	graphnoderc�.>�XS.nTRU5$)N)rsrepo)r#)r[r�rVr��templs    �r)�
formatnode�'_graphnodeformatter.<locals>.formatnode�s����,���"�"�5�)�)r,)r�r�getgraphnoderr��
isinstancerSrTrr r!r")rW�	displayerr�r%rNrMs     @r)�_graphnodeformatterrS�s����
�9�9�)�<�8�D���&�&�&��"�"�4�(�D��)�/�0�0��$�$���*�*�2�.���#�#�
�:�.�.�$�
�E�*��r,c
�
�U=(d 0n[X5n[R"5nURn	UR	S5(a&U	R[RU	S55 O�[R[R[RS.n
U
R5H.up�URSSU-X�5X�'X�(aM*SX�'M0 URSS5Ul0n
UH�up�nnU"UUU
5nU(aU"U5OSnU"UUX�U5n[U5nUSnUR "U4UUS.["R$"U5D6 UR&R)U5R+S	5nUS
(dUS
	UR-U5 [.R0"U/U5H$unnnn[R2"XUUUU5 /nM& M� UR55 g)Nr��|)r�sgrandparentsmissingr�s
graphstyle.%ssgraphshortenr�)r�r�r����)rSr�
asciistate�stylesrtrf�dict�fromkeys�PARENT�GRANDPARENT�
MISSINGPARENTr�r�rX�graphshortenrvr�r�	strkwargsr��popr�r�r]�chain�asciir�)rWr[�dagrR�edgefn�	getcopiesr�rN�staterX�	edgetypesrr�formatnode_cacher��typer�rA�charr��edges�	firstedgerhr<�coldatas                         r)�displaygraphrn�s����K�R�E�$�R�3�J����!�E�
�\�\�F�
�x�x�����
�
�d�m�m�F�D�1�2� ���$�0�0� �.�.�
�	�
#���*�I�D��)�)��!1�D�!8�&�+��F�K��;�;�"���
+� �]�]�?�O�L�����#&���3���$��%5�6��#,��3��$���t�T�5�w�7����K�	��!�������	
��5�	
�4<�4F�4F�u�4M�	
����"�"�3�'�-�-�e�4���R�y��b�	������*3�/�/�9�+�u�*M�&�D�$��w��N�N�2�d�D�%��A��E�+N�$'� �O�O�r,c�h�[R"X5n[XXS[RU5 gr/)r�	dagwalkerrn�
asciiedges)rWr[r�rR�
getrenamed�revdags      r)�displaygraphrevsrts&��
�
�
��
+�F���6�h�.A�.A�:�Nr,c��UH8nXnU(aU"U5OSnURXgS9 URU5 M: UR5 g)NrG)r�r�r�)rWr[r�rRrer�r�r�s        r)�displayrevsrv$sF�����i��#,��3��$�����s��*������	�
�O�O�r,c��SHEnX!;dM
X(dM[R"[S5URSS5-5e g)N)snewest_firsts+-G/--graph option is incompatible with --%s�_�-)rr&r�replace)r@r'rs   r)�checkunsupportedgraphflagsr{-sF����
�:�$�(�(��"�"��@�A��*�*�T�4�(�)��
� r,c�t�[U5nUR5 UbUSUn[R"X5$r/)r*rr�nodes)r[r}r'r(s    r)�	graphrevsr~6s4���T�N�E�	�M�M�O����f�u�
���>�>�$�&�&r,)NFr,r,N)NFNrr,r,FN)�returnzformatter.templatespecr�)NF)rWrr@zSequence[bytes]r'zDict[bytes, Any]rr�)rNr/)r[rr�r�rzETuple[smartset.abstractsmartset, Optional[Callable[[Any], MatcherT]]])r[rr�r�rz;Tuple[smartset.abstractsmartset, Optional[changesetdiffer]])NN)M�
__future__rr]r�r9�typingrrrrrr	�i18nr�interfaces.typesrrr
�
thirdpartyr�
TYPE_CHECKING�rrrrrrrUrrrrrrrrrrr�utilsr r!r*rer�r�r�r�r1rSrr�r!r��sr�r�r�r�r�r�r�r�r�rr
rrr-rJrSrnrtrvr{r~r0r,r)�<module>r�s���#��	��
�������
���������&��,
�	��	��E�^
�	����	���V�r/�/�d�B!�B!�JJ.�)�J.�ZdK�)�dK�N4�<�8A�9�6���*"�*"��*"�Z,��,�
�,��,��	,�^]!�@G�0�
	7�	7�	7�)�&�/�
 �&�)�(�,�
"�
��8�v�2�

�2��2�K�2�j
�

�
��
�A�
� �0<*�~�,,�^O�
��'r,

Youez - 2016 - github.com/yon3zu
LinuXploit