
    5'hm                       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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& erd dlm'Z' d d	lm(Z(m)Z) d d
l*m+Z+ d dl,m-Z- i de%j\                  de%j\                  de%j\                  de%j\                  de%j^                  de%j^                  de%j^                  de%j^                  de%j^                  de%j^                  de%j`                  de%j`                  de%jb                  de%jd                  de%jf                  de%jh                  de%jj                  e%jl                  e%jl                  e%jn                  e%jp                  e%jr                  e%jr                  dZ:e;e<e=e>   f   Z?e=e?   Z@e;e@e<f   ZA ej                  dej                        ZDdeEd <    ej                  d!      ZFdeEd"<    ej                  d#      ZGdeEd$<    ej                  d%      ZHdeEd&<   d'd(dGd)ZIdHd*ZJd'd'd+	 	 	 	 	 	 	 	 	 	 	 dId,ZK	 	 	 	 	 	 	 	 dJd-ZLd'd.	 	 	 	 	 	 	 	 	 dKd/ZMd'd(	 	 	 	 	 	 	 	 	 dLd0ZNd'd(	 	 	 	 	 	 	 	 	 dMd1ZOd'd(	 	 	 	 	 	 	 	 	 dNd2ZPd'd(	 	 	 	 	 	 	 	 	 dOd3ZQd'd(	 	 	 	 	 	 	 	 	 dPd4ZRd'd(	 	 	 	 	 	 	 	 	 dQd5ZSd'd6	 	 	 	 	 	 	 	 	 dRd7ZTd'd'd8	 	 	 	 	 	 	 	 	 	 	 dSd9ZUd:d d;	 	 	 	 	 	 	 	 	 dTd<ZVd'd'd'd=	 	 	 	 	 	 	 	 	 	 	 	 	 dUd>ZWd'd'd'd=	 	 	 	 	 	 	 	 	 	 	 	 	 dVd?ZXd'd'd'd@	 	 	 	 	 	 	 	 	 	 	 	 	 dWdAZYd'dB	 	 	 	 	 	 	 	 	 dXdCZZdYdDZ[e%j\                  eLe%j^                  eMe%j`                  eRe%jr                  eSe%jh                  eZe%jj                  eNe%jl                  eOe%jn                  ePe%jp                  eQe%jb                  eWe%jd                  eXe%jf                  eYiZ\ e]       Z^d:d'd'd'd:d'd'd'd'dE		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dZdFZ_y)[    )annotationsN)suppress)TYPE_CHECKING)DocstringAttributeDocstringClassDocstringFunctionDocstringModuleDocstringParameterDocstringRaiseDocstringReceiveDocstringReturnDocstringSectionDocstringSectionAdmonitionDocstringSectionAttributesDocstringSectionClassesDocstringSectionExamplesDocstringSectionFunctionsDocstringSectionModulesDocstringSectionOtherParametersDocstringSectionParametersDocstringSectionRaisesDocstringSectionReceivesDocstringSectionReturnsDocstringSectionTextDocstringSectionWarnsDocstringSectionYieldsDocstringWarnDocstringYield)docstring_warningparse_docstring_annotation)DocstringSectionKindLogLevel)Pattern)AnyLiteral)Expr)	Docstringargs	argumentsparams
parameterszkeyword argszkeyword argumentsz
other argszother argumentszother paramszother parametersraises
exceptionsreturnsyieldsreceivesexamples
attributes)	functionsmethodsclassesmoduleswarnswarningsz4^(?P<type>[\w][\s\w-]*):(\s+(?P<title>[^\s].*))?\s*$r#   _RE_ADMONITIONz=^(?:(?P<name>\w+)?\s*(?:\((?P<type>.+)\))?:\s*)?(?P<desc>.*)$_RE_NAME_ANNOTATION_DESCRIPTIONz^\s*<BLANKLINE>\s*$_RE_DOCTEST_BLANKLINEz(\s*#\s*doctest:.+)$_RE_DOCTEST_FLAGST)r8   c                  | j                   }|t        |      k\  rg |fS |}g }t        ||         r|dz  }t        ||         rt        ||         t        ||   j                               z
  }|dk(  rg |dz
  fS |||   |d  gf}|dz  }|t        |      k  r||   }	t        |	      r|d   j	                  d       n|	j                  |dz  dz        r|d   j	                  |	|dz  d         n|	j                  |dz   dz        r^t        |	      t        |	j                               z
  }
