+
    UV-jQ¡  ã                   óT  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	H
t
HtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^RIHsHs ^RIHs ^RIHsHs ^RIHt ^R	IH t H!t!H"t"H#t# ^R
I$H%t%H&t&H't' ^RI(H(t( ^RI)H*t*H+t+H,t, ]PZ                  ! R4      t.Rs/Rs0Rs1Rs2Rs3Rs4Rs5Rs6R t7R7R R llt8R R lt9R R lt:R R lt;R R lt<R8R R llt=R R lt>R R lt?R R  lt@R! R" ltAR# R$ ltBR% R& ltCR' R( ltDR) R* ltER+ R, ltFR9R- R. lltGR/ R0 ltHR:R1 R2 lltIR3 R4 ltJR5 R6 ltKR# );é    N)ÚAnyÚDictÚListÚOptionalÚTupleÚUnion©ÚRequest)ÚJSONResponseÚStreamingResponse)ÚgenerateÚstream_generate)Úapply_chat_template)Ú!_infer_tool_parser_from_processorÚload_tool_module)Úprepare_inputs)ÚGenerationMetricsÚPromptTooLongErrorÚ_build_metrics_envelopeÚ_count_prompt_tokens)ÚThinkingStreamStateÚprocess_tool_callsÚsuppress_tool_call_content)Úruntime)ÚAnthropicMessageResponseÚAnthropicRequestÚAnthropicUsagezmlx_vlm.serverc                 ó  € VP                   sVP                  sVP                  sVP                  sVP
                  sVP                  sVP                  sVP                  s
VP                  sVP                  sVP                  sVP"                  sVP&                  sV P+                  R 4      ! \,        4       V P+                  RRR7      ! \,        4       V P+                  R4      ! \.        4       V P+                  RRR7      ! \.        4       R# )z	/messagesú/v1/messagesF)Úinclude_in_schemaz/messages/count_tokensz/v1/messages/count_tokensN)ÚINHERIT_ADAPTERÚ_INHERIT_ADAPTERÚget_cached_modelr   r   r   Ú infer_tool_parser_from_processorr   r   Úbuild_gen_argsÚ_build_gen_argsÚread_tenant_idÚ_read_tenant_idÚpreflight_stream_context_budgetÚ _preflight_stream_context_budgetÚas_plain_dictÚ_as_plain_dictÚsplit_thinkingÚ_split_thinkingÚcount_thinking_tag_tokensÚ_count_thinking_tag_tokensÚpostÚanthropic_messages_endpointÚanthropic_count_tokens_endpoint)ÚappÚdepss   &&Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/server/anthropic.pyÚregister_routesr7   ,   sì   € ð ×+Ñ+ÐØ×,Ñ,ÐØ�}‰}€HØ×*Ñ*€OØ×2Ñ2ÐØ(,×(MÑ(MÐ%Ø×,Ñ,ÐØ×)Ñ)€OØ×)Ñ)€OØ'+×'KÑ'KÐ$Ø×'Ñ'€NØ×)Ñ)€OØ!%×!?Ñ!?Ðà‡H�Hˆ[ÔÔ5Ô6Ø‡H�Hˆ^¨u€HÔ5Ô6QÔRØ‡H�HÐ%Ô&Ô'FÔGØ‡H�HÐ(¸E€HÔBÜ'öó    c                ó<   € V ^8„  d   QhR\         R\        R\        /# )é   Ústatus_codeÚmessageÚ
error_type)ÚintÚstr)Úformats   "r6   Ú__annotate__rA   J   s$   € ÷ 
ñ 
Üð
Ü"ð
Ü03ñ
r8   c           
      ór   € \        V R RRR VRV//RR\        P                  ! 4       P                   2/R7      # )ÚtypeÚerrorr<   ú
request-idÚreq_)r;   ÚcontentÚheaders)r   ÚuuidÚuuid4Úhex)r;   r<   r=   s   &&&r6   Ú_anthropic_error_responserL   J   sJ   € ô Øà�GØ�f˜j¨)°WÐ=ð
ð  ¤d§j¢j£l×&6Ñ&6Ð%7Ð8Ð9ôð r8   c                ó^   € V ^8„  d   QhR\         R\        \         \        3,          R\         /# )r:   ÚeventÚpayloadÚreturn)r?   r   r   )r@   s   "r6   rA   rA   W   s.   € ÷ Rñ R”cð R¤D¬¬c¨¥Nð R´sñ Rr8   c                 ó@   € R V  R\         P                  ! VRR7       R2# )zevent: z
data: F©Úensure_asciiz

)ÚjsonÚdumps)rN   rO   s   &&r6   Ú
_sse_eventrV   W   s#   € Ø�U�G˜8¤D§J¢J¨wÀUÔ$KÐ#LÈDÐQÐQr8   c                ó”   € V ^8„  d   QhR\         \        \        \        \        ,          3,          ,          R\         \        ,          /# )r:   ÚsystemrP   )r   r   r?   r   r   )r@   s   "r6   rA   rA   [   s1   € ÷ ,ñ ,¤8¬E´#´t¼Cµy°.Õ,AÕ#Bð ,ÄxÔPSÅ}ñ ,r8   c                 ó¬  € V f   R # \        V \        4      '       d   V # . pV  F†  p\        V\        4      '       dN   VP                  R4      R8X  d8   VP                  R4      pV'       d   VP	                  \        V4      4       Kd  Kf  Vf   Kl  VP	                  \        V4      4       Kˆ  	  RP                  V4      P                  4       ;'       g    R # )NrC   ÚtextÚ
)Ú
isinstancer?   ÚdictÚgetÚappendÚjoinÚstrip)rX   ÚpartsÚitemrZ   s   &   r6   Ú_anthropic_system_textrd   [   s¦   € Ø‚~ÙÜ�&œ#×ÒØˆØ€EÛˆÜ�dœD×!Ò! d§h¡h¨vÓ&6¸&Ô&@Ø—8‘8˜FÓ#ˆDßØ—‘œS ›YÖ'ñ àÔØ�L‰Lœ˜T›Ö#ñ ð �9‰9�UÓ×!Ñ!Ó#×+Ð+ tÐ+r8   c                ó0   € V ^8„  d   QhR\         R\         /# )r:   ÚbodyrP   ©r   )r@   s   "r6   rA   rA   k   s   € ÷ ñ ¬sð ´sñ r8   c                 ó`  € \        V \        4      '       g   V # V P                  R 4      p\        V\        4      '       g   V # . p. pRpV Fw  p\        V\        4      '       dN   VP                  R4      R8X  d8   Rp\	        VP                  R4      4      pV'       d   VP                  V4       Kf  VP                  V4       Ky  	  V'       g   V # \        V 4      pW'R &   \	        VP                  R4      4      pV'       d   VP                  ^ V4       V'       d   RP                  V4      VR&   V# )ÚmessagesFÚrolerX   TrG   r[   )r\   r]   r^   Úlistrd   r_   Úinsertr`   )	rf   ri   Únormalized_messagesÚsystem_partsÚsaw_system_messager<   rZ   Únormalized_bodyÚexisting_systems	   &        r6   Ú$_normalize_anthropic_system_messagesrr   k   s  € Ü�dœD×!Ò!ØˆØ�x‰x˜
Ó#€HÜ�h¤×%Ò%ØˆàÐØ€LØÐÛˆÜ�gœt×$Ò$¨¯©°VÓ)<ÀÔ)HØ!%ÐÜ)¨'¯+©+°iÓ*@ÓAˆDßØ×#Ñ# DÔ)ÙØ×"Ñ" 7Ö+ñ ÷ Øˆä˜4“j€OØ"5�JÑÜ,¨_×-@Ñ-@ÀÓ-JÓK€OßØ×Ñ˜A˜Ô/ßØ$(§I¡I¨lÓ$;ˆ˜Ñ!ØÐr8   c                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r:   ÚsourcerP   )r   r   r?   )r@   s   "r6   rA   rA   ‹   s   € ÷ ñ ¬3ð ´8¼Cµ=ñ r8   c                 ó$  € \        V 4      p \        V \        4      '       g   R # V P                  R4      pVR8X  d   V P                  R4      # VR8X  d=   V P                  R4      ;'       g    RpV P                  R4      pV'       d	   RV RV 2# R # )	NrC   ÚurlÚbase64Ú
media_typez	image/pngÚdatazdata:z;base64,©r,   r\   r]   r^   )rt   Úsource_typerx   ry   s   &   r6   Ú_anthropic_image_source_to_refr|   ‹   s†   € Ü˜FÓ#€FÜ�fœd×#Ò#ÙØ—*‘*˜VÓ$€KØ�eÔØ�z‰z˜%Ó Ð Ø�hÔØ—Z‘Z Ó-×<Ð<°ˆ
Ø�z‰z˜&Ó!ˆßØ˜:˜, h¨t¨fÐ5Ð5Ùr8   c                óÂ   € V ^8„  d   QhR\         R\        \        \        ,          ,          R\        \        \        \
        \        \         3,          ,          3,          /# )r:   rG   ÚimagesrP   )r   r   r   r?   r   r   )r@   s   "r6   rA   rA   š   sD   € ÷ (ñ (Üð(Ü"¤4¬¥9Õ-ð(ä
