Ë
    $Æ%hñ  ã                  óÀ   — d dl mZ d dlZd dlmZmZ d dlmZ d dlZddl	m
Z
 ddlmZmZ ddlmZmZ  ed	«      Zdd
„Z	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zy)é    )ÚannotationsN)ÚAnyÚTypeVar)Ú	TypeGuardé   )Ú	NOT_GIVEN)Úis_dictÚis_list)ÚPYDANTIC_V2Úmodel_json_schemaÚ_Tc                óô   — t        j                  | «      rt        | «      rt        | «      }n?t        r+t        | t        j                  «      r| j                  «       }nt        d| › �«      ‚t        |d|¬«      S )Nz:Non BaseModel types are only supported with Pydantic v2 - © ©ÚpathÚroot)ÚinspectÚisclassÚis_basemodel_typer   r   Ú
isinstanceÚpydanticÚTypeAdapterÚjson_schemaÚ	TypeErrorÚ_ensure_strict_json_schema)ÚmodelÚschemas     úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/openai/lib/_pydantic.pyÚto_strict_json_schemar      sd   € Ü‡��uÔÔ"3°EÔ":Ü" 5Ó)‰Ý	œ E¬8×+?Ñ+?Ô@Ø×"Ñ"Ó$‰äÐTÐUZÐT[Ð\Ó]Ð]ä% f°2¸FÔCÐCó    c               óŒ  — t        | «      st        d| › d|› �«      ‚| j                  d«      }t        |«      r-|j                  «       D ]  \  }}t	        |g |¢d‘|‘­|¬«       Œ | j                  d«      }t        |«      r-|j                  «       D ]  \  }}t	        |g |¢d‘|‘­|¬«       Œ | j                  d«      }	|	dk(  r	d| vrd	| d<   | j                  d
«      }
t        |
«      r[|
j                  «       D �cg c]  }|‘Œ c}| d<   |
j                  «       D ��ci c]  \  }}|t	        |g |¢d
‘|‘­|¬«      “Œ c}}| d
<   | j                  d«      }t        |«      rt	        |g |¢d‘­|¬«      | d<   | j                  d«      }t        |«      r=t        |«      D ��cg c]#  \  }}t	        |g |¢d‘t        |«      ‘­|¬«      ‘Œ% c}}| d<   | j                  d«      }t        |«      r„t        |«      dk(  r9| j                  t	        |d   g |¢d‘d‘­|¬«      «       | j                  d«       n=t        |«      D ��cg c]#  \  }}t	        |g |¢d‘t        |«      ‘­|¬«      ‘Œ% c}}| d<   | j                  dt        «      €| j                  d«       | j                  d«      }|rƒt        | d«      rwt        |t        «      s
J d|› �«       ‚t        ||¬«      }t        |«      st!        d|› d|› �«      ‚| j                  i |¥| ¥«       | j                  d«       t	        | ||¬«      S | S c c}w c c}}w c c}}w c c}}w )zkMutates the given JSON schema to ensure it conforms to the `strict` standard
    that the API expects.
    z	Expected z to be a dictionary; path=z$defsr   ÚdefinitionsÚtypeÚobjectÚadditionalPropertiesFÚ
