a
    'ñ»jõ  ã                   @  s”   d dl mZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZ eeef ZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZdddœdd„ZdS )é    )Úannotations)ÚMutableMapping)ÚPath)ÚAnyÚCallableÚIterabler   Ú	TypedDictÚcastc                   @  sZ   e Zd ZU dZded< ded< ded< ded< ded	< ded
< ded< ded< ded< dS )ÚOptionsTypezOptions for parsing.ÚintÚ
maxNestingÚboolÚhtmlÚlinkifyÚtypographerÚstrÚquotesÚxhtmlOutÚbreaksÚ
langPrefixú%Callable[[str, str, str], str] | NoneÚ	highlightN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© r   r   ú7E:\soccer\ml_env\Lib\site-packages\markdown_it/utils.pyr
      s   
r
   c                   @  s"   e Zd ZU dZded< ded< dS )Ú
PresetTypez%Preset configuration for markdown-it.r
   Úoptionsz3MutableMapping[str, MutableMapping[str, list[str]]]Ú
componentsNr   r   r   r   r   r    $   s   
r    c                   @  sò  e Zd ZdZdddœdd„Zddd	œd
d„Zddddœdd„Zddd	œdd„Zddœdd„Zddœdd„Z	ddœdd„Z
ddœdd„Zeddœdd„ƒZejdddœdd„ƒZed dœd!d"„ƒZejd ddœd#d"„ƒZed dœd$d%„ƒZejd ddœd&d%„ƒZed dœd'd(„ƒZejd ddœd)d(„ƒZeddœd*d+„ƒZejdddœd,d+„ƒZed dœd-d.„ƒZejd ddœd/d.„ƒZed dœd0d1„ƒZejd ddœd2d1„ƒZeddœd3d4„ƒZejdddœd5d4„ƒZed6dœd7d8„ƒZejd6ddœd9d8„ƒZd:S );ÚOptionsDictzMA dictionary, with attribute access to core markdownit configuration options.r
   ÚNone)r!   Úreturnc                 C  s   t tt|ƒƒ| _d S ©N)r	   r
   ÚdictÚ_options)Úselfr!   r   r   r   Ú__init__3   s    zOptionsDict.__init__r   r   )Úkeyr%   c                 C  s
   | j | S r&   ©r(   ©r)   r+   r   r   r   Ú__getitem__6   s    zOptionsDict.__getitem__)r+   Úvaluer%   c                 C  s   || j |< d S r&   r,   )r)   r+   r/   r   r   r   Ú__setitem__9   s    zOptionsDict.__setitem__c                 C  s   | j |= d S r&   r,   r-   r   r   r   Ú__delitem__<   s    zOptionsDict.__delitem__zIterable[str])r%   c                 C  s
   t | jƒS r&   )Úiterr(   ©r)   r   r   r   Ú__iter__?   s    zOptionsDict.__iter__r   c                 C  s
   t | jƒS r&   )Úlenr(   r3   r   r   r   Ú__len__B   s    zOptionsDict.__len__c                 C  s
   t | jƒS r&   )Úreprr(   r3   r   r   r   Ú__repr__E   s    zOptionsDict.__repr__c                 C  s
   t | jƒS r&   )r   r(   r3   r   r   r   Ú__str__H   s    zOptionsDict.__str__c                 C  s
   | j d S )z%Internal protection, recursion limit.r   r,   r3   r   r   r   r   K   s    zOptionsDict.maxNesting)r/   r%   c                 C  s   || j d< d S )Nr   r,   ©r)   r/   r   r   r   r   P   s    r   c                 C  s
   | j d S )zEnable HTML tags in source.r   r,   r3   r   r   r   r   T   s    zOptionsDict.htmlc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   Y   s    c                 C  s
   | j d S )z1Enable autoconversion of URL-like texts to links.r   r,   r3   r   r   r   r   ]   s    zOptionsDict.linkifyc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   b   s    c                 C  s
   | j d S )z$Enable smartquotes and replacements.r   r,   r3   r   r   r   r   f   s    zOptionsDict.typographerc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   k   s    c                 C  s
   | j d S )zQuote characters.r   r,   r3   r   r   r   r   o   s    zOptionsDict.quotesc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   t   s    c                 C  s
   | j d S )z&Use '/' to close single tags (<br />).r   r,   r3   r   r   r   r   x   s    zOptionsDict.xhtmlOutc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   }   s    c                 C  s
   | j d S )z)Convert newlines in paragraphs into <br>.r   r,   r3   r   r   r   r   �   s    zOptionsDict.breaksc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   †   s    c                 C  s
   | j d S )z&CSS language prefix for fenced blocks.r   r,   r3   r   r   r   r   Š   s    zOptionsDict.langPrefixc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   �   s    r   c                 C  s
   | j d S )zEHighlighter function: (content, langName, langAttrs) -> escaped HTML.r   r,   r3   r   r   r   r   “   s    zOptionsDict.highlightc                 C  s   || j d< d S )Nr   r,   r:   r   r   r   r   ˜   s    N)r   r   r   r   r*   r.   r0   r1   r4   r6   r8   r9   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r   r   r   r   r#   -   sZ   r#   z
str | Pathzlist[list[Any]])Úpathr%   c                 C  sÔ   t | ƒjdd�}g }d}d}|jdd�}tt|ƒƒD ]š}||  ¡ dkr4|dkrp| |||d   ¡ g¡ d}nZ|dkrž|d  d	 ||d |… ¡¡ d
}n,|d
krÊ|d  d	 ||d |… ¡¡ d}|}q4|S )Nzutf-8)Úencodingr   T)ÚkeependsÚ.é   éÿÿÿÿÚ é   )	r   Ú	read_textÚ
splitlinesÚranger5   ÚrstripÚappendÚstripÚjoin)r=   ÚtextZtestsÚsectionZlast_posÚlinesÚir   r   r   Úread_fixture_file�   s$      rP   N)Ú
__future__r   Úcollections.abcr   ZMutableMappingABCÚpathlibr   Útypingr   r   r   r   r	   r   ZEnvTyper
   r    r#   rP   r   r   r   r   Ú<module>   s    	p