
    -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%j0        de%j0        de%j1        de%j2        de%j3        de%j4        de%j5        e%j6        e%j6        e%j7        e%j8        e%j9        e%j9        dZ:e;e<e=e>         f         Z?e=e?         Z@e;e@e<f         ZA ejB        dejC                  ZDdeEd <    ejB        d!          ZFdeEd"<    ejB        d#          ZGdeEd$<    ejB        d%          ZHdeEd&<   d'd(dtd3ZIdud5ZJd'd'd6dvd9ZKdwd;ZLd'd<dxd>ZMd'd(dyd@ZNd'd(dzdBZOd'd(d{dDZPd'd(d|dFZQd'd(d}dHZRd'd(d~dJZSd'dKddMZTd'd'dNddTZUdUd dVdd[ZVd'd'd'd\dd`ZWd'd'd'd\ddbZXd'd'd'dcddgZYd'dhddkZZddnZ[e%j.        eLe%j/        eMe%j0        eRe%j9        eSe%j4        eZe%j5        eNe%j6        eOe%j7        ePe%j8        eQe%j1        eWe%j2        eXe%j3        eYiZ\ e]            Z^dUd'd'd'dUd'd'd'd'do	ddsZ_dS )    )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   	docstringr'   offsetintr8   booloptionsr$   return_ItemsBlockc                  | j         }|t          |          k    rg |fS |}g }t          ||                   r|dz  }t          ||                   t          ||                   t          ||                                                   z
  }|dk    rg |dz
  fS |||         |d          gf}|dz  }|t          |          k     r`||         }	t          |	          r|d                             d           n|	                    |dz  dz            r'|d                             |	|dz  d                     n|	                    |dz   dz            rzt          |	          t          |	                                          z
  }
|d                             |	|
d                     |r#t          | |d|dz    d| d|dz   d	|
            n<|	                    |dz            r#|                    |           ||	|d          gf}nn|dz  }|t          |          k     `|r|                    |           ||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   )r=   r>   r8   rA   rI   
new_offsetitemsindentcurrent_itemlinecont_indents              V/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/_griffe/docstrings/google.py_read_block_itemsrV   S   s   OEU6zJE z*
+
+ a
 z*
+
+  z"##c%
*;*B*B*D*D&E&EEF{{:>!! z!2677!; <=L!OJ s5zz
!
!Z $ 	O""2&&&&__VaZ#-.. 	O""4
#56666__fqjC/00 	d))c$++--&8&88KO""4#5666 !W:PQ> W W!'W W06
W WITW W   __Vc\** 	LL&&&&fgg8LL a
A s5zz
!
!D  #\"""*q.      tuple[str, int]c               d   | j         }|t          |          k    rd|dz
  fS |}g }t          ||                   r|dz  }t          ||                   t          ||                   t          ||                                                   z
  }|dk    rd|dz
  fS |                    ||                                                    |dz  }|t          |          k     r||                             |dz            st          ||                   rn|                    ||         |d                     |dz  }|t          |          k     r3||                             |dz            Yt          ||                   nd                    |                              d          |dz
  fS )NrF   rE   r   rH   
)rI   rJ   rK   rL   rM   rN   joinrstrip)r=   r>   rA   rI   rO   blockrQ   s          rU   _read_blockr^      s   OEU6A:~JE z*
+
+ a
 z*
+
+  z"##c%
*;*B*B*D*D&E&EEF{{6A:~ 
LLz"))++,,,!OJ s5zz
!
!uZ'8'C'CFSL'Q'Q
!UcdijtduUvUv
!U:&vww/000a
 s5zz
!
!uZ'8'C'CFSL'Q'Q
!UcdijtduUvUv
! 99U""4((*q.88rW   )warn_unknown_paramsr8   r_   $tuple[list[DocstringParameter], int]c          	     N   g }t          | f||d|\  }}|D ]	\  }}		 |	d                             dd          \  }
}n-# t          $ r  |rt          | |d|	d          d           Y Pw xY wd                    |                                g|	dd                                        d          }d|
v rT|
                    dd          \  }}|                    d	          }|                    d
          }t          ||           }n4|
}	 | j
        j        |         j        }n# t          t          f$ r d }Y nw xY w	 | j
        j        |         j        }n# t          t          f$ r d }Y nw xY w|r|t          | |d| d           |rq|rot!          t                    5  | j
        j        }||vr3d| d}d| d| fD ]}||v r|d| dz  } nt          | ||           d d d            n# 1 swxY w Y   |                    t%          ||||                     ||fS )Nr>   r8   r   :rE   -Failed to get 'name: description' pair from ''rZ   rH   ()
