
    5'hTz                    n   U d dl mZ d dlZ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mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z(m)Z) d d	l*m+Z+ erd d
lm,Z, d dlm-Z-m.Z. d dl*m/Z/ d dl0m1Z1 e(jd                  e(jf                  e(jh                  e(jj                  e(jl                  e(jn                  e(jp                  e(jr                  e(jt                  e(jv                  e(jx                  e(jx                  e(jz                  e(j|                  dZ?dFdZ@dFdZAdd	 	 	 	 	 	 	 	 	 dGdZBdHdZCdZDdeEd<   dZFdeEd<   dZGdeEd<   dZHdeEd<    ej                  deG deH d eG d!eH d"	ej                  ej                  z        ZLd#eEd$<   eLZMd#eEd%<   eLZNd#eEd&<    ej                  d'eG d(eG d)eD d*eF d+eH d,ej                  ej                  z        ZOd#eEd-<    ej                  d.      ZPd#eEd/<    ej                  d0      ZQd#eEd1<   ddd2	 	 	 	 	 	 	 	 	 	 	 dId3ZRdd	 	 	 	 	 	 	 	 	 dJd4ZSddd2	 	 	 	 	 	 	 	 	 	 	 dKd5ZTdd	 	 	 	 	 	 	 	 	 dLd6ZUdd	 	 	 	 	 	 	 	 	 dMd7ZVdd	 	 	 	 	 	 	 	 	 dNd8ZWdd	 	 	 	 	 	 	 	 	 dOd9ZXdd	 	 	 	 	 	 	 	 	 dPd:ZYdd	 	 	 	 	 	 	 	 	 dQd;ZZdd	 	 	 	 	 	 	 	 	 dRd<Z[dd	 	 	 	 	 	 	 	 	 dSd=Z\dd	 	 	 	 	 	 	 	 	 dTd>Z]dd	 	 	 	 	 	 	 	 	 dUd?Z^ddd@	 	 	 	 	 	 	 	 	 	 	 dVdAZ_dWdBZ`e(jf                  eSe(jh                  eTe(jd                  eUe(jp                  eYe(jr                  eZe(jt                  e_e(jv                  e[e(jx                  e\e(jz                  e]e(j|                  e^e(jj                  eVe(jl                  eWe(jn                  eXiZadCddddD	 	 	 	 	 	 	 	 	 	 	 	 	 dXdEZby)Y    )annotationsN)suppress)dedent)TYPE_CHECKING)DocstringAttributeDocstringClassDocstringFunctionDocstringModuleDocstringParameterDocstringRaiseDocstringReceiveDocstringReturnDocstringSectionDocstringSectionAdmonitionDocstringSectionAttributesDocstringSectionClassesDocstringSectionDeprecatedDocstringSectionExamplesDocstringSectionFunctionsDocstringSectionModulesDocstringSectionOtherParametersDocstringSectionParametersDocstringSectionRaisesDocstringSectionReceivesDocstringSectionReturnsDocstringSectionTextDocstringSectionWarnsDocstringSectionYieldsDocstringWarnDocstringYield)docstring_warningparse_docstring_annotation)DocstringSectionKindLogLevel)ExprName)Pattern)AnyLiteral)Expr)	Docstring)
deprecated
parameterszother parametersreturnsyieldsreceivesraiseswarnsexamples
attributes	functionsmethodsclassesmodulesstrc                $    | j                          S )N)striplines    _/home/kushmeetdev/Regenta/Chatbot/venv/lib/python3.12/site-packages/_griffe/docstrings/numpy.py_is_empty_liner>   U   s    zz|    c                T    t        |        xr t        | j                  dd            S )N- )r>   replacer;   s    r=   _is_dash_linerD   Y   s%    d##Mt||C7L(MMr?   T)warningsc                  | j                   }|t        |      k\  rg |fS |}g }t        ||         r|dz  }t        ||         r||   g}|dz  }|t        |      k  r||   }t        |      r|j                  d       n|j	                  d      r|j                  |dd         n|j	                  d      rRt        |      t        |j                               z
  }	|j                  ||	d         |rNt        | |d|dz    d|	        n7|dz   t        |      k  rt        ||dz            rn(|j                  |       |g}|dz  }|t        |      k  r|r|j                  |       ||dz
  fS )N   rB   z        z,Confusing indentation for continuation line z' in docstring, should be 4 spaces, not )lineslenr>   append
startswithlstripr!   rD   )
	docstringoffsetrE   optionsrJ   
new_offsetitemscurrent_itemr<   cont_indents
             r=   _read_block_itemsrV   ]   s    OOEU6zJE z*
+a
 z*
+ *%&L!OJ s5z
!Z $#__W%QR)__S!d)c$++-&88K[\ 23!B:PQ>BR S//:m= !^c%j(]5a;P-Q LL& 6La
? s5z
!B \"*q.  r?   c                  | j                   }|t        |      k\  rd|fS |}g }t        ||         r|dz  }t        ||         r|t        |      k  rt        ||         }|r#|t        |      dz
  k  rt        ||dz            rnM|r#|t        |      dz
  k  rt        ||dz            rn(|j	                  ||          |dz  }|t        |      k  rdj                  |      j                  d      |dz
  fS )NrB   rG      
)rJ   rK   r>   rD   rL   joinrstrip)rO   rP   rQ   rJ   rR   blockis_emptys          r=   _read_blockr^      s   OOEU6zJE z*
+a
 z*
+
s5z
!!%
"34
SZ!^3eJYZNF[8\
SZ!^3eJYZNF[8\U:&'a
 s5z
! 99U""4(*q.88r?   z\{_RE_OBz\}_RE_CBz\*{0,2}[_a-z][_a-z0-9]*_RE_NAMEz.+_RE_TYPEz
    (?:
        (?P<nt_name>z)\s*:\s*(?P<nt_type>z4)  # name and type
        |  # or
        (?P<name>zu)\s*:\s*  # just name
        |  # or
        \s*:\s*$  # no name, no type
        |  # or
        (?::\s*)?(?P<type>z)\s*  # just type
    )
    r&   _RE_RETURNS
_RE_YIELDS_RE_RECEIVESz
    (?P<names>z(?:,\sz5)*)
    (?:
        \s:\s
        (?:
            (?:z(?P<choices>.+)z)|
            (?P<type>z)
        )?
    )?
    _RE_PARAMETERz^\s*<BLANKLINE>\s*$_RE_DOCTEST_BLANKLINEz(\s*#\s*doctest:.+)$_RE_DOCTEST_FLAGS)warn_unknown_paramsrE   c               f   g }t        | fd|i|\  }}|D ]m  }t        j                  |d         }	|	s|rt        | |d|d    d       5|	j	                  d      j                  d      }
|	j	                  d      xs d |	j	                  d      }d |r||j                  dd	      d   n<r:t        j                  d
      }	|	r"|	j	                  d      |	j	                  d      rj                  d      rd d t        |      d	kD  r"dj                  |d	d        j                         nd\|
D ]D  }t        t        t              5  | j                  j                  |   j                   	 d d d         n0 |r-t        | |d|
        nt#        | t$        j&                        I|
D ]D  }t        t        t              5  | j                  j                  |   j(                  	 d d d         n |rn|rlt        t              5  | j                  j                  }|
D ]8  }||vsd| d}d| d| fD ]  }||v s|d| dz  } n t        | ||       : 	 d d d        |j+                  fd|
D               p ||fS # 1 sw Y   ^xY w# 1 sw Y   xY w# 1 sw Y   ExY w)NrP   r   Could not parse line ''namesz, typechoicesrG   z8^(?P<annotation>.+),\s+default(?: |: |=)(?P<default>.+)$default
annotationz
, optionalirY   rB   z'No types or annotations for parameters 	log_levelzParameter 'z+' does not appear in the function signature*z**z. Did you mean 'z'?c              3  <   K   | ]  }t        |         yw))valuerq   descriptionN)r   ).0namerq   rp   rw   s     r=   	<genexpr>z#_read_parameters.<locals>.<genexpr>  s&      
hlt7zWbcc
s   )rV   rf   matchr!   groupsplitreendswithrK   rZ   r[   r   AttributeErrorKeyErrorparentr,   rq   r"   r$   debugrp   extend)rO   rP   ri   rE   rQ   r,   rS   rR   itemr{   rm   ro   ry   paramsmessagestarred_namerq   rp   rw   s                   @@@r=   _read_parametersr      s    ,.J *)NFNgNE: 7
##DG,!)Z;QRVWXRYQZZ[9\]G$**40[[(0D
++i( JmmD!,Q/GHHXZdeE++i0"[[6
*--l;#DS)J69$i!mdiiQR)002 pnh7 !*!1!1!<!<T!B!M!MJ p
 %i?fglfm=no3J	U]UcUcdJ? nh7 '..99$?GGG 
 +.) 	J"))44! JD6)$/v5`"a/0Z2dV,E &L+v5 '-=l^2+N N %& *)ZIJ	J 	 
