Ë
    A²XjÑ
  ã                  ó„   — d dl mZ d dlZd dlZd dlmZmZ dd„Z e«       dœ	 	 	 	 	 	 	 d	d„Z	 e«       dœ	 	 	 	 	 	 	 d
d„Z
y)é    )ÚannotationsN)ÚAnyÚCallablec                óH   — t        j                  | «      }||j                  v S )zBReturns whether or not the given function has a specific parameter)ÚinspectÚ	signatureÚ
parameters)ÚfuncÚarg_nameÚsigs      úb/var/www/html/content_generation/venv/lib/python3.12/site-packages/anthropic/_utils/_reflection.pyÚfunction_has_argumentr      s!   € ä
×
Ñ
˜DÓ
!€CØ�s—~‘~Ð%Ð%ó    )Úexclude_paramsc               ó  — t        j                  |«      }t        j                  | «      }g }|j                  j                  «       D ]—  \  }}||v rŒ|j                  j	                  |«      }|s|j                  d|› d�«       Œ>|j                  |j                  k7  sŒX|j                  d|› dt        |j                  «      › dt        |j                  «      › �«       Œ™ |r)t        t        |«      › d�dj                  |«      z   «      ‚y)	zCEnsure that the signature of the second function matches the first.zthe `ú` param is missingztypes for the `z!` param are do not match; source=z
 checking=z0 errors encountered when comparing signatures:

ú

N)r   r   r	   ÚitemsÚgetÚappendÚ
annotationÚreprÚAssertionErrorÚlenÚjoin)	Úsource_funcÚ
check_funcr   Ú	check_sigÚ
source_sigÚerrorsÚnameÚsource_paramÚcustom_params	            r   Úassert_signatures_in_syncr$      s%  € ô ×!Ñ! *Ó-€IÜ×"Ñ" ;Ó/€Jà€Fà(×3Ñ3×9Ñ9Ö;ÑˆˆlØ�>Ñ!Øà ×+Ñ+×/Ñ/°Ó5ˆÙØ�M‰M˜E $ Ð'9Ð:Ô;Øà×"Ñ" l×&=Ñ&=Ó=Ø�M‰MØ! $ Ð'HÌÈl×NeÑNeÓIfÐHgÐgqÔrvð  xD÷  xOñ  xOó  sPð  rQð  Rôð ð <ñ Ü¤ F£˜}Ð,^Ð_Ðbh×bmÑbmÐntÓbuÑuÓvÐvð r   c               ó–  — t        j                  | «      }t        j                  |«      }|st	        d|›�«      ‚g }t        |«      D ]Ô  \  }}t        j                  |«      }|j                  j                  «       D ]�  \  }	}
|	|v rŒ|j                  j                  |	«      }|s|j                  d|› d|	› d�«       ŒA|j                  |
j                  k7  sŒ[|j                  d|› d|	› dt        |
j                  «      › dt        |j                  «      › �«       ŒŸ ŒÖ |r)t	        t        |«      › d�d	j                  |«      z   «      ‚y
)zTEnsure that every @overload of overloaded_func contains all params from source_func.z#No @overload definitions found for z	overload z: `r   z: types for `z` do not match; source=z
 overload=z9 errors encountered when comparing overload signatures:

r   N)r   r   Útyping_extensionsÚget_overloadsr   Ú	enumerater	   r   r   r   r   r   r   r   )r   Úoverloaded_funcr   r   Ú	overloadsr    ÚiÚoverload_fnÚoverload_sigr!   r"   Úoverload_params               r   Úassert_overloads_in_syncr/   .   sm  € ô ×"Ñ" ;Ó/€JÜ!×/Ñ/°Ó@€IáÜÐBÀ?ÐBUÐVÓWÐWà€Fä# IÖ.‰ˆˆ;Ü×(Ñ(¨Ó5ˆØ",×"7Ñ"7×"=Ñ"=Ö"?ÑˆD�,Ø�~Ñ%Øà)×4Ñ4×8Ñ8¸Ó>ˆNÙ!Ø—‘ 	¨!¨¨C°¨vÐ5GÐHÔIØà×(Ñ(¨L×,CÑ,CÓCØ—‘Ø ˜s -°¨vÐ5LÌTÐR^×RiÑRiÓMjÐLkÐkuÔvzð  |J÷  |Uñ  |Uó  wVð  vWð  Xõñ #@ð /ñ  ÜÜ�6‹{ˆmÐVÐWÐZ`×ZeÑZeÐflÓZmÑmó
ð 	
ð r   )r
   úCallable[..., Any]r   ÚstrÚreturnÚbool)r   r0   r   r0   r   úset[str]r2   ÚNone)r   r0   r)   r0   r   r4   r2   r5   )Ú
__future__r   r   r&   Útypingr   r   r   Úsetr$   r/   © r   r   Ú<module>r:      s|   ðÝ "ã Û ß  ó&ñ  #›uñ	wØ#ðwà"ðwð ð	wð
 
ówñH  #›uñ	"
Ø#ð"
à'ð"
ð ð	"
ð
 
ô"
r   