Ë
    aQbj”Z  ã                  óš  — d dl mZ d dlZd dlmZ d dlZd dlZd dlmZmZm	Z	 ddl
mZmZ ej                  dk  rd dlmZ erd d	lmZ d*d
„Zd+d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Zd*d„Z d*d„Z!d*d„Z"	 	 	 	 d,d„Z#d*d„Z$d*d„Z%d*d„Z&d*d„Z'd*d „Z(d*d!„Z)d*d"„Z*d*d#„Z+d*d$„Z,d*d%„Z-d*d&„Z.d*d'„Z/d*d(„Z0d*d)„Z1y)-é    )ÚannotationsN)ÚTYPE_CHECKING)ÚEndOfChannelÚas_safe_channelÚopen_memory_channelé   )Úassert_checkpointsÚwait_all_tasks_blocked©é   é   )ÚExceptionGroup)ÚAsyncGeneratorc               ƒ  óˆ  K  — t        j                  t        «      5  t        d«       d d d «       t        j                  t        d¬«      5  t        d«       d d d «       t        t
        t        z  d z     d«      \  } }t        | «       t        |«       | j                  d«       t        «       5  | j                  d«      ƒ d {  –—†  d d d «       t        j                  t        j                  «      5  | j                  d «       d d d «       t        «       5  |j                  «       ƒ d {  –—† dk(  sJ ‚	 d d d «       |j                  «       dk(  sJ ‚t        j                  t        j                  «      5  |j                  «        d d d «       | j                  d«       | j                  «       ƒ d {  –—†  t        j                  t        j                   «      5  | j                  d«      ƒ d {  –—†  d d d «       t        j                  t        j                   «      5  | j                  d«       d d d «       t        j                  t        j                   «      5  | j#                  «        d d d «       | j                  «       ƒ d {  –—†  |j                  «       dk(  sJ ‚t        j                  t$        «      5  |j                  «       ƒ d {  –—†  d d d «       |j                  «       ƒ d {  –—†  t        j                  t        j                   «      5  |j                  «       ƒ d {  –—†  d d d «       t        j                  t        j                   «      5  |j                  «        d d d «       |j                  «       ƒ d {  –—†  y # 1 sw Y   �ŒixY w# 1 sw Y   �ŒGxY w7 �Œå# 1 sw Y   �ŒåxY w# 1 sw Y   �ŒµxY w7 �Œš# 1 sw Y   �Œ”xY w# 1 sw Y   �ŒPxY w7 �Œ/7 �Œõ# 1 sw Y   �ŒõxY w# 1 sw Y   �ŒÅxY w# 1 sw Y   �Œ–xY w7 �Œ†7 �ŒB# 1 sw Y   �ŒBxY w7 �Œ27 Œø# 1 sw Y   Œ÷xY w# 1 sw Y   ŒÇxY w7 Œ¶­w)	Ng      ð?z^max_buffer_size must be >= 0$©Úmatchéÿÿÿÿr   é   Úlastztoo late)ÚpytestÚraisesÚ	TypeErrorr   Ú
ValueErrorÚintÚstrÚreprÚsend_nowaitr	   ÚsendÚtrioÚ
WouldBlockÚreceiveÚreceive_nowaitÚacloseÚClosedResourceErrorÚcloner   )ÚsÚrs     úK/var/www/html/venv/lib/python3.12/site-packages/trio/_tests/test_channel.pyÚtest_channelr)      s,  è ø€ Ü	�‰”yÓ	!ñ !Ü˜CÔ ÷!ä	�‰”zÐ)JÔ	Kñ  Ü˜BÔ÷ ô œs¤S™y¨4Ñ/Ñ0°Ó3�D€A€qÜˆ„GÜˆ„Gà‡M�M�!ÔÜ	Ó	ñ Ø�f‰f�Q‹i�ˆ÷ä	�‰”t—‘Ó	'ñ Ø	�‰�dÔ÷ô 
Ó	ñ &Ø—Y‘Y“[×  AÒ%Ð%Ñ%÷&à×ÑÓ Ò"Ð"Ð"Ü	�‰”t—‘Ó	'ñ Ø	×ÑÔ÷ð ‡M�M�&ÔØ
�(‰(‹*×ÐÜ	�‰”t×/Ñ/Ó	0ñ !Ø�f‰f�ZÓ × Ð ÷!ä	�‰”t×/Ñ/Ó	0ñ "Ø	�‰�jÔ!÷"ä	�‰”t×/Ñ/Ó	0ñ Ø	�‰Œ	÷à
�(‰(‹*×Ðà×ÑÓ Ò'Ð'Ð'Ü	�‰”|Ó	$ñ Ø�i‰i‹k×Ð÷à
�(‰(‹*×ÐÜ	�‰”t×/Ñ/Ó	0ñ Ø�i‰i‹k×Ð÷ä	�‰”t×/Ñ/Ó	0ñ Ø	×ÑÔ÷à
�(‰(‹*×Ñ÷O!ñ !ú÷ ñ  úð 	ù÷ñ ú÷ñ úð !ù÷&ñ &ú÷ñ úð ùà ù÷!ñ !ú÷"ñ "ú÷ñ úàùð 	ù÷ñ úàùàø÷ð ú÷ð úàús¯  ‚QœN¨#QÁNÁAQÂ/N,ÃN)ÃN,Ã	+QÃ4N9ÄQÄO	Ä,OÄ-	O	Ä7A QÅ7OÆ,QÆ4O#Æ5'QÇO)Ç1O&Ç2O)Ç6+QÈ!O6È3+QÉPÉ/QÊ
PÊ2QÊ=PËPËPËQË1P#Ë2'QÌP(Ì-P&Ì.P(Ì2+QÍP4Í.QÎ	Q Î
QÎNÎQÎN&Î!QÎ)N,Î,N6Î1QÎ9OÎ>QÏO	Ï	OÏQÏO Ï	QÏ&O)Ï)O3Ï.QÏ6P Ï;QÐPÐ	QÐPÐP Ð	QÐ&P(Ð(P1Ð-QÐ4P=Ð9Qc              ƒ  ó  K  — t        t           d«      \  }}t        j                  d«      5 }|j	                  «       ƒ d {  –—†  d d d «       j
                  sJ ‚|j                  d«      ƒ d {  –—†  y 7 Œ4# 1 sw Y   Œ3xY w7 Œ­w)Nr   é
   zTest for PR #553)r   r   r   Úmove_on_afterr!   Úcancelled_caughtr   )Úautojump_clockr&   r'   Útimeout_scopes       r(   Útest_553r0   ?   sz   è ø€ ÜœsÑ# AÓ&�D€A€qÜ	×	Ñ	˜BÓ	ð  =Ø�i‰i‹k×Ð÷à×)Ò)Ð)Ð)Ø
�&‰&Ð#Ó
$×$Ñ$ð 	ø÷ð úð %ús:   ‚+B­A8ÁA6ÁA8Á*BÁ0BÁ1BÁ6A8Á8BÁ=Bc               ƒ  ó  K  — dd„} t        t           d«      \  }}t        j                  «       4 ƒd {  –—† }|4 ƒd {  –—†  t	        d«      D ]#  }|j                  | |j                  «       |«       Œ% d d d «      ƒd {  –—†  |2 �cg c3 d {  –—† }|‘Œ7 Œb7 ŒY7 Œ# 1 ƒd {  –—†7  sw Y   Œ*xY w7 Œ"6 nc c}w }}|j                  «        |t        t	        d«      «      k(  sJ ‚d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc              “  óÞ   K  — | 4 ƒd {  –—†  t        d|z  d|dz   z  «      D ]  }| j                  |«      ƒ d {  –—†  Œ d d d «      ƒd {  –—†  y 7 ŒH7 Œ7 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   r   )Úranger   )Úsend_channelÚiÚjs      r(   Úproducerz1test_channel_multiple_producers.<locals>.producerH   sr   è ø€ à÷ 	+ñ 	+Ü˜1˜q™5 ! q¨1¡u¡+Ó.ò +�Ø"×'Ñ'¨Ó*×*Ñ*ð+÷	+÷ 	+ñ 	+øà*øð	+ø÷ 	+÷ 	+ñ 	+üsT   ‚A-‰AŠA-�-AºA»AÁA-ÁAÁA-ÁAÁA-ÁA*ÁA!ÁA*Á&A-r   r+   é   )r4   útrio.MemorySendChannel[int]r5   r   ÚreturnÚNone)	r   r   r   Úopen_nurseryr3   Ú
start_soonr%   ÚsortÚlist)r7   r4   Úreceive_channelÚnurseryr5   ÚvalueÚgots          r(   Útest_channel_multiple_producersrD   G   s  è ø€ ó+ô %8¼Ñ$<¸QÓ$?Ñ!€L�/Ü× Ñ Ó"÷ 
&ð 
& gð  ÷ 	Fñ 	FÜ˜2“Yò F�Ø×"Ñ" 8¨\×-?Ñ-?Ó-AÀ1ÕEðF÷	F÷ 	Fð )8×8Ô8˜uŠuð
&øð	Føð 	Fø÷ 	F÷ 	Fñ 	Fúð 9øÑ8ùÒ8ˆÐ8à�‰Œ
Ø”dœ5 ›9“oÒ%Ð%Ð%÷
&÷ 
&÷ 
&÷ 
&ó 
&üs»   ‚2D´BµD¸C8¿BÁ C8Á2BÁ5C8Â BÂC8Â	B6ÂB4ÂB2ÂB4ÂB6ÂDÂC8ÂC8ÂB/	Â#B&Â$B/	Â+C8Â2B4Â4B6Â51C8Ã&DÃ1C4Ã2DÃ8D
Ã>DÃ?D
ÄDc               ƒ  óÂ  ‡‡K  — t        «       Šg Šdˆˆfd„} t        j                  «       4 ƒd {  –—† }t        j                  t           d«      \  }}|4 ƒd {  –—†  t        d«      D ]  }|j                  | ||«       Œ t        «       ƒ d {  –—†  t        d«      D ]  }|j                  |«      ƒ d {  –—†  Œ d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  ‰t        t        d«      «      k(  sJ ‚t        ‰«      dk(  sJ ‚t        ‰«      t        t        d«      «      k(  sJ ‚y 7 Œø7 ŒÐ7 Œ�7 Œx7 Œh# 1 ƒd {  –—†7  sw Y   ŒxxY w7 Œo# 1 ƒd {  –—†7  sw Y   ŒxY w­w)Nc              “  óp   •K  — | 2 3 d {  –—† }‰j                  |«       ‰j                  |«       Œ,7 Œ'6 y ­w©N)ÚaddÚappend)r@   r5   rB   ÚreceivedÚsuccessful_receiverss      €€r(   Úconsumerz1test_channel_multiple_consumers.<locals>.consumer`   s8   øè ø€ Ø*÷ 	#ð 	#�%Ø ×$Ñ$ QÔ'Ø�O‰O˜EÕ"ð	#ø™?ùs   ƒ6†4Š2‹4Ž$6²4´6r   é   r+   )r@   útrio.MemoryReceiveChannel[int]r5   r   r:   r;   )
Úsetr   r<   r   r   r3   r=   r
   r   Úlen)rL   rA   r4   r@   r5   rJ   rK   s        @@r(   Útest_channel_multiple_consumersrQ   \   sM  ùè ø€ Ü›5ÐØ€Hö#ô
 × Ñ Ó"÷ +ð + gÜ(,×(@Ñ(@ÄÑ(EÀaÓ(HÑ%ˆ�oØ÷ 	+ñ 	+Ü˜1“Xò A�Ø×"Ñ" 8¨_¸aÕ@ðAä(Ó*×*Ð*Ü˜2“Yò +�Ø"×'Ñ'¨Ó*×*Ñ*ð+÷		+÷ 	+÷+÷ +ð  ¤3¤u¨Q£x£=Ò0Ð0Ð0Üˆx‹=˜BÒÐÐÜˆx‹=œC¤ b£	›NÒ*Ð*Ñ*ð+øð	+øð +øà*øð	+ø÷ 	+÷ 	+ñ 	+úð+ø÷ +÷ +ñ +üs±   „,E°D)±E´&E
ÁD+ÁE
Á1D3ÂD-Â&D3Â6D/
Â7D3Â=E
ÃD1Ã	E
ÃEÃEÃAEÄ+E
Ä-D3Ä/D3Ä1E
Ä3E	Ä9D<Ä:E	ÅE
ÅEÅ
EÅEÅEÅEc               ƒ  óØ  K  — 	 	 	 	 	 	 dd„} t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «       ƒ d {  –—†  d d d «       t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       dd„}t        t           d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  ||«       t        «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  «        d d d «       t        j                  t        j                  «      5  |j                  «       ƒ d {  –—†  d d d «       y 7 �Œ\7 �Œ,7 �Œ7 �Œ
# 1 ƒd {  –—†7  sw Y   �ŒxY w# 1 sw Y   �ŒëxY w7 �Œ¶# 1 sw Y   �Œ¶xY w# 1 sw Y   �Œ‘xY w7 �Œg# 1 sw Y   �ŒgxY w7 �ŒA7 �Œ7 �Œü7 �Œï# 1 ƒd {  –—†7  sw Y   �Œ xY w# 1 sw Y   �ŒÐxY w7 �Œ›# 1 sw Y   �Œ›xY w7 �Œm7 �ŒL7 �Œ77 �Œ*# 1 ƒd {  –—†7  sw Y   �Œ;xY w# 1 sw Y   �ŒxY w7 Œ×# 1 sw Y   y xY w­w)Nc              “  ó–   K  — t        j                  |«      5  | j                  d «      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrG   ©r   r   r   ©r&   Úexpects     r(   Ú
send_blockz%test_close_basics.<locals>.send_blockt   óB   è ø€ ô �]‰]˜6Ó"ñ 	Ø—&‘&˜“,×Ð÷	ð 	Øø÷	ð 	üó%   ‚A	˜=­;®=²	A	»=½AÁA	r   c              “  ó°   K  — t        j                  t        j                  «      5  | j	                  «       ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrG   ©r   r   r   r$   r!   ©r'   s    r(   Úreceive_blockz(test_close_basics.<locals>.receive_blockœ   óD   è ø€ Ü�]‰]œ4×3Ñ3Ó4ñ 	Ø—)‘)“+×Ð÷	ð 	Øø÷	ð 	üó+   ‚$A¦A
ºA»A
¿	AÁA
Á
AÁA©r&   ztrio.MemorySendChannel[None]rV   útype[BaseException]r:   r;   )r'   rN   r:   r;   )r   r   r<   r=   r$   r
   r#   r   r   r   r   r   r"   r!   ÚBrokenResourceErrorr   )rW   r&   r'   rA   r]   Ú_s2Úr2s          r(   Útest_close_basicsre   s   s�  è ø€ ðØ'ðà#ðð 
óô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø�h‰h‹j×Ð÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷ô 
�‰”|Ó	$ñ Ø	×ÑÔ÷ä	�‰”|Ó	$ñ Ø�i‰i‹k×Ð÷ô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø�h‰h‹j×Ð÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷óô "¤#Ñ& qÓ)�G€CˆÜ× Ñ Ó"÷ ð  gØ×Ñ˜=¨"Ô-Ü$Ó&×&Ð&Ø�i‰i‹k×Ð÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø
×ÑÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�j‰j‹l×Ð÷ð ðYùà&ùØùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ ú÷ñ úð 	ù÷ñ úð
ùà&ùØùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ úðùà&ùØùðù÷ ÷ ò ú÷ñ úð 	ø÷ð üs<  ‚4Q*¶N·Q*º/NÁ)NÁ*NÂNÂNÂQ*ÂNÂ'Q*Â9N4Ã+Q*Ã6OÄOÄOÄ!Q*Ä1OÅ!Q*Å#O!Å7OÅ8O!Å<1Q*Æ-O.Æ.Q*Æ1/O:Ç O1Ç!O:Ç8O4Ç9O:Ç=Q*ÈO7È	'Q*È0PÉ+Q*É-P ÊPÊP Ê9Q*Ë P-ËQ*Ë P9Ë$P0Ë%P9Ë<P3Ë=P9ÌQ*ÌP6Ì'Q*Ì4QÍ+Q*Í0QÎQÎQÎ	
Q*ÎNÎNÎQ*ÎN1Î$N'Î%N1Î,Q*Î4N>Î9Q*ÏOÏOÏ	Q*ÏOÏQ*ÏO!Ï!O+Ï&	Q*Ï1O:Ï4O:Ï7Q*Ï:PÐ PÐPÐQ*ÐPÐQ*ÐP Ð P*Ð%	Q*Ð0P9Ð3P9Ð6Q*Ð9QÐ?QÑ QÑQ*ÑQÑQ*ÑQÑQ'Ñ#Q*c               ƒ  óŽ  K  — 	 	 	 	 	 	 dd„} t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «       ƒ d {  –—†  d d d «       t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       dd„}t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  ||«       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  «        d d d «       t        j                  t        j                  «      5  |j                  «       ƒ d {  –—†  d d d «       y 7 �Œ@7 �Œ7 �Œó# 1 ƒd {  –—†7  sw Y   �ŒxY w# 1 sw Y   �ŒÔxY w7 �ŒŸ# 1 sw Y   �ŒŸxY w# 1 sw Y   �ŒzxY w7 �ŒP# 1 sw Y   �ŒPxY w7 �Œ*7 �Œú7 �ŒÝ# 1 ƒd {  –—†7  sw Y   �ŒîxY w# 1 sw Y   �Œ¾xY w7 �Œ‰# 1 sw Y   �Œ‰xY w7 �Œ_7 �Œ>7 �Œ!# 1 ƒd {  –—†7  sw Y   �Œ2xY w# 1 sw Y   �ŒxY w7 ŒÎ# 1 sw Y   y xY w­w)Nc              “  ó–   K  — t        j                  |«      5  | j                  d «      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrG   rT   rU   s     r(   rW   z#test_close_sync.<locals>.send_block®   rX   rY   r   c              “  ó°   K  — t        j                  t        j                  «      5  | j	                  «       ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrG   r[   r\   s    r(   r]   z&test_close_sync.<locals>.receive_blockÖ   r^   r_   r`   )r'   ztrio.MemoryReceiveChannel[None]r:   r;   )r   r   r<   r=   r$   r
   Úcloser   r   r   r   r   r"   r!   rb   )rW   r&   r'   rA   r]   s        r(   Útest_close_syncrj   ­   so  è ø€ ðØ'ðà#ðð 