propertiesÚrequiredÚitemsÚanyOfÚallOfé   r   Ú0Údefaultz$refzReceived non-string $ref - )r   ÚrefzExpected `$ref: z&` to resolved to a dictionary but got )r	   r   Úgetr(   r   Úkeysr
   Ú	enumerateÚstrÚlenÚupdateÚpopr   Úhas_more_than_n_keysr   Úresolve_refÚ
ValueError)r   r   r   ÚdefsÚdef_nameÚ
def_schemar"   Údefinition_nameÚdefinition_schemaÚtypr&   ÚpropÚkeyÚprop_schemar(   Úany_ofÚiÚvariantÚall_ofÚentryr.   Úresolveds                         r   r   r      s‰  € ô �;ÔÜ˜) K =Ð0JÈ4È&ÐQÓRÐRà�?‰?˜7Ó#€DÜˆt„}Ø$(§J¡J£Lò 	_Ñ ˆH�jÜ& zÐ8R¸$Ð8RÀÐ8RÈÑ8RÐY]Ö^ð	_ð —/‘/ -Ó0€KÜˆ{ÔØ2=×2CÑ2CÓ2Eò 	sÑ.ˆOÐ.Ü&Ð'8Ð?fÀÐ?fÀ}Ð?fÐVeÑ?fÐmqÖrð	sð �/‰/˜&Ó
!€CØ
ˆh‚Ð1¸ÑDØ.3ˆÐ*Ñ+ð —‘ Ó.€JÜˆzÔØ4>·O±OÓ4EÖ"F¨D¢4Ò"Fˆ�JÑð %/×$4Ñ$4Ó$6÷%
á ��[ð Ô+¨KÐ>XÀÐ>XÀlÐ>XÐTWÑ>XÐ_cÔdÑdó%
ˆ�LÑ!ð �O‰O˜GÓ$€EÜˆu„~Ü9¸%ÐFVÈÐFVÈgÑFVÐ]aÔbˆ�GÑð �_‰_˜WÓ%€FÜˆv„ô (¨Ó/÷ 
á��7ô ' wÐ5M°tÐ5M¸WÐ5MÄcÈ!ÃfÑ5MÐTXÖYó 
ˆ�GÑð �_‰_˜WÓ%€FÜˆv„Üˆv‹;˜!ÒØ×ÑÔ9¸&À¹)ÐJ_ÈDÐJ_ÐRYÐJ_Ð[^ÑJ_ÐfjÔkÔlØ�O‰O˜GÕ$ô !*¨&Ó 1÷$á�A�uô +¨5Ð7O¸Ð7O¸wÐ7OÌÈAËÑ7OÐVZÖ[ó$ˆK˜Ñ ð ‡��y¤)Ó,Ð4Ø�‰˜	Ô"ð �/‰/˜&Ó
!€CÙ
Ô# K°Ô3Ü˜#œsÔ#ÐHÐ'BÀ3À%Ð%HÓHÐ#ä D¨cÔ2ˆÜ�xÔ ÜÐ/°¨uÐ4ZÐ[cÐZdÐeÓfÐfð 	×ÑÐ6˜hÐ6¨+Ð6Ô7Ø�‰˜Ôô *¨+¸DÀtÔLÐLàÐùòu #Gùó%
ùó 
ùó$s   Ã<	L/Ä L4Æ!(L:É(M c                ó¾   — |j                  d«      st        d|›d�«      ‚|dd  j                  d«      }| }|D ]!  }||   }t        |«      sJ d|› d|› �«       ‚|}Œ# |S )Nz#/zUnexpected $ref format z; Does not start with #/r   ú/z1encountered non-dictionary entry while resolving z - )Ú
startswithr8   Úsplitr	   )r   r.   r   rG   r@   Úvalues         r   r7   r7   v   s…   € Ø�>‰>˜$ÔÜÐ2°3°'Ð9QÐRÓSÐSàˆqˆrˆ7�=‰=˜Ó€DØ€HØò ˆØ˜‘ˆÜ�uŒ~ÐeÐ!RÐSVÐRWÐWZÐ[cÐZdÐeÓeˆ~Ø‰ðð
 €Or    c                ób   — t        j                  | «      syt        | t        j                  «      S )NF)r   r   Ú
issubclassr   Ú	BaseModel©r>   s    r   r   r   „   s$   € Ü�?‰?˜3ÔØÜ�cœ8×-Ñ-Ó.Ð.r    c                ó   — t        | d«      S )z@Returns True if the given type likely used `@pydantic.dataclass`Ú__pydantic_config__)ÚhasattrrP   s    r   Úis_dataclass_like_typerT   Š   s   € ä�3Ð-Ó.Ð.r    c                ó   — t        | «      S )N)Ú_is_dict)Úobjs    r   r	   r	   �   s   € ô �C‹=Ðr    c                óJ   — d}| j                  «       D ]  }|dz  }||kD  sŒ y y)Nr   r+   TF)r0   )rW   ÚnrC   Ú_s       r   r6   r6   •   s4   € Ø	€AØ�X‰X‹Zò ˆØ	ˆQ‰ˆØˆq‹5Ùðð r    )r   z4type[pydantic.BaseModel] | pydantic.TypeAdapter[Any]Úreturnúdict[str, Any])r   r$   r   ztuple[str, ...]r   údict[str, object]r[   r\   )r   r]   r.   r2   r[   r$   )r>   r#   r[   z#TypeGuard[type[pydantic.BaseModel]])r>   r#   r[   Úbool)rW   r$   r[   zTypeGuard[dict[str, object]])rW   r]   rY   Úintr[   r^   )Ú
__future__r   r   Útypingr   r   Útyping_extensionsr   r   Ú_typesr   Ú_utilsr	   rV   r
   Ú_compatr   r   r   r   r   r7   r   rT   r6   r   r    r   ú<module>rf      sv   ðÝ "ã ß Ý 'ã å ß 1ß 4áˆTƒ]€óDðXØðXð ðXð ð	Xð
 óXóvó/ó/ó
ôr    