|d   j	                  |	|
d         |rOt        | |d|dz    d| d|dz   d	|
        n/|	j                  |dz        r|j	                  |       ||	|d  gf}nn|dz  }|t        |      k  r|r|j	                  |       ||dz
  fS )
N   r        z,Confusing indentation for continuation line z in docstring, should be z * 2 = z spaces, not )lineslen_is_empty_linelstripappend
startswithr   )	docstringoffsetr8   optionsrB   
new_offsetitemsindentcurrent_itemlinecont_indents              `/home/kushmeetdev/Regenta/Chatbot/venv/lib/python3.12/site-packages/_griffe/docstrings/google.py_read_block_itemsrR   S   s   OOEU6zJE z*
+a
 z*
+ z"#c%
*;*B*B*D&EEF{:>!! z!267!; <=L!OJ s5z
!Z $O""2&__VaZ#-.O""4
#56__fqjC/0d)c$++-&88KO""4#56!B:PQ>BR S!!'
|=W __Vc\*LL&&fg8L a
A s5z
!D \"*q.      c                  | j                   }|t        |      k\  rd|dz
  fS |}g }t        ||         r|dz  }t        ||         rt        ||         t        ||   j                               z
  }|dk(  rd|dz
  fS |j	                  ||   j                                |dz  }|t        |      k  rv||   j                  |dz        st        ||         rQ|j	                  ||   |d         |dz  }|t        |      k  r'||   j                  |dz        rBt        ||         rQdj                  |      j                  d      |dz
  fS )Nr?   r>   r   rA   
)rB   rC   rD   rE   rF   rG   joinrstrip)rH   rI   rJ   rB   rK   blockrM   s          rQ   _read_blockrY      se   OOEU6A:~JE z*
+a
 z*
+ z"#c%
*;*B*B*D&EEF{6A:~ 
LLz"))+,!OJ s5z
!uZ'8'C'CFSL'QUcdijtduUvU:&vw/0a
 s5z
!uZ'8'C'CFSL'QUcdijtduUv 99U""4(*q.88rS   )warn_unknown_paramsr8   c          	        g }t        | f||d|\  }}|D ]  \  }}		 |	d   j                  dd      \  }
}dj	                  |j                         g|	dd        j                  d      }d|
v rD|
j                  dd      \  }}|j                  d	      }|j                  d
      }t        ||       }n&|
}	 | j                  j                  |   j                  }	 | j                  j                  |   j                  }|r|t        | |d| d       |re|rct!        t              5  | j                  j                  }||vr1d| d}d| d| fD ]  }||v s|d| dz  } n t        | ||       d d d        |j#                  t%        ||||              ||fS # t        $ r |rt        | |d|	d    d       Y w xY w# t        t        f$ r d }Y w xY w# t        t        f$ r d }Y w xY w# 1 sw Y   xY w)NrI   r8   r   :r>   -Failed to get 'name: description' pair from ''rU   rA   ()
, optionalz%No type or annotation for parameter 'zParameter 'z+' does not appear in the function signature*z**z. Did you mean 'z'?)namevalue
annotationdescription)rR   split
ValueErrorr   rV   rE   rW   stripremovesuffixr    parentr+   re   AttributeErrorKeyErrordefaultr   rF   r
   )rH   rI   rZ   r8   rJ   r+   rX   rK   line_numberparam_linesname_with_typerf   rc   re   rn   r*   messagestarred_names                     rQ   _read_parametersrt      s    J *)aFXaY`aE:$) 1x [		*5a.*>*>sA*F'NK ii!3!3!5 HAB HIPPQUV . -33C;D*#))$/J#00>J3J	JJ!D"&--88>II
	&&11$7??G 
*i8]^b]ccd6ef+.) G"))44v% +D61\]G+,TFr$[(A "'61#)9,r'JJG!" &igFG 	,$gR\juvwc1xf z!!_  	!CKPQNCSSTU
 	. #H- "!
