
    iL                       % S SK Jr  S SKrS SKJr  S SKJr  S SKJrJ	r	  S SK
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  S SK+J,r,J-r-  S S	K.J/r/J0r0  S S
K1J2r2  \(       a  S SKJ3r3  S SKJ4r4J5r5  S SK1J6r6  S SK7J8r8  0 S\/Rr                  _S\/Rt                  _S\/Rv                  _S\/Rx                  _S\/Rz                  _S\/R|                  _S\/R~                  _S\/R                  _S\/R                  _S\/R                  _S\/R                  _S\/R                  _S\/R                  _S\/R                  _S\/R                  _S\/R                  _rHS]S  jrIS]S! jrJS"S#.         S^S$ jjrKS_S% jrLS&rMS\NS''   S(rOS\NS)'   S*rPS\NS+'   S,rQS\NS-'   \R                  " S.\P S/\Q S0\P S1\Q S23	\R                  \R                  -  5      rUS3\NS4'   \UrVS3\NS5'   \UrWS3\NS6'   \R                  " S7\P S8\P S9\M S:\O S;\Q S<3\R                  \R                  -  5      rXS3\NS='   \R                  " S>5      rYS3\NS?'   \R                  " S@5      rZS3\NSA'   S"S"S"SB.             S`SC jjr[S"S#.         SaSD jjr\S"S"SE.           SbSF jjr]S"SG.         ScSH jjr^S"S#.         SdSI jjr_S"S#.         SeSJ jjr`S"S#.         SfSK jjraS"S#.         SgSL jjrbS"S#.         ShSM jjrcS"S#.         SiSN jjrdS"S#.         SjSO jjreS"S#.         SkSP jjrfS"S#.         SlSQ jjrg        SmSR jrhS"S#.         SnSS jjriS"S"ST.           SoSU jjrjSpSV jrk\/Rt                  \\\/Rv                  \]\/Rx                  \^\/Rr                  \_\/R                  \c\/R                  \d\/R                  \j\/R                  \e\/R                  \f\/R                  \g\/R                  \h\/R                  \i\/Rz                  \`\/R|                  \a\/R~                  \b0rl " SW SX\	SYSZ9rmSYS"S"S"S"S[.               SqS\ jjrng)r    )annotationsN)suppress)dedent)TYPE_CHECKING	TypedDict)warn)DocstringAttributeDocstringClassDocstringFunctionDocstringModuleDocstringParameterDocstringRaiseDocstringReceiveDocstringReturnDocstringSectionDocstringSectionAdmonitionDocstringSectionAttributesDocstringSectionClassesDocstringSectionDeprecatedDocstringSectionExamplesDocstringSectionFunctionsDocstringSectionModulesDocstringSectionOtherParametersDocstringSectionParametersDocstringSectionRaisesDocstringSectionReceivesDocstringSectionReturnsDocstringSectionTextDocstringSectionTypeAliasesDocstringSectionTypeParametersDocstringSectionWarnsDocstringSectionYieldsDocstringTypeAliasDocstringTypeParameterDocstringWarnDocstringYield)docstring_warningparse_docstring_annotation)DocstringSectionKindLogLevel)ExprName)Pattern)AnyLiteral)Expr)	Docstring
deprecated
parameterszother parametersztype parametersreturnsyieldsreceivesraiseswarnsexamples
attributes	functionsmethodsclassesztype aliasesmodulesstrc                ,    U R                  5       (       + $ )N)striplines    [/home/james-whalen/.local/lib/python3.13/site-packages/griffe/_internal/docstrings/numpy.py_is_empty_linerD   \   s    zz|    c                f    [        U 5      (       + =(       a    [        U R                  SS5      5      $ )N- )rD   replacerA   s    rC   _is_dash_linerJ   `   s%    d##Mt||C7L(MMrE   T)warningsc               .   U R                   nU[        U5      :  a  / U4$ Un/ n[        XE   5      (       a  US-  n[        XE   5      (       a  M  XE   /nUS-  nU[        U5      :  Ga  XE   n[        U5      (       a  UR                  S5        OUR	                  S5      (       a  UR                  USS  5        OUR	                  S5      (       aV  [        U5      [        UR                  5       5      -
  n	UR                  XS  5        U(       a  [        U USUS-    SU	 35        O<US-   [        U5      :  a  [        XES-      5      (       a  O+UR                  U5        U/nUS-  nU[        U5      :  a  GM  U(       a  UR                  U5        XeS-
  4$ )N   rH   z        z,Confusing indentation for continuation line z' in docstring, should be 4 spaces, not )lineslenrD   append
startswithlstripr'   rJ   )
	docstringoffsetrK   optionsrP   
new_offsetitemscurrent_itemrB   cont_indents
             rC   _read_block_itemsr\   d   s    OOEU6zJE *
+
+a
 *
+
+ %&L!OJ s5z
! $#__W%%QR)__S!!d)c$++-&88K\ 23!B:PQ>BR S//:m= !^c%j(]5a;P-Q-Q LL& 6La
? s5z
!B \"q.  rE   c               .   U R                   nU[        U5      :  a  SU4$ Un/ n[        X4   5      (       a  US-  n[        X4   5      (       a  M  U[        U5      :  a  [        X4   5      nU(       a(  U[        U5      S-
  :  a  [        X4S-      5      (       a  OXU(       a(  U[        U5      S-
  :  a  [        X4S-      5      (       a  O)UR	                  X4   5        US-  nU[        U5      :  a  M  SR                  U5      R                  S5      US-
  4$ )NrH   rM      
)rP   rQ   rD   rJ   rR   joinrstrip)rU   rV   rW   rP   rX   blockis_emptys          rC   _read_blockrd      s   OOEU6zJE *
+
+a
 *
+
+
s5z
!!%"34
SZ!^3eYZNF[8\8\
SZ!^3eYZNF[8\8\U&'a
 s5z
! 99U""4(*q.88rE   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_paramswarn_missing_typesrK   c                 ^^^ / n[        U 4SU0UD6u  pxU GH  n	[        R                  U	S   5      n
U
(       d  U(       a  [        XSU	S    S35        M?  U
R	                  S5      R                  S5      nU
R	                  S5      =(       d    S mU
R	                  S5      nS mU(       a  UmUR                  SS	5      S   mOGT(       a@  [        R                  " S
T5      n
U
(       a"  U
R	                  S5      mU
R	                  S5      mT(       a  TR                  S5      (       a  TS S m[        U	5      S	:  a"  SR                  U	S	S  5      R                  5       OSmTch  U HD  n[        [        [        5         U R                  R                  U   R                   m S S S 5          O9   U(       a  U(       a  [        XSU 35        O[#        TU [$        R&                  S9mTcJ  U HD  n[        [        [        5         U R                  R                  U   R(                  m S S S 5          O   U(       ay  U(       ar  [        [        5         U R                  R                  nU H>  nX;  d  M
  SU S3nSU 3SU 34 H  nUU;   d  M  USU S3-  n  O   [        XU5        M@     S S S 5        UR+                  UUU4S jU 5       5        GM     Xh4$ ! , (       d  f       GM  = f! , (       d  f       GM  = f! , (       d  f       NY= f)NrV   r   Could not parse line ''names, typechoicesrM   8^(?P<annotation>.+),\s+default(?: |: |=)(?P<default>.+)$default
annotationz
, optionalir_   rH   z'No types or annotations for parameters 	log_levelzParameter 'z+' does not appear in the function signature***. Did you mean ''?c              3  <   >#    U  H  n[        UTTTS 9v   M     g7f)valuerz   descriptionN)r   ).0namerz   ry   r   s     rC   	<genexpr>#_read_parameters.<locals>.<genexpr>#  s#      
puhlt7zWbcpu   )r\   rl   matchr'   groupsplitreendswithrQ   r`   ra   r   AttributeErrorKeyErrorparentr2   rz   r(   r*   debugry   extend)rU   rV   ro   rp   rK   rW   r2   rY   rX   itemr   rt   rw   r   paramsmessagestarred_namerz   ry   r   s                    @@@rC   _read_parametersr      s    ,.J *)NFNgNE##DG,!);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nh7!*!1!1!<!<T!B!M!MJ 87 
  2%i?fglfm=no3J	U]UcUcdJ?nh7'..99$?GGG 87 
 +.)"))44!D)$/v5`"a/0Z2dV,EL+v5 '-=l^2+N N % -F *)I " * 	 
