Ë
    bQêjËi  ã            	       ó`  — d Z ddlZddlmZ ddlZddlmZ ddlZddlZddl	m
Z
mZmZmZmZmZmZ ddlZddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ* ejV                  e,«      Z- G d„ dej\                  «      Z/dedej`                  d e/fd!„Z1 G d"„ d#ee e!f   «      Z2 G d$„ d%ejf                  «      Z4 G d&„ d'e2e e!f   «      Z5 G d(„ d)e2e e!f   «      Z6 G d*„ d+e2e e!f   «      Z7 G d,„ d-e5e e!f   ejp                  e e!f   «      Z8 G d.„ d/e6e e!f   ejr                  e e!f   «      Z9 G d0„ d1e7e e!f   e5e e!f   ejt                  e e!f   «      Z: G d2„ d3e7e e!f   e6e e!f   ejv                  e e!f   «      Z;y)4z6Invocation-side implementation of gRPC Asyncio Python.é    N)ÚAsyncIterable)Úpartial)ÚAnyÚAsyncIteratorÚ	GeneratorÚGenericÚOptionalÚTupleÚUnion)Ú_common)Úcygrpcé   )Ú
_base_call)ÚMetadata)ÚDeserializingFunction)ÚDoneCallbackType)ÚEOFType)ÚMetadataType)ÚMetadatumType)ÚRequestIterableType)ÚRequestType)ÚResponseType)ÚSerializingFunction)ÚAioRpcErrorÚCallÚUnaryStreamCallÚUnaryUnaryCallz!Locally cancelled by application!z"Cancelled upon garbage collection!zRPC already finished.z0RPC is half closed after calling "done_writing".zBThe iterator and read/write APIs may not be mixed on a single RPC.z?<{} of RPC that terminated with:
	status = {}
	details = "{}"
>zZ<{} of RPC that terminated with:
	status = {}
	details = "{}"
	debug_error_string = "{}"
>c                   ól  ‡ — e Zd ZU dZej
                  ed<   ee   ed<   dZ	ee
   ed<   dZee
   ed<   ee   ed<   	 	 	 	 ddej
                  d	ee
   d
ee
   dee   dee   ddfˆ fd„Zdej
                  fd„Zdee   fd„Zdee
   fd„Zdee
   fd„Zdee   fd„Zdefd„Zdefd„Zdefd„Zd„ Zˆ xZS )r   zÙAn implementation of RpcError to be used by the asynchronous API.

    Raised RpcError is a snapshot of the final status of the RPC, values are
    determined. Hence, its methods no longer needs to be coroutines.
    Ú_codeÚ_detailsNÚ_initial_metadataÚ_trailing_metadataÚ_debug_error_stringÚcodeÚinitial_metadataÚtrailing_metadataÚdetailsÚdebug_error_stringÚreturnc                 óh   •— t         ‰| �  «        || _        || _        || _        || _        || _        y)a–  Constructor.

        Args:
          code: The status code with which the RPC has been finalized.
          initial_metadata: Optional initial metadata that could be sent by the
            Server.
          trailing_metadata: Optional metadata that could be sent by the Server.
          details: Optional details explaining the reason of the error.
          debug_error_string: Optional string
        N)ÚsuperÚ__init__r   r    r!   r"   r#   )Úselfr$   r%   r&   r'   r(   Ú	__class__s         €úS/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/grpc/aio/_call.pyr,   zAioRpcError.__init__V   s6   ø€ ô$ 	‰ÑÔØˆŒ
ØˆŒØ!1ˆÔØ"3ˆÔØ#5ˆÕ ó    c                 ó   — | j                   S )ztAccesses the status code sent by the server.

        Returns:
          The `grpc.StatusCode` status code.
        )r   ©r-   s    r/   r$   zAioRpcError.codeo   s   € ð �z‰zÐr0   c                 ó   — | j                   S )zkAccesses the details sent by the server.

        Returns:
          The description of the error.
        )r    r2   s    r/   r'   zAioRpcError.detailsw   s   € ð �}‰}Ðr0   c                 ó   — | j                   S )zuAccesses the initial metadata sent by the server.

        Returns:
          The initial metadata received.
        )r!   r2   s    r/   r%   zAioRpcError.initial_metadata   s   € ð ×%Ñ%Ð%r0   c                 ó   — | j                   S )zwAccesses the trailing metadata sent by the server.

        Returns:
          The trailing metadata received.
        )r"   r2   s    r/   r&   zAioRpcError.trailing_metadata‡   s   € ð ×&Ñ&Ð&r0   c                 ó   — | j                   S )zyAccesses the debug error string sent by the server.

        Returns:
          The debug error string received.
        )r#   r2   s    r/   r(   zAioRpcError.debug_error_string�   s   € ð ×'Ñ'Ð'r0   c                 ó–   — t         j                  | j                  j                  | j                  | j
                  | j                  «      S )z-Assembles the error string for the RPC error.)Ú_NON_OK_CALL_REPRESENTATIONÚformatr.   Ú__name__r   r    r#   r2   s    r/   Ú_reprzAioRpcError._repr—   s9   € ä*×1Ñ1Ø�N‰N×#Ñ#Ø�J‰JØ�M‰MØ×$Ñ$ó	
ð 	
r0   c                 ó"   — | j                  «       S ©N©r;   r2   s    r/   Ú__repr__zAioRpcError.__repr__    ó   € Ø�z‰z‹|Ðr0   c                 ó"   — | j                  «       S r=   r>   r2   s    r/   Ú__str__zAioRpcError.__str__£   r@   r0   c                 óŠ   — t        | «      | j                  | j                  | j                  | j                  | j
                  ffS r=   )Útyper   r!   r"   r    r#   r2   s    r/   Ú