"
 ) 	G	G GsG   F6#G#G%2G2G2G GGGG/.G/2G;	c               >    t        | fd|i|\  }}t        |      |fS NrI   )rt   r   )rH   rI   rJ   r+   rK   s        rQ   _read_parameters_sectionrw      s-     .iRR'RJ
%j1:==rS   )rZ   c               @    t        | f|dd|\  }}t        |      |fS )NF)rI   rZ   )rt   r   )rH   rI   rZ   rJ   r+   rK   s         rQ   _read_other_parameters_sectionry      s1     .im\amelmJ
*:6
BBrS   c          	        g }t        | f||d|\  }}d }|D ]  \  }}		 |	d   j                  dd      \  }
}dj	                  |j                         g|	dd        j                  d      }d|
v rD|
j                  dd      \  }}|j                  d	      }|j                  d
      }t        ||       }n=|
}t        t        t        t              5  | j                  |   j                  }d d d        |j!                  t#        |||              t%        |      |fS # t        $ r |rt        | |d|	d    d       Y &w xY w# 1 sw Y   [xY w)Nr\   r   r]   r>   r^   r_   rU   rA   r`   ra   rc   re   rf   )rR   rg   rh   r   rV   rE   rW   ri   rj   r    r   rl   rm   	TypeErrorrk   re   rF   r   r   )rH   rI   r8   rJ   r2   rX   rK   re   ro   
attr_linesrq   rf   rc   s                rQ   _read_attributes_sectionr~   
  s    J))aFXaY`aE:$(J#( iZ		*4Q-*=*=c1*E'NK ii!3!3!5 G
12 GHOOPTU. -33C;D*#))$/J#00>J3J	JJ!D.(I> ?&--d3>>
? 	,$:[fgh5i8 &j1:==3  	!CJqM?RST
 	&? ?s   DEE ?E E	c          	        g }t        | f||d|\  }}d }|D ]  \  }}		 |	d   j                  dd      \  }
}dj	                  |j                         g|	dd        j                  d      }d|
v r|
j                  dd      d   }|
}n|
}d }|j                  t        |||	              t        |      |fS # t        $ r |rt        | |d|	d    d       Y w xY w
Nr\   r   r]   r>   z2Failed to get 'signature: description' pair from 'r_   rU   (r{   )
rR   rg   rh   r   rV   rE   rW   rF   r   r   )rH   rI   r8   rJ   r3   rX   rK   	signaturero   
func_linesname_with_signaturerf   rc   s                rQ   _read_functions_sectionr   4  s'    I))aFXaY`aE:#'I#( fZ		/9!}/B/B3/J, ii!3!3!5 G
12 GHOOPTU%%&,,S!4Q7D+I&DI*Xcde+f. %Y/;;)  	!HTUWXY
 	   B88CCc          	        g }t        | f||d|\  }}d }|D ]  \  }}		 |	d   j                  dd      \  }
}dj	                  |j                         g|	dd        j                  d      }d|
v r|
j                  dd      d   }|
}n|
}d }|j                  t        |||	              t        |      |fS # t        $ r |rt        | |d|	d    d       Y w xY wr   )
rR   rg   rh   r   rV   rE   rW   rF   r   r   )rH   rI   r8   rJ   r5   rX   rK   r   ro   class_linesr   rf   rc   s                rQ   _read_classes_sectionr   Y  s%    G))aFXaY`aE:#'I$) a [		/:1~/C/CC/K, ii!3!3!5 HAB HIPPQUV%%&,,S!4Q7D+I&DI~4IS^_`+a. #7+Z77)  	!HUVHXXYZ
 	r   c          	     t   g }t        | f||d|\  }}|D ]n  \  }}	 |d   j                  dd      \  }	}
