Ë
    øÿæi¦8 ã                   óŒ  — d Z ddlZddlZddlZddlZddlZddl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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dl$Z ejJ                  e&«      Z'djQ                  ejR                  «      Z*dZ+ ejX                  d«      duZ-ej\                  j^                  ej\                  j`                  ej\                  jb                  ej\                  jd                  ej\                  jf                  ej\                  jh                  fZ5ej\                  j^                  ej\                  j`                  ej\                  jb                  ej\                  jd                  ej\                  jh                  fZ6ej\                  j^                  ej\                  jd                  ej\                  jf                  ej\                  jh                  fZ7ej\                  j^                  ej\                  jd                  ej\                  jh                  fZ8dZ9dZ:dZ;dee<   dee<   fd„Z=deej|                     dee?   de?fd„Z@ G d„ deA«      ZBdeBdej|                  de?ddfd „ZCd!ejˆ                  deBd"ee   dee    fd#„ZEdeBd"ee   de#fd$„ZFd%edeBd&eejŽ                  ej�                  f   d'e"d(ee#   ddfd)„ZId*e?d+eBde?fd,„ZJ G d-„ d.ej–                  ej˜                  ejš                  «      ZN G d/„ d0ej–                  ejž                  «      ZP G d1„ d2ePej˜                  ejš                  «      ZQ G d3„ d4ePej˜                  ejš                  «      ZRd5e
dee<   d'e"deee<   eeS   eej–                     f   fd6„ZTdeBd&ej�                  d7eUd8ee<   dee!ee!ej˜                  f   f   f
d9„ZVd:ee   d;eWdeeej°                        fd<„ZYd:ee   d;eWdeeeej°                     ee#   f      fd=„ZZd>ee<   dee<   fd?„Z[ G d@„ dAej¸                  «      Z] G dB„ dCej¼                  «      Z_ G dD„ dEej¼                  «      Z` G dF„ dGejÂ                  «      Zb G dH„ dIejÆ                  «      Zd G dJ„ dKeW«      Ze G dL„ dMeA«      ZfdefddfdN„ZgdeffdO„Zh G dP„ dQeA«      ZideideeejÔ                  gdf      fdR„ZkdeidSejÔ                  dTeeejÔ                  gdf      ddfdU„ZldeidVeeejÔ                  gdf      ddfdW„ZmdeidXejÜ                  dYeUddfdZ„Zodeid[eejÔ                  gdf   d\eUddfd]„Zpdeid[eejÔ                  gdf   ddfd^„Zqd_ee   d`eejä                     dee   fda„Zsdbee   deee   ee   f   fdc„Zt G dd„ deejÜ                  «      Zny)fz.Invocation-side implementation of gRPC Python.é    N)
ÚAnyÚCallableÚDictÚIteratorÚListÚOptionalÚSequenceÚSetÚTupleÚUnion)Ú_common)Ú_compression)Ú_grpcio_metadata)Ú_observability)Úcygrpc)ÚChannelArgumentType)ÚDeserializingFunction)ÚIntegratedCallFactory)ÚMetadataType)ÚNullaryCallbackType)ÚResponseType)ÚSerializingFunction)ÚUserTagzgrpc-python/{}Ú!GRPC_SINGLE_THREADED_UNARY_STREAMz0Exception calling channel subscription callback!z?<{} of RPC that terminated with:
	status = {}
	details = "{}"
>zZ<{} of RPC that terminated with:
	status = {}
	details = "{}"
	debug_error_string = "{}"
>ÚtimeoutÚreturnc                 ó8   — | €d S t        j                   «       | z   S ©N)Útime©r   s    úb/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/grpc/_channel.pyÚ	_deadliner"   m   s   € Ø�?ˆ4Ð=¬¯	©	«°gÑ(=Ð=ó    Úunknown_cygrpc_codeÚdetailsc                 ó&   — dj                  | |«      S )Nz,Server sent unknown code {} and details "{}")Úformat)r$   r%   s     r!   Ú_unknown_code_detailsr(   q   s   € ð :×@Ñ@Ø˜Wóð r#   c                   ó�  — e Zd ZU ej                  ed<   eej                     ed<   e	e
   ed<   eed<   e	e
   ed<   e	ej                     ed<   e	e   ed<   e	e   ed<   eed	<   ee   ed
<   e	e   ed<   e	e   ed<   e	e   ed<   e	e   ed<   e	e   ed<   deej                     de	e
   de	e
   de	ej                     de	e   f
d„Zd„ Zy)Ú	_RPCStateÚ	conditionÚdueÚinitial_metadataÚresponseÚtrailing_metadataÚcoder%   Údebug_error_stringÚ	cancelledÚ	callbacksÚ
fork_epochÚrpc_start_timeÚrpc_end_timeÚmethodÚtargetc                 ó0  — t        j                  «       | _        t        |«      | _        || _        d | _        || _        || _        || _	        d | _
        d | _        d | _        d | _        d | _        d| _        g | _        t#        j$                  «       | _        y ©NF)Ú	threadingÚ	Conditionr+   Úsetr,   r-   r.   r/   r0   r%   r1   r5   r6   r7   r8   r2   r3   r   Úget_fork_epochr4   )Úselfr,   r-   r/   r0   r%   s         r!   Ú__init__z_RPCState.__init__Š   sŽ   € ô #×,Ñ,Ó.ˆŒô �s“8ˆŒØ 0ˆÔØˆŒØ!2ˆÔØˆŒ	ØˆŒØ"&ˆÔð #ˆÔØ ˆÔØˆŒØˆŒð ˆŒØˆŒÜ ×/Ñ/Ó1ˆ�r#   c                 ó6   — t        j                  «       | _        y r   )r;   r<   r+   ©r?   s    r!   Úreset_postfork_childz_RPCState.reset_postfork_child²   s   € Ü"×,Ñ,Ó.ˆ�r#   N)Ú__name__Ú
__module__Ú__qualname__r;   r<   Ú__annotations__r
   r   ÚOperationTyper   r   r   ÚgrpcÚ
StatusCodeÚstrÚboolr   r   ÚintÚfloatr	   r@   rC   © r#   r!   r*   r*   y   sý   … Ø×"Ñ"Ó"Ø	ˆV×!Ñ!Ñ	"Ó"Ø˜|Ñ,Ó,ØƒMØ Ñ-Ó-Ø
�4—?‘?Ñ
#Ó#Ø�c‰]ÓØ  ™Ó%ØƒOØÐ'Ñ(Ó(Ø˜‘ÓØ˜U‘OÓ#Ø˜5‘/Ó!Ø�S‰MÓØ�S‰MÓð&2à�f×*Ñ*Ñ+ð&2ð # <Ñ0ð&2ð $ LÑ1ð	&2ð
 �t—‘Ñ'ð&2ð ˜#‘ó&2óP/r#   r*   Ústater0   c                 ón   — | j                   €)|| _         || _        | j                  €d| _        d| _        y y ©NrO   )r0   r%   r-   r/   )rP   r0   r%   s      r!   Ú_abortrS   ¶   s;   € Ø‡z�zÐØˆŒ
ØˆŒØ×!Ñ!Ð)Ø%'ˆEÔ"Ø"$ˆÕð r#   ÚeventÚresponse_deserializerc                 ó8  — g }| j                   D �]  }|j                  «       }|j                  j                  |«       |t        j
                  j                  k(  r|j                  «       |_        Œb|t        j
                  j                  k(  r[|j                  «       }|€Œ’t        j                  ||«      }|€(d}t        |t        j                  j                  |«       ŒÒ||_        ŒÚ|t        j
                  j"                  k(  sŒø|j%                  «       |_        |j&                  €Ÿt        j(                  j+                  |j'                  «       «      }	|	€?t        j                  j,                  |_        t/        |	|j1                  «       «      |_        n1|	|_        |j1                  «       |_        |j3                  «       |_        t7        j8                  «       |_        t=        j>                  |«       |jA                  |jB                  «       d |_!        �Œ
 |S )Nz!Exception deserializing response!)"Úbatch_operationsÚtyper,   Úremover   rH   Úreceive_initial_metadatar-   Úreceive_messageÚmessager   ÚdeserializerS   rI   rJ   ÚINTERNALr.   Úreceive_status_on_clientr/   r0   Ú!CYGRPC_STATUS_CODE_TO_STATUS_CODEÚgetÚUNKNOWNr(   r%   Úerror_stringr1   r   Úperf_counterr6   r   Úmaybe_record_rpc_latencyÚextendr3   )
rT   rP   rU   r3   Úbatch_operationÚoperation_typeÚserialized_responser.   r%   r0   s
             r!   Ú_handle_eventrj   ¿   s¶  € ð
 €IØ ×1Õ1ˆØ(×-Ñ-Ó/ˆØ�	‰	×Ñ˜Ô(ØœV×1Ñ1×JÑJÒJØ%4×%EÑ%EÓ%GˆEÕ"Øœv×3Ñ3×CÑCÒCØ"1×"9Ñ"9Ó";ÐØ"Ñ.Ü"×.Ñ.Ø'Ð)>ó�ð Ð#ØA�GÜ˜5¤$§/¡/×":Ñ":¸GÕDà%-�E•NØœv×3Ñ3×LÑLÓLØ&5×&GÑ&GÓ&IˆEÔ#Ø�z‰zÐ!Ü×@Ñ@×DÑDØ#×(Ñ(Ó*ó�ð �<Ü!%§¡×!8Ñ!8�E”JÜ$9Ø˜o×5Ñ5Ó7ó%�E•Mð "&�E”JØ$3×$;Ñ$;Ó$=�E”MØ/>×/KÑ/KÓ/M�EÔ,Ü!%×!2Ñ!2Ó!4ˆEÔÜ×3Ñ3°EÔ:Ø×Ñ˜UŸ_™_Ô-Ø"ˆEŽOðE 2ðF Ðr#   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc           	      ó¨  •— ‰j                   5  t        | ‰‰«      }‰j                   j                  «        ‰j                   }d d d «       D ]
  }	  |«        Œ xr! ‰j                  t        j                  «       k\  S # 1 sw Y   Œ=xY w# t        $ r=}t
        j                  dt        |j                  «      t        |«      «       Y d }~Œd }~ww xY w)NzException in callback %s: %s)r+   rj   Ú
notify_allr,   Ú	ExceptionÚ_LOGGERÚerrorÚreprÚfuncr4   r   r>   )rT   r3   ÚdoneÚcallbackÚerU   rP   s        €€r!   Úhandle_eventz$_event_handler.<locals>.handle_eventî   s°   ø€ Ø�_‹_Ü% e¨UÐ4IÓJˆIØ�O‰O×&Ñ&Ô(Ø—y‘y�=ˆD÷ ó "ˆHðÙ•
ð "ð ÒC˜×(Ñ(¬F×,AÑ,AÓ,CÑCÐC÷ ˆ_ûô ò ô —‘Ø2´D¸¿¹Ó4GÌÈaË÷ñ ûðús#   Ž5A?ÁBÁ?BÂ	CÂ3CÃCrO   )rP   rU   rv   s   `` r!   Ú_event_handlerrw   ë   s   ù€ õDð  Ðr#   Úrequest_iteratorÚcallÚrequest_serializerÚevent_handlerc                 óŽ   ‡ ‡‡‡‡— ˆˆˆ ˆˆfd„}t        j                  |¬«      }|j                  d«       |j                  «        y)z'Consume a request supplied by the user.c            	      ó,  •— 	 d} 	 t        j                  «        t        ‰
«      }	 | st        j                  «        	 t        j                  |‰«      }‰j                   5  ‰j"                  �€m‰j$                  �s`|€Vt        j                  j&                  }d}‰j                  t        j                  |   |«       t        ‰||«       	 d d d «       y ‰j(                  j+                  t         j,                  j.                  «       t        j0                  |t2        «      f}‰j5                  |‰	«      }|s=‰j(                  j7                  t         j,                  j.                  «       	 d d d «       y ˆfd„}t        j8                  ‰j                   j8                  |t;        j<                  t         j>                  ‰«      ¬«       ‰j"                  �	 d d d «       y 	 d d d «       y 	 d d d «       �Œì# t        $ r Y | sÙt        j                  «        nÄt
        $ r‘ t        j                  «        d} t        j                  j                  }d}t        j                  |«       ‰j                  t        j                  |   |«       t        ‰||«       Y | st        j                  «        y y w xY w# | st        j                  «        w w xY w# 1 sw Y   ŒäxY w‰j                   5  ‰j"                  €”‰j(                  j+                  t         j,                  j@                  «       t        jB                  t2        «      f}‰j5                  |‰	«      }|s3‰j(                  j7                  t         j,                  j@                  «       d d d «       y # 1 sw Y   y xY w)NTFzException iterating requests!úException serializing request!c                  óp   •— ‰ j                   d uxs& t        j                  j                  ‰ j                  vS r   )r0   r   rH   Úsend_messager,   )rP   s   €r!   Ú_donezJ_consume_request_iterator.<locals>.consume_request_iterator.<locals>._done<  s4   ø€ à!ŸJ™J¨dÐ2ò -Ü%×3Ñ3×@Ñ@Ø#(§9¡9ð -ðr#   )Úspin_cb)"r   Úenter_user_request_generatorÚnextÚStopIterationÚ"return_from_user_request_generatorrn   rI   rJ   rb   ro   Ú	exceptionÚcancelr   Ú!STATUS_CODE_TO_CYGRPC_STATUS_CODErS   Ú	serializer+   r0   r2   r^   r,   ÚaddrH   r€   ÚSendMessageOperationÚ_EMPTY_FLAGSÚoperaterY   ÚwaitÚ	functoolsÚpartialÚblock_if_fork_in_progressÚsend_close_from_clientÚSendCloseFromClientOperation)Ú*return_from_user_request_generator_invokedÚrequestr0   r%   Úserialized_requestÚ