Œ3””Tœ#œs˜(•^Õ$Ð$Õ%ñ(r8   c                 óš  aa	€ V f   R# \        V \        4      '       d   V # \        V \        4      '       Ed‹   . o	. oRpR VV	3R llpV  EFJ  p\        V\        4      '       Ed!   VP	                  R4      pVR8X  d   V! VP	                  R4      4       KL  VR8X  dd   \        VP	                  R4      4      p\        V\        4      '       d2   VP	                  R4      R8X  d   V! VP	                  R	4      4       K²  K´  K¶  VR
8X  dS   \        VP	                  R4      4      pV'       d.   RpVe   VP                  V4       SP                  RR
/4       EK  EK  VP	                  R4      '       d   V! VR,          4       EK8  EK;  Vf   EKB  V! V4       EKM  	  V'       d   S# RP                  S	4      P                  4       # \        V 4      # )NÚ Fc                ó(   € V ^8„  d   QhR\         RR/# )r:   rZ   rP   Nrg   )r@   s   "r6   rA   Ú>_anthropic_tool_result_content_to_openai.<locals>.__annotate__¦   s   € ÷ 	Jñ 	Jœcð 	J dñ 	Jr8   c                 óŒ   <€ V '       d;   SP                  \        V 4      4       SP                  R RR\        V 4      /4       R# R# )rC   rZ   N)r_   r?   )rZ   Úcontent_partsÚ
text_partss   &€€r6   Úappend_textÚ=_anthropic_tool_result_content_to_openai.<locals>.append_text¦   s8   ø€ ßØ×!Ñ!¤# d£)Ô,Ø×$Ñ$ f¨f°f¼cÀ$»iÐ%HÖIñ r8   rC   rZ   Údocumentrt   ry   ÚimageTrG   r[   )
r\   r?   rk   r]   r^   r,   r|   r_   r`   ra   )
rG   r~   Ú	saw_imager†   rc   Ú	item_typert   Ú	image_refr„   r…   s
   &&      @@r6   Ú(_anthropic_tool_result_content_to_openair�   š   sƒ  ù€ ð ‚ÙÜ�'œ3×ÒØˆÜ�'œ4× Ó Øˆ
Ø.0ˆØˆ	÷	Jñ 	Jô
 ˆDÜ˜$¤×%Ó%Ø ŸH™H VÓ,�	Ø Ô&Ù §¡¨Ó 0Ö1Ø *Ô,Ü+¨D¯H©H°XÓ,>Ó?�FÜ! &¬$×/Ò/°F·J±J¸vÓ4FÈ&Ô4PÙ# F§J¡J¨vÓ$6Ö7ñ 5QÑ/à 'Ô)Ü >¸t¿x¹xÈÓ?QÓ R�Iß Ø$(˜	Ø!Ò-Ø"ŸM™M¨)Ô4Ø%×,Ñ,¨f°gÐ->×?ò	 !ð
 —X‘X˜i×(Ò(Ù  Y¥×0ò )àÕ!Ù˜D×!ñ' ÷( Ø Ð Ø�y‰y˜Ó$×*Ñ*Ó,Ð,Üˆw‹<Ðr8   c                ó0   € V ^8„  d   QhR\         R\        /# )r:   rG   rP   )r   r?   )r@   s   "r6   rA   rA   Å   s   € ÷ ñ ´Cð ¼Cñ r8   c                 ó”   € \        V 4      p\        V\        4      '       d'   R P                  R V 4       4      P	                  4       # V# )r[   c              3   óˆ   "  € T F8  pVP                  R 4      R8X  g   K  \        VP                  RR4      4      x € K:  	  R# 5i)rC   rZ   r€   N)r^   r?   )Ú.0rc   s   & r6   Ú	<genexpr>Ú9_anthropic_tool_result_content_to_text.<locals>.<genexpr>È   s=   é € ð 
á!�Ø�x‰x˜Ó 6Ñ)ô &ŒC�—‘˜ Ó$×%Ð%Û!ùs
   ‚AŸ#A)r�   r\   rk   r`   ra   )rG   Ú	converteds   & r6   Ú&_anthropic_tool_result_content_to_textr•   Å   sH   € Ü8¸ÓA€IÜ�)œT×"Ò"Ø�y‰yñ 
á!ó
ó 
÷ ‰%‹'ð		ð
 Ðr8   c                óh   € V ^8„  d   QhR\         R\        \        \        \         3,          ,          /# )r:   ÚtoolrP   )r   r   r   r?   )r@   s   "r6   rA   rA   Ð   s'   € ÷ 6ñ 6¤Cð 6¬H´T¼#¼s¸(µ^Õ,Dñ 6r8   c                 ó2  € \        V 4      p \        V \        4      '       g   R # V P                  R4      pV P                  R4      pV'       d   Vf   R # RVRV P                  RR4      RV/pV P                  R4      e   V P                  R4      VR&   RRRV/# )	NÚnameÚinput_schemaÚdescriptionr€   Ú
parametersÚstrictrC   Úfunctionrz   )r—   r™   rš   rž   s   &   r6   Ú_anthropic_tool_to_openairŸ   Ð   s™   € Ü˜$Ó€DÜ�dœD×!Ò!ÙØ�8‰8�FÓ€DØ—8‘8˜NÓ+€Lß�<Ò'ñ à�Ø�t—x‘x ¨rÓ2Ø�lð€Hð
 ‡x�x�ÓÒ%Ø!ŸX™X hÓ/ˆ�ÑØ�J 
