Ë
    Ô~ïi×B  ã                  óÈ  — d dl mZ d dlZd dlZd dlZd dl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 d dlmZmZmZmZmZmZ d dlZddlmZmZ e	rddlmZmZ dd	lm Z   ed
«      Z! G d„ dejD                  «      Z# G d„ dee!   e#¬«      Z$ G d„ dejD                  «      Z% G d„ dee!   e%¬«      Z& G d„ d«      Z' G d„ d«      Z(e G d„ de«      «       Z)dd„Z*ddœ	 	 	 	 	 dd„Z+y)é    )ÚannotationsN)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚGenericÚTypeVarÚIteratorÚOptionalÚAsyncIteratorÚcast)ÚSelfÚProtocolÚ	TypeGuardÚoverrideÚ
get_originÚruntime_checkableé   )Úis_dictÚextract_type_var_from_base)Ú	AnthropicÚAsyncAnthropic)ÚFinalRequestOptionsÚ_Tc                  ó   — e Zd Zedd„«       Zy)Ú_SyncStreamMetac                ób   — ddl m} t        ||«      rt        j                  dt
        d¬«       yy)Nr   )ÚMessageStreamzŽUsing `isinstance()` to check if a `MessageStream` object is an instance of `Stream` is deprecated & will be removed in the next major versioné   ©Ú
stacklevelTF)Úlib.streamingr   Ú
isinstanceÚwarningsÚwarnÚDeprecationWarning)ÚselfÚinstancer   s      úk/var/www/acinvestment.org/public_html/aci/backend/venv/lib/python3.12/site-packages/anthropic/_streaming.pyÚ__instancecheck__z!_SyncStreamMeta.__instancecheck__   s1   € õ 	1ä�h Ô.Ü�M‰Mð aÜ"Øõð
 àó    N©r'   r   ÚreturnÚbool©Ú__name__Ú