operationsÚ	operatingr�   ry   r{   rx   rz   rP   s           €€€€€r!   Úconsume_request_iteratorz;_consume_request_iterator.<locals>.consume_request_iterator  sê  ø€ ð Ø9>Ð6ð@ä×3Ñ3Ô5ÜÐ/Ó0‘ñ BÜ×=Ñ=Õ?Ü!(×!2Ñ!2°7Ð<NÓ!OÐØ—“Ø—:‘:Ñ%¨e¯o«oØ)Ð1Ü#Ÿ™×7Ñ7˜Ø"B˜ØŸ™Ü#×EÑEÀdÑKØ#ôô ˜u d¨GÔ4Ø÷ !�ð —I‘I—M‘M¤&×"6Ñ"6×"CÑ"CÔDä×3Ñ3Ø.´óð"�Jð
 !%§¡¨Z¸Ó G�IÙ$ØŸ	™	×(Ñ(¬×)=Ñ)=×)JÑ)JÔKØ÷) !�ô,ô —L‘LØŸ™×,Ñ,ØÜ )× 1Ñ 1Ü"×<Ñ<¸eó!õð —z‘zÐ-Ø÷K !�ðN ÷O !�ðH .÷I !ñ/ øô !ò Øñ BÜ×=Ñ=Õ?ô ò 