¨HÐ5Ð5r8   c                óª   € V ^8„  d   QhR\         \        \        ,          ,          R\         \        \        \        \        3,          ,          ,          /# )r:   ÚtoolsrP   )r   r   r   r   r?   )r@   s   "r6   rA   rA   å   s7   € ÷ 
ñ 
Ü”Dœ•IÕð
äŒd”4œœS˜•>Õ"Õ#ñ
r8   c                 óˆ   € V '       g   R # . pV  F%  p\        V4      pVf   K  VP                  V4       K'  	  T;'       g    R # ©N)rŸ   r_   )r¡   r”   r—   Úconverted_tools   &   r6   Ú_anthropic_tools_to_openair¥   å   sG   € ÷ ÙØ€IÛˆÜ2°4Ó8ˆØÔ%Ø×Ñ˜^Ö,ñ ð ×Ð˜Ðr8   c                óF   € V ^8„  d   QhR\         R\        \         ,          /# )r:   Útool_choicerP   )r   r   )r@   s   "r6   rA   rA   ò   s   € ÷ ñ ´#ð ¼(Ä3½-ñ r8   c                 ó(  € \        V 4      p V f   R # \        V \        4      '       d   V # \        V \        4      '       g   R # V P	                  R4      pVR9   d   V# VR8X  d   R# VR8X  d'   V P	                  R4      '       d   RRRRV R,          //# R # )NrC   ÚanyÚrequiredr—   r™   rž   )ÚautoÚnone)r,   r\   r?   r]   r^   )r§   Úchoice_types   & r6   Ú _anthropic_tool_choice_to_openair®   ò   s™   € Ü  Ó-€KØÒÙÜ�+œs×#Ò#ØÐÜ�k¤4×(Ò(ÙØ—/‘/ &Ó)€KØÐ&Ô&ØÐØ�eÔÙØ�fÔ §¡°×!8Ò!8à�JØ˜ ¨VÕ!4Ð5ð
ð 	
ñ r8   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# )r:   ÚblockrP   )r   r?   r   )r@   s   "r6   rA   rA     s*   € ÷ ñ ¬¬c´3¨h­ð ¼DÄÄcÀ½Nñ r8   c                 ó
  € R V P                  R 4      ;'       g#    R\        P                  ! 4       P                   2RRRRV P                  RR4      R\        P
                  ! V P                  R4      ;'       g    / RR	7      //# )
ÚidÚtoolu_rC   rž   r™   r€   Ú	argumentsÚinputFrR   )r^   rI   rJ   rK   rT   rU   )r°   s   &r6   Ú_anthropic_tool_use_to_openair¶     ss   € àˆe�i‰i˜‹o×<Ð< 6¬$¯*ª*«,×*:Ñ*:Ð);Ð!<Ø�
ØØ�E—I‘I˜f bÓ)ØœŸš E§I¡I¨gÓ$6×$<Ð$<¸"È5ÔQð
ðð r8   c                óR   € V ^8„  d   QhR\         R\        \        \         3,          /# )r:   ÚcallrP   )r   r   r?   )r@   s   "r6   rA   rA     s"   € ÷ ñ ¬ð ´´c¼3°hµñ r8   c                 ó  € \        V 4      ;'       g    / p \        V P                  R 4      4      ;'       g    / pVP                  R/ 4      p\        V\        4      '       d"    V'       d   \        P
                  ! V4      M/ pRRRV P                  R4      ;'       g#    R\        P                  ! 4       P                   2RVP                  RR4      R\        V\        4      '       d   V/# / /#   \        P                   d    / p L…i ; i)	rž   r´   rC   Útool_user²   r³   r™   r€   rµ   )r,   r^   r\   r?   rT   ÚloadsÚJSONDecodeErrorrI   rJ   rK   r]   )r¸   rž   r´   s   &  r6   Ú_openai_tool_call_to_anthropicr½     së   € Ü˜$Ó×%Ð% 2€DÜ˜dŸh™h zÓ2Ó3×9Ð9°r€HØ—‘˜[¨"Ó-€IÜ�)œS×!Ò!ð	ß1:œŸ
š
 9Ô-ÀˆIð 	�
Øˆd�h‰h�t‹n×;Ð; &¬¯ª«×)9Ñ)9Ð(:Ð ;Ø�—‘˜V RÓ(Øœj¨´D×9Ò9�ð	ð ð @Bð	ð øô ×#Ñ#ô 	ØŠIð	ús   Á#C/ Á+C/ Ã/D	ÄD	c                ó2  € V ^8„  d   QhR\         R\        \         \        \        ,          3,          R\        \         ,          R\        \         \        \
        \         \        3,          ,          \        \
        \         \        3,          ,          3,          /# )r:   rj   rG   r~   rP   )r?   r   r   r   r   r   )r@   s   "r6   rA   rA   #  sm   € ÷ -Cñ -CÜ
ð-Cä”3œœS�	�>Õ"ð-Cô ”�Ið-Cô Œ3””Tœ#œs˜(•^Õ$¤d¬4´´S°­>Õ&:Ð:Õ;ñ	-Cr8   c                 óü  € \        V\        4      '       d   V. . 3# . p. p. pT;'       g    .  EFª  p\        V4      p\        V\        4      '       g!   Ve   VP	                  \        V4      4       KE  VP                  R4      pVR8X  d8   VP                  R4      p	V	'       d   VP	                  \        V	4      4       K’  K”  VR8X  d?   V R8X  d8   \        VP                  R4      4      p
V
'       d   VP	                  V
4       K×  KÙ  VR8X  d%   V R8X  d   VP	                  \        V4      4       EK  VR8X  d[   V R8X  dT   VP	                  R	R
RVP                  R4      R\        VP                  R4      V4      RVP                  R4      /4       EKe  VR9   d   EKo  VP                  R4      '       g   EK‰  VP	                  \        VR,          4      4       EK­  	  RP                  V4      P                  4       WE3# )NrC   rZ   r‰   Úuserrt   rº   Ú	assistantÚtool_resultrj   r—   Útool_call_idÚtool_use_idrG   r™   r[   )ÚthinkingÚredacted_thinking)r\   r?   r,   r]   r_   r^   r|   r¶   r�   r`   ra   )rj   rG   r~   r…   Ú
tool_callsÚtool_resultsÚraw_itemrc   r‹   rZ   rŒ   s   &&&        r6   Ú+_anthropic_content_blocks_to_text_and_toolsrÊ   #  s¸  € ô
 �'œ3×ÒØ˜˜BˆÐà€JØ')€JØ)+€LØ—M�M˜r“MˆÜ˜hÓ'ˆÜ˜$¤×%Ò%ØÒØ×!Ñ!¤# d£)Ô,Ùà—H‘H˜VÓ$ˆ	Ø˜ÔØ—8‘8˜FÓ#ˆDßØ×!Ñ!¤# d£)Ö,ñ à˜'Ô! d¨f¤nÜ6°t·x±xÀÓ7IÓJˆIßØ—‘˜iÖ(ñ à˜*Ô$¨°Ô)<Ø×ÑÔ;¸DÓA×BØ˜-Ô'¨D°F¬NØ×Ñà˜FØ" D§H¡H¨]Ó$;ØÔGØŸ™ Ó+¨Vó ð ˜DŸH™H VÓ,ð÷	ð Ð;Ô;ÚØ�X‰X�f×ÕØ×Ñœc $ v¥,Ó/×0ñA "ðD �9‰9�ZÓ ×&Ñ&Ó(¨*ÐBÐBr8   c                ó  € V ^8„  d   QhR\         R\        \        \        \        \
        3,          ,          \        \        ,          \        \        \        \        \
        3,          ,          ,          \        \
        ,          3,          /# ©r:   ÚrequestrP   )r   r   r   r   r?   r   r   )r@   s   "r6   rA   rA   S  sT   € ÷ :ñ :Üð:ä
ÜŒŒc”3ˆh�Õœ$œs�)¤X¬d´4¼¼S¸µ>Õ.BÕ%CÄXÌcÅ]ÐRõñ:r8   c                 óþ  € . p. p\        V P                  4      pV'       d   VP                  R RRV/4       V P                   FŠ  p\	        VP
                  VP                  V4      w  rVpV'       g   V'       g	   V'       g;   R VP
                  RV/pV'       d   WhR&   V'       g   RVR&   VP                  V4       VP                  V4       KŒ  	  \        V P                  4      p	\        V P                  4      p
