Ë
    >²XjÂ$  ã            	       óÎ   — d Z ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZmZ dedej                  e   fd„Zdej                  e   defd	„Zej$                  d
fdedededefd„Zy)z^Epyoc-style docstring parsing.

.. seealso:: http://epydoc.sourceforge.net/manual-fields.html
é    Né   )Ú	DocstringÚDocstringMetaÚDocstringParamÚDocstringRaisesÚDocstringReturnsÚDocstringStyleÚ
ParseErrorÚRenderingStyleÚstringÚreturnc                 óD   — | j                  «       } t        | «      dkD  r| S y )Nr   )ÚstripÚlen)r   s    ú]/var/www/html/content_generation/venv/lib/python3.12/site-packages/docstring_parser/epydoc.pyÚ
_clean_strr      s    € Ø�\‰\‹^€FÜ
ˆ6ƒ{�Q‚ØˆØó    Útextc           
      óü  — t        t        j                  ¬«      }| s|S t        j                  | «      } t        j                  d| t
        j                  ¬«      }|r'| d|j                  «        }| |j                  «       d }n| }d}|j                  dd«      }|d   xs d|_
        t        |«      dkD  rN|d   xs d}|j                  d«      |_        |j                  d	«      |_        |j!                  «       xs d|_        t        j$                  d
«      }t        j$                  d«      }t        j$                  d«      }	t        j$                  d«      }
t        j$                  d«      }g }t        j&                  d|t
        j(                  t
        j                  z  ¬«      D �]I  }|j+                  d«      }|sŒt        j                  ||«      }t        j                  ||«      }t        j                  |	|«      }t        j                  |
|«      }t        j                  ||«      }|xs |xs
 |xs |xs |}|st-        d|› d�«      ‚||j/                  «       d }|r4d}|j+                  d«      }|j+                  d«      j!                  «       g}nÿ|r4d}|j+                  d«      }|j+                  d«      j!                  «       g}nÉ|rGd}|j+                  d«      }|j+                  d«      €g n|j+                  d«      j!                  «       g}n€|rd}|j+                  d«      }g }nhd}|j+                  d«      }t1        |j+                  d«      j!                  «       «      }|€g nt        j                  d|«      }|dv rt-        d|› d�«      ‚|j!                  «       }d|v r0|j                  dd«      \  }}|dz   t        j                  |«      z   }|j3                  ||||f«       �ŒL i }|D ]a  \  }}}}|dvrŒ|xs d\  }|j5                  |i «      }d|v rdnd}|||<   |dk(  sŒ:|dv }|j5                  d |«      |k7  sŒTt-        d!|› d�«      ‚ i }|D �]š  \  }}}}|d"v r¾|j7                  |d   d#«      s©|\  }||   }|j7                  d«      } | r| j                  d$«      rd%}!| dd& } nd#}!t        j8                  d'|t
        j:                  ¬«      }|r |j+                  d«      j=                  d(«      nd}"t?        ||g|j7                  d«      || |!|"¬)«      }#d%||<   nµ|dk(  r[|j7                  dd#«      sI|d   }tA        |g|j7                  d«      |j7                  d«      |j7                  d d#«      ¬*«      }#d%|d<   nU|dk(  r|xs d+\  } tC        |g|z   || ¬,«      }#n5|dk(  rtE        |g|z   |¬-«      }#n|xs d^}}$|j7                  |d#«      sJ ‚�Œ€|jF                  j3                  |#«       �Œ� |S ).zZParse the epydoc-style docstring into its components.

    :returns: parsed docstring
    )Ústylez^@)ÚflagsNÚ Ú
r   r   z

z-(param|keyword|type)(\s+[_A-z][_A-z0-9]*\??):z((ivar|cvar|var)(\s+[_A-z][_A-z0-9]*\??):z!(raise)(\s+[_A-z][_A-z0-9]*\??)?:z(return|rtype|yield|ytype):z.([_A-z][_A-z0-9]+)((\s+[_A-z][_A-z0-9]*\??)*):z(^@.*?)(?=^@|\Z)z%Error parsing meta information near "z".Úparamé   Ú	attributeÚraiser   Úmetaz\s+)
r   ÚivarÚcvarÚvarÚkeywordÚtyper   ÚrtypeÚyieldÚytype)r   r   r   )r   r#   Ú	type_nameÚdescription>   r%   r&   Úis_generatorz$Error parsing meta information for ")r   r   FÚ?Téÿÿÿÿz.*defaults to (.+)Ú.)Úargsr(   Úarg_namer'   Úis_optionalÚdefault)r-   r(   r'   r)   )N)r-   r(   r'   )r-   r(   )$r   r	   ÚEPYDOCÚinspectÚcleandocÚreÚsearchÚMÚstartÚsplitÚshort_descriptionr   Ú
startswithÚblank_after_short_descriptionÚendswithÚblank_after_long_descriptionr   Úlong_descriptionÚcompileÚfinditerÚSÚgroupr
   Úendr   ÚappendÚ
