
    -hh                     D   S SK r S SK 7  S SKrS SKrS SKrS SKrS SKJrJr   S SKr\
" \SS5      r\
" \SS5      r\
" \SS5      r/ S	Qr\R                  \R                   " \ 5      5        \R"                  " S
\S 5        \R"                  " S\S 5        \R"                  " S\S 5        \R"                  " S\S 5        SrSrS r\R,                  R/                  5       R1                  S5      (       Ga  0 rS\S'   S\S'   S\S'   S\S'   S\S'   S \S!'   S"\S#'   S$\S%'   S&\S''   S(\S)'   S*\S+'   S,\S-'   S.\S/'   S0\S1'   S2\S3'   S4\S5'   S6\S7'   S8\S9'   S:\S;'   S<\S='   S>\S?'   S@\SA'   SB\SC'   SD\SE'   SF\SG'   SH\SI'   SJ\SK'   SL\SM'   SN\SO'   SP\SQ'   SR\SS'   ST\SU'   SV\SW'   SX\SY'   SZ\S['   S\\S]'   S^\S_'   S`\Sa'   Sb\Sc'   Sd\Se'   Sf\Sg'   Sh\Si'   Sj\Sk'   Sl\Sm'   Sn\So'   Sp\Sq'   Sr\Ss'   St\Su'   Sv\Sw'   Sx\Sy'   Sz\S{'   S|\S}'   S~\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   \R5                  S5         " S S\5      r " S S\ R:                  5      rSS jr\" \ R:                  S5      (       a  S SK r SS jr!\R5                  S5        \" \ R:                  S5      (       a  S SK r SS jr"\R5                  S5        \" \ R:                  S5      (       a  S r#\R5                  S5        \$\%S 4S jr&\" \ S5      (       a	  S\%S 4S jr'O\&r'\R5                  S5        S\'l(        \\1r) " S S\RT                  5      r+SS jr,\-" 5       r.\.S4SS.S jjr/S r0\$SSSS.S jr1SS jr2g! \	 a    Sr GNf = f)    N)*)IntEnumIntFlagEBADF	   EAGAIN   EWOULDBLOCK)fromfdgetfqdncreate_connectioncreate_serverhas_dualstack_ipv6AddressFamily
SocketKindr   c                 R    U R                  5       =(       a    U R                  S5      $ )NAF_isupper
startswithCs    //opt/python-3.13.8/usr/lib/python3.13/socket.py<lambda>r   O       !))+5!,,u"55    r   c                 R    U R                  5       =(       a    U R                  S5      $ )NSOCK_r   r   s    r   r   r   T   s    !))+7!,,w"77r   MsgFlagc                 R    U R                  5       =(       a    U R                  S5      $ )NMSG_r   r   s    r   r   r   Y   s    !))+6!,,v"66r   AddressInfoc                 R    U R                  5       =(       a    U R                  S5      $ )NAI_r   r   s    r   r   r   ^   r   r   z	127.0.0.1z::1c                 8     U" U 5      $ ! [          a    U s $ f = fN)
ValueError)value
enum_klasss     r   _intenum_converterr*   d   s&    
%   s   
 winz)Specified event object handle is invalid.   zInsufficient memory available.   z#One or more parameters are invalid.W   zOverlapped operation aborted.i  z2Overlapped I/O event object not in signaled state.i  z)Overlapped operation will complete later.i  zThe operation was interrupted.i'  zA bad file handle was passed.i'  zPermission denied.i'  z!A fault occurred on the network??i'  z#An invalid operation was attempted.i&'  zToo many open files.i('  z!The socket operation would block.i3'  z,A blocking operation is already in progress.i4'  zOperation already in progress.i5'  zSocket operation on nonsocket.i6'  zDestination address required.i7'  zMessage too long.i8'  zProtocol wrong type for socket.i9'  zBad protocol option.i:'  zProtocol not supported.i;'  zSocket type not supported.i<'  zOperation not supported.i='  zProtocol family not supported.i>'  z0Address family not supported by protocol family.i?'  zThe network address is in use.i@'  z Cannot assign requested address.iA'  zNetwork is down.iB'  zNetwork is unreachable.iC'  z$Network dropped connection on reset.iD'  z!Software caused connection abort.iE'  zThe connection has been reset.iF'  zNo buffer space available.iG'  zSocket is already connected.iH'  zSocket is not connected.iI'  zThe network has been shut down.iJ'  zToo many references.iK'  zThe operation timed out.iL'  zConnection refused.iM'  zCannot translate name.iN'  zThe name is too long.iO'  zThe host is down.iP'  zThe host is unreachable.iQ'  zDirectory not empty.iR'  zToo many processes.iS'  zUser quota exceeded.iT'  zDisk quota exceeded.iU'  zStale file handle reference.iV'  zItem is remote.iW'  z!Network subsystem is unavailable.ik'  z!Winsock.dll version out of range.il'  z(Successful WSAStartup not yet performed.im'  zGraceful shutdown in progress.iu'  z*No more results from WSALookupServiceNext.iv'  zCall has been canceled.iw'  z Procedure call table is invalid.ix'  zService provider is invalid.iy'  z&Service provider failed to initialize.iz'  zSystem call failure.i{'  zService not found.i|'  zClass type not found.i}'  i~'  zCall was canceled.i'  zDatabase query was refused.i'  zHost not found.i*  z Nonauthoritative host not found.i*  zThis is a nonrecoverable error.i*  z*Valid name, no data record requested type.i*  zQoS receivers.i*  zQoS senders.i*  zNo QoS senders.i*  zQoS no receivers.i +  zQoS request confirmed.i+  zQoS admission error.i+  zQoS policy failure.i+  zQoS bad style.i+  zQoS bad object.i+  zQoS traffic control error.i+  zQoS generic error.i+  zQoS service type error.i+  zQoS flowspec error.i	+  zInvalid QoS provider buffer.i