W!Wš3# )rj   rX   rG   rÇ   N)rd   rX   r_   ri   rÊ   rj   rG   Úextendr¥   r¡   r®   r§   )rÍ   r~   Úprocessed_messagesÚsystem_textr<   Úcontent_textrÇ   rÈ   Úmsgr¡   r§   s   &          r6   Ú_anthropic_messages_to_internalrÔ   S  sà   € ð
 €FØ/1Ðä(¨¯©Ó8€KßØ×!Ñ! 6¨8°YÀÐ"LÔMà×#Ô#ˆä7Ø—‘˜gŸo™o¨vóñ 	/ˆ ,÷
 Ÿ:¯\Ø#)¨7¯<©<¸ÀLÐ"QˆCßØ$.�LÑ!ß#Ø%)�C˜	‘NØ×%Ñ% cÔ*Ø×!Ñ! ,Ö/ñ $ô ' w§}¡}Ó5€EÜ2°7×3FÑ3FÓG€KØ uÐ9Ð9r8   c                ó0   € V ^8„  d   QhR\         R\         /# rÌ   )r   )r@   s   "r6   rA   rA   s  s   € ÷ ñ Üðäñr8   c                 óž  € \        V P                  4      pV P                  fE   \        V\        4      '       d/   VP                  R4      pVR	9   d	   RV n        MVR8X  d   RV n        V P                  f<   \        V\        4      '       d&   VP                  R4      pVe   \        V4      V n        \        V P                  4      pV P                  fz   \        V\        4      '       dd   \        VP                  R4      4      p\        V\        4      '       d4   VP                  R4      R8X  d   RRRRVP                  R/ 4      //V n	        V # )
NrC   TÚdisabledFÚbudget_tokensr@   Újson_schemaÚschema)ÚenabledÚadaptive)
r,   rÅ   Úenable_thinkingr\   r]   r^   Úthinking_budgetr>   Úoutput_configÚresponse_format)rÍ   rÅ   Úthinking_typeÚbudgetrß   Úfmts   &     r6   Ú&_anthropic_request_with_derived_fieldsrä   s  s  € ô ˜g×.Ñ.Ó/€HØ×ÑÒ&¬:°hÄ×+EÒ+EØ Ÿ™ VÓ,ˆØÐ3Ô3Ø&*ˆGÕ#Ø˜jÔ(Ø&+ˆGÔ#Ø×ÑÒ&¬:°hÄ×+EÒ+EØ—‘˜oÓ.ˆØÒÜ&)¨&£kˆGÔ#ä" 7×#8Ñ#8Ó9€MØ×ÑÒ&¬:°mÄT×+JÒ+JÜ˜]×.Ñ.¨xÓ8Ó9ˆÜ�cœ4× Ò  S§W¡W¨V£_¸Ô%Eà˜Ø ¨#¯'©'°(¸BÓ*?Ð@ð'ˆGÔ#ð €Nr8   c                ót   € V ^8„  d   QhR\         \        ,          R\        R\         \        ,          R\        /# )r:   Úfinish_reasonrÇ   Ústop_sequencerP   )r   r?   Úbool)r@   s   "r6   rA   rA   �  s8   € ÷ ñ ÜœC•=ðäðô œC•=ðô 	ñ	r8   c                 óJ   € V'       d   R # Ve   R# V R8X  d   R# V R8X  d   R # R# )rº   rç   ÚlengthÚ
max_tokensrÇ   Úend_turn© )ræ   rÇ   rç   s   &&&r6   Ú_anthropic_stop_reasonrî   �  s,   € ÷
 ÙØÒ ÙØ˜Ô ÙØ˜Ô$ÙÙr8   c          	      ó    € V ^8„  d   QhR\         R\        \        \         ,          ,          R\        \         \        \         ,          3,          /# )r:   rZ   Ústop_sequencesrP   )r?   r   r   r   )r@   s   "r6   rA   rA   �  s;   € ÷ ,ñ ,Ü
ð,Ü'¬¬S­	Õ2ð,ä
Œ3”œ•ÐÕñ,r8   c                 óÊ   € V '       d	   V'       g   V R 3# R pR pV F7  pV'       g   K  V P                  V4      pV^ 8¼  g   K'  Ve	   WR8  g   K3  TpTpK9  	  Vf   V R 3# V R V V3# r£   )Úfind)rZ   rð   Ú
best_indexÚbest_sequenceÚsequenceÚindexs   &&    r6   Ú_apply_stop_sequencesr÷   �  sz   € ÷ —~Ø�TˆzÐØ€JØ€MÛ"ˆßÙØ—	‘	˜(Ó#ˆØ�AŽ:˜:Ò-°Ö1CØˆJØ$ŠMñ #ð ÒØ�TˆzÐØ��Ð˜mÐ+Ð+r8   c                óð   € V ^8„  d   QhR\         R\        \        \        ,          ,          R\        R\        \         ,          R\        \         ,          R\        \
        \         \        3,          ,          /# )r:   Ú	full_textÚparsed_tool_callsÚinclude_thinkingÚthinking_start_tokenÚthinking_end_tokenrP   )r?   r   r   r   rè   r   )r@   s   "r6   rA   rA   °  sb   € ÷ ñ Üðä¤¤S¥	Õ*ðô ðô #¤3�-ð	ô
 !¤�ðô 
Œ$Œs”Cˆx�.Õñr8   c                 ó(  € \        WV4      w  rV. pV'       d    V'       d   VP                  R RRVRR/4       V'       d   VP                  R RRV/4       V'       d   VP                  R V 4       4       V'       g   VP                  R RRR/4       V# )rC   rÅ   Ú	signaturer€   rZ   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir£   )r½   )r‘   r¸   s   & r6   r’   Ú5_anthropic_content_from_generation.<locals>.<genexpr>À  s   é € ð 
Ù=N°TÔ*¨4×0Ð0Ó=Nùs   ‚)r.   r_   rÏ   )rù   rú   rû   rü   rý   Ú	reasoningrG   Úblockss   &&&&&   r6   Ú"_anthropic_content_from_generationr  °  s�   € ô )ØÐ);óÑ€Ið $&€FßŸIØ�‰�v˜z¨:°yÀ+ÈrÐRÔSßØ�‰�v˜v v¨wÐ7Ô8ßØ�‰ñ 
Ù=Nó
ô 	
÷ Ø�‰�v˜v v¨rÐ2Ô3Ø€Mr8   c                ó$   € V ^8„  d   QhR\         /# ©r:   Úhttp_requestr	   )r@   s   "r6   rA   rA   Ë  s   € ÷ C	Cñ C	C´Gñ C	Cr8   c              ƒ   óf  aaaaaaaa a!a""  € \         P                  ! 4       o \        V P                  4       G R j  x€L
 4      p\	        \        RA/ VB 4      o RSP                  9   d   SP                  M\        p\        SP                  T4      w  oop\        S4      w  poo"p\        S4      o!S!'       d   \        S!4      MR o  \!        SS\#        T 4      R7      oSP'                  4       pTe   YgR&   \)        STT3R\+        S4      RS"/TB o\,        P/                  RSP                  \+        S4      SP0                  SP2                  SP4                  \+        S";'       g    . 4      4       SP4                  '       d¤   \6        P8                  P;                  R	SP                  R