Ü×9Ñ9Ô;Ø=AÐ:Ü—‘×.Ñ.�Ø9�Ü×!Ñ! 'Ô*Ø—‘Ü×=Ñ=¸dÑCÀWôô �u˜d GÔ,ØáAÜ×=Ñ=Õ?ð Bð
ûñ BÜ×=Ñ=Õ?ð Bú÷ !�úðP �_‹_Ø�z‰zÐ!Ø—	‘	—‘œf×2Ñ2×IÑIÔJä×7Ñ7¼ÓEð�
ð !ŸL™L¨°]ÓC�	Ù Ø—I‘I×$Ñ$Ü×,Ñ,×CÑCô÷ �_‰_ús^   †G/ ÁA*KÃBKÅ1A KÇKÇ/	J)Ç8J, ÈA?J)ÊJ, Ê(J)Ê)J, Ê,KËKË B!N
Î
N©r8   TN©r   ÚForkManagedThreadÚ	setDaemonÚstart)rx   rP   ry   rz   r{   rš   Úconsumption_threads   `````  r!   Ú_consume_request_iteratorr¡     sB   ü€ ÷Lð Lô\  ×1Ñ1Ø'ôÐð × Ñ  Ô&Ø×ÑÕr#   Ú
class_nameÚ	rpc_statec                 ó²  — |j                   5  |j                  €dj                  | «      cddd«       S |j                  t        j                  j
                  u r4t        j                  | |j                  |j                  «      cddd«       S t        j                  | |j                  |j                  |j                  «      cddd«       S # 1 sw Y   yxY w)z Calculates error string for RPC.Nz<{} object>)
r+   r0   r'   rI   rJ   ÚOKÚ_OK_RENDEZVOUS_REPR_FORMATr%   Ú_NON_OK_RENDEZVOUS_REPR_FORMATr1   )r¢   r£   s     r!   Ú_rpc_state_stringr¨   a  s¢   € à	×	Ó	Ø�>‰>Ð!Ø ×'Ñ'¨
Ó3÷ 
Ñ	ð �>‰>œTŸ_™_×/Ñ/Ñ/Ü-×4Ñ4Ø˜IŸN™N¨I×,=Ñ,=ó÷	 
Ñ	ô .×4Ñ4ØØ�N‰NØ×ÑØ×(Ñ(ó	
÷ 
×	Ò	ús   �C´ACÂ5CÃCc                   ó–  — e Zd ZU dZeed<   defd„Zdee   fd„Z	dee   fd„Z
deej                     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efd„Zdefd„Zdefd„Zdefd„Z	 ddee   defd„Z	 ddee   dee   fd„Z	 ddee   deej>                     fd„Z 	 dde!ejD                  gdf   dee   ddfd„Z#y)Ú_InactiveRpcErrorzÐAn RPC error not tied to the execution of a particular RPC.

    The RPC represented by the state object must not be in-progress or
    cancelled.

    Attributes:
      _state: An instance of _RPCState.
    Ú_staterP   c           
      óè  — |j                   5  t        dt        j                  |j                  «      t        j                  |j
                  «      |j                  t        j                  |j                  «      «      | _        t        j                  |j                  «      | j                  _	        t        j                  |j                  «      | j                  _
        d d d «       y # 1 sw Y   y xY wrR   )r+   r*   ÚcopyÚdeepcopyr-   r/   r0   r%   r«   r.   r1   ©r?   rP   s     r!   r@   z_InactiveRpcError.__init__~  s“   € Ø�_‹_Ü#ØÜ—‘˜e×4Ñ4Ó5Ü—‘˜e×5Ñ5Ó6Ø—
‘
Ü—‘˜eŸm™mÓ,óˆDŒKô $(§9¡9¨U¯^©^Ó#<ˆD�K‰KÔ Ü-1¯Y©Y°u×7OÑ7OÓ-PˆD�K‰KÔ*÷ �_‰_ús   �CC(Ã(C1r   c                 ó.   — | j                   j                  S r   ©r«   r-   rB   s    r!   r-   z"_InactiveRpcError.initial_metadataŠ  s   € Ø�{‰{×+Ñ+Ð+r#   c                 ó.   — | j                   j                  S r   ©r«   r/   rB   s    r!   r/   z#_InactiveRpcError.trailing_metadata�  s   € Ø�{‰{×,Ñ,Ð,r#   c                 ó.   — | j                   j                  S r   ©r«   r0   rB   s    r!   r0   z_InactiveRpcError.code�  s   € Ø�{‰{×ÑÐr#   c                 óT   — t        j                  | j                  j                  «      S r   )r   Údecoder«   r%   rB   s    r!   r%   z_InactiveRpcError.details“  s   € Ü�~‰~˜dŸk™k×1Ñ1Ó2Ð2r#   c                 óT   — t        j                  | j                  j                  «      S r   )r   r·   r«   r1   rB   s    r!   r1   z$_InactiveRpcError.debug_error_string–  s   € Ü�~‰~˜dŸk™k×<Ñ<Ó=Ð=r#   c                 óV   — t        | j                  j                  | j                  «      S r   ©r¨   Ú	__class__rD   r«   rB   s    r!   Ú_reprz_InactiveRpcError._repr™  ó   € Ü  §¡×!8Ñ!8¸$¿+¹+ÓFÐFr#   c                 ó"   — | j                  «       S r   ©r¼   rB   s    r!   Ú__repr__z_InactiveRpcError.__repr__œ  ó   € Ø�z‰z‹|Ðr#   c                 ó"   — | j                  «       S r   r¿   rB   s    r!   Ú__str__z_InactiveRpcError.__str__Ÿ  rÁ   r#   c                  ó   — y)zSee grpc.Future.cancel.FrO   rB   s    r!   rˆ   z_InactiveRpcError.cancel¢  ó   € àr#   c                  ó   — y)zSee grpc.Future.cancelled.FrO   rB   s    r!   r2   z_InactiveRpcError.cancelled¦  rÅ   r#   c                  ó   — y)zSee grpc.Future.running.FrO   rB   s    r!   Úrunningz_InactiveRpcError.runningª  rÅ   r#   c                  ó   — y)zSee grpc.Future.done.TrO   rB   s    r!   rs   z_InactiveRpcError.done®  s   € àr#   Nr   c                 ó   — | ‚)zSee grpc.Future.result.rO   ©r?   r   s     r!   Úresultz_InactiveRpcError.result²  s	   € ð ˆ
r#   c                 ó   — | S )zSee grpc.Future.exception.rO   rË   s     r!   r‡   z_InactiveRpcError.exception¸  s	   € ð ˆr#   c                 óh   — 	 | ‚# t         j                  $ r t        j                  «       d   cY S w xY w)zSee grpc.Future.traceback.é   )rI   ÚRpcErrorÚsysÚexc_inforË   s     r!   Ú	tracebackz_InactiveRpcError.traceback¾  s0   € ð	%ØˆJøÜ�}‰}ò 	%Ü—<‘<“> !Ñ$Ò$ð	%ús   ‚ „*1°1Úfnc                 ó   —  || «       y)z"See grpc.Future.add_done_callback.NrO   )r?   rÔ   r   s      r!   Úadd_done_callbackz#_InactiveRpcError.add_done_callbackÇ  s   € ñ 	ˆ4�r#   r   )$rD   rE   rF   Ú__doc__r*   rG   r@   r   r   r-   r/   rI   rJ   r0   rK   r%   r1   r¼   rÀ   rÃ   rL   rˆ   r2   rÈ   rs   rN   r   rÌ   rn   r‡   ÚtypesÚTracebackTyperÓ   r   ÚFuturerÖ   rO   r#   r!   rª   rª   r  sn  … ñð Óð
Q˜ió 
Qð, (¨<Ñ"8ó ,ð- 8¨LÑ#9ó -ð �h˜tŸ™Ñ/ó  ð3˜ #™ó 3ð> H¨S¡Mó >ðG�só Gð˜#ó ð˜ó ð˜ó ð˜4ó ð˜ó ð�dó ð
 *.ñØ ‘ðà	óð *.ñØ ‘ðà	�)Ñ	óð *.ñ%Ø ‘ð%à	�%×%Ñ%Ñ	&ó%ð $(ñà�d—k‘k�] DÐ(Ñ)ðð ˜%‘ðð 
ô	r#   rª   c            	       ój  ‡ — e Zd ZU dZeed<   eej                  ej                  f   ed<   e
e   ed<   e
e   ed<   dedeej                  ej                  f   de
e   d	e
e   fˆ fd
„Zdefd„Zde
e   fd„Zdefd„Zdedefd„Zd„ Zd„ Zd„ Zd„ Zde
e   fd„Zdefd„Zdefd„Zdefd„Zdd„Zˆ xZS )Ú_Rendezvousaå  An RPC iterator.

    Attributes:
      _state: An instance of _RPCState.
      _call: An instance of SegregatedCall or IntegratedCall.
        In either case, the _call object is expected to have operate, cancel,
        and next_event methods.
      _response_deserializer: A callable taking bytes and return a Python
        object.
      _deadline: A float representing the deadline of the RPC in seconds. Or
        possibly None, to represent an RPC with no deadline at all.
    r«   Ú_callÚ_response_deserializerr"   rP   ry   rU   Údeadlinec                 ób   •— t         t        | �  «        || _        || _        || _        || _        y r   )ÚsuperrÜ   r@   r«   rÝ   rÞ   r"   )r?   rP   ry   rU   rß   r»   s        €r!   r@   z_Rendezvous.__init__ã  s/   ø€ ô 	Œk˜4Ñ)Ô+ØˆŒØˆŒ
Ø&;ˆÔ#Ø!ˆ�r#   r   c                 óŠ   — | j                   j                  5  | j                   j                  du cddd«       S # 1 sw Y   yxY w)zSee grpc.RpcContext.is_activeN©r«   r+   r0   rB   s    r!   Ú	is_activez_Rendezvous.is_activeð  s-   € à�[‰[×"Ó"Ø—;‘;×#Ñ# tÐ+÷ #×"Ò"úó	   —9¹Ac                 óÜ   — | j                   j                  5  | j                  €
	 ddd«       yt        | j                  t	        j                  «       z
  d«      cddd«       S # 1 sw Y   yxY w)z"See grpc.RpcContext.time_remainingNr   )r«   r+   r"   Úmaxr   rB   s    r!   Útime_remainingz_Rendezvous.time_remainingõ  sK   € à�[‰[×"Ó"Ø�~‰~Ð%Ø÷ #Ð"ô �t—~‘~¬¯	©	«Ñ3°QÓ7÷ #×"Ò"ús   —A"®*A"Á"A+c                 óÆ  — | j                   j                  5  | j                   j                  €Ÿt        j                  j
                  }d}| j                  j                  t        j                  |   |«       d| j                   _
        t        | j                   ||«       | j                   j                  j                  «        	 ddd«       y	 ddd«       y# 1 sw Y   yxY w)zSee grpc.RpcContext.cancelNz!Locally cancelled by application!TF)r«   r+   r0   rI   rJ   Ú	CANCELLEDrÝ   rˆ   r   r‰   r2   rS   rm   )r?   r0   r%   s      r!   rˆ   z_Rendezvous.cancelü  s¥   € à�[‰[×"Ó"Ø�{‰{×ÑÐ'Ü—‘×0Ñ0�Ø=�Ø—
‘
×!Ñ!Ü×=Ñ=¸dÑCÀWôð )-�—‘Ô%Ü�t—{‘{ D¨'Ô2Ø—‘×%Ñ%×0Ñ0Ô2Ø÷ #Ð"ð ÷ #×"Ñ"ús   —B-CÃCÃC rt   c                 óæ   — | j                   j                  5  | j                   j                  €
	 ddd«       y| j                   j                  j                  |«       	 ddd«       y# 1 sw Y   yxY w)z See grpc.RpcContext.add_callbackNFT)r«   r+   r3   Úappend©r?   rt   s     r!   Úadd_callbackz_Rendezvous.add_callback  sS   € à�[‰[×"Ó"Ø�{‰{×$Ñ$Ð,Ø÷ #Ð"ð �K‰K×!Ñ!×(Ñ(¨Ô2Ø÷	 #×"Ñ"ús   —A'¸&A'Á'A0c                 ó   — | S r   rO   rB   s    r!   Ú__iter__z_Rendezvous.__iter__  ó   € Øˆr#   c                 ó"   — | j                  «       S r   ©Ú_nextrB   s    r!   r„   z_Rendezvous.next  rÁ   r#   c                 ó"   — | j                  «       S r   ró   rB   s    r!   Ú__next__z_Rendezvous.__next__  rÁ   r#   c                 ó   — t        «       ‚r   ©ÚNotImplementedErrorrB   s    r!   rô   z_Rendezvous._next  ó   € Ü!Ó#Ð#r#   c                 ó   — t        «       ‚r   rø   rB   s    r!   r1   z_Rendezvous.debug_error_string  rú   r#   c                 óV   — t        | j                  j                  | j                  «      S r   rº   rB   s    r!   r¼   z_Rendezvous._repr"  r½   r#   c                 ó"   — | j                  «       S r   r¿   rB   s    r!   rÀ   z_Rendezvous.__repr__%  rÁ   r#   c                 ó"   — | j                  «       S r   r¿   rB   s    r!   rÃ   z_Rendezvous.__str__(  rÁ   r#   c                 ó  — | j                   j                  5  | j                   j                  €Ät        j                  j
                  | j                   _        d| j                   _        d| j                   _        | j                  j                  t        j                  | j                   j                     | j                   j                  «       | j                   j                  j                  «        d d d «       y # 1 sw Y   y xY w)Nz"Cancelled upon garbage collection!T)r«   r+   r0   rI   rJ   rê   r%   r2   rÝ   rˆ   r   r‰   rm   rB   s    r!   Ú__del__z_Rendezvous.__del__+  s¨   € Ø�[‰[×"Ó"Ø�{‰{×ÑÐ'Ü#'§?¡?×#<Ñ#<�—‘Ô Ø&J�—‘Ô#Ø(,�—‘Ô%Ø—
‘
×!Ñ!Ü×=Ñ=¸d¿k¹k×>NÑ>NÑOØ—K‘K×'Ñ'ôð —‘×%Ñ%×0Ñ0Ô2÷ #×"Ñ"ús   —CC;Ã;D©r   N)rD   rE   rF   r×   r*   rG   r   r   ÚSegregatedCallÚIntegratedCallr   r   rN   r@   rL   rä   rè   rˆ   r   rî   rð   r„   rö   rô   rK   r1   r¼   rÀ   rÃ   r   Ú__classcell__©r»   s   @r!   rÜ   rÜ   Ð  s  ø… ñð ÓØ�×&Ñ&¨×(=Ñ(=Ð=Ñ>Ó>Ø$Ð%:Ñ;Ó;Ø˜‰Óð"àð"ð �F×)Ñ)¨6×+@Ñ+@Ð@ÑAð"ð  (Ð(=Ñ>ð	"ð
 ˜5‘/õ"ð,˜4ó ,ð
8 ¨¡ó 8ð˜ó ðÐ%8ð ¸Tó òòòò$ð$ H¨S¡Mó $ðG�só Gð˜#ó ð˜ó ÷
3r#   rÜ   c                   ó’  — e Zd ZU dZeed<   defd„Zdefd„Zdefd„Z	defd„Z
dd	ee   defd
„Zdd	ee   dee   fd„Z	 dd	ee   deej$                     fd„Zdeej,                  gdf   ddfd„Zdee   fd„Zdee   fd„Zdeej6                     fd„Zdee   fd„Zdeej@                     fd„Z!defd„Z"defd„Z#dee   fd„Z$y)Ú_SingleThreadedRendezvousaN  An RPC iterator operating entirely on a single thread.

    The __next__ method of _SingleThreadedRendezvous does not depend on the
    existence of any other thread, including the "channel spin thread".
    However, this means that its interface is entirely synchronous. So this
    class cannot completely fulfill the grpc.Future interface. The result,
    exception, and traceback methods will never block and will instead raise
    an exception if calling the method would result in blocking.

    This means that these methods are safe to call from add_done_callback
    handlers.
    r«   r   c                 ó2   — | j                   j                  d uS r   rµ   rB   s    r!   Ú_is_completez&_SingleThreadedRendezvous._is_completeJ  ó   € Ø�{‰{×Ñ tÐ+Ð+r#   c                 ó†   — | j                   j                  5  | j                   j                  cd d d «       S # 1 sw Y   y xY wr   ©r«   r+   r2   rB   s    r!   r2   z#_SingleThreadedRendezvous.cancelledM  ó(   € Ø�[‰[×"Ó"Ø—;‘;×(Ñ(÷ #×"Ò"úó	   —7·A c                 óŠ   — | j                   j                  5  | j                   j                  d u cd d d «       S # 1 sw Y   y xY wr   rã   rB   s    r!   rÈ   z!_SingleThreadedRendezvous.runningQ  ó-   € Ø�[‰[×"Ó"Ø—;‘;×#Ñ# tÐ+÷ #×"Ò"úrå   c                 óŠ   — | j                   j                  5  | j                   j                  d ucd d d «       S # 1 sw Y   y xY wr   rã   rB   s    r!   rs   z_SingleThreadedRendezvous.doneU  ó-   € Ø�[‰[×"Ó"Ø—;‘;×#Ñ#¨4Ð/÷ #×"Ò"úrå   Nr   c                 ó¢  — ~| j                   j                  5  | j                  «       s!d}t        j                  j                  |«      ‚| j                   j                  t        j                  j                  u r| j                   j                  cddd«       S | j                   j                  rt        j                  «       ‚| ‚# 1 sw Y   yxY w)a9  Returns the result of the computation or raises its exception.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zJ_SingleThreadedRendezvous only supports result() when the RPC is complete.N)r«   r+   r	  rI   ÚexperimentalÚ
UsageErrorr0   rJ   r¥   r.   r2   ÚFutureCancelledError©r?   r   Ú	error_msgs      r!   rÌ   z _SingleThreadedRendezvous.resultY  s    € ð Ø�[‰[×"Ó"Ø×$Ñ$Ô&ð9ð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ñ5Ø—{‘{×+Ñ+÷ #Ñ"ð �{‰{×$Ò$Ü×/Ñ/Ó1Ð1ØˆJ÷ #Ð"ús   ˜A7CÂ,CÃCc                 óŠ  — ~| j                   j                  5  | j                  «       s!d}t        j                  j                  |«      ‚| j                   j                  t        j                  j                  u r
	 ddd«       y| j                   j                  rt        j                  «       ‚| cddd«       S # 1 sw Y   yxY w)a*  Return the exception raised by the computation.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zM_SingleThreadedRendezvous only supports exception() when the RPC is complete.N)r«   r+   r	  rI   r  r  r0   rJ   r¥   r2   r  r  s      r!   r‡   z#_SingleThreadedRendezvous.exceptionp  s—   € ð Ø�[‰[×"Ó"Ø×$Ñ$Ô&ð<ð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ñ5Ø÷ #Ð"ð �{‰{×$Ò$Ü×/Ñ/Ó1Ð1Ø÷ #×"Ò"ús   ˜A#B9Â+B9Â9Cc                 óì  — ~| j                   j                  5  | j                  «       s!d}t        j                  j                  |«      ‚| j                   j                  t        j                  j                  u r
	 ddd«       y| j                   j                  rt        j                  «       ‚	 | ‚# t        j                  $ r# t        j                  «       d   cY cddd«       S w xY w# 1 sw Y   yxY w)a;  Access the traceback of the exception raised by the computation.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zM_SingleThreadedRendezvous only supports traceback() when the RPC is complete.NrÏ   )r«   r+   r	  rI   r  r  r0   rJ   r¥   r2   r  rÐ   rÑ   rÒ   )r?   r   Úmsgs      r!   rÓ   z#_SingleThreadedRendezvous.traceback‡  sÇ   € ð Ø�[‰[×"Ó"Ø×$Ñ$Ô&ð<ð ô ×'Ñ'×2Ñ2°3Ó7Ð7Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ñ5Ø÷ #Ð"ð �{‰{×$Ò$Ü×/Ñ/Ó1Ð1ð)Ø�
øÜ—=‘=ò )Ü—|‘|“~ aÑ(Ñ(÷ #Ñ"ð)ú÷ #Ð"ús0   ˜A#C*Â*C*Â/B1Â1*C'ÃC*Ã&C'Ã'C*Ã*C3rÔ   c                 ó  — | j                   j                  5  | j                   j                  €C| j                   j                  j	                  t        j                  || «      «       	 d d d «       y 	 d d d «        || «       y # 1 sw Y   ŒxY wr   ©r«   r+   r0   r3   rì   r�   r‘   ©r?   rÔ   s     r!   rÖ   z+_SingleThreadedRendezvous.add_done_callback£  ói   € Ø�[‰[×"Ó"Ø�{‰{×ÑÐ'Ø—‘×%Ñ%×,Ñ,¬Y×->Ñ->¸rÀ4Ó-HÔIØ÷ #Ð"Ø'÷ #ñ
 	ˆ4�÷ #Ð"úó   —ABÂBc                 ó   — | j                   j                  5  | j                   j                  €'| j                  «        | j                   j                  €Œ'| j                   j                  cddd«       S # 1 sw Y   yxY w)úSee grpc.Call.initial_metadataN)r«   r+   r-   Ú_consume_next_eventrB   s    r!   r-   z*_SingleThreadedRendezvous.initial_metadata«  sX   € à�[‰[×"Ó"ð —+‘+×.Ñ.Ð6Ø×(Ñ(Ô*ð —+‘+×.Ñ.Ñ6à—;‘;×/Ñ/÷ #×"Ò"ús   —=A4ÁA4Á4A=c                 óô   — | j                   j                  5  | j                   j                  €!d}t        j                  j                  |«      ‚| j                   j                  cddd«       S # 1 sw Y   yxY w)úSee grpc.Call.trailing_metadataNz4Cannot get trailing metadata until RPC is completed.)r«   r+   r/   rI   r  r  ©r?   r  s     r!   r/   z+_SingleThreadedRendezvous.trailing_metadata´  sY   € à�[‰[×"Ó"Ø�{‰{×,Ñ,Ð4àJð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ø—;‘;×0Ñ0÷ #×"Ò"úó   —AA.Á.A7c                 óô   — | j                   j                  5  | j                   j                  €!d}t        j                  j                  |«      ‚| j                   j                  cddd«       S # 1 sw Y   yxY w)úSee grpc.Call.codeNz'Cannot get code until RPC is completed.)r«   r+   r0   rI   r  r  r&  s     r!   r0   z_SingleThreadedRendezvous.code¾  sT   € à�[‰[×"Ó"Ø�{‰{×ÑÐ'ØE�	Ü×'Ñ'×2Ñ2°9Ó=Ð=Ø—;‘;×#Ñ#÷	 #×"Ò"úr'  c                 ó  — | j                   j                  5  | j                   j                  €!d}t        j                  j                  |«      ‚t        j                  | j                   j                  «      cddd«       S # 1 sw Y   yxY w)úSee grpc.Call.detailsNz*Cannot get details until RPC is completed.)r«   r+   r%   rI   r  r  r   r·   r&  s     r!   r%   z!_SingleThreadedRendezvous.detailsÆ  s]   € à�[‰[×"Ó"Ø�{‰{×"Ñ"Ð*ØH�	Ü×'Ñ'×2Ñ2°9Ó=Ð=Ü—>‘> $§+¡+×"5Ñ"5Ó6÷	 #×"Ò"úó   —A BÂB
c                 óò   — | j                   j                  «       }| j                  j                  5  t	        || j                  | j
                  «      }|D ]	  } |«        Œ 	 d d d «       |S # 1 sw Y   |S xY wr   )rÝ   Ú
next_eventr«   r+   rj   rÞ   )r?   rT   r3   rt   s       r!   r#  z-_SingleThreadedRendezvous._consume_next_eventÎ  sh   € Ø—
‘
×%Ñ%Ó'ˆØ�[‰[×"Ó"Ü%Ø�t—{‘{ D×$?Ñ$?óˆIó &�ñ •
ñ &÷	 #ð ˆ÷ #ð ˆús   ±0A,Á,A6c                 ó  — 	 | j                  «        | j                  j                  5  | j                  j                  �2| j                  j                  }d | j                  _        |cd d d «       S t        j
                  j                  | j                  j                  vrR| j                  j                  t        j                  j                  u r
t        «       ‚| j                  j                  �| ‚d d d «       Œú# 1 sw Y   Œ
xY wr   )r#  r«   r+   r.   r   rH   r[   r,   r0   rI   rJ   r¥   r…   )r?   r.   s     r!   Ú_next_responsez(_SingleThreadedRendezvous._next_responseÚ  s¼   € ØØ×$Ñ$Ô&Ø—‘×&Ó&Ø—;‘;×'Ñ'Ð3Ø#Ÿ{™{×3Ñ3�HØ+/�D—K‘KÔ(Ø#÷	 'Ñ&ô
 ×'Ñ'×7Ñ7¸t¿{¹{¿¹ÑNØ—{‘{×'Ñ'¬4¯?©?×+=Ñ+=Ñ=Ü+›oÐ-Ø—{‘{×'Ñ'Ð3Ø"˜
÷ 'ð ç&Ð&ús   ¨?C<Á1BC<Ã<Dc                 óœ  — | j                   j                  5  | j                   j                  €±| j                   j                  j	                  t
        j                  j                  «       | j                  j                  t        j                  t        «      fd «      }|sz| j                   j                  j                  t
        j                  j                  «       n<| j                   j                  t        j                  j                  u r
t!        «       ‚| ‚d d d «       | j#                  «       S # 1 sw Y   | j#                  «       S xY wr   )r«   r+   r0   r,   r‹   r   rH   r[   rÝ   rŽ   ÚReceiveMessageOperationr�   rY   rI   rJ   r¥   r…   r0  )r?   r™   s     r!   rô   z_SingleThreadedRendezvous._nextè  sç   € Ø�[‰[×"Ó"Ø�{‰{×ÑÐ'ð —‘—‘×#Ñ#¤F×$8Ñ$8×$HÑ$HÔIØ ŸJ™J×.Ñ.Ü×3Ñ3´LÓAÐCÀTó�	ñ !Ø—K‘K—O‘O×*Ñ*¬6×+?Ñ+?×+OÑ+OÕPØ—‘×!Ñ!¤T§_¡_×%7Ñ%7Ñ7Ü#“oÐ%à�
÷- #ð. ×"Ñ"Ó$Ð$÷/ #ð. ×"Ñ"Ó$Ð$ús   —DD3Ä3Ec                 ó  — | j                   j                  5  | j                   j                  €!d}t        j                  j                  |«      ‚t        j                  | j                   j                  «      cd d d «       S # 1 sw Y   y xY w)Nz5Cannot get debug error string until RPC is completed.)r«   r+   r1   rI   r  r  r   r·   r&  s     r!   r1   z,_SingleThreadedRendezvous.debug_error_string  sb   € Ø�[‰[×"Ó"Ø�{‰{×-Ñ-Ð5àKð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ü—>‘> $§+¡+×"@Ñ"@ÓA÷ #×"Ò"úr,  r   )%rD   rE   rF   r×   r*   rG   rL   r	  r2   rÈ   rs   r   rN   r   rÌ   rn   r‡   rØ   rÙ   rÓ   r   rI   rÚ   rÖ   r   r-   r/   rJ   r0   rK   r%   r   Ú	BaseEventr#  r0  rô   r1   rO   r#   r!   r  r  8  sF  … ñð Óð,˜dó ,ð)˜4ó )ð,˜ó ,ð0�dó 0ñ˜h u™oð ¸ó ñ. ¨%¡ð ¸HÀYÑ<Oó ð0 *.ñ)Ø ‘ð)à	�%×%Ñ%Ñ	&ó)ð8 H¨d¯k©k¨]¸DÐ-@Ñ$Að Àdó ð0 (¨<Ñ"8ó 0ð1 8¨LÑ#9ó 1ð$�h˜tŸ™Ñ/ó $ð7˜ #™ó 7ð
 X¨f×.>Ñ.>Ñ%?ó 
ð# ó #ð%�só %ð4B H¨S¡Mô Br#   r  c                   ó`  — e Zd ZU dZeed<   dee   fd„Zdee   fd„Z	dee
j                     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efd„Zddee   defd„Zddee   dee   fd„Z	 ddee   deej6                     fd„Zdee
j<                  gdf   ddfd„Zdefd„Z y)Ú_MultiThreadedRendezvousa¤  An RPC iterator that depends on a channel spin thread.

    This iterator relies upon a per-channel thread running in the background,
    dequeueing events from the completion queue, and notifying threads waiting
    on the threading.Condition object in the _RPCState object.

    This extra thread allows _MultiThreadedRendezvous to fulfill the grpc.Future interface
    and to mediate a bidirection streaming RPC.
    r«   r   c                 óú   ‡ — ‰ j                   j                  5  ˆ fd„}t        j                  ‰ j                   j                  j                  |«       ‰ j                   j                  cddd«       S # 1 sw Y   yxY w)r"  c                  ó4   •— ‰ j                   j                  d uS r   r±   rB   s   €r!   r�   z8_MultiThreadedRendezvous.initial_metadata.<locals>._done  s   ø€ Ø—{‘{×3Ñ3¸4Ð?Ð?r#   N)r«   r+   r   r�   r-   ©r?   r�   s   ` r!   r-   z)_MultiThreadedRendezvous.initial_metadata  sO   ø€ à�[‰[×"Ó"ô@ô �L‰L˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ø—;‘;×/Ñ/÷ #×"Ò"úó   ˜AA1Á1A:c                 óú   ‡ — ‰ j                   j                  5  ˆ fd„}t        j                  ‰ j                   j                  j                  |«       ‰ j                   j                  cddd«       S # 1 sw Y   yxY w)r%  c                  ó4   •— ‰ j                   j                  d uS r   r³   rB   s   €r!   r�   z9_MultiThreadedRendezvous.trailing_metadata.<locals>._done)  s   ø€ Ø—{‘{×4Ñ4¸DÐ@Ð@r#   N)r«   r+   r   r�   r/   r9  s   ` r!   r/   z*_MultiThreadedRendezvous.trailing_metadata%  sO   ø€ à�[‰[×"Ó"ôAô �L‰L˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ø—;‘;×0Ñ0÷ #×"Ò"úr:  c                 óú   ‡ — ‰ j                   j                  5  ˆ fd„}t        j                  ‰ j                   j                  j                  |«       ‰ j                   j                  cddd«       S # 1 sw Y   yxY w)r)  c                  ó4   •— ‰ j                   j                  d uS r   rµ   rB   s   €r!   r�   z,_MultiThreadedRendezvous.code.<locals>._done3  s   ø€ Ø—{‘{×'Ñ'¨tÐ3Ð3r#   N)r«   r+   r   r�   r0   r9  s   ` r!   r0   z_MultiThreadedRendezvous.code/  sN   ø€ à�[‰[×"Ó"ô4ô �L‰L˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ø—;‘;×#Ñ#÷ #×"Ò"úr:  c                 ó   ‡ — ‰ j                   j                  5  ˆ fd„}t        j                  ‰ j                   j                  j                  |«       t        j                  ‰ j                   j
                  «      cddd«       S # 1 sw Y   yxY w)r+  c                  ó4   •— ‰ j                   j                  d uS r   )r«   r%   rB   s   €r!   r�   z/_MultiThreadedRendezvous.details.<locals>._done=  s   ø€ Ø—{‘{×*Ñ*°$Ð6Ð6r#   N)r«   r+   r   r�   r·   r%   r9  s   ` r!   r%   z _MultiThreadedRendezvous.details9  sW   ø€ à�[‰[×"Ó"ô7ô �L‰L˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ü—>‘> $§+¡+×"5Ñ"5Ó6÷ #×"Ò"úó   ˜A"BÂBc                 ó   ‡ — ‰ j                   j                  5  ˆ fd„}t        j                  ‰ j                   j                  j                  |«       t        j                  ‰ j                   j
                  «      cd d d «       S # 1 sw Y   y xY w)Nc                  ó4   •— ‰ j                   j                  d uS r   )r«   r1   rB   s   €r!   r�   z:_MultiThreadedRendezvous.debug_error_string.<locals>._doneF  s   ø€ Ø—{‘{×5Ñ5¸TÐAÐAr#   )r«   r+   r   r�   r·   r1   r9  s   ` r!   r1   z+_MultiThreadedRendezvous.debug_error_stringC  sX   ø€ Ø�[‰[×"Ó"ôBô �L‰L˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ü—>‘> $§+¡+×"@Ñ"@ÓA÷ #×"Ò"úrA  c                 ó†   — | j                   j                  5  | j                   j                  cd d d «       S # 1 sw Y   y xY wr   r  rB   s    r!   r2   z"_MultiThreadedRendezvous.cancelledL  r  r  c                 óŠ   — | j                   j                  5  | j                   j                  d u cd d d «       S # 1 sw Y   y xY wr   rã   rB   s    r!   rÈ   z _MultiThreadedRendezvous.runningP  r  rå   c                 óŠ   — | j                   j                  5  | j                   j                  d ucd d d «       S # 1 sw Y   y xY wr   rã   rB   s    r!   rs   z_MultiThreadedRendezvous.doneT  r  rå   c                 ó2   — | j                   j                  d uS r   rµ   rB   s    r!   r	  z%_MultiThreadedRendezvous._is_completeX  r
  r#   Nr   c                 óê  — | j                   j                  5  t        j                  | j                   j                  j                  | j                  |¬«      }|rt        j                  «       ‚| j                   j                  t
        j                  j                  u r| j                   j                  cddd«       S | j                   j                  rt        j                  «       ‚| ‚# 1 sw Y   yxY w)z‚Returns the result of the computation or raises its exception.

        See grpc.Future.result for the full API contract.
        r    N)r«   r+   r   r�   r	  rI   ÚFutureTimeoutErrorr0   rJ   r¥   r.   r2   r  ©r?   r   Ú	timed_outs      r!   rÌ   z_MultiThreadedRendezvous.result[  s­   € ð
 �[‰[×"Ó"ÜŸ™Ø—‘×%Ñ%×*Ñ*¨D×,=Ñ,=ÀwôˆIñ Ü×-Ñ-Ó/Ð/Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ñ5Ø—{‘{×+Ñ+÷ #Ñ"ð �{‰{×$Ò$Ü×/Ñ/Ó1Ð1ØˆJ÷ #Ð"ús   —BC)Â=,C)Ã)C2c                 óÒ  — | j                   j                  5  t        j                  | j                   j                  j                  | j                  |¬«      }|rt        j                  «       ‚| j                   j                  t
        j                  j                  u r
	 ddd«       y| j                   j                  rt        j                  «       ‚| cddd«       S # 1 sw Y   yxY w)zvReturn the exception raised by the computation.

        See grpc.Future.exception for the full API contract.
        r    N)r«   r+   r   r�   r	  rI   rI  r0   rJ   r¥   r2   r  rJ  s      r!   r‡   z"_MultiThreadedRendezvous.exceptionl  s¤   € ð
 �[‰[×"Ó"ÜŸ™Ø—‘×%Ñ%×*Ñ*¨D×,=Ñ,=ÀwôˆIñ Ü×-Ñ-Ó/Ð/Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ñ5Ø÷ #Ð"ð �{‰{×$Ò$Ü×/Ñ/Ó1Ð1Ø÷ #×"Ò"ús   —BCÂ(+CÃC&c                 ó4  — | j                   j                  5  t        j                  | j                   j                  j                  | j                  |¬«      }|rt        j                  «       ‚| j                   j                  t
        j                  j                  u r
	 ddd«       y| j                   j                  rt        j                  «       ‚	 | ‚# t
        j                  $ r# t        j                  «       d   cY cddd«       S w xY w# 1 sw Y   yxY w)z‡Access the traceback of the exception raised by the computation.

        See grpc.future.traceback for the full API contract.
        r    NrÏ   )r«   r+   r   r�   r	  rI   rI  r0   rJ   r¥   r2   r  rÐ   rÑ   rÒ   rJ  s      r!   rÓ   z"_MultiThreadedRendezvous.traceback}  sÔ   € ð �[‰[×"Ó"ÜŸ™Ø—‘×%Ñ%×*Ñ*¨D×,=Ñ,=ÀwôˆIñ Ü×-Ñ-Ó/Ð/Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ñ5Ø÷ #Ð"ð �{‰{×$Ò$Ü×/Ñ/Ó1Ð1ð)Ø�
øÜ—=‘=ò )Ü—|‘|“~ aÑ(Ñ(÷ #Ñ"ð)ú÷ #Ð"ús0   —BDÂ(*DÃCÃ*DÃ?DÄ
DÄDÄDrÔ   c                 ó  — | j                   j                  5  | j                   j                  €C| j                   j                  j	                  t        j                  || «      «       	 d d d «       y 	 d d d «        || «       y # 1 sw Y   ŒxY wr   r  r  s     r!   rÖ   z*_MultiThreadedRendezvous.add_done_callback“  r  r   c                 ó¨  ‡ — ‰ j                   j                  5  ‰ j                   j                  €Ñt        ‰ j                   ‰ j                  «      }‰ j                   j
                  j                  t        j                  j                  «       ‰ j                  j                  t        j                  t        «      f|«      }|sz‰ j                   j
                  j                  t        j                  j                  «       n<‰ j                   j                  t        j                   j"                  u r
t%        «       ‚‰ ‚ˆ fd„}t'        j(                  ‰ j                   j                  j(                  |«       ‰ j                   j*                  �2‰ j                   j*                  }d ‰ j                   _        |cd d d «       S t        j                  j                  ‰ j                   j
                  vrR‰ j                   j                  t        j                   j"                  u r
t%        «       ‚‰ j                   j                  �‰ ‚d d d «       y # 1 sw Y   y xY w)Nc                  óÌ   •— ‰ j                   j                  d uxsJ t        j                  j                  ‰ j                   j
                  vxr ‰ j                   j                  d uS r   )r«   r.   r   rH   r[   r,   r0   rB   s   €r!   Ú_response_readyz7_MultiThreadedRendezvous._next.<locals>._response_ready­  sR   ø€ Ø—{‘{×+Ñ+°4Ð7ò Ü×(Ñ(×8Ñ8ÀÇÁÇÁÐOò 5ØŸ™×(Ñ(°Ð4ðr#   )r«   r+   r0   rw   rÞ   r,   r‹   r   rH   r[   rÝ   rŽ   r2  r�   rY   rI   rJ   r¥   r…   r   r�   r.   )r?   r{   r™   rQ  r.   s   `    r!   rô   z_MultiThreadedRendezvous._next›  s”  ø€ Ø�[‰[×"Ó"Ø�{‰{×ÑÐ'Ü .Ø—K‘K ×!<Ñ!<ó!�ð —‘—‘×#Ñ#¤F×$8Ñ$8×$HÑ$HÔIØ ŸJ™J×.Ñ.Ü×3Ñ3´LÓAÐCØ!ó�	ñ !Ø—K‘K—O‘O×*Ñ*¬6×+?Ñ+?×+OÑ+OÕPØ—‘×!Ñ!¤T§_¡_×%7Ñ%7Ñ7Ü#“oÐ%à�
ôô �L‰L˜Ÿ™×.Ñ.×3Ñ3°_ÔEØ�{‰{×#Ñ#Ð/ØŸ;™;×/Ñ/�Ø'+�—‘Ô$Ø÷7 #Ñ"ô8 ×#Ñ#×3Ñ3¸4¿;¹;¿?¹?ÑJØ—;‘;×#Ñ#¤t§¡×'9Ñ'9Ñ9Ü'›/Ð)Ø—;‘;×#Ñ#Ð/Ø�J÷A #×"Ñ"ús   ˜FIÆ=BIÉIr   )!rD   rE   rF   r×   r*   rG   r   r   r-   r/   rI   rJ   r0   rK   r%   r1   rL   r2   rÈ   rs   r	  rN   r   rÌ   rn   r‡   rØ   rÙ   rÓ   r   rÚ   rÖ   rô   rO   r#   r!   r6  r6    s#  … ñð Óð0 (¨<Ñ"8ó 0ð1 8¨LÑ#9ó 1ð$�h˜tŸ™Ñ/ó $ð7˜ #™ó 7ðB H¨S¡Mó Bð)˜4ó )ð,˜ó ,ð0�dó 0ð,˜dó ,ñ˜h u™oð ¸ó ñ" ¨%¡ð ¸HÀYÑ<Oó ð$ *.ñ)Ø ‘ð)à	�%×%Ñ%Ñ	&ó)ð, H¨d¯k©k¨]¸DÐ-@Ñ$Að Àdó ð!�sô !r#   r6  r–   c                 óÀ   — t        |«      }t        j                  | |«      }|€7t        dddt        j
                  j                  d«      }t        |«      }|d |fS ||d fS )NrO   r~   )r"   r   rŠ   r*   rI   rJ   r^   rª   )r–   r   rz   rß   r—   rP   rp   s          r!   Ú_start_unary_requestrS  ¿  sr   € ô
 ˜Ó!€HÜ ×*Ñ*¨7Ð4FÓGÐØÐ!ÜØØØÜ�O‰O×$Ñ$Ø,ó
ˆô " %Ó(ˆØ˜˜uÐ$Ð$ØÐ'¨Ð-Ð-r#   Ú	with_callrß   c                 ó¸   — | j                   t        j                  j                  u r*|rt	        | |d |«      }| j
                  |fS | j
                  S t        | «      ‚r   )r0   rI   rJ   r¥   r6  r.   rª   )rP   ry   rT  rß   Ú
rendezvouss        r!   Ú_end_unary_response_blockingrW  Ó  sQ   € ð ‡z�z”T—_‘_×'Ñ'Ñ'ÙÜ1°%¸¸tÀXÓNˆJØ—>‘> :Ð-Ð-Ø�~‰~ÐÜ
˜EÓ
"Ð"r#   ÚmetadataÚinitial_metadata_flagsc                 óÄ   — t        j                  | |«      t        j                  t        «      t        j                  t        «      ft        j
                  t        «      ffS r   )r   ÚSendInitialMetadataOperationr2  r�   ÚReceiveStatusOnClientOperationÚReceiveInitialMetadataOperation©rX  rY  s     r!   Ú#_stream_unary_invocation_operationsr_  á  sX   € ô
 ×/Ñ/ØÐ0óô ×*Ñ*¬<Ó8Ü×1Ñ1´,Ó?ð	
ô 
×	/Ñ	/´Ó	=Ð?ð	ð 	r#   c                 ó:   — t        d„ t        | |«      D «       «      S )Nc              3   ó$   K  — | ]  }|d f–— Œ
 y ­wr   rO   )Ú.0r˜   s     r!   Ú	<genexpr>z?_stream_unary_invocation_operations_and_tags.<locals>.<genexpr>ó  s$   è ø€ ð ñ

ˆJð Øô	
ñ
ùó   ‚)Útupler_  r^  s     r!   Ú,_stream_unary_invocation_operations_and_tagsrf  ð  s+   € ô ñ ô
 >ØÐ,ô
óó ð r#   Úuser_deadlinec                 ód   — t        j                  «       }|€| €y |�| €|S | �|€| S t        || «      S r   )r   Úget_deadline_from_contextÚmin)rg  Úparent_deadlines     r!   Ú_determine_deadlinerl  þ  sM   € Ü×6Ñ6Ó8€OØÐ =Ð#8ØØÐ" }Ð'<ØÐØÐ  _Ð%<ØÐÜˆ Ó.Ð.r#   c                   óŠ  — e Zd ZU ej                  ed<   eed<   eed<   eed<   ee	   ed<   ee
   ed<   eed<   ee   ed<   g d	¢Zd
ej                  dedededee	   dee
   dee   fd„Zdedee   dee   dee   deej&                     deee   eeej.                        ee   eej0                     f   fd„Z	 	 	 	 	 ddedee   dee   deej4                     dee   deej&                     deeej6                  f   fd„Z	 	 	 	 	 ddedee   dee   deej4                     dee   deej&                     defd„Z	 	 	 	 	 ddedee   dee   deej4                     dee   deej&                     deeej<                  f   fd„Z	 	 	 	 	 ddedee   dee   deej4                     dee   deej&                     de fd„Z!y)Ú_UnaryUnaryMultiCallableÚ_channelÚ_managed_callÚ_methodÚ_targetÚ_request_serializerrÞ   Ú_contextÚ_registered_call_handle©ro  rt  rp  rq  rs  rÞ   rr  ÚchannelÚmanaged_callr7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t        j                  «       | _        || _	        y r   ©
ro  rp  rq  rr  rs  rÞ   r   Úbuild_census_contextrt  ru  ©r?   rw  rx  r7   r8   rz   rU   ru  s           r!   r@   z!_UnaryUnaryMultiCallable.__init__  óI   € ð  ˆŒØ)ˆÔØˆŒØˆŒØ#5ˆÔ Ø&;ˆÔ#Ü×3Ñ3Ó5ˆŒØ'>ˆÕ$r#   r–   r   rX  Úwait_for_readyÚcompressionr   c                 óø  — t        ||| j                  «      \  }}}t        «       j                  |«      }	t	        j
                  ||«      }
|€d d d |fS t        t        d d d d «      }t        j                  |
|	«      t        j                  |t        «      t        j                  t        «      t        j                  t        «      t        j                  t        «      t        j                  t        «      f}|||d fS r   )rS  rs  Ú_InitialMetadataFlagsÚwith_wait_for_readyr   Úaugment_metadatar*   Ú_UNARY_UNARY_INITIAL_DUEr   r[  rŒ   r�   r”   r]  r2  r\  )r?   r–   r   rX  r~  r  rß   r—   rV  rY  Úaugmented_metadatarP   r˜   s                r!   Ú_preparez!_UnaryUnaryMultiCallable._prepare1  sö   € ô 4HØ�W˜d×6Ñ6ó4
Ñ0ˆÐ$ jô "7Ó!8×!LÑ!LØó"
Ðô *×:Ñ:Ø�kó
Ðð Ð%Ø˜˜t ZÐ/Ð/ÜÔ2°D¸$ÀÀdÓKˆä×/Ñ/Ø"Ð$:óô ×'Ñ'Ð(:¼LÓIÜ×/Ñ/´Ó=Ü×2Ñ2´<Ó@Ü×*Ñ*¬<Ó8Ü×1Ñ1´,Ó?ð	
ˆ
ð �j (¨DÐ0Ð0r#   NÚcredentialsc                 ó<  — | j                  |||||«      \  }}}	}
|€|
‚t        j                  «       |_        t	        j
                  | j                  «      |_        t	        j
                  | j                  «      |_	        | j                  j                  t        j                  j                  | j                  d t        |	«      ||€d n|j                   |d ff| j"                  | j$                  «	      }|j'                  «       }t)        ||| j*                  «       ||fS r   )r†  r   rd   r5   r   r·   rq  r7   rr  r8   ro  Úsegregated_callr   ÚPropagationConstantsÚGRPC_PROPAGATE_DEFAULTSrl  Ú_credentialsrt  ru  r.  rj   rÞ   )r?   r–   r   rX  r‡  r~  r  rP   r˜   rß   rV  ry   rT   s                r!   Ú	_blockingz"_UnaryUnaryMultiCallable._blockingV  s  € ð 37·-±-Ø�W˜h¨¸ó3
Ñ/ˆˆz˜8 Zð ˆ=ØÐÜ#×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ�}‰}×,Ñ,Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÐ'‰D¨[×-EÑ-Eð Øððð �M‰MØ×(Ñ(ó
ˆð  —‘Ó!ˆÜ�e˜U D×$?Ñ$?Ô@Ø�dˆ{Ðr#   c                 óP   — | j                  ||||||«      \  }}t        ||dd «      S r:   ©r�  rW  ©	r?   r–   r   rX  r‡  r~  r  rP   ry   s	            r!   Ú__call__z!_UnaryUnaryMultiCallable.__call__{  s6   € ð —n‘nØ�W˜h¨°^À[ó
‰ˆˆtô ,¨E°4¸ÀÓEÐEr#   c                 óP   — | j                  ||||||«      \  }}t        ||dd «      S ©NTr�  r�  s	            r!   rT  z"_UnaryUnaryMultiCallable.with_call‰  s6   € ð —n‘nØ�W˜h¨°^À[ó
‰ˆˆtô ,¨E°4¸¸tÓDÐDr#   c                 ó  — | j                  |||||«      \  }}}	}
|€|
‚t        || j                  «      }t        j                  «       |_        t        j                  | j                  «      |_	        t        j                  | j                  «      |_        | j                  t        j                  j                  | j                  d |	||€d n|j                   |f|| j"                  | j$                  «
      }t'        ||| j                  |	«      S r   )r†  rw   rÞ   r   rd   r5   r   r·   rq  r7   rr  r8   rp  r   rŠ  r‹  rŒ  rt  ru  r6  )r?   r–   r   rX  r‡  r~  r  rP   r˜   rß   rV  r{   ry   s                r!   Úfuturez_UnaryUnaryMultiCallable.future—  só   € ð 37·-±-Ø�W˜h¨¸ó3