dj	                  |
j                         g|dd        j                  d      }
|j                  t        |	|
             p t        |      |fS # t        $ r |rt        | |d|d    d       Y w xY w)	Nr\   r   r]   r>   r^   r_   rU   )rc   rf   )
rR   rg   rh   r   rV   rE   rW   rF   r	   r   )rH   rI   r8   rJ   r6   rX   rK   ro   module_linesrc   rf   s              rQ   _read_modules_sectionr   ~  s     G))aFXaY`aE:%* L!\		 ,Q 5 5c1 =D+ ii!3!3!5 IQR8H IJQQRVWDkJKL #7+Z77  	!CLQROCTTUV
 	   BB76B7c          	        g }t        | f||d|\  }}|D ]z  \  }}	 |d   j                  dd      \  }	}
dj	                  |
j                         g|dd        j                  d      }
t        |	|       }	|j                  t        |	|
             | t        |      |fS # t        $ r |rt        | |d|d    d       Y w xY w)	Nr\   r   r]   r>   z2Failed to get 'exception: description' pair from 'r_   rU   re   rf   )rR   rg   rh   r   rV   rE   rW   r    rF   r   r   )rH   rI   r8   rJ   r-   rX   rK   ro   exception_linesre   rf   s              rQ   _read_raises_sectionr     s     J))aFXaY`aE: ). Z$_		&5a&8&>&>sA&F#J ii!3!3!5 L8K LMTTUYZ/
IF
.JKXYZ" "*-z99  	!HYZI[H\\]^
 	s   B!!CCc          	     t   g }t        | f||d|\  }}|D ]n  \  }}	 |d   j                  dd      \  }	}
dj	                  |
j                         g|dd        j                  d      }
|j                  t        |	|
             p t        |      |fS # t        $ r |rt        | |d|d    d       Y w xY w)	Nr\   r   r]   r>   z0Failed to get 'warning: description' pair from 'r_   rU   r   )