, 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)rV   split
ValueErrorr   r[   rL   r\   stripremovesuffixr    parentr+   rk   AttributeErrorKeyErrordefaultr   rM   r
   )r=   r>   r_   r8   rA   r+   r]   rO   line_numberparam_linesname_with_typerl   ri   rk   rt   r*   messagestarred_names                     rU   _read_parametersrz      sV    J *)aFXaaY`aaE:$) 1x 1x [		*5a.*>*>sA*F*F'NKK 	 	 	 !UKPQNUUU  
 H	 ii!3!3!5!5 HABB HIIPPQUVV .  -33C;;D*#))$//J#00>>J3J	JJJJ!D"&-8>I

"H- " " "!


"	&1$7?GG) 	 	 	GGG	  	g
*i6e^b6e6e6efff 		G+ 		G.)) G G")4v%%]D]]]G)3T[$[[(A " "'611#'J,'J'J'JJG!E 2 &igFFFG G G G G G G G G G G G G G G 	,$gR\juvvvwwwwz!!sF   ?'A)(A)D$$D:9D:>EE,+E, AG00G4	7G4	-tuple[DocstringSectionParameters | None, int]c               H    t          | fd|i|\  }}t          |          |fS Nr>   )rz   r   )r=   r>   rA   r+   rO   s        rU   _read_parameters_sectionr~      s6     .iRRR'RRJ
%j11:==rW   )r_   2tuple[DocstringSectionOtherParameters | None, int]c               J    t          | f|dd|\  }}t          |          |fS )NF)r>   r_   )rz   r   )r=   r>   r_   rA   r+   rO   s         rU   _read_other_parameters_sectionr      s:     .im\ammelmmJ
*:66
BBrW   -tuple[DocstringSectionAttributes | None, int]c          	        g }t          | f||d|\  }}d }|D ]b\  }}		 |	d                             dd          \  }
}n-# t          $ r  |rt          | |d|	d          d           Y Pw xY wd                    |                                g|	dd                                        d          }d|
v rT|
                    dd          \  }}|                    d	          }|                    d
          }t          ||           }nL|
}t          t          t          t                    5  | j        |         j        }d d d            n# 1 swxY w Y   |                    t#          |||                     dt%          |          |fS )Nrb   r   rc   rE   rd   re   rZ   rH   rf   rg   ri   rk   rl   )rV   rm   rn   r   r[   rL   r\   ro   rp   r    r   rr   rs   	TypeErrorrq   rk   rM   r   r   )r=   r>   r8   rA   r2   r]   rO   rk   ru   
attr_linesrw   rl   ri   s                rU   _read_attributes_sectionr   
  s    J))aFXaaY`aaE:$(J#( i iZ		*4Q-*=*=c1*E*E'NKK 	 	 	 !TJqMTTT  
 H	 ii!3!3!5!5 G
122 GHHOOPTUU.  -33C;;D*#))$//J#00>>J3J	JJJJ!D.(I>> ? ?&-d3>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 	,$:[fggghhhh%j11:==s#   A'A+*A+-EE	E	,tuple[DocstringSectionFunctions | None, int]c          	         g }t          | f||d|\  }}d }|D ]\  }}		 |	d                             dd          \  }
}n-# t          $ r  |rt          | |d|	d          d           Y Ow xY wd                    |                                g|	dd                                        d          }d|
v r|
                    dd          d         }|
}n|
}d }|                    t          |||	                     t          |          |fS 
Nrb   r   rc   rE   z2Failed to get 'signature: description' pair from 're   rZ   (r   )
rV   rm   rn   r   r[   rL   r\   rM   r   r   )r=   r>   r8   rA   r3   r]   rO   	signatureru   
func_linesname_with_signaturerl   ri   s                rU   _read_functions_sectionr   4  sq    I))aFXaaY`aaE:#'I#( f fZ		/9!}/B/B3/J/J, 	 	 	 !YTUYYY  
 H	 ii!3!3!5!5 G
122 GHHOOPTUU%%%&,,S!44Q7D+II&DI*Xcdddeeee$Y//;;   A  'A*)A**tuple[DocstringSectionClasses | None, int]c          	         g }t          | f||d|\  }}d }|D ]\  }}		 |	d                             dd          \  }
}n-# t          $ r  |rt          | |d|	d          d           Y Ow xY wd                    |                                g|	dd                                        d          }d|
v r|
                    dd          d         }|
}n|
}d }|                    t          |||	                     t          |          |fS r   )
rV   rm   rn   r   r[   rL   r\   rM   r   r   )r=   r>   r8   rA   r5   r]   rO   r   ru   class_linesr   rl   ri   s                rU   _read_classes_sectionr   Y  sn    G))aFXaaY`aaE:#'I$) a a [		/:1~/C/CC/K/K, 	 	 	 !ZUVZZZ  
 H	 ii!3!3!5!5 HABB HIIPPQUVV%%%&,,S!44Q7D+II&DI~4IS^___````"7++Z77r   *tuple[DocstringSectionModules | None, int]c          	        g }t          | f||d|\  }}|D ]\  }}	 |d                             dd          \  }	}