Ñ/ˆˆz˜8 Zð ˆ=ØÐÜ& u¨d×.IÑ.IÓJˆÜ#×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØØØØÐ'‰D¨[×-EÑ-EØˆMØØ�M‰MØ×(Ñ(ó
ˆô (Ø�4˜×4Ñ4°hó
ð 	
r#   ©NNNNN)"rD   rE   rF   r   ÚChannelrG   r   Úbytesr   r   r   r   rM   Ú	__slots__r@   rN   r   rL   rI   ÚCompressionr   r*   r	   Ú	OperationrÐ   r†  ÚCallCredentialsr  r�  r‘  ÚCallrT  r6  r•  rO   r#   r!   rn  rn  	  sY  … Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð "*¨#¡ó?ð&#1àð#1ð ˜%‘ð#1ð ˜<Ñ(ð	#1ð
 ! ™ð#1ð ˜d×.Ñ.Ñ/ð#1ð 
Ø�ÑØ�˜&×*Ñ*Ñ+Ñ,Ø�‰Ø�—‘Ñð	!ñ
ó#1ðP $(Ø+/Ø6:Ø)-Ø26ñ#àð#ð ˜%‘ð#ð ˜<Ñ(ð	#ð
 ˜d×2Ñ2Ñ3ð#ð ! ™ð#ð ˜d×.Ñ.Ñ/ð#ð 
ˆy˜&×/Ñ/Ð/Ñ	0ó#ðP $(Ø+/Ø6:Ø)-Ø26ñFàðFð ˜%‘ðFð ˜<Ñ(ð	Fð
 ˜d×2Ñ2Ñ3ðFð ! ™ðFð ˜d×.Ñ.Ñ/ðFð 
óFð" $(Ø+/Ø6:Ø)-Ø26ñEàðEð ˜%‘ðEð ˜<Ñ(ð	Eð
 ˜d×2Ñ2Ñ3ðEð ! ™ðEð ˜d×.Ñ.Ñ/ðEð 
ˆs�D—I‘Iˆ~Ñ	óEð" $(Ø+/Ø6:Ø)-Ø26ñ 
àð 
ð ˜%‘ð 
ð ˜<Ñ(ð	 
ð
 ˜d×2Ñ2Ñ3ð 
ð ! ™ð 
ð ˜d×.Ñ.Ñ/ð 
ð 
"ô 
r#   rn  c                   ó2  — e Zd ZU ej                  ed<   eed<   eed<   ee   ed<   ee	   ed<   e
ed<   ee   ed<   g d¢Zd	ej                  d
ededede	dee   fd„Z	 	 	 	 	 dde
dee   dee   deej"                     dee   deej&                     defd„Zy)Ú'_SingleThreadedUnaryStreamMultiCallablero  rq  rr  rs  rÞ   rt  ru  )ro  rt  rq  rs  rÞ   rr  rw  r7   r8   rz   rU   c                 óŠ   — || _         || _        || _        || _        || _        t        j                  «       | _        || _        y r   )	ro  rq  rr  rs  rÞ   r   r{  rt  ru  )r?   rw  r7   r8   rz   rU   ru  s          r!   r@   z0_SingleThreadedUnaryStreamMultiCallable.__init__Í  sA   € ð  ˆŒØˆŒØˆŒØ#5ˆÔ Ø&;ˆÔ#Ü×3Ñ3Ó5ˆŒØ'>ˆÕ$r#   Nr–   r   rX  r‡  r~  r  r   c                 ó4  — t        |«      }t        j                  || j                  «      }|€2t	        dddt
        j                  j                  d«      }	t        |	«      ‚t	        t        d d d d «      }	|€d n|j                  }