rR   rg   rh   r   rV   rE   rW   rF   r   r   )rH   rI   r8   rJ   r7   rX   rK   ro   warning_linesre   rf   s              rQ   _read_warns_sectionr     s     E))aFXaY`aE:&+ T"]		&3A&6&<&<S!&D#J ii!3!3!5 Jab8I JKRRSWX]jkRST !'33  	!F}UVGWFXXYZ
 	r   )multiplec               n    |rt        | fd|i|S t        | fd|i|\  }}||j                         fg|fS rv   )rR   rY   
splitlines)rH   rI   r   rJ   	one_blockrK   s         rQ   _read_block_items_mayber     sQ      E6EWEE'	L&LGLIz--/01:==rS   )namedr8   c                  |rKt         j                  |d         }|s|rt        | |d|d    d       t        |j	                         \  }}}nId }d|d   v r9|d   j                  dd      \  }}|j                  d      j                  d      }nd }|d   }dj                  |j                         g|dd        j                  d      }|||fS )	Nr   z4Failed to get name, annotation or description from 'r_   r]   r>   r   )rU   )	r:   matchr   rh   groupsrg   rE   rW   rV   )	rH   ro   rB   r   r8   r   rc   re   rf   s	            rQ    _get_name_annotation_descriptionr     s     /55eAh?!J5QR8*TUV
 (-%j+%(?&+AhnnS!&<#J#**3/66s;JJ(K))[//1>E!"I>?FFtLK[((rS   F)r   indexc               T   d }t        t              5  | j                  j                  }|j                  r|j
                  j                  |   }n|j                  r|dk(  r|j
                  }|r%|j                  r|j
                  j                  |   }d d d        |S # 1 sw Y   |S xY w)Nr   )	r   	Exceptionrk   re   is_generatorsliceelementsis_iteratoris_tuple)rH   	gen_indexr   r   re   s        rQ   _annotation_from_parentr     s     J	)	 :%%00
""#))229=J##	Q#))J
++#))2259J: : s   BBB')returns_multiple_itemsreturns_named_valuer8   c                  g }t        | f||d|\  }}t        |      D ]  \  }	\  }
}	 t        | |
||      \  }}}|rt	        ||       }nAt        | dt        |      dkD  |	      }|r$|"|rt        |      n|	dz   }t        | |
d|        |j                  t        |xs d||              t        |      |fS # t        $ r Y w xY w)	NrI   r   r   r@   r>   r   r   r   z)No type or annotation for returned value r?   r{   )r   	enumerater   rh   r    r   rC   reprr   rF   r   r   )rH   rI   r   r   r8   rJ   r.   rX   rK   r   ro   return_linesrc   re   rf   returned_values                   rQ   _read_returns_sectionr     s    G/' 	E: /8.> i**\	,L)	-)D*k 3J	JJ 1aRUV[R\_`R`hmnJJ./3d!)[<efteu:vwDJB:[fgh-i0 #7+Z77!  		   B==	C	C	c                  g }t        | f||d|\  }}t        |      D ]  \  }	\  }
}	 t        | |
||      \  }}}|rt	        ||       }nAt        | dt        |      dkD  |	      }|r$|"|rt        |      n|	dz   }t        | |
d|        |j                  t        |xs d||              t        |      |fS # t        $ r Y w xY w)	Nr   r   r   r>   r   z(No type or annotation for yielded value r?   r{   )r   r   r   rh   r    r   rC   r   r   rF   r   r   )rH   rI   r   r   r8   rJ   r/   rX   rK   r   ro   yield_linesrc   re   rf   yielded_values                   rQ   _read_yields_sectionr   A  s    F/' 	E: .7u-= g))[	,L)	-)D*k 3J	JJ 1aRUV[R\_`R`hmnJJ..2T
	!)[<derds:tun$*"Ydef-g0 "&):55!  		r   )receives_multiple_itemsreceives_named_valuer8   c                  g }t        | f||d|\  }}t        |      D ]  \  }	\  }
}	 t        | |
||      \  }}}|rt	        ||       }nt        | dt        |      dkD  |	      }|r$|"|rt        |      n|	dz   }t        | |
d|        |j                  t        |xs d||              t        |      |fS # t        $ r Y w xY w)Nr   r   r>   r   z)No type or annotation for received value r?   r{   )r   r   r   rh   r    r   rC   r   r   rF   r   r   )rH   rI   r   r   r8   rJ   r0   rX   rK   r   ro   receive_linesrc   re   rf   received_values                   rQ   _read_receives_sectionr   n  s    H/( 	E: 09/? k++]	,L*	-)D*k 3J	JJ 1aRUV[R\_`R`hmnJ
*+/T$ZUQYNi8abpaq6rs(djbZ]hij-k0 $H-z99!  		r   )trim_doctest_flagsc               2   t        | fd|i|\  }}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       t        |      |fS )NrI   FrU   r?   ```z>>>T)rY   rg   rD   rF   r!   r1   rV   r<   subr;   rG   textrW   r   )rH   rI   r   rJ   r   rK   sub_sectionsin_code_examplein_code_blockcurrent_textcurrent_examplerO   s               rQ   _read_examples_sectionr     s    #9GVGwG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#L1:==rS   c                $    | j                          S )N)ri   )rO   s    rQ   rD   rD     s    zz|rS   	ignore_init_summaryr   r   r    returns_type_in_property_summaryr   r   rZ   r8   c       	           g }g }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  r||   j                         }|r8|j                  d      j                  d	      rd}|j                  ||          nH|j                  d      j                  d	      rd
}|j                  ||          nt        j                  ||         x}r|j                         }|d   }|d   }|j                         t        v }|dkD  }| xs t        ||dz
           }|t        |      dz
  k  }|t        |      dz
  k  }|xr t        ||dz            }|xr t        ||dz            }|xr | xr ||dz      j                  d      }|xr | xr ||dz      j                  d      }|s|s|j                  ||          |dz  }g }|rdnd} |s|r|s|j                  d|         |r|r|j                  d|  d       |rP|	r3dj                  |      }!t!        | |d|  d|! t"        j$                         |j                  ||          |dz  }2|r|rEt'        |      r8|j                  t)        dj                  |      j+                  d                   g }t,        t        |j                               }" |"| fd|dz   i|