R7       \=        R	SP                  SS'       d   SMR R SR7      G R j  x€L
  TTTTTTTT T!T"3
R lp\?        T! 4       RRRRRRRRR\@        PB                  ! 4       PD                   2/R7      # \6        P8                  P;                  R	SP                  RR7        Rp	^ p
^ p\G        4       pR p\6        PH                  e.   TTT3R lp\J        PL                  ! T4      G R j  x€L
 w  p
p	pppM¿\O        RARSRSRSRSR\,        PQ                  \R        PT                  4      R \6        PV                  PY                  R 4      R!\6        PZ                  /SP]                  4       B pTP^                  p	TP`                  p
TPb                  pTPe                  T4       \g        TR"R 4      ;'       g    R#pR pT	pS eA   S"'       d9   \i        T	S S"4      pTR$,          '       d   TR$,          pTR%,          ;'       g    Rp\k        TSPl                  4      w  pp\o        TT\q        SPr                  4      SPt                  SPv                  R&7      p\y        T\q        T4      TR'7      p\{        R(\@        PB                  ! 4       PD                   2TSP                  TT\|        P~                  ! YÊT4      R)7      p\�        ^ T\ƒ        T	SPt                  SPv                  4      ,
          4      p\…        RA/ R*R	bRSP                  bR+RbR,\6        PH                  e   R-MR.bR/T
bR0TbR1TbR2\         P                  ! 4       S,
          bR3SbR4TP†                  bR5TPˆ                  bR6TPŠ                  bR7TPŒ                  ;'       g    R bR"TbR8\+        S4      bR9\q        SPŽ                  4      bR:\q        SPr                  4      bR;S!bR<\q        T4      b p\6        P8                  P‘                  T4       \’        P”                  ! 4        \–        P˜                  ! 4        T#  EL‡  \         d   p\        RRT 24      u R p?# R p?ii ; i  \         d    p\        R\%        T4      4      u R p?# R p?ii ; i ELC EL…  \š         d€   p\6        P8                  P�                  R	SP                  R\%        T4      R=7       \’        P”                  ! 4        \–        P˜                  ! 4        \        R\%        T4      4      u R p?# R p?i\         d�   p\6        P8                  P�                  R	SP                  R\%        T4      R=7       \ž        P                   ! 4        \’        P”                  ! 4        \–        P˜                  ! 4        \        R>R?T 2R@4      u R p?# R p?ii ; i  \         d`   p\ž        P                   ! 4        \’        P”                  ! 4        \–        P˜                  ! 4        \        R>\%        T4      R@4      u R p?# R p?ii ; i5i)BNé�  zInvalid request body: Úadapter_path©Ú	tenant_idr§   Ú
num_imagesr¡   zWanthropic messages request: model=%s images=%d max_tokens=%s temp=%s stream=%s tools=%dr   T)ÚendpointÚmodelÚstream)r  r  Úpromptr~   ÚaudioÚargsc                 óÎ  <
aaa a!a"a#a$a%a&a'"  € R o'R o&Rp \        4       o"^ o%^ o$R pR\        P                  ! 4       P                   2o ^ oR o#RpRp\	        S)P
                  S)P                  S)P                  4      pRpS/'       d   S/P                  MR pRo!VV#3R loR VVV#3R llpV V!V"V$V%V-3R lp \        P                  e]   \        P                  ! \        P                  P                  S(S*'       d   S*MR R S)4      G R j  x€L
 w  p	o&V	P                  o%V&3R lp
R	pMX\        RIR
S+RS,RS(RS*R\        P                   P#                  R4      R\        P$                  /S)P'                  4       B o'V'3R lp
Rp \        P                  ! V
4      G R j  x€L
 pVf   EM«\)        VR4      '       g   K9  \+        VRR 4      pVe   \-        V4      o$MS$\+        VR^4      ,          o$VP.                  pW.,          pS"P1                  V4       S%^ 8X  d!   \-        \+        VR^ 4      ;'       g    ^ 4      o%V! 4        F  pV5x € K
  	  VP3                  V4      pVP4                  pVP6                  p\9        W%VV4      w  ppVe7   S)P
                  '       d%   V! R4      5x € \;        RRRRSRRRRV//4      5x € VP<                  '       d+   S#R8X  d$   \;        RRRRSRRRRR//4      5x € S! 4       5x € V'       d.   VV,          pV! R4      5x € \;        RRRRSRRRRV//4      5x € \+        VR R 4      '       g   EKÃ  VP>                  p V! 4        F  pV5x € K
  	  S! 4       5x € R pS/e.   S1'       d&   \A        VS/S14      pVR!,          '       d
   VR!,          pV'       d®   V F§  p\C        V4      p\D        PF                  ! VP#                  R"4      ;'       g    / RR#7      p\;        R$RR$RSR%RR&R'VR',          R(VR(,          R"/ //4      5x € V'       d   \;        RRRRSRRR)R*V//4      5x € \;        R+RR+RS/4      5x € S^,          oK©  	  R pV'       g   \I        VS-PJ                  4      w  pp\M        V\O        V4      VR,7      p\;        R-RR-RR.VR/V/R0R1S$//4      5x € \;        R2RR2/4      5x € \Q        ^ S$\S        VS)P                  S)P                  4      ,
          4      p\U        RI/ R3R4bR
S-PV                  bR5RbR6VbRS%bR7VbR8S$bR9\X        PZ                  ! 4       S.,
          bR:S.bR;S"P\                  bR<S"P^                  bR=S"P`                  bR>S"Pb                  ;'       g    R bR VbR?\e        S*4      bR@\O        S)Pf                  4      bRA\O        S)P
                  4      bRBS0bRC\O        V4      b p\        Ph                  Pk                  V4       Rp S&e    S&Ps                  4        V '       g.   \        Ph                  Po                  R4S-PV                  RRHRD7       \t        Pv                  ! 4        \x        Pz                  ! 4        R #  ELI EL½  \l         dk   pT '       g9   \        Ph                  Po                  R4S-PV                  R\q        T4      RD7       Rp \;        RERRERERRFRG\q        T4      //4      5x €  R p?LìR p?ii ; i  \l         d     Lìi ; i  S&e$    S&Ps                  4        M  \l         d     Mi ; iT '       g.   \        Ph                  Po                  R4S-PV                  RRHRD7       \t        Pv                  ! 4        \x        Pz                  ! 4        i ; i5i)JNFÚmsg_r€   c                  óJ   <€ Sf   R# \        RRRRS/4      p R oS^,          oV # )Nr€   Úcontent_block_stoprC   rö   ©rV   )rN   Úblock_indexÚopen_block_types    €€r6   Úclose_open_blockÚOanthropic_messages_endpoint.<locals>.stream_generator.<locals>.close_open_block%  s<   ø€ à&Ò.Ù!Ü&Ø,ØÐ!5°wÀÐLó�Eð '+�OØ 1Õ$�KØ �Lr8   c                ó$   € V ^8„  d   QhR\         /# )r:   Ú
