§
    ¯õiL&  ã                   ó~  — 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 ej        dk    rdZ	nej        dk    rdZ	ndZ	defd	„Z
dd
„Zdd„Zdd„Zej                             ej        dk    d¬¦  «        dd„¦   «         Zej                             ej        dk    d¬¦  «        dd„¦   «         Zdd„Zdd„Zdd„Zdd„ZdS )é    N)ÚFakeNetÚlinuxz<^\[Errno 107\] (Transport endpoint is|Socket) not connected$Údarwinz&^\[Errno 57\] Socket is not connected$z^\[Errno 10057\] Unknown error$Úreturnc                  óJ   — t          ¦   «         } |                      ¦   «          | S ©N)r   Úenable)Úfns    úd/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/_tests/test_fakenet.pyr
   r
      s   € Ý	‰Œ€BØ‡I‚I�K„K€KØ€Ió    c               ƒ   óÊ  K  — t          ¦   «          t          j                             t          j        j        ¬¦  «        } t          j                             t          j        j        ¬¦  «        }|                      d¦  «        ƒ d {V —† |                      ¦   «         \  }}|dk    sJ ‚|dk    sJ ‚t          j        t          d¬¦  «        5 }|                      d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |j	        j
        t          j        k    sJ ‚t          j        t          d¬¦  «        5 }|                     d|f¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |j	        j
        t          j        k    sJ ‚|                     d	|                      ¦   «         ¦  «        ƒ d {V —† |                      d
¦  «        ƒ d {V —†\  }}|d	k    sJ ‚||                     ¦   «         k    sJ ‚|                      d|                     ¦   «         ¦  «        ƒ d {V —† |                     d
¦  «        ƒ d {V —†\  }}|dk    sJ ‚||                      ¦   «         k    sJ ‚d S )N©Útype©ú	127.0.0.1r   r   r   z^\[\w+ \d+\] Invalid argument$©Úmatch)z	192.0.2.1r   z7^\[\w+ \d+\] (Address (already )?in use|Unknown error)$ó   xyzé
   ó   abc)r
   ÚtrioÚsocketÚ