pu
 	
k7
r z!!?  
	J 	Js0   %J%J J'/J'J'JJ$'J0	c               p    t        | f||d|\  }}|rt        |      |fS |rt        | |d|        d |fS )NrP   rE   z!Empty parameters section at line )r   r   r!   )rO   rP   rE   rQ   r,   rR   s         r=   _read_parameters_sectionr   "  sX     .ieQYe]deJ
)*5zAA)Z3TU[T\1]^r?   c               r    t        | f|d|d|\  }}|rt        |      |fS |rt        | |d|        d |fS )NF)rP   ri   rE   z'Empty other parameters section at line )r   r   r!   )rO   rP   ri   rE   rQ   r,   rR   s          r=   _read_other_parameters_sectionr   1  sg     .!	
 J
 .z:JFF)Z3Z[aZb1cdr?   c                  t        | f||d|\  }}|s|rt        | |d|        d |fS |rt        |      dkD  rt        | |d|        |d   }|d   }t        dj	                  |dd              }t        ||      |fS )Nr   z!Empty deprecated section at line rG   zToo many deprecated items at r   rY   )versiontext)rV   r!   rK   r   rZ   r   )	rO   rP   rE   rQ   rS   rR   r   r   r   s	            r=   _read_deprecated_sectionr   G  s     *)aFXaY`aE:i7XY_X`5abZCJN)Z3PQWPX1YZ8D1gG$))DH%&D%gDA:MMr?   c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }t        |      D ]  \  }}t        j	                  |d         }	|	s|rt        | |d|d    d       8|	j                         }