__reduce__zAioRpcError.__reduce__¦   sA   € ä�‹Jà—
‘
Ø×&Ñ&Ø×'Ñ'Ø—‘Ø×(Ñ(ðð	
ð 		
r0   )NNNN)r:   Ú
__module__Ú__qualname__Ú__doc__ÚgrpcÚ
StatusCodeÚ__annotations__r	   Ústrr!   r   r"   r,   r$   r'   r%   r&   r(   r;   r?   rB   rE   Ú__classcell__©r.   s   @r/   r   r   I   s&  ø… ñð �?‰?ÓØ�s‰mÓØ,0Ð�x Ñ)Ó0Ø-1Ð˜ Ñ*Ó1Ø! #™Ó&ð
 04Ø04Ø!%Ø,0ñ6à�o‰oð6ð # 8Ñ,ð6ð $ HÑ-ð	6ð
 ˜#‘ð6ð % S™Mð6ð 
õ6ð2�d—o‘oó ð˜ #™ó ð& (¨8Ñ"4ó &ð' 8¨HÑ#5ó 'ð( H¨S¡Mó (ð
�só 
ð˜#ó ð˜ó ö

r0   r   r%   Ústatusr)   c                 ó   — t        t        j                  |j                  «          t	        j
                  | «      t	        j                  |j                  «       «      |j                  «       |j                  «       ¬«      S )N)r'   r(   )
r   r   Ú!CYGRPC_STATUS_CODE_TO_STATUS_CODEr$   r   Ú_createÚ
from_tupler&   r'   r(   )r%   rO   s     r/   Ú_create_rpc_errorrT   ³   se   € ô Ü×1Ñ1°&·+±+³-Ñ@Ü×ÑØó	
ô 	×Ñ˜F×4Ñ4Ó6Ó7Ø—‘Ó Ø!×4Ñ4Ó6ôð r0   c                   óæ  — e Zd ZU dZej
                  ed<   ej                  ed<   e	j                  ed<   eedf   ed<   eee      ed<   eee      ed<   d	e	j                  d
edeee      deee      dej
                  ddfd„Zd#d„Zdefd„Zdedefd„Zdefd„Zdefd„Zdeddfd„Zdee   fd„Zdefd„Zdefd„Z dej                  fd„Z!defd„Z"defd„Z#d#d„Z$defd „Z%defd!„Z&defd"„Z'y)$r   zyBase implementation of client RPC Call object.

    Implements logic around final status, metadata and cancellation.
    Ú_loopr   Ú_cython_call.Ú	_metadataÚ_request_serializerÚ_response_deserializerÚcython_callÚmetadataÚrequest_serializerÚresponse_deserializerÚloopr)   Nc                 ó\   — || _         || _        t        |«      | _        || _        || _        y r=   )rV   rW   ÚtuplerX   rY   rZ   )r-   r[   r\   r]   r^   r_   s         r/   r,   zCall.__init__Ï   s.   € ð ˆŒ