t        «       j                  |«      }t        j                  ||«      }t        j                   ||«      t        j"                  |t$        «      t        j&                  t$        «      ft        j(                  t$        «      ft        j*                  t$        «      ff}t-        d„ |D «       «      }t/        j0                  «       |	_        t        j4                  | j6                  «      |	_        t        j4                  | j:                  «      |	_        | j>                  jA                  t        jB                  jD                  | j6                  d tG        |«      ||
|| jH                  | jJ                  «	      }tM        |	|| jN                  |«      S )NrO   r~   c              3   ó$   K  — | ]  }|d f–— Œ
 y ­wr   rO   )rb  Úopss     r!   rc  zC_SingleThreadedUnaryStreamMultiCallable.__call__.<locals>.<genexpr>
  s   è ø€ Ð#F¹:°C S¨$¤K¹:ùrd  )(r"   r   rŠ   rs  r*   rI   rJ   r^   rª   Ú_UNARY_STREAM_INITIAL_DUErŒ  r�  r‚  r   rƒ  r   r[  rŒ   r�   r”   r\  r]  re  r   rd   r5   r·   rq  r7   rr  r8   ro  r‰  rŠ  r‹  rl  rt  ru  r  rÞ   )r?   r–   r   rX  r‡  r~  r  rß   r—   rP   Úcall_credentialsrY  r…  r˜   Úoperations_and_tagsry   s                   r!   r‘  z0_SingleThreadedUnaryStreamMultiCallable.__call__Þ  sÚ  € ô ˜WÓ%ˆÜ$×.Ñ.Ø�T×-Ñ-ó
Ðð Ð%ÜØØØÜ—‘×(Ñ(Ø0óˆEô $ EÓ*Ð*äÔ3°T¸4ÀÀtÓLˆàÐ'‰D¨[×-EÑ-Eð 	ô "7Ó!8×!LÑ!LØó"
Ðô *×:Ñ:Ø�kó
Ðô
 ×3Ñ3Ø&Ð(>óô ×+Ñ+Ð,>ÄÓMÜ×3Ñ3´LÓAðô ×2Ñ2´<Ó@ÐBÜ×3Ñ3´LÓAÐCð

ˆ
ô $Ñ#F¹:Ó#FÓFÐÜ#×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ�}‰}×,Ñ,Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØØØ�M‰MØ×(Ñ(ó

ˆô )Ø�4˜×4Ñ4°hó
ð 	
r#   r–  )rD   rE   rF   r   r—  rG   r˜  r   r   r   r   rM   r™  r@   rN   r   rI   rœ  rL   rš  r  r‘  rO   r#   r!   rŸ  rŸ  º  s  … Ø�n‰nÓØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ð?ð ð	?ð
 0ð?ð  5ð?ð "*¨#¡ó?ð( $(Ø+/Ø6:Ø)-Ø26ñ=
àð=
ð ˜%‘ð=
ð ˜<Ñ(ð	=
ð
 ˜d×2Ñ2Ñ3ð=
ð ! ™ð=
ð ˜d×.Ñ.Ñ/ð=
ð 
#ô=
r#   rŸ  c                   ó@  — e Zd ZU ej                  ed<   eed<   eed<   eed<   ee	   ed<   ee
   ed<   eed<   ee   ed<   g d	¢Zd
ej                  dededede	de
dee   fd„Z	 	 	 	 	 ddedee   dee   deej$                     dee   deej(                     defd„Zy)Ú_UnaryStreamMultiCallablero  rp  rq  rr  rs  rÞ   rt  ru  rv  rw  rx  r7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t        j                  «       | _        || _	        y r   rz  r|  s           r!   r@   z"_UnaryStreamMultiCallable.__init__3  r}  r#   Nr–   r   rX  r‡  r~  r  r   c                 ó   — t        ||| j                  «      \  }}}	t        «       j                  |«      }
|€|	‚t	        j
                  ||«      }t        t        d d d d «      }t        j                  ||
«      t        j                  |t        «      t        j                  t        «      t        j                  t        «      ft        j                  t        «      ff}t        j                   «       |_        t%        j&                  | j(                  «      |_        t%        j&                  | j,                  «      |_        | j1                  t        j2                  j4                  | j(                  d t7        |«      ||€d n|j8                  |t;        || j<                  «      | j>                  | j@                  «
      }tC        ||| j<                  |«      S r   )"rS  rs  r�  r‚  r   rƒ  r*   r¤  r   r[  rŒ   r�   r”   r\  r]  r   rd   r5   r   r·   rq  r7   rr  r8   rp  rŠ  r‹  rl  rŒ  rw   rÞ   rt  ru  r6  )r?   r–   r   rX  r‡  r~  r  rß   r—   rV  rY  r…  rP   r˜   ry   s                  r!   r‘  z"_UnaryStreamMultiCallable.__call__F  sš  € ô 4HØ�W˜d×6Ñ6ó4