óô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø	�‰Œ	÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷ô 
�‰”|Ó	$ñ Ø	×ÑÔ÷ä	�‰”|Ó	$ñ Ø�i‰i‹k×Ð÷ô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø	�‰Œ	÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷óô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜=¨!Ô,Ü$Ó&×&Ð&Ø	�‰Œ	÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	×ÑÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�i‰i‹k×Ð÷ð ðYùà&ùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ ú÷ñ úð 	ù÷ñ úð
ùà&ùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ úðùà&ùðù÷ ÷ ò ú÷ñ úð 	ø÷ð üs  ‚4Q¶M6·Qº/M?Á)M9Á*M?Á>QÂ	M<Â
'QÂ1NÃ+QÃ.N%ÄN"ÄN%Ä!QÄ)N2Ä:!QÅOÅ/N?Å0OÅ41QÆ%OÆ&QÆ)/OÇOÇOÇ-QÇ8OÇ9'QÈ O.È2+QÉO>É2O;É3O>É75QÊ,PÊ-QÊ0 PËPËPË%QË0PË1'QÌP*Ì)+QÍP9Í(P7Í)P9Í-
QÍ9M?Í<QÍ?NÎNÎNÎQÎNÎQÎ"N%Î%N/Î*QÎ2N<Î7QÎ?OÏOÏ	QÏOÏQÏO+ÏO!ÏO+Ï&QÏ.O8Ï3QÏ;O>Ï>PÐ	QÐPÐQÐP'ÐPÐP'Ð"QÐ*P4Ð/QÐ7P9Ð9QÐ>Qc               ƒ  óü  K  — t        d    d«      \  } }|j                  «       }|j                  «       }| j                  d «       |j                  «       ƒ d {  –—†  |5  	 d d d «       t	        j
                  t        j                  «      5  |j                  «        d d d «       t	        j
                  t        j                  «      5  |j                  «        d d d «       | j                  d «       |j                  «       ƒ d {  –—†  t	        j
                  t        j                  «      5  | j                  d «       d d d «       y 7 Œï# 1 sw Y   ŒêxY w# 1 sw Y   ŒºxY w# 1 sw Y   ŒŠxY w7 Œh# 1 sw Y   y xY w­w)Nr+   )	r   r%   r   r#   r   r   r   r$   rb   )r&   r'   rd   Úr3s       r(   Ú$test_receive_channel_clone_and_closerm   ç   s+  è ø€ Ü˜tÑ$ RÓ(�D€A€qà	
�‰‹€BØ	
�‰‹€Bà‡M�M�$ÔØ
�(‰(‹*×ÐØ	ñ Ø÷ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰Œ	÷ô 
�‰”t×/Ñ/Ó	0ñ Ø
�‰Œ
÷ð ‡M�M�$Ôà
�)‰)‹+×Ðô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ð ð! ø÷ð ú÷ð ú÷ð úð ø÷ð üs~   ‚AE<ÁEÁE<ÁE
Á!+E<ÂEÂ+E<ÃE"Ã,E<ÄE.Ä'E<Ä-E0Ä?
E<Å
EÅE<ÅEÅE<Å"E+Å'E<Å0E9Å5E<c               ƒ  óÜ  ‡‡K  — t        t           d«      \  Š} ‰j                  «       Šdˆfd„}dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |«       |j                  |«       t        «       ƒ d {  –—†  ‰j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—† dk(  sJ ‚d d d «      ƒd {  –—†  y 7 Œ~7 ŒL7 Œ67 Œ 7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   c               “  ó´   •K  — t        j                  t        j                  «      5  ‰ j	                  d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­w)NÚnope)r   r   r   r$   r   )Ús1s   €r(   Úsend_will_closez9test_close_multiple_send_handles.<locals>.send_will_close  sG   øè ø€ Ü�]‰]œ4×3Ñ3Ó4ñ 	"Ø—'‘'˜&“/×!Ð!÷	"ð 	"Ø!ø÷	"ð 	"üs,   ƒ$A§A¼A
½AÁ	AÁ
AÁAÁAc               “  óD   •K  — ‰ j                  d«      ƒ d {  –—†  y 7 Œ­w©NÚok)r   )Ús2s   €r(   Úsend_will_succeedz;test_close_multiple_send_handles.<locals>.send_will_succeed  s   øè ø€ Ø�g‰g�d‹m×Òús   ƒ ˜™ ru   ©r:   r;   )	r   r   r%   r   r<   r=   r
   r#   r!   )r'   rr   rw   rA   rq   rv   s       @@r(   Ú test_close_multiple_send_handlesry     sÍ   ùè ø€ ô  ¤Ñ$ QÓ'�E€BˆØ	�‰‹€Bõ"õô × Ñ Ó"÷ )ð ) gØ×Ñ˜?Ô+Ø×ÑÐ,Ô-Ü$Ó&×&Ð&Ø�i‰i‹k×ÐØ—Y‘Y“[×  DÒ(Ð(Ð(÷)÷ )ñ )øð 	'øØøØ øð)ø÷ )÷ )ñ )üs~   „A
C,ÁCÁC,Á0CÂCÂCÂCÂCÂ2CÂ3	CÂ<C,ÃCÃC,ÃCÃCÃCÃC,ÃC)ÃC ÃC)Ã%C,c               ƒ  óÔ  ‡‡K  — t        t           d«      \  } Š‰j                  «       Šdˆfd„}dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |«       |j                  |«       t        «       ƒ d {  –—†  ‰j                  «       ƒ d {  –—†  | j                  d«      ƒ d {  –—†  d d d «      ƒd {  –—†  y 7 Œz7 ŒH7 Œ27 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   c               “  ó²   •K  — t        j                  t        j                  «      5  ‰ j	                  «       ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrG   r[   )Úr1s   €r(   Úreceive_will_closez?test_close_multiple_receive_handles.<locals>.receive_will_close  sE   øè ø€ Ü�]‰]œ4×3Ñ3Ó4ñ 	Ø—*‘*“,×Ð÷	ð 	Øø÷	ð 	üs,   ƒ$A§A»A	¼AÁ 	AÁ	AÁAÁAc               “  óL   •K  — ‰ j                  «       ƒ d {  –—† dk(  sJ ‚y 7 Œ
­wrt   ©r!   )rd   s   €r(   Úreceive_will_succeedzAtest_close_multiple_receive_handles.<locals>.receive_will_succeed!  s!   øè ø€ Ø—Z‘Z“\×! TÒ)Ð)Ñ)Ð!ús   ƒ$—"˜$ru   rx   )	r   r   r%   r   r<   r=   r
   r#   r   )r&   r}   r€   rA   r|   rd   s       @@r(   Ú#test_close_multiple_receive_handlesr�     sÈ   ùè ø€ ô  ¤Ñ$ QÓ'�E€A€rØ	�‰‹€Bõõ*ô × Ñ Ó"÷ ð  gØ×ÑÐ-Ô.Ø×ÑÐ/Ô0Ü$Ó&×&Ð&Ø�i‰i‹k×ÐØ�f‰f�T‹l×Ð÷÷ ñ øð 	'øØøØøðø÷ ÷ ñ üs~   „A
C(ÁC	ÁC(Á0CÂCÂCÂCÂCÂ3CÂ4CÂ8C(ÃCÃC(ÃCÃCÃCÃC(ÃC%ÃCÃC%Ã!C(c               ƒ  ó&  K  — t        t           t        d«      «      \  } }| 5  t        d«      D ]  }| j	                  |«       Œ 	 d d d «       |2 �cg c3 d {  –—† }|‘Œ# 1 sw Y   ŒxY w7 Œ6 nc c}w }}|t        t        d«      «      k(  sJ ‚y ­w)NÚinfr+   )r   r   Úfloatr3   r   r?   )r   r!   r5   rC   s       r(   Útest_inf_capacityr…   ,  s�   è ø€ Ü'¬Ñ,¬U°5«\Ó:�M€Dˆ'ð 
ñ  Ü�r“ò 	 ˆAØ×Ñ˜QÕñ	 ÷ ð $×
$Ô
$�qŠ1÷	 ð  úð %øÑ
$ùÒ
$€CÐ
$Ø”$”u˜R“y“/Ò!Ð!Ñ!ùsL   ‚!B£"A ÁBÁA0ÁA.ÁA,
ÁA.ÁA0Á A)Á%BÁ,A.Á.A0Á/"Bc               ƒ  ó†  K  — t        d    d«      \  } }| j                  «       |j                  «       k(  sJ ‚| j                  «       }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚| j                  d «       | j                  «       j                  dk(  sJ ‚| j                  «       }| j                  «       j                  dk(  sJ ‚| j                  «       ƒ d {  –—†  |j                  «       j                  dk(  sJ ‚|j                  «       }|j                  «       j
                  dk(  sJ ‚|j                  «       ƒ d {  –—†  |j                  «       j
                  dk(  sJ ‚t        j                  «       4 ƒd {  –—† }|j                  d «       | j                  «       j                  dk(  sJ ‚|j                  |j                  d «       |j                  |j                  d «       t        «       ƒ d {  –—†  | j                  «       j                  dk(  sJ ‚|j                   j#                  «        d d d «      ƒd {  –—†  | j                  «       j                  dk(  sJ ‚	 	 |j%                  «        Œ7 �Œœ7 �Œ97 Œÿ7 Œ‡7 Œ@# 1 ƒd {  –—†7  sw Y   ŒPxY w# t        j&                  $ r Y nw xY wt        j                  «       4 ƒd {  –—†7  }|j                  |j(                  «       t        «       ƒ d {  –—†7   | j                  «       j                  dk(  sJ ‚|j                   j#                  «        d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY w| j                  «       j                  dk(  sJ ‚y ­w)Nr   r   r   )r   Ú
statisticsÚcurrent_buffer_usedÚmax_buffer_sizeÚopen_send_channelsÚopen_receive_channelsÚtasks_waiting_sendÚtasks_waiting_receiver   r%   r#   r   r<   r=   r   r
   Úcancel_scopeÚcancelr"   r    r!   )r&   r'   Ústatsrv   rd   rA   s         r(   Útest_statisticsr‘   8  s4  è ø€ Ü˜tÑ$ QÓ'�D€A€qà�<‰<‹>˜QŸ\™\›^Ò+Ð+Ð+Ø�L‰L‹N€EØ×$Ñ$¨Ò)Ð)Ð)Ø× Ñ  AÒ%Ð%Ð%Ø×#Ñ# qÒ(Ð(Ð(Ø×&Ñ&¨!Ò+Ð+Ð+Ø×#Ñ# qÒ(Ð(Ð(Ø×&Ñ&¨!Ò+Ð+Ð+à‡M�M�$ÔØ�<‰<‹>×-Ñ-°Ò2Ð2Ð2à	
�‰‹€BØ�<‰<‹>×,Ñ,°Ò1Ð1Ð1Ø
�(‰(‹*×ÐØ�=‰=‹?×-Ñ-°Ò2Ð2Ð2à	
�‰‹€BØ�=‰=‹?×0Ñ0°AÒ5Ð5Ð5Ø
�)‰)‹+×ÐØ�=‰=‹?×0Ñ0°AÒ5Ð5Ð5ä× Ñ Ó"÷ &ð & gØ
�‰�tÔØ�|‰|‹~×1Ñ1°QÒ6Ð6Ð6Ø×Ñ˜2Ÿ7™7 DÔ)Ø×Ñ˜2Ÿ7™7 DÔ)Ü$Ó&×&Ð&Ø�|‰|‹~×0Ñ0°AÒ5Ð5Ð5Ø×Ñ×#Ñ#Ô%÷&÷ &ð �<‰<‹>×,Ñ,°Ò1Ð1Ð1ðØØ×ÑÔð ð) ùð
 ùð&øð
 	'øð&ø÷ &÷ &ñ &ûô �?‰?ò Ùðúô × Ñ Ó"÷ &ñ & gØ×Ñ˜1Ÿ9™9Ô%Ü$Ó&×&Ñ&Ø�|‰|‹~×3Ñ3°qÒ8Ð8Ð8Ø×Ñ×#Ñ#Ô%÷	&÷ &÷ &÷ &ó &úð
 �<‰<‹>×/Ñ/°1Ò4Ð4Ñ4ùsì   ‚DOÄJ;Ä A%OÆJ>Æ;OÇKÇOÇA6KÈ;KÈ<=KÉ9OÊKÊ#OÊ)K Ê;OÊ>OËOËKËOËKËKËKËOËK2Ë/OË1K2Ë2OÌLÌOÌ)NÌ;L>Ì<>NÍ:OÎNÎOÎNÎNÎNÎ'Oc               ƒ  óT  ‡K  — t        t        d z     d«      \  } }| j                  d«       |j                  «       dk(  sJ ‚| j                  d«       |j                  «       dk(  sJ ‚d Šdˆfd„}t	        j
                  «       4 ƒd {  –—† }|j                  ||«       t        «       ƒ d {  –—†  | j                  d«       t        j                  t        j                  «      5  |j                  «        d d d «       d d d «      ƒd {  –—†  ‰dk(  sJ ‚t        t        d z     d«      \  } }| j                  d«       t        j                  t        j                  «      5  | j                  d «       d d d «       t	        j
                  «       4 ƒd {  –—† }|j                  | j                  d«       t        «       ƒ d {  –—†  |j                  «       dk(  sJ ‚t        j                  t        j                  «      5  | j                  d«       d d d «       |j                  «       ƒ d {  –—† dk(  sJ ‚d d d «      ƒd {  –—†  y 7 �Œ¾7 �Œ�# 1 sw Y   �ŒXxY w7 �ŒP# 1 ƒd {  –—†7  sw Y   �ŒaxY w# 1 sw Y   �ŒxY w7 Œë7 Œ¿# 1 sw Y   ŒtxY w7 Œc7 ŒP# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   r   c              “  óB   •K  — | j                  «       ƒ d {  –—† Šy 7 Œ­wrG   r   )r'   Úresults    €r(   Ú
do_receivez)test_channel_fairness.<locals>.do_receivex  s   øè ø€ à—y‘y“{×"‰Ð"ús   ƒ—˜r   )r'   z%trio.MemoryReceiveChannel[int | None]r:   r;   )r   r   r   r"   r   r<   r=   r
   r   r   r    r   r!   )r&   r'   r•   rA   r”   s       @r(   Útest_channel_fairnessr–   j  s<  øè ø€ ô œs T™zÑ*¨1Ó-�D€A€qØ‡M�M�!ÔØ×ÑÓ Ò"Ð"Ð"Ø‡M�M�!ÔØ×ÑÓ Ò"Ð"Ð"ð
 €Fõ#ô × Ñ Ó"÷ ð  gØ×Ñ˜: qÔ)Ü$Ó&×&Ð&Ø	�‰�aÔÜ�]‰]œ4Ÿ?™?Ó+ñ 	Ø×ÑÔ÷	÷	÷ ð �QŠ;Ðˆ;ô
 œs T™zÑ*¨1Ó-�D€A€qØ‡M�M�!ÔÜ	�‰”t—‘Ó	'ñ Ø	�‰�dÔ÷ä× Ñ Ó"÷ (ð ( gØ×Ñ˜1Ÿ6™6 1Ô%Ü$Ó&×&Ð&Ø×ÑÓ! QÒ&Ð&Ð&Ü�]‰]œ4Ÿ?™?Ó+ñ 	Ø�M‰M˜!Ô÷	à—i‘i“k×! aÒ'Ð'Ð'÷(÷ (ð (ðùà&ù÷	ñ 	úð	ù÷ ÷ ò ú÷ñ úð(øà&ø÷	ð 	úà!øð(ø÷ (÷ (ñ (üs  ƒBJ(ÂIÂ	J(Â IÂ,I	Â-8IÃ%IÃ6IÃ>J(Ä	IÄ
AJ(Å!I2Å3 J(ÆI?ÆJ(Æ*JÇJÇ<JÇ>JÈJÈ+JÈ,	JÈ5J(É JÉJ(É	IÉI	ÉIÉJ(ÉI/É"I%É#I/É*J(É2I<É7	J(ÊJÊJ	ÊJÊJ(ÊJ%ÊJÊJ%Ê!J(c               ƒ  ó   K  — t        t           d«      \  } }t        j                  t        j
                  «      5  |j                  «        d d d «       t        j                  t        j
                  «      5  | j                  d«       d d d «       dd„}t	        j                  «       4 ƒd {  –—† }|j                  || d«       t        «       5  |j                  «       ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «      ƒd {  –—†  t        j                  t        j
                  «      5  |j                  «        d d d «       y # 1 sw Y   ŒøxY w# 1 sw Y   ŒÇxY w7 Œ­7 Œy# 1 sw Y   ŒrxY w7 Œi# 1 ƒd {  –—†7  sw Y   ŒyxY w# 1 sw Y   y xY w­w)Nr   r   c              “  ó€   K  — t        «       5  | j                  |«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrG   )r	   r   )r&   Úvs     r(   Údo_sendz test_unbuffered.<locals>.do_send›  s8   è ø€ ÜÓ!ñ 	Ø—&‘&˜“)�OˆO÷	ð 	Øø÷	ð 	üs    ‚>�2¢0£2§	>°2²;·>)r&   r9   r™   r   r:   r;   )r   r   r   r   r   r    r"   r   r<   r=   r	   r!   )r&   r'   rš   rA   s       r(   Útest_unbufferedr›   ”  sA  è ø€ ÜœsÑ# AÓ&�D€A€qÜ	�‰”t—‘Ó	'ñ Ø	×ÑÔ÷ä	�‰”t—‘Ó	'ñ Ø	�‰�aÔ÷óô × Ñ Ó"÷ *ð * gØ×Ñ˜7 A qÔ)ÜÓ!ñ 	*ØŸ™›×$¨Ò)Ð)Ñ)÷	*÷*÷ *ô 
�‰”t—‘Ó	'ñ Ø	×ÑÔ÷ð ÷ð ú÷ð úð*øð %ø÷	*ð 	*úð*ø÷ *÷ *ñ *ú÷ð üs¸   ‚9F»EÁ+FÁ7EÂ	$FÂ-EÂ.FÂ1E-ÃEÃ#EÃ$	EÃ.E-Ã6FÄE+Ä'FÄ)FÄ:	FÅEÅFÅEÅFÅEÅE(	Å$E-Å+FÅ-E?Å3E6Å4E?Å;FÆFÆFc               ƒ  óÂ   K  — t         dd„«       }  | «       4 ƒd {  –—† }|2 3 d {  –—† }|dk(  rŒJ ‚7 Œ7 Œ6 d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó   K  — d­–— y ­w©Nr   © rŸ   ó    r(   Úagenz*test_as_safe_channel_exhaust.<locals>.agen¨  s   è ø€ àŒùó   ‚	r   ©r:   úAsyncGenerator[int]©r   ©r¡   Ú	recv_chanÚxs      r(   Útest_as_safe_channel_exhaustr©   §  sl   è ø€ Üòó ðñ ‹v÷ ð ˜Ø ÷ 	ð 	�!Ø˜“6ˆM�6ðøð	ø�y÷÷ ÷ ÷ ó üs`   ‚A›3œAŸA
¢7¦5§7ªA
±A
³Aµ7·A
¸AÁAÁAÁ
AÁAÁAÁAc               ƒ  ó®  K  — t         dd„«       }  | «       4 ƒd {  –—† }|j                  «       ƒ d {  –—† dk(  sJ ‚|j                  «       ƒ d {  –—†  t        j                  t
        j                  «      5  |j                  «       ƒ d {  –—†  d d d «       d d d «      ƒd {  –—†  y 7 ŒŽ7 Œx7 Œ]7 Œ## 1 sw Y   Œ"xY w7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó    K  — d­–— d­–— y ­w)Nr   r   rŸ   rŸ   r    r(   r¡   z2test_as_safe_channel_broken_resource.<locals>.agen²  s   è ø€ à‹ØŒùó   ‚r   r£   )r   Ú	__anext__r#   r   r   r   r$   ©r¡   r§   s     r(   Ú$test_as_safe_channel_broken_resourcer¯   ±  sÉ   è ø€ Üòó ðñ ‹v÷ (ð (˜Ø×(Ñ(Ó*×*¨aÒ/Ð/Ð/ð ×ÑÓ × Ð ô �]‰]œ4×3Ñ3Ó4ñ 	(Ø×%Ñ%Ó'×'Ð'÷	(÷(÷ (ñ (øØ*øð 	!øð (ø÷	(ð 	(úð(ø÷ (÷ (ñ (üs�   ‚C›B*œCŸC ³B,´C ÁB.Á'C Á8B2ÂB0ÂB2ÂC ÂCÂ$B>Â%CÂ,C Â.C Â0B2Â2B;	Â7C Â>CÃ CÃC	ÃCÃCc               ƒ  ó
  K  — t        j                  «       5 } t        dd„«       } |«       4 ƒd {  –—†  | j                  «        d d d «      ƒd {  –—†  d d d «       y 7 Œ-7 Œ# 1 ƒd {  –—†7  sw Y   ŒxY w# 1 sw Y   y xY w­w)Nc                ó    K  — t        d«      ‚­w)Nz@cancel before consumption means generator should not be iterated©ÚAssertionErrorrŸ   r    r(   r¡   z,test_as_safe_channel_cancelled.<locals>.agenÇ  s   è ø€ ä ØRóð ùr¬   ©r:   úAsyncGenerator[None])r   ÚCancelScoper   r�   )Úcsr¡   s     r(   Útest_as_safe_channel_cancelledr¸   Ä  s   è ø€ Ü	×	Ñ	Ó	ð 
˜rä	ò	ó 
ð	ñ “6÷ 	ñ 	Ø�I‰IŒK÷	÷ 	÷
ð 
ð	øð 	ø÷ 	÷ 	ñ 	ú÷
ð 
üsa   ‚B—A7°A±A7´A"ÁA7ÁA ÁA7Á	BÁA7Á A7Á"A4	Á(A+Á)A4	Á0A7Á7B Á<Bc               ƒ  ó$  K  — t         dd„«       } t        j                  t        d¬«      5   | «       4 ƒd {  –—† }|2 3 d {  –—† }|dk(  rŒJ ‚7 Œ7 Œ6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)Nc                ó*   K  — d­–— t        d«      ‚­w)Nr   Úoae)r   rŸ   r    r(   r¡   z*test_as_safe_channel_no_race.<locals>.agenÕ  s   è ø€ à‹Ü˜ÓÐùó   ‚z^oae$r   r   r£   )r   r   r   r   r¦   s      r(   Útest_as_safe_channel_no_racer½   Ò  s‘   è ø€ ô ò ó ð ô 
�‰”z¨Ô	2ñ Ù“6÷ 	ð 	˜YØ$÷ ð �aØ˜A“v��vð	øðø˜9÷	÷ 	÷ 	÷ 	ó 	ú÷÷ ñ üs„   ‚)B«B·A¸B»A&¾AÁA
ÁAÁA&ÁA&ÁBÁAÁA&ÁBÁA"Á BÁ&A8	Á,A/Á-A8	Á4BÁ;	BÂBÂ	Bc              ƒ  óT  K  — t         dd„«       }t        j                  d«      5   |«       4 ƒd {  –—† }|2 3 d {  –—† }|dk(  sJ ‚t        j                  «       ƒ d {  –—†  Œ-7 Œ37 Œ*7 Œ	6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)Nc                ó*   K  — d­–— t        d«      ‚­w)Nr   z;buffer size 0 means we shouldn't be asked for another valuer²   rŸ   r    r(   r¡   z8test_as_safe_channel_buffer_size_too_small.<locals>.agenã  s   è ø€ à‹ÜØIó
ð 	
ùr¼   rM   r   r£   )r   r   r,   Úsleep_forever)r.   r¡   r§   r¨   s       r(   Ú*test_as_safe_channel_buffer_size_too_smallrÁ   à  sª   è ø€ ô ò
ó ð
ô 
×	Ñ	˜AÓ	ñ +Ù“6÷ 	+ð 	+˜YØ$÷ +ð +�aØ˜A’v��vÜ×(Ñ(Ó*×*Ñ*ð	+øð+øà*øð %÷	+÷ 	+÷ 	+÷ 	+ó 	+ú÷+÷ +ñ +üsŽ   ‚#B(¥B±A%²BµA>¸A+¼A'
½A+Á A>ÁA)
Á A>Á%BÁ'A+Á)A>Á+A>Á,BÁ7A:Á8BÁ>B	ÂBÂB	ÂBÂ	B(ÂB%Â!B(c               ƒ  ó&  K  — t         dd„«       }  | «       4 ƒd {  –—† }|j                  «       ƒ d {  –—† dk(  sJ ‚t        j                  j	                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  y 7 ŒX7 ŒB7 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó    K  — d­–— t         ‚­wrž   r²   rŸ   r    r(   r¡   z0test_as_safe_channel_no_interleave.<locals>.agenò  s   è ø€ à‹ÜÐùr¬   r   r£   )r   r­   r   ÚlowlevelÚ
checkpointr®   s     r(   Ú"test_as_safe_channel_no_interleaverÆ   ñ  sˆ   è ø€ Üòó ðñ ‹v÷ )ð )˜Ø×(Ñ(Ó*×*¨aÒ/Ð/Ð/Ü�m‰m×&Ñ&Ó(×(Ð(÷)÷ )ñ )øØ*øØ(øð)ø÷ )÷ )ñ )üsf   ‚B›A4œBŸA<³A6´*A<ÁA8ÁA<Á#BÁ.A:Á/BÁ6A<Á8A<Á:BÁ<BÂBÂBÂ
Bc               ƒ  ó
  K  — t         dd„«       } g }t        j                  t        j                  t        d¬«      t        j                  t
        d¬«      «      5 } | |«      4 ƒd {  –—† }|2 3 d {  –—† }|dk(  sJ ‚t        d«      ‚7 Œ!7 Œ6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       n# 1 sw Y   nxY wt        j                  dk\  rj                  j                  dgk(  sJ ‚|d	d
gk(  sJ ‚y ­w)Nc               óè   K  — 	 d­–— 	 | j                  d«       t        d«      ‚# t         $ r }| j                  t        |«      «       ‚ d }~ww xY w# | j                  d«       t        d«      ‚xY w­w)Nr   Úfinallyr¡   )ÚBaseExceptionrI   r   r   )ÚeventsÚes     r(   r¡   z2test_as_safe_channel_genexit_finally.<locals>.agený  sg   è ø€ ð	%ØŒGð
 �M‰M˜)Ô$Ü˜VÓ$Ð$øô ò 	Ø�M‰Mœ$˜q›'Ô"Øûð	ûð �M‰M˜)Ô$Ü˜VÓ$Ð$üs0   ‚A2„& ŠA2¦	A¯A
Á
AÁA ÁA/Á/A2z^agen$r   z
^iterator$r   Úiteratorr   z}Encountered exception during cleanup of generator object, as well as exception in the contextmanager body - unable to unwrap.zGeneratorExit()rÉ   )rË   ú	list[str]r:   r¤   )
r   r   ÚRaisesGroupÚ	RaisesExcr   r   ÚsysÚversion_inforB   Ú	__notes__)r¡   rË   Úgr§   r5   s        r(   Ú$test_as_safe_channel_genexit_finallyrÕ   ü  s  è ø€ Üò%ó ð%ð €FÜ	×	Ñ	Ü×Ñœ¨8Ô4Ü×Ñœ¨,Ô7ó
ð ,ð 
Ù˜“<÷ 	,ð 	, 9Ø$÷ ,ð ,�aØ˜A’v��vÜ 
Ó+Ð+ð	,øð,ø˜9÷	,÷ 	,÷ 	,÷ 	,ó 	,ú÷	,÷ ,ñ ,úô ×Ñ˜7Ò"Ø�w‰w× Ñ ðOð%
ò 
ð 	
ð 
ð
 Ð'¨Ð3Ò3Ð3Ñ3ùs…   ‚ADÁB>Á'B	Á(B>Á+B Á.BÁ2B
Á3BÁ6B Â	B>ÂBÂB ÂB>ÂBÂB>Â B2	Â&B)Â'B2	Â.B>Â5	DÂ>CÃA Dc            	   ƒ  óv  K  — t         dd„«       } d} | «       4 ƒd {  –—† }|2 3 d {  –—† } | «       4 ƒd {  –—† }d}|2 3 d {  –—† }||f||fk(  sJ ‚|dz  }Œ7 Œ=7 Œ47 Œ&7 Œ6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY w|dz  }Œm6 d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó6   K  — t        d«      D ]  } | ­–— Œ	 y ­w)Nr   )r3   )r5   s    r(   r¡   z.test_as_safe_channel_nested_loop.<locals>.agen  s   è ø€ ä�q“ò 	ˆAØŒGñ	ùs   ‚r   r   r£   r¥   )r¡   ÚiiÚ
recv_chan1r5   r§   Újjr6   s          r(   Ú test_as_safe_channel_nested_looprÛ     sà   è ø€ Üòó ðð 
€BÙ‹v÷ ð ˜Ø!÷ 	ð 	�!Ù“v÷ ð  Ø�Ø(÷ ð ˜!Ø˜q˜6 b¨" XÒ-Ð-Ð-Ø˜!‘G‘Bðøð	øðøðø˜y÷÷ ÷ ÷ ó úð
 �!‰G‰Bð "÷÷ ÷ ÷ ó üsÁ   ‚B9�AžB9¡B$¤B¨A©B¬B$¸A
¹B$¼A6ÁA#ÁA!ÁA#Á	A6ÁB9ÁBÁB$Á!A#Á#A6Á$B$Á/A2Á0B$Á6BÁ<A?Á=BÂB$ÂB9ÂB ÂB9Â$B6Â*B-Â+B6Â2B9c               ƒ  ó(  K  — t         dd„«       } t        j                  t        «      5   | «       4 ƒd {  –—† }|2 3 d {  –—† }Œ
7 Œ7 Œ6 d d d «      ƒd {  –—†7   t        d«      ‚# 1 ƒd {  –—†7  sw Y   t        d«      ‚xY w# 1 sw Y   y xY w­w)Nc                ó’   K  — d ­–— t        j                  «       5 } | j                  «        d ­–— d d d «       y # 1 sw Y   y xY w­wrG   )r   r¶   r�   )Úcscopes    r(   r¡   z;test_as_safe_channel_doesnt_leak_cancellation.<locals>.agen-  s7   è ø€ äÜ×ÑÓð 	 6Ø�M‰MŒOÜ÷	÷ 	ñ 	üs   ‚Aœ;²	A»AÁ Azshould be reachabler´   )r   r   r   r³   )r¡   r§   Ú_s      r(   Ú-test_as_safe_channel_doesnt_leak_cancellationrà   ,  s¡   è ø€ Üòó ðô 
�‰”~Ó	&ñ 4Ù“6÷ 	ð 	˜YØ$÷ ð �aØð	øðø˜9÷	÷ 	ð 	ô Ð2Ó3Ð3÷	÷ 	ð 	ô Ð2Ó3Ð3ú÷	4ð 4üsx   ‚'B©BµA¶B¹A'¼A
Á A
ÁA
ÁA'ÁBÁA
Á
A'ÁBÁAÁBÁ'B	Á-A0Á.B	Á5BÂBÂBc               ƒ  ó,  K  — t         dd„«       } t        j                  t        j                  t        d¬«      d¬«      5   | «       4 ƒd {  –—† }t        dt	        d«      g«      ‚7 Œ# 1 ƒd {  –—†7  sw Y   nxY w	 d d d «       y # 1 sw Y   y xY w­w)Nc                ó    K  — t        d«      ‚­w)Nznot entered)ÚNotImplementedErrorrŸ   r    r(   r¡   zBtest_as_safe_channel_dont_unwrap_user_exceptiongroup.<locals>.agen<  s   è ø€ ä! -Ó0Ð0ùr¬   Úbarr   Úfoor´   )r   r   rÏ   rÐ   r   r   )r¡   rß   s     r(   Ú4test_as_safe_channel_dont_unwrap_user_exceptiongroupræ   ;  sŒ   è ø€ Üòó ðô 
×	Ñ	œF×,Ñ,¬Z¸uÔEÈUÔ	Sñ =Ù“6÷ 	=ð 	=˜QÜ  ¬°EÓ):Ð(;Ó<Ð<ð	=ø÷ 	=÷ 	=ñ 	=úð 	=÷=÷ =ñ =üsM   ‚>BÁ BÁA'ÁBÁA)Á'BÁ)A;	Á/A2Á0A;	Á7BÁ?	BÂBÂBc               ƒ  óþ  ‡K  — t        j                  «       Št        dˆfd„«       } 	 	 	 	 	 	 	 	 dd„} | «       4 ƒd {  –—† }t        j                  «       4 ƒd {  –—† }|j	                  ||d«      ƒ d {  –—†  |j	                  ||d«      ƒ d {  –—†  ‰j                  «        d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 Œˆ7 Œm7 ŒT7 Œ;7 Œ# 1 ƒd {  –—†7  sw Y   Œ-xY w7 Œ$# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                óV   •K  — ‰ j                  «       ƒ d {  –—†  d­–— d­–— y 7 Œ­w)Nr   r   )Úwait)Úevents   €r(   r¡   z4test_as_safe_channel_multiple_receiver.<locals>.agenI  s%   øè ø€ à�j‰j‹l×ÐØ‹ØŒð 	ús   ƒ)—'˜)c              “  ój   K  — |j                  «        | j                  «       ƒ d {  –—† |k(  sJ ‚y 7 Œ
­wrG   )Ústartedr!   )r§   rB   Útask_statuss      r(   Úhandle_valuez<test_as_safe_channel_multiple_receiver.<locals>.handle_valueO  s1   è ø€ ð
 	×ÑÔØ×&Ñ&Ó(×(¨EÒ1Ð1Ñ1Ð(ús   ‚$3¦1§3r   r   r£   )r§   ztrio.abc.ReceiveChannel[int]rB   r   rí   ztrio.TaskStatusr:   r;   )r   ÚEventr   r<   ÚstartrO   )r¡   rî   r§   rA   rê   s       @r(   Ú&test_as_safe_channel_multiple_receiverrñ   F  s   øè ø€ Ü�J‰J‹L€Eäôó ðð
2Ø/ð2àð2ð %ð2ð 
ó	2ñ ‹v÷ ð ˜Ü×$Ñ$Ó&÷ 	ð 	¨'Ø—-‘- ¨i¸Ó;×;Ð;Ø—-‘- ¨i¸Ó;×;Ð;Ø�I‰IŒK÷	÷ 	÷÷ ñ øð	øØ;øØ;øð	ø÷ 	÷ 	ñ 	úðø÷ ÷ ñ üs±   ƒ;C=¾C¿C=ÁC(ÁC	ÁC(ÁCÁ6CÁ7CÂCÂCÂ&C(Â1CÂ2C(Â6C=ÃC&ÃC=Ã	C(ÃCÃCÃC(ÃC#	ÃCÃC#	ÃC(Ã&C=Ã(C:Ã.C1Ã/C:Ã6C=c            	   ƒ  óX  K  — t         dd„«       } g }t        j                  «       5 }t        j                  t        j
                  «      5   | |«      4 ƒd {  –—† }|2 3 d {  –—† }|j                  «        	 t        j                  j                  «       ƒ d {  –—†  ŒA7 ŒG7 Œ>7 Œ	# t        j
                  $ r |j                  d«       ‚ w xY w6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       n# 1 sw Y   nxY wd d d «       n# 1 sw Y   nxY w|ddgk(  sJ ‚y ­w)Nc               óh  K  — 	 d ­–— 	 t         j                  j                  «       ƒ d {  –—†  y 7 Œ# t         j                  $ r | j	                  d«       ‚ w xY w# 	 t         j                  j                  «       ƒ d {  –—†7   w # t         j                  $ r | j	                  d«       ‚ w xY wxY w­w)Núagen cancel)r   rÄ   rÅ   Ú	CancelledrI   )rË   s    r(   r¡   z/test_as_safe_channel_multi_cancel.<locals>.agen_  s‡   è ø€ ð		ÜðÜ—m‘m×.Ñ.Ó0×0Ò0ùÜ—>‘>ò Ø—‘˜mÔ,ØðûðÜ—m‘m×.Ñ.Ó0×0Ò0øÜ—>‘>ò Ø—‘˜mÔ,ØðÿsZ   ‚B2„A Š!3 «1¬3 °B2±3 ³&AÁB2ÁB/Á!BÁ?BÂ BÂB/Â&B,Â,B/Â/B2zbody cancelrô   )rË   rÎ   r:   rµ   )
r   r   r¶   r   r   rõ   r�   rÄ   rÅ   rI   )r¡   rË   r·   r§   rß   s        r(   Ú!test_as_safe_channel_multi_cancelrö   ^  s  è ø€ Üò
ó ð
ð €FÜ	×	Ñ	Ó	ð 	˜rÜ�]‰]œ4Ÿ>™>Ó*ñ 	Ù˜F“|÷ ð  yØ(÷ ð ˜!Ø—I‘I”KðÜ"Ÿm™m×6Ñ6Ó8×8Ñ8ð	øðøð 9ùÜŸ>™>ò ØŸ™ mÔ4Øðúð	  )÷÷ ÷ ÷ ó ú÷	÷ 	ñ 	ú÷	÷ 	ñ 	úð �m ]Ð3Ò3Ð3Ñ3ùs¾   ‚$D*¦$DÁ
C?ÁB
ÁC?ÁC!ÁCÁ"B!Á#CÁ&C!Á8!B%ÂB#ÂB%ÂC!ÂC?Â!CÂ#B%Â%&CÃC!ÃC?ÃCÃC?Ã!C3Ã'C*Ã(C3Ã/C?Ã6	DÃ?D	ÄDÄ	D*ÄDÄD*c               ƒ  ó¸   K  — t         dd„«       }  | «       4 ƒd {  –—† }|2 3 d {  –—† } d d d «      ƒd {  –—†  y 7 Œ!7 Œ6 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó  K  — 	 t        j                  «       4 ƒd {  –—†  d ­–— d d d «      ƒd {  –—†  y 7 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w# t        $ r0} t        j                  t
        «      j                  | «      sJ ‚‚ d } ~ ww xY w­wrG   )r   r<   rÊ   r   rÏ   ÚGeneratorExitÚmatches)rÌ   s    r(   r¡   z:test_as_safe_channel_genexit_exception_group.<locals>.agen{  sz   è ø€ ð	Ü×(Ñ(Ó*÷ ñ Ü÷÷ ñ øð ø÷ ÷ ñ ûäò 	Ü×%Ñ%¤mÓ4×<Ñ<¸QÔ?Ð?Ð?Øûð	üso   ‚B„A œ7�A  ;¦A ±9²A ¶B·A ¹A »AÁAÁAÁ	A ÁBÁA Á	B	Á+BÂB	Â	Br´   r¥   )r¡   rÔ   rß   s      r(   Ú,test_as_safe_channel_genexit_exception_grouprû   z  sk   è ø€ Üòó ðñ ‹v÷ ð ˜Ø÷ 	ð 	�!Ø÷÷ ñ øð	ø�qøðø÷ ÷ ñ üs^   ‚A›=œAŸA¢A¦?§AªA¬A·A¸A¿AÁAÁAÁAÁAÁAÁAc            	   ƒ  óœ  K  — t         dd„«       } t        j                  t        «      5   | «       4 ƒd {  –—† }t	        j
                  «       4 ƒd {  –—†  |j                  «       ƒ d {  –—†  t        ‚7 Œ?7 Œ$7 Œ# 1 ƒd {  –—†7  sw Y   nxY wd d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)Nc                ó   K  — d ­–— y ­wrG   rŸ   rŸ   r    r(   r¡   zCtest_as_safe_channel_does_not_suppress_nested_genexit.<locals>.agenŠ  s	   è ø€ åùr¢   r´   )r   r   rÏ   rù   r   r<   r!   )r¡   rÔ   s     r(   Ú5test_as_safe_channel_does_not_suppress_nested_genexitrþ   ‰  s±   è ø€ Üòó ðô 
×	Ñ	œMÓ	*ñ  Ù“6÷ 	 ð 	 ˜Q¤× 1Ñ 1Ó 3÷ 	 ñ 	 Ø—)‘)“+×ÐÜÐð	 øð 	 øØø÷	 ÷ 	 ñ 	 ú÷ 	 ÷ 	 ÷ 	 ÷ 	 ó 	 ú÷ ÷  ñ  üs�   ‚'C©C µA5¶C ¹B"ÁA7
ÁB"ÁA;Á*A9
Á+
A;Á5C Á7B"Á9A;Á;BÂBÂBÂ	B"ÂC ÂBÂC Â"B4	Â(B+Â)B4	Â0C Â7	CÃ C	ÃCc               ƒ  ó"  ‡K  — dd„Št         dˆfd„«       } t        j                  t        «      5   | «       4 ƒd {  –—† }|2 3 d {  –—† } d d d «      ƒd {  –—†  d d d «       y 7 Œ)7 Œ 6 Œ7 Œ# 1 ƒd {  –—†7  sw Y   Œ#xY w# 1 sw Y   y xY w­w)Nc               “  ó†   K  — 	 t        j                  «       ƒ d {  –—†  y 7 Œ# t         j                  $ r t        d ‚w xY w­wrG   )r   rÀ   rõ   r   rŸ   r    r(   Úwait_then_raisez<test_as_safe_channel_genexit_filter.<locals>.wait_then_raise•  s7   è ø€ ð	'Ü×$Ñ$Ó&×&Ò&ùÜ�~‰~ò 	'Ü $Ð&ð	'üs#   ‚A„# ›!œ#  A¡# £>¾Ac                óÆ   •K  — t        j                  «       4 ƒd {  –—† } | j                  ‰«       d ­–— d d d «      ƒd {  –—†  y 7 Œ+7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­wrG   )r   r<   r=   )rA   r  s    €r(   r¡   z1test_as_safe_channel_genexit_filter.<locals>.agen›  sU   øè ø€ ä×$Ñ$Ó&÷ 	ð 	¨'Ø×Ñ˜Ô/Ü÷	÷ 	ñ 	øð 	ø÷ 	÷ 	ñ 	üsC   ƒA!œA�A! A·A!ÁA
ÁA!Á
A!ÁAÁAÁAÁA!rx   r´   )r   r   rÏ   r   ©r¡   rÔ   rß   r  s      @r(   Ú#test_as_safe_channel_genexit_filterr  ”  s›   øè ø€ ó'ô ôó ðô
 
×	Ñ	œJÓ	'ñ Ù“6÷ 	ð 	˜QØ÷ ð �aØ÷	÷ 	÷ð ð	øðø˜1øð	ø÷ 	÷ 	ñ 	ú÷ð üs†   ƒ-B°B¼A&½BÁ A.ÁA*ÁA(
ÁA*ÁA.ÁBÁA,ÁBÁ	BÁ&BÁ(A*Á*A.Á,BÁ.B 	Á4A7Á5B 	Á<BÂBÂBc               ƒ  ó.  ‡K  — dd„Št         dˆfd„«       } t        j                  t        «      5   | t        «      4 ƒd {  –—† }|2 3 d {  –—† } d d d «      ƒd {  –—†  d d d «       t        j                  t
        t        «      5   | t
        «      4 ƒd {  –—† }|2 3 d {  –—† } d d d «      ƒd {  –—†  d d d «       y 7 Œ�7 Œx6 Œw7 Œk# 1 ƒd {  –—†7  sw Y   Œ{xY w# 1 sw Y   ŒxY w7 ŒR7 ŒI6 ŒH7 Œ<# 1 ƒd {  –—†7  sw Y   ŒLxY w# 1 sw Y   y xY w­w)Nc              “  ó~   K  — 	 t        j                  «       ƒ d {  –—†  y 7 Œ# t         j                  $ r | d ‚w xY w­wrG   )r   rÀ   rõ   )Úexs    r(   r  zItest_as_safe_channel_swallowing_extra_exceptions.<locals>.wait_then_raise¨  s7   è ø€ ð	Ü×$Ñ$Ó&×&Ò&ùÜ�~‰~ò 	Ø˜$Ðð	üs    ‚=„# ›!œ#  =¡# £:º=c               óô   •K  — t        j                  «       4 ƒd {  –—† }|j                  ‰| «       |j                  ‰t        «       d ­–— d d d «      ƒd {  –—†  y 7 ŒB7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­wrG   )r   r<   r=   rù   )r  rA   r  s     €r(   r¡   z>test_as_safe_channel_swallowing_extra_exceptions.<locals>.agen®  sg   øè ø€ ä×$Ñ$Ó&÷ 	ð 	¨'Ø×Ñ˜°Ô3Ø×Ñ˜´Ô>Ü÷	÷ 	ñ 	øð 	ø÷ 	÷ 	ñ 	üsD   ƒA8œA�A8 .A#ÁA8ÁA!ÁA8Á!A8Á#A5Á)A,Á*A5Á1A8)r  ra   r:   r;   )r  ra   r:   rµ   )r   r   rÏ   r³   rù   r   r  s      @r(   Ú0test_as_safe_channel_swallowing_extra_exceptionsr	  §  s  øè ø€ óô ôó ðô 
×	Ñ	œNÓ	+ñ ÙœÓ&÷ 	ð 	¨!Ø÷ ð �aØ÷	÷ 	÷ô
 
×	Ñ	œJ¬Ó	7ñ Ùœ
Ó#÷ 	ð 	 qØ÷ ð �aØ÷	÷ 	÷ð ð		øðø˜1øð	ø÷ 	÷ 	ñ 	ú÷ð úð	øðø˜1øð	ø÷ 	÷ 	ñ 	ú÷ð üs  ƒ-D°C ÁCÁC ÁCÁCÁC
ÁCÁCÁC ÁC	ÁC Á"&DÂD	ÂC,ÂD	ÂC4Â C0Â$C.
Â%C0Â(C4Â*D	Â5C2Â6D	Â:	DÃC ÃCÃCÃ	C ÃC	ÃCÃC	ÃC Ã C)Ã%DÃ,D	Ã.C0Ã0C4Ã2D	Ã4D	Ã:C=Ã;D	ÄD	Ä	DÄDc               ƒ  óä  ‡K  — t         dd„«       }  | «       4 ƒd {  –—† Št        j                  «       4 ƒd {  –—† }dˆfd„}|j                  |«       t	        j
                  t        j                  «      5  ‰2 3 d {  –—† }Œ
7 Œh7 ŒM7 Œ	6 	 d d d «       n# 1 sw Y   nxY wd d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó   K  — 	 d ­–— Œ­wrG   rŸ   rŸ   r    r(   r¡   z:test_as_safe_channel_close_between_iteration.<locals>.agenÁ  s   è ø€ àÜð ùs   ‚
c               “  ó’   •K  — t         j                  j                  «       ƒ d {  –—†  ‰ j                  «       ƒ d {  –—†  y 7 Œ7 Œ­wrG   )r   rÄ   rÅ   r#   ©Úchans   €r(   Úclose_channelzCtest_as_safe_channel_close_between_iteration.<locals>.close_channelÈ  s5   øè ø€ Ü—-‘-×*Ñ*Ó,×,Ð,Ø—+‘+“-×Ñð -øØús   ƒ"A¥A¦A½A¾AÁAr´   rx   )r   r   r<   r=   r   r   r$   )r¡   rA   r  rß   r  s       @r(   Ú,test_as_safe_channel_close_between_iterationr  À  sØ   øè ø€ Üòó ðñ ‹v÷ 	ð 	˜œt×0Ñ0Ó2÷ 	ð 	°gõ	 ð 	×Ñ˜=Ô)Ü�]‰]œ4×3Ñ3Ó4ñ 	Ø÷ ð �aØð	øð 	øðø™4÷	÷ 	ñ 	ú÷	÷ 	÷ 	÷ 	ó 	ú÷ 	÷ 	÷ 	÷ 	ó 	üs¿   ƒC0œB�C0 C¹BºC½;B4Á8BÁ;BÁ?B	Â BÂBÂC0ÂCÂ	BÂBÂ	B4ÂBÂB4Â"CÂ-B0Â.CÂ4C	Â:B=Â;C	ÃCÃ	C0ÃCÃC0ÃC-Ã!C$Ã"C-Ã)C0c               ƒ  óp  K  — t         dd„«       }  | «       4 ƒd {  –—† }|j                  «       ƒ d {  –—†  t        j                  t        j
                  «      5  |j                  «       ƒ d {  –—†  d d d «       d d d «      ƒd {  –—†  y 7 Œq7 Œ[7 Œ!# 1 sw Y   Œ xY w7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó    K  — t        d«      ‚­w)Nzshould be unreachabler²   rŸ   r    r(   r¡   z9test_as_safe_channel_close_before_iteration.<locals>.agenÓ  s   è ø€ äÐ4Ó5Ð5ùr¬   r´   )r   r#   r   r   r   r$   r!   )r¡   r  s     r(   Ú+test_as_safe_channel_close_before_iterationr  Ò  s�   è ø€ Üòó ðñ ‹v÷ !ð !˜Ø�k‰k‹m×ÐÜ�]‰]œ4×3Ñ3Ó4ñ 	!Ø—,‘,“.× Ð ÷	!÷!÷ !ñ !øØøà ø÷	!ð 	!úð!ø÷ !÷ !ñ !üs~   ‚B6›BœB6ŸB!³B´'B!ÁBÁ/BÁ0BÁ4B!Á<B6ÂBÂB6ÂB!ÂBÂB	ÂB!ÂB6Â!B3Â'B*Â(B3Â/B6c               ƒ  ó|  ‡K  — t         dˆfd„«       }  | «       4 ƒd {  –—† Št        j                  t        j                  «      5  ‰2 3 d {  –—† }Œ
7 Œ47 Œ6 	 d d d «       n# 1 sw Y   nxY wt        j
                  j                  «       ƒ d {  –—†7   d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                óX   •K  — d ­–— ‰ j                  «       ƒ d {  –—†  	 d ­–— Œ7 Œ­wrG   )r#   r  s   €r(   r¡   z9test_as_safe_channel_close_during_iteration.<locals>.agenß  s)   øè ø€ äØ�k‰k‹m×ÐØÜð ð 	ús   ƒ*œ(�*r´   )r   r   r   r   r$   Útestingr
   )r¡   rß   r  s     @r(   Ú+test_as_safe_channel_close_during_iterationr  Þ  s¤   øè ø€ Üôó ðñ ‹v÷ 4ð 4˜Ü�]‰]œ4×3Ñ3Ó4ñ 	Ø÷ ð �aØð4øðø™4÷	÷ 	ñ 	úô �l‰l×1Ñ1Ó3×3Ñ3÷4÷ 4÷ 4÷ 4ó 4üsŒ   ƒB<žAŸB<¢$B'ÁA"Á	AÁA
ÁAÁA"ÁB<ÁAÁA"Á	B'Á"A+	Á'(B'ÂBÂB'ÂB<Â B#Â!B<Â'B9Â-B0Â.B9Â5B<rx   )r.   ztrio.abc.Clockr:   r;   )r.   ztrio.testing.MockClockr:   r;   )2Ú
__future__r   rÑ   Útypingr   r   r   r   r   r   r  r	   r
   rÒ   Úexceptiongroupr   Úcollections.abcr   r)   r0   rD   rQ   re   rj   rm   ry   r�   r…   r‘   r–   r›   r©   r¯   r¸   r½   rÁ   rÆ   rÕ   rÛ   rà   ræ   rñ   rö   rû   rþ   r  r	  r  r  r  rŸ   r    r(   ú<module>r     sé   ðÝ "ã 
Ý  ã ã ß CÑ Cç @à×Ñ�gÒÝ-áÝ.ó(óV%ó&ó*+ó.7ót7ótó6)ó*ó*	"ó/5ód'(óTó&ó(ó&óð+Ø*ð+à	ó+ó")ó4ó>ó"4ó=óó04ó8ó óó&ó2ó$	!ô4r    