n-# t          $ r  |rt          | |d|d          d           Y Ow xY wd                    |
                                g|dd                                        d          }
|                    t          |	|
                     t          |          |fS )	Nrb   r   rc   rE   rd   re   rZ   )ri   rl   )
rV   rm   rn   r   r[   rL   r\   rM   r	   r   )r=   r>   r8   rA   r6   r]   rO   ru   module_linesri   rl   s              rU   _read_modules_sectionr   ~  s/    G))aFXaaY`aaE:%* L L!\		 ,Q 5 5c1 = =D++ 	 	 	 !VLQROVVV  
 H	 ii!3!3!5!5 IQRR8H IJJQQRVWWDkJJJKKKK"7++Z77   >'A('A()tuple[DocstringSectionRaises | None, int]c          	        g }t          | f||d|\  }}|D ]\  }}	 |d                             dd          \  }	}
n-# t          $ r  |rt          | |d|d          d           Y Ow xY wd                    |
                                g|dd                                        d          }
t          |	|           }	|                    t          |	|
                     t          |          |fS )	Nrb   r   rc   rE   z2Failed to get 'exception: description' pair from 're   rZ   rk   rl   )rV   rm   rn   r   r[   rL   r\   r    rM   r   r   )r=   r>   r8   rA   r-   r]   rO   ru   exception_linesrk   rl   s              rU   _read_raises_sectionr     sD    J))aFXaaY`aaE: ). Z Z$_		&5a&8&>&>sA&F&F#J 	 	 	 !^YZI[^^^  
 H	 ii!3!3!5!5 L8K LMMTTUYZZ/
IFF
.JKXXXYYYY!*--z99r   (tuple[DocstringSectionWarns | None, int]c          	        g }t          | f||d|\  }}|D ]\  }}	 |d                             dd          \  }	}
n-# t          $ r  |rt          | |d|d          d           Y Ow xY wd                    |
                                g|dd                                        d          }
|                    t          |	|
                     t          |          |fS )	Nrb   r   rc   rE   z0Failed to get 'warning: description' pair from 're   rZ   r   )