pu
 	
k r !!? 87 87
 *)s0   ;%K?%K(K;0K;K;
K%(
K8;
L		c               ~    [        U 4XS.UD6u  pEU(       a  [        U5      U4$ U(       a  [        XSU 35        S U4$ )NrV   rK   z!Empty parameters section at line )r   r   r'   )rU   rV   rK   rW   r2   rX   s         rC   _read_parameters_sectionr   *  sQ     .iee]deJ)*5zAA)3TU[T\1]^rE   )ro   rK   c                   [        U 4USUS.UD6u  pVU(       a  [        U5      U4$ U(       a  [        XSU 35        S U4$ )NF)rV   ro   rK   z'Empty other parameters section at line )r   r   r'   )rU   rV   ro   rK   rW   r2   rX   s          rC   _read_other_parameters_sectionr   9  sc     .!	
 J .z:JFF)3Z[aZb1cdrE   )ro   c                 ^^^ / n[        U 4SU0UD6u  pVU GH~  n[        R                  US   5      nU(       d  [        XSUS    S35        M8  UR	                  S5      R                  S5      n	UR	                  S5      =(       d    S mUR	                  S5      n
S mU
(       a  U
mU
R                  SS	5      S   mOGT(       a@  [        R                  " S
T5      nU(       a"  UR	                  S5      mUR	                  S5      m[        U5      S	:  a"  SR                  US	S  5      R                  5       OSmTcK  U	 HD  n[        [        [        5         U R                  R                  U   R                  m S S S 5          O   O[!        TU ["        R$                  S9mTcJ  U	 HD  n[        [        [        5         U R                  R                  U   R&                  m S S S 5          O   U(       a  [        [        5         U R                  R                  nU	 HT  nX;  d  M
  SU SU R                  R(                   S3nSU 3SU 34 H  nX;   d  M
  USU S3-  n  O   [        XU5        MV     S S S 5        UR+                  UUU4S jU	 5       5        GM     U(       a  [-        U5      U4$ [        XSU 35        S U4$ ! , (       d  f       GM  = f! , (       d  f       GMC  = f! , (       d  f       N}= f)NrV   r   rr   rs   rt   ru   rv   rw   rM   rx   ry   rz   r_   rH   r{   zType parameter 'z' does not appear in the z
 signaturer}   r~   r   r   c              3  <   >#    U  H  n[        UTTTS 9v   M     g7fr   )r$   )r   r   boundry   r   s     rC   r   0_read_type_parameters_section.<locals>.<genexpr>  s#      
otgk"4w5Vabotr   z&Empty type parameters section at line )r\   rl   r   r'   r   r   r   rQ   r`   ra   r   r   r   r   type_parametersrz   r(   r*   r   ry   kindr   r    )rU   rV   ro   rW   r   rY   rX   r   r   rt   rw   r   type_paramsr   r   r   ry   r   s                  @@@rC   _read_type_parameters_sectionr   O  s    57O *)NFNgNE##DG,i7MdSTgYVW5XYG$**40F#+t++i(EmmD!,Q/GHHXZ_`E++i0L169$i!mdiiQR)002=nh7%,,<<TBMME 87 
 /ui8>>ZE?nh7'..>>tDLLG 87 
 .)'..>>!D.$4TF:ST]TdTdTiTiSjjt"u/0Z2dV,EL+: '-=l^2+N N % -F *)I " * 	 
ot
 	
_ f -o>
JJi/UV\U]-^_A 87 87
 *)s0   %K9%K K(#-K(K(
K
K%(
K6	c                  [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ U(       a  [        U5      S:  a  [        XSU 35        US   nUS   n[        SR	                  USS  5      5      n[        XxS9U4$ )Nr   z!Empty deprecated section at line rM   zToo many deprecated items at r   r_   )versiontext)r\   r'   rQ   r   r`   r   )	rU   rV   rK   rW   rY   rX   r   r   r   s	            rC   _read_deprecated_sectionr     s     *)aFaY`aEi7XY_X`5abZCJN)3PQWPX1YZ8D1gG$))DH%&D%gA:MMrE   c          	        [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / n[        U5       GH)  u  px[        R	                  US   5      n	U	(       d  U(       a  [        XSUS    S35        MA  U	R                  5       n
U
S   =(       d    U
S   nU
S   =(       d    U
S	   n[        S
R                  USS  5      5      nUGc[  [        [        [        [        5         U R                  R                  (       a  U R                  R                  nO8U R                  R                  (       a  U R                  R                   nO[        e[#        U5      S:  a  UR$                  (       a  UR&                  R(                  U   nOUR*                  (       a  UR&                  nO1UR,                  (       a  UR&                  R(                  S   nO[        e[/        U[0        5      (       a  UnO-UR$                  (       a  UR&                  R(                  U   nOUnS S S 5        O[3        X[4        R6                  S9nUR9                  [;        U=(       d    SXS95        GM,     [=        U5      U4$ ! , (       d  f       NB= f)Nr   zEmpty returns section at line r   rr   rs   nt_namer   nt_typerv   r_   rM   r^   r{   rH   r   rz   r   )r\   r'   	enumerateri   r   	groupdictr   r`   r   r   r   
ValueErrorr   is_functionr3   is_attributerz   rQ   is_tuplesliceelementsis_iteratoris_generator
isinstancer+   r(   r*   r   rR   r   r   )rU   rV   rK   rW   rY   rX   r3   indexr   r   groupsr   rz   r   return_items                  rC   _read_returns_sectionr     s     *)aFaY`aEi7UV\U]5^_ZG '!!$q'*!);QRVWXRYQZZ[9\]"i 2F6NI&8&.
diiQR)*.(J?##//!*!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- @?0 4JU]UcUcdJDJB:`aM (N #7+Z775 @?s   ,D9I::
J	c          	        [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / n[        U5       GH  u  px[        R	                  US   5      n	U	(       d  U(       a  [        XSUS    S35        MA  U	R                  5       n
U
S   =(       d    U
S   nU
S   =(       d    U
S	   n[        S
R                  USS  5      5      nUc  [        [        [        [        [        5         U R                  R                  nUR                  (       a  UR                   nO1UR"                  (       a  UR                   R$                  S   nO[        e['        U[(        5      (       a  UnO-UR*                  (       a  UR                   R$                  U   nOUnS S S 5        O[-        X[.        R0                  S9nUR3                  [5        U=(       d    SXS95        GM     [7        U5      U4$ ! , (       d  f       NB= f)Nr   zEmpty yields section at line r   rr   rs   r   r   r   rv   r_   rM   r{   rH   r   )r\   r'   r   rj   r   r   r   r`   r   r   
IndexErrorr   r   r   rz   r   r   r   r   r   r+   r   r(   r*   r   rR   r&   r"   )rU   rV   rK   rW   rY   rX   r4   r   r   r   r   r   rz   r   
yield_items                  rC   _read_yields_sectionr     s    *)aFaY`aEi7TU[T\5]^ZF '  a)!);QRVWXRYQZZ[9\]"i 2F6NI&8&.
diiQR)*.*h
K&--88
))!+!1!1J,,!+!1!1!:!:1!=J$$j(33!+J((!+!1!1!:!:5!AJ!+J LK 4JU]UcUcdJn$*"^_; (< "&):55# LKs   0B+G00
G>	c          	        [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / n[        U5       GHp  u  px[        R	                  US   5      n	U	(       d  U(       a  [        XSUS    S35        MA  U	R                  5       n
U
S   =(       d    U
S   nU
S   =(       d    U
S	   n[        S
R                  USS  5      5      nUc  [        [        [        5         U R                  R                  nUR                  (       a^  UR                  R                  S   n[!        U["        5      (       a  UnO-UR$                  (       a  UR                  R                  U   nOUnS S S 5        O['        X[(        R*                  S9nUR-                  [/        U=(       d    SXS95        GMs     [1        U5      U4$ ! , (       d  f       NB= f)Nr   zEmpty receives section at line r   rr   rs   r   r   r   rv   r_   rM   r{   rH   r   )r\   r'   r   rk   r   r   r   r`   r   r   r   r   r3   r   r   r   r   r+   r   r(   r*   r   rR   r   r   )rU   rV   rK   rW   rY   rX   r5   r   r   r   r   r   rz   r   receives_items                  rC   _read_receives_sectionr     s    *)aFaY`aEi7VW]V^5_`ZH '""47+!);QRVWXRYQZZ[9\]"i 2F6NI&8&.
diiQR)*.(3&--55
**$.$4$4$=$=a$@M!-::%2
&//%2%8%8%A%A%%H
%2
 43 4JU]UcUcdJ(djbZbc3 (4 $H-z99 43s   &BG
G	c                  [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / nU HG  n[        US   U 5      n[        SR	                  USS  5      5      n	UR                  [        XS95        MI     [        U5      U4$ )Nr   zEmpty raises section at line r   r_   rM   rz   r   )r\   r'   r(   r   r`   rR   r   r   )
rU   rV   rK   rW   rY   rX   r6   r   rz   r   s
             rC   _read_raises_sectionr   L  s     *)aFaY`aEi7TU[T\5]^ZF/QC
diiQR)*n
MN  "&):55rE   c                  [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / nU HG  n[        US   U 5      n[        SR	                  USS  5      5      n	UR                  [        XS95        MI     [        U5      U4$ )Nr   zEmpty warns section at line r   r_   rM   r   )r\   r'   r(   r   r`   rR   r%   r!   )
rU   rV   rK   rW   rY   rX   r7   r   rz   r   s
             rC   _read_warns_sectionr   e  s     *)aFaY`aEi7STZS[5\]ZE/QC
diiQR)*]jKL  !'33rE   c          	     j   [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / nU H  nUS   nSU;   a>  UR                  SS5      u  pU	R                  5       n	U
R                  5       =(       d    S n
OUn	S n
U
c<  [	        [
        [        [        5         U R                  U	   R                  n
S S S 5        O[        X[        R                  S9n
[        SR                  USS  5      5      nUR                  [!        XUS95        M     [#        U5      U4$ ! , (       d  f       NU= f)	Nr   z!Empty attributes section at line r   :rM   r{   r_   r   )r\   r'   r   r@   r   r   r   	TypeErrorr   rz   r(   r*   r   r   r`   rR   r	   r   )rU   rV   rK   rW   rY   rX   r9   r   	name_typer   rz   r   s               rC   _read_attributes_sectionr   ~  s.    *)aFaY`aEi7XY_X`5abZ JG	)(sA6D::<D#))+3tJDJ.(I>&--d3>>
 ?> 4JU]UcUcdJdiiQR)*,$[_`a! " &j1:== ?>s   "D$$
D2	c          	        [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / nU H  nUS   nSU;   a6  UR                  SS5      S   n	U	R                  5       n	UR                  5       n
OUn	S n
[	        SR                  USS  5      5      R                  5       nUR                  [        XUS95        M     [        U5      U4$ )Nr   z(Empty functions/methods section at line r   (rM   r_   r   )	r\   r'   r   r@   r   r`   rR   r   r   )rU   rV   rK   rW   rY   rX   r:   r   name_signaturer   	signaturer   s               rC   _read_functions_sectionr     s     *)aFaY`aEi7_`f_g5hiZIa. !''Q/2D::<D&,,.I!DIdiiQR)*002*X\]^  %Y/;;rE   c          	        [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / nU H  nUS   nSU;   a6  UR                  SS5      S   n	U	R                  5       n	UR                  5       n
OUn	S n
[	        SR                  USS  5      5      R                  5       nUR                  [        XUS95        M     [        U5      U4$ )Nr   zEmpty classes section at line r   r   rM   r_   r   )	r\   r'   r   r@   r   r`   rR   r
   r   )rU   rV   rK   rW   rY   rX   r<   r   r   r   r   r   s               rC   _read_classes_sectionr     s     *)aFaY`aEi7UV\U]5^_ZGa. !''Q/2D::<D&,,.I!DIdiiQR)*002~4SWXY  #7+Z77rE   c                  [        U 4SU0UD6u  p4U(       d  [        XSU 35        S U4$ / nU HK  nUS   n[        SR                  USS  5      5      R	                  5       nUR                  [        XxS95        MM     [        U5      U4$ )NrV   z#Empty type aliases section at line r   r_   rM   )r   r   )r\   r'   r   r`   r@   rR   r#   r   )	rU   rV   rW   rY   rX   type_aliasesr   r   r   s	            rC   _read_type_aliases_sectionr     s     *)NFNgNE)3VW]V^1_`ZLAwdiiQR)*002.DKL  '|4j@@rE   c          	        [        U 4XS.UD6u  pEU(       d  U(       a  [        XSU 35        S U4$ / nU H  nUS   nSU;   a6  UR                  SS5      S   n	U	R                  5       n	UR                  5       n
OUn	S n
[	        SR                  USS  5      5      R                  5       nUR                  [        XUS95        M     [        U5      U4$ )Nr   zEmpty modules section at line r   r   rM   r_   r   )	r\   r'   r   r@   r   r`   rR   r   r   )rU   rV   rK   rW   rY   rX   r=   r   r   r   r   r   s               rC   _read_modules_sectionr     s     *)aFaY`aEi7UV\U]5^_ZGa. !''Q/2D::<D&,,.I!DIdiiQR)*002DTXYZ  #7+Z77rE   )trim_doctest_flagsrK   c                  [        U 4XS.UD6u  pV/ nSnSn	/ n
/ nUR                  S5       GH  n[        U5      (       aW  U(       a=  U(       a2  UR                  [        R
                  SR                  U5      45        / nSnMX  U
R                  U5        Mk  U(       aF  U(       a,  [        R                  SU5      n[        R                  SU5      nUR                  U5        M  UR                  S5      (       a  U	(       + n	U
R                  U5        M  U	(       a  U
R                  U5        GM  UR                  S5      (       a{  U
(       aA  UR                  [        R                  SR                  U
5      R                  S5      45        / n
SnU(       a  [        R                  SU5      nUR                  U5        GM  U
R                  U5        GM     U
(       a@  UR                  [        R                  SR                  U
5      R                  S5      45        O7U(       a0  UR                  [        R
                  SR                  U5      45        U(       a  [        U5      U4$ U(       a  [        XSU 35        S U4$ )	Nr   Fr_   rH   ```z>>>TzEmpty examples section at line )rd   r   rD   rR   r)   r8   r`   rn   subrm   rS   r   ra   r   r'   )rU   rV   r   rK   rW   r   rX   sub_sectionsin_code_examplein_code_blockcurrent_textcurrent_examplerB   s                rC   _read_examples_sectionr     s    #9ZVZRYZDhjL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)3RSYRZ1[\rE   c                |   U(       ad  UR                  5       R                  SS5      nUS;   a  US S nU R                  [        USR	                  U5      R                  S5      US95        g U(       aJ  [        U5      (       a9  U R                  [        SR	                  U5      R                  S5      5      5        g g g )NrO   rG   )rK   notesr_   )r   r   title)lowerrI   rR   r   r`   ra   anyr   )sectionscurrentadmonition_titler   s       rC   _append_sectionr   Z  s    %%'//S9(( 9D&YYw'..t4&	
 
S\\,TYYw-?-F-Ft-LMN "rE   c                  T    \ rS rSr% SrS\S'    S\S'    S\S'    S\S'    S\S'   S	rg
)NumpyOptionsi  z.Options for parsing Numpydoc-style docstrings.boolignore_init_summaryr   ro   rp   rK    N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r   rE   rC   r   r     s1    8JE3]N7rE   r   F)total)r   r   ro   rp   rK   c                   / n/ nSn	Sn
U R                   nU(       a  [        S[        SS9  UUUUUS.nUS   =(       a    U R                  SL=(       a|    U R                  R                  S	:H  =(       a\    U R                  R
                  =(       a?    U R                  R                  SL=(       a     U R                  R                  R                  nU(       a  SOS
nU[        U5      :  Ga  X   R                  5       nU
(       a<  UR                  S5      R                  S5      (       a  Sn
UR                  X   5        GOUR                  S5      R                  S5      (       a  Sn
UR                  X   5        O[        X   5      (       a  UR                  S5        OU[        U5      S-
  :X  a$  UR                  X   5        [        XxU	5        Sn	/ nO[        XS-      5      (       a^  [        XxU	5        / nU[        ;   a<  Sn	[         [        U      nU" U 4SUS-   0UD6u  nnU(       a  UR                  U5        OX   n	US-  nOUR                  X   5        US-  nU[        U5      :  a  GM  [        XxU	5        U$ )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.
    warn_missing_types: Warn about missing types/annotations for parameters, return values, etc.
    warnings: Whether to log warnings at all.
    **options: Swallowing keyword arguments for backward-compatibility.

Returns:
    A list of docstring sections.
rH   FzDPassing additional options is deprecated, these options are ignored.r^   )
stacklevel)r   r   ro   rp   rK   r   N__init__r   rO   r   TrM   rV   )rP   r   DeprecationWarningr   r   r   is_classrQ   r   rT   rS   rR   rD   r   rJ   _section_kind_section_reader)rU   r   r   ro   rp   rK   rW   r   current_sectionr   r   rP   ignore_summaryrV   
line_lowerreadersections                    rC   parse_numpyr    s{   8 (*HOMOOE SUgtuv 1220G 	%& 	-D(	-!!Z/	- ((	- ##4/		-
 ##,,  !QaF
3u:
]((*
   %0077 %""5=1 s#..u55 M""5=1 EM**""2& s5zA~%""5=1H7GH! O 5!,--H7GH O ]*#% (z)BC"("Q6A:"Q"QOOG, $)= ! ""5=1!e 3u:
j H/?@OrE   )rB   r>   returnr   )
rU   r0   rV   intrK   r   rW   r-   r  ztuple[list[list[str]], int])rU   r0   rV   r	  rW   r-   r  ztuple[str, int])rU   r0   rV   r	  ro   r   rp   r   rK   r   rW   r-   r  z$tuple[list[DocstringParameter], int])
rU   r0   rV   r	  rK   r   rW   r-   r  z-tuple[DocstringSectionParameters | None, int])rU   r0   rV   r	  ro   r   rK   r   rW   r-   r  z2tuple[DocstringSectionOtherParameters | None, int])
rU   r0   rV   r	  ro   r   rW   r-   r  z1tuple[DocstringSectionTypeParameters | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z-tuple[DocstringSectionDeprecated | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z*tuple[DocstringSectionReturns | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z)tuple[DocstringSectionYields | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z+tuple[DocstringSectionReceives | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z)tuple[DocstringSectionRaises | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z(tuple[DocstringSectionWarns | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z-tuple[DocstringSectionAttributes | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z,tuple[DocstringSectionFunctions | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z*tuple[DocstringSectionClasses | None, int])rU   r0   rV   r	  rW   r-   r  z.tuple[DocstringSectionTypeAliases | None, int])
rU   r0   rV   r	  rK   r   rW   r-   r  z*tuple[DocstringSectionModules | None, int])rU   r0   rV   r	  r   r   rK   r   rW   r-   r  z+tuple[DocstringSectionExamples | None, int])r   listr   z	list[str]r   r>   r  None)rU   r0   r   r   r   r   ro   r   rp   r   rK   r   rW   r-   r  zlist[DocstringSection])o
__future__r   r   
contextlibr   textwrapr   typingr   r   rK   r   "griffe._internal.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"   r#   r$   r%   r&   !griffe._internal.docstrings.utilsr'   r(   griffe._internal.enumerationsr)   r*   griffe._internal.expressionsr+   r,   r-   r.   r/   griffe._internal.modelsr0   r1   r2   other_parametersr   r3   r4   r5   r6   r7   r8   r9   r:   r<   r   r=   r   rD   rJ   r\   rd   re   r   rf   rg   rh   compile
IGNORECASEVERBOSEri   rj   rk   rl   rm   rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   rE   rC   <module>r     s"  ( # 	   +        @ \ H 1#11&11&11 ,== +;;	
 #++ ")) $-- ")) !'' $-- &11 %// #-- #++ (55  #++!(N 	;!;! ;! 	;!
 ;! !;!|92   *# *# zz
J28* =  $* %
 MMBJJW  "
G !#g #
jxj ) xvh /Z  	 MMBJJw  "$,B!C w CZZ(?@ 7 @ !%#G"G" G" 	G"
 G" G" G" *G"\ 	  	
  3& !%  	
   84 !%	CC C 	C
 C 7CT 	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8@AA A 	A
 4A0 	88 8 	8
 8 08H  $>> > 	>
 > > 1>BO( ##%=))+I((*G##%=!5 3!!#9##%=""$;  "7%%'A  "7  "7!5!!#9&89E 8$ !&# $#qq q 	q
 q q q q qrE   