Ñ0ˆÐ$ jô "7Ó!8×!LÑ!LØó"
Ðð Ð%ØÐÜ)×:Ñ:Ø�kó
Ðô Ô3°T¸4ÀÀtÓLˆô ×3Ñ3Ø&Ð(>óô ×+Ñ+Ð,>ÄÓMÜ×3Ñ3´LÓAÜ×5Ñ5´lÓCðô ×3Ñ3´LÓAÐCð

ˆ
ô  $×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÐ'‰D¨[×-EÑ-EØÜ˜5 $×"=Ñ"=Ó>Ø�M‰MØ×(Ñ(ó
ˆô (Ø�4˜×4Ñ4°hó
ð 	
r#   r–  )rD   rE   rF   r   r—  rG   r   r˜  r   r   r   r   rM   r™  r@   rN   r   rI   rœ  rL   rš  r6  r‘  rO   r#   r!   r¨  r¨    s  … Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð 0ð?ð  5ð?ð "*¨#¡ó?ð, $(Ø+/Ø6:Ø)-Ø26ñ1
àð1
ð ˜%‘ð1
ð ˜<Ñ(ð	1
ð
 ˜d×2Ñ2Ñ3ð1
ð ! ™ð1
ð ˜d×.Ñ.Ñ/ð1
ð 
"ô1
r#   r¨  c                   óÞ  — e Zd ZU ej                  ed<   eed<   eed<   eed<   ee	   ed<   ee
   ed<   eed<   ee   ed<   g d	¢Zd
ej                  dedededee	   dee
   dee   fd„Zdedee   dee   deej&                     dee   deej*                     deeej0                  f   fd„Z	 	 	 	 	 ddedee   dee   deej&                     dee   deej*                     defd„Z	 	 	 	 	 ddedee   dee   deej&                     dee   deej*                     deeej6                  f   fd„Z	 	 	 	 	 ddedee   dee   deej&                     dee   deej*                     defd„Zy)Ú_StreamUnaryMultiCallablero  rp  rq  rr  rs  rÞ   rt  ru  rv  rw  rx  r7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t        j                  «       | _        || _	        y r   rz  r|  s           r!   r@   z"_StreamUnaryMultiCallable.__init__�  r}  r#   rx   r   rX  r‡  r~  r  r   c                 ó€  — t        |«      }t        t        d d d d «      }t        «       j	                  |«      }	t        j                  ||«      }
t        j                  «       |_	        t        j                  | j                  «      |_        t        j                  | j                  «      |_        | j                   j#                  t$        j&                  j(                  | j                  d t+        |«      |
|€d n|j,                  t/        |
|	«      | j0                  | j2                  «	      }t5        |||| j6                  d «       	 |j9                  «       }|j:                  5  t=        ||| j>                  «       |j:                  jA                  «        |jB                  s	 d d d «       ||fS 	 d d d «       Œq# 1 sw Y   Œ
xY wr   )"r"   r*   Ú_STREAM_UNARY_INITIAL_DUEr�  r‚  r   rƒ  r   rd   r5   r   r·   rq  r7   rr  r8   ro  r‰  r   rŠ  r‹  rl  rŒ  rf  rt  ru  r¡   rs  r.  r+   rj   rÞ   rm   r,   )r?   rx   r   rX  r‡  r~  r  rß   rP   rY  r…  ry   rT   s                r!   r�  z#_StreamUnaryMultiCallable._blocking¢  sx  € ô ˜WÓ%ˆÜÔ3°T¸4ÀÀtÓLˆÜ!6Ó!8×!LÑ!LØó"
Ðô *×:Ñ:Ø�kó
Ðô  $×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ�}‰}×,Ñ,Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÐ'‰D¨[×-EÑ-EÜ8Ø"Ð$:óð �M‰MØ×(Ñ(ó
ˆô 	"Ø˜e T¨4×+CÑ+CÀTô	
ð Ø—O‘OÓ%ˆEØ—“Ü˜e U¨D×,GÑ,GÔHØ—‘×*Ñ*Ô,Ø—y’yØ÷	 !ð
 �dˆ{Ðð !÷ !ð ç �ús   Å?F4Æ4F=Nc                 óP   — | j                  ||||||«      \  }}t        ||dd «      S r:   r�  ©	r?   rx   r   rX  r‡  r~  r  rP   ry   s	            r!   r‘  z"_StreamUnaryMultiCallable.__call__Ï  s;   € ð —n‘nØØØØØØó
‰ˆˆtô ,¨E°4¸ÀÓEÐEr#   c                 óP   — | j                  ||||||«      \  }}t        ||dd «      S r“  r�  r±  s	            r!   rT  z#_StreamUnaryMultiCallable.with_callâ  s;   € ð —n‘nØØØØØØó
‰ˆˆtô ,¨E°4¸¸tÓDÐDr#   c                 ó¼  — t        |«      }t        t        d d d d «      }t        || j                  «      }	t        «       j                  |«      }
t        j                  ||«      }t        j                  «       |_        t        j                  | j                  «      |_        t        j                  | j                   «      |_        | j%                  t&        j(                  j*                  | j                  d |||€d n|j,                  t/        ||
«      |	| j0                  | j2                  «
      }t5        |||| j6                  |	«       t9        ||| j                  |«      S r   )r"   r*   r¯  rw   rÞ   r�  r‚  r   rƒ  r   rd   r5   r   r·   rq  r7   rr  r8   rp  r   rŠ  r‹  rŒ  r_  rt  ru  r¡   rs  r6  )r?   rx   r   rX  r‡  r~  r  rß   rP   r{   rY  r…  ry   s                r!   r•  z _StreamUnaryMultiCallable.futureõ  s<  € ô ˜WÓ%ˆÜÔ3°T¸4ÀÀtÓLˆÜ& u¨d×.IÑ.IÓJˆÜ!6Ó!8×!LÑ!LØó"
