+
    Z‹iè  ã                  ó4  € R t ^ RIHt ^RIHt ^RIHt ^RIHt ^RI	H
t
 ^RIHtHt ^ RIHt ^ RIt^ RIHu Ht ]'       d   ^R	IHt ^R
IHt  ! R R]4      t ! R R]
4      t ! R R]4      t]! R4      ! ]4      t]! R4       ! R R]4      4       tR tR# )z¡
This extension adds abbreviation handling to Python-Markdown.

See the [documentation](https://Python-Markdown.github.io/extensions/abbreviations)
for details.
)Úannotations)Ú	Extension)ÚBlockProcessor)ÚInlineProcessor)ÚTreeprocessor)ÚAtomicStringÚ
deprecated)ÚTYPE_CHECKINGN)ÚMarkdown)ÚBlockParserc                  óJ   a € ] tR t^'tRtV 3R ltR tR tR R ltR t	Rt
V ;t# )	ÚAbbrExtensionz,Abbreviation Extension for Python-Markdown. c                ó\   <€ R/ R./V n          \        SV `  ! R/ VB  / V n        / V n        R# )z'Initiate Extension and set up configs. Úglossaryz`A dictionary where the `key` is the abbreviation and the `value` is the definition.Default: `{}`N© )ÚconfigÚsuperÚ__init__Úabbrsr   )ÚselfÚkwargsÚ	__class__s   &,€Ú:/usr/lib/python3/dist-packages/markdown/extensions/abbr.pyr   ÚAbbrExtension.__init__*   sA   ø€ ð Øð ðð
ˆŒð 	/Ü‰ÒÑ"˜6Ò"ØˆŒ
ØˆŽó    c                ó¬   € V P                   P                  4        V P                  '       d(   V P                   P                  V P                  4       R# R# )z,Clear all previously defined abbreviations. N)r   Úclearr   Úupdate©r   s   &r   ÚresetÚAbbrExtension.reset8   s6   € à�
‰
×ÑÔØ�M�MˆMØ�J‰J×Ñ˜dŸm™mÖ,ñ r   c                ó:   € V P                   P                  4        R# )z+Clear all abbreviations from the glossary. N)r   r   r   s   &r   Úreset_glossaryÚAbbrExtension.reset_glossary>   s   € à�‰×ÑÖr   c               ó   € V ^8„  d   QhRR/# )é   Ú
dictionaryzdict[str, str]r   )Úformats   "r   Ú__annotate__ÚAbbrExtension.__annotate__B   s   € ÷ <ñ <¨ñ <r   c                óD   € V'       d   / VCV P                   CV n         R# R# )z\Adds `dictionary` to our glossary. Any abbreviations that already exist will be overwritten.N)r   )r   r&   s   &&r   Úload_glossaryÚAbbrExtension.load_glossaryB   s   € çØ;˜zÐ;¨T¯]©]Ð;ˆDŽMñ r   c                óî  € V P                   R,          ^ ,          '       d*   V P                  V P                   R,          ^ ,          4       V P                  P                  V P                  4       VP                  V 4       VP                  P                  \        WP                  4      R^4       VP                  P                  P                  \        VP                  V P                  4      R^4       R# )z5Insert `AbbrTreeprocessor` and `AbbrBlockprocessor`. r   ÚabbrN)r   r+   r   r   r   ÚregisterExtensionÚtreeprocessorsÚregisterÚAbbrTreeprocessorÚparserÚblockprocessorsÚAbbrBlockprocessor)r   Úmds   &&r   ÚextendMarkdownÚAbbrExtension.extendMarkdownG   s¦   € à�K‰K˜
Õ# A×&Ô&Ø×Ñ˜tŸ{™{¨:Õ6°qÕ9Ô:Ø�
‰
×Ñ˜$Ÿ-™-Ô(Ø
×Ñ˜TÔ"Ø
×Ñ×"Ñ"Ô#4°R¿¹Ó#DÀfÈaÔPØ
�	‰	×!Ñ!×*Ñ*Ô+=¸b¿i¹iÈÏÉÓ+TÐV\Ð^`Öar   )r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r"   r+   r7   Ú__static_attributes__Ú__classcell__©r   s   @r   r   r   '   s&   ø† Ù7õò-òõ<÷
bð br   r   c                  ó^   a € ] tR t^QtRtRR V 3R llltR R ltRR R lltR R	 ltR
t	V ;t
# )r2   z2Replace abbreviation text with `<abbr>` elements. c               ó    € V ^8„  d   QhRRRR/# )r%   r6   zMarkdown | Noner   zdict | Noner   )r'   s   "r   r(   ÚAbbrTreeprocessor.__annotate__T   s   € ÷ ñ ˜?ð ¸+ñ r   c                	óN   <€ Ve   TM/ V n         R V n        \        SV `  V4       R # ©N)r   ÚREr   r   )r   r6   r   r   s   &&&€r   r   ÚAbbrTreeprocessor.__init__T   s%   ø€ Ø$)Ò$5™5¸2ˆŒ
Ø)-ˆŒÜ‰Ñ˜Ör   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r%   ÚtitleÚstrÚtextÚtailÚreturnúetree.Elementr   )r'   s   "r   r(   rC   Y   s(   € ÷ ñ  Cð ¨sð ¸#ð À-ñ r   c                ód   € \         P                  ! RRV/4      p\        V4      Vn        W4n        V# )zCreate an `abbr` element. r.   rI   )ÚetreeÚElementr   rK   rL   )r   rI   rK   rL   r.   s   &&&& r   Úcreate_elementÚ AbbrTreeprocessor.create_elementY   s-   € ä�}Š}˜V g¨uÐ%5Ó6ˆÜ  Ó&ˆŒ	ØŒ	Øˆr   c               ó$   € V ^8„  d   QhRRRRRR/# )r%   ÚelrN   Úparentúetree.Element | NonerM   ÚNoner   )r'   s   "r   r(   rC   `   s#   € ÷ ñ ˜}ð Ð6Jð ÐVZñ r   c                óv  € \        V4       F  pV P                  W14       K  	  VP                  ;p'       dò   \        V\        4      '       gÜ   \        \        V P                  P                  V4      4      4       F¤  pV P                  VP                  ^ 4      ,          '       g   K-  V P                  V P                  VP                  ^ 4      ,          VP                  ^ 4      WEP                  4       R 4      pVP                  ^ V4       VRVP                  4        pK¦  	  WAn        VEe   VP                  '       dø   VP                  p\        V4      P                  V4      ^,           p\        V\        4      '       g³   \        \        V P                  P                  V4      4      4       Fy  pV P                  V P                  VP                  ^ 4      ,          VP                  ^ 4      WuP                  4       R 4      pVP                  W†4       VRVP                  4        pK{  	  Wqn        R# R# R# R# )zVRecursively iterate over elements, run regex on text and wrap matches in `abbr` tags. N)ÚreversedÚiter_elementrK   Ú
isinstancer   ÚlistrF   Úfinditerr   ÚgrouprR   ÚendÚinsertÚstartrL   Úindex)	r   rU   rV   ÚchildrK   Úmr.   rL   rc   s	   &&&      r   r[   ÚAbbrTreeprocessor.iter_element`   s¨  € ä˜b–\ˆEØ×Ñ˜eÖ(ñ "à—7‘7ˆ?ˆ4Ž?Ü˜d¤L×1Ò1Ü!¤$ t§w¡w×'7Ñ'7¸Ó'=Ó">Ö?�AØ—z‘z !§'¡'¨!£*×-Ö-Ø#×2Ñ2°4·:±:¸a¿g¹gÀa»jÕ3IÈ1Ï7É7ÐSTË:ÐW[×\aÑ\aÓ\cÐ\dÐWeÓf˜ØŸ	™	 ! TÔ*Ø# J Q§W¡W£YÐ/šñ	 @ð
 ”ØÓ "§'§' 'Ø—7‘7ˆDÜ˜“L×&Ñ& rÓ*¨QÕ.ˆEÜ˜d¤L×1Ò1Ü!¤$ t§w¡w×'7Ñ'7¸Ó'=Ó">Ö?�AØ×.Ñ.¨t¯z©z¸!¿'¹'À!»*Õ/EÀqÇwÁwÈqÃzÐSW×X]ÑX]ÓX_ÐX`ÐSaÓb�DØ—M‘M %Ô.Ø 
 §¡£Ð+’Dñ @ð –ñ 2ñ #*Ñr   c               ó    € V ^8„  d   QhRRRR/# )r%   ÚrootrN   rM   rW   r   )r'   s   "r   r(   rC   v   s   € ÷ 
 ñ 
 ˜ð 
 Ð*>ñ 
 r   c                ó.  € V P                   '       g   R# \        V P                   P                  4       4      pVP                  \        RR7       \
        P                  ! RRP                  R V 4       4       R24      V n        V P                  V4       R# )z/Step through tree to find known abbreviations. NT)ÚkeyÚreversez\b(?:Ú|c              3  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5irE   )ÚreÚescape)Ú.0rj   s   & r   Ú	<genexpr>Ú(AbbrTreeprocessor.run.<locals>.<genexpr>~   s   é € Ð/TÉ)À3´·	²	¸#·°Ë)ùs   ‚#%z)\b)
r   r]   ÚkeysÚsortÚlenrn   ÚcompileÚjoinrF   r[   )r   rh   Ú	abbr_lists   && r   ÚrunÚAbbrTreeprocessor.runv   sk   € à�z�zˆzáä˜Ÿ™Ÿ™Ó*Ó+ˆ	Ø�‰œ3¨ˆÔ-Ü—*’*˜v s§x¡xÑ/TÉ)Ó/TÓ'TÐ%VÐVZÐ[Ó\ˆŒà×Ñ˜$Ör   )rF   r   )NNrE   )r9   r:   r;   r<   r=   r   rR   r[   ry   r>   r?   r@   s   @r   r2   r2   Q   s$   ø† Ù=÷ò õ
÷÷,
 ó 
 r   r2   c                  ó„   a € ] tR t^ƒtRt]P                  ! R]P                  4      tR V 3R llt	R R lt