|
d   xs |
d   }|
d   xs |
d	   }t        d
j                  |dd              }|7t        t        t        t              5  | j                  j                  r| j                  j                  }n3| j                  j                  r| j                  j                   }nt        t#        |      dkD  r|j$                  r|j&                  j(                  |   }n|j*                  r|j&                  }n,|j,                  r|j&                  j(                  d   }nt        t/        |t0              r|}n(|j$                  r|j&                  j(                  |   }n|}d d d        nt3        || t4        j6                        }|j9                  t;        |xs d||              t=        |      |fS # 1 sw Y   :xY w)Nr   zEmpty returns section at line r   rk   rl   nt_namery   nt_typern   rY   rG   rX   rr   rB   ry   rq   rw   )rV   r!   	enumeraterc   r{   	groupdictr   rZ   r   r   r   
ValueErrorr   is_functionr-   is_attributerq   rK   is_tuplesliceelementsis_iteratoris_generator
isinstancer%   r"   r$   r   rL   r   r   )rO   rP   rE   rQ   rS   rR   r-   indexr   r{   groupsry   rq   r   return_items                  r=   _read_returns_sectionr   a  s:    *)aFXaY`aE:i7UV\U]5^_ZG ' &bt!!$q'*!)Z;QRVWXRYQZZ[9\]"i 2F6NI&8&.
diiQR)*.(J? 5##//!*!1!1!9!9J%%22!*!1!1!<!<J$$u:>!**%/%5%5%>%>u%E
%11*4*:*:K'44*4*:*:*C*CA*FK",,%k8<)4J(11)4):):)C)CE)JJ)4J-5 50 4J	U]UcUcdJDJB:[_`aM&bN #7+Z7755 5s   DH<<I	c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }t        |      D ]y  \  }}t        j	                  |d         }	|	s|rt        | |d|d    d       8|	j                         }
|
d   xs |
d   }|
d   xs |
d	   }t        d
j                  |dd              }|t        t        t        t        t              5  | j                  j                  }|j                  r|j                   }n,|j"                  r|j                   j$                  d   }nt        t'        |t(              r|}n(|j*                  r|j                   j$                  |   }n|}d d d        nt-        || t.        j0                        }|j3                  t5        |xs d||             | t7        |      |fS # 1 sw Y   :xY w)Nr   zEmpty yields section at line r   rk   rl   r   ry   r   rn   rY   rG   rr   rB   r   )rV   r!   r   rd   r{   r   r   rZ   r   r   
IndexErrorr   r   r   rq   r   r   r   r   r   r%   r   r"   r$   r   rL   r    r   )rO   rP   rE   rQ   rS   rR   r.   r   r   r{   r   ry   rq   r   
yield_items                  r=   _read_yields_sectionr     s    *)aFXaY`aE:i7TU[T\5]^ZF ' `t  a)!)Z;QRVWXRYQZZ[9\]"i 2F6NI&8&.
diiQR)*.*h
K ,&--88
))!+!1!1J,,!+!1!1!:!:1!=J$$j(3!+J((!+!1!1!:!:5!AJ!+J, , 4J	U]UcUcdJn$*"Y]^_;`< "&):55#, ,s   BGG	c               H   t        | f||d|\  }}|s|rt        | |d|        d |fS g }t        |      D ]O  \  }}t        j	                  |d         }	|	s|rt        | |d|d    d       8|	j                         }
|
d   xs |
d   }|
d   xs |
d	   }t        d
j                  |dd              }|t        t        t              5  | j                  j                  }|j                  rT|j                  j                  d   }t!        |t"              r|}n(|j$                  r|j                  j                  |   }n|}d d d        nt'        || t(        j*                        }|j-                  t/        |xs d||             R t1        |      |fS # 1 sw Y   :xY w)Nr   zEmpty receives section at line r   rk   rl   r   ry   r   rn   rY   rG   rr   rB   r   )rV   r!   r   re   r{   r   r   rZ   r   r   r   r   r-   r   r   r   r   r%   r   r"   r$   r   rL   r   r   )rO   rP   rE   rQ   rS   rR   r/   r   r   r{   r   ry   rq   r   receives_items                  r=   _read_receives_sectionr     s    *)aFXaY`aE:i7VW]V^5_`ZH ' dt""47+!)Z;QRVWXRYQZZ[9\]"i 2F6NI&8&.
diiQR)*.(3 	3&--55
**$.$4$4$=$=a$@M!-:%2
&//%2%8%8%A%A%%H
%2
	3 	3 4J	U]UcUcdJ(djbZ]abc3d4 $H-z99	3 	3s   A7FF!	c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }|D ]J  }t        |d   |       }t        dj	                  |dd              }	|j                  t        ||	             L t        |      |fS )Nr   zEmpty raises section at line r   rY   rG   rq   rw   )rV   r!   r"   r   rZ   rL   r   r   )