SOCK_DGRAMÚbindÚgetsocknameÚpytestÚraisesÚOSErrorÚvalueÚerrnoÚEINVALÚ
EADDRINUSEÚsendtoÚrecvfrom)Ús1Ús2ÚipÚportÚexcÚdataÚaddrs          r   Útest_basic_udpr,      s  è è € Ý�D„D€DÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€BÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€Bà
�'Š'Ð"Ñ
#Ô
#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø�~Š~ÑÔ�H€BˆØ�ÒÐÐÐØ�1Š9ˆ9ˆ9ˆ9å	ŒÝØ/ð
ñ 
ô 
ð (ð 
Ø�gŠgÐ&Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð	(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð
 Œ9Œ?�eœlÒ*Ð*Ð*Ð*õ 
ŒÝØHð
ñ 
ô 
ð +ð 
Ø�gŠg�{ DÐ)Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð	+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð
 Œ9Œ?�eÔ.Ò.Ð.Ð.Ð.à
�)Š)�F˜BŸNšNÑ,Ô,Ñ
-Ô
-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø—{’{ 2‘”Ð&Ð&Ð&Ð&Ð&Ð&�J€Dˆ$Ø�6Š>ˆ>ˆ>ˆ>Ø�2—>’>Ñ#Ô#Ò#Ð#Ð#Ð#Ø
�)Š)�F˜BŸNšNÑ,Ô,Ñ
-Ô
-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø—{’{ 2‘”Ð&Ð&Ð&Ð&Ð&Ð&�J€Dˆ$Ø�6Š>ˆ>ˆ>ˆ>Ø�2—>’>Ñ#Ô#Ò#Ð#Ð#Ð#Ð#Ð#s$   ÃC4Ã4C8Ã;C8Ä6E Å E$Å'E$c               ƒ   óª  K  — t          ¦   «          t          j                             t          j        j        ¬¦  «        } t          j                             t          j        j        ¬¦  «        }|                      d¦  «        ƒ d {V —† |                     d|                      ¦   «         ¦  «        ƒ d {V —† |                      d¦  «        ƒ d {V —† d S )Nr   r   r   r   )r
   r   r   r   r   r#   r   r$   ©r%   r&   s     r   Útest_msg_truncr/   =   sÆ   è è € Ý�D„D€DÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€BÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€BØ
�'Š'Ð"Ñ
#Ô
#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø
�)Š)�F˜BŸNšNÑ,Ô,Ñ
-Ô
-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø
�+Š+�b‰/Œ/ÐÐÐÐÐÐÐÐÐr   c               ƒ   óˆ	  K  — t          ¦   «          t          j                             t          j        j        ¬¦  «        } t          j                             t          j        j        ¬¦  «        }t	          j        t          d¬¦  «        5  |                     d¦  «        ƒ d{V —† ddd¦  «         n# 1 swxY w Y   |                      d¦  «        ƒ d{V —† |  	                    ¦   «         \  }}|dk    sJ ‚|dk    sJ ‚| 
                    d	|  	                    ¦   «         ¦  «        ƒ d{V —† |                      d¦  «        ƒ d{V —†\  }}|d	k    sJ ‚|| 	                    ¦   «         k    sJ ‚|  
                    d
| 	                    ¦   «         ¦  «        ƒ d{V —† |                     d¦  «        ƒ d{V —†}|d
k    sJ ‚|  
                    d| 	                    ¦   «         ¦  «        ƒ d{V —†dk    sJ ‚t          d¦  «        }t	          j        t          d¬¦  «        5  |                     |d¬¦  «        ƒ d{V —†\  }}ddd¦  «         n# 1 swxY w Y   |                     |¦  «        ƒ d{V —†\  }}|dk    sJ ‚|dk    sJ ‚||  	                    ¦   «         k    sJ ‚|  
                    d| 	                    ¦   «         ¦  «        ƒ d{V —†dk    sJ ‚t          d¦  «        }|                     |¦  «        ƒ d{V —†}|dk    sJ ‚|dk    sJ ‚t          j        dk    r"t          j        j        dk    rt          j        }	nd}	t	          j        t(          t*          ¬¦  «        5 }
|                     d¦  «        ƒ d{V —† ddd¦  «         n# 1 swxY w Y   |
j        j        t0          j        k    sJ ‚t	          j        t          d¬¦  «        5  |                     d|	¦  «        ƒ d{V —† ddd¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  | 
                    d|	|  	                    ¦   «         ¦  «        ƒ d{V —† ddd¦  «         n# 1 swxY w Y   t	          j        t4          d¬¦  «        5  | 
                    d|	|  	                    ¦   «         d¦  «        ƒ d{V —† ddd¦  «         dS # 1 swxY w Y   dS )z!Test all recv methods for codecovr   zcode will most likely hangr   r   Nr   r   r   r   s   defs   ghié   z^partial recvfrom_into$é   )Únbytess
   ghi       ó   jkls
   jkl       r   Úcpythoné   ó   mnoz"^FakeNet send flags must be 0, notzwrong number of arguments$z	extra arg)r
   r   r   r   r   r   ÚNotImplementedErrorÚrecvr   r   r#   r$   Ú	bytearrayÚrecvfrom_intoÚ	recv_intoÚsysÚplatformÚimplementationÚnameÚMSG_MOREr   ÚENOTCONN_MSGÚsendr   r    ÚENOTCONNÚ	TypeError)r%   r&   r'   r(   r*   r+   Úbufr3   Úbuf2Úflagsr)   s              r   Útest_recv_methodsrI   F   s´  è è € å�D„D€DÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€BÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€Bõ 
ŒÕ*Ð2NÐ	OÑ	OÔ	Oð ð Ø�gŠg�b‰kŒkÐÐÐÐÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �'Š'Ð"Ñ
#Ô
#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø�~Š~ÑÔ�H€BˆØ�ÒÐÐÐØ�1Š9ˆ9ˆ9ˆ9ð �)Š)�F˜BŸNšNÑ,Ô,Ñ
-Ô
-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø—{’{ 2‘”Ð&Ð&Ð&Ð&Ð&Ð&�J€Dˆ$Ø�6Š>ˆ>ˆ>ˆ>Ø�2—>’>Ñ#Ô#Ò#Ð#Ð#Ð#ð �)Š)�F˜BŸNšNÑ,Ô,Ñ
-Ô
-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø—’˜‘”ÐÐÐÐÐÐ€DØ�6Š>ˆ>ˆ>ˆ>ð —’˜6 2§>¢>Ñ#3Ô#3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4¸Ò9Ð9Ð9Ð9Ý
�B‰-Œ-€Cå	ŒÕ*Ð2LÐ	MÑ	MÔ	Mð ?ð ?Ø!×/Ò/°¸AÐ/Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>‰ˆ�ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ×+Ò+¨CÑ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0�N€VˆTØ�QŠ;ˆ;ˆ;ˆ;ØÐ&Ò&Ð&Ð&Ð&Ø�2—>’>Ñ#Ô#Ò#Ð#Ð#Ð#ð —’˜6 2§>¢>Ñ#3Ô#3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4¸Ò9Ð9Ð9Ð9Ý�R‰=Œ=€DØ—<’< Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%€FØ�QŠ;ˆ;ˆ;ˆ;ØÐ'Ò'Ð'Ð'Ð'å
„|�wÒÐ¥3Ô#5Ô#:¸iÒ#GÐ#GÝ”_ˆˆàˆõ 
Œ•w¥lÐ	3Ñ	3Ô	3ð °sØ�gŠg�f‰oŒoÐÐÐÐÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àŒ9Œ?�eœnÒ,Ð,Ð,Ð,Ý	ŒÝÐ#Hð
ñ 
ô 
ð %ð %ð �gŠg�f˜eÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ 
ŒÝÐ#Hð
ñ 
ô 
ð 9ð 9ð �iŠi˜  r§~¢~Ñ'7Ô'7Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9õ 
Œ•yÐ(EÐ	FÑ	FÔ	Fð Fð FØ�iŠi˜  r§~¢~Ñ'7Ô'7¸ÑEÔEÐEÐEÐEÐEÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fsl   Â
B2Â2B6Â9B6È!I	É	IÉIÍNÎN
ÎN
ÏO1Ï1O5Ï8O5Ð0QÑQÑQÑ91R7Ò7R;Ò>R;Úwin32z"functions not in socket on windows)Úreasonc               ƒ   ó’  K  — t           j        dk    �r3t          ¦   «          t          j                             t          j        j        ¬¦  «        } t          j                             t          j        j        ¬¦  «        }|                     d¦  «        ƒ d {V —† t          j        t          t          ¬¦  «        5 }|                     dg¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |j        j        t          j        k    sJ ‚|                      dgdd|                     ¦   «         ¦  «        ƒ d {V —†d	k    sJ ‚|                     d
¦  «        ƒ d {V —†\  }}}}|dk    sJ ‚|g k    sJ ‚|dk    sJ ‚||                      ¦   «         k    sJ ‚|                      d|                     ¦   «         ¦  «        ƒ d {V —†dk    sJ ‚t%          d¦  «        }t%          d	¦  «        }|                     ||g¦  «        ƒ d {V —†}	|	\  }
}}}|
dk    sJ ‚|dk    sJ ‚|dk    sJ ‚|g k    sJ ‚|dk    sJ ‚||                      ¦   «         k    sJ ‚|                      d|                     ¦   «         ¦  «        ƒ d {V —†dk    sJ ‚t%          d¦  «        }|                     |g¦  «        ƒ d {V —†}	|	\  }
}}}|
dk    sJ ‚|dk    sJ ‚|g k    sJ ‚|t          j        k    sJ ‚||                      ¦   «         k    sJ ‚t          j        t*          d¬¦  «        5  |                      d¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S d S )NrJ   r   r   r   r7   r4   © r   r1   r   s   xyzwé   r2   s   xys   zw s   xyzwvé   z.^'FakeSocket' object has no attribute 'share'$)r=   r>   r
   r   r   r   r   r   r   r   rB   Úsendmsgr   r    rD   r   Úrecvmsgr#   r:   Úrecvmsg_intoÚ	MSG_TRUNCÚAttributeErrorÚshare)r%   r&   r)   r*   ÚancdataÚ	msg_flagsr+   Úbuf1rG   Úretr3   s              r   Útest_nonwindows_functionalityrZ   ‹   s7  è è € õ „|�wÒÑÝ
