+
    Z‹iœG  ã                  óà  € R t ^ RIHt ^RIHt ^RIHt ^RIHtH	t	H
t
HtHt ^RIHt ^RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIHu Ht ^ R	IHtHtHtHt ]'       d   ^ R
IHt R*R R lltR R lt ]PB                  ! R4      t"R R lt#]
! R4      R R l4       t$]
! R4      R+R R ll4       t%R R lt&R R lt'R R lt(R R lt)R  R! lt*R" R# lt+R$ t, ! R% R&]4      t- ! R' R(]4      t.R) t/R# ),z‹
Add table of contents support to Python-Markdown.

See the [documentation](https://Python-Markdown.github.io/extensions/toc)
for details.
)Úannotations)Ú	Extension)ÚTreeprocessor)ÚparseBoolValueÚAMP_SUBSTITUTEÚ
deprecatedÚHTML_PLACEHOLDER_REÚAtomicString)ÚUnescapeTreeprocessor)ÚRE_AMPN)Údeepcopy)ÚTYPE_CHECKINGÚAnyÚIteratorÚ
MutableSet)ÚMarkdownc               ó(   € V ^8„  d   QhRRRRRRRR/# )é   ÚvalueÚstrÚ	separatorÚunicodeÚboolÚreturn© )Úformats   "Ú9/usr/lib/python3/dist-packages/markdown/extensions/toc.pyÚ__annotate__r   &   s.   € ÷ Bñ B�3ð B 3ð B°ð BÀ#ñ Bó    c                ó6  € V'       g9   \         P                  ! RV 4      p V P                  RR4      P                  R4      p \        P
                  ! RRV 4      P                  4       P                  4       p \        P
                  ! RP                  V4      W4      # )z+Slugify a string, to make it URL friendly. ÚNFKDÚasciiÚignorez[^\w\s-]Ú z[{}\s]+)	ÚunicodedataÚ	normalizeÚencodeÚdecodeÚreÚsubÚstripÚlowerr   )r   r   r   s   &&&r   Úslugifyr,   &   sr   € çä×%Ò% f¨eÓ4ˆØ—‘˜W hÓ/×6Ñ6°wÓ?ˆÜ�FŠF�;  EÓ*×0Ñ0Ó2×8Ñ8Ó:€EÜ�6Š6�*×#Ñ# IÓ.°	ÓAÐAr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r   0   s!   € ÷ 3ñ 3˜3ð 3¨3ð 3°3ñ 3r   c                ó   € \        WRR7      # )zOSlugify a string, to make it URL friendly while preserving Unicode characters. T)r   )r,   )r   r   s   &&r   Úslugify_unicoder/   0   s   € ä�5¨TÔ2Ð2r   z^(.*)_([0-9]+)$c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úidr   ÚidszMutableSet[str]r   r   )r   s   "r   r   r   8   s!   € ÷ 	ñ 	ˆsð 	˜ð 	¨Sñ 	r   c                ó  € W9   g	   V '       gf   \         P                  V 4      pV'       d<   RVP                  ^4      \        VP                  ^4      4      ^,           3,          p Kf  RV ^3,          p Ks  VP	                  V 4       V # )z?Ensure id is unique in set of ids. Append '_1', '_2'... if not z%s_%d)Ú
IDCOUNT_REÚmatchÚgroupÚintÚadd)r1   r2   Úms   && r   Úuniquer:   8   sb   € à
Œ)Ÿ2Ü×Ñ˜RÓ ˆßØ˜AŸG™G A›J¬¨A¯G©G°A«J«¸Õ(9Ð:Õ:ŠBà˜B ˜7Õ"ŠBØ‡G�GˆB„KØ€Ir   z0Use `render_inner_html` and `striptags` instead.c               ó    € V ^8„  d   QhRRRR/# )r   Úelúetree.Elementr   r   r   )r   s   "r   r   r   E   s   € ÷ 	!ñ 	!�ð 	! 3ñ 	!r   c                ó  € . pV P                  4        FQ  p\        V\        4      '       d(   VP                  \        P
                  ! V4      4       K@  VP                  V4       KS  	  RP                  V4      P                  4       # )zGet title name.r#   )ÚitertextÚ
isinstancer	   ÚappendÚhtmlÚunescapeÚjoinr*   )r<   ÚtextÚcs   &  r   Úget_namerG   D   s_   € ð €DØ�[‰[Ž]ˆÜ�aœ×&Ò&Ø�K‰KœŸš aÓ(Ö)à�K‰K˜ŽNñ	 ð
 �7‰7�4‹=×ÑÓ Ð r   zIUse `run_postprocessors`, `render_inner_html` and/or `striptags` instead.c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rE   r   Úmdr   Ústrip_entitiesr   r   r   )r   s   "r   r   r   R   s(   € ÷ 4ñ 4˜3ð 4 Hð 4¸dð 4Ècñ 4r   c                óF   aa€ R VV3R llp\         P                  ! W04      # )zMExtract raw HTML from stash, reduce to plain text and swap with placeholder. c               ó    € V ^8„  d   QhRRRR/# )r   r9   zre.Match[str]r   r   r   )r   s   "r   r   Ú&stashedHTML2text.<locals>.__annotate__T   s   € ÷ 