rO   rP   rE   rQ   rS   rR   r0   r   rq   r   s
             r=   _read_raises_sectionr     s     *)aFXaY`aE:i7TU[T\5]^ZF O/QC
diiQR)*n
MNO "&):55r?   c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }|D ]J  }t        |d   |       }t        dj	                  |dd              }	|j                  t        ||	             L t        |      |fS )Nr   zEmpty warns section at line r   rY   rG   r   )rV   r!   r"   r   rZ   rL   r   r   )
rO   rP   rE   rQ   rS   rR   r1   r   rq   r   s
             r=   _read_warns_sectionr     s     *)aFXaY`aE:i7STZS[5\]ZE M/QC
diiQR)*]jdKLM !'33r?   c               P   t        | f||d|\  }}|s|rt        | |d|        d |fS g }|D ]  }|d   }d|v r:|j                  dd      \  }	}
|	j                         }	|
j                         xs d }
n|}	d }
|
<t	        t
        t        t              5  | j                  |	   j                  }
d d d        nt        |
| t        j                        }
t        dj                  |dd              }|j                  t!        |	|
|              t#        |      |fS # 1 sw Y   RxY w)	Nr   z!Empty attributes section at line r   :rG   rr   rY   r   )rV   r!   r}   r:   r   r   r   	TypeErrorr   rq   r"   r$   r   r   rZ   rL   r   r   )rO   rP   rE   rQ   rS   rR   r3   r   	name_typery   rq   r   s               r=   _read_attributes_sectionr   0  sJ    *)aFXaY`aE:i7XY_X`5abZ J bG	)(sA6D*::<D#))+3tJDJ.(I> ?&--d3>>
? ? 4J	U]UcUcdJdiiQR)*,$:[_`a!b" &j1:==? ?s   DD%	c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }|D ]  }|d   }d|v r6|j                  dd      d   }	|	j                         }	|j                         }
n|}	d }
t	        dj                  |dd              j                         }|j                  t        |	|
|              t        |      |fS )Nr   z(Empty functions/methods section at line r   (rG   rY   r   )	rV   r!   r}   r:   r   rZ   rL   r	   r   )rO   rP   rE   rQ   rS   rR   r4   r   name_signaturery   	signaturer   s               r=   _read_functions_sectionr   W  s     *)aFXaY`aE:i7_`f_g5hiZI 
_a. !''Q/2D::<D&,,.I!DIdiiQR)*002*X\]^
_ %Y/;;r?   c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }|D ]  }|d   }d|v r6|j                  dd      d   }	|	j                         }	|j                         }
n|}	d }
t	        dj                  |dd              j                         }|j                  t        |	|
|              t        |      |fS )Nr   zEmpty classes section at line r   r   rG   rY   r   )	rV   r!   r}   r:   r   rZ   rL   r   r   )rO   rP   rE   rQ   rS   rR   r6   r   r   ry   r   r   s               r=   _read_classes_sectionr   w  s     *)aFXaY`aE:i7UV\U]5^_ZG 
Za. !''Q/2D::<D&,,.I!DIdiiQR)*002~4ISWXY
Z #7+Z77r?   c                  t        | f||d|\  }}|s|rt        | |d|        d |fS g }|D ]  }|d   }d|v r6|j                  dd      d   }	|	j                         }	|j                         }
n|}	d }
t	        dj                  |dd              j                         }|j                  t        |	|
|              t        |      |fS )Nr   zEmpty modules section at line r   r   rG   rY   r   )	rV   r!   r}   r:   r   rZ   rL   r
   r   )rO   rP   rE   rQ   rS   rR   r7   r   r   ry   r   r   s               r=   _read_modules_sectionr     s     *)aFXaY`aE:i7UV\U]5^_ZG 
[a. !''Q/2D::<D&,,.I!DIdiiQR)*002DYTXYZ
[ #7+Z77r?   )trim_doctest_flagsrE   c               d   t        | f||d|\  }}g }d}d}	g }
g }|j                  d      D ]g  }t        |      rK|r7|r2|j                  t        j
                  dj                  |      f       g }d}H|
j                  |       Z|r@|r,t        j                  d|      }t        j                  d|      }|j                  |       |j                  d      r|	 }	|
j                  |       |	r|
j                  |       |j                  d      rp|
rA|j                  t        j                  dj                  |
      j                  d      f       g }
d}|rt        j                  d|      }|j                  |       W|
j                  |       j |
r@|j                  t        j                  dj                  |
      j                  d      f       n2|r0|j                  t        j
                  dj                  |      f       |rt        |      |fS |rt        | |d|        d |fS )	Nr   FrY   rB   ```z>>>TzEmpty examples section at line )r^   r}   r>   rL   r#   r2   rZ   rh   subrg   rM   r   r[   r   r!   )rO   rP   r   rE   rQ   r   rR   sub_sectionsin_code_examplein_code_blockcurrent_textcurrent_exampler<   s                r=   _read_examples_sectionr     s    #9ZVhZRYZD*hjLOM L!#O

