Ë
    >²XjŒ  ã                   óŠ  — d Z ddlZddlZddlmZmZmZmZ ddl	m
Z
 ddlmZmZmZmZ ej                   eej"                  eej$                  eej&                  eiZej*                  fdej,                  e   dedefd	„Zej*                  fd
ej2                  dedefd„Zej*                  ej6                  dfdededededef
d„Zy)zThe main parsing routine.é    N)ÚepydocÚgoogleÚnumpydocÚrest)Úadd_attribute_docstrings)Ú	DocstringÚDocstringStyleÚ
ParseErrorÚRenderingStyleÚtextÚstyleÚreturnc                 ó4  — |t         j                  k7  rt        |   j                  | «      S d}g }t        j	                  «       D ]%  }	 |j                  | «      }|j                  |«       Œ' |s|‚t        |d„ d¬«      d   S # t        $ r}|}Y d}~ŒNd}~ww xY w)z§Parse the docstring into its components.

    :param text: docstring text to parse
    :param style: docstring style
    :returns: parsed docstring representation
    Nc                 ó,   — t        | j                  «      S )N)ÚlenÚmeta)Úds    ú]/var/www/html/content_generation/venv/lib/python3.12/site-packages/docstring_parser/parser.pyÚ<lambda>zparse.<locals>.<lambda>0   s   € ¤c¨!¯&©&¤kó    T)ÚkeyÚreverser   )r	   ÚAUTOÚ
_STYLE_MAPÚparseÚvaluesÚappendr
   Úsorted)r   r   ÚexcÚretsÚmoduleÚretÚexs          r   r   r      sœ   € ð ”×#Ñ#Ò#Ü˜%Ñ ×&Ñ& tÓ,Ð,à!%€CØ€DÜ×#Ñ#Ö%ˆð	Ø—,‘,˜tÓ$ˆCð �K‰K˜Õð &ñ Øˆ	ä�$Ñ1¸4Ô@ÀÑCÐCøô ò 	Ø�Cûð	ús   ÁBÂ	BÂBÂBÚobjc                 ó    — t        | j                  |¬«      }t        j                  | «      st        j                  | «      rt        | |«       |S )aQ  Parse the object's docstring(s) into its components.

    The object can be anything that has a ``__doc__`` attribute. In contrast to
    the ``parse`` function, ``parse_from_object`` is able to parse attribute
    docstrings which are defined in the source code instead of ``__doc__``.

    Currently only attribute docstrings defined at class and module levels are
    supported. Attribute docstrings defined in ``__init__`` methods are not
    supported.

    When given a class, only the attribute docstrings of that class are parsed,
    not its inherited classes. This is a design decision. Separate calls to
    this function should be performed to get attribute docstrings of parent
    classes.

    :param obj: object from which to parse the docstring(s)
    :param style: docstring style
    :returns: parsed docstring representation
    )r   )r   Ú__doc__ÚinspectÚisclassÚismoduler   )r$   r   Ú	docstrings      r   Úparse_from_objectr+   3   s=   € ô. �c—k‘k¨Ô/€Iä‡��sÔœw×/Ñ/°Ô4Ü   iÔ0àÐr   z    r*   Úrendering_styleÚindentc                 óz   — t         |t        j                  k(  r| j                  n|   }|j	                  | ||¬«      S )a  Render a parsed docstring into docstring text.

    :param docstring: parsed docstring representation
    :param style: docstring style to render
    :param indent: the characters used as indentation in the docstring string
    :returns: docstring text
    )r,   r-   )r   r	   r   r   Úcompose)r*   r   r,   r-   r!   s        r   r/   r/   R   sC   € ô Ø ¤N×$7Ñ$7Ò7ˆ	�Š¸Uñ€Fð �>‰>Ø ?¸6ð ó ð r   )r&   r'   ÚtypingÚTÚdocstring_parserr   r   r   r   Údocstring_parser.attrdocr   Údocstring_parser.commonr   r	   r
   r   ÚRESTÚGOOGLEÚNUMPYDOCÚEPYDOCr   r   ÚOptionalÚstrr   ÚAnyr+   ÚCOMPACTr/   © r   r   Ú<module>r>      s  ðÙ ã Û ç ;Ó ;Ý =÷ó ð ×Ñ˜Ø×Ñ˜6Ø×Ñ˜XØ×Ñ˜6ð	€
ð 4B×3FÑ3FñDØ
�*‰*�S‰/ðDØ"0ðDàóDð< +×/Ñ/ñØ	
�‰ðàðð óðB +×/Ñ/Ø&4×&<Ñ&<Øñ	Øðàðð $ðð ð	ð
 	ôr   