ñ 
�]ð 
 sñ 
r   c                ó4  <€  SP                   P                  \        V P                  ^4      4      ,          p\        P                  ! RRT4      pS'       d   \        P                  ! RRT4      pT#   \        \
        3 d    T P                  ^ 4      u # i ; i)z%Substitute raw html with plain text. z	(<[^>]+>)r#   z(&[\#a-zA-Z0-9]+;))Ú	htmlStashÚrawHtmlBlocksr7   r6   Ú
IndexErrorÚ	TypeErrorr(   r)   )r9   ÚrawÚresrI   rJ   s   &  €€r   Ú	_html_subÚ#stashedHTML2text.<locals>._html_subT   s{   ø€ ð	Ø—,‘,×,Ñ,¬S°·±¸³«_Õ=ˆCô �fŠf�\ 2 sÓ+ˆßÜ—&’&Ð.°°CÓ8ˆCØˆ
øô œIÐ&ô 	Ø—7‘7˜1“:Òð	ús   ƒ5A2 Á2"BÂB)r   r)   )rE   rI   rJ   rU   s   &ff r   ÚstashedHTML2textrW   Q   s    ù€ ÷
ñ 
ô ×"Ò" 9Ó3Ð3r   c               ó    € V ^8„  d   QhRRRR/# ©r   rE   r   r   r   )r   s   "r   r   r   c   s   € ÷ ñ �3ð ˜3ñ r   c                ó8   € \        4       pVP                  V 4      # )z*Unescape Markdown backslash escaped text. )r
   rC   )rE   rF   s   & r   rC   rC   c   s   € äÓ€AØ�:‰:�dÓÐr   c               ó    € V ^8„  d   QhRRRR/# rY   r   )r   s   "r   r   r   i   s   € ÷ ñ �Sð ˜Sñ r   c                óX  € V P                  R4      ;pR8w  d.   V P                  RV4      ;pR8w  d   V RV  W^,           R  2p KE  V P                  R4      ;pR8w  d.   V P                  RV4      ;pR8w  d   V RV  W^,           R  2p KE  RP                  V P                  4       4      p V # )zKStrip HTML tags and return plain text. Note: HTML entities are unaffected. z<!--z-->NÚ<Ú>Ú éÿÿÿÿ)ÚfindrD   Úsplit)rE   ÚstartÚends   &  r   Ú