4  "&$" '')=)F)F		RaHb(cd&(O"'##D)!(,,R6,00T:""4(__U# --M%%__U###%9%>%>		,@W@^@^_c@d$ef!"O!(,,R6""4( %E"&H 166		,8O8V8VW[8\]^	1::DIIo<VWX'5zAA)Z3RSYRZ1[\r?   c                `   |re|j                         j                  dd      }|dv r|d d }| j                  t        |dj	                  |      j                  d      |             y |rEt        |      r9| j                  t        dj	                  |      j                  d                   y y y )NrI   rA   )rE   notesrY   )kindr   title)lowerrC   rL   r   rZ   r[   anyr   )sectionscurrentadmonition_titler   s       r=   _append_sectionr     s    %%'//S9(( 9D&YYw'..t4&	
 
S\,TYYw-?-F-Ft-LMN "r?   F)ignore_init_summaryr   ri   rE   c               h   g }g }d}d}	| j                   }
||||d|}|d   xr} | j                  duxrm | j                  j                  dk(  xrR | j                  j                  xr: | j                  j                  duxr  | j                  j                  j                  }|rdnd}|t        |
      k  rn|
|   j                         }|	r8|j                  d	      j                  d
      rd}	|j                  |
|          n|j                  d	      j                  d
      rd}	|j                  |