__module__Ú__qualname__r   r)   © r*   r(   r   r      ó   „ Øòó ñr*   r   c                  óœ   — e Zd ZU dZded<   dZded<   ded<   dd	œ	 	 	 	 	 	 	 	 	 dd
„Zdd„Zdd„Zdd„Z	dd„Z
dd„Z	 	 	 	 	 	 	 	 dd„Zdd„Zy)ÚStreamzJProvides the core interface to iterate over a synchronous stream response.úhttpx.ResponseÚresponseNúOptional[FinalRequestOptions]Ú_optionsÚSSEBytesDecoderÚ_decoder©Úoptionsc               ó�   — || _         || _        || _        || _        |j	                  «       | _        | j                  «       | _        y ©N©r7   Ú_cast_toÚ_clientr9   Ú_make_sse_decoderr;   Ú
__stream__Ú	_iterator©r&   Úcast_tor7   Úclientr=   s        r(   Ú__init__zStream.__init__4   ó>   € ð !ˆŒØˆŒØˆŒØˆŒØ×0Ñ0Ó2ˆŒØŸ™Ó*ˆ�r*   c                ó6   — | j                   j                  «       S r?   )rE   Ú__next__©r&   s    r(   rL   zStream.__next__C   s   € Ø�~‰~×&Ñ&Ó(Ð(r*   c              #  ó6   K  — | j                   D ]  }|–— Œ y ­wr?   ©rE   ©r&   Úitems     r(   Ú__iter__zStream.__iter__F   s   è ø€ Ø—N‘Nò 	ˆDØ‹Jñ	ùs   ‚c              #  ó†   K  — | j                   j                  | j                  j                  «       «      E d {  –—†  y 7 Œ­wr?   )r;   Ú
iter_bytesr7   rM   s    r(   Ú_iter_eventszStream._iter_eventsJ   s+   è ø€ Ø—=‘=×+Ñ+¨D¯M©M×,DÑ,DÓ,FÓG×GÒGús   ‚7A¹?ºAc              #  ó2  K  — t        t        | j                  «      }| j                  }| j                  j
                  }| j                  «       }	 |D �]n  }|j                  dk(  r ||j                  «       ||¬«      –— |j                  dk(  �sŽ|j                  dk(  �s~|j                  dk(  �sn|j                  dk(  �s^|j                  dk(  �sN|j                  dk(  �s>|j                  d	k(  �s.|j                  d
k(  �s|j                  dk(  �s|j                  dk(  sÿ|j                  dk(  sð|j                  dk(  sá|j                  dk(  sÒ|j                  dk(  sÃ|j                  dk(  s´|j                  dk(  s¥|j                  dk(  s–|j                  dk(  s‡|j                  dk(  sx|j                  dk(  si|j                  dk(  sZ|j                  dk(  sK|j                  dk(  s<|j                  dk(  s-|j                  dk(  s|j                  dk(  s|j                  dk(  r;|j                  «       }t        |«      rd|vr|j                  |d<    ||||¬«      –— |j                  dk(  r�Œ|j                  d k(  s�Œ)|j                  }	 |j                  «       }|› }| j                  j                  ||| j                  ¬"«      ‚ 	 |j                  «        y # t        $ r  |j                  xs d!|j                  › �}Y Œcw xY w# |j                  «        w xY w­w©#NÚ
completion)ÚdatarG   r7   Úmessage_startÚmessage_deltaÚmessage_stopÚcontent_block_startÚcontent_block_deltaÚcontent_block_stopÚmessagezuser.messagezuser.interruptzuser.tool_confirmationzuser.custom_tool_resultzagent.messagezagent.thinkingzagent.tool_usezagent.tool_resultzagent.mcp_tool_usezagent.mcp_tool_resultzagent.custom_tool_usezagent.thread_context_compactedzsession.status_runningzsession.status_idlezsession.status_rescheduledzsession.status_terminatedzsession.errorzsession.deletedzspan.model_request_startzspan.model_request_endÚtypeÚpingÚerrorzError code: )Úbodyr7   )r   r   rA   r7   rB   Ú_process_response_datarU   ÚeventÚjsonr   rY   Ú	ExceptionÚstatus_codeÚ_make_status_errorÚclose©	r&   rG   r7   Úprocess_dataÚiteratorÚsserY   rd   Úerr_msgs	            r(   rD   zStream.__stream__M   s±  è ø€ Ü”s˜DŸM™MÓ*ˆØ—=‘=ˆØ—|‘|×:Ñ:ˆØ×$Ñ$Ó&ˆð;	Øó 7�Ø—9‘9 Ò,Ù&¨C¯H©H«JÀÐRZÔ[Ò[ð —I‘I Ó0Ø—y‘y OÓ3Ø—y‘y NÓ2Ø—y‘yÐ$9Ó9Ø—y‘yÐ$9Ó9Ø—y‘yÐ$8Ó8Ø—y‘y IÓ-Ø—y‘y NÓ2Ø—y‘yÐ$4Ó4Ø—y‘yÐ$<Ò<Ø—y‘yÐ$=Ò=Ø—y‘y OÒ3Ø—y‘yÐ$4Ò4Ø—y‘yÐ$4Ò4Ø—y‘yÐ$7Ò7Ø—y‘yÐ$8Ò8Ø—y‘yÐ$;Ò;Ø—y‘yÐ$;Ò;Ø—y‘yÐ$DÒDØ—y‘yÐ$<Ò<Ø—y‘yÐ$9Ò9Ø—y‘yÐ$@Ò@Ø—y‘yÐ$?Ò?Ø—y‘y OÒ3Ø—y‘yÐ$5Ò5Ø—y‘yÐ$>Ò>Ø—y‘yÐ$<Ò<àŸ8™8›:�DÜ˜t”}¨°tÑ);Ø'*§y¡y˜˜V™á&¨D¸'ÈHÔUÒUà—9‘9 Ò&Ùà—9‘9 Ô'ØŸ8™8�DðTØ"Ÿx™x›z˜Ø%) F˜ð Ÿ,™,×9Ñ9ØØ!Ø!%§¡ð :ó ð ñg7ðt �N‰NÕøô %ò TØ"%§(¡(Ò"S°¸X×=QÑ=QÐ<RÐ.SšðTûð �N‰NÕüsI   ‚ALÁH)L É;L ÊKÊ)L ËLË&K?Ë<L Ë>K?Ë?L ÌLÌLc                ó   — | S r?   r2   rM   s    r(   Ú	__enter__zStream.__enter__�   s   € Øˆr*   c                ó$   — | j                  «        y r?   ©rk   ©r&   Úexc_typeÚexcÚexc_tbs       r(   Ú__exit__zStream.__exit__“   s   € ð 	�
‰
�r*   c                ó8   — | j                   j                  «        y©zŠ
        Close the response and release the connection.

        Automatically called if the response body is read to completion.
        N)r7   rk   rM   s    r(   rk   zStream.close›   s   € ð 	�‰×ÑÕr*   )
rG   útype[_T]r7   r6   rH   r   r=   r8   r,   ÚNone©r,   r   )r,   zIterator[_T])r,   úIterator[ServerSentEvent]©r,   r   ©rv   ztype[BaseException] | Nonerw   zBaseException | Nonerx   zTracebackType | Noner,   r}   ©r,   r}   )r/   r0   r1   Ú__doc__Ú__annotations__r9   rI   rL   rR   rU   rD   rr   ry   rk   r2   r*   r(   r5   r5   -   s¤   … ÙTàÓØ.2€HÐ+Ó2ØÓð 26ñ+ð ð+ð !ð	+ð
 ð+ð /ð+ð 
ó+ó)óóHóAóFðà,ðð "ðð %ð	ð
 
óôr*   r5   )Ú	metaclassc                  ó   — e Zd Zedd„«       Zy)Ú_AsyncStreamMetac                ób   — ddl m} t        ||«      rt        j                  dt
        d¬«       yy)Nr   )ÚAsyncMessageStreamz˜Using `isinstance()` to check if a `AsyncMessageStream` object is an instance of `AsyncStream` is deprecated & will be removed in the next major versionr   r   TF)r!   r‰   r"   r#   r$   r%   )r&   r'   r‰   s      r(   r)   z"_AsyncStreamMeta.__instancecheck__¥   s2   € õ 	6ä�hÐ 2Ô3Ü�M‰Mð kÜ"Øõð
 àr*   Nr+   r.   r2   r*   r(   r‡   r‡   ¤   r3   r*   r‡   c                  óœ   — e Zd ZU dZded<   dZded<   ded<   dd	œ	 	 	 	 	 	 	 	 	 dd
„Zdd„Zdd„Zdd„Z	dd„Z
dd„Z	 	 	 	 	 	 	 	 dd„Zdd„Zy)ÚAsyncStreamzLProvides the core interface to iterate over an asynchronous stream response.r6   r7   Nr8   r9   zSSEDecoder | SSEBytesDecoderr;   r<   c               ó�   — || _         || _        || _        || _        |j	                  «       | _        | j                  «       | _        y r?   r@   rF   s        r(   rI   zAsyncStream.__init__À   rJ   r*   c              ƒ  óR   K  — | j                   j                  «       ƒ d {  –—† S 7 Œ­wr?   )rE   Ú	__anext__rM   s    r(   rŽ   zAsyncStream.__anext__Ï   s   è ø€ Ø—^‘^×-Ñ-Ó/×/Ð/Ð/ús   ‚' %¡'c               óH   K  — | j                   2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr?   rO   rP   s     r(   Ú	__aiter__zAsyncStream.__aiter__Ò   s&   è ø€ ØŸ.™.÷ 	ð 	�$ØŒJð	ø™.ùs   ‚"� “” —"ž  "c               ó–   K  — | j                   j                  | j                  j                  «       «      2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr?   )r;   Úaiter_bytesr7   )r&   ro   s     r(   rU   zAsyncStream._iter_eventsÖ   s?   è ø€ ØŸ™×2Ñ2°4·=±=×3LÑ3LÓ3NÓO÷ 	ð 	�#ØŒIð	øÑOùs%   ‚4A	¶AºA»A¾A	ÁAÁA	c               ój  K  — t        t        | j                  «      }| j                  }| j                  j
                  }| j                  «       }	 |2 3 d {  –—† }|j                  dk(  r ||j                  «       ||¬«      ­–— |j                  dk(  �sŽ|j                  dk(  �s~|j                  dk(  �sn|j                  dk(  �s^|j                  dk(  �sN|j                  dk(  �s>|j                  d	k(  �s.|j                  d
k(  �s|j                  dk(  �s|j                  dk(  sÿ|j                  dk(  sð|j                  dk(  sá|j                  dk(  sÒ|j                  dk(  sÃ|j                  dk(  s´|j                  dk(  s¥|j                  dk(  s–|j                  dk(  s‡|j                  dk(  sx|j                  dk(  si|j                  dk(  sZ|j                  dk(  sK|j                  dk(  s<|j                  dk(  s-|j                  dk(  s|j                  dk(  s|j                  dk(  r<|j                  «       }t        |«      rd|vr|j                  |d<    ||||¬«      ­–— |j                  dk(  r�Œ|j                  d k(  s�Œ0|j                  }	 |j                  «       }|› }| j                  j                  ||| j                  ¬"«      ‚7 �Œt# t        $ r  |j                  xs d!|j                  › �}Y ŒSw xY w6 	 |j                  «       ƒ d {  –—†7   y # |j                  «       ƒ d {  –—†7   w xY w­wrW   )r   r   rA   r7   rB   re   rU   rf   rg   r   rY   rh   ri   rj   Úacloserl   s	            r(   rD   zAsyncStream.__stream__Ú   sÇ  è ø€ Ü”s˜DŸM™MÓ*ˆØ—=‘=ˆØ—|‘|×:Ñ:ˆØ×$Ñ$Ó&ˆð;	$Ø%÷ 7ð 7�cØ—9‘9 Ò,Ù&¨C¯H©H«JÀÐRZÔ[Ó[ð —I‘I Ó0Ø—y‘y OÓ3Ø—y‘y NÓ2Ø—y‘yÐ$9Ó9Ø—y‘yÐ$9Ó9Ø—y‘yÐ$8Ó8Ø—y‘y IÓ-Ø—y‘y NÓ2Ø—y‘yÐ$4Ó4Ø—y‘yÐ$<Ò<Ø—y‘yÐ$=Ò=Ø—y‘y OÒ3Ø—y‘yÐ$4Ò4Ø—y‘yÐ$4Ò4Ø—y‘yÐ$7Ò7Ø—y‘yÐ$8Ò8Ø—y‘yÐ$;Ò;Ø—y‘yÐ$;Ò;Ø—y‘yÐ$DÒDØ—y‘yÐ$<Ò<Ø—y‘yÐ$9Ò9Ø—y‘yÐ$@Ò@Ø—y‘yÐ$?Ò?Ø—y‘y OÒ3Ø—y‘yÐ$5Ò5Ø—y‘yÐ$>Ò>Ø—y‘yÐ$<Ò<àŸ8™8›:�DÜ˜t”}¨°tÑ);Ø'*§y¡y˜˜V™á&¨D¸'ÈHÔUÓUà—9‘9 Ò&Ùà—9‘9 Ô'ØŸ8™8�DðTØ"Ÿx™x›z˜Ø%) F˜ð Ÿ,™,×9Ñ9ØØ!Ø!%§¡ð :ó ð ðg7úô` %ò TØ"%§(¡(Ò"S°¸X×=QÑ=QÐ<RÐ.SšðTúña &ðt —/‘/Ó#×#Ò#ø�(—/‘/Ó#×#Ò#üs   ‚AL3ÁL ÁK9ÁK
ÁK9ÁH&L ÊL ÊKÊ"(L Ë
K9Ë&K6Ë3L Ë5K6Ë6L Ë;L3ÌLÌL3ÌL0Ì)L,Ì*L0Ì0L3c              ƒ  ó   K  — | S ­wr?   r2   rM   s    r(   Ú
__aenter__zAsyncStream.__aenter__  s   è ø€ Øˆùs   ‚c              ƒ  ó@   K  — | j                  «       ƒ d {  –—†  y 7 Œ­wr?   rt   ru   s       r(   Ú	__aexit__zAsyncStream.__aexit__   s   è ø€ ð �j‰j‹l×Òús   ‚–—c              ƒ  óT   K  — | j                   j                  «       ƒ d{  –—†  y7 Œ­wr{   )r7   r”   rM   s    r(   rk   zAsyncStream.close(  s   è ø€ ð �m‰m×"Ñ"Ó$×$Ò$ús   ‚( &¡()
rG   r|   r7   r6   rH   r   r=   r8   r,   r}   r~   )r,   zAsyncIterator[_T])r,   úAsyncIterator[ServerSentEvent]r€   r�   r‚   )r/   r0   r1   rƒ   r„   r9   rI   rŽ   r�   rU   rD   r–   r˜   rk   r2   r*   r(   r‹   r‹   ¹   s£   … ÙVàÓØ.2€HÐ+Ó2Ø*Ó*ð 26ñ+ð ð+ð !ð	+ð
 ð+ð /ð+ð 
ó+ó0óóóA$óFðà,ðð "ðð %ð	ð
 
óô%r*   r‹   c                  ó”   — e Zd Zdddddœ	 	 	 	 	 	 	 	 	 d
d„Zedd„«       Zedd„«       Zedd„«       Zedd„«       Zdd„Z	e
dd	„«       Zy)ÚServerSentEventN©rf   rY   ÚidÚretryc               óL   — |€d}|| _         || _        |xs d | _        || _        y )NÚ )Ú_idÚ_dataÚ_eventÚ_retry)r&   rf   rY   rž   rŸ   s        r(   rI   zServerSentEvent.__init__2  s.   € ð ˆ<ØˆDàˆŒØˆŒ
Ø’m˜tˆŒØˆ�r*   c                ó   — | j                   S r?   )r¤   rM   s    r(   rf   zServerSentEvent.eventB  ó   € à�{‰{Ðr*   c                ó   — | j                   S r?   )r¢   rM   s    r(   rž   zServerSentEvent.idF  s   € à�x‰xˆr*   c                ó   — | j                   S r?   )r¥   rM   s    r(   rŸ   zServerSentEvent.retryJ  r§   r*   c                ó   — | j                   S r?   )r£   rM   s    r(   rY   zServerSentEvent.dataN  s   € à�z‰zÐr*   c                ó@   — t        j                  | j                  «      S r?   )rg   ÚloadsrY   rM   s    r(   rg   zServerSentEvent.jsonR  s   € Ü�z‰z˜$Ÿ)™)Ó$Ð$r*   c           	     óp   — d| j                   › d| j                  › d| j                  › d| j                  › d�	S )NzServerSentEvent(event=z, data=z, id=z, retry=ú)r�   rM   s    r(   Ú__repr__zServerSentEvent.__repr__U  s9   € à'¨¯
©
 |°7¸4¿9¹9¸+ÀUÈ4Ï7É7È)ÐS[Ð\`×\fÑ\fÐ[gÐghÐiÐir*   )
rf   ú
str | NonerY   r°   rž   r°   rŸ   ú
int | Noner,   r}   )r,   r°   )r,   r±   )r,   Ústr)r,   r   )r/   r0   r1   rI   Úpropertyrf   rž   rŸ   rY   rg   r   r¯   r2   r*   r(   rœ   rœ   1  s²   „ ð !ØØØ ñð ðð ð	ð
 ðð ðð 
óð  òó ðð òó ðð òó ðð òó ðó%ð òjó ñjr*   rœ   c                  óf   — e Zd ZU ded<   ded<   ded<   ded<   dd„Zdd	„Zdd
„Zdd„Zdd„Zdd„Z	y)Ú
SSEDecoderz	list[str]r£   r°   r¤   r±   r¥   Ú_last_event_idc                ó<   — d | _         g | _        d | _        d | _        y r?   )r¤   r£   r¶   r¥   rM   s    r(   rI   zSSEDecoder.__init__`  s   € ØˆŒØˆŒ
Ø"ˆÔØˆ�r*   c              #  ó´   K  — | j                  |«      D ]@  }|j                  «       D ]+  }|j                  d«      }| j                  |«      }|sŒ(|–— Œ- ŒB y­w)ú^Given an iterator that yields raw binary data, iterate over it & yield every event encounteredúutf-8N)Ú_iter_chunksÚ
splitlinesÚdecode©r&   rn   ÚchunkÚraw_lineÚlinero   s         r(   rT   zSSEDecoder.iter_bytesf  s\   è ø€ à×&Ñ& xÓ0ò 	ˆEà!×,Ñ,Ó.ò �Ø—‘ wÓ/�Ø—k‘k $Ó'�ÚØ“Iñ	ñ	ùs   ‚AAÁ	Ac              #  ó”   K  — d}|D ]6  }|j                  d¬«      D ]  }||z  }|j                  d«      sŒ|–— d}Œ! Œ8 |r|–— yy­w)ú^Given an iterator that yields raw binary data, iterate over it and yield individual SSE chunksr*   T©Úkeepends©s   s   

s   

N©r¼   Úendswith©r&   rn   rY   r¿   rÁ   s        r(   r»   zSSEDecoder._iter_chunksp  sf   è ø€ àˆØò 	ˆEØ×(Ñ(°$Ð(Ó7ò �Ø˜‘�Ø—=‘=Ð!@ÕAØ’JØ‘Dñ	ð	ñ Ø‹Jð ùs
   ‚3A¶Ac               óÆ   K  — | j                  |«      2 3 d{  –—† }|j                  «       D ],  }|j                  d«      }| j                  |«      }|sŒ(|­–— Œ. ŒI7 ŒD6 y­w)r¹   Nrº   )Ú_aiter_chunksr¼   r½   r¾   s         r(   r’   zSSEDecoder.aiter_bytes|  se   è ø€ à×-Ñ-¨hÓ7÷ 	ð 	�%à!×,Ñ,Ó.ò �Ø—‘ wÓ/�Ø—k‘k $Ó'�ÚØ”Iñ	ð	øÑ7ùs+   ‚A!”A˜A™Aœ8A!ÁA!ÁAÁA!c               ó¨   K  — d}|2 3 d{  –—† }|j                  d¬«      D ]   }||z  }|j                  d«      sŒ|­–— d}Œ" Œ?7 Œ:6 |r|­–— yy­w)rÃ   r*   NTrÄ   rÆ   rÇ   rÉ   s        r(   rË   zSSEDecoder._aiter_chunks†  sn   è ø€ àˆØ#÷ 	ð 	�%Ø×(Ñ(°$Ð(Ó7ò �Ø˜‘�Ø—=‘=Ð!@ÕAØ“JØ‘Dñ	ð	ø˜8ñ ØŒJð ùs*   ‚A‡A‹AŒA�,A¼
AÁAÁ
Ac                óz  — |sŽ| j                   s%| j                  s| j                  s| j                  €y t	        | j                   dj                  | j                  «      | j                  | j                  ¬«      }d | _         g | _        d | _        |S |j                  d«      ry |j                  d«      \  }}}|j                  d«      r|dd  }|dk(  r|| _         y |dk(  r| j                  j                  |«       y |dk(  rd	|v r	 y || _        y |d
k(  r	 t        |«      | _        y 	 y # t        t        f$ r Y y w xY w)Nú
r�   ú:ú r   rf   rY   rž   ú rŸ   )r¤   r£   r¶   r¥   rœ   ÚjoinÚ
startswithÚ	partitionÚappendÚintÚ	TypeErrorÚ
ValueError)r&   rÁ   ro   Ú	fieldnameÚ_Úvalues         r(   r½   zSSEDecoder.decode’  sW  € ñ Ø—;’; t§z¢z¸$×:MÒ:MÐRV×R]ÑR]ÐReØä!Ø—k‘kØ—Y‘Y˜tŸz™zÓ*Ø×&Ñ&Ø—k‘kô	ˆCð ˆDŒKØˆDŒJØˆDŒKàˆJà�?‰?˜3ÔØà"Ÿn™n¨SÓ1Ñˆ	�1�eà×Ñ˜CÔ Ø˜!˜"�IˆEà˜ÒØˆDŒKð  ð ˜&Ò Ø�J‰J×Ñ˜eÔ$ð ð ˜$ÒØ�u‰}Øð ð ',�Ô#ð ð ˜'Ò!ðÜ! %›j�”ð ð àøô œzÐ*ò Øð ðús   ÄD( Ä(D:Ä9D:Nr‚   ©rn   úIterator[bytes]r,   r   )rn   rÝ   r,   rÝ   ©rn   úAsyncIterator[bytes]r,   rš   )rn   rß   r,   rß   )rÁ   r²   r,   zServerSentEvent | None)
r/   r0   r1   r„   rI   rT   r»   r’   rË   r½   r2   r*   r(   rµ   rµ   Z  s8   … ØÓØÓØÓØÓóóó
óó
ô.r*   rµ   c                  ó   — e Zd Zdd„Zdd„Zy)r:   c                 ó   — y)r¹   Nr2   ©r&   rn   s     r(   rT   zSSEBytesDecoder.iter_bytesÅ  ó   € àr*   c                 ó   — y)zdGiven an async iterator that yields raw binary data, iterate over it & yield every event encounteredNr2   râ   s     r(   r’   zSSEBytesDecoder.aiter_bytesÉ  rã   r*   NrÜ   rÞ   )r/   r0   r1   rT   r’   r2   r*   r(   r:   r:   Ã  s   „ óôr*   r:   c                óz   — t        | «      xs | }t        j                  |«      xr t        |t        t
        f«      S )zaTypeGuard for determining whether or not the given type is a subclass of `Stream` / `AsyncStream`)r   ÚinspectÚisclassÚ
issubclassr5   r‹   )ÚtypÚorigins     r(   Úis_stream_class_typerë   Î  s0   € ä˜‹_Ò# €FÜ�?‰?˜6Ó"ÒP¤z°&¼6Ä;Ð:OÓ'PÐPr*   )Úfailure_messagec          	     óH   — ddl m}m} t        | dt	        d||f«      |¬«      S )a  Given a type like `Stream[T]`, returns the generic type variable `T`.

    This also handles the case where a concrete subclass is given, e.g.
    ```py
    class MyStream(Stream[bytes]):
        ...

    extract_stream_chunk_type(MyStream) -> bytes
    ```
    r   )r5   r‹   r   ztuple[type, ...])ÚindexÚgeneric_basesrì   )Ú_base_clientr5   r‹   r   r   )Ú
stream_clsrì   r5   r‹   s       r(   Úextract_stream_chunk_typerò   Ô  s-   € ÷ 2ä%ØØÜÐ-°¸Ð/DÓEØ'ô	ð r*   )ré   ra   r,   z;TypeGuard[type[Stream[object]] | type[AsyncStream[object]]])rñ   ra   rì   r°   r,   ra   ),Ú
__future__r   Úabcrg   ræ   r#   Útypesr   Útypingr   r   r   r   r	   r
   r   r   Útyping_extensionsr   r   r   r   r   r   ÚhttpxÚ_utilsr   r   rB   r   r   Ú_modelsr   r   ÚABCMetar   r5   r‡   r‹   rœ   rµ   r:   rë   rò   r2   r*   r(   ú<module>rü      sì   ðå "ã 
Û Û Û Ý ß `× `Ó `ß `× `ã ç 7áß2Ý,ñ ˆTƒ]€ô�c—k‘kô ô*tˆW�R‰[ Oõ tôn�s—{‘{ô ô*u%�'˜"‘+Ð)9õ u%÷p&jñ &j÷Rfñ fðR ô�hó ó ðóQð #'ñØðð  ðð 
ô	r*   