403Webshell
Server IP : 74.208.236.52  /  Your IP : 216.73.217.98
Web Server : Apache
System : Linux infong527 4.4.400-icpu-115 #2 SMP Mon Jul 6 08:15:05 UTC 2026 x86_64
User : u44043973 ( 5404757)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

6�hft���SrSSKJr SSKrSSKJr SSKJrJrJ	r	 SSK
Jr SrS	r
S
rSrSrS
r\R$"S5rSrSr\R$"S5r\R$"S5r\R$"S5r\R$"S5r\R$"S5rSrSrSrSrSr\R$"S5r Sr!Sr"Sr#Sr$S r%S!r&S7S"jr'\"S#5\"S$5\"S%5\"S&5\"S'5\"S(5\"S)5\"S*5\"S+5S,.	r(S-r)S.r*S/r+S8S0jr,S1r-S2r.S9S3jr/S4r0S5r1S:S6jr2g);a�simplified reStructuredText parser.

This parser knows just enough about reStructuredText to parse the
Mercurial docstrings.

It cheats in a major way: nested blocks are not really nested. They
are just indented blocks that look like they are nested. This relies
on the user to keep the right indentation for the blocks.

Remember to update https://mercurial-scm.org/wiki/HelpStyleGuide
when adding support for new constructs.
�)�annotationsN�)�_)�encoding�pycompat�url)�
stringutilc�>�SUS[R"U5-4-$)N�%s
%s

�"�r�colwidth��ss �3/usr/lib/python3/dist-packages/mercurial/minirst.py�sectionr"s"���A�u�x�'8�'8��';�;�<�<�<�c�>�SUS[R"U5-4-$)Nr�=r
rs r�
subsectionr&�"���A�t�h�&7�&7��&:�:�;�;�;rc�>�SUS[R"U5-4-$)Nr�-r
rs r�
subsubsectionr*rrc�>�SUS[R"U5-4-$)Nr�.r
rs r�subsubsubsectionr.rrc�>�SUS[R"U5-4-$)Nr�'r
rs r�subsubsubsubsectionr 2rrc�D�UR[R"[R55nUH5up4UR	URS5URS55nM7 UR[R"[R55$)a
Apply a list of (find, replace) pairs to a text.

>>> replace(b"foo bar", [(b'f', b'F'), (b'b', b'B')])
'Foo Bar'
>>> encoding.encoding = b'latin1'
>>> replace(b'\x81\\', [(b'\\', b'/')])
'\x81/'
>>> encoding.encoding = b'shiftjis'
>>> replace(b'\x81\\', [(b'\\', b'/')])
'\x81\\'
�ascii)�decoder�sysstrr�replace�encode)�text�substs�utext�f�ts     rr%r%6sm��$
�K�K�����(9�(9�:�;�E�����
�
�a�h�h�w�/����'�1B�C����<�<�����(9�(9�:�;�;rs\n(?:\s*\n)+c�*�/n[RURS5R55HUnUR	5nU(dM[SU55nUVs/sHoUUSPM	 nnUR
XCS.5 MW U$s snf)z�Find continuous blocks of lines in text.

Returns a list of dictionaries representing the blocks. Each block
has an 'indent' field and a 'lines' field.
�
c3�l# �UH*n[U5[UR55-
v� M, g7f�N)�len�lstrip)�.0�ls  r�	<genexpr>�findblocks.<locals>.<genexpr>[s#���C�U��#�a�&�3�q�x�x�z�?�2�U�s�24N)�indent�lines)�_blockre�splitr1�rstrip�
splitlines�min�append)r'�blocks�b�lines�indentr3s      r�
findblocksrBQs����F�
�^�^�D�K�K��.�5�5�7�
8��������5��C�U�C�C�F�).�/��A�v�w�Z��E�/��M�M�f�>�?�9��M��0s�'Bc���SnU[U5:Ga�SXS'XSSRS5(Ga�US-[U5:Ga�XSnXS-SU-
nXSS/:XaX	US-nO�XSSRS	5(aXSSS
SXSS'O|[XS5S:XaSXSSRS5RS
5(a&XSSR	SS5S:XaUS-
nGMXSSS
SXSS'[
R
XSS5nU(a$X$R5-
nX4R5-nUS-[U5:aQXS-SU:�aCSXS-S'XS-S==U-ss'US-
nUS-[U5:aXS-SU:�aMCUS-
nU[U5:aGM�U$)z�Finds literal blocks and adds a 'type' field to the blocks.

Literal blocks are given the type 'literal', all other blocks are
given type the 'paragraph'.
r�	paragraph�typer7���s::rr6s ::N���� �.. ��literal)r0�endswithr1�
startswith�find�	_bulletre�match�end)r>�irA�
adjustment�ms     r�findliteralblocksrUas5��	
�A�
�c�&�k�/�*��	�'���9�X��r�"�+�+�E�2�2�q�1�u�s�6�{�7J��Y�y�)�F��A���y�1�F�:�J��y��"�u�g�-��I��Q�����8�$�R�(�1�1�&�9�9�+1�)�H�*=�b�*A�#�2�*F��	�(�#�B�'��F�I�h�'�(�A�-��I�h�'��*�1�1�$�7�B�B�6�J�J��I�h�'��*�/�/��a�8�B�>��Q����+1�)�H�*=�b�*A�#�2�*F��	�(�#�B�'�����	�(� 3�A� 6�7�A���%�%�'�!���e�e�g�%�
��a�%�#�f�+�%�&�Q��-�	�*B�V�*K�)3��1�u�
�g�&��1�u�
�i�(�J�6�(��Q����a�%�#�f�+�%�&�Q��-�	�*B�V�*K�	
�Q���c�c�&�k�/�d�Mrs+(\*|-|[0-9A-Za-z]+\.|\(?[0-9A-Za-z]+\)|\|) s0^(-([a-zA-Z0-9]), )?(--[a-z0-9-]+)((.*)  +)(.*)$s&:(?![: ])((?:\:|[^:])*)(?<! ):[ ]+(.*)s[^ ]s
(=+\s+)*=+c��S[S4S[S4S[S4S[S4/nSnSnU[	U5:a�XS	S
:XaXSnUHrupVnU"USXg5(dM/n[U5HDup�U"XIXg5(aUR
U/XSS
.5 USSR
U
5 MF X�X3S-& O US-
nU[	U5:aM�U$)zSplit paragraphs into lists.�bulletT�option�field�
definitionFc��XnUS-[U5:=(a XS-=(d SnURU5(dgU(a,US:H=(d  USSS:H=(d URU5$URS5$)z�Does itemre match an item at line i?

A list item can be followed by an indented line or another list
item (but only if singleline is True).
rrFrrH)r0rPrM)r@rR�itemre�
singleline�line1�line2s      rrP�splitparagraphs.<locals>.match�s{������A���E�
�"�3�u��U�|�:�s���|�|�E�"�"����C�<�L�5��1�:��#5�L����e�9L�L��#�#�D�)�)rrrErDr7r6)rEr7r6rFr)rO�	_optionre�_fieldre�
_definitionrer0�	enumerater=)r>�	listtypesrPrRr@�typer\r]�items�j�lines           r�splitparagraphsrj�s��
�I�t�$�	�I�t�$�	�8�T�"�	�
�u�-�	�I�
*�	
�A�
�c�&�k�/��9�W���-��I�h�'�E�,5�(��j����6�6�6��E�#,�U�#3��� ��6�>�>�!�L�L�-1�.0�/5�y��/C�!"���b�	�(�+�2�2�4�8�$4�).�1�1�u�%��-6�	
�Q���%�c�&�k�/�&�Mr�c��SnU[U5:a�XSS:waUS-
nM!UnU[U5:a|XSS:Xaq[RXSS5nUR5upEXPUSS'UR	SS5XS'US-
nU[U5:a
XSS:XaMqUS-nU[U5:aM�U$)	zFind key for field lists.rrErYrr7s\:�:�key)r0rbrP�groupsr%)r>rRrhrT�key�rests      r�updatefieldlistsrr�s���	�A�
�c�&�k�/��9�W���)�
��F�A��
���#�f�+�o�&�)�G�"4��"@����v�y��2�1�5�6�A����
�I�C�%)�1�I�h���"� #���F�D� 9�F�I�f��
��F�A��#�f�+�o�&�)�G�"4��"@�
��E���c�&�k�/��Mrc��SnU[U5:GawXSS:waUS-
nM"SnUnU[U5:Ga+XSS:XGa[RXSS5nURS5nURS5nUSSR	5nURS5R	5nURS	5R	5n	X�USS'S
n
U(dSn
SU=(a S
U-=(d S
SX�U	4-4-nUR5nX�US'[
U[R"U55nUS-
nU[U5:aXSS:XaGMXUHnX,S'M	 US-nU[U5:aGMwU$)NrrErXrr7�rJ��r�   s%s%ss-%s s	%s--%s %s�optstr�optstrwidth)	r0rarP�group�stripr:�maxrr)
r>rR�optstrwidthrhrT�shortoption�group3�
longoption�desc�
longoptionarg�	noshortop�opt�blocks
             r�updateoptionlistsr��s���	�A�
�c�&�k�/��9�W���*�
��F�A����
���#�f�+�o�&�)�G�"4�	�"A�����	�(� 3�A� 6�7�A��'�'�!�*�K��W�W�Q�Z�F�����)�)�+�J��7�7�1�:�#�#�%�D��G�G�A�J�,�,�.�M�%)�1�I�h���"��I��"�	���5��+� 5�<���	�}�E�E���C��*�*�,�C�#&�1�I�i� ��k�8�+<�+<�S�+A�B�K�
��F�A�+�#�f�+�o�&�)�G�"4�	�"A�.�a�[�E�$/�.�!�!�
��E��A�c�&�k�/�B�Mrc�*�/nSnUS-[U5:a�XSS:Xa�XSSRS5(a�XSnXS-SU-
nXSSSS	nS
nUHnX�RS5;dMSnM U(aURU5 X	Un	US-nU	[U5:aEX	SU:�a:U(aX		OX	S==U-ss'U	S-
n	U	[U5:a
X	SU:�aM:US-
nUS-[U5:aM�X4$)
z�Prune unwanted containers.

The blocks must have a 'type' field, i.e., they should have been
run through findliteralblocks first.
rrrErDr7s.. container::r6�NTrF)r0rMr9r=)
r>�keep�prunedrRrArS�
containertype�prune�crhs
          r�prunecontainersr�sU���F�	�A�
�a�%�#�f�+�
��9�W���-�&�)�H�2E�
�3
�
�*�&�
'�3(��Y�y�)�F��A���y�1�F�:�J�"�I�h�/��2�2�3�7�M��E����+�+�D�1�1�!�E����
�
�m�,��	��A�
��F�A��c�&�k�/�f�i�	�&:�V�&C���	��I�i�(�J�6�(���F�A��c�&�k�/�f�i�	�&:�V�&C�	
�Q���?�a�%�#�f�+�
�@�>�rs^([-=`:.'"~^_*+#])\1+$c��UGHnUSS:XdM[US5S:�dM#[RUSS5(dMEUSSUSS:XdMYSUS'SUS	'USSn[[U55Vs/sH%nX#US
-S:XdMUS:Xd
X#S
-
US:XdM#UPM' nn/nUSS
SH�nXb:XaS
US	'M/nUSn[	U5H�up�U	S
-[U5:aPXIS
-U
-
n[
R"XhU5nU[U5-
nURUR55 MgURXhSR55 M� URU5 M� XQS'GM� U$s snf)zFFind simple tables

Only simple one-line table elements are supported
rErDr7rtrrF�tableF�headerrrrHTN)	r0�_tablererP�rangerdr�getcolsr=r{)
r>r��div�x�columns�rowsr3�row�pos�n�start�width�vs
             r�
findtablesr�Ds�����
�'�N�l�*��E�(�O�$�q�(����u�X��q�1�2�2��h���"�e�H�o�b�&9�9�%�E�'�N�$�E�)����/�!�$�C��s�3�x���(�A��1�q�5�>�T�)��/0�A�v���U�Q��4�9O��(�
��
�D��8�_�Q�r�*���8�'+�E�)�$�����a�j�� )�'� 2�H�A��1�u�s�7�|�+� '�A���� 6��$�,�,�Q�U�;���s�1�v�
���
�
�1�7�7�9�-��
�
�1�T�7�=�=�?�3�!3����C� �!+�$#�(�O�[�^�M��5s�F	�F	�*F	c�.�UH�nUSS:XdM[US5S:XdM"[R"USS5[USS5:XdMS[R	USS5(dMuUSSSSUS'SUS'USS	M� U$)	zwFinds sections.

The blocks must have a 'type' field, i.e., they should have been
run through findliteralblocks first.
rErDr7rtrr�	underline�section)r0rr�
_sectionrerP)r>r�s  r�findsectionsr�|s�����
�'�N�l�*��E�(�O�$��)��!�!�%��/�!�"4�5��U�8�_�Q�=O�9P�P�� � ��x���!3�4�4�"'��/�!�"4�Q�q�"9�E�,��'�E�'�N��h���"�� �Mrc��S/nUH0nUSS;dMUSVs/sHn[X15PM snUS'M2 U$s snf)N)s``rrE�rDr�r7�r%�r>r(r?r3s    r�inlineliteralsr��sN���_�F�
���W�:�3�3�78��{�C�{�!�7�1�-�{�C�A�h�K���M��Ds�<c��SS/nUH0nUSS;dMUSVs/sHn[X15PM snUS'M2 U$s snf)N)s:hg:`s'hg )�`rrEr�r7r�r�s    r�hgroler��sS��!�<�
0�F�
���W�:�3�3�
89��{�C�{�!�7�1�-�{�C�A�h�K�
��M��Ds�=c���SnU[U5:afXSXS-
S:XaXSS;aUS-
nO1XS-
S(dUS-
nOURUS/SSS.5 US	-
nU[U5:aMfU$)
z�Adds empty blocks for vertical spacing.

This groups bullets, options, and definitions together with no vertical
space between them, and adds an empty block between all other blocks.
rrE)rWrXrYr7rr�margin)r7r6rErt)r0�insert)r>rRs  r�
addmarginsr��s���	
�A�
�c�&�k�/��9�W���A���w�!7�7�F�I��=
�
�=
�
��F�A��A���x�(�
��F�A��M�M��s�e��I�F�
�
��F�A�!�c�&�k�/�"�Mrc��SnU[U5:ahXnUSS:XaEUSSRS5(d
USS/:XaX	U[U5:a
XSS:XaX	OUS-
nU[U5:aMhU$)	zRemove comments.rrErDr7rIs..r�r)r0rM)r>rRr?s   r�
prunecommentsr��s���	�A�
�c�&�k�/��I���W�:��%�
�h�K��N�%�%�f�-�-��8����1G��	��3�v�;��6�9�W�#5��#B��I��
��F�A��c�&�k�/��Mrc�L�U=(d [R5n[R"SSR	[U55-[RS9nSnU[U5:a�URXSS5nU(a�SXS'XSSSUR5S	-
R5nXSSUR5S
-SnU(aXSRS
SU-5 XPUS
'XSS	US
-nU[U5:aM�U$)z^
Makes the type of the block an admonition block if
the first line is an admonition directive
s\.\. (%s)::�|)�flagsrr7�
admonitionrErJrtrNrw�admonitiontitle)�_admonitiontitles�keys�re�compile�join�sorted�
IGNORECASEr0rPrQ�lowerr�)r>�admonitions�admonitionrerRrT�admonitiontitle�	firstlines       r�findadmonitionsr��s$��
�9�!2�!7�!7�!9�K��:�:��$�)�)�F�;�$7�8�8��
�
��L�	
�A�
�c�&�k�/����v�y��2�1�5�6���!.�F�I�g��$�i��1�!�4�Q�����1��E�K�K�M�O��	�(�+�A�.�q�u�u�w��{�}�=�I���	�(�#�*�*�1�f�y�.@�A�,;�1�I�(�)��	�(�#�A�&�
��E���c�&�k�/��Mrs
Attention:sCaution:s!Danger!sError:sHint:s
Important:sNote:sTip:sWarning!)	s	attentionscautionsdangerserrorshints	importantsnotestipswarningc�&�SR[[RUS55n[R
"US5nUS-
nUSnSUSSXS-
-4-nS[R
"U5S--nS[R"X$XgS9-$)	NrHr7rxrrys%s%s  s %s
)�
initindent�
hangindent)r��map�bytesr{rrr	�wrap)r�r�r�r�usablewidth�hangingr�r�s        r�formatoptionr��s����9�9�S����e�H�o�6�7�D�� � ��y�!1�2�H��!�)�K��N�#�G��e�I�.���8J�0K�L�L�J���*�*�:�6��:�;�J������*�	
��rc�\�US::aSnSUS-nUSS:Xa�[USnUS(dX#-S	-$[USS
5[USS
R55-
nX$S--nSR[	[
RUS55nSX#-[R"XaXUS94-$USS
:Xag	USS:Xa"US-
nUS	U-RUS5-S	-$USS:Xa/[R"USS5US-nSX SSX'4-$USS:XGa4USn[U6V	V
s/sH3n	[U	V
s/sHn
[R"U
5PM sn
5PM5 nn	n
Sn[U5[U5-S-
nSUS-nS[U5U-US
-
-nUH�n
/n[X�5H6unnSU[R"U5-
-nURUU-5 M8 SRU5n[R"X�X$S9nU(d&US(aUS	-U-S[X5--S	-nM�XnS	--
nM� U$USS:Xa�X SS-n[USS
5[USS
R55-
nX$S--nSR[	[
RUSSS55nSU[R"XaXUS94-$UnUSS:Xa`USSR!S5(aUSSSSUSS'O�["R%USS5nUUR'5S--nO}USS:Xa`USnU[(S--n[U5S-[(:�aUR+U5nOUR+[(5nUUSS-USS'OUSS:Xa[-X5$SR[	[
RUS55n[R"XaUUS9S	-$s sn
fs sn
n	f) z"Format a block according to width.r�NrHr6rEr�r�r7r-rFs%s
%s
)r�r�r�r�rKs  r�r�s
%s%s
%s%s
r�rrr�rrZNrWs| rtrYrnrX)r�r0r1r�r�r�r{r	r�rr�zipr|�sumr=r<rMrOrPrQ�_fieldwidth�ljustr�)r�r�rA�
admonition�hang�	defindentr'�	underline�tabler��e�widths�spanr�r3�wr��pad�term�	subindentrTrps                      r�formatblockr�s�����z���
�E�)�$�
$�F��W�~��&�&�u�-?�'@�A�
��X���&��.�.��5��?�2�&�'�#�e�H�o�b�.A�.H�.H�.J�*K�K���D�[�(�	��y�y��U�[�[�%��/�:�;������O�O��i�
�
�
�	
�
�W�~��"���W�~��#��%�������-�-�e�H�o�>�>��F�F��W�~��#��%�%�e�H�o�a�&8�9�E�,�<O�O�	��&��/�!�*<�f�!P�P�P��W�~��!��h���BE�u�+�N�+�Q�#�Q�7�Q��x�(�(��+�Q�7�8�+��N����6�{�S��[�(�1�,����i�(�(���s�6�{�T�)�F�2�J�6�7���C��A��F�(���1��a�(�"3�"3�A�"6�6�7������S��!�)��	�	�!��A�����6��A��E�)�,��5�y�6�)�D�C��4D�,E�E��M���E�	�!������W�~��&��h���*�*���5��?�2�&�'�#�e�H�o�b�.A�.H�.H�.J�*K�K���D�[�(�	��y�y��U�[�[�%��/�!�"�*=�>�?�����O�O��i�
�
�
�	
��I��W�~��"���?�1��(�(��/�/�"'�x���!3�A�B�!7�E�(�O�A������h��� 2�3�A������4��/�I�	�w��8�	#��F�m���[�4�/�/�	��s�8�a�<�+�%��)�)�E�"�C��)�)�K�(�C� �5��?�1�#5�5��h����	�w��9�	$��E�)�)��9�9�S����e�H�o�6�7�D�����&�Y�	
��	���m8��Ns�>P(�
 P#�-P(�#P(c�^^�/mSn/mSnUU4SjnUVs/sHoDSS:wdM
UPM nn[U5GHupTUSnUSnUSnUS:XaXU"[US	5n	U"S
R[[R
U555n
TR
SX�4-5 GO�US:Xa+TR
S
U"SRU55-5 GO�US:XaGO�US:Xa+TR
SU"SRU55-5 GO�US:XaCUSnX�;aX-
nURU5S-nTR
SXr"US5U4-5 GOGUS:Xa�USnTR
S5 UH�n
TR
S5 U
HMnTR
S5 TR
U"U55 TR
S5 TR
S5 MO TR5 TR
S5 M� TR
S5 GO�US:Xa]U"SU5 U"US5nU"S
R[[R
USS555n
TR
S X�4-5 GO'US!:XabUSRS
S5unnUS";a
U"S#U5 O	U"S$U5 TR
S%U"S
RU/USS-55-5 O�US&:XaZU"SU5 U"US'5nU"S
R[[R
U555n
TR
S UU
4-5 O_US(:XaYU"SU5 U"US)5nU"S
R[[R
U555nTR
S UU4-5 T(dGMwTS*unnU[U5S-
:Xa'TR
S+U-5 TR5 GM�XS-nUSnUU:dUU:XdGM�USS,;dGM�TR
S+U-5 TR5 GM SRT5$s snf)-zFormat RST blocks as HTMLrc�0�[R"US5$)NT)r�escapers rr��formathtml.<locals>.escapens���z�z�!�T�"�"rc�z>�T(aTSSU:wa'TRX45 TRSU-5 gg)NrFrs<%s>
)r=)r��level�listnest�outs  ��r�openlist�formathtml.<locals>.openlistqs9����8�B�<��?�e�3��O�O�U�N�+��J�J�y�5�(�)�4rrEr�r6r7r�r�rHs<p>
<b>%s</b> %s
</p>
rDs<p>
%s
</p>
r-rKs<pre>
%s
</pre>
r�r�rs<h%d>%s</h%d>
rr�s<table>
s<tr>s<td>s</td>s</tr>
s	</table>
rZsdlNs <dt>%s
 <dd>%s
rW)�*rsulsols	 <li> %s
rYrnrXrxrFs</%s>
sdefinition bullet field option)rdr�r�r�r�r{r=�index�popr9r0)r>�
headernestr�r�r?r��btyper�r@r�r'rRr�r�r�r��bullet�headrpr�r�r��nb�nir�r�s                        @@r�
formathtmlr�gs���
�C��J��H�#�*�
 �
;��A�W�:��#:�a��F�
;��F�#����'�
���)����(����M�!�� 1�!�4F�2G� H�I�J��$�)�)�C����U�$;�<�=�D��J�J�3�z�6H�H�I�
�l�
"��J�J�)�F�5�:�:�e�3D�,E�E�F�
�i�
��
�j�
 ��J�J�-��u�z�z�%�7H�0I�I�J�
�j�
 ��,��A��"���
��$�$�Q�'�!�+�E��J�J�)�U�F�5��8�4D�e�,L�L�M�
�h�
��h�K�E��J�J�|�$����
�
�7�#��A��J�J�w�'��J�J�v�a�y�)��J�J�x�(��J�J�u�%�	�
���	��
�
�:�&��
�J�J�}�%�
�m�
#��U�E�"��%��(�#�D��$�)�)�C����U�1�2�Y�$?�@�A�D��J�J�,��|�;�<�
�i�
� ��8�>�>�$��2�L�F�D���%����&����&��J�J�}�v�d�i�i����q�r��8J�.K�'L�L�M�
�h�
��U�E�"���6��#�C��$�)�)�C����U�$;�<�=�D��J�J�,��T�{�:�;�
�i�
��U�E�"���9��&�C��$�)�)�C����U�$;�<�=�D��J�J�,��T�{�:�;��8�#�B�<�L�E�5��c�&�k�A�o�%��
�
�:��-�.������!�G�_���	�]����:��%�K��7��+L�L��J�J�z�E�1�2��L�L�N�O$�R�8�8�C�=���W<s
�Q�Qc�d�[U5nUHnUS==U-
ss'M [U5n[U5n[XB=(d /5upF[	U5n[U5n[
U5n[U5n[U5n[U5n[XCS9n[U5n[U5nXF4$)z Parse text into a list of blocksr6)r�)
rBrUr�r�r�r�r�rjrrr�r�r�r�)r'rAr�r�r>r?r�s       r�parser��s���
��
�F�
��	�)������
�v�
&�F�
��
�F�$�V�Z�R�8�N�F�
�&�
!�F�
�F�
#�F�
�F�^�F�
�V�
$�F�
�f�
%�F�
�v�
&�F�
�V�
=�F�
��
�F�
�6�
"�F��>�rc�>^�SRU4SjU55nU$)Nrc3�<># �UHn[UT5v� M g7fr/�r��r2r?r�s  �rr4�formatblocks.<locals>.<genexpr>������:�6�a�K��5�)�)�6����r�)r>r�r's ` r�formatblocksr��s����8�8�:�6�:�:�D��Krc�:^�SRU4SjU55$)z"Format parsed blocks as plain textrc3�<># �UHn[UT5v� M g7fr/r�r�s  �rr4�formatplain.<locals>.<genexpr>�r�r�r�)r>r�s `r�formatplainr�s����8�8�:�6�:�:�:rc��[XU=(d /5upgU(a[Xe5nUS:Xa[U5$[XaS9$)z-Parse and format the text according to width.shtml)r�)r��filtersectionsr�r)r'r�rAr��stylerr>r�s        r�formatr�s?���4����4�N�F����0������&�!�!��6�/�/rc�R�/n[U5n/nSn/n/nSnU[U5:GazX4up�n
X)S2	URU5 X�:XdURSU-5(Ga(XR:wa�[U5n[U5nU(aX�:waSn/n
[	SUS-
5H_nX.nX�:�d
X^U:wdMU
R[U55 X?SnURUS5 URUS	5 Ma U
(aURU
5 USSnURU
5 US-[U5:aKX4S-SU	:�a=US-
nURX4S5 US-[U5:aX4S-SU	:�aM=US-
nU[U5:aGMzU(ayUR
5 UHcn
U
Vs/sHnUUS
SPM nnU
S	S-nUUS
nSSRUUS/-5RSS
5-US'X
SU2	Me U$s snf)z�Select parsed blocks under the specified section

The section name is separated by a dot, and matches the suffix of the
full section path.
rTNrFrJrrtrFr7s"%s"rr)	�_getsectionsr0r=rLr��extend�reverser�r%)r>r�parents�sectionsrR�lastparents�	synthetic�collapse�path�nestr?�llen�plenrrh�parent�sec�syn�real�reallines                    rrr�sJ���G��F�#�H�
�F�	�A��K��I��H�
�c�(�m�
� ��
��A��E�N����q���?�d�m�m�D�7�N�;�;��%��;�'���7�|���D�L�$�H����q�$��(�+�A�$�Z�F��y�K�N�f�$<�����V��-�&�.�q�1���
�
�c�!�f�-��
�
�c�"�g�.�
,���$�$�Q�'�!�!�*�K��M�M�!���a�%�#�h�-�'�H��U�O�A�,>��,E��Q����
�
�h�k�!�n�-��a�%�#�h�-�'�H��U�O�A�,>��,E�	
�Q���9�c�(�m�
�:������A�89�:���F�3�K��)�!�,��D�:��R�5�1�9�D��d�|�H�-�H�!�D�I�I�d�h�q�k�]�.B�$C�$K�$K��c�%��H�Q�K���t�d�{�#���M��;s�H$c��SnSn/nSnUGH9nUSS:Xa[USnXa;aX-
nURU5S-nUSUnUSUU"U54-nURS	RU5Xu/45 MhUSS
;a�SnXa;aX-
nURU5S-nUSUn[S[	U5S-5H`nX6*nUSU:a OQUSV	s/sHo�SS
:XdM
U	PM n
n	U
(dM;U
SSnUSnX�:aUS-
n OX�:XdM[USn O USUU"U54-nURS	RU5Xu/45 GMFU(dSS/4/nUSS:wa�Sn
USnU
[	U5:a}X=*SSnUSS:waSUSn[	US5S:�a5U[	USS5[	USSRS55-
-
nUU:�aOU
S-
n
U
[	U5:aM}U
S:�a-X=*SnWSUS:waUS-
nURSU/45 USSRU5 GM< U$s sn	f)z=return a list of (section path, nesting level, blocks) tuplesr�c��USS:XaUSnOUSSn[R"U5RS5nSU;aURS5SnU$)NrErYrnr7rr�()rr�r{r9)r?r�s  r�getname�_getsections.<locals>.getname+s[���W�:��!��&�	�A��(��A��A��N�N�1��#�#�D�)���1�9�����
�a� �A��rrEr�r�rNr)rZrYrHrtrZrFr6rr�r7)r�r=r�r�r0r1)r>r�names�secsrr?rRr�r�a�siblings�
siblingindentrA�pointer�bindentr�sindent�blevels                  rr	r	%s����D��E�
�D�����W�:��#��,��A��}��	���J�J�q�M�A�%�E����<�D��&�5�M�W�Q�Z�M�1�E��K�K����5�)�5�#�6�7�
�w�Z�4�
4��A��}��	���J�J�q�M�A�%�E����<�D��1�c�$�i�!�m�,���2�h���q�6�E�>��'*�1�v�M�v�!�7��}�1L�A�v��M��8�$,�R�L��$;�M��y�\�F�$�-���
���&�0� #�A����-��&�5�M�W�Q�Z�M�1�E��K�K����5�)�5�#�6�7���a���~����z�Y�&����I�,����D�	�)�"�8�n�Q�/��2�G��w�'�9�4�")�)�"4���w�x�0�1�A�5�#�s�7�8�+<�Q�+?�'@�3� '�� 1�!� 4� ;� ;�D� A�D�(��G�#�g�-�!��q�L�G���D�	�)��Q�;�!�(�^�A�.�F��w�'�1�W�:�5��!����K�K��f�b� 1�2���H�Q�K���q�!�m�n�K��INs�I�#Ic�`�[U6Vs/sHn[SU55PM nnSU-nUSRSU55-S-nU/nUH�n/n[XG5Haup�SU
;a'SRSU
RS555n
SU	[R
"U
5-
-nUR
X�-5 Mc UR
USRU5-S-5 M� U(a![U5S:�aURSU5 UR
U5 U$s snf)zAGenerate an RST table for the given table data as a list of linesc3�N# �UHn[R"U5v� M g7fr/r
�r2r�s  rr4�maketable.<locals>.<genexpr>rs���2��1�(�#�#�A�&�&��s�#%rHc3�,# �UH
nSU-v� M g7f)rNr)r2r�s  rr4r,ts���6�v�!�T�A�X�v�s�r-c3�@# �UHoR5v� M g7fr/)r1r+s  rr4r,}s���A�.�Q�h�h�j�j�.�s�rrt)	r�r|r�r9rrr=r0r�)�datarA�headerr�r�r�r�r�r3r�r�r�s            r�	maketabler1os��=@��J�
G�J�q�c�2��2�2�J�F�
G�
�F�]�F�
�4�9�9�6�v�6�6�
6��
>�C��%�C�������$�D�A���z��I�I�A�!�'�'�%�.�A�A���!�h�/�/��2�2�3�C�
�H�H�Q�W��
%�	�
�
�6�D�I�I�a�L�(�5�0�1���#�d�)�a�-��
�
�1�c���J�J�s�O��J��%Hs�D+r/)rNN)�PrNsplainN)rF)3�__doc__�
__future__rr��i18nr�rrr�utilsr	rrrrr r%r�r8rBrUrOrarbrcr�rjr�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r1rrr�<module>r8s����#�	����
�=�<�<�<�<�<�0�:�:�&�'��
� 9�x
�J�J�F�G�	��J�J�=�
�	��:�:�@�A���
�
�8�$�
�
�:�:�n�%��/�d���*#�L(�V�Z�Z�6�
7�
�5�p�2�	��6
� �:�M�"��+����~��	�l�
�x�[��M�"�
�x�[�
�g�J��+��
���Y�xZ�z�(�
;�
0�5�pG�Tr

Youez - 2016 - github.com/yon3zu
LinuXploit