setdefaultÚgetÚmatchÚDOTALLÚrstripr   r   r   r   r   )%r   ÚretrG   Ú
desc_chunkÚ
meta_chunkÚpartsÚlong_desc_chunkÚparam_patternÚattribute_patternÚraise_patternÚreturn_patternÚmeta_patternÚstreamÚchunkÚparam_matchÚattribute_matchÚraise_matchÚreturn_matchÚ
meta_matchÚbaseÚkeyr-   ÚtokenÚdescÚ
first_lineÚrestÚparamsr.   ÚinfoÚinfo_keyr)   Úis_doner'   r/   r0   Ú	meta_itemÚ_s%                                        r   Úparserg      s  € ô
 œ.×/Ñ/Ô
0€CÙØˆ
ä×Ñ˜DÓ!€DÜ�I‰I�d˜D¬¯©Ô-€EÙØ˜/˜EŸK™K›MÐ*ˆ
Ø˜%Ÿ+™+›-˜/Ð*‰
àˆ
Øˆ
à×Ñ˜T 1Ó%€EØ! !™HÒ,¨€CÔÜ
ˆ5ƒz�A‚~Ø ™(š. bˆØ,;×,FÑ,FÀtÓ,LˆÔ)Ø+:×+CÑ+CÀFÓ+KˆÔ(Ø.×4Ñ4Ó6Ò>¸$ˆÔä—J‘JØ8ó€Mô Ÿ
™
Ð#NÓOÐÜ—J‘JÐCÓD€MÜ—Z‘ZÐ >Ó?€NÜ—:‘:Ø9ó€Lð
 ;=€FÜ—‘Ø˜Z¬r¯t©t´b·d±d©{÷ð ˆð —‘˜A“ˆÙØä—i‘i ¨uÓ5ˆÜŸ)™)Ð$5°uÓ=ˆÜ—i‘i ¨uÓ5ˆÜ—y‘y °Ó7ˆÜ—Y‘Y˜|¨UÓ3ˆ