‰ŒˆÝŒ[×Ò¥T¤[Ô%;ÐÑ<Ô<ˆÝŒ[×Ò¥T¤[Ô%;ÐÑ<Ô<ˆØ�gŠgÐ&Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'õ Œ]�7­,Ð7Ñ7Ô7ð 	'¸3Ø—*’*˜f˜XÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'àŒyŒ¥%¤.Ò0Ð0Ð0Ð0à—Z’Z  ¨"¨a°·²Ñ1AÔ1AÑBÔBÐBÐBÐBÐBÐBÐBÀaÒGÐGÐGÐGØ13·²¸B±´Ð+?Ð+?Ð+?Ð+?Ð+?Ð+?Ñ(ˆˆw˜	 4Ø�vŠ~ˆ~ˆ~ˆ~Ø˜"Š}ˆ}ˆ}ˆ}Ø˜AŠ~ˆ~ˆ~ˆ~Ø�r—~’~Ñ'Ô'Ò'Ð'Ð'Ð'ð
 —Y’Y˜w¨¯ªÑ(8Ô(8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9¸QÒ>Ð>Ð>Ð>Ý˜‰|Œ|ˆÝ˜‰|Œ|ˆØ—O’O T¨4 LÑ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1ˆØ-0Ñ*ˆ�˜) TØ˜Š{ˆ{ˆ{ˆ{Ø�uŠ}ˆ}ˆ}ˆ}Ø�Ò&Ð&Ð&Ð&Ø˜"Š}ˆ}ˆ}ˆ}Ø˜AŠ~ˆ~ˆ~ˆ~Ø�r—~’~Ñ'Ô'Ò'Ð'Ð'Ð'ð —Y’Y˜x¨¯ªÑ)9Ô)9Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:¸aÒ?Ð?Ð?Ð?Ý˜‰|Œ|ˆØ—O’O T FÑ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+ˆØ-0Ñ*ˆ�˜) TØ˜Š{ˆ{ˆ{ˆ{Ø�uŠ}ˆ}ˆ}ˆ}Ø˜"Š}ˆ}ˆ}ˆ}Ø�FÔ,Ò,Ð,Ð,Ð,Ø�r—~’~Ñ'Ô'Ò'Ð'Ð'Ð'åŒ]ÝØCð
