+
    Z‹iÖ  ã                  ój   € R t ^ RIHt ^ RIHtHtHtHt ^RIH	t	 ]'       d   ^ RI
Ht  ! R R4      tR# )aì  
Markdown accepts an [`Extension`][markdown.extensions.Extension] instance for each extension. Therefore, each extension
must to define a class that extends [`Extension`][markdown.extensions.Extension] and over-rides the
[`extendMarkdown`][markdown.extensions.Extension.extendMarkdown] method. Within this class one can manage configuration
options for their extension and attach the various processors and patterns which make up an extension to the
[`Markdown`][markdown.Markdown] instance.
)Úannotations)ÚTYPE_CHECKINGÚAnyÚIterableÚMapping)ÚparseBoolValue)ÚMarkdownc                  ó~   € ] tR t^%t$ Rt/ tR]R&    R tRR 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tR# )Ú	Extensionz'Base class for extensions to subclass. zMapping[str, list]Úconfigc                ó(   € V P                  V4       R# )z'Initiate Extension and set up configs. N)Ú
setConfigs)ÚselfÚkwargss   &,Ú>/usr/lib/python3/dist-packages/markdown/extensions/__init__.pyÚ__init__ÚExtension.__init__8   s   € à�‰˜Öó    c               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚkeyÚstrÚdefaultr   Úreturn© )Úformats   "r   Ú__annotate__ÚExtension.__annotate__<   s!   € ÷ ñ ˜Sð ¨3ð ¸ñ r   c                óZ   € WP                   9   d   V P                   V,          ^ ,          # V# )zÍ
Return a single configuration option value.

Arguments:
    key: The configuration option name.
    default: Default value to return if key is not set.

Returns:
    Value of stored configuration option.
)r   )r   r   r   s   &&&r   Ú	getConfigÚExtension.getConfig<   s'   € ð —+‘+ÔØ—;‘;˜sÕ# AÕ&Ð&àˆNr   c               ó   € V ^8„  d   QhRR/# )r   r   zdict[str, Any]r   )r   s   "r   r   r   L   s   € ÷ Hñ H˜Nñ Hr   c                ó~   € V P                   P                  4        Uu/ uF  qV P                  V4      bK  	  up# u upi )zL
Return all configuration options.

Returns:
    All configuration options.
)r   Úkeysr   ©r   r   s   & r   Ú
getConfigsÚExtension.getConfigsL   s7   € ð 59·K±K×4DÑ4DÔ4FÓGÑ4F¨S�T—^‘^ CÓ(Ò(Ñ4FÑGÐGùÒGs   �:c               ó   € V ^8„  d   QhRR/# )r   r   zlist[tuple[str, str]]r   )r   s   "r   r   r   U   s   € ÷ Jñ JÐ4ñ Jr   c                ó’   € V P                   P                  4        Uu. uF  qV P                   V,          ^,          3NK   	  up# u upi )zl
Return descriptions of all configuration options.

Returns:
    All descriptions of configuration options.
)r   r#   r$   s   & r   ÚgetConfigInfoÚExtension.getConfigInfoU   s<   € ð 7;·k±k×6FÑ6FÔ6HÓIÑ6H¨s�d—k‘k #Õ& qÕ)Ó*Ñ6HÑIÐIùÒIs   �$Ac               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Úvaluer   r   ÚNoner   )r   s   "r   r   r   ^   s!   € ÷ $ñ $˜Sð $¨ð $°ñ $r   c                óô   € \        V P                  V,          ^ ,          \        4      '       d   \        V4      pV P                  V,          ^ ,          f   \        VRR7      pW P                  V,          ^ &   R# )a‰  
Set a configuration option.

If the corresponding default value set in [`config`][markdown.extensions.Extension.config]
is a `bool` value or `None`, then `value` is passed through
[`parseBoolValue`][markdown.util.parseBoolValue] before being stored.

Arguments:
    key: Name of configuration option to set.
    value: Value to assign to option.

Raises:
    KeyError: If `key` is not known.
NT)Úpreserve_none)Ú
isinstancer   Úboolr   )r   r   r,   s   &&&r   Ú	setConfigÚExtension.setConfig^   sZ   € ô �d—k‘k #Õ& qÕ)¬4×0Ò0Ü" 5Ó)ˆEØ�;‰;�sÕ˜AÕÒ&Ü" 5¸Ô=ˆEØ#�‰�CÕ˜Ór   c               ó    € V ^8„  d   QhRRRR/# )r   Úitemsz-Mapping[str, Any] | Iterable[tuple[str, Any]]r   r-   r   )r   s   "r   r   r   s   s   € ÷ 'ñ 'Ð Mð 'ÐRVñ 'r   c                ó‚   € \        VR4      '       d   VP                  4       pV F  w  r#V P                  W#4       K  	  R# )zå
Loop through a collection of configuration options, passing each to
[`setConfig`][markdown.extensions.Extension.setConfig].

Arguments:
    items: Collection of configuration options.

Raises:
    KeyError: for any unknown key.
r5   N)Úhasattrr5   r2   )r   r5   r   r,   s   &&  r   r   ÚExtension.setConfigss   s4   € ô �5˜'×"Ò"à—K‘K“MˆEÛ‰JˆCØ�N‰N˜3Ö&ó  r   c               ó    € V ^8„  d   QhRRRR/# )r   Úmdr   r   r-   r   )r   s   "r   r   r   „   s   € ÷ 
ñ 
 ð 
¨dñ 
r   c                óz   € \        RV P                  P                  : RV P                  P                  : R24      h)z£
Add the various processors and patterns to the Markdown Instance.

This method must be overridden by every extension.

Arguments:
    md: The Markdown instance.

zExtension "Ú.z(" must define an "extendMarkdown"method.)ÚNotImplementedErrorÚ	__class__Ú
__module__Ú__name__)r   r:   s   &&r   ÚextendMarkdownÚExtension.extendMarkdown„   s0   € õ "àŸ™×2Ô2°D·N±N×4KÔ4KðMó
ð 	
r   r   N)Ú )r@   r?   Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__annotations__r   r   r%   r)   r2   r   rA   Ú__static_attributes__r   r   r   r
   r
   %   s?   ‡ Ù2à!#€FÐÓ#ðò ÷õ HõJõ$õ*'÷"
ñ 
r   r
   N)rF   Ú
__future__r   Útypingr   r   r   r   Úutilr   Úmarkdownr   r
   r   r   r   Ú<module>rM      s*   ðñ(õ #ç 8Ó 8Ý !çÝ!÷l
ó l
r   