o
    h                     @  st  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZmZ d dlZd dlmZ ddlmZmZ ed	Zed
ejdZejdZersdbddZdcddZddddZdedd Zdfd!d"Z dgd$d%Z!dgd&d'Z"n/erd d(l#mZmZm Z m"Z"m!Z! d d)l$mZmZ nd d(l%mZmZm Z m"Z"m!Z! d d)l&mZmZ erd d*lm'Z' nerd d*lm'Z' ndZ'dhd.d/Z(did2d3Z)djd5d6Z*djd7d8Z+dkd:d;Z,dld=d>Z-d?d@dmdBdCZ.ddDdndIdJZ/dd?d?dKdLdMdodVdWZ0dpdYdZZ1erG d[d\ d\ejZ2nerG d]d\ d\ejZ2nd dl3ZG d^d\ d\ej4j2ejZ2er0e5Z6G d_d` d`ee Z7dS d dal8m6Z6 e6Z7dS )q    )annotations)TYPE_CHECKINGAnyUnionGenericTypeVarCallablecastoverload)datedatetime)SelfLiteralN)	FieldInfo   )IncExStrBytesIntFloat_T_ModelT)boundz2.valuedate | StrBytesIntFloatreturnr   c                 C     d S N r   r   r   `/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/groq/_compat.py
parse_date      r   !Union[datetime, StrBytesIntFloat]r   c                 C  r   r   r   r   r   r   r   parse_datetime   r   r!   t	type[Any]tuple[Any, ...]c                 C  r   r   r   r"   r   r   r   get_args   r   r&   tptype[Any] | Noneboolc                 C  r   r   r   )r'   r   r   r   is_union"   r   r*   c                 C  r   r   r   r%   r   r   r   
get_origin%   r   r+   type_c                 C  r   r   r   r,   r   r   r   is_literal_type(   r   r.   c                 C  r   r   r   r-   r   r   r   is_typeddict+   r   r/   )r&   r*   r+   r/   r.   )r   r!   )
ConfigDictmodeltype[_ModelT]objectc                 C  s   t r| |S tt| |S r   )PYDANTIC_V2model_validater	   r   	parse_obj)r1   r   r   r   r   r6   O   s   
r6   fieldr   c                 C  s   t r|  S | jS r   )r4   is_requiredrequiredr7   r   r   r   field_is_requiredV   s   r;   r   c                 C  s,   |   }trddlm} ||krd S |S |S )Nr   )PydanticUndefined)get_defaultr4   pydantic_corer<   )r7   r   r<   r   r   r   field_get_default\   s   r?   c                 C     t r| jS | jS r   )r4   
annotationouter_type_r:   r   r   r   field_outer_typeg      rC   type[pydantic.BaseModel]c                 C  r@   r   )r4   model_config
__config__r1   r   r   r   get_model_configm   rD   rI   dict[str, FieldInfo]c                 C  r@   r   )r4   model_fields
__fields__rH   r   r   r   get_model_fieldss   rD   rM   FdeeprO   c                C     t r| j|dS | j|dS )NrN   )r4   
model_copycopy)r1   rO   r   r   r   rQ   y      rQ   indentpydantic.BaseModelrU   
int | Nonestrc                C  rP   )NrT   )r4   model_dump_jsonjson)r1   rU   r   r   r   
model_json   rS   r[   Tpython)excludeexclude_unsetexclude_defaultswarningsmoder]   IncEx | Noner^   r_   r`   ra   Literal['json', 'python']dict[str, Any]c                C  sD   t st| dr| j||||t r|dS ddS td| j|||dS )N
model_dumpT)ra   r]   r^   r_   r`   rd   )r]   r^   r_   )r4   hasattrre   r	   dict)r1   r]   r^   r_   r`   ra   r   r   r   re      s$   	re   datac                 C  s   t r| |S | |S r   )r4   r5   r6   )r1   rh   r   r   r   model_parse   s   

ri   c                   @     e Zd ZdS GenericModelN__name__
__module____qualname__r   r   r   r   rl          rl   c                   @  rj   rk   rm   r   r   r   r   rl      rq   c                   @  rj   rk   rm   r   r   r   r   rl      rq   c                   @  sh   e Zd ZU ded< ded< dddZeddddZedd ddZdd!ddZd"ddZd#ddZd	S )$typed_cached_propertyCallable[[Any], _T]funcz
str | Noneattrnamer   Nonec                 C  r   r   r   )selfrt   r   r   r   __init__       ztyped_cached_property.__init__Ninstanceownerr(   r   c                 C  r   r   r   rw   rz   r{   r   r   r   __get__   r   ztyped_cached_property.__get__r3   r   c                 C  r   r   r   r|   r   r   r   r}      r   	_T | Selfc                 C  s   t  r   )NotImplementedErrorr|   r   r   r   r}      s   r#   namerX   c                 C  r   r   r   )rw   r{   r   r   r   r   __set_name__   ry   z"typed_cached_property.__set_name__r   c                 C  r   r   r   )rw   rz   r   r   r   r   __set__   ry   ztyped_cached_property.__set__)rt   rs   r   rv   r   )rz   rv   r{   r(   r   r   )rz   r3   r{   r(   r   r   )rz   r3   r{   r(   r   r~   )r{   r#   r   rX   r   rv   )rz   r3   r   r   r   rv   )	rn   ro   rp   __annotations__rx   r
   r}   r   r   r   r   r   r   rr      s   
 

rr   )cached_property)r   r   r   r   )r   r    r   r   )r"   r#   r   r$   )r'   r(   r   r)   )r"   r#   r   r(   )r,   r#   r   r)   )r1   r2   r   r3   r   r   )r7   r   r   r)   )r7   r   r   r   )r1   rE   r   r   )r1   rE   r   rJ   )r1   r   rO   r)   r   r   )r1   rV   rU   rW   r   rX   )r1   rV   r]   rb   r^   r)   r_   r)   r`   r)   ra   rc   r   rd   )r1   r2   rh   r   r   r   )9
__future__r   typingr   r   r   r   r   r   r	   r
   r   r   typing_extensionsr   r   pydanticpydantic.fieldsr   _typesr   r   r   	BaseModelr   VERSION
startswithr4   r   r!   r&   r*   r+   r.   r/   pydantic.v1.typingpydantic.v1.datetime_parsepydantic.typingpydantic.datetime_parser0   r6   r;   r?   rC   rI   rM   rQ   r[   re   ri   rl   pydantic.genericsgenericspropertyr   rr   	functoolsr   r   r   r   <module>   sl    (











	