rV   rm   rn   r   r[   rL   r\   rM   r   r   )r=   r>   r8   rA   r7   r]   rO   ru   warning_linesrk   rl   s              rU   _read_warns_sectionr     s1    E))aFXaaY`aaE:&+ T T"]		&3A&6&<&<S!&D&D#J 	 	 	 !Z}UVGWZZZ  
 H	 ii!3!3!5!5 Jabb8I JKKRRSWXX]jkRRRSSSS ''33r   )multipler   c               z    |rt          | fd|i|S t          | fd|i|\  }}||                                fg|fS r}   )rV   r^   
splitlines)r=   r>   r   rA   	one_blockrO   s         rU   _read_block_items_mayber     sf      F EE6EWEEE'	LL&LGLLIz--//01:==rW   )namedr8   ru   rI   	list[str]r   tuple[str | None, Any, str]c                  |r_t                               |d                   }|s$|rt          | |d|d          d           t          |                                \  }}}n^d }d|d         v rH|d                             dd          \  }}|                    d                              d          }n
d }|d         }d                    |                                g|dd                                        d          }|||fS )	Nr   z4Failed to get name, annotation or description from 're   rc   rE   r   )rZ   )	r:   matchr   rn   groupsrm   rL   r\   r[   )	r=   ru   rI   r   r8   r   ri   rk   rl   s	            rU    _get_name_annotation_descriptionr     s#     #/55eAh?? 	 !V5QR8VVV  
 (-%j++%(??&+AhnnS!&<&<#J#**3//66s;;JJJ(K))[//11>E!""I>??FFtLLK[((rW   F)r   index	gen_indexLiteral[0, 1, 2]r   str | Expr | Nonec                  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            n# 1 swxY w Y   |S )Nr   )	r   	Exceptionrq   rk   is_generatorsliceelementsis_iteratoris_tuple)r=   r   r   r   rk   s        rU   _annotation_from_parentr     s     J	)		 : :%0
" 	*#)29=JJ# 	*	Q#)J 	:
+ 	:#)259J: : : : : : : : : : : : : : : s   AA99A= A=)returns_multiple_itemsreturns_named_valuer8   r   r   *tuple[DocstringSectionReturns | None, int]c                  g }t          | f||d|\  }}t          |          D ]\  }	\  }
}	 t          | |
||          \  }}}n# t          $ r Y -w xY w|rt	          ||           }nRt          | dt          |          dk    |	          }|r,|*|rt          |          n|	dz   }t          | |
d|            |	                    t          |pd||                     t          |          |fS )	Nr>   r   r   rG   rE   r   r   r   z)No type or annotation for returned value rF   r   )r   	enumerater   rn   r    r   rJ   reprr   rM   r   r   )r=   r>   r   r   r8   rA   r.   r]   rO   r   ru   return_linesri   rk   rl   returned_values                   rU   _read_returns_sectionr     sr    G/'  	 E: /8.>.> i i**\	,L)	- - -)D*kk  	 	 	H	  		x3J	JJJJ 1aRUV[R\R\_`R`hmnnnJ xJ./3!Bd!)[:vft:v:vwwwDJB:[fggghhhh"7++Z77   A
AA)tuple[DocstringSectionYields | None, int]c                  g }t          | f||d|\  }}t          |          D ]\  }	\  }
}	 t          | |
||          \  }}}n# t          $ r Y -w xY w|rt	          ||           }nRt          | dt          |          dk    |	          }|r,|*|rt          |          n|	dz   }t          | |
d|            |	                    t          |pd||                     t          |          |fS )	Nr   r   r   rE   r   z(No type or annotation for yielded value rF   r   )r   r   r   rn   r    r   rJ   r   r   rM   r   r   )r=   r>   r   r   r8   rA   r/   r]   rO   r   ru   yield_linesri   rk   rl   yielded_values                   rU   _read_yields_sectionr   A  sr    F/'  	 E: .7u-=-= g g))[	,L)	- - -)D*kk  	 	 	H	  		v3J	JJJJ 1aRUV[R\R\_`R`hmnnnJ vJ..2 AT


	!)[:ter:t:tuuun$*"Ydeeeffff!&)):55r   )receives_multiple_itemsreceives_named_valuer8   r   r   +tuple[DocstringSectionReceives | None, int]c                  g }t          | f||d|\  }}t          |          D ]\  }	\  }
}	 t          | |
||          \  }}}n# t          $ r Y -w xY w|rt	          ||           }n$t          | dt          |          dk    |	          }|r,|*|rt          |          n|	dz   }t          | |
d|            |	                    t          |pd||                     t          |          |fS )Nr   r   rE   r   z)No type or annotation for received value rF   r   )r   r   r   rn   r    r   rJ   r   r   rM   r   r   )r=   r>   r   r   r8   rA   r0   r]   rO   r   ru   receive_linesri   rk   rl   received_values                   rU   _read_receives_sectionr   n  ss    H/(  	 E: 09/?/? k k++]	,L*	- - -)D*kk  	 	 	H	  	o3J	JJJJ 1aRUV[R\R\_`R`hmnnnJ 	t
*+/>T$ZZZUQYNi6rbp6r6rsss(djbZ]hiiijjjj#H--z99r   )trim_doctest_flagsr   +tuple[DocstringSectionExamples | None, int]c                  t          | fd|i|\  }}g }d}d}g }	g }
|                    d          D ]}t          |          rS|r;|
r6|                    t          j        d                    |
          f           g }
d}O|	                    |           e|rN|r6t                              d|          }t                              d|          }|
                    |           |
                    d          r| }|	                    |           |r|	                    |           |
                    d          r|	rI|                    t          j        d                    |	                              d          f           g }	d}|rt                              d|          }|
                    |           |	                    |           |	rH|                    t          j        d                    |	                              d          f           n6|
r4|                    t          j        d                    |
          f           t          |          |fS )Nr>   FrZ   rF   ```z>>>T)r^   rm   rK   rM   r!   r1   r[   r<   subr;   rN   textr\   r   )r=   r>   r   rA   r   rO   sub_sectionsin_code_examplein_code_blockcurrent_textcurrent_examplerS   s               rU   _read_examples_sectionr     s    #9GGVGwGGD*hjLOM L!#O

