a
    ¯|òf„	  ã                   @  sr   d dl mZ ddlmZ d dlmZ dZG dd„ deƒZdd	d
dœdd„Zdddddœdd„Z	dddœdd„Z
dS )é    )Úannotationsé   )Ú
ParseError)Ú
NamedTuplez#;c                   @  s.   e Zd ZU ded< ded< ded< ded< dS )Ú_ParsedLineÚintÚlinenoz
str | NoneÚsectionÚnameÚvalueN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r   r   úJD:\Projects\storyit_web\backend\venv\Lib\site-packages\iniconfig/_parse.pyr   
   s   
r   Ústrz	list[str]zlist[_ParsedLine])ÚpathÚ	line_iterÚreturnc           	      C  s  g }d }t |ƒD ]ì\}}t| ||ƒ\}}|d urN|d urN| t||||ƒ¡ q|d urˆ|d u rˆ|snt| |dƒ‚|}| t||d d ƒ¡ q|d u r|d ur|s¨t| |dƒ‚| ¡ }|jd u rÆt| |dƒ‚|jræ|j|j› d|› d}n|j|d}| |¡ q|S )Nzempty section namezunexpected value continuationÚ
)r   )	Ú	enumerateÚ
_parselineÚappendr   r   Úpopr
   r   Ú_replace)	r   r   Úresultr	   r   Úliner
   ÚdataÚlastr   r   r   Úparse_lines   s,    
r    r   ztuple[str | None, str | None])r   r   r   r   c                 C  s  t |ƒrd}n| ¡ }|sdS |d dkrr|}tD ]}| |¡d  ¡ }q2|d dkrf|dd… d fS d | ¡ fS |d  ¡  sþz"| dd¡\}}d	|v r tƒ ‚W nJ tyì   z| d	d¡\}}W n" tyæ   t| |d
| ƒ‚Y n0 Y n0 | ¡ | ¡ fS d | ¡ fS d S )NÚ )NNr   ú[éÿÿÿÿú]r   ú=ú:zunexpected line: %r)ÚiscommentlineÚrstripÚCOMMENTCHARSÚsplitÚstripÚisspaceÚ
ValueErrorr   )r   r   r   ZreallineÚcr
   r   r   r   r   r   /   s0    
r   Úbool)r   r   c                 C  s   |   ¡ d d… }|tv S )Nr   )Úlstripr)   )r   r.   r   r   r   r'   P   s    r'   N)Ú
__future__r   Ú
exceptionsr   Útypingr   r)   r   r    r   r'   r   r   r   r   Ú<module>   s   !