block_type)r?   )r@   s   "r6   rA   ÚKanthropic_messages_endpoint.<locals>.stream_generator.<locals>.__annotate__1  s   € ÷ ñ ¬3ñ r8   c           
      ó†   <€ SV 8X  d   R # S! 4       pV R8X  d
   RRRR RR /pMRRRR /pV oV\        RRRRSRV/4      ,           # )r€   rÅ   rC   rÿ   rZ   Úcontent_block_startrö   Úcontent_blockr  )r  rN   r"  r  r  r  s   &  €€€r6   Ú
open_blockÚIanthropic_messages_endpoint.<locals>.stream_generator.<locals>.open_block1  su   ø€ à&¨*Ô4Ù!Ù,Ó.�Eà! ZÔ/à" JØ&¨Ø'¨ð)™ð *0°¸ÀÐ(D˜Ø&0�OØ ¤:Ø-à"Ð$9Ø# [Ø+¨]ðó$õ ð r8   c               3   óÈ   <"  € S'       d   R # Ro\        S. SP                  R \        P                  ! SSS4      R7      p \	        RRRRV P                  4       /4      x € R # 5i)NT)r²   rG   r  Ústop_reasonÚusageÚmessage_startrC   r<   )r   r  r   Úfrom_metricsrV   Ú
model_dump)Ústart_messageÚ
message_idÚmessage_startedÚmetricsÚoutput_tokensÚprompt_tokensrÍ   s    €€€€€€r6   Ústart_message_eventÚRanthropic_messages_endpoint.<locals>.stream_generator.<locals>.start_message_eventI  sj   øé € ç&ÙØ&*�OÜ$<Ø%Ø "Ø%Ÿm™mØ$(Ü,×9Ò9Ø# ]°Móô%�Mô %Ø'à" OØ% }×'?Ñ'?Ó'Aðóô ùs   ƒAA"c                  ó@   <€  \        S 4      #   \         d     R # i ; ir£   ©ÚnextÚStopIteration)Ú
token_iters   €r6   Ú_next_tokenÚJanthropic_messages_endpoint.<locals>.stream_generator.<locals>._next_tokenj  s%   ø€ ð,Ü'+¨JÓ'7Ð 7øÜ#0ô ,Ú'+ð,úó   ƒ
 ŽœÚcontinuous_batchingr  Ú	processorr  r‰   Úvision_cacheÚapc_managerc                  ó@   <€  \        S 4      #   \         d     R # i ; ir£   r4  )Útoken_iterators   €r6   r8  r9  |  s%   ø€ ð,Ü'+¨NÓ';Ð ;øÜ#0ô ,Ú'+ð,úr:  r   TrZ   Úgeneration_tokensÚtoken_countr0  rÅ   Úcontent_block_deltarC   rö   ÚdeltaÚthinking_deltaÚsignature_deltarÿ   Ú
text_deltaræ   Úcallsrµ   rR   r!  r"  rº   r²   r™   Úinput_json_deltaÚpartial_jsonr  ©rÇ   rç   Úmessage_deltar&  rç   r'  r/  Úmessage_stopr  r   r  ÚbackendÚcompletion_tokensÚgenerated_tokensÚrequest_elapsed_sÚrequest_started_sÚtoken_timesÚ
prompt_tpsÚgeneration_tpsÚpeak_memory_gbÚimage_countÚstructured_outputÚthinking_enabledÚtool_parserrÇ   ©r  r  r  rD   rD   Ú	api_errorr<   Ústream_closed_before_completionrí   )>r   rI   rJ   rK   r   rÝ   rü   rý   Útool_call_startr   Úresponse_generatorÚasyncioÚ	to_threadr   r0  r   Úmodel_cacher^   r>  Úto_generate_kwargsÚhasattrÚgetattrr>   rZ   Úrecord_chunkÚfeedr  rG   r   rV   Úthinking_closedræ   r   r½   rT   rU   r÷   rð   rî   rè   Úmaxr0   r   r  ÚtimeÚperf_counterrS  rT  rU  Úpeak_memoryÚlenÚlogits_processorsr.  Úrecord_successÚ	ExceptionÚrecord_failurer?   ÚcloseÚmxÚclear_cacheÚgcÚcollect)2Úmetrics_finalizedræ   Úfull_outputÚtext_outputÚthinking_stateÚin_tool_callÚtc_startr#  r1  Úctxr8  Útoken_sourceÚtokenrB  rD  rN   rE  Údelta_reasoningÚdelta_contentrú   Útcr¸   Ú
tool_blockÚ
input_jsonrç   Ú_Úanth_stop_reasonrO  ÚenvelopeÚer  r  r,  r-  r.  r  r/  r0  r7  r@  Úformatted_promptÚgen_argsr~   r  r<  rÍ   Úrequest_startÚtool_moduleÚtool_parser_typer¡   s2                                 @@@@@@@@@@€€€€€€€€€€r6   Ústream_generatorÚ5anthropic_messages_endpoint.<locals>.stream_generator  s  ÿúé € Ø!%�Ø!�
Ø$)Ð!Ü+Ó-�Ø !�Ø !�Ø $�Ø#¤D§J¢J£L×$4Ñ$4Ð#5Ð6�
Ø�Ø"&�Ø �Ø �Ü!4Ø×,Ñ,Ø×1Ñ1Ø×/Ñ/ó"�ð
  %�ß:E˜;×6Ò6È4�Ø"'�ö