ñ 
ô 
ð 	ð 	ð —(’(˜1‘+”+ÐÐÐÐÐÐÐð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ðY Ðs$   Â;C$Ã$C(Ã+C(ÌL:Ì:L>ÍL>z#windows-specific fakesocket testingc               ƒ   ó´  K  — t           j        dk    �rÄt          ¦   «          t          j                             t          j        j        ¬¦  «        } t          j                             t          j        j        ¬¦  «        }|                      d¦  «        ƒ d {V —† t          j        t          d¬¦  «        5  |  
                    dgdd|                     ¦   «         ¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  |                     g ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                      d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NrJ   r   r   z0^'FakeSocket' object has no attribute 'sendmsg'$r   r4   rM   r   z0^'FakeSocket' object has no attribute 'recvmsg'$z5^'FakeSocket' object has no attribute 'recvmsg_into'$)r=   r>   r
   r   r   r   r   r   r   rT   rP   r   rQ   rR   r8   rU   r.   s     r   Útest_windows_functionalityr\   Ä   sÓ  è è € õ „|�wÒÑÝ
‰ŒˆÝŒ[×Ò¥T¤[Ô%;ÐÑ<Ô<ˆÝŒ[×Ò¥T¤[Ô%;ÐÑ<Ô<ˆØ�gŠgÐ&Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ÝŒ]ÝØEð
ñ 
ô 
ð 	@ð 	@ð —*’*˜f˜X r¨1¨b¯nªnÑ.>Ô.>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ð		@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@õ
 Œ]ÝØEð
ñ 
ô 
ð 	ð 	ð �JŠJ�q‰MŒMˆMð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 Œ]ÝØJð
ñ 
ô 
ð 	 ð 	 ð �OŠO˜BÑÔÐð		 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ
 Œ]Õ.Ñ/Ô/ð 	ð 	Ø�HŠH�Q‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð) ÐsH   Â62C4Ã4C8Ã;C8ÄD<Ä<E ÅE Å"FÆFÆFÆ(GÇGÇGc               ƒ   óÆ   K  — t          ¦   «          t          j        t          ¦  «        5  t          j                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S r   )r
   r   r   r8   r   r   rM   r   r   Útest_basic_tcpr^   â   s˜   è è € Ý�D„D€DÝ	ŒÕ*Ñ	+Ô	+ð ð ÝŒ×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ªAÁAÁAc               ƒ   óX  K  — t          ¦   «          t          j                             t          j        j        ¬¦  «        } t	          j        t          d¬¦  «        5  |                      t          j        t          j	        ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  |                      t          j        t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  |                      t          j        t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  |                      t          j        t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «         t	          j        t          d	¬¦  «        5  |                      d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         rJ ‚d S )