4   "& "&$ !	& *" ) '')=)F		RaHbHb(cddd&(O"'##D)))) 	&! ;(,,R66,00T::""4((((__U## 	& --M%%%% 	&%%%%__U## 	& "##%9%>		,@W@W@^@^_c@d@d$efff!"O! 7(,,R66""4(((( %%%% Y16		,8O8O8V8VW[8\8\]^^^^	 Y1:DIIo<V<VWXXX#L11:==rW   rS   strc                ,    |                                   S )N)ro   )rS   s    rU   rK   rK     s    zz||rW   	ignore_init_summaryr   r   r    returns_type_in_property_summaryr   r   r_   r8   r   r   list[DocstringSection]c       	           g }g }d}| j         }|||||||||	d	|
}
|
d         oC| j        duo:| j        j        dk    o*| j        j        o| j        j        duo| j        j        j        }|rdnd}|t          |          k     r||                                         }|rG|                    d                              d	          rd}|	                    ||                    n|                    d                              d	          rd
}|	                    ||                    nt                              ||                   x}r|                                }|d         }|d         }|                                t          v }|dk    }| pt          ||dz
                     }|t          |          dz
  k     }|t          |          dz
  k     }|ot          ||dz                      }|ot          ||dz                      }|o | o||dz                                d          }|o | o||dz                                d          }|s$|s"|	                    ||                    |dz  }g }|rdnd} |s|r|s|	                    d|             |r|r|	                    d|  d           |r[|	r7d                    |          }!t!          | |d|  d|! t"          j                   |	                    ||                    |dz  }|r|rYt'          |          rH|	                    t)          d                    |                              d                               g }t,          t          |                                                  }" |"| fd|dz   i|
\  }#}|#r||#_        |	                    |#           n)t1          | |dz             \  }$}|$r|rYt'          |          rH|	                    t)          d                    |                              d                               g }||}|                                                    dd          }|	                    t5          ||$|                     nct7          t8                    5  |	                    ||                    ddd           n# 1 swxY w Y   n|	                    ||                    |dz  }|t          |          k     |rH|	                    t)          d                    |                              d                               |r|r| j        r| j        j        rd| j        j        v r|d         j                                                             d          }d|d         v r|d                              dd          \  }%}&|&g|dd         }d                    |          |d         _        |	                    tC          tE          ddtG          |%|                     g                     |S )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__rG   r   rH   r   TtitletyperE   section
admonitionzMissing blank line above zExtraneous blank line below z titlez; z	Possible z skipped, reasons: rZ   r>   )r>   -)kindr   r   propertyrc   rF   )rl   rk   )$rI   rq   ri   is_functionis_classrJ   lowerrL   rN   rM   r9   r   	groupdict_section_kindrK   r[   r   r"   debuganyr   r\   _section_readerr   r^   replacer   r   
IndexErroris_attributelabelsrj   rm   r   r   r    )'r=   r   r   r   r   r   r   r   r_   r8   rA   sectionscurrent_sectionr   rI   ignore_summaryr>   
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   contentsrk   rS   s'                                          rU   parse_googler    sn   X (*HOMOE  30"82,L#: 42  G 	%& 	-D(	-!Z/	- (	- #4/		-
 #,  !'QQaF