!÷ò ÷0ò ð,!Ü×1Ñ1Ò=Ü07×0AÒ0AÜ#×6Ñ6×?Ñ?Ø,ß&,™F°$Ø Ø$ó1÷ +™˜˜Zð ),×(9Ñ(9˜õ,ð (=™ä)8ñ *Ø"'ð*à&/ð*ð $4ð*ð #)ð	*ô
 *1×)<Ñ)<×)@Ñ)@ÀÓ)Pð*ô )0×(;Ñ(;ð*ð '×9Ñ9Ó;ñ*˜õ,ð (2˜àÜ&-×&7Ò&7¸Ó&D× D˜Ø š=Ù!Ü& u¨f×5Ò5Ù$ô '.¨eÐ5HÈ$Ó&O˜Ø&Ò2Ü,/°Ó,<™Mà)¬W°U¸MÈ1Ó-MÕM˜MØ %§
¡
˜Ø#Õ,˜Ø×,Ñ,¨UÔ3Ø(¨AÔ-Ü,/´¸¸ÐPQÓ0R×0WÐ0WÐVWÓ,X˜MÙ%8Ö%:˜EØ"'�Kñ &;ð *8×)<Ñ)<¸UÓ)C˜Ø*8×*BÑ*B˜Ø(6×(>Ñ(>˜ä6PØ'°xÀó7Ñ3˜ mð +Ò6¸8×;S×;SÐ;SÙ",¨ZÓ"8Ó8Ü",Ø 5à$*Ð,AØ$+¨[Ø$+Ø(.Ð0@Ø(2°Oð.&ð!"ó
#ó 
ð +×:×:Ð:Ø /°:Ô =ä",Ø 5à$*Ð,AØ$+¨[Ø$+Ø(.Ð0AØ(3°Rð.&ð!"ó
#ó 
ñ #3Ó"4Ó4ß(Ø'¨=Õ8˜KÙ",¨VÓ"4Ó4Ü",Ø 5à$*Ð,AØ$+¨[Ø$+Ø(.°Ø(.°ð.&ð!"ó
#ó 
ô # 5¨/¸4×@Õ@Ø,1×,?Ñ,?˜MØ!á!4Ö!6˜Ø#�ñ "7á*Ó,Ó,à(,Ð%Ø"Ò.·5Ü/°¸[È%ÓP˜Ø˜gŸ;œ;Ø02°7µÐ-ç(Û$5˜DÜ)GÈÓ)M˜JÜ)-¯ªØ *§¡¨wÓ 7× =Ð =¸2ÈEô*˜Jô #-Ø 5à$*Ð,AØ$+¨[Ø$3Ø(.°
Ø(,¨j¸Õ.>Ø(.°
¸6Õ0BØ(/°ð	6&ð	!"ó#ó ÷  *Ü&0Ø$9à(.Ð0EØ(/°Ø(/Ø,2Ð4FØ,:¸Jð2*ð%&ó
'"ó 
!"ô #-Ø 4à$*Ð,@Ø$+¨[ð!"ó#ó ð (¨1Õ,šKñK %6ðN %)�Mß,Ü+@Ø'¨×)?Ñ)?ó,Ñ(˜˜=ô (>Ø%Ü#'Ð(9Ó#:Ø&3ô(Ð$ô
 %Ø'à" OØ#Ø -Ð/?Ø /°ð&ð $ o°}Ð%Eðó
ó 
ô % ^°f¸nÐ5MÓNÓNä(+ØØ%Ü4Ø'Ø$×9Ñ9Ø$×7Ñ7óõó)Ð%ô  7ò  Ù!/ð à%Ÿmšmð ñ  $ð ñ !-ð	 ñ
 '4ð ñ +<ð ñ *7ð ô +/×*;Ò*;Ó*=ÀÖ*Mð ñ +8ð ð %,×$7Ò$7ð ð $+×#5Ò#5ð ð (/×'=Ò'=ð ð (/×':Ñ':×'BÐ'B¸døð ñ '7ð ô %(¨¤Kð ô  +/¨x×/IÑ/IÔ*Jð! ô" *.¨h×.FÑ.FÔ)Gð# ñ$ %5ð% ô& $(Ð(9Ô#:ð' �Hô* —O‘O×2Ñ2°8Ô<Ø(,Ð%ð, "Ò-ð!Ø&×,Ñ,Ô.÷ -ÜŸ™×6Ñ6Ø%3Ø")§-¡-Ø#'Ø"Cð	 7ô ô —N’NÔ$Ü—J’J–Lò{+òH !Eøôp !ô ß,ÜŸ™×6Ñ6Ø%3Ø")§-¡-Ø#'Ü"% a£&ð	 7ô ð -1Ð)Ü$Øà" GØ#Ø &¨Ø )¬3¨q«6ð&ðó	÷ 	ð 	ûðûô.  )ô !Ù ð!ûð "Ò-ð!Ø&×,Ñ,Õ.øÜ(ô !Ù ð!úç,ÜŸ™×6Ñ6Ø%3Ø")§-¡-Ø#'Ø"Cð	 7ô ô —N’NÔ$Ü—J’J•Lüsù   �B#]%Â1AY Ã5Y ÄYÄBY ÆYÆBY È&A(Y Ê5Y Ë1Y Ë7=Y Ì:7Y Í2,Y Î7Y ÏA>Y ÑE?Y ×]%×[	 ×*]%×2A]%ÙY ÙY Ù[ÙA [Ú<[ Û[Û[ Û	[Û]%Û[Û]%Û]"Û [1Û0]"Û1[?Û<]"Û>[?Û?
]"Ü
A]"Ý"]%ztext/event-streamzCache-Controlzno-cacheÚ
Connectionz
keep-alivezX-Accel-BufferingÚnorE   rF   )rx   rH   Fr€   c                  óŽ  <€ \        4       p R p^ pRp\        P                  P                  SS	'       d   S	MRRSR7      w  rEV FO  pWP                  ,          pV^,          pV P                  V4       VP                  '       g   KC  VP                  p M	   VP                  4        VP                  WW03#   \         d     Li ; i)r€   N)r  r~   r  r  )
r   r   r_  r   rZ   rf  ræ   rr  rp  r0  )
r.  rZ   ÚotÚfrr}  r7  Útokr‰  rŠ  r~   s
          €€€r6   Ú_blocking_generateÚ7anthropic_messages_endpoint.<locals>._blocking_generatey  sË   ø€ Ü/Ó1�GØ�DØ�BØ�BÜ&-×&@Ñ&@×&IÑ&IØ/ß)/™v°TØ"Ø%ð	 'Jó '‘O�Có  *˜Ø§¡Õ(˜Ø˜a�˜Ø×,Ñ,¨SÔ1Ø×,×,Ò,Ø!$×!2Ñ!2˜BÙ!ñ  *ðØ"×(Ñ(Ô*ð ×,Ñ,¨d¸ÐCÐCøô %ô Ùðús   ÂB6 Â6CÃCr  r<  r  r‰   Úverboser=  r>  ræ   ÚstoprH  Úremaining_text)rú   rû   rü   rý   rK  r  )r²   rG   r  r&  rç   r'  r  r  rN  r;  r   r0  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  rÇ   r[  iô  zGeneration failed: r\  rí   )Qrj  rk  rr   rT   rä   r   rp  rL   Úmodel_fields_setr
  r"   r#   r  rÔ   r   r   r&   r(   r?   Úto_template_kwargsr   rm  ÚloggerÚdebugrë   Útemperaturer  r   r.  Úbegin_requestr*   r   rI   rJ   rK   r   r_  r`  ra  r   ÚisEnabledForÚloggingÚDEBUGrb  r^   r>  rc  rZ   r0  rA  Úrecord_resultre  r   r÷   rð   r  rè   rÝ   rü   rý   rî   r   r   r)  ri  r0   r   rS  rT  rU  rl  rn  ro  rs  rt  ru  rv  r   rq  Ú	tracebackÚ	print_exc)#r  rf   rˆ  r
  ÚconfigrÐ   r§   Útemplate_kwargsrŽ  rù   r0  r/  r.  ræ   r–  Úresultrú   Úresponse_textr‚  rç   Úcontent_blocksr&  ÚresponserO  r‡  r‰  rŠ  r~   r  r<  rÍ   r‹  rŒ  r�  r¡   s#   &                        @@@@@@@@@@r6   r2   r2   Ë  sh  ÿùé € Ü×%Ò%Ó'€MðLÜ3¸,×:KÑ:KÓ:M×4MÓNˆÜ8Ô9IÑ9QÈDÑ9QÓRˆð{Cð  ×!9Ñ!9Ô9ð × Ò ä!ð 	ô
 $4°G·M±MÀ<Ó#PÑ ˆˆy˜&ô ,¨GÓ4ñ 	7Ð˜F E¨;ô =¸YÓGÐß<LÔ&Ð'7Ô8ÐRVˆð	:Ü&Ø˜¬o¸lÓ.KôˆHð #×5Ñ5Ó7ˆØÒ"Ø-8˜MÑ*ä.ØØØñ
ô ˜6“{ð	
ð
 ð
ð ñ
Ðô 	�‰ð)à�M‰MÜ�‹KØ×ÑØ× Ñ Ø�N‰NÜ�—�˜Óô		
ð �>�>ˆ>Ü�O‰O×)Ñ)Ø'Ø—m‘mØð *ô ô
 3Ø'Ø—m‘mØ'ß!'‘v¨TØØô÷ ð ÷O!ö O!ôb
 %Ù Ó"Ø.à# ZØ  ,Ø'¨Ø  D¬¯ª«×)9Ñ)9Ð(:Ð";ð	ô	ð 	ô 	�‰×%Ñ%Ø#Ø—-‘-Øð 	&ô 	
