Ë
    _§1h“  ã                   ó0   — d dl mZ d dlmZmZ dedefd„Zy)é   )Úsocket)ÚSocketListenerÚSocketStreamÚsocket_listenerÚreturnc              ƒ   ó†  K  — | j                   j                  }| j                   j                  «       }|t        j                  t        j
                  fv r0t        |«      }|d   dk(  rd|d<   |d   dk(  rd|d<   t        |«      }t        j                   |¬«      }|j                  |«      ƒ d{  –—†  t        |«      S 7 Œ­w)aø  Connect to the given :class:`~trio.SocketListener`.

    This is particularly useful in tests when you want to let a server pick
    its own port, and then connect to it::

        listeners = await trio.open_tcp_listeners(0)
        client = await trio.testing.open_stream_to_socket_listener(listeners[0])

    Args:
      socket_listener (~trio.SocketListener): The
          :class:`~trio.SocketListener` to connect to.

    Returns:
      SocketStream: a stream connected to the given listener.

    é    z0.0.0.0z	127.0.0.1z::z::1)ÚfamilyN)
r   r
   ÚgetsocknameÚtsocketÚAF_INETÚAF_INET6ÚlistÚtupleÚconnectr   )r   r
   ÚsockaddrÚsocks       úS/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/testing/_network.pyÚopen_stream_to_socket_listenerr      s°   è ø€ ð& ×#Ñ#×*Ñ*€FØ×%Ñ%×1Ñ1Ó3€HØ”'—/‘/¤7×#3Ñ#3Ð4Ñ4Ü˜“>ˆØ�A‰;˜)Ò#Ø%ˆH�Q‰KØ�A‰;˜$ÒØˆH�Q‰KÜ˜“?ˆä�>‰> Ô(€DØ
�,‰,�xÓ
 × Ð Ü˜ÓÐð !ús   ‚B-CÂ/B?Â0CN)Ú r   r   Ú_highlevel_socketr   r   r   © ó    r   ú<module>r      s    ðÝ  ß <ðØ#ðàôr   