R R ltR	tV ;t# )
r5   z(Parse text for abbreviation references. z7^[*]\[(?P<abbr>[^\\]*?)\][ ]?:[ ]*\n?[ ]*(?P<title>.*)$c               ó    € V ^8„  d   QhRRRR/# )r%   r3   r   r   Údictr   )r'   s   "r   r(   ÚAbbrBlockprocessor.__annotate__ˆ   s   € ÷ !ñ !˜{ð !°4ñ !r   c                	ó2   <€ W n         \        SV `	  V4       R # rE   )r   r   r   )r   r3   r   r   s   &&&€r   r   ÚAbbrBlockprocessor.__init__ˆ   s   ø€ Ø Œ
Ü‰Ñ˜Ö r   c               ó$   € V ^8„  d   QhRRRRRR/# )r%   rV   rN   ÚblockrJ   rM   Úboolr   )r'   s   "r   r(   r~   Œ   s!   € ÷ ñ ˜=ð °ð ¸ñ r   c                	ó   € R # )Tr   )r   rV   r‚   s   &&&r   ÚtestÚAbbrBlockprocessor.testŒ   s   € Ùr   c               ó$   € V ^8„  d   QhRRRRRR/# )r%   rV   rN   Úblocksz	list[str]rM   rƒ   r   )r'   s   "r   r(   r~   �   s!   € ÷ ñ ˜-ð °ð ¸tñ r   c                ó  € VP                  ^ 4      pV P                  P                  V4      pV'       Ed9   VP                  R4      P	                  4       pVP                  R4      P	                  4       pV'       dó   V'       dë   VR8X  g   VR8X  d   V P
                  P                  V4       MW`P
                  V&   W4P                  4       R P	                  4       '       d2   VP                  ^ W4P                  4       R P                  R4      4       VRVP                  4        P	                  4       '       d3   VP                  ^ VRVP                  4        P                  R4      4       R# VP                  ^ V4       R# )	zu
Find and remove all abbreviation references from the text.
Each reference is added to the abbreviation collection.

r.   rI   z''z""NÚ
TF)ÚpoprF   Úsearchr_   Ústripr   r`   ra   Úlstriprb   Úrstrip)r   rV   rˆ   r‚   re   r.   rI   s   &&&    r   ry   ÚAbbrBlockprocessor.run�   s  € ð —
‘
˜1“ˆØ�G‰G�N‰N˜5Ó!ˆßˆ1Ø—7‘7˜6“?×(Ñ(Ó*ˆDØ—G‘G˜GÓ$×*Ñ*Ó,ˆEßŸØ˜D”= E¨T¤MØ—J‘J—N‘N 4Õ(à',—J‘J˜tÑ$ØŸ™›˜�?×(Ñ(×*Ò*à—M‘M ! U¯5©5«7¨8 _×%;Ñ%;¸DÓ%AÔBØ˜˜!Ÿ'™'›)Ð$×*Ñ*×,Ò,à—M‘M ! U¨:¨A¯G©G«IÐ%6×%=Ñ%=¸dÓ%CÔDÙà�‰�a˜ÔÙr   )r   )r9   r:   r;   r<   r=   rn   rv   Ú	MULTILINErF   r   r…   ry   r>   r?   r@   s   @r   r5   r5   ƒ   s7   ø† Ù3à	�ŠÐNÐPR×P\ÑP\Ó	]€B÷!ð !õ÷ó r   r5   z4This class has been renamed to `AbbrBlockprocessor`.zJThis class will be removed in the future; use `AbbrTreeprocessor` instead.c                  ó>   a € ] tR t^®tRtR V 3R lltR R ltRtV ;t# )ÚAbbrInlineProcessorzAbbreviation inline pattern. c               ó    € V ^8„  d   QhRRRR/# )r%   ÚpatternrJ   rI   r   )r'   s   "r   r(   Ú AbbrInlineProcessor.__annotate__²   s   € ÷ ñ  ð ¨Cñ r   c                	ó2   <€ \         SV `  V4       W n        R # rE   )r   r   rI   )r   r•   rI   r   s   &&&€r   r   ÚAbbrInlineProcessor.__init__²   s   ø€ Ü‰Ñ˜Ô!ØŽ
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r%   re   zre.Match[str]ÚdatarJ   rM   ztuple[etree.Element, int, int]r   )r'   s   "r   r(   r–   ¶   s"   € ÷ *ñ *˜]ð *°#ð *Ð:Xñ *r   c                	óè   € \         P                  ! R 4      p\        VP                  R 4      4      Vn        VP                  RV P                  4       W1P                  ^ 4      VP                  ^ 4      3# )r.   rI   )	rP   rQ   r   r_   rK   ÚsetrI   rb   r`   )r   re   rš   r.   s   &&& r   ÚhandleMatchÚAbbrInlineProcessor.handleMatch¶   sQ   € Ü�}Š}˜VÓ$ˆÜ  §¡¨£Ó1ˆŒ	Ø�‰�˜$Ÿ*™*Ô%Ø—W‘W˜Q“Z §¡ q£Ð)Ð)r   )rI   )	r9   r:   r;   r<   r=   r   r�   r>   r?   r@   s   @r   r“   r“   ®   s   ø† á(÷ð ÷*ó *r   r“   c                 ó   € \        R/ V B # )Nr   )r   )r   s   ,r   ÚmakeExtensionr    ½   s   € ÜÑ"˜6Ñ"Ð"r   )r=   Ú
__future__r   Ú r   r4   r   Úinlinepatternsr   r0   r   Úutilr   r   Útypingr	   rn   Úxml.etree.ElementTreerP   ÚElementTreer
   Úblockparserr   r   r2   r5   ÚAbbrPreprocessorr“   r    r   r   r   Ú<module>rª      s—   ðñ õ #å Ý ,Ý ,Ý *ß +Ý  Û 	ß %Ð %çÝÝ)ô'b�Iô 'bôT/ ˜ô / ôd%˜ô %ñP ÐTÔUÐVhÓiÐ ñ ÐXÓYô*˜/ó *ó Zð*ô#r   