Nr   z0^FakeNet doesn't implement getsockopt\(\d, \d\)$r   z%^FakeNet always has IPV6_V6ONLY=True$Fz:^FakeNet doesn't implement setsockopt\(\d+, \d+, \.\.\.\)$Tr6   z(^FakeNet can't make inheritable sockets$)r
   r   r   r   r   r   r   Ú
getsockoptÚIPPROTO_TCPÚTCP_NODELAYr8   Ú
setsockoptÚIPPROTO_IPV6ÚIPV6_V6ONLYÚ
SOL_SOCKETÚSO_REUSEADDRÚset_inheritableÚget_inheritable)r%   s    r   Útest_not_implemented_functionsrj   è   sc  è è € Ý�D„D€DÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€Bõ 
ŒÝØAð
ñ 
ô 
ð >ð >ð 	�Š•fÔ(­&Ô*<Ñ=Ô=Ð=ð	>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >õ 
ŒÝØ6ð
ñ 
ô 
ð Fð Fð 	�Š•fÔ)­6Ô+=¸uÑEÔEÐEð	Fð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ
 
ŒÝØKð
ñ 
ô 
ð Eð Eð 	�Š•fÔ)­6Ô+=¸tÑDÔDÐDð	Eð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ
 
ŒÝØKð
ñ 
ô 
ð Að Að 	�Š•fÔ'­Ô)<¸aÑ@Ô@Ð@ð	Að Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Að ×Ò�uÑÔÐÝ	ŒÝØ9ð
ñ 
ô 
ð !ð !ð 	×Ò˜4Ñ Ô Ð ð	!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð ×!Ò!Ñ#Ô#Ð#Ð#Ð#Ð#Ð#sZ   Á+BÂBÂBÂ8,C0Ã0C4Ã7C4Ä,EÅEÅEÅ4,F,Æ,F0Æ3F0Ç'H	È	HÈHc               ƒ   ó  K  — t          ¦   «          t          j                             t          j        j        ¬¦  «        } t	          j        t          t          ¬¦  «        5 }|                      ¦   «          d d d ¦  «         n# 1 swxY w Y   |j	        j
        t          j        k    sJ ‚|                      d¦  «        ƒ d {V —† t	          j        t          d¬¦  «        5  |                      ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   zI^This method seems to assume that self._binding has a remote UDPEndpoint$)r
   r   r   r   r   r   r   rB   Úgetpeernamer   r    rD   r   ÚAssertionError)r%   r)   s     r   Útest_getpeernamern     sr  è è € Ý�D„D€DÝ	Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€BÝ	Œ•w¥lÐ	3Ñ	3Ô	3ð °sØ
�ŠÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àŒ9Œ?�eœnÒ,Ð,Ð,Ð,à
�'Š'Ð"Ñ
#Ô
#Ð#Ð#Ð#Ð#Ð#Ð#Ð#å	ŒÝØZð
ñ 
ô 
ð ð ð 	�ŠÑÔÐð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Á BÂBÂBÃD Ä DÄDc               ƒ   ó\  K  — t          ¦   «          t          j        t          t	          j        dt          j        j        › �¦  «        ¬¦  «        5  t          j                             ¦   «         } d d d ¦  «         n# 1 swxY w Y   t          j                             t          j        j	        ¬¦  «        } |  
                    ¦   «         dk    sJ ‚|                      d¦  «        ƒ d {V —† |  
                    ¦   «         \  }}|dk    sJ ‚|dk    sJ ‚t          j                             t          j        t          j	        ¬¦  «        }| 
                    ¦   «         dk    sJ ‚|                     d¦  «        ƒ d {V —† | 
                    ¦   «         ^}}}|d	k    sJ ‚|dk    sJ ‚|ddgk    sJ ‚d S )
Nz#FakeNet doesn't (yet) support type=r   r   )z0.0.0.0r   r   r   )Úfamilyr   )z::r   z::1)r
   r   r   r8   ÚreÚescaper   r   ÚSOCK_STREAMr   r   r   ÚAF_INET6)r%   r'   r(   r&   Ú_s        r   Ú	test_initrv      sé  è è € Ý�D„D€DÝ	ŒÝÝŒiØKµ$´+Ô2IÐKÐKñ
ô 
ð
ñ 
ô 
ð "ð "õ Œ[×ÒÑ!Ô!ˆð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
Œ×	Ò	¥¤Ô!7Ð	Ñ	8Ô	8€BØ�>Š>ÑÔ˜~Ò-Ð-Ð-Ð-ð �'Š'�.Ñ
!Ô
!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø�~Š~ÑÔ�H€BˆØ�ÒÐÐÐØ�1Š9ˆ9ˆ9ˆ9õ 
Œ×	Ò	¥6¤?½Ô9JÐ	Ñ	KÔ	K€BØ�>Š>ÑÔ˜yÒ(Ð(Ð(Ð(ð �'Š'�)Ñ
Ô
ÐÐÐÐÐÐÐØ—>’>Ñ#Ô#€L€BˆˆqØ�Š;ˆ;ˆ;ˆ;Ø�1Š9ˆ9ˆ9ˆ9Ø��A�Š;ˆ;ˆ;ˆ;ˆ;ˆ;s   ÁA;Á;A?ÂA?)r   N)r    rq   r   r=   r   r   Útrio.testing._fake_netr   r>   rB   r
   r,   r/   rI   ÚmarkÚskipifrZ   r\   r^   rj   rn   rv   rM   r   r   ú<module>rz      sÇ  ðØ €€€Ø 	€	€	€	Ø €€€Ø 
€
€
€
à €€€à €€€Ø *Ð *Ð *Ð *Ð *Ð *ð „<�7ÒÐØR€L€LØ„\�XÒÐØ<€L€Là5€LðˆGð ð ð ð ð $ð  $ð  $ð  $ðFð ð ð ðBFð BFð BFð BFðJ „×ÒØ„L�GÒØ/ð ñ ô ð2ð 2ð 2ñ	ô ð2ðj „×ÒØ„L�GÒØ0ð ñ ô ðð ð ñ	ô ðð4ð ð ð ð%$ð %$ð %$ð %$ðPð ð ð ð ð ð ð ð ð r   