Ðô *×:Ñ:Ø�kó
Ðô  $×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØØØØÐ'‰D¨[×-EÑ-EÜ/ØÐ0óð Ø�M‰MØ×(Ñ(ó
ˆô 	"ØØØØ×$Ñ$Øô	
ô (Ø�4˜×4Ñ4°hó
ð 	
r#   r–  )rD   rE   rF   r   r—  rG   r   r˜  r   r   r   r   rM   r™  r@   r   rN   r   rI   rœ  rL   rš  r   r*   r  r�  r‘  r�  rT  r6  r•  rO   r#   r!   r¬  r¬  z  s¸  … Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð "*¨#¡ó?ð&+à"ð+ð ˜%‘ð+ð ˜<Ñ(ð	+ð
 ˜d×2Ñ2Ñ3ð+ð ! ™ð+ð ˜d×.Ñ.Ñ/ð+ð 
ˆy˜&×/Ñ/Ð/Ñ	0ó+ð` $(Ø+/Ø6:Ø)-Ø26ñFà"ðFð ˜%‘ðFð ˜<Ñ(ð	Fð
 ˜d×2Ñ2Ñ3ðFð ! ™ðFð ˜d×.Ñ.Ñ/ðFð 
óFð, $(Ø+/Ø6:Ø)-Ø26ñEà"ðEð ˜%‘ðEð ˜<Ñ(ð	Eð
 ˜d×2Ñ2Ñ3ðEð ! ™ðEð ˜d×.Ñ.Ñ/ðEð 
ˆs�D—I‘Iˆ~Ñ	óEð, $(Ø+/Ø6:Ø)-Ø26ñ,
à"ð,
ð ˜%‘ð,
ð ˜<Ñ(ð	,
ð
 ˜d×2Ñ2Ñ3ð,
ð ! ™ð,
ð ˜d×.Ñ.Ñ/ð,
ð 
"ô,
r#   r¬  c                   óL  — e Zd ZU ej                  ed<   eed<   eed<   eed<   ee	   ed<   ee
   ed<   eed<   ee   ed<   g d	¢Zd
ej                  dedededee	   dee
   dee   fd„Z	 	 	 	 	 ddedee   dee   deej&                     dee   deej*                     defd„Zy)Ú_StreamStreamMultiCallablero  rp  rq  rr  rs  rÞ   rt  ru  rv  rw  rx  r7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t        j                  «       | _        || _	        y r   rz  r|  s           r!   r@   z#_StreamStreamMultiCallable.__init__9  r}  r#   Nrx   r   rX  r‡  r~  r  r   c                 óL  — t        |«      }t        t        d d d d «      }t        «       j	                  |«      }	t        j                  ||«      }
t        j                  |
|	«      t        j                  t        «      ft        j                  t        «      ff}t        || j                  «      }t        j                  «       |_        t#        j$                  | j&                  «      |_        t#        j$                  | j*                  «      |_        | j/                  t        j0                  j2                  | j&                  d t5        |«      |
|€d n|j6                  ||| j8                  | j:                  «
      }t=        |||| j>                  |«       tA        ||| j                  |«      S r   )!r"   r*   Ú_STREAM_STREAM_INITIAL_DUEr�  r‚  r   rƒ  r   r[  r\  r�   r]  rw   rÞ   r   rd   r5   r   r·   rq  r7   rr  r8   rp  rŠ  r‹  rl  rŒ  rt  ru  r¡   rs  r6  )r?   rx   r   rX  r‡  r~  r  rß   rP   rY  r…  r˜   r{   ry   s                 r!   r‘  z#_StreamStreamMultiCallable.__call__L  sy  € ô ˜WÓ%ˆÜÔ4°d¸DÀ$ÈÓMˆÜ!6Ó!8×!LÑ!LØó"
Ðô *×:Ñ:Ø�kó
Ðô
 ×3Ñ3Ø&Ð(>óô ×5Ñ5´lÓCð	ô ×3Ñ3´LÓAÐCð
ˆ
ô ' u¨d×.IÑ.IÓJˆÜ#×0Ñ0Ó2ˆÔÜ—~‘~ d§l¡lÓ3ˆŒÜ—~‘~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÐ'‰D¨[×-EÑ-EØØØ�M‰MØ×(Ñ(ó
ˆô 	"ØØØØ×$Ñ$Øô	
ô (Ø�4˜×4Ñ4°hó
ð 	
r#   r–  )rD   rE   rF   r   r—  rG   r   r˜  r   r   r   r   rM   r™  r@   r   rN   r   rI   rœ  rL   rš  r6  r‘  rO   r#   r!   rµ  rµ  $  s$  … Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð "*¨#¡ó?ð, $(Ø+/Ø6:Ø)-Ø26ñ3
à"ð3
ð ˜%‘ð3
ð ˜<Ñ(ð	3
ð
 ˜d×2Ñ2Ñ3ð3
ð ! ™ð3
ð ˜d×.Ñ.Ñ/ð3
ð 
"ô3
r#   rµ  c                   óB   ‡ — e Zd ZdZefdefˆ fd„Zdee   defd„Z	ˆ xZ
S )r�  z'Stores immutable initial metadata flagsÚvaluec                 óf   •— |t         j                  j                  z  }t        t        | �  | |«      S r   )r   ÚInitialMetadataFlagsÚ	used_maskrá   r�  Ú__new__)Úclsrº  r»   s     €r!   r¾  z_InitialMetadataFlags.__new__…  s.   ø€ Ø”×,Ñ,×6Ñ6Ñ6ˆÜÔ*¨CÑ8¸¸eÓDÐDr#   r~  r   c                 ó0  — |�“|rG| j                  | t        j                  j                  z  t        j                  j                  z  «      S |sH| j                  | t        j                  j                   z  t        j                  j                  z  «      S | S r   )r»   r   r¼  r~  Úwait_for_ready_explicitly_set)r?   r~  s     r!   r‚  z)_InitialMetadataFlags.with_wait_for_ready‰  s’   € ØÐ%ÙØ—~‘~ØÜ×1Ñ1×@Ñ@ñAä×1Ñ1×OÑOñPóð ñ
 "Ø—~‘~ØœF×7Ñ7×FÑFÐFÑFÜ×1Ñ1×OÑOñPóð ð ˆr#   )rD   rE   rF   r×   r�   rM   r¾  r   rL   r‚  r  r  s   @r!   r�  r�  ‚  s.   ø„ Ù1à".ñ E˜Cõ Eð°(¸4±.ð ÀS÷ r#   r�  c                   ón   — e Zd ZU ej                  ed<   eed<   eed<   dej                  fd„Zdd„Z	d„ Z
y)	Ú_ChannelCallStaterw  Úmanaged_callsr;   c                 ó`   — t        j                  «       | _        || _        d| _        d| _         y )Nr   F)r;   ÚLockÚlockrw  rÄ  ©r?   rw  s     r!   r@   z_ChannelCallState.__init__ž  s&   € Ü—N‘NÓ$ˆŒ	ØˆŒØˆÔØˆ�r#   Nc                 ó   — d| _         y )Nr   )rÄ  rB   s    r!   rC   z&_ChannelCallState.reset_postfork_child¤  s
   € ØˆÕr#   c                 ó˜   — 	 | j                   j                  t        j                  j                  d«       y # t
        t        f$ r Y y w xY w)NzChannel deallocated!)rw  Úcloser   rJ   r2   Ú	TypeErrorÚAttributeErrorrB   s    r!   r   z_ChannelCallState.__del__§  sD   € ð	Ø�L‰L×ÑÜ×!Ñ!×+Ñ+Ð-Cõøô œ>Ð*ò 	Ùð	ús   ‚47 ·A	ÁA	r  )rD   rE   rF   r   r—  rG   rM   rL   r@   rC   r   rO   r#   r!   rÃ  rÃ  ™  s1   … Ø�^‰^ÓØÓØƒOð §¡ó óór#   rÃ  c                 ó~   ‡ — ˆ fd„}t        j                  |¬«      }|j                  d«       |j                  «        y )Nc                  ó|  •— 	 t        j                  ‰«       ‰j                  j                  «       } | j                  t         j
                  j                  k(  rŒX| j                  | «      }|rD‰j                  5  ‰xj                  dz  c_	        ‰j                  dk(  r
	 d d d «       y 	 d d d «       Œ¯# 1 sw Y   Œ
xY w)Né   r   )
r   r’   rw  Únext_call_eventÚcompletion_typeÚCompletionTypeÚqueue_timeoutÚtagrÇ  rÄ  )rT   Úcall_completedrP   s     €r!   Úchannel_spinz._run_channel_spin_thread.<locals>.channel_spin±  s™   ø€ ØÜ×,Ñ,¨UÔ3Ø—M‘M×1Ñ1Ó3ˆEØ×$Ñ$¬×(=Ñ(=×(KÑ(KÒKØØ"ŸY™Y uÓ-ˆNÙØ—Z“ZØ×'Ò'¨1Ñ,Õ'Ø×*Ñ*¨aÒ/Ø÷  �Zà/÷  ð ÷  �Zús   Á9&B2Â2B;r›   Trœ   )rP   r×  Úchannel_spin_threads   `  r!   Ú_run_channel_spin_threadrÙ  °  s5   ø€ ôô !×2Ñ2¸,ÔGÐØ×!Ñ! $Ô'Ø×ÑÕr#   c                 ó6  ‡ — dt         dt        dt        t           dt        t           dt        t
           dt        t        j                     dt        t        t        j                        dt        d	t        d
t        t            dt        j                  fˆ fd„}|S )NÚflagsr7   Úhostrß   rX  r‡  r˜   r{   Úcontextru  r   c
                 ó*  •‡— t        ˆfd„|D «       «      }
‰j                  5  ‰j                  j                  | ||||||
||	«	      }‰j                  dk(  rd‰_        t        ‰«       n‰xj                  dz  c_        |cddd«       S # 1 sw Y   yxY w)a°  Creates a cygrpc.IntegratedCall.

        Args:
          flags: An integer bitfield of call flags.
          method: The RPC method.
          host: A host string for the created call.
          deadline: A float to be the deadline of the created call or None if
            the call is to have an infinite deadline.
          metadata: The metadata for the call or None.
          credentials: A cygrpc.CallCredentials or None.
          operations: A sequence of sequences of cygrpc.Operations to be
            started on the call.
          event_handler: A behavior to call to handle the events resultant from
            the operations on the call.
          context: Context object for distributed tracing.
          _registered_call_handle: An int representing the call handle of the
            method, or None if the method is not registered.

        Returns:
          A cygrpc.IntegratedCall with which to conduct an RPC.
        c              3   ó&   •K  — | ]  }|‰f–— Œ
 y ­wr   rO   )rb  Ú	operationr{   s     €r!   rc  zC_channel_managed_call_management.<locals>.create.<locals>.<genexpr>æ  s%   øè ø€ ð $
ñ
 (�	ð Øôñ (ùs   ƒr   rÐ  N)re  rÇ  rw  Úintegrated_callrÄ  rÙ  )rÛ  r7   rÜ  rß   rX  r‡  r˜   r{   rÝ  ru  r¦  ry   rP   s          `    €r!   Úcreatez0_channel_managed_call_management.<locals>.createÅ  s–   ù€ ôB $ó $
ñ
 (ó$
ó 
Ðð �Z‹ZØ—=‘=×0Ñ0ØØØØØØØ#ØØ'ó
ˆDð ×"Ñ" aÒ'Ø&'�Ô#Ü(¨Õ/à×#Ò# qÑ(Õ#Ø÷# �ZŠZús   £AB	Â	B)rM   r˜  r   rK   rN   r   r   rœ  r	   r›  r   r   r  )rP   râ  s   ` r!   Ú _channel_managed_call_managementrã  Ã  s¬   ø€ ð9Üð9äð9ô ”s‰mð9ô œ5‘/ð	9ô
 œ<Ñ(ð9ô œf×4Ñ4Ñ5ð9ô œX¤f×&6Ñ&6Ñ7Ñ8ð9ô ð9ô ð9ô "*¬#¡ð9ô 
×	Ñ	õ9ðv €Mr#   c                   ó  — e Zd ZU ej                  ed<   ej                  ed<   eed<   ej                  ed<   eed<   e
eeeej                  gdf   eej                     f         ed<   eed<   dej                  fd	„Zdd
„Zy)Ú_ChannelConnectivityStaterÇ  rw  ÚpollingÚconnectivityÚtry_to_connectNÚcallbacks_and_connectivitiesÚ
deliveringc                 óŠ   — t        j                  «       | _        || _        d| _        d | _        d| _        g | _        d| _        y r:   )	r;   ÚRLockrÇ  rw  ræ  rç  rè  ré  rê  rÈ  s     r!   r@   z"_ChannelConnectivityState.__init__  s=   € Ü—O‘OÓ%ˆŒ	ØˆŒØˆŒØ ˆÔØ#ˆÔØ,.ˆÔ)Øˆ�r#   c                 óJ   — d| _         d | _        d| _        g | _        d| _        y r:   )ræ  rç  rè  ré  rê  rB   s    r!   rC   z._ChannelConnectivityState.reset_postfork_child  s(   € ØˆŒØ ˆÔØ#ˆÔØ,.ˆÔ)Øˆ�r#   r  )rD   rE   rF   r;   rì  rG   rI   r—  rL   ÚChannelConnectivityr   r	   r   r   r   r@   rC   rO   r#   r!   rå  rå    s�   … Ø
�/‰/ÓØ�\‰\ÓØƒMØ×*Ñ*Ó*ØÓà"&ØØØ˜$×2Ñ2Ð3°TÐ9Ñ:Ø˜×1Ñ1Ñ2ð4ññ	
ñ#ó ð Óð  §¡ó  ô r#   rå  c                 ó”   — g }| j                   D ]6  }|\  }}|| j                  usŒ|j                  |«       | j                  |d<   Œ8 |S )NrÐ  )ré  rç  rì   )rP   Úcallbacks_needing_updateÚcallback_and_connectivityrt   Úcallback_connectivitys        r!   Ú_deliveriesró  %  s\   € ð  "ÐØ%*×%GÔ%GÐ!Ø*CÑ'ˆÐ'Ø ¨×(:Ñ(:Ò:Ø$×+Ñ+¨HÔ5Ø+0×+=Ñ+=Ð% aÒ(ð	 &Hð
 $Ð#r#   Úinitial_connectivityÚinitial_callbacksc                 óB  — |}|}	 |D ]   }t        j                  | «       	  ||«       Œ" | j                  5  t        | «      }|r| j                  }nd| _	        	 d d d «       y 	 d d d «       Œg# t        $ r t        j	                  t
        «       Y Œ‰w xY w# 1 sw Y   Œ2xY wr:   )
r   r’   rn   ro   r‡   Ú0_CHANNEL_SUBSCRIPTION_CALLBACK_ERROR_LOG_MESSAGErÇ  ró  rç  rê  )rP   rô  rõ  rç  r3   rt   s         r!   Ú_deliverrø  1  s¢   € ð
 (€LØ!€IØ
Û!ˆHÜ×,Ñ,¨UÔ3ðÙ˜Õ&ð "ð �Z‹ZÜ# EÓ*ˆIÙØ$×1Ñ1‘à#(�Ô Ø÷ ˆZð ÷ ð øô
 ò Ü×!Ñ!ÜDöðú÷ ˆZús   ¡A-·#BÁ-"BÂBÂBr3   c                 ó¤   — t        j                  t        | | j                  |f¬«      }|j	                  d«       |j                  «        d| _        y ©N)r8   ÚargsT)r   r�   rø  rç  rž   rŸ   rê  )rP   r3   Údelivering_threads      r!   Ú_spawn_deliveryrý  J  sP   € ô ×0Ñ0ÜàØ×ÑØð
ôÐð ×Ñ Ô%Ø×ÑÔØ€EÕr#   rw  Úinitial_try_to_connectc                 óp  — |}|j                  |«      }| j                  5  t        j                  |   | _        t        d„ | j                  D «       «      }| j                  D ]  }| j                  |d<   Œ |rt        | |«       d d d «       	 |j                  |t        j                  «       dz   «      }t        j                  | «       | j                  5  | j                  s$| j                  sd| _        d | _        	 d d d «       y | j                  }d| _        d d d «       |j                  s|rc|j                  |«      }| j                  5  t        j                  |   | _        | j                  st!        | «      }|rt        | |«       d d d «       �Œ# 1 sw Y   �ŒxY w# 1 sw Y   Œ‰xY w# 1 sw Y   Œ$xY w)Nc              3   ó&   K  — | ]	  \  }}|–— Œ y ­wr   rO   )rb  rt   Ú_s      r!   rc  z%_poll_connectivity.<locals>.<genexpr>i  s   è ø€ ð 
Ù(J™˜ 1ŒHÑ(Jùs   ‚rÐ  gš™™™™™É?F)Úcheck_connectivity_staterÇ  r   Ú1CYGRPC_CONNECTIVITY_STATE_TO_CHANNEL_CONNECTIVITYrç  re  ré  rý  Úwatch_connectivity_stater   r   r’   rè  ræ  Úsuccessrê  ró  )rP   rw  rþ  rè  rç  r3   rñ  rT   s           r!   Ú_poll_connectivityr  \  s�  € ð
 ,€NØ×3Ñ3°NÓC€LØ	�‹ä×EÑEØñð 	Ôô
 ñ 
Ø(-×(JÒ(Jó
ó 
ˆ	ð */×)KÔ)KÐ%Ø+0×+=Ñ+=Ð% aÒ(ð *LáÜ˜E 9Ô-÷ 
ð Ø×0Ñ0Øœ$Ÿ)™)›+¨Ñ+ó
ˆô 	×(Ñ(¨Ô/Ø�Z‹Zà×6Ò6Ø×,Ò,à %�”Ø%)�Ô"Ø÷ ˆZð #×1Ñ1ˆNØ#(ˆEÔ ÷ ð �=Š=™NØ"×;Ñ;¸NÓKˆLØ—“ä×MÑMØ$ñð Ô"ð
 ×'Ò'Ü +¨EÓ 2�IÙ Ü'¨¨yÔ9÷ ñ# ÷ 
‰ú÷$ ˆZú÷ �ús*    A#FÃ(F ÄF Å>F,ÆFÆ F)Æ,F5rt   rè  c           	      ó°  — | j                   5  | j                  sƒ| j                  swt        j                  t
        | | j                  t        |«      f¬«      }|j                  d«       |j                  «        d| _        | j                  j                  |d g«       n¦| j                  s_| j                  �St        | |f«       | xj                  t        |«      z  c_        | j                  j                  || j                  g«       n;| xj                  t        |«      z  c_        | j                  j                  |d g«       d d d «       y # 1 sw Y   y xY wrú  )rÇ  ré  ræ  r   r�   r  rw  rL   rž   rŸ   rì   rê  rç  rý  rè  )rP   rt   rè  Úpolling_threads       r!   Ú
_subscriber	  �  s  € ð
 
�‹Ø×1Ò1¸%¿-º-Ü#×5Ñ5Ü)Ø˜UŸ]™]¬D°Ó,@ÐAôˆNð ×$Ñ$ TÔ*Ø× Ñ Ô"Ø ˆEŒMØ×.Ñ.×5Ñ5°xÀÐ6FÕGØ×!Ò! e×&8Ñ&8Ð&DÜ˜E H ;Ô/Ø× Ò ¤D¨Ó$8Ñ8Õ Ø×.Ñ.×5Ñ5Ø˜5×-Ñ-Ð.õð × Ò ¤D¨Ó$8Ñ8Õ Ø×.Ñ.×5Ñ5°xÀÐ6FÔG÷% 
�‰ús   �D6EÅEc                 óÊ   — | j                   5  t        | j                  «      D ]*  \  }\  }}||k(  sŒ| j                  j                  |«        n d d d «       y # 1 sw Y   y xY wr   )rÇ  Ú	enumerateré  Úpop)rP   rt   ÚindexÚsubscribed_callbackÚ_unused_connectivitys        r!   Ú_unsubscriber  §  s]   € ð 
�‹ÜBKØ×.Ñ.öC
Ñ>ˆEÑ>Ð'Ð)=ð Ð.Ó.Ø×2Ñ2×6Ñ6°uÔ=ÙðC
÷ 
�‰ús   �$A²AÁA"Úbase_optionsr  c                 óŒ   — t        j                  |«      }t        | «      |z   t        j                  j
                  t        ffz   S r   )r   Úcreate_channel_optionre  r   ÚChannelArgKeyÚprimary_user_agent_stringÚ_USER_AGENT)r  r  Úcompression_options      r!   Ú_augment_optionsr  ´  sM   € ô &×;Ñ;¸KÓHÐäˆlÓØ