ð
X	ØˆIØˆMØˆMÜ'Ó)ˆGØ ˆMä×)Ñ)Ò5÷Dô< "×+Ò+Ð,>Ó?×?ñØ!ØØ!Ø!Ùô "ñ 	Øð	à'ð	ð ,ð	ð !ð		ô
 #×/Ñ/´·±Ó>ð	ô ")×!4Ñ!4×!8Ñ!8¸Ó!Hð	ô !(× 3Ñ 3ð	ð ×1Ñ1Ó3ñ	�ð #ŸK™K�	Ø &× 4Ñ 4�Ø &× 8Ñ 8�Ø×%Ñ% fÔ-Ü '¨°ÀÓ F× PÐ PÈ&�à $ÐØ%ˆMØÒ&¯5Ü'¨	°;ÀÓF�Ø�g—;”;Ø(*¨7­Ð%Ø$&Ð'7Õ$8×$>Ð$>¸B�Mä+@Ø˜w×5Ñ5ó,Ñ(ˆM˜=ô @ØØ"3Ü!% h×&>Ñ&>Ó!?Ø%-×%BÑ%BØ#+×#>Ñ#>ôˆNô 1ØÜÐ 1Ó2Ø+ôˆKô
 0Øœ$Ÿ*š*›,×*Ñ*Ð+Ð,Ø&Ø—m‘mØ'Ø+Ü$×1Ò1Ø¨Móô	ˆHô !$ØØÜ,ØØ×1Ñ1Ø×/Ñ/óõó!Ðô /ò Ù'ðà—m’mðñ ðô ×1Ñ1Ò=ñ *à#øðñ ,ðñ #4ðñ "/ðô #'×"3Ò"3Ó"5¸Ö"Eðñ #0ðð $×/Ò/ðð #×-Ò-ðð   '×5Ò5ð!ð"  '×2Ñ2×:Ð:°døð#ñ$ *ð%ô&   œKð'ô( #' x×'AÑ'AÔ"Bð)ô* "& h×&>Ñ&>Ô!?ð+ñ, -ð-ô.  Ð 1Ô2ð/ˆHô2 �O‰O×*Ñ*¨8Ô4Ü�NŠNÔÜ�JŠJŒLØˆOòE 5Nøäô LÜ(¨Ð0FÀqÀcÐ.JÓKÕKûðLûô* ô 	:Ü,¨S´#°a³&Ó9Õ9ûð	:úòBòb @øôv "ô 		:Ü�O‰O×*Ñ*Ø'Ø—m‘mØÜ˜!“fð	 +ô ô �NŠNÔÜ�JŠJŒLÜ,¨S´#°a³&Ó9Õ9ûÜô 	Ü�O‰O×*Ñ*Ø'Ø—m‘mØÜ˜!“fð	 +ô ô ×ÒÔ!Ü�NŠNÔÜ�JŠJŒLÜ,ØÐ*¨1¨#Ð.°óõ ûð	ûô ô CÜ×ÒÔÜ
�ŠÔÜ
�
Š
ŒÜ(¨¬c°!«f°kÓBÕBûð	CüsK  Œ^1£W »W¼W ÁA-] ÃW, ÃB#] ÆA] ÇXÇA] È$^1È%,] ÉAX ÊXÊCX ÍX Í24X Î'F X Ô(BX ×^1×W ×W)×W$×W)×^1×$W)×)^1×,X×7XØXØ] Ø^1ØXØ] ØX Ø]Ø*A4Z$Ú]Ú] Ú#^1Ú$]Ú1]Ú2B\<Ü6]Ü7] Ü;^1Ü<]Ý] Ý^.ÝA^)Þ#^.Þ$^1Þ)^.Þ.^1c                ó$   € V ^8„  d   QhR\         /# r  r	   )r@   s   "r6   rA   rA     s   € ÷ '6ñ '6¼ñ '6r8   c              ƒ   óÊ  "  €  \        V P                  4       G R j  x€L
 4      p\        \        R	/ VB 4      p\	        VP
                  4      w  r4p\        V4      w  rgr‰\        W$\        V 4      R7      p
V
P                  4       pV	e   W›R&   \        VVV3R\        V4      RV/VB p\        P                  eE   \        P                  ! \        P                  P                   TV'       d   TMR R 4      G R j  x€L
 pM&\#        VRR 4      p\%        TV'       d   TMR VVR7      pR\'        V4      /#  EL L;  \(         d    p\+        R\-        T4      4      u R p?# R p?ii ; i5i)
Nr  r§   r  r¡   Úimage_token_index)r~   Úpromptsr¯  Úinput_tokensr	  rí   )rr   rT   rä   r   r#   r  rÔ   r&   r(   rœ  r   rm  r   r_  r`  ra  Ú_cpu_preprocessre  r   r   rp  rL   r?   )r  rf   rÍ   r  r<  r§  rÐ   r~   r¡   r§   rŠ  r¨  r‰  Ú
raw_inputsr¯  rˆ  s   &               r6   r3   r3     sn  é € ð&6Ü3¸,×:KÑ:KÓ:M×4MÓNˆÜ8Ô9IÑ9QÈDÑ9QÓRˆÜ#3°G·M±MÓ#BÑ ˆ˜&ä+¨GÓ4ñ 	7Ð Eô #Ø¬/¸,Ó*Gô
ˆð #×5Ñ5Ó7ˆØÒ"Ø-8˜MÑ*Ü.ØØØñ
ô ˜6“{ð	
ð
 ð
ð ñ
Ðô ×%Ñ%Ò1Ü&×0Ò0Ü×*Ñ*×:Ñ:Ø ß ‘ dØó	 ÷ ‰Jô !(¨Ð0CÀTÓ JÐÜ'Øß!'‘v¨TØ(Ø"3ô	ˆJð Ô 4°ZÓ @ÐAÐAòG 5Nñ*øô ô 6Ü(¨¬c°!«fÓ5Õ5ûð6üs]   ‚E#„D6 œD1�CD6 Ã,D6 Ã8D4Ã97D6 Ä0E#Ä1D6 Ä4D6 Ä6E ÅEÅE ÅE#ÅE Å E#)Úinvalid_request_errorr£   )FN)NFNN)Lr`  ru  rT   r¢  rj  r¥  rI   Útypingr   r   r   r   r   r   Úmlx.coreÚcorers  Úfastapir
   Úfastapi.responsesr   r   r   r   Úprompt_utilsr   Útool_parsersr   r   Úutilsr   Ú
generationr   r   r   r   Úresponses_stater   r   r   r   Úschemasr   r   r   Ú	getLoggerr�  r"   r#   r&   r(   r*   r,   r.   r0   r7   rL   rV   rd   rr   r|   r�   r•   rŸ   r¥   r®   r¶   r½   rÊ   rÔ   rä   rî   r÷   r  r2   r3   rí   r8   r6   Ú<module>rÁ     s  ðÛ Û 	Û Û Û Û Û ß :× :å Ý ß =ç 0Ý .ß NÝ "÷ó ÷ñ õ
 ß OÑ Oà	×	Ò	Ð+Ó	,€àÐ ØÐ Ø€Ø€Ø#'Ð  Ø€Ø€Ø!Ð ò÷<
õRõ,õ õ@÷(õVõ6õ*
õõ*õõ"-Cõ`:õ@÷4õ ,÷&õ6C	C÷L'6r8   