ð ò Øòàòð òð ð 	ñ ÜÐDÀUÀGÈ2ÐNÓOÐOà˜5Ÿ9™9›;˜=Ð)ˆ
ÙØˆDØ—{‘{ 1“~ˆCØ—K‘K “N×(Ñ(Ó*Ð+‰DÙØˆDØ—{‘{ 1“~ˆCØ—K‘K “N×(Ñ(Ó*Ð+‰DÙØˆDØ—{‘{ 1“~ˆCØŸ™ Q›Ð/‘2°e·k±kÀ!³n×6JÑ6JÓ6LÐ5M‰DÙØˆDØ—{‘{ 1“~ˆCØ‰DàˆDØ—{‘{ 1“~ˆCÜ˜uŸ{™{¨1›~×3Ñ3Ó5Ó6ˆEØ˜‘2¬B¯H©H°V¸UÓ,CˆDð ð ñ ô !Ø;¸E¸7À"ÐEóð ð ×ÑÓ!ˆØ�4‰<Ø#Ÿz™z¨$°Ó2ÑˆJ˜Ø Ñ$¤w×'7Ñ'7¸Ó'=Ñ=ˆDØ�‰�t˜S $¨Ð-Ö.ðIðN /1€FÛ!'Ñˆˆc�4˜ØÐ7Ñ7ØàÒ)˜k‰ˆØ× Ñ  ¨2Ó.ˆØ"(¨C¡-‘;°]ˆØˆˆX‰à�8ÓØÐ"4Ð4ˆLØ�‰˜~¨|Ó<ÀÓLÜ Ø:¸8¸*ÀBÐGóð ð "(ð  "$€GÜ!'Ñˆˆc�4˜ØÐ)Ñ)°'·+±+¸dÀ1¹gÀuÔ2MØ‰KˆXØ˜(Ñ#ˆDØŸ™ Ó-ˆIá˜Y×/Ñ/°Ô4Ø"�Ø% c r˜N‘	à#�ä—H‘HÐ2°DÄÇ	Á	ÔJˆEÙ49�e—k‘k !“n×+Ñ+¨CÔ0¸tˆGä&Ø˜8�_Ø ŸH™H ]Ó3Ø!Ø#Ø'ØôˆIð !%ˆG�HÒØ�XÒ g§k¡k°(¸EÔ&BØ˜(Ñ#ˆDÜ(Ø�UØ ŸH™H ]Ó3ØŸ(™( ;Ó/Ø!ŸX™X n°eÓ<ô	ˆIð !%ˆG�HÒØ�WŠ_Øš? 7‰LˆYÜ'Ø�U˜T‘\Ø Ø#ô‰Ið
 �VŠ^Ü%Ø�U˜T‘\Ø ô‰Ið
 Ò+ ˆIˆS�1Ø—;‘;˜s EÔ*Ð*Ð*Ùà�‰�‰˜	Ö"ðe "(ðh €Jr   z    Ú	docstringÚrendering_styleÚindentc                 óf  ‡‡— dt         j                  t           dt        dt        fˆˆfd„}g }| j                  r|j                  | j                  «       | j                  r|j                  d«       | j                  r|j                  | j                  «       | j                  r|j                  d«       | j                  D �]Û  }t        |t        «      r–|j                  rT|j                  r|j                  › d�n|j                  }d|j                  › d�}| ||d	«      z  }|j                  |«       d
|j                  › d� ||j                  d«      z   }|j                  |«       Œªt        |t         «      r…|j"                  rdnd\  }}	|j                  r+d|	› d� ||j                  d	«      z   }|j                  |«       |j                  s�Œd|› d� ||j                  d«      z   }|j                  |«       �Œ?t        |t$        «      rG|j                  rd|j                  › d�nd}| ||j                  d«      z  }|j                  |«       �Œ–ddj'                  |j(                  «      › d�}| ||j                  d«      z  }|j                  |«       �ŒÞ dj'                  |«      S )a  Render a parsed docstring into docstring text.

    :param docstring: parsed docstring representation
    :param rendering_style: the style to render docstrings
    :param indent: the characters used as indentation in the docstring string
    :returns: docstring text
    r^   Úis_typer   c                 ó`  •— | sy‰t         j                  k(  s‰t         j                  k(  r@|s>| j                  «       ^}}dj	                  d‰z   |z   g|D �cg c]  }‰|z   ‘Œ	 c}z   «      S | j                  «       ^}}dj	                  d|z   g|D �cg c]  }‰|z   ‘Œ	 c}z   «      S c c}w c c}w )Nr   r   Ú )r   ÚEXPANDEDÚCLEANÚ
splitlinesÚjoin)r^   rl   Úfirstr`   Úlinerj   ri   s        €€r   Úprocess_desczcompose.<locals>.process_descà   sº   ø€ ÙØàœn×5Ñ5Ò5Øœ~×3Ñ3Ò3¹Gà!Ÿ_™_Ó.ˆNˆU�TØ—9‘9Ø˜‘ Ñ&Ð'ÁTÓ*JÁT¸T¨6°D«=ÀTÑ*JÑJóð ð Ÿ™Ó*ˆˆ�Ø�y‰y˜# ™+˜ÁDÓ)IÁD¸D¨&°4«-ÀDÑ)IÑIÓJÐJùò	 +Kùò *Js   ÁB&
ÂB+
r   r*   z@type Ú:Tz@param F)r%   r&   )r   r$   Ú@z@raise z@raise:rn   r   )ÚTÚOptionalÚstrÚboolr9   rD   r;   r>   r=   r   Ú
isinstancer   r'   r/   r.   r(   r   r)   r   rr   r-   )
rh   ri   rj   ru   rM   r   r'   r   Úarg_keyÚtype_keys
    ``       r   Úcomposer   Ó   sf  ù€ ðKœ1Ÿ:™:¤c™?ð K´Tð K¼cö Kð €EØ×"Ò"Ø�‰�Y×0Ñ0Ô1Ø×.Ò.Ø�‰�RÔØ×!Ò!Ø�‰�Y×/Ñ/Ô0Ø×-Ò-Ø�‰�RÔà—•ˆÜ�dœNÔ+Ø�~Š~ð ×'Ò'ð —~‘~Ð& aÑ(àŸ™ð ð
   §¡˜¨aÐ0�Ø™ Y°Ó5Ñ5�Ø—‘˜TÔ"Ø˜TŸ]™]˜O¨1Ð-±Ø× Ñ  %ó1ñ ˆDð �L‰L˜ÕÜ˜Ô.Ô/ð ×$Ò$ñ #à(ñ  ˆW�hð
 �~Š~Ø˜8˜* A�©°d·n±nÀdÓ)KÑK�Ø—‘˜TÔ"Ø×ÔØ˜7˜) 1�~©°T×5EÑ5EÀuÓ(MÑM�Ø—‘˜TÖ"Ü˜œoÔ.Ø26·.².�W˜TŸ^™^Ð,¨AÑ.ÀiˆDØ‘L ×!1Ñ!1°5Ó9Ñ9ˆDØ�L‰L˜Öà�s—x‘x §	¡	Ó*Ð+¨1Ð-ˆDØ‘L ×!1Ñ!1°5Ó9Ñ9ˆDØ�L‰L˜ÖðE ðF �9‰9�UÓÐr   )Ú__doc__r2   r4   Útypingrx   Úcommonr   r   r   r   r   r	   r
   r   rz   ry   r   rg   ÚCOMPACTr   © r   r   Ú<module>r…      sš   ðñó
 Û 	Û ÷	÷ 	ó 	ð�sð ˜qŸz™z¨#™ó ðs�—
‘
˜3‘ð s Ió sðp '5×&<Ñ&<ØñIØðIà#ðIð ðIð 	ô	Ir   