ñ	ô ×$Ñ$×>Ñ>Üðð
ñ	
ð	r#   Úoptionsc                 óº   — g }g }| D ]O  }|d   t         j                  j                  j                  k(  r|j	                  |«       Œ?|j	                  |«       ŒQ ||fS )z;Separates core channel options from Python channel options.r   )rI   r  ÚChannelOptionsÚSingleThreadedUnaryStreamrì   )r  Úcore_optionsÚpython_optionsÚpairs       r!   Ú_separate_channel_optionsr   Å  se   € ð €LØ€NÛˆà�‰GÜ× Ñ ×/Ñ/×IÑIòJð ×!Ñ! $Õ'à×Ñ Õ%ð ð ˜<Ð'Ð'r#   c                   ó¬  — e Zd ZU dZeed<   ej                  ed<   eed<   e	ed<   e
ed<   ee
ef   ed<   de
d	ee   d
eej"                     deej$                     fd„Zde
defd„Zdee   ddfd„Z	 d%deej.                  gdf   dee   ddfd„Zdeej.                  gdf   ddfd„Z	 	 	 d&de
dee   dee   dee   dej8                  f
d„Z	 	 	 d&de
dee   dee   dee   dej<                  f
d„Z	 	 	 d&de
dee   dee   dee   dej@                  f
d„Z!	 	 	 d&de
dee   dee   dee   dejD                  f
d„Z#d'd„Z$d'd„Z%d'd „Z&d!„ Z'd"„ Z(d'd#„Z)d$„ Z*y)(r—  z7A cygrpc.Channel-backed implementation of grpc.Channel.Ú_single_threaded_unary_streamro  Ú_call_stateÚ_connectivity_staterr  Ú_registered_call_handlesr8   r  r‡  r  c                 ó´  — t        |«      \  }}t        | _        | j                  |«       t	        j
                  t        j                  |«      t        ||«      |«      | _	        || _
        t        | j                  «      | _        t        | j                  «      | _        t	        j                  | «       t        j                   rt	        j"                  «        yy)aP  Constructor.

        Args:
          target: The target to which to connect.
          options: Configuration options for the channel.
          credentials: A cygrpc.ChannelCredentials or None.
          compression: An optional value indicating the compression method to be
            used over the lifetime of the channel.
        N)r   Ú%_DEFAULT_SINGLE_THREADED_UNARY_STREAMr"  Ú_process_python_optionsr   r—  r   Úencoder  ro  rr  rÃ  r#  rå  r$  Úfork_register_channelÚg_gevent_activatedÚgevent_increment_channel_count)r?   r8   r  r‡  r  r  r  s          r!   r@   zChannel.__init__à  s«   € ô  (AÀÓ'IÑ$ˆ˜ä1ð 	Ô*ð 	×$Ñ$ ^Ô4ÜŸ™Ü�N‰N˜6Ó"Ü˜\¨;Ó7Øó
ˆŒð
 ˆŒÜ,¨T¯]©]Ó;ˆÔÜ#<¸T¿]¹]Ó#KˆÔ Ü×$Ñ$ TÔ*Ü×$Ò$Ü×1Ñ1Õ3ð %r#   r7   r   c                 ó^   — | j                   j                  t        j                  |«      «      S )ah  
        Get the registered call handle for a method.

        This is a semi-private method. It is intended for use only by gRPC generated code.

        This method is not thread-safe.

        Args:
          method: Required, the method name for the RPC.

        Returns:
          The registered call handle pointer in the form of a Python Long.
        )ro  Úget_registered_call_handler   r)  )r?   r7   s     r!   Ú_get_registered_call_handlez#Channel._get_registered_call_handle  s"   € ð �}‰}×7Ñ7¼¿¹ÀvÓ8NÓOÐOr#   r  Nc                 óv   — |D ]4  }|d   t         j                  j                  j                  k(  sŒ.d| _        Œ6 y)zASets channel attributes according to python-only channel options.r   TN)rI   r  r  r  r"  )r?   r  r  s      r!   r(  zChannel._process_python_options  s:   € ó #ˆDà�Q‘Ü×$Ñ$×3Ñ3×MÑMóNð 6:�Õ2ñ #r#   rt   rè  c                 ó2   — t        | j                  ||«       y r   )r	  r$  )r?   rt   rè  s      r!   Ú	subscribezChannel.subscribe  s   € ô
 	�4×+Ñ+¨X°~ÕFr#   c                 ó0   — t        | j                  |«       y r   )r  r$  rí   s     r!   ÚunsubscribezChannel.unsubscribe#  s   € ô 	�T×-Ñ-¨xÕ8r#   rz   rU   Ú_registered_methodc           	      óè   — d }|r| j                  |«      }t        | j                  t        | j                  «      t        j                  |«      t        j                  | j                  «      |||«      S r   )r/  rn  ro  rã  r#  r   r)  rr  ©r?   r7   rz   rU   r5  ru  s         r!   Úunary_unaryzChannel.unary_unary)  se   € ð #'ÐÙØ&*×&FÑ&FÀvÓ&NÐ#Ü'Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�N‰N˜6Ó"Ü�N‰N˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c           	      ó”  — d }|r| j                  |«      }| j                  rJt        | j                  t	        j
                  |«      t	        j
                  | j                  «      |||«      S t        | j                  t        | j                  «      t	        j
                  |«      t	        j
                  | j                  «      |||«      S r   )
r/  r"  rŸ  ro  r   r)  rr  r¨  rã  r#  r7  s         r!   Úunary_streamzChannel.unary_stream>  s«   € ð #'ÐÙØ&*×&FÑ&FÀvÓ&NÐ#ð
 ×-Ò-Ü:Ø—‘Ü—‘˜vÓ&Ü—‘˜tŸ|™|Ó,Ø"Ø%Ø'óð ô )Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�N‰N˜6Ó"Ü�N‰N˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c           	      óè   — d }|r| j                  |«      }t        | j                  t        | j                  «      t        j                  |«      t        j                  | j                  «      |||«      S r   )r/  r¬  ro  rã  r#  r   r)  rr  r7  s         r!   Ústream_unaryzChannel.stream_unary`  se   € ð #'ÐÙØ&*×&FÑ&FÀvÓ&NÐ#Ü(Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�N‰N˜6Ó"Ü�N‰N˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c           	      óè   — d }|r| j                  |«      }t        | j                  t        | j                  «      t        j                  |«      t        j                  | j                  «      |||«      S r   )r/  rµ  ro  rã  r#  r   r)  rr  r7  s         r!   Ústream_streamzChannel.stream_streamu  se   € ð #'ÐÙØ&*×&FÑ&FÀvÓ&NÐ#Ü)Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�N‰N˜6Ó"Ü�N‰N˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c                 ó‚   — | j                   }|r%|j                  5  |j                  d d …= d d d «       y y # 1 sw Y   y xY wr   )r$  rÇ  ré  r¯   s     r!   Ú_unsubscribe_allzChannel._unsubscribe_all‰  s7   € Ø×(Ñ(ˆÙØ—“Ø×6Ñ6²qÐ9÷ �ð ß�ús   ›5µ>c                 ó   — | j                  «        | j                  j                  t        j                  j
                  d«       t        j                  | «       t        j                  rt        j                  «        y y )NzChannel closed!)	r@  ro  rË  r   rJ   r2   Úfork_unregister_channelr+  Úgevent_decrement_channel_countrB   s    r!   Ú_closezChannel._close�  sW   € Ø×ÑÔØ�‰×ÑœF×-Ñ-×7Ñ7Ð9JÔKÜ×&Ñ& tÔ,Ü×$Ò$Ü×1Ñ1Õ3ð %r#   c                 óŒ   — | j                  «        | j                  j                  t        j                  j
                  d«       y )NzChannel closed due to fork)r@  ro  Úclose_on_forkr   rJ   r2   rB   s    r!   Ú_close_on_forkzChannel._close_on_fork–  s2   € Ø×ÑÔØ�‰×#Ñ#Ü×Ñ×'Ñ'Ð)Eõ	
r#   c                 ó   — | S r   rO   rB   s    r!   Ú	__enter__zChannel.__enter__œ  rñ   r#   c                 ó$   — | j                  «        yr:   ©rD  )r?   Úexc_typeÚexc_valÚexc_tbs       r!   Ú__exit__zChannel.__exit__Ÿ  s   € Ø�‰ŒØr#   c                 ó$   — | j                  «        y r   rK  rB   s    r!   rË  zChannel.close£  s   € Ø�‰�r#   c                 ó4   — 	 | j                  «        y #  Y y xY wr   )r@  rB   s    r!   r   zChannel.__del__¦  s   € ð	Ø×!Ñ!Õ#øð	ñ ús   ‚ “r   )NNFr  )+rD   rE   rF   r×   rL   rG   r   r—  rÃ  rå  rK   r   rM   r	   r   r   rI   ÚChannelCredentialsrš  r@   r/  r(  r   rî  r2  r4  r   r   ÚUnaryUnaryMultiCallabler8  ÚUnaryStreamMultiCallabler:  ÚStreamUnaryMultiCallabler<  ÚStreamStreamMultiCallabler>  r@  rD  rG  rI  rO  rË  r   rO   r#   r!   r—  r—  Ö  s–  … ÙAà#'Ó'Ø�n‰nÓØ"Ó"Ø2Ó2ØƒLØ" 3¨ 8™nÓ,ð4àð4ð Ð-Ñ.ð4ð ˜d×5Ñ5Ñ6ð	4ð
 ˜d×.Ñ.Ñ/ó4ðBP°#ð P¸#ó Pð 	:Ø&Ð':Ñ;ð	:à	ó	:ð *.ñGà˜D×4Ñ4Ð5°tÐ;Ñ<ðGð ! ™ðGð 
ó	Gð9Ø  $×":Ñ":Ð!;¸TÐ!AÑBð9à	ó9ð =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	%Ñ	%ó
ð0 =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	&Ñ	&ó
ðJ =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	&Ñ	&ó
ð0 =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	'Ñ	'ó
ó(:ó4ó
òòóór#   r—  )ur×   r­   r�   ÚloggingÚosrÑ   r;   r   rØ   Útypingr   r   r   r   r   r   r	   r
   r   r   rI   r   r   r   r   Úgrpc._cythonr   Úgrpc._typingr   r   r   r   r   r   r   r   Úgrpc.experimentalÚ	getLoggerrD   ro   r'   Ú__version__r  r�   Úgetenvr'  rH   Úsend_initial_metadatar€   r“   rZ   r[   r_   r„  r¤  r¯  r¸  r÷  r¦   r§   rN   r"   rJ   rK   r(   Úobjectr*   rS   r4  rj   rw   r  r  r¡   r¨   rÐ   r�  rÚ   rª   Ú
RpcContextrÜ   r  r6  r˜  rS  rL   rW  rM   r›  r_  rf  rl  rS  rn  rT  rŸ  r¨  rU  r¬  rV  rµ  r�  rÃ  rÙ  rã  rå  rî  ró  rø  rý  r—  r  r	  r  rš  r  r   rO   r#   r!   Ú<module>rc     sb  ðñ 5ã Û Û Û 	Û 
Û Û Û ÷÷ ÷ ó Ý Ý Ý !Ý Ý Ý ,Ý .Ý .Ý %Ý ,Ý %Ý ,Ý  Û à
ˆ'×
Ñ
˜HÓ
%€à×%Ñ%Ð&6×&BÑ&BÓC€à€ð
 €B‡I�IÐ1Ó2¸$Ð>ð &ð
 ×Ñ×.Ñ.Ø
×Ñ×%Ñ%Ø
×Ñ×/Ñ/Ø
×Ñ×1Ñ1Ø
×Ñ×(Ñ(Ø
×Ñ×1Ñ1ðÐ ð ×Ñ×.Ñ.Ø
×Ñ×%Ñ%Ø
×Ñ×/Ñ/Ø
×Ñ×1Ñ1Ø
×Ñ×1Ñ1ðÐ ð ×Ñ×.Ñ.Ø
×Ñ×1Ñ1Ø
×Ñ×(Ñ(Ø
×Ñ×1Ñ1ð	Ð ð ×Ñ×.Ñ.Ø
×Ñ×1Ñ1Ø
×Ñ×1Ñ1ðÐ ð 7ð 1ð
 Kð ð
ð ð>�x ‘ð >¨8°E©?ó >ðØ! $§/¡/Ñ2ðØ=EÀc¹]ðàóô:/�ô :/ðz%�)ð % 4§?¡?ð %¸Sð %ÀTó %ð)Ø×Ñð)àð)ð $Ð$9Ñ:ð)ð 
Ð
Ñó	)ðXØðØ-5Ð6KÑ-Lðàóð0[Øð[àð[ð �×%Ñ% v×'<Ñ'<Ð<Ñ
=ð[ð ,ð	[ð
 ˜GÑ$ð[ð 
ó[ð|
 #ð 
°)ð 
Àó 
ô"[˜Ÿ™ t§y¡y°$·+±+ô [ô|e3�$—-‘- §¡ô e3ôPQBØ�—‘˜DŸK™KôQBôhpØ�—‘˜DŸK™Kôpðf.Øð.à�e‰_ð.ð ,ð.ð ˆ8�E‰?˜H U™O¨X°d·m±mÑ-DÐDÑEó	.ð(#Øð#à
×
Ñ
ð#ð ð#ð �u‰oð	#ð
 ˆ<˜˜|¨T¯Y©YÐ6Ñ7Ð7Ñ8ó#ðØ�|Ñ$ðØ>Aðàˆh�v×'Ñ'Ñ(Ñ)óðØ�|Ñ$ðØ>Aðàˆe�H˜V×-Ñ-Ñ.°¸Ñ0AÐAÑBÑCóð/ x°¡ð /¸8ÀE¹?ó /ôn
˜t×;Ñ;ô n
ôba
¨d×.KÑ.Kô a
ôHY
 × =Ñ =ô Y
ôxg
 × =Ñ =ô g
ôT[
 ×!?Ñ!?ô [
ô|˜Cô ô.˜ô ð. Ð$5ð  ¸$ó  ð&=Ð,=ó =ô@  ô  ðD	$Ø$ð	$à	ˆ(�D×,Ñ,Ð-¨tÐ3Ñ
4Ñ5ó	$ðØ$ðà×2Ñ2ðð   ¨$×*BÑ*BÐ)CÀTÐ)IÑ JÑKðð 
ó	ð2Ø$ðà˜ $×":Ñ":Ð!;¸TÐ!AÑBÑCðð 
óð$.:Ø$ð.:à�\‰\ð.:ð !ð.:ð 
ó	.:ðbHØ$ðHà˜×0Ñ0Ð1°4Ð7Ñ8ðHð ðHð 
ó	Hð4
Ø$ð
à˜×0Ñ0Ð1°4Ð7Ñ8ð
ð 
ó
ðØÐ.Ñ/ðà˜$×*Ñ*Ñ+ðð Ð!Ñ"óð"(ØÐ)Ñ*ð(à
ˆ8Ð'Ñ(¨(Ð3FÑ*GÐGÑHó(ô"_ˆd�l‰lõ _r#   