\  }#}|#r||#_        |j                  |#       nt1        | |dz         \  }$}|$r|rEt'        |      r8|j                  t)        dj                  |      j+                  d                   g }||}|j                         j3                  dd      }|j                  t5        ||$|             nAt7        t8              5  |j                  ||          ddd       n|j                  ||          |dz  }|t        |      k  r|r8|j                  t)        dj                  |      j+                  d                   |r|r| j                  r| j                  j:                  rd| j                  j<                  v r|d   j>                  j                         jA                  d      }d|d   v rj|d   jA                  dd      \  }%}&|&g|dd }dj                  |      |d   _        |j                  tC        tE        ddtG        |%|             g             |S # 1 sw Y   6xY w)a  Parse a Google-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.
        returns_multiple_items: Whether to parse multiple items in `Yields` and `Returns` sections.
            When true, each item's continuation lines must be indented.
            When false (single item), no further indentation is required.
        returns_named_value: Whether to parse `Yields` and `Returns` section items as name and description, rather than type and description.
            When true, type must be wrapped in parentheses: `(int): Description.`. Names are optional: `name (int): Description.`.
            When false, parentheses are optional but the items cannot be named: `int: Description`.
        receives_multiple_items: Whether to parse multiple items in `Receives` sections.
            When true, each item's continuation lines must be indented.
            When false (single item), no further indentation is required.
        receives_named_value: Whether to parse `Receives` section items as name and description, rather than type and description.
            When true, type must be wrapped in parentheses: `(int): Description.`. Names are optional: `name (int): Description.`.
            When false, parentheses are optional but the items cannot be named: `int: Description`.
        returns_type_in_property_summary: Whether to parse the return type of properties
            at the beginning of their summary: `str: Summary of the property`.
        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.
    Fr   r   N__init__r@   r   rA   r   Ttitletyper>   section
admonitionzMissing blank line above zExtraneous blank line below z titlez; z	Possible z skipped, reasons: rU   rI   )rI   -)kindr   r   propertyr]   r?   )rf   re   )$rB   rk   rc   is_functionis_classrC   lowerrE   rG   rF   r9   r   	groupdict_section_kindrD   rV   r   r"   debuganyr   rW   _section_readerr   rY   replacer   r   
IndexErroris_attributelabelsrd   rg   r   r   r    )'rH   r   r   r   r   r   r   r   rZ   r8   rJ   sectionscurrent_sectionr   rB   ignore_summaryrI   
line_lowerr   r   r   admonition_type
is_sectionhas_previous_lineblank_line_abovehas_next_linehas_next_linesblank_line_belowblank_lines_belowindented_line_belowindented_lines_belowreasonsr   reasons_stringreaderr   contentsre   rO   s'                                          rQ   parse_googler     s   X (*HOMOOE  30"82,L#: 42 G 	%& 	-D(	-!!Z/	- ((	- ##4/		-
 ##,,  !QaF