Ø'ˆÔÜ˜x›ˆŒØ#5ˆÔ Ø&;ˆÕ#r0   c                 ó~   — t        | d«      r1| j                  j                  «       s| j                  t        «       y y y )NrW   )ÚhasattrrW   ÚdoneÚ_cancelÚ_GC_CANCELLATION_DETAILSr2   s    r/   Ú__del__zCall.__del__Ý   s3   € ä�4˜Ô(°×1BÑ1B×1GÑ1GÔ1IØ�L‰LÔ1Õ2ð 2JÐ(r0   c                 ó6   — | j                   j                  «       S r=   )rW   Ú	cancelledr2   s    r/   ri   zCall.cancelledâ   s   € Ø× Ñ ×*Ñ*Ó,Ð,r0   r'   c                 óp   — | j                   j                  «       s| j                   j                  |«       yy)z0Forwards the application cancellation reasoning.TF)rW   rd   Úcancel)r-   r'   s     r/   re   zCall._cancelå   s.   € à× Ñ ×%Ñ%Ô'Ø×Ñ×$Ñ$ WÔ-ØØr0   c                 ó,   — | j                  t        «      S r=   )re   Ú_LOCAL_CANCELLATION_DETAILSr2   s    r/   rk   zCall.cancelì   s   € Ø�|‰|Ô7Ó8Ð8r0   c                 ó6   — | j                   j                  «       S r=   )rW   rd   r2   s    r/   rd   z	Call.doneï   s   € Ø× Ñ ×%Ñ%Ó'Ð'r0   Úcallbackc                 óR   — t        || «      }| j                  j                  |«       y r=   )r   rW   Úadd_done_callback)r-   ro   Úcbs      r/   rq   zCall.add_done_callbackò   s"   € Ü�X˜tÓ$ˆØ×Ñ×+Ñ+¨BÕ/r0   c                 ó6   — | j                   j                  «       S r=   )rW   Útime_remainingr2   s    r/   rt   zCall.time_remainingö   s   € Ø× Ñ ×/Ñ/Ó1Ð1r0   c              ƒ   ó|   K  — | j                   j                  «       ƒ d {  –—† }t        j                  |«      S 7 Œ­wr=   )rW   r%   r   rS   ©r-   Úraw_metadata_tuples     r/   r%   zCall.initial_metadataù   s6   è ø€ Ø#'×#4Ñ#4×#EÑ#EÓ#G×GÐÜ×"Ñ"Ð#5Ó6Ð6ð Hús   ‚< :¡<c              ƒ   ó°   K  — | j                   j                  «       ƒ d {  –—† j                  «       }|s
t        «       S t        j                  |«      S 7 Œ3­wr=   )rW   rO   r&   r   rS   rv   s     r/   r&   zCall.trailing_metadataý   sM   è ø€ à×#Ñ#×*Ñ*Ó,×,ß
Ñ
Ó
ð 	ñ "Ü“:ÐÜ×"Ñ"Ð#5Ó6Ð6ð	 -ús   ‚A A¡4Ac              ƒ   ó”   K  — | j                   j                  «       ƒ d {  –—† j                  «       }t        j                  |   S 7 Œ%­wr=   )rW   rO   r$   r   rQ   )r-   Úcygrpc_codes     r/   r$   z	Call.code  s<   è ø€ Ø!×.Ñ.×5Ñ5Ó7×7×=Ñ=Ó?ˆÜ×8Ñ8¸ÑEÐEð 8ús   ‚A A¡&Ac              ƒ   ón   K  — | j                   j                  «       ƒ d {  –—† j                  «       S 7 Œ­wr=   )rW   rO   r'   r2   s    r/   r'   zCall.details	  s*   è ø€ Ø×'Ñ'×.Ñ.Ó0×0×9Ñ9Ó;Ð;Ð0úó   ‚5 3¡5c              ƒ   ón   K  — | j                   j                  «       ƒ d {  –—† j                  «       S 7 Œ­wr=   )rW   rO   r(   r2   s    r/   r(   zCall.debug_error_string  s*   è ø€ Ø×'Ñ'×.Ñ.Ó0×0×DÑDÓFÐFÐ0úr|   c              ƒ   ób  K  — | j                   j                  «       rt        j                  «       ‚| j	                  «       ƒ d {  –—† }|t
        j                  j                  k7  rBt        | j                  «       ƒ d {  –—† | j                   j                  «       ƒ d {  –—† «      ‚y 7 Œd7 Œ,7 Œ­wr=   )rW   Úis_locally_cancelledÚasyncioÚCancelledErrorr$   rI   rJ   ÚOKrT   r%   rO   )r-   r$   s     r/   Ú_raise_for_statuszCall._raise_for_status  sŒ   è ø€ Ø×Ñ×1Ñ1Ô3Ü×(Ñ(Ó*Ð*Ø—Y‘Y“[× ˆØ”4—?‘?×%Ñ%Ò%Ü#Ø×+Ñ+Ó-×-Ø×'Ñ'×.Ñ.Ó0×0óð ð &ð !øð .øØ0ús6   ‚AB/ÁB)Á9B/Á>B+Á? B/ÂB-
Â 
B/Â+B/Â-B/c                 ó,   — t        | j                  «      S r=   )ÚreprrW   r2   s    r/   r;   z
Call._repr  s   € Ü�D×%Ñ%Ó&Ð&r0   c                 ó"   — | j                  «       S r=   r>   r2   s    r/   r?   zCall.__repr__  r@   r0   c                 ó"   — | j                  «       S r=   r>   r2   s    r/   rB   zCall.__str__  r@   r0   ©r)   N)(r:   rF   rG   rH   r€   ÚAbstractEventLooprK   rI   rJ   r   Ú_AioCallr
   r   r	   r   r   r   r   r   r,   rg   Úboolri   rL   re   rk   rd   r   rq   Úfloatrt   r%   r&   r$   r'   r(   rƒ   r;   r?   rB   © r0   r/   r   r   Â   s‡  … ñð
 ×$Ñ$Ó$Ø�?‰?ÓØ—/‘/Ó!Ø�] CÐ'Ñ(Ó(Ø!Ð"5°kÑ"BÑCÓCØ$Ð%:¸<Ñ%HÑIÓIð<à—_‘_ð<ð ð<ð %Ð%8¸Ñ%EÑFð	<ð
  (Ð(=¸lÑ(KÑLð<ð ×'Ñ'ð<ð 
ó<ó3ð
-˜4ó -ð˜sð  tó ð9˜ó 9ð(�dó (ð0Ð*:ð 0¸tó 0ð2 ¨¡ó 2ð7¨ó 7ð7¨ó 7ðF˜DŸO™Oó Fð<˜só <ðG¨#ó Góð'�só 'ð˜#ó ð˜ô r0   r   c                   ó   — e Zd ZdZdZdZy)Ú	_APIStyler   r   é   N)r:   rF   rG   ÚUNKNOWNÚASYNC_GENERATORÚREADER_WRITERr�   r0   r/   r�   r�   #  s   „ Ø€GØ€OØ�Mr0   r�   c                   óœ   ‡ — e Zd ZU ej                  eeef      ed<   dej                  eeef      fd„Z	de
fˆ fd„Zdeedef   fd„Zˆ xZS )Ú_UnaryResponseMixinÚ_call_responseÚresponse_taskc                 ó   — || _         y r=   )r–   )r-   r—   s     r/   Ú_init_unary_response_mixinz._UnaryResponseMixin._init_unary_response_mixin,  s   € ð ,ˆÕr0   r)   c                 óX   •— t         ‰| �  «       r| j                  j                  «        yy©NTF)r+   rk   r–   ©r-   r.   s    €r/   rk   z_UnaryResponseMixin.cancel1  s%   ø€ Ü‰7‰>ÔØ×Ñ×&Ñ&Ô(ØØr0   Nc              #   ó”  K  — 	 | j                   E d{  –—† }|t
        j                  u rb| j                  j                  «       rt        j                  «       ‚t        | j                  j                  | j                  j                  «      ‚|S 7 Œz# t        j                  $ r" | j                  «       s| j	                  «        ‚ w xY w­w)z+Wait till the ongoing RPC request finishes.N)r–   r€   r�   ri   rk   r   ÚEOFrW   r   rT   r!   Ú_status)r-   Úresponses     r/   Ú	__await__z_UnaryResponseMixin.__await__7  s«   è ø€ ð		Ø"&×"5Ñ"5×5ˆHð ”v—z‘zÑ!Ø× Ñ ×5Ñ5Ô7Ü×,Ñ,Ó.Ð.ä'Ø×%Ñ%×7Ñ7Ø×%Ñ%×-Ñ-óð ð
 ˆOð1 6ùÜ×%Ñ%ò 	ð
 —>‘>Ô#Ø—‘”Øð	üs,   ‚C„B “B”B ˜A6CÂB Â5CÃC)r:   rF   rG   r€   ÚTaskr   r   r   rK   r™   r‹   rk   r   r   r¡   rM   rN   s   @r/   r•   r•   )  s`   ø… Ø—L‘L  |°WÐ'<Ñ!=Ñ>Ó>ð,Ø$Ÿ\™\¨%°¸gÐ0EÑ*FÑGó,ð
˜õ ð˜9 S¨$°Ð%<Ñ=÷ r0   r•   c                   óì   ‡ — e Zd ZU eee      ed<   ej                  d   ed<   e	ed<   dej                  d   fd„Z
de	fd„Zd	efˆ fd
„Zd	ee   fd„Zd	ee   fd„Zd	eeef   fd„Zd	eeef   fd„Zˆ xZS )Ú_StreamResponseMixinÚ_message_aiterNÚ_preparationÚ_response_styleÚpreparationc                 óJ   — d | _         || _        t        j                  | _        y r=   )r¥   r¦   r�   r‘   r§   )r-   r¨   s     r/   Ú_init_stream_response_mixinz0_StreamResponseMixin._init_stream_response_mixinZ  s    € Ø"ˆÔØ'ˆÔÜ(×0Ñ0ˆÕr0   Ústylec                 óš   — | j                   t        j                  u r|| _         y | j                   |urt        j                  t
        «      ‚y r=   )r§   r�   r‘   r   Ú