|          nt        |
|         r|j                  d       n|t        |
      dz
  k(  r&|j                  |
|          t        |||       d}g }n~t        |
|dz            rYt        |||       g }|t        v r7d}t        t        |      } || fd|dz   i|\  }}|r1|j                  |       n|
|   }|dz  }n|j                  |
|          |dz  }|t        |
      k  rnt        |||       |S )a}  Parse a Numpydoc-style docstring.

    This function iterates on lines of a docstring to build sections.
    It then returns this list of sections.

    Parameters:
        docstring: The docstring to parse.
        ignore_init_summary: Whether to ignore the summary in `__init__` methods' docstrings.
        trim_doctest_flags: Whether to remove doctest flags from Python example blocks.
        warn_unknown_params: Warn about documented parameters not appearing in the signature.
        warnings: Whether to log warnings at all.
        **options: Additional parsing options.

    Returns:
        A list of docstring sections.
    rB   F)r   r   ri   rE   r   N__init__rX   r   rI   r   TrG   rP   )rJ   r   ry   r   is_classrK   r   rN   rM   rL   r>   r   rD   _section_kind_section_reader)rO   r   r   ri   rE   rQ   r   current_sectionr   r   rJ   ignore_summaryrP   
line_lowerreadersections                   r=   parse_numpyr     sw   2 (*HOMOOE 122	
 G 	%& 	-D(	-!!Z/	- ((	- ##4/		-
 ##,,  !QaF
3u:
6]((*
   %007 %""5=1 s#..u5 M""5=1 E&M*""2& s5zA~%""5=1Ho7GH! O 5!,-Ho7GH O ]*#% (z)BC"("Q6A:"Q"QOOG, $)= ! ""5=1!e 3u:
j Ho/?@Or?   )r<   r8   returnbool)
rO   r*   rP   intrE   r   rQ   r'   r   ztuple[list[list[str]], int])rO   r*   rP   r   rQ   r'   r   ztuple[str, int])rO   r*   rP   r   ri   r   rE   r   rQ   r'   r   z$tuple[list[DocstringParameter], int])
rO   r*   rP   r   rE   r   rQ   r'   r   z-tuple[DocstringSectionParameters | None, int])rO   r*   rP   r   ri   r   rE   r   rQ   r'   r   z2tuple[DocstringSectionOtherParameters | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z-tuple[DocstringSectionDeprecated | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z*tuple[DocstringSectionReturns | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z)tuple[DocstringSectionYields | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z+tuple[DocstringSectionReceives | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z)tuple[DocstringSectionRaises | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z(tuple[DocstringSectionWarns | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z-tuple[DocstringSectionAttributes | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z,tuple[DocstringSectionFunctions | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z*tuple[DocstringSectionClasses | None, int])
rO   r*   rP   r   rE   r   rQ   r'   r   z*tuple[DocstringSectionModules | None, int])rO   r*   rP   r   r   r   rE   r   rQ   r'   r   z+tuple[DocstringSectionExamples | None, int])r   listr   z	list[str]r   r8   r   None)rO   r*   r   r   r   r   ri   r   rE   r   rQ   r'   r   zlist[DocstringSection])c
__future__r   r~   
contextlibr   textwrapr   typingr   _griffe.docstrings.modelsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    _griffe.docstrings.utilsr!   r"   _griffe.enumerationsr#   r$   _griffe.expressionsr%   r&   r'   r(   r)   _griffe.modelsr*   r+   r,   other_parametersr-   r.   r/   r0   r1   r2   r3   r4   r6   r7   r   r>   rD   rV   r^   r_   __annotations__r`   ra   rb   compile
IGNORECASEVERBOSErc   rd   re   rf   rg   rh   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r?   r=   <module>r      s  ( # 	          8 S ? (#(( '11&11,==#++"))$--"))!''$--&11%//#--#++#++$N 	;!;! ;! 	;!
 ;! !;!|92   *# *# !rzz
J28* =  $* %
 MMBJJW  "
G !#g ##
jxj ) xvh /Z  	 MMBJJw  ",,B!C w C'RZZ(?@ 7 @ !%F"F" F" 	F"
 F" F" *F"Z 	  	
  3& !%  	
   84 	NN N 	N
 N 3N< 	8888 88 	88
 88 088~ 	0606 06 	06
 06 /06n 	,:,: ,: 	,:
 ,: 1,:f 	66 6 	6
 6 /6: 	44 4 	4
 4 .4: 	$>$> $> 	$>
 $> 3$>V 	<< < 	<
 < 2<H 	88 8 	8
 8 08H 	88 8 	8
 8 08H  $>> > 	>
 > > 1>BO( ##%=))+I##%=!5 3!!#9##%=""$;  "7  "7  "7!5!!#9( !&# $jj j 	j
 j j j jr?   