3u:
6]((*
  %007 %""5=1s#..u5 M""5=1$**5=99U9__&F7OE$VnO(..0MAJ &
#44YuVVWZGX8Y"SZ!^3M#c%j1n4N,Rfqj@Q1R . T>%QR
BS3T"/"n8H4H"nUSY\]S]M^MiMijmMn#1#q:K6K#qPUV\_`V`PaPlPlmpPq '+?  &&uV}5!G *9D#';EU!:4&AB#(8!=dV6JK%)YYw%7N%!#D6)<^<LM 	  &&uV}5!"?+ (<TYY=W=^=^_c=d(ef&(O(7L7L7N)OP"("Q6A:"Q"Q$)GMOOG, $/y!#L &&/$OO,@?A[AbAbcgAh,ij*,} /&5&;&;&=&E&Ec3&OOOO$>OZbjo$pq!*- >'..uV}=> > ""5=1!_ 3u:
b ,TYY-G-N-Nt-TUV 	))))**111!!((*006%(?$Qx~~c15J&E!"I&E $		% 0HQKOO'$RRD^_iktDuvw O9> >s   U;;V)
rH   r'   rI   intr8   boolrJ   r$   return_ItemsBlock)rH   r'   rI   r   rJ   r$   r   ztuple[str, int])rH   r'   rI   r   rZ   r   r8   r   rJ   r$   r   z$tuple[list[DocstringParameter], int])rH   r'   rI   r   rJ   r$   r   z-tuple[DocstringSectionParameters | None, int])
rH   r'   rI   r   rZ   r   rJ   r$   r   z2tuple[DocstringSectionOtherParameters | None, int])
rH   r'   rI   r   r8   r   rJ   r$   r   z-tuple[DocstringSectionAttributes | None, int])
rH   r'   rI   r   r8   r   rJ   r$   r   z,tuple[DocstringSectionFunctions | None, int])
rH   r'   rI   r   r8   r   rJ   r$   r   z*tuple[DocstringSectionClasses | None, int])
rH   r'   rI   r   r8   r   rJ   r$   r   z*tuple[DocstringSectionModules | None, int])
rH   r'   rI   r   r8   r   rJ   r$   r   z)tuple[DocstringSectionRaises | None, int])
rH   r'   rI   r   r8   r   rJ   r$   r   z(tuple[DocstringSectionWarns | None, int])
rH   r'   rI   r   r   r   rJ   r$   r   r   )rH   r'   ro   r   rB   z	list[str]r   r   r8   r   r   ztuple[str | None, Any, str])
rH   r'   r   zLiteral[0, 1, 2]r   r   r   r   r   zstr | Expr | None)rH   r'   rI   r   r   r   r   r   r8   r   rJ   r$   r   z*tuple[DocstringSectionReturns | None, int])rH   r'   rI   r   r   r   r   r   r8   r   rJ   r$   r   z)tuple[DocstringSectionYields | None, int])rH   r'   rI   r   r   r   r   r   r8   r   rJ   r$   r   z+tuple[DocstringSectionReceives | None, int])
rH   r'   rI   r   r   r   rJ   r$   r   z+tuple[DocstringSectionExamples | None, int])rO   strr   r   )rH   r'   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rZ   r   r8   r   rJ   r$   r   zlist[DocstringSection])`
__future__r   re
contextlibr   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   _griffe.docstrings.utilsr   r    _griffe.enumerationsr!   r"   r#   r$   r%   _griffe.expressionsr&   _griffe.modelsr'   r+   other_parametersr,   r.   r/   r0   r1   r2   r3   r5   r6   r7   r   tupler   listr   
_BlockItem_BlockItemsr   compile
IGNORECASEr9   __annotations__r:   r;   r<   rR   rY   rt   rw   ry   r~   r   r   r   r   r   r   r   r   r   r   r   r   rD   r   object	_sentinelr    rS   rQ   <module>r     s   # 	         6 S ?#((
 ++%00 "-- &11	
 (99 ->> &77 +<< (99 ,== ")) &-- #++ ")) $--  $--!" &11#$ &//#--#++#++!''$**/4 3S	>"
:K$%$"**%\^`^k^kl l+52::6v+w  w!+,B!C w C'RZZ(?@ 7 @ NR =!@9F !%@"@" @" 	@"
 @" @" *@"F>> > 	>
 3> !%	CC C 	C
 C 8C 	'>'> '> 	'>
 '> 3'>\ 	"<"< "< 	"<
 "< 2"<R 	"8"8 "8 	"8
 "8 0"8R 	88 8 	8
 8 08@ 	:: : 	:
 : /:F 	44 4 	4
 4 .4@ 	
>
> 
> 	
>
 
> 
>$ ))) )
 ) ) !)F    	
  . $( $*8*8 *8 !	*8
 *8 *8 *8 0*8b $( $*6*6 *6 !	*6
 *6 *6 *6 /*6b %)!%*:*: *: "	*:
 *: *: *: 1*:b  $	8>8> 8> 	8>
 8> 18>v
 ##%=))+I!5 3!!#9##%=""$;  "7  "7  "7!5!!#9 H	 !&##' $-2$(!% $pp p 	p
 !p p '+p "p p p p p prS   