UsageErrorÚ_API_STYLE_ERROR©r-   r«   s     r/   Ú_update_response_stylez+_StreamResponseMixin._update_response_style_  sC   € Ø×Ñ¤9×#4Ñ#4Ñ4Ø#(ˆDÕ Ø×!Ñ!¨Ñ.Ü×#Ñ#Ô$4Ó5Ð5ð /r0   r)   c                 óX   •— t         ‰| �  «       r| j                  j                  «        yyr›   )r+   rk   r¦   rœ   s    €r/   rk   z_StreamResponseMixin.cancele  s%   ø€ Ü‰7‰>ÔØ×Ñ×$Ñ$Ô&ØØr0   c                óü   K  — | j                  «       ƒ d {  –—† }|t        j                  ur0|­–— | j                  «       ƒ d {  –—† }|t        j                  urŒ0| j                  «       ƒ d {  –—†  y 7 Œ_7 Œ27 Œ	­wr=   )Ú_readr   rž   rƒ   )r-   Úmessages     r/   Ú_fetch_stream_responsesz,_StreamResponseMixin._fetch_stream_responsesk  sf   è ø€ ØŸ
™
›×$ˆØœVŸZ™ZÑ'Ø‹MØ ŸJ™J›L×(ˆGð œVŸZ™ZÒ'ð
 ×$Ñ$Ó&×&Ñ&ð %øð )øð 	'ús9   ‚A<–A6—.A<ÁA8ÁA<ÁA<Á0A:Á1A<Á8A<Á:A<c                 óš   — | j                  t        j                  «       | j                  €| j	                  «       | _        | j                  S r=   )r°   r�   r’   r¥   rµ   r2   s    r/   Ú	__aiter__z_StreamResponseMixin.__aiter__t  s?   € Ø×#Ñ#¤I×$=Ñ$=Ô>Ø×ÑÐ&Ø"&×">Ñ">Ó"@ˆDÔØ×"Ñ"Ð"r0   c              ƒ   ót  K  — | j                   ƒ d {  –—†  	 | j                  j                  «       ƒ d {  –—† }|t        j                  u rt        j                  S t        j                  || j                  «      S 7 Œi7 ŒH# t        j                  $ r" | j                  «       s| j                  «        ‚ w xY w­wr=   )r¦   rW   Úreceive_serialized_messager€   r�   ri   rk   r   rž   r   ÚdeserializerZ   )r-   Úraw_responses     r/   r³   z_StreamResponseMixin._readz  s˜   è ø€ à×Ñ×Ðð	Ø!%×!2Ñ!2×!MÑ!MÓ!O×OˆLð œ6Ÿ:™:Ñ%Ü—:‘:ÐÜ×"Ñ" <°×1LÑ1LÓMÐMð 	 øð PùÜ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üs6   ‚B8’A<“B8˜B  µA>¶B  ºAB8Á>B  Â 5B5Â5B8c              ƒ   óL  K  — | j                  «       r(| j                  «       ƒ d {  –—†  t        j                  S | j	                  t
        j                  «       | j                  «       ƒ d {  –—† }|t        j                  u r| j                  «       ƒ d {  –—†  |S 7 Œw7 Œ27 Œ
­wr=   )rd   rƒ   r   rž   r°   r�   r“   r³   )r-   Úresponse_messages     r/   Úreadz_StreamResponseMixin.readŠ  sƒ   è ø€ Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ð*Ü—:‘:ÐØ×#Ñ#¤I×$;Ñ$;Ô<à!%§¡£×-ÐàœvŸz™zÑ)à×(Ñ(Ó*×*Ð*ØÐð +øð .øð +ús4   ‚$B$¦B§AB$Á-B Á.)B$ÂB"ÂB$Â B$Â"B$)r:   rF   rG   r	   r   r   rK   r€   r¢   r�   rª   r°   r‹   rk   rµ   r·   r   r   r³   r¾   rM   rN   s   @r/   r¤   r¤   U  s¥   ø… Ø˜]¨<Ñ8Ñ9Ó9Ø—,‘,˜tÑ$Ó$ØÓð1°w·|±|ÀDÑ7Ió 1ð
6¨Ió 6ð˜õ ð'¨}¸\Ñ/Jó 'ð#˜=¨Ñ6ó #ðN˜U <°Ð#8Ñ9ó Nð  ˜E ,°Ð"7Ñ8÷  r0   r¤   c                   óú   ‡ — e Zd ZU ej                  ed<   eed<   eej                  d      ed<   e	ed<   dee
e      fd„Zde	fd	„Zd
efˆ fd„Zd„ Zde
e   d
dfd„Zded
dfd„Zdd„Zded
dfd„Zdd„Zdd„Zˆ xZS )Ú_StreamRequestMixinÚ_metadata_sentÚ_done_writing_flagNÚ_async_request_pollerÚ_request_styleÚrequest_iteratorc                 ó
  — t        j                  «       | _        d| _        |�E| j                  j                  | j                  |«      «      | _        t        j                  | _
        y d | _        t        j                  | _
        y )NF)r€   ÚEventrÁ   rÂ   rV   Úcreate_taskÚ_consume_request_iteratorrÃ   r�   r’   rÄ   r“   )r-   rÅ   s     r/   Ú_init_stream_request_mixinz._StreamRequestMixin._init_stream_request_mixinž  sn   € ô &Ÿm™m›oˆÔØ"'ˆÔð Ð'Ø)-¯©×)?Ñ)?Ø×.Ñ.Ð/?Ó@ó*ˆDÔ&ô #,×";Ñ";ˆDÕà)-ˆDÔ&Ü"+×"9Ñ"9ˆDÕr0   r«   c                 óR   — | j                   |urt        j                  t        «      ‚y r=   )rÄ   r   r­   r®   r¯   s     r/   Ú_raise_for_different_stylez._StreamRequestMixin._raise_for_different_style®  s'   € Ø×Ñ eÑ+Ü×#Ñ#Ô$4Ó5Ð5ð ,r0   r)   c                 óp   •— t         ‰| �  «       r'| j                  �| j                  j                  «        yyr›   )r+   rk   rÃ   rœ   s    €r/   rk   z_StreamRequestMixin.cancel²  s1   ø€ Ü‰7‰>ÔØ×)Ñ)Ð5Ø×*Ñ*×1Ñ1Ô3ØØr0   c                 ó8   — | j                   j                  «        y r=   )rÁ   Úsetr2   s    r/   Ú_metadata_sent_observerz+_StreamRequestMixin._metadata_sent_observer¹  s   € Ø×Ñ×ÑÕ!r0   c              ƒ   ó2  K  — 	 t        |t        «      r&|2 3 d {  –—† }	 | j                  |«      ƒ d {  –—†  Œ$|D ]  }	 | j                  |«      ƒ d {  –—†  Œ | j                  «       ƒ d {  –—†  y 7 ŒY7 ŒA# t        $ r!}t        j                  d|«       Y d }~ y d }~ww xY w6 ŒL7 ŒR# t        $ r!}t        j                  d|«       Y d }~ y d }~ww xY w7 Œg#  t        j                  dt        j                  «       «       | j                  «        Y y xY w­w)Nz2Exception while consuming the request_iterator: %sz,Client request_iterator raised exception:
%s)
Ú
isinstancer   Ú_writer   Ú_LOGGERÚdebugÚ_done_writingÚ	tracebackÚ
format_excrk   )r-   rÅ   ÚrequestÚ	rpc_errors       r/   rÉ   z-_StreamRequestMixin._consume_request_iterator¼  s  è ø€ ð%	ÜÐ*¬MÔ:Ø%5÷ ð ˜'ð
Ø"Ÿk™k¨'Ó2×2Ñ2ð  0ò �Gð
Ø"Ÿk™k¨'Ó2×2Ñ2ðð ×$Ñ$Ó&×&Ñ&ð5øà2ùÜ&ò ÜŸ™ð!8ð &ôõ ûðúñ &6ð 3ùÜ&ò ÜŸ™ð!8ð &ôõ ûðúð 'ùð	ô �M‰MØ?Ü×$Ñ$Ó&ôð �K‰KŽMüsÂ   ‚D„C –B%šA4›B%žC  A8´A6µA8¹C Á B)ÁB'ÁB)ÁC Á.CÁ/C Á3DÁ4B%Á6A8Á8	B"ÂBÂC ÂDÂB"Â"C Â'B)Â)	CÂ2CÃC ÃDÃCÃC Ã:DÄDrÙ   c              ƒ   ó$  K  — | j                  «       rt        j                  t        «      ‚| j                  rt        j                  t
        «      ‚| j                  j                  «       sJ| j                  j                  «       ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  t        j                  || j                  «      }	 | j                  j                  |«      ƒ d {  –—†  y 7 Œq7 ŒK7 Œ	# t        j                   $ rG}| j                  j#                  t%        |«      «       | j                  «       ƒ d {  –—†7   Y d }~y d }~wt        j&                  $ r" | j)                  «       s| j+                  «        ‚ w xY w­wr=   )rd   r€   ÚInvalidStateErrorÚ_RPC_ALREADY_FINISHED_DETAILSrÂ   Ú_RPC_HALF_CLOSED_DETAILSrÁ   Úis_setÚwaitrƒ   r   Ú	serializerY   rW   Úsend_serialized_messager   ÚInternalErrorÚset_internal_errorrL   r�   ri   rk   )r-   rÙ   Úserialized_requestÚerrs       r/   rÓ   z_StreamRequestMixin._writeæ  s0  è ø€ Ø�9‰9Œ;Ü×+Ñ+Ô,IÓJÐJØ×"Ò"Ü×+Ñ+Ô,DÓEÐEØ×"Ñ"×)Ñ)Ô+Ø×%Ñ%×*Ñ*Ó,×,Ð,Ø�y‰yŒ{Ø×,Ñ,Ó.×.Ð.ä$×.Ñ.Ø�T×-Ñ-ó
Ðð	Ø×#Ñ#×;Ñ;Ð<NÓO×OÑOð -øà.øð PùÜ×#Ñ#ò 	+Ø×Ñ×0Ñ0´°S³Ô:Ø×(Ñ(Ó*×*Ö*ûÜ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üsl   ‚BFÂC:Â	'FÂ0C<Â1$FÃD  Ã4C>Ã5D  Ã9FÃ<FÃ>D  Ä FÄ7EÅ
EÅEÅFÅ8FÆFc              ƒ   ó  K  — | j                  «       ry | j                  s+d| _        	 | j                  j                  «       ƒ d {  –—†  y y 7 Œ# t        j
                  $ r" | j                  «       s| j                  «        ‚ w xY w­w)NT)rd   rÂ   rW   Úsend_receive_closer€   r�   ri   rk   r2   s    r/   rÖ   z!_StreamRequestMixin._done_writingý  st   è ø€ Ø�9‰9Œ;àØ×&Ò&à&*ˆDÔ#ðØ×'Ñ'×:Ñ:Ó<×<Ñ<ð	 'ð =ùÜ×)Ñ)ò Ø—~‘~Ô'Ø—K‘K”MØðüs.   ‚%B¨A ÁAÁA Á
BÁA Á5BÂBc              ƒ   ó€   K  — | j                  t        j                  «       | j                  |«      ƒ d {  –—†  y 7 Œ­wr=   )rÌ   r�   r“   rÓ   )r-   rÙ   s     r/   Úwritez_StreamRequestMixin.write  s,   è ø€ Ø×'Ñ'¬	×(?Ñ(?Ô@Ø�k‰k˜'Ó"×"Ò"ús   ‚4>¶<·>c              ƒ   ó~   K  — | j                  t        j                  «       | j                  «       ƒ d{  –—†  y7 Œ­w)zUSignal peer that client is done writing.

        This method is idempotent.
        N)rÌ   r�   r“   rÖ   r2   s    r/   Údone_writingz _StreamRequestMixin.done_writing  s.   è ø€ ð
 	×'Ñ'¬	×(?Ñ(?Ô@Ø× Ñ Ó"×"Ò"ús   ‚3=µ;¶=c              ƒ   óª   K  — | j                   j                  «       ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  y y 7 Œ.7 Œ­wr=   )rÁ   rà   rd   rƒ   r2   s    r/   Úwait_for_connectionz'_StreamRequestMixin.wait_for_connection  sG   è ø€ Ø×!Ñ!×&Ñ&Ó(×(Ð(Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ñ*ð ð 	)øà*ús!   ‚A A¡'AÁAÁ	AÁArˆ   )r:   rF   rG   r€   rÇ   rK   r‹   r	   r¢   r�   r   r   rÊ   rÌ   rk   rÐ   rÉ   rÓ   rÖ   rê   rì   rî   rM   rN   s   @r/   rÀ   rÀ   ˜  s²   ø… Ø—M‘MÓ!ØÓØ# G§L¡L°Ñ$6Ñ7Ó7ØÓð:Ø (Ð)<¸[Ñ)IÑ Jó:ð 6°	ó 6ð˜õ ò"ð(Ø 3°KÑ @ð(à	ó(ðT Kð °Dó ó.ð# ;ð #°4ó #ó#÷+r0   rÀ   c                   ó  ‡ — e Zd ZU dZeed<   ej                  ee	e
f      ed<   	 ddedee   dedeej                     dee   d	ej$                  d
edeee      deee	      dej,                  deddfˆ fd„Zdee	e
f   fd„Zdd„Zˆ xZS )r   z}Object for managing unary-unary RPC calls.

    Returned when an instance of `UnaryUnaryMultiCallable` object is called.
    Ú_requestÚ_invocation_taskrÙ   Údeadliner\   ÚcredentialsÚwait_for_readyÚchannelÚmethodr]   r^   r_   Úregistered_call_handler)   Nc           	      ó  •— t         ‰| �  |j                  |||||«      |||	|
«       || _        t	        j
                  «       | _        |
j                  | j                  «       «      | _	        | j                  | j                  «       y r=   )r+   r,   Úcallrð   r   Úbuild_census_contextÚ_contextrÈ   Ú_invokerñ   r™   ©r-   rÙ   rò   r\   ró   rô   rõ   rö   r]   r^   r_   r÷   r.   s               €r/   r,   zUnaryUnaryCall.__init__*  s�   ø€ ô 	‰ÑØ�L‰LØØØØØ&óð ØØ!Øô	
ð  ˆŒÜ×3Ñ3Ó5ˆŒØ $× 0Ñ 0°·±³Ó @ˆÔØ×'Ñ'¨×(=Ñ(=Õ>r0   c              ƒ   óü  K  — t        j                  | j                  | j                  «      }	 | j                  j                  || j                  | j                  «      ƒ d {  –—† }| j                  j                  «       r t        j                  || j                   «      S t        j                  S 7 ŒN# t        j                  $ r3 | j                  «       s| j                  «        t        j                  cY S w xY w­wr=   )r   rá   rð   rY   rW   Úunary_unaryrX   rû   r€   r�   ri   rk   r   rž   Úis_okrº   rZ   )r-   rå   Úserialized_responses      r/   rü   zUnaryUnaryCall._invokeJ  sÌ   è ø€ Ü$×.Ñ.Ø�M‰M˜4×3Ñ3ó
Ðð	Ø(,×(9Ñ(9×(EÑ(EØ" D§N¡N°D·M±Mó)÷ #Ðð ×Ñ×"Ñ"Ô$Ü×&Ñ&Ø# T×%@Ñ%@óð ô �z‰zÐð#ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Ü—:‘:Òð	üs<   ‚+C<®4B3 Á"B1Á#B3 Á'A
C<Â1B3 Â3AC9Ã6C<Ã8C9Ã9C<c              ƒ   óŽ   K  — | j                   ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  y y 7 Œ.7 Œ­wr=   )rñ   rd   rƒ   r2   s    r/   rî   z"UnaryUnaryCall.wait_for_connectiona  s>   è ø€ Ø×#Ñ#×#Ð#Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ñ*ð ð 	$øà*úó   ‚A’A“'AºA»AÁA©r   rˆ   )r:   rF   rG   rH   r   rK   r€   r¢   r   r   r   r	   rŒ   r   rI   ÚCallCredentialsr‹   r   Ú
AioChannelÚbytesr   r   r‰   Úintr,   rü   rî   rM   rN   s   @r/   r   r     sú   ø… ñð
 ÓØ—l‘l 5¨°wÐ)>Ñ#?Ñ@Ó@ð '(ñ?àð?ð ˜5‘/ð?ð ð	?ð
 ˜d×2Ñ2Ñ3ð?ð ! ™ð?ð ×"Ñ"ð?ð ð?ð %Ð%8¸Ñ%EÑFð?ð  (Ð(=¸lÑ(KÑLð?ð ×'Ñ'ð?ð !$ð?ð 
õ?ð@˜u \°7Ð%:Ñ;ó ÷.+r0   r   c                   óþ   ‡ — e Zd ZU dZeed<   ej                  d   ed<   	 ddedee	   de
deej                     d	ee   d
ej                  dedeee      deee      dej(                  deddfˆ fd„Zdd„Zdd„Zˆ xZS )r   zObject for managing unary-stream RPC calls.

    Returned when an instance of `UnaryStreamMultiCallable` object is called.
    rð   NÚ_send_unary_request_taskrÙ   rò   r\   ró   rô   rõ   rö   r]   r^   r_   r÷   r)   c           	      ó  •— t         ‰| �  |j                  |||||«      |||	|
«       || _        t	        j
                  «       | _        |
j                  | j                  «       «      | _	        | j                  | j                  «       y r=   )r+   r,   rù   rð   r   rú   rû   rÈ   Ú_send_unary_requestr
  rª   rý   s               €r/   r,   zUnaryStreamCall.__init__t  s‰   ø€ ô 	‰ÑØ�L‰LØØØØØ&óð ØØ!Øô	
ð  ˆŒÜ×3Ñ3Ó5ˆŒØ(,×(8Ñ(8Ø×$Ñ$Ó&ó)
ˆÔ%ð 	×(Ñ(¨×)FÑ)FÕGr0   c              ƒ   óH  K  — t        j                  | j                  | j                  «      }	 | j                  j                  || j                  | j                  «      ƒ d {  –—†  y 7 Œ# t        j                  $ r" | j                  «       s| j                  «        ‚ w xY w­wr=   )r   rá   rð   rY   rW   Úinitiate_unary_streamrX   rû   r€   r�   ri   rk   )r-   rå   s     r/   r  z#UnaryStreamCall._send_unary_request–  s„   è ø€ Ü$×.Ñ.Ø�M‰M˜4×3Ñ3ó
Ðð	Ø×#Ñ#×9Ñ9Ø" D§N¡N°D·M±Mó÷ ò ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üs.   ‚+B"®4A* Á"A(Á#A* Á'B"Á(A* Á*5BÂB"c              ƒ   óŽ   K  — | j                   ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  y y 7 Œ.7 Œ­wr=   )r
  rd   rƒ   r2   s    r/   rî   z#UnaryStreamCall.wait_for_connection£  s>   è ø€ Ø×+Ñ+×+Ð+Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ñ*ð ð 	,øà*úr  r  rˆ   )r:   rF   rG   rH   r   rK   r€   r¢   r	   rŒ   r   rI   r  r‹   r   r  r  r   r   r   r‰   r  r,   r  rî   rM   rN   s   @r/   r   r   g  sì   ø… ñð
 ÓØ%Ÿl™l¨4Ñ0Ó0ð '(ñ Hàð Hð ˜5‘/ð Hð ð	 Hð
 ˜d×2Ñ2Ñ3ð Hð ! ™ð Hð ×"Ñ"ð Hð ð Hð %Ð%8¸Ñ%EÑFð Hð  (Ð(=¸lÑ(KÑLð Hð ×'Ñ'ð Hð !$ð Hð 
õ HóD÷+r0   r   c                   óà   ‡ — e Zd ZdZ	 ddeee      dee   dedee	j                     dee   dej                  ded	eee      d
eee      dej&                  deddfˆ fd„Zdeeef   fd„Zˆ xZS )ÚStreamUnaryCallzObject for managing stream-unary RPC calls.

    Returned when an instance of `StreamUnaryMultiCallable` object is called.
    rÅ   rò   r\   ró   rô   rõ   rö   r]   r^   r_   r÷   r)   Nc           	      ó  •— t         ‰| �  |j                  |||||«      |||	|
«       t        j                  «       | _        | j                  |«       | j                  |
j                  | j                  «       «      «       y r=   )
r+   r,   rù   r   rú   rû   rÊ   r™   rÈ   Ú_conduct_rpc©r-   rÅ   rò   r\   ró   rô   rõ   rö   r]   r^   r_   r÷   r.   s               €r/   r,   zStreamUnaryCall.__init__µ  s~   ø€ ô 	‰ÑØ�L‰LØØØØØ&óð ØØ!Øô	
ô ×3Ñ3Ó5ˆŒØ×'Ñ'Ð(8Ô9Ø×'Ñ'¨×(8Ñ(8¸×9JÑ9JÓ9LÓ(MÕNr0   c              ƒ   óš  K  — 	 | j                   j                  | j                  | j                  | j                  «      ƒ d {  –—† }| j                   j                  «       r t        j                  || j                  «      S t        j                  S 7 ŒN# t
        j                  $ r" | j                  «       s| j                  «        ‚ w xY w­wr=   )rW   Ústream_unaryrX   rÐ   rû   r€   r�   ri   rk   r   r   rº   rZ   r   rž   )r-   r  s     r/   r  zStreamUnaryCall._conduct_rpcÕ  s«   è ø€ ð	Ø(,×(9Ñ(9×(FÑ(FØ—‘ × <Ñ <¸d¿m¹mó)÷ #Ðð ×Ñ×"Ñ"Ô$Ü×&Ñ&Ø# T×%@Ñ%@óð ô �z‰zÐð#ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üs/   ‚C„>B ÁBÁB ÁA
CÂB Â5CÃCr  )r:   rF   rG   rH   r	   r   r   rŒ   r   rI   r  r‹   r   r  r  r   r   r   r€   r‰   r  r,   r   r   r  rM   rN   s   @r/   r  r  ª  sì   ø„ ñ
ð$ '(ñOà"Ð#6°{Ñ#CÑDðOð ˜5‘/ðOð ð	Oð
 ˜d×2Ñ2Ñ3ðOð ! ™ðOð ×"Ñ"ðOð ðOð %Ð%8¸Ñ%EÑFðOð  (Ð(=¸lÑ(KÑLðOð ×'Ñ'ðOð !$ðOð 
õOð@ E¨,¸Ð*?Ñ$@÷ r0   r  c                   óø   ‡ — e Zd ZU dZej
                  d   ed<   	 ddeee	      dee
   dedeej                     dee   d	ej                   d
edeee	      deee      dej*                  deddfˆ fd„Zdd„Zˆ xZS )ÚStreamStreamCallz�Object for managing stream-stream RPC calls.

    Returned when an instance of `StreamStreamMultiCallable` object is called.
    NÚ_initializerrÅ   rò   r\   ró   rô   rõ   rö   r]   r^   r_   r÷   r)   c           	      ó8  •— t         ‰| �  |j                  |||||«      |||	|
«       t        j                  «       | _        | j                  j                  | j                  «       «      | _	        | j                  |«       | j                  | j                  «       y r=   )r+   r,   rù   r   rú   rû   rV   rÈ   Ú_prepare_rpcr  rÊ   rª   r  s               €r/   r,   zStreamStreamCall.__init__ó  s�   ø€ ô 	‰ÑØ�L‰LØØØØØ&óð ØØ!Øô	
ô ×3Ñ3Ó5ˆŒØ ŸJ™J×2Ñ2°4×3DÑ3DÓ3FÓGˆÔØ×'Ñ'Ð(8Ô9Ø×(Ñ(¨×):Ñ):Õ;r0   c              ƒ   ó  K  — 	 | j                   j                  | j                  | j                  | j                  «      ƒ d{  –—†  y7 Œ# t
        j                  $ r% | j                  «       s| j                  «        Y yY yw xY w­w)z©Prepares the RPC for receiving/sending messages.

        All other operations around the stream should only happen after the
        completion of this method.
        N)	rW   Úinitiate_stream_streamrX   rÐ   rû   r€   r�   ri   rk   r2   s    r/   r  zStreamStreamCall._prepare_rpc  sl   è ø€ ð	Ø×#Ñ#×:Ñ:Ø—‘ × <Ñ <¸d¿m¹mó÷ ò ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘–ñ $ð	üs:   ‚B„>A
 ÁAÁA
 ÁBÁA
 Á
3BÁ=BÂBÂBr  rˆ   )r:   rF   rG   rH   r€   r¢   rK   r	   r   r   rŒ   r   rI   r  r‹   r   r  r  r   r   r   r‰   r  r,   r  rM   rN   s   @r/   r  r  æ  sß   ø… ñ
ð
 —,‘,˜tÑ$Ó$ð '(ñ<à"Ð#6°{Ñ#CÑDð<ð ˜5‘/ð<ð ð	<ð
 ˜d×2Ñ2Ñ3ð<ð ! ™ð<ð ×"Ñ"ð<ð ð<ð %Ð%8¸Ñ%EÑFð<ð  (Ð(=¸lÑ(KÑLð<ð ×'Ñ'ð<ð !$ð<ð 
õ<÷@r0   r  )<rH   r€   Úcollections.abcr   ÚenumÚ	functoolsr   Úloggingr×   Útypingr   r   r   r   r	   r
   r   rI   r   Úgrpc._cythonr   Ú r   rX   r   Ú_typingr   r   r   r   r   r   r   r   r   Ú__all__rm   rf   rÝ   rÞ   r®   Ú_OK_CALL_REPRESENTATIONr8   Ú	getLoggerr:   rÔ   ÚRpcErrorr   ÚAioRpcStatusrT   r   ÚIntEnumr�   r•   r¤   rÀ   r   r   r  r  r�   r0   r/   ú<module>r,     s  ðñ =ã Ý )Û Ý Û Û ÷÷ ñ ó Ý Ý å Ý Ý *Ý %Ý Ý !Ý "Ý (Ý  Ý !Ý (à
D€àAÐ Ø?Ð Ø 7Ð ØMÐ àHð ð
 Kð ð
ð ð ˆ'×
Ñ
˜HÓ
%€ôg
�$—-‘-ô g
ðTØ"ðà×Ñðð óô^ˆ7�; Ð,Ñ-ô ^ôB�—‘ô ô)˜$˜{¨LÐ8Ñ9ô )ôX@ ˜4 ¨\Ð 9Ñ:ô @ ôFB+˜$˜{¨LÐ8Ñ9ô B+ôJG+Ø˜ \Ð1Ñ2Ø×Ñ˜k¨<Ð7Ñ8ôG+ôT?+Ø˜ lÐ2Ñ3Ø×Ñ˜{¨LÐ8Ñ9ô?+ôF9Ø˜ \Ð1Ñ2Ø˜ \Ð1Ñ2Ø×Ñ˜{¨LÐ8Ñ9ô9ôx9Ø˜ \Ð1Ñ2Ø˜ lÐ2Ñ3Ø×Ñ ¨\Ð 9Ñ:õ9r0   