+  zInvalid QoS filter style.i+  i+  zIncorrect QoS filter count.i+  zInvalid QoS object length.i+  zIncorrect QoS flow count.i+  zUnrecognized QoS object.i+  zInvalid QoS policy object.i+  zInvalid QoS flow descriptor.i+  z'Invalid QoS provider-specific flowspec.i+  z)Invalid QoS provider-specific filterspec.i+  z&Invalid QoS shape discard mode object.i+  z Invalid QoS shaping rate object.i+  z!Reserved policy QoS element type.i+  errorTabc                       \ rS rSrSrg)_GiveupOnSendfile    N)__name__
__module____qualname____firstlineno____static_attributes__r3   r   r   r1   r1      s    Dr   r1   c                   n  ^  \ rS rSr/ SQrS!S jrS rS rS rS r	S	 r
S
 rS"SSSS.S jjr\" \S5      (       a  S#S jrOS#S jrS#S jrS rS#S jrS r\R*                  4S jrS rU 4S jr\U 4S j5       r\U 4S j5       r\R8                  S:X  a  S rS rOS rS rS\l        S\l        S r U =r!$ )$socket   )__weakref___io_refs_closedNc                     Uc   US:X  a  [         nUS:X  a  [        nUS:X  a  Sn[        R                  R	                  XX#U5        SU l        SU l        g )Nr   F)AF_INETSOCK_STREAM_socketr:   __init__r=   r>   )selffamilytypeprotofilenos        r   rD   socket.__init__   sQ    
 >| rz"{d6Br   c                     U $ r&   r3   rE   s    r   	__enter__socket.__enter__   s    r   c                 H    U R                   (       d  U R                  5         g g r&   )r>   close)rE   argss     r   __exit__socket.__exit__   s    ||JJL r   c                    [        U SS5      nSU R                  R                  U R                  R                  U(       a  SOSU R	                  5       U R
                  U R                  U R                  4-  nU(       dR   U R                  5       nU(       a  US[        U5      -  -  n U R                  5       nU(       a  US[        U5      -  -  nUS-  nU$ ! [        [        4 a     NBf = f! [        [        4 a     N/f = f)	Nr>   Fz,<%s.%s%s fd=%i, family=%s, type=%s, proto=%iz	 [closed] z
, laddr=%sz
, raddr=%s>)getattr	__class__r5   r6   rI   rF   rG   rH   getsocknamestrerrorAttributeErrorgetpeername)rE   closedsladdrraddrs        r   __repr__socket.__repr__   s     y%0:~~((~~**${"{{}{{yyzz ((*E
22A((*E
22A 	
S >*  >* s$   ?(C ((C- C*)C*-D ?D c                 J    [        SU R                  R                  < S35      e)Nzcannot pickle z object)	TypeErrorrX   r4   rL   s    r   __getstate__socket.__getstate__  s!    .)@)@(C7KLLr   c                     [        U R                  5       5      nU R                  U R                  U R                  U R
                  US9nUR                  U R                  5       5        U$ )NrI   )duprI   rX   rF   rG   rH   
settimeout
gettimeout)rE   fdsocks      r   rj   
socket.dup  sN     ~~dkk499djj~L)*r   c                     U R                  5       u  p[        U R                  U R                  U R                  US9n[        5       c&  U R                  5       (       a  UR                  S5        X24$ )Nri   T)_acceptr:   rF   rG   rH   getdefaulttimeoutrl   setblocking)rE   rm   addrrn   s       r   acceptsocket.accept   sZ     <<>dkk499djjD &4??+<+<T"zr   )encodingerrorsnewlinec                   [        U5      1 Sk::  d  [        SU< S35      eSU;   nSU;   =(       d    U(       + nSU;   nSn	U(       a  U	S-  n	U(       a  U	S-  n	[        X	5      n
U =R                  S-  sl        Uc  S	nUS
:  a  [        R
                  nUS
:X  a  U(       d  [        S5      eU
$ U(       a  U(       a  [        R                  " XU5      nO4U(       a  [        R                  " X5      nO[        R                  " X5      nU(       a  U$ [        R                  " U5      n[        R                  " XXE5      nXl        U$ )N>   brwzinvalid mode z (only r, w, b allowed)r}   r|   r{   rU      r@   r   z!unbuffered streams must be binary)setr'   SocketIOr=   ioDEFAULT_BUFFER_SIZEBufferedRWPairBufferedReaderBufferedWritertext_encodingTextIOWrappermode)rE   r   	bufferingrw   rx   ry   writingreadingbinaryrawmoderawbuffertexts                r   makefilesocket.makefile0  s    4yO+OPP++,WsNGsNGt%Iq=..I> !DEEJw&&s;F&&s6F &&s6FM##H-&B	r   sendfilec                    U R                  XU5        U R                  5       n UR                  5       n [        R                  " U5      R                  nU(       d  g[        U=(       d    US5      nU R                  5       n	U	S:X  a  [        S5      e[        [        S5      (       a  [        R                  " 5       n
O[        R                   " 5       n
U
R#                  U[        R$                  5        SnU
R&                  n[        R(                  n  U	(       a  U" U	5      (       d  [+        S5      eU(       a  [        X;-
  U5      nUS::  a  O U" XEX(5      nUS:X  a  O
X.-  nX-  nMV  UUS:  a$  [        US5      (       a  UR/                  U5        $ $ $ ! [        [        R                  4 a  n[        U5      eS nAff = f! [         a  n[        U5      eS nAff = f! [,         a    U	(       d  U" 5          M  [         a  nUS:X  a  [        U5      eUS eS nAff = f! US:  a$  [        US5      (       a  UR/                  U5        f f f = f)Nr   i   @&non-blocking sockets are not supportedPollSelectorz	timed outseek)_check_sendfile_paramsrI   r\   r   UnsupportedOperationr1   osfstatst_sizeOSErrorminrl   r'   hasattr	selectorsr   SelectSelectorregisterEVENT_WRITEselectr   TimeoutErrorBlockingIOErrorr   )rE   fileoffsetcountsocknorI   errfsize	blocksizetimeoutselector
total_sentselector_selectos_sendfilesents                  r   _sendfile_use_sendfilesocket._sendfile_use_sendfile^  s   ''e<[[]F--(00 ENUG4Ioo'G!| !IJJ y.11$113$335fi&;&;<J&ooO++K &w'?'?*;77$'(:I$F	$>!+*66M   19!"*
7 8 ">gdF&;&;IIf% '<>s #B$;$;< -',,-  -',,-@ + !& ,- " ,%?
 #4C"88!t+, >gdF&;&;IIf% '<>sj   F  G <H 	G H F?/F::F?
GGGH7H :	HHHH ,Ic                     [        S5      e)Nz,os.sendfile() not available on this platform)r1   rE   r   r   r   s       r   r   r     s    #>@ @r   c                    U R                  XU5        U R                  5       S:X  a  [        S5      eU(       a  UR                  U5        U(       a  [	        US5      OSnSnUR
                  nU R                  n  U(       a  [	        X5-
  U5      nUS::  a  O@[        U" U5      5      nU(       d  O'  U" U5      n	XY-  nU	[        U5      :  a  XS  nOOM$  M\  UUS:  a&  [        US5      (       a  UR                  X%-   5        $ $ $ ! [         a     Mb  f = f! US:  a&  [        US5      (       a  UR                  X%-   5        f f f = f)Nr   r   i    r   )r   rl   r'   r   r   readsend
memoryviewlenr   r   )
rE   r   r   r   r   r   	file_read	sock_senddatar   s
             r   _sendfile_use_sendsocket._sendfile_use_send  sG   ##D%8??!EFFIIf(-Ct$4	
II	II		/ #E$6	 BI A~!)I"67	"( #*
#d)+#';D!  & A~'$"7"7		&-. #8~ + ! ! A~'$"7"7		&-. #8~s0   :7D 2D :D 
DD DD .Ec                 (   S[        USS5      ;  a  [        S5      eU R                  [        -  (       d  [        S5      eUbP  [	        U[
        5      (       d  [        SR                  U5      5      eUS::  a  [        SR                  U5      5      eg g )Nr{   r   z$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})r   )rW   r'   rG   rB   
isinstanceintre   formatr   s       r   r   socket._check_sendfile_params  s    gdFC00CDDyy;&JKKeS))AHHOQ Qz AHHOQ Q 	 r   c                 l     U R                  XU5      $ ! [         a    U R                  XU5      s $ f = fr&   )r   r1   r   r   s       r   r   socket.sendfile  s?    $	@..tUCC  	@**4??	@s    33c                     U R                   S:  a  U =R                   S-  sl         U R                  (       a  U R                  5         g g )Nr   r~   )r=   r>   rP   rL   s    r   _decref_socketiossocket._decref_socketios  s1    ==1MMQM<<JJL r   c                 &    UR                  U 5        g r&   )rP   )rE   _sss     r   _real_closesocket._real_close  s    		$r   c                 T    SU l         U R                  S::  a  U R                  5         g g )NTr   )r>   r=   r   rL   s    r   rP   socket.close  s&    ==A r   c                 .   > SU l         [        TU ]	  5       $ )NT)r>   superdetachrE   rX   s    r   r   socket.detach  s     w~r   c                 4   > [        [        TU ]  [        5      $ r&   )r*   r   rF   r   r   s    r   rF   socket.family  s     "%'.-@@r   c                 4   > [        [        TU ]  [        5      $ r&   )r*   r   rG   r   r   s    r   rG   socket.type  s     "%',
;;r   ntc                 J    [         R                  " U R                  5       5      $ r&   )r   get_handle_inheritablerI   rL   s    r   get_inheritablesocket.get_inheritable  s    ,,T[[];;r   c                 N    [         R                  " U R                  5       U5        g r&   )r   set_handle_inheritablerI   rE   inheritables     r   set_inheritablesocket.set_inheritable  s    %%dkkm[Ar   c                 J    [         R                  " U R                  5       5      $ r&   )r   r   rI   rL   s    r   r   r     s    %%dkkm44r   c                 N    [         R                  " U R                  5       U5        g r&   )r   r   rI   r   s     r   r   r     s    t{{}k:r   z&Get the inheritable flag of the socketz&Set the inheritable flag of the socket)r>   r=   )r@   r@   r@   N)r|   Nr   N)"r4   r5   r6   r7   	__slots__rD   rM   rR   rb   rf   rj   ru   r   r   r   r   r   r   r   r   rC   r:   r   rP   r   propertyrF   rG   namer   r   __doc__r8   __classcell__rX   s   @r   r:   r:      s     7I <M	 *tT*X r:?	&B	@"/HQ@. &nn   A A
 < <
 
ww$	<	B	5	;FOFOr   r:   c                 0    [        U 5      n[        XX45      $ r&   )rj   r:   )rm   rF   rG   rH   nfds        r   r   r     s     b'C&++r   sendmsgc           	          U R                  U[        R                  [        R                  [        R                  " SU5      4/5      $ Ni)r   rC   
SOL_SOCKET
SCM_RIGHTSarray)rn   buffersfdsflagsaddresss        r   send_fdsr   *  s?    
 ||Gw'9'9C 5'7 &8 9 	9r   r   recvmsgc           	         [         R                   " S5      nU R                  U[        R                  " X$R                  -  5      5      u  pVp7U Hh  u  pn
U[        R
                  :X  d  M  U	[        R                  :X  d  M2  UR                  U
S [        U
5      [        U
5      UR                  -  -
   5        Mj     U[        U5      X74$ r   )
r   r   rC   CMSG_LENitemsizer   r   	frombytesr   list)rn   bufsizemaxfdsr   r   msgancdatart   
cmsg_level	cmsg_type	cmsg_datas              r   recv_fdsr
  6  s     kk#$(LLVll23%5!e07,J9g000Y'BTBT5Ti )II#i.3<<*GHJ K 18
 DIu**r   r
  sharec                     [        SSSU 5      $ )Nr   )r:   )infos    r   	fromsharer  J  s     aAt$$r   r  c                 r   U [         :X  a  [        nOU [        :X  a  [        nO[	        S5      eU[
        :w  a  [	        S5      eUS:w  a  [	        S5      e[        XU5      n UR                  US45        UR                  5         UR                  5       S S u  pV[        XU5      n UR                  S5         UR                  XV45        UR                  S5        UR                  5       u  p UR                  5          UR                  5       UR!                  5       :w  d"  UR                  5       UR!                  5       :w  a  [#        S5      e X4$ ! [        [        4 a     Nf = f!   UR                  5         e = f! UR                  5         f = f!   UR                  5         UR                  5         e = f)	Nz?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedr   zOnly protocol zero is supported   FTzUnexpected peer connection)rA   
_LOCALHOSTAF_INET6_LOCALHOST_V6r'   rB   r:   bindlistenrY   rs   connectr   InterruptedErrorru   rP   r]   ConnectionError)
rF   rG   rH   hostlsockrt   portcsockssock_s
             r   _fallback_socketpairr  V  s   	8	 ) * 	*{DEEz:;; 6'E

D!9&&(!,
vU+
	e$tl+ d#||~HE1
 	
5#4#4#66  "e&7&7&99!">?? : >5 $%56 	KKM 	sP   !AE> &E( 8E 
#E( ?AF E%"E( $E%%E( (E;;E> >F#F6
socketpairc                     U c   [         n [        R                  " XU5      u  p4[        XX#R                  5       5      n[        XX$R                  5       5      nX44$ ! [         a	    [        n  Nbf = fr&   )AF_UNIX	NameErrorrA   rC   r   r:   r   )rF   rG   rH   ar{   s        r   r   r     sh    >!  !!&66
36
3t  ! !s   A A.-A.a8  socketpair([family[, type[, proto]]]) -> (socket object, socket object)
Create a pair of socket objects from the sockets returned by the platform
socketpair() function.
The arguments are the same as for socket() except the default family is AF_UNIX
if defined on the platform; otherwise, the default is AF_INET.
c                   r   ^  \ rS rSrS rS rS rS rS rU 4S jr	S r
\S	 5       r\S
 5       rS rSrU =r$ )r   i  c                     US;  a  [        SU-  5      e[        R                  R                  U 5        Xl        SU;  a  US-  nX l        SU;   U l        SU;   U l        SU l        g )N)r|   r}   rwrbwbrwbzinvalid mode: %rr{   r|   r}   F)	r'   r   	RawIOBaserD   _sock_mode_reading_writing_timeout_occurred)rE   rn   r   s      r   rD   SocketIO.__init__  sf    ::/$677
d#
d?CKD
tt!&r   c                 ,   U R                  5         U R                  5         U R                  (       a  [        S5      e U R                  R                  U5      $ ! [         a	    SU l        e [         a  nUR                  [        ;   a   S nAg e S nAff = f)Nz!cannot read from timed out objectT)
_checkClosed_checkReadabler0  r   r,  	recv_intor   r[   errno_blocking_errnosrE   r{   es      r   readintoSocketIO.readinto  s     	!!=>>	::''** 	%)D" 	ww**	s   A B4BBBc                     U R                  5         U R                  5          U R                  R                  U5      $ ! [         a  nUR
                  [        ;   a   S nAg e S nAff = fr&   )r3  _checkWritabler,  r   r[   r6  r7  r8  s      r   writeSocketIO.write  sW     		::??1%% 	ww**		s   = 
A&A! A!!A&c                 R    U R                   (       a  [        S5      eU R                  $ NzI/O operation on closed socket.)r^   r'   r.  rL   s    r   readableSocketIO.readable  !     ;;>??}}r   c                 R    U R                   (       a  [        S5      eU R                  $ rA  )r^   r'   r/  rL   s    r   writableSocketIO.writable  rD  r   c                 X   > U R                   (       a  [        S5      e[        TU ]  5       $ rA  )r^   r'   r   seekabler   s    r   rI  SocketIO.seekable  s&     ;;>??w!!r   c                 V    U R                  5         U R                  R                  5       $ r&   )r3  r,  rI   rL   s    r   rI   SocketIO.fileno  s#     	zz  ""r   c                 F    U R                   (       d  U R                  5       $ g)Nr@   )r^   rI   rL   s    r   r   SocketIO.name  s    {{;;= r   c                     U R                   $ r&   )r-  rL   s    r   r   SocketIO.mode
  s    zzr   c                     U R                   (       a  g [        R                  R                  U 5        U R                  R                  5         S U l        g r&   )r^   r   r+  rP   r,  r   rL   s    r   rP   SocketIO.close  s7     ;;
4 

$$&
r   )r-  r.  r,  r0  r/  )r4   r5   r6   r7   rD   r:  r>  rB  rF  rI  rI   r   r   r   rP   r8   r   r   s   @r   r   r     sX    "
', "#     r   r   c                     U R                  5       n U (       a  U S;   a
  [        5       n  [        U 5      u  pnUR                  SU5        U H  n SU ;   d  M    U $    Un  U $ ! [         a     U $ f = f)N)z0.0.0.0z::r   .)stripgethostnamegethostbyaddrinsertr[   )r   hostnamealiasesipaddrss       r   r   r     s     ::<D4,,}
%24%8"7 	q(#Dd{ K  DK   Ks   A   
A.-A.F)
all_errorsc                V   U u  pE/ n[        XES[        5       Hm  nUu  ppnS n [        XU
5      nU[        La  UR	                  U5        U(       a  UR                  U5        UR                  U5        UR                  5         Us  $    [        U5      (       a   U(       d  US   e[        SU5      e[        S5      e! [         aL  nU(       d  UR                  5         UR                  U5        Ub  UR                  5          S nAM   S nAM  S nAff = f! UR                  5         f = f)Nr   zcreate_connection failedz!getaddrinfo returns an empty list)getaddrinforB   r:   _GLOBAL_DEFAULT_TIMEOUTrk   r  r  clearr[   appendrP   r   ExceptionGroup)r   r   source_addressr\  r  r  
exceptionsresafsocktyperH   	canonnamesarn   excs                  r   r   r   6  s     JDJ4q+6-0*e	".D55(		.)LLK 7* :	 m# !;ZHH
 788!  	  "c"

  		 s$   A B=D =
D;DDD(c                  &   [         (       a*  [        [        S5      (       a  [        [        S5      (       d  g [        [        [
        5       n U R                  [        [        S5         S S S 5        g! , (       d  f       g = f! [         a     gf = f)NIPPROTO_IPV6IPV6_V6ONLYFr   T)
has_ipv6r   rC   r:   r  rB   
setsockoptrl  rm  r[   )rn   s    r   r   r   i  si     87N337M22Hk*dOOL+q9 +**  s/   B A2)B 2
B <B  B 
BB)rF   backlog
reuse_portdualstack_ipv6c                   U(       a   [        [        S5      (       d  [        S5      eU(       a/  [        5       (       d  [        S5      eU[        :w  a  [        S5      e[        U[        5      n [        R                  S;  a1  [        [        S5      (       a   UR                  [        [        S5        U(       a+  U[        [        4;   a  UR                  [        [        S5        [        (       ar  U[        :X  ah  U(       a  UR                  [         ["        S5        OE[        [        S	5      (       a0  [        [        S
5      (       a  UR                  [         ["        S5         UR%                  U 5        Uc  UR+                  5         U$ UR+                  U5        U$ ! [         a     Nf = f! [         a0  nUR&                  < SU < S3n[        UR(                  U5      S eS nAff = f! [         a    UR-                  5         e f = f)NSO_REUSEPORTz+SO_REUSEPORT not supported on this platformz-dualstack_ipv6 not supported on this platformz'dualstack_ipv6 requires AF_INET6 family)r   cygwinSO_REUSEADDRr~   r   rm  rl  z& (while attempting to bind on address ))r   rC   r'   r   r  r:   rB   r   r   ro  r   rv  r[   rA   rt  rn  rl  rm  r  strerrorr6  r  rP   )r   rF   rp  rq  rr  rn   r   r  s           r   r   r   y  s   & ''>::FGG!##LMMXFGG&+&D) 77**00
L!< &Wh$77OOJa88(*k1=-00G^44k1=	2IIg
 ?KKM  KK 1      	2w(C		3'T1	2  

s[   /)G* F 4B/G* $F- 5G* 
G* 
F*'G* )F**G* -
G'7+G""G''G* *Hc                     / n[         R                  " XX#XE5       H:  nUu  ppJnUR                  [        U[        5      [        U	[
        5      XJU45        M<     U$ r&   )rC   r^  ra  r*   r   r   )r  r  rF   rG   rH   r   addrlistre  rf  rg  rh  ri  s               r   r^  r^    s`      H""4vUJ-0*e+B>+HjA2/ 	0 K
 Or   )r   r   )rU   )r   r   r   r   )3rC   r   sysr   r   enumr   r   r6  ImportErrorrW   r   r   r
   __all__extend_get_exports_list	_convert_r4   r  r  r*   platformlowerr   r/   ra  	Exceptionr1   r:   r   r   r   r   r
  r  rA   rB   r  r   r   r7  r+  r   r   objectr_  r   r   r   r^  r3   r   r   <module>r     s  h     ! 	w"	"	%e]B/@ r##G, -   57
   79
   68
   57
 
 <<""5))H=HQK2HQK8HRL3HSMHHSM?HSM6HUO5HUO*HUO9HUO;HUO,HUO9HUODHUO6HUO6HUO5HUO)HUO7HUO,HUO/HUO2HUO0HUO6HUOHHUO6HUO8HUO(HUO/HUO<HUO9HUO6HUO2HUO4HUO0HUO7HUO,HUO0HUO+HUO.HUO-HUO)HUO0HUO,HUO+HUO,HUO,HUO4HUO'HUO9HUO9HUO@HUO6HUOBHUO/HUO8HUO4HUO>HUO,HUO*HUO-HUOBHUO*HUO3HUO'HUO8HUO7HUOBHUO&HUO$HUO'HUO)HUO.HUO,HUO+HUO&HUO'HUO2HUO*HUO/HUO+HUO4HUO1HUO1HUO3HUO2HUO1HUO0HUO2HUO4HUO?HUOAHUO>HUO8HUO9HUONN: )	 (EGW^^ EGN
, 7>>9%%9 NN:
7>>9%%+" NN:
7>>7##% NN;
 !(k 4l 7L!![ 	 &JNN< 
  [* qr|| qh6 !( '>%)099>09f  &-du!&DNI  Es   P PP