strip_tagsre   i   s´   € ð —I‘I˜fÓ%Ð%ˆ5¨"Ô
,¸¿¹À5È%Ó9PÐ2P°#ÐUWÔ1WØ�v˜�,� ¨1¥W X Ð/Ð0Šà—I‘I˜c“NÐ"ˆ5 rÔ
)°d·i±iÀÀUÓ6KÐ/K¨sÐPRÔ.RØ�v˜�,� ¨1¥W X Ð/Ð0Šð �8‰8�D—J‘J“LÓ!€DØ€Kr   c               ó    € V ^8„  d   QhRRRR/# rY   r   )r   s   "r   r   r   w   s   € ÷ 	ñ 	�sð 	˜sñ 	r   c                ó¦   € RV 9   d   \         P                  ! RV 4      p RV 9   d   V P                  RR4      p RV 9   d   V P                  RR4      p V # )zEscape character data. Ú&z&amp;r]   z&lt;r^   z&gt;)r   r)   Úreplace)rE   s   &r   Úescape_cdatarj   w   sL   € à
ˆd„{ä�zŠz˜' 4Ó(ˆØ
ˆd„{Ø�|‰|˜C Ó(ˆØ
ˆd„{Ø�|‰|˜C Ó(ˆØ€Kr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rE   r   rI   r   r   r   )r   s   "r   r   r   ƒ   s!   € ÷ ñ ˜Sð  hð °3ñ r   c                ój   € VP                    F  pVP                  V 4      p K  	  V P                  4       # )z3Run postprocessors from Markdown instance on text. )ÚpostprocessorsÚrunr*   )rE   rI   Úpps   && r   Úrun_postprocessorsrp   ƒ   s+   € à×ÔˆØ�v‰v�d‹|Šñ  à�:‰:‹<Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r<   r=   rI   r   r   r   r   )r   s   "r   r   r   Š   s!   € ÷ 
(ñ 
(˜-ð 
(¨Xð 
(¸#ñ 
(r   c                óÂ   € \        VP                  V 4      4      pVP                  R4      ^,           pVP                  R4      pW#V P	                  4       p\        W!4      # )z;Fully render inner html of an `etree` element as a string. r^   r]   )rC   Ú
serializerÚindexÚrindexr*   rp   )r<   rI   rE   rc   rd   s   &&   r   Úrender_inner_htmlrv   Š   sV   € ô �B—M‘M "Ó%Ó&€Dð �J‰J�s‹O˜aÕ€EØ
�+‰+�cÓ
€CØ�cˆ?× Ñ Ó"€Dä˜dÓ'Ð'r   c               ó    € V ^8„  d   QhRRRR/# )r   Úrootr=   r   r   )r   s   "r   r   r   —   s   € ÷ ñ ˜ð ¨-ñ r   c                ó$  € \        V P                  R4      R4      f   V # \        V 4      p V P                  R4       FÐ  pRp\	        V4       F“  pVP
                  R8X  dU   VP                  RR4      P                  R4      '       d.   VP                  ;'       g    R V 2pVP                  V4       Kh  V'       g   Kr  VP                  ;'       g    R V 2Vn        RpK•  	  V'       g   K±  VP                  ;'       g    R V 2Vn
        KÒ  	  V # )zKRemove footnote references from a copy of the element, if any are present. ÚsupNz	.//sup/..r#   r1   Úfnref)ÚnextÚiterr   ÚfindallÚreversedÚtagÚgetÚ
startswithÚtailÚremoverE   )rx   ÚparentÚ
carry_textÚchilds   &   r   Úremove_fnrefsrˆ   —   sï   € ô ˆD�I‰I�eÓ˜dÓ#Ò+ØˆÜ�D‹>€Dà—,‘,˜{Ö+ˆØˆ
Ü˜fÖ%ˆEà�y‰y˜EÔ! e§i¡i°°bÓ&9×&DÑ&DÀW×&MÒ&MØ %§
¡
× 0Ð 0¨bÐ1°*°Ð>�
Ø—‘˜eÖ$ß‘Ø %§
¡
× 0Ð 0¨bÐ1°*°Ð>�”
Ø’
ñ &÷ ‰:Ø#Ÿ[™[×.Ð.¨BÐ/°
¨|Ð<ˆFŽKñ ,ð €Kr   c                ó¬  € . p\        V 4      '       Ed@   V P                  ^ 4      p. VR&   VR,          .pVP                  V4       . pV '       Ed   V P                  ^ 4      pVR,          p. VR&   WcR,          8  db   VP                  4        ^ p\        V4       F  pWhR,          8:  d   V^,          pK   M	  V'       d   VRV)  pVRV)  pVP                  V4       WcR,          8X  d+   V'       d   VR,          R,          MTP                  V4       M:VR,          P                  V4       VP                  V4       VP                  V4       TpEK  V# )a6  Given an unsorted list with errors and skips, return a nested one.

    [{'level': 1}, {'level': 2}]
    =>
    [{'level': 1, 'children': [{'level': 2, 'children': []}]}]

A wrong list is also converted:

    [{'level': 2}, {'level': 1}]
    =>
    [{'level': 2, 'children': []}, {'level': 1, 'children': []}]
ÚchildrenÚlevelNr`   )ÚlenÚpoprA   r   )	Útoc_listÚordered_listÚlastÚlevelsÚparentsÚtÚcurrent_levelÚto_popÚps	   &        r   Únest_toc_tokensr—   ®   s:  € ð €LÜ
ˆ8‡}ƒ}à�|‰|˜A‹ˆØˆˆZÑØ�w•-�ˆØ×Ñ˜DÔ!Øˆ÷ ˆhØ—‘˜Q“ˆAØ˜g�JˆMØˆAˆj‰Mð  b�zÔ)à—
‘
”ð �Ü! 'Ö*�AØ$¨'­
Ô2Ø !�šáñ	 +÷
 Ø# H f WÐ-�FØ% h¨ wÐ/�Gð —‘˜mÔ,ð  r¥
Ô*ß,3�˜•˜ZÖ(Ø"§F¡F¨1¥Ið
 �ZÕ ×'Ñ'¨Ô*Ø—‘˜tÔ$Ø—‘˜mÔ,Ø‹DàÐr   c                  ó†   a € ] tR t^ïtRtR V 3R lltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltR R ltRtV ;t# )ÚTocTreeprocessorz%Step through document and build TOC. c               ó    € V ^8„  d   QhRRRR/# )r   rI   r   Úconfigzdict[str, Any]r   )r   s   "r   r   ÚTocTreeprocessor.__annotate__ò   s   € ÷ 7ñ 7˜8ð 7¨^ñ 7r   c                	óv  <€ \         SV `  V4       VR ,          V n        VR,          V n        \	        VR,          4      ^,
          V n        VR,          V n        VR,          V n        VR,          V n        VR,          V n	        \        VR,          4      V n        VR,          V n        \        VR	,          R
4      V n        V P                  f   VR	,          V n        VR,          V n        VR,          V n        \        VR,          R
4      V n        \"        P$                  ! R4      V n        \)        VR,          \*        4      '       dO   RVR,          9   dA   VR,          P-                  R4       Uu. uF  p\	        V4      NK  	  upw  V n        V n        R# ^V n        \	        VR,          4      V n        R# u upi )ÚmarkerÚtitleÚ	baselevelr,   r   Ú	toc_classÚtitle_classÚ
anchorlinkÚanchorlink_classÚ	permalinkFNÚpermalink_classÚpermalink_titleÚpermalink_leadingz[Hh][123456]Ú	toc_depthÚ-)ÚsuperÚ__init__rž   rŸ   r7   Ú
base_levelr,   Úsepr¡   r¢   r   Úuse_anchorsr¤   Úuse_permalinksr¦   r§   r¨   r(   ÚcompileÚ
header_rgxr@   r   rb   Útoc_topÚ
toc_bottom)ÚselfrI   r›   ÚxÚ	__class__s   &&& €r   r¬   ÚTocTreeprocessor.__init__ò   sm  ø€ Ü‰Ñ˜Ôà! (Õ+ˆŒØ  �/ˆŒ
Ü˜f [Õ1Ó2°QÕ6ˆŒØ˜iÕ(ˆŒØ˜+Õ&ˆŒØ Õ,ˆŒØ & }Õ 5ˆÔÜ!/°°|Õ0DÓ!EˆÔØ%+Ð,>Õ%?ˆÔÜ,¨V°KÕ-@À%ÓHˆÔØ×ÑÒ&Ø"(¨Õ"5ˆDÔØ$*Ð+<Õ$=ˆÔØ$*Ð+<Õ$=ˆÔÜ.<¸VÐDWÕ=XÐZ_Ó.`ˆÔÜŸ*š* ^Ó4ˆŒÜ�f˜[Õ)¬3×/Ò/°C¸6À+Õ;NÔ4NØ=CÀKÕ=P×=VÑ=VÐWZÔ=[Ó,\Ñ=[¸¬S°®VÑ=[Ñ,\Ñ)ˆDŒL˜$ž/àˆDŒLÜ! &¨Õ"5Ó6ˆDŽOùò -]s   Å0F6c               ó    € V ^8„  d   QhRRRR/# )r   Únoder=   r   z-Iterator[tuple[etree.Element, etree.Element]]r   )r   s   "r   r   rœ     s   € ÷ 	2ñ 	2˜}ð 	2Ð1^ñ 	2r   c              #  óà   "  € V Fa  pV P                   P                  VP                  4      '       d   K0  VP                  R9  g   KC  W3x € V P                  V4       Rj  x€L
  Kc  	  R#  L
5i)z>Iterator wrapper to get allowed parent and child all at once. N)ÚpreÚcode)r²   r5   r€   Ú
iterparent)rµ   rº   r‡   s   && r   r¾   ÚTocTreeprocessor.iterparent  sT   é € ó ˆEØ—?‘?×(Ñ(¨¯©×3Ô3¸¿	¹	ÈÖ8XØ�kÒ!ØŸ?™?¨5Ó1×1Ò1ó ñ 2ùs   ‚.A.µA.ÁA.Á!A,Á"A.c               ó$   € V ^8„  d   QhRRRRRR/# )r   rx   r=   Úelemr   ÚNoner   )r   s   "r   r   rœ     s!   € ÷ ñ  =ð ¸ð È$ñ r   c                ó¨  € V P                  V4       F¼  w  r4RP                  VP                  4       4      P                  4       pV'       g   K<  VP                  '       g   KP  VP                  P                  4       V P
                  8X  g   K{  \        V4      ^ 8X  g   K�  \        \        V4      4       F  pW6,          V8X  g   K  W#V&    Kº  	  K¾  	  R# )zReplace marker with elem. r#   N)r¾   rD   r?   r*   rE   rž   rŒ   Úrange)rµ   rx   rÁ   r–   rF   rE   Úis   &&&    r   Úreplace_markerÚTocTreeprocessor.replace_marker  s‰   € à—o‘o dÖ+‰FˆQØ—7‘7˜1Ÿ:™:›<Ó(×.Ñ.Ó0ˆDßÙð �v�vŠv˜!Ÿ&™&Ÿ,™,›.¨D¯K©KÖ7¼CÀ»FÀa¾KÜœs 1›vž�AØ•t˜q–yØ#˜!™Úó 'ó ,r   c               ó    € V ^8„  d   QhRRRR/# )r   rÁ   r=   r   rÂ   r   )r   s   "r   r   rœ   +  s   € ÷ !ñ !˜mð !°ñ !r   c                óŽ   € \        VP                  R,          4      V P                  ,           pV^8”  d   ^pRV,          Vn        R# )z-Adjust header level according to base level. zh%dNr`   )r7   r€   r­   )rµ   rÁ   r‹   s   && r   Ú	set_levelÚTocTreeprocessor.set_level+  s4   € ä�D—H‘H˜R•LÓ! D§O¡OÕ3ˆØ�1Œ9ØˆEØ˜5•=ˆŽr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rF   r=   Úelem_idr   r   rÂ   r   )r   s   "r   r   rœ   2  s!   € ÷ 
ñ 
˜Mð 
°Cð 
¸Dñ 
r   c                	ól  € \         P                  ! R 4      pVP                  Vn        RV,           VP                  R&   V P                  VP                  R&   RVn        V F  pVP                  V4       K  	  \        V4      '       d   VP                  V^ ,          4       K+  VP                  V4       R# )ÚaÚ#ÚhrefÚclassr#   N)ÚetreeÚElementrE   Úattribr¤   rA   rŒ   r„   )rµ   rF   rÎ   ÚanchorrÁ   s   &&&  r   Ú
add_anchorÚTocTreeprocessor.add_anchor2  s‚   € Ü—’˜sÓ#ˆØ—f‘fˆŒØ # g¥ˆ�‰�fÑØ!%×!6Ñ!6ˆ�‰�gÑØˆŒÛˆDØ�M‰M˜$Öñ ä�!�fŠfØ�H‰H�Q�q•TŽNØ	�‰�Ör   c               ó$   € V ^8„  d   QhRRRRRR/# rÍ   r   )r   s   "r   r   rœ   >  s!   € ÷  ñ  ˜}ð  °sð  ¸tñ  r   c                	óà  € \         P                  ! R 4      pV P                  RJ d   R\        ,          MV P                  Vn        RV,           VP
                  R&   V P                  VP
                  R&   V P                  '       d   V P                  VP
                  R&   V P                  '       d-   VP                  Vn	        RVn        VP                  ^ V4       R# VP                  V4       R# )	rÐ   Tz%spara;rÑ   rÒ   rÓ   rŸ   r#   N)rÔ   rÕ   r°   r   rE   rÖ   r¦   r§   r¨   rƒ   ÚinsertrA   )rµ   rF   rÎ   r¥   s   &&& r   Úadd_permalinkÚTocTreeprocessor.add_permalink>  s¾   € Ü—M’M #Ó&ˆ	à!×0Ñ0°DÓ8ð $¤nÖ4à#×2Ñ2ð 	Œð $'¨¥=ˆ	×Ñ˜Ñ Ø$(×$8Ñ$8ˆ	×Ñ˜Ñ!Ø××ÐØ(,×(<Ñ(<ˆI×Ñ˜WÑ%Ø×!×!Ð!ØŸV™VˆIŒNØˆAŒFØ�H‰H�Q˜	Ö"à�H‰H�YÖr   c               ó    € V ^8„  d   QhRRRR/# )r   rŽ   Úlistr   r=   r   )r   s   "r   r   rœ   N  s   € ÷ ñ  dð ¨}ñ r   c                óà  a€ \         P                  ! R4      pV P                  VP                  R&   V P                  '       dT   \         P
                  ! VR4      pV P                  '       d   V P                  VP                  R&   V P                  Vn        R V3R lloS! W4       RV P                  P                  9   d-   V P                  P                  R,          P                  V4       V# )z&Return a string div given a toc list. ÚdivrÓ   Úspanc               ó$   € V ^8„  d   QhRRRRRR/# )r   rŽ   rà   r…   r=   r   r   )r   s   "r   r   Ú4TocTreeprocessor.build_toc_div.<locals>.__annotate__Z  s!   € ÷ 
	ñ 
	 Tð 
	°=ð 
	À]ñ 
	r   c                ó`  <€ \         P                  ! VR 4      pV  F�  p\         P                  ! VR4      p\         P                  ! VR4      pVP                  RR4      Vn        RVP                  RR4      ,           VP                  R&   VR,          '       g   K  S! VR,          V4       K‘  	  V# )	ÚulÚlirÐ   Únamer#   rÑ   r1   rÒ   rŠ   )rÔ   Ú
SubElementr�   rE   rÖ   )rŽ   r…   rç   Úitemrè   ÚlinkÚbuild_etree_uls   &&    €r   rí   Ú6TocTreeprocessor.build_toc_div.<locals>.build_etree_ulZ  s”   ø€ Ü×!Ò! &¨$Ó/ˆBÛ �ä×%Ò% b¨$Ó/�Ü×'Ò'¨¨CÓ0�Ø ŸH™H V¨RÓ0�”	Ø&)¨D¯H©H°T¸2Ó,>Õ&>�—‘˜FÑ#Ø˜
×#Ö#Ù" 4¨
Õ#3°RÖ8ñ !ð ˆIr   Úprettify)rÔ   rÕ   r¡   rÖ   rŸ   rê   r¢   rE   rI   Útreeprocessorsrn   )rµ   rŽ   râ   Úheaderrí   s   &&  @r   Úbuild_toc_divÚTocTreeprocessor.build_toc_divN  s³   ø€ ä�mŠm˜EÓ"ˆØ"Ÿn™nˆ�
‰
�7Ñð �:�:ˆ:Ü×%Ò% c¨6Ó2ˆFØ××ÐØ)-×)9Ñ)9�—‘˜gÑ&ØŸ*™*ˆFŒK÷
	ð 
	ñ 	�xÔ%à˜Ÿ™×/Ñ/Ô/Ø�G‰G×"Ñ" :Õ.×2Ñ2°3Ô7àˆ
r   c               ó    € V ^8„  d   QhRRRR/# )r   Údocr=   r   rÂ   r   )r   s   "r   r   rœ   m  s   € ÷ 2ñ 2�}ð 2¨ñ 2r   c                	óâ  € \        4       pVP                  4        F8  pR VP                  9   g   K  VP                  VP                  R ,          4       K:  	  . pVP                  4        EFY  p\	        VP
                  \        4      '       g   K&  V P                  P                  VP
                  4      '       g   KS  V P                  V4       \        \        V4      V P                  4      p\        V4      pR VP                  9  dH   \        V P                  \         P"                  ! V4      V P$                  4      V4      VP                  R &   RpRVP                  9   dR   \'        \#        VP                  R,          4      V P                  4      p\)        \        V4      4      pVP                  R \+        VP
                  R,          4      V P,                  8¼  d{   \+        VP
                  R,          4      V P.                  8:  dP   VP1                  R\+        VP
                  R,          4      R \#        VP                  R ,          4      RVRVRV/4       V P2                  '       d#   V P5                  W3P                  R ,          4       V P6                  R9  g   EK7  V P9                  W3P                  R ,          4       EK\  	  \;        V4      pV P=                  V4      pV P>                  '       d   V PA                  W4       V P                  PC                  V4      p	V P                  PD                   F  p
V
PG                  V	4      p	K  	  W@P                  n$        W�P                  n%        R# )	r1   r#   zdata-toc-labelr‹   ré   rB   Nr`   )FN)&Úsetr}   rÖ   r8   r@   r€   r   r²   r5   rÊ   rv   rˆ   rI   re   r:   r,   rB   rC   r®   rp   rj   r7   r³   r´   rA   r¯   rØ   r°   rÝ   r—   rò   rž   rÆ   rs   rm   rn   Ú
toc_tokensÚtoc)rµ   rõ   Úused_idsr<   rø   Ú	innerhtmlré   Údata_toc_labelrâ   rù   ro   s   &&         r   rn   ÚTocTreeprocessor.runm  sf  € ä“5ˆØ—(‘(–*ˆBØ�r—y‘yÖ Ø—‘˜RŸY™Y t�_Ö-ñ ð ˆ
Ø—(‘(—*ˆBÜ˜"Ÿ&™&¤#×&Ô&¨4¯?©?×+@Ñ+@ÀÇÁ×+HÔ+HØ—‘˜rÔ"Ü-¬m¸BÓ.?ÀÇÁÓI�	Ü! )Ó,�ð ˜rŸy™yÔ(Ü&,¨T¯\©\¼$¿-º-ÈÓ:MÈtÏxÉxÓ-XÐZbÓ&c�B—I‘I˜d‘Oà!#�Ø# r§y¡yÔ0Ü%7¼ÀÇÁÐK[ÕA\Ó8]Ð_c×_fÑ_fÓ%g�Nä'¬
°>Ó(BÓC�DàŸ	™	Ð"2Ð3ä�r—v‘v˜b•z“? d§l¡lÔ2´s¸2¿6¹6À"½:³È$Ï/É/Ô7YØ×%Ñ%Ø¤ R§V¡V¨B¥Z£Øœh r§y¡y°¥Ó7Ø Ø 	Ø(¨.ð'ô ð ×#×#Ð#Ø—O‘O B¯	©	°$­Ô8Ø×&Ñ&¨m×;Ø×&Ñ& r¯9©9°T­?×;ñ= ô@ % ZÓ0ˆ
Ø× Ñ  Ó,ˆØ�;�;ˆ;Ø×Ñ Ô)ð �g‰g× Ñ  Ó%ˆØ—'‘'×(Ô(ˆBØ—&‘&˜“+ŠCñ )à'�‰ÔØ�‰Žr   )r¤   r­   r²   rž   r¦   r¨   r§   r®   r,   rŸ   r¢   r´   r¡   r³   r¯   r°   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r¬   r¾   rÆ   rÊ   rØ   rÝ   rò   rn   Ú__static_attributes__Ú__classcell__©r·   s   @r   r™   r™   ï   s8   ø† Ù0÷7ð 7õ2	2õõ*!õ
õ õ ÷>2ó 2r   r™   c                  ó>   a € ] tR tRt]tV 3R ltR tR R ltRt	V ;t
# )ÚTocExtensioni¢  c                	ó°   <€ R RR.RRR.RRR.R	R
R.RRR.RRR.R^ R.RRR.RRR.RRR.RRR.R\         R .R!R"R#.R$^R%./V n         \        SV `  ! R'/ VB  R&# )(rž   z[TOC]zeText to find and replace with Table of Contents. Set to an empty string to disable. Default: `[TOC]`.rŸ   r#   z;Title to insert into TOC `<div>`. Default: an empty string.r¢   Útoctitlez2CSS class used for the title. Default: `toctitle`.r¡   rù   z4CSS class(es) used for the link. Default: `toclink`.r£   Fz7True if header should be a self link. Default: `False`.r¤   Útoclinkz5CSS class(es) used for the link. Defaults: `toclink`.r¥   zPTrue or link text if a Sphinx-style permalink should be added. Default: `False`.r¦   Ú
headerlinkz7CSS class(es) used for the link. Default: `headerlink`.r§   zPermanent linkz<Title attribute of the permalink. Default: `Permanent link`.r¨   z\True if permalinks should be placed at start of the header, rather than end. Default: False.r    Ú1z%Base level for headers. Default: `1`.r,   zFFunction to generate anchors based on header text. Default: `slugify`.r   rª   zWord separator. Default: `-`.r©   a'  Define the range of section levels to include in the Table of Contents. A single integer (b) defines the bottom section level (<h1>..<hb>) only. A string consisting of two digits separated by a hyphen in between (`2-5`) defines the top (t) and the bottom (b) (<ht>..<hb>). Default: `6` (bottom).Nr   )r,   r›   r«   r¬   )rµ   Úkwargsr·   s   &,€r   r¬   ÚTocExtension.__init__¦  sû   ø€ àØð$ðð
 ØÐQðð ØÐPðð ØÐMðð ØÐPðð ØÐRð!ð ØÐeðð ØÐWð ð Ø Ð"`ð ð  ØØnð"ð ˜#ÐFÐGØÜÐaðð ˜#Ð>Ð?ØØð)ððO.
ˆŒð^ 	/ä‰ÒÑ"˜6Ô"r   c                óÌ   € VP                  V 4       Wn        V P                  4        V P                  WP	                  4       4      pVP
                  P                  VR^4       R# )z$Add TOC tree processor to Markdown. rù   N)ÚregisterExtensionrI   ÚresetÚTreeProcessorClassÚ
getConfigsrð   Úregister)rµ   rI   Útocexts   && r   ÚextendMarkdownÚTocExtension.extendMarkdownÚ  sM   € à
×Ñ˜TÔ"ØŒØ�
‰
ŒØ×(Ñ(¨¯_©_Ó->Ó?ˆØ
×Ñ×"Ñ" 6¨5°!Ö4r   c               ó   € V ^8„  d   QhRR/# )r   r   rÂ   r   )r   s   "r   r   ÚTocExtension.__annotate__â  s   € ÷  ñ  �tñ  r   c                	óJ   € R V P                   n        . V P                   n        R# )r#   N)rI   rù   rø   )rµ   s   &r   r  ÚTocExtension.resetâ  s   € Øˆ�‰ŒØˆ�‰Ör   )r›   rI   )rþ   rÿ   r   r  r™   r  r¬   r  r  r  r  r  s   @r   r  r  ¢  s   ø† à)Ðõ2#òh5÷ ó  r   r  c                 ó   € \        R/ V B # )Nr   )r  )r  s   ,r   ÚmakeExtensionr  ç  s   € ÜÑ!˜&Ñ!Ð!r   )F)T)0r  Ú
__future__r   r#   r   rð   r   Úutilr   r   r   r   r	   r
   Úserializersr   r(   rB   r$   Úcopyr   Úxml.etree.ElementTreerÔ   ÚElementTreeÚtypingr   r   r   r   Úmarkdownr   r,   r/   r±   r4   r:   rG   rW   rC   re   rj   rp   rv   rˆ   r—   r™   r  r  r   r   r   Ú<module>r&     sÝ   ðñõ #å Ý *ß `Õ `Ý 2Ý  Û 	Û Û Ý ß %Ð %ß ;Ó ;çÝ!÷Bõ3ð
 �ZŠZÐ*Ó+€
õ	ñ Ð>Ó?ô	!ó @ð	!ñ ÐWÓXö4ó Yð4õ"õõ	õõ
(õò.>ôBp�}ô pôfB �9ô B ôJ"r   