3u::

6]((**
 J	2  %%0077 & %""5=1111s##..u55 E	2 M""5=1111$**5=999U A	2__&&F7OE$VnO(..00MAJ &
#44YuVVWZGX8Y8Y"SZZ!^3M#c%jj1n4N,Rfqj@Q1R1R . T>%QR
BS3T3T"/"n8H4H"nUSY\]S]M^MiMijmMnMn#1#q:K6K#qPUV\_`V`PaPlPlmpPqPq ' +?   &&uV}555!G *<99D# C'; CEU CA4AABBB# L(8 LJdJJJKKK  %)YYw%7%7N%!MDMM^MM 	    &&uV}555! >" )?++ g (<TYY=W=W=^=^_c=d=d(e(efff&(O(7L7L7N7N)OP"(&"Q"Q6A:"Q"Q"Q -$)GMOOG,,, $/y!#L#L#L & >& -// k$OO,@?A[A[AbAbcgAhAh,i,ijjj*,} /&5&;&;&=&=&E&Ec3&O&OOOO$>OZbjo$p$p$pqqqq!*-- > >'..uV}===> > > > > > > > > > > > > > > ""5=111!_ 3u::

b  W,TYY-G-G-N-Nt-T-TUUVVV 	)  )	
 )*111!((**0066%(??$Qx~~c155J&E!""I&E $		% 0 0HQKOO'$RRD^_iktDuDuvvvw    Os   -SSS)
r=   r'   r>   r?   r8   r@   rA   r$   rB   rC   )r=   r'   r>   r?   rA   r$   rB   rX   )r=   r'   r>   r?   r_   r@   r8   r@   rA   r$   rB   r`   )r=   r'   r>   r?   rA   r$   rB   r{   )
r=   r'   r>   r?   r_   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r   r@   rA   r$   rB   rC   )r=   r'   ru   r?   rI   r   r   r@   r8   r@   rB   r   )
r=   r'   r   r   r   r@   r   r?   rB   r   )r=   r'   r>   r?   r   r@   r   r@   r8   r@   rA   r$   rB   r   )r=   r'   r>   r?   r   r@   r   r@   r8   r@   rA   r$   rB   r   )r=   r'   r>   r?   r   r@   r   r@   r8   r@   rA   r$   rB   r   )
r=   r'   r>   r?   r   r@   rA   r$   rB   r   )rS   r   rB   r@   )r=   r'   r   r@   r   r@   r   r@   r   r@   r   r@   r   r@   r   r@   r_   r@   r8   r@   rA   r$   rB   r   )`
__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_BlockItemsrC   compile
IGNORECASEr9   __annotations__r:   r;   r<   rV   r^   rz   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rK   r   object	_sentinelr   rW   rU   <module>r#     sH   # " " " " " " 				                                                                       6 S R R R R R R R ? ? ? ? ? ? ? ? )########((((((((((((
 +%0 "- &1	
 (9 -> &7 +< (9 ,= ") &- #+ ") $-  $-!" &1#$ &/#-#+#+!'$*/  4 3S	>"
:K$%$"*%\^`^kll l l l l+52:6v+w+w  w w w w!+,B!C!C  C C C C'RZ(?@@  @ @ @ @ NR =! =! =! =! =! =!@9 9 9 9F !%@" @" @" @" @" @"F> > > > !%	C C C C C C 	'> '> '> '> '> '>\ 	"< "< "< "< "< "<R 	"8 "8 "8 "8 "8 "8R 	8 8 8 8 8 8@ 	: : : : : :F 	4 4 4 4 4 4@ 	
> 
> 
> 
> 
> 
>$ ) ) ) ) ) )F      . $( $*8 *8 *8 *8 *8 *8b $( $*6 *6 *6 *6 *6 *6b %)!%*: *: *: *: *: *:b  $	8> 8> 8> 8> 8> 8>v   
 #%=)+I!5 3!#9#%="$; "7 "7 "7!5!#9 FHH	 !&##' $-2$(!% $p p p p p p p prW   