§
    #ˆtjD3  ã                  óÌ  — U d dl mZ d dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZ d d	lmZmZmZ d
dlmZ d
dlmZmZmZ ddlmZmZmZ ddl m!Z! e"ez  ez  Z#de$d<   e%e"e&f         Z'de$d<   e'e"z  Z(de$d<   e%e)e'f         Z*de$d<   e%e)e"f         Z+de$d<    ed¦  «        Z,ej-        fdddœd7d$„Z. G d%„ d&e¦  «        Z/ G d'„ d(e¦  «        Z0 G d)„ d*ee0¦  «        Z1 G d+„ d,e1¦  «        Z2 G d-„ d.ee1         e0¦  «        Z3 G d/„ d0ee*         e0¦  «        Z4 G d1„ d2ee)         e0¦  «        Z5 G d3„ d4ee+         e0¦  «        Z6 G d5„ d6ee)         e0¦  «        Z7dS )8é    )ÚannotationsN)Úabstractmethod)ÚCallableÚ
CollectionÚMapping)ÚAsyncExitStack)ÚIOBase)ÚIPv4AddressÚIPv6Address)ÚAddressFamily)ÚAnyÚ	TypeAliasÚTypeVaré   )Úget_async_backend)ÚTypedAttributeProviderÚTypedAttributeSetÚtyped_attributeé   )Ú
ByteStreamÚListenerÚUnreliableObjectStream)Ú	TaskGroupr   ÚIPAddressTypeÚIPSockAddrTypeÚSockAddrTypeÚUDPPacketTypeÚUNIXDatagramPacketTypeÚT_RetvalF)Úrequire_connectedÚrequire_boundÚ
sock_or_fdúsocket.socket | intÚ	sock_typeúsocket.SocketKindÚaddr_familyúsocket.AddressFamilyr    Úboolr!   Úreturnúsocket.socketc               ór  — t          | t          ¦  «        rs	 t          j        | ¬¦  «        }nž# t          $ rO}|j        t          j        k    rt          d¦  «        |‚|rt          d¦  «        |‚|rt          d¦  «        |‚‚ d }~ww xY wt          | t          j        ¦  «        r| }n%t          dt          | ¦  «        j	        › d�¦  «        ‚	 |r8	 | 
                    ¦   «          n"# t          $ r}t          d¦  «        |‚d }~ww xY w|rs	 |j        t          j        t          j        fv r|                     ¦   «         d         }n|                     ¦   «         }n# t          $ r d }Y nw xY w|st          d¦  «        ‚|t          j        k    r/|j        |k    r$t          d|j        › d	|j        j        › �¦  «        ‚|j        |k    r$t          d
|j        › d	|j        j        › �¦  «        ‚n8# t"          $ r+ t          | t          ¦  «        r|                     ¦   «          ‚ w xY w|                     d¦  «         |S )N)Úfilenoz.the file descriptor does not refer to a socketzthe socket must be connectedz+the socket must be bound to a local addresszexpected an int or socket, got z insteadr   z"address family mismatch: expected z, got zsocket type mismatch: expected F)Ú
isinstanceÚintÚsocketÚOSErrorÚerrnoÚENOTSOCKÚ
ValueErrorÚ	TypeErrorÚtypeÚ__qualname__ÚgetpeernameÚfamilyÚAF_INETÚAF_INET6ÚgetsocknameÚ	AF_UNSPECÚnameÚBaseExceptionÚdetachÚsetblocking)r"   r$   r&   r    r!   ÚsockÚexcÚ
bound_addrs           úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/anyio/abc/_sockets.pyÚ_validate_socketrE      sË  € õ �*�cÑ"Ô"ð 
ð	Ý”=¨
Ð3Ñ3Ô3ˆDˆDøÝð 
	ð 
	ð 
	ØŒy�EœNÒ*Ð*Ý ØDñô àðð #ð Ý Ð!?Ñ@Ô@ÀcÐIØð Ý Ð!NÑOÔOÐUXÐXàøøøøð
	øøøõ 
�J¥¤Ñ	.Ô	.ð 
ØˆˆåØU­d°:Ñ.>Ô.>Ô.KÐUÐUÐUñ
ô 
ð 	
ð"Øð 	JðJØ× Ò Ñ"Ô"Ð"Ð"øÝð Jð Jð JÝ Ð!?Ñ@Ô@ÀcÐIøøøøðJøøøð ð 
	Pð"Ø”;¥6¤>µ6´?Ð"CÐCÐCØ!%×!1Ò!1Ñ!3Ô!3°AÔ!6�J�Jà!%×!1Ò!1Ñ!3Ô!3�JøøÝð "ð "ð "Ø!�
�
�
ð"øøøð ð PÝ Ð!NÑOÔOÐOà�&Ô*Ò*Ð*¨t¬{¸kÒ/IÐ/IÝð&°[Ô5Eð &ð &Ø”;Ô#ð&ð &ñô ð ð
 Œ9˜	Ò!Ð!ÝØX°)´.ÐXÐXÈÌ	ÌÐXÐXñô ð ð "øõ ð ð ð å�j¥#Ñ&Ô&ð 	Ø�KŠK‰MŒMˆMàðøøøð 	×Ò�UÑÔÐØ€Ksk   —- ­
B·A
BÂBÃG* ÃC$ Ã#G* Ã$
DÃ.C>Ã>DÄG* Ä	AE ÅG* ÅE'Å$G* Å&E'Å'BG* Ç*5Hc                  óÈ   — e Zd ZU dZ e¦   «         Zded<    e¦   «         Zded<    e¦   «         Zded<    e¦   «         Z	ded	<    e¦   «         Z
ded
<    e¦   «         Zded<   dS )ÚSocketAttributeaý  
    .. attribute:: family
        :type: socket.AddressFamily

        the address family of the underlying socket

    .. attribute:: local_address
        :type: tuple[str, int] | str

        the local address the underlying socket is connected to

    .. attribute:: local_port
        :type: int

        for IP based sockets, the local port the underlying socket is bound to

    .. attribute:: raw_socket
        :type: socket.socket

        the underlying stdlib socket object

    .. attribute:: remote_address
        :type: tuple[str, int] | str

        the remote address the underlying socket is connected to

    .. attribute:: remote_port
        :type: int

        for IP based sockets, the remote port the underlying socket is connected to
    r   r8   r   Úlocal_addressr.   Ú
local_portr*   Ú
raw_socketÚremote_addressÚremote_portN)Ú__name__Ú
__module__r6   Ú__doc__r   r8   Ú__annotations__rH   rI   rJ   rK   rL   © ó    rD   rG   rG   c   sµ   € € € € € € ðð ð@ ,˜OÑ-Ô-€FÐ-Ð-Ð-Ñ-Ø"1 /Ñ"3Ô"3€MÐ3Ð3Ð3Ñ3Ø%�oÑ'Ô'€JÐ'Ð'Ð'Ñ'Ø / Ñ 1Ô 1€JÐ1Ð1Ð1Ñ1Ø#2 ?Ñ#4Ô#4€NÐ4Ð4Ð4Ñ4Ø&�Ñ(Ô(€KÐ(Ð(Ð(Ñ(Ð(Ð(rR   rG   c                  óN   — e Zd Zedd„¦   «         Zeedd„¦   «         ¦   «         ZdS )	Ú_SocketProviderr)   úMapping[Any, Callable[[], Any]]c                ó²  ‡ ‡‡‡— ddl mŠ t          j        ˆ fd„t          j        ˆˆ fd„t          j        ˆ fd„i}	  ‰‰ j                             ¦   «         ¦  «        Šn# t          $ r d ŠY nw xY w‰�ˆfd„|t          j	        <   ‰ j        j        t          j        t          j        fv r.ˆ fd„|t          j        <   ‰�‰d         Šˆfd	„|t          j        <   |S )
Nr   )Úconvert_ipv6_sockaddrc                 ó   •— ‰ j         j        S ©N)Ú_raw_socketr8   ©Úselfs   €rD   ú<lambda>z2_SocketProvider.extra_attributes.<locals>.<lambda>’   s   ø€ ¨DÔ,<Ô,C€ rR   c                 óH   •—  ‰ ‰j                              ¦   «         ¦  «        S rY   ©rZ   r;   )Úconvertr\   s   €€rD   r]   z2_SocketProvider.extra_attributes.<locals>.<lambda>“   s%   ø€ °7°7ØÔ ×,Ò,Ñ.Ô.ñ4ô 4€ rR   c                 ó   •— ‰ j         S rY   )rZ   r[   s   €rD   r]   z2_SocketProvider.extra_attributes.<locals>.<lambda>–   s
   ø€ °Ô0@€ rR   c                 ó   •— ‰ S rY   rQ   )Úpeernames   €rD   r]   z2_SocketProvider.extra_attributes.<locals>.<lambda>Ÿ   s   ø€ À€ rR   c                 óB   •— ‰ j                              ¦   «         d         S )Nr   r_   r[   s   €rD   r]   z2_SocketProvider.extra_attributes.<locals>.<lambda>£   s   ø€ ØÔ ×,Ò,Ñ.Ô.¨qÔ1ð rR   r   c                 ó   •— ‰ S rY   rQ   )rL   s   €rD   r]   z2_SocketProvider.extra_attributes.<locals>.<lambda>¨   s   ø€ À+€ rR   )Ú_core._socketsrW   rG   r8   rH   rJ   rZ   r7   r0   rK   r   r9   r:   rI   rL   )r\   Ú
attributesr`   rc   rL   s   ` @@@rD   Úextra_attributesz _SocketProvider.extra_attributes�   s6  øøøø€ àEÐEÐEÐEÐEÐEõ Ô"Ð$CÐ$CÐ$CÐ$CÝÔ)ð ,ð ,ð ,ð ,ð ,õ Ô&Ð(@Ð(@Ð(@Ð(@ð4
ˆ
ð	Ø/6¨w°tÔ7G×7SÒ7SÑ7UÔ7UÑ/VÔ/VˆHˆHøÝð 	ð 	ð 	ØˆHˆHˆHð	øøøð ÐØ9IÐ9IÐ9IÐ9IˆJ•Ô5Ñ6ð ÔÔ"¥}Ô'<½mÔ>TÐ&UÐUÐUð6ð 6ð 6ð 6ˆJ•Ô1Ñ2ð Ð#Ø& qœk�Ø:MÐ:MÐ:MÐ:M�
�?Ô6Ñ7àÐs   ¼"A ÁA.Á-A.r*   c                ó   — d S rY   rQ   r[   s    rD   rZ   z_SocketProvider._raw_socket¬   s	   € ð 	ˆrR   N)r)   rU   )r)   r*   )rM   rN   r6   Úpropertyrh   r   rZ   rQ   rR   rD   rT   rT   Œ   s\   € € € € € Øðð ð ñ „Xðð< Øðð ð ñ „^ñ „Xðð ð rR   rT   c                  ó*   — e Zd ZdZedd„¦   «         ZdS )ÚSocketStreamzu
    Transports bytes over a socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r"   r#   r)   c              ƒ  óŒ   K  — t          |t          j        d¬¦  «        }t          ¦   «                              |¦  «        ƒ d{V —†S )aH  
        Wrap an existing socket object or file descriptor as a socket stream.

        The newly created socket wrapper takes ownership of the socket being passed in.
        The existing socket must already be connected.

        :param sock_or_fd: a socket object or file descriptor
        :return: a socket stream

        T©r    N)rE   r/   ÚSOCK_STREAMr   Úwrap_stream_socket©Úclsr"   rA   s      rD   Úfrom_socketzSocketStream.from_socket¹   sL   è è € õ   
­FÔ,>ÐRVÐWÑWÔWˆÝ&Ñ(Ô(×;Ò;¸DÑAÔAÐAÐAÐAÐAÐAÐAÐArR   N)r"   r#   r)   rl   ©rM   rN   r6   rO   Úclassmethodrs   rQ   rR   rD   rl   rl   ²   sD   € € € € € ðð ð ðBð Bð Bñ „[ðBð Bð BrR   rl   c                  óV   — e Zd Zedd„¦   «         Zedd
„¦   «         Zedd„¦   «         ZdS )ÚUNIXSocketStreamr"   r#   r)   c              ƒ  ó¢   K  — t          |t          j        t          j        d¬¦  «        }t	          ¦   «                              |¦  «        ƒ d{V —†S )aR  
        Wrap an existing socket object or file descriptor as a UNIX socket stream.

        The newly created socket wrapper takes ownership of the socket being passed in.
        The existing socket must already be connected.

        :param sock_or_fd: a socket object or file descriptor
        :return: a UNIX socket stream

        Trn   N)rE   r/   ro   ÚAF_UNIXr   Úwrap_unix_stream_socketrq   s      rD   rs   zUNIXSocketStream.from_socketÊ   sX   è è € õ  Ø�Ô*­F¬NÈdð
ñ 
ô 
ˆõ 'Ñ(Ô(×@Ò@ÀÑFÔFÐFÐFÐFÐFÐFÐFÐFrR   ÚmessageÚbytesÚfdsúCollection[int | IOBase]ÚNonec              ƒ  ó
   K  — dS )zð
        Send file descriptors along with a message to the peer.

        :param message: a non-empty bytestring
        :param fds: a collection of files (either numeric file descriptors or open file
            or socket objects)
        NrQ   )r\   r{   r}   s      rD   Úsend_fdszUNIXSocketStream.send_fdsÛ   ó
   è è € € € rR   Úmsglenr.   Úmaxfdsútuple[bytes, list[int]]c              ƒ  ó
   K  — dS )a  
        Receive file descriptors along with a message from the peer.

        :param msglen: length of the message to expect from the peer
        :param maxfds: maximum number of file descriptors to expect from the peer
        :return: a tuple of (message, file descriptors)
        NrQ   )r\   rƒ   r„   s      rD   Úreceive_fdszUNIXSocketStream.receive_fdså   r‚   rR   N)r"   r#   r)   rw   )r{   r|   r}   r~   r)   r   )rƒ   r.   r„   r.   r)   r…   )rM   rN   r6   ru   rs   r   r�   r‡   rQ   rR   rD   rw   rw   É   sv   € € € € € ØðGð Gð Gñ „[ðGð  ðð ð ñ „^ðð ðð ð ñ „^ðð ð rR   rw   c                  óN   — e Zd ZdZedd„¦   «         Zedd„¦   «         Z	 ddd„ZdS )ÚSocketListenerz}
    Listens to incoming socket connections.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r"   r#   r)   c              ƒ  óŒ   K  — t          |t          j        d¬¦  «        }t          ¦   «                              |¦  «        ƒ d{V —†S )a  
        Wrap an existing socket object or file descriptor as a socket listener.

        The newly created listener takes ownership of the socket being passed in.

        :param sock_or_fd: a socket object or file descriptor
        :return: a socket listener

        T©r!   N)rE   r/   ro   r   Úwrap_listener_socketrq   s      rD   rs   zSocketListener.from_socket÷   sK   è è € õ   
­FÔ,>ÈdÐSÑSÔSˆÝ&Ñ(Ô(×=Ò=¸dÑCÔCÐCÐCÐCÐCÐCÐCÐCrR   rl   c              ƒ  ó
   K  — dS )zAccept an incoming connection.NrQ   r[   s    rD   ÚacceptzSocketListener.accept  r‚   rR   NÚhandlerúCallable[[SocketStream], Any]Ú
task_groupúTaskGroup | Noner   c              ƒ  ó  K  — ddl m} t          ¦   «         4 ƒd {V —†}|€#|                      |¦   «         ¦  «        ƒ d {V —†}	 |                      ¦   «         ƒ d {V —†}|                     ||¦  «         Œ1# 1 ƒd {V —†swxY w Y   d S )Nr   )Úcreate_task_group)Ú r”   r   Úenter_async_contextrŽ   Ú
start_soon)r\   r�   r‘   r”   ÚstackÚstreams         rD   ÚservezSocketListener.serve  s  è è € ð
 	)Ð(Ð(Ð(Ð(Ð(å!Ñ#Ô#ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7 uØÐ!Ø#(×#<Ò#<Ð=NÐ=NÑ=PÔ=PÑ#QÔ#QÐQÐQÐQÐQÐQÐQ�
ð7Ø#Ÿ{š{™}œ}Ð,Ð,Ð,Ð,Ð,Ð,�Ø×%Ò% g¨vÑ6Ô6Ð6ð7ð		7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   �AA5Á5
A?ÂA?)r"   r#   r)   r‰   )r)   rl   rY   )r�   r�   r‘   r’   r)   r   )	rM   rN   r6   rO   ru   rs   r   rŽ   rš   rQ   rR   rD   r‰   r‰   ð   s€   € € € € € ðð ð ðDð Dð Dñ „[ðDð  ð-ð -ð -ñ „^ð-ð (,ð7ð 7ð 7ð 7ð 7ð 7ð 7rR   r‰   c                  ó2   — e Zd ZdZedd„¦   «         Zdd„ZdS )Ú	UDPSocketz{
    Represents an unconnected UDP socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r"   r#   r)   c              ƒ  óŒ   K  — t          |t          j        d¬¦  «        }t          ¦   «                              |¦  «        ƒ d{V —†S )aI  
        Wrap an existing socket object or file descriptor as a UDP socket.

        The newly created socket wrapper takes ownership of the socket being passed in.
        The existing socket must be bound to a local address.

        :param sock_or_fd: a socket object or file descriptor
        :return: a UDP socket

        Tr‹   N)rE   r/   Ú
SOCK_DGRAMr   Úwrap_udp_socketrq   s      rD   rs   zUDPSocket.from_socket#  sK   è è € õ   
­FÔ,=ÈTÐRÑRÔRˆÝ&Ñ(Ô(×8Ò8¸Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>rR   Údatar|   ÚhostÚstrÚportr.   r   c              ƒ  óD   K  — |                       |||ff¦  «        ƒ d{V —†S )z^
        Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))).

        N©Úsend)r\   r    r¡   r£   s       rD   ÚsendtozUDPSocket.sendto2  s5   è è € ð
 —Y’Y  t¨T lÐ3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4rR   N)r"   r#   r)   rœ   )r    r|   r¡   r¢   r£   r.   r)   r   ©rM   rN   r6   rO   ru   rs   r§   rQ   rR   rD   rœ   rœ     sR   € € € € € ðð ð ð?ð ?ð ?ñ „[ð?ð5ð 5ð 5ð 5ð 5ð 5rR   rœ   c                  ó*   — e Zd ZdZedd„¦   «         ZdS )ÚConnectedUDPSocketzy
    Represents an connected UDP socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r"   r#   r)   c              ƒ  óŒ   K  — t          |t          j        d¬¦  «        }t          ¦   «                              |¦  «        ƒ d{V —†S )aV  
        Wrap an existing socket object or file descriptor as a connected UDP socket.

        The newly created socket wrapper takes ownership of the socket being passed in.
        The existing socket must already be connected.

        :param sock_or_fd: a socket object or file descriptor
        :return: a connected UDP socket

        Trn   N)rE   r/   rž   r   Úwrap_connected_udp_socketrq   s      rD   rs   zConnectedUDPSocket.from_socketA  sV   è è € õ  ØÝÔØ"ð
ñ 
ô 
ˆõ
 'Ñ(Ô(×BÒBÀ4ÑHÔHÐHÐHÐHÐHÐHÐHÐHrR   N)r"   r#   r)   rª   rt   rQ   rR   rD   rª   rª   :  sD   € € € € € ðð ð ðIð Ið Iñ „[ðIð Ið IrR   rª   c                  ó2   — e Zd ZdZedd„¦   «         Zdd„ZdS )ÚUNIXDatagramSocketz…
    Represents an unconnected Unix datagram socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r"   r#   r)   c              ƒ  óž   K  — t          |t          j        t          j        ¦  «        }t	          ¦   «                              |¦  «        ƒ d{V —†S )a'  
        Wrap an existing socket object or file descriptor as a UNIX datagram
        socket.

        The newly created socket wrapper takes ownership of the socket being passed in.

        :param sock_or_fd: a socket object or file descriptor
        :return: a UNIX datagram socket

        N)rE   r/   rž   ry   r   Úwrap_unix_datagram_socketrq   s      rD   rs   zUNIXDatagramSocket.from_socket^  sJ   è è € õ   
­FÔ,=½v¼~ÑNÔNˆÝ&Ñ(Ô(×BÒBÀ4ÑHÔHÐHÐHÐHÐHÐHÐHÐHrR   r    r|   Úpathr¢   r   c              ƒ  ó@   K  — |                       ||f¦  «        ƒ d{V —†S )zCAlias for :meth:`~.UnreliableObjectSendStream.send` ((data, path)).Nr¥   )r\   r    r±   s      rD   r§   zUNIXDatagramSocket.sendtop  s.   è è € à—Y’Y  d˜|Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,rR   N)r"   r#   r)   r®   )r    r|   r±   r¢   r)   r   r¨   rQ   rR   rD   r®   r®   U  sV   € € € € € ðð ð ðIð Ið Iñ „[ðIð"-ð -ð -ð -ð -ð -rR   r®   c                  ó*   — e Zd ZdZedd„¦   «         ZdS )ÚConnectedUNIXDatagramSocketz‚
    Represents a connected Unix datagram socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r"   r#   r)   c              ƒ  ó¢   K  — t          |t          j        t          j        d¬¦  «        }t	          ¦   «                              |¦  «        ƒ d{V —†S )ar  
        Wrap an existing socket object or file descriptor as a connected UNIX datagram
        socket.

        The newly created socket wrapper takes ownership of the socket being passed in.
        The existing socket must already be connected.

        :param sock_or_fd: a socket object or file descriptor
        :return: a connected UNIX datagram socket

        Trn   N)rE   r/   rž   ry   r   Ú#wrap_connected_unix_datagram_socketrq   s      rD   rs   z'ConnectedUNIXDatagramSocket.from_socket|  sX   è è € õ   Ø�Ô)­6¬>ÈTð
ñ 
ô 
ˆõ 'Ñ(Ô(×LÒLÈTÑRÔRÐRÐRÐRÐRÐRÐRÐRrR   N)r"   r#   r)   r´   rt   rQ   rR   rD   r´   r´   u  sD   € € € € € ðð ð ðSð Sð Sñ „[ðSð Sð SrR   r´   )r"   r#   r$   r%   r&   r'   r    r(   r!   r(   r)   r*   )8Ú
__future__r   r1   r/   Úabcr   Úcollections.abcr   r   r   Ú
contextlibr   Úior	   Ú	ipaddressr
   r   r   Útypingr   r   r   Ú_core._eventloopr   Ú_core._typedattrr   r   r   Ú_streamsr   r   r   Ú_tasksr   r¢   r   rP   Útupler.   r   r   r|   r   r   r   r<   rE   rG   rT   rl   rw   r‰   rœ   rª   r®   r´   rQ   rR   rD   ú<module>rÃ      sØ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø  Ð  Ð  Ð  Ð  Ð  Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð
 CÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ Ð Ð Ð Ð Ð à Ñ,¨{Ñ:€Ð :Ð :Ð :Ñ :Ø! # s (œO€Ð +Ð +Ð +Ñ +Ø(¨3Ñ.€Ð .Ð .Ð .Ñ .Ø  ¨Ð!6Ô7€Ð 7Ð 7Ð 7Ñ 7Ø$)¨%°¨*Ô$5Ð Ð 5Ð 5Ð 5Ñ 5Øˆ7�:ÑÔ€ð )/Ô(8ðBð
 $ØðBð Bð Bð Bð Bð BðJ&)ð &)ð &)ð &)ð &)Ð'ñ &)ô &)ð &)ðR#ð #ð #ð #ð #Ð,ñ #ô #ð #ðLBð Bð Bð Bð B�:˜ñ Bô Bð Bð.$ð $ð $ð $ð $�|ñ $ô $ð $ðN)7ð )7ð )7ð )7ð )7�X˜lÔ+¨_ñ )7ô )7ð )7ðX5ð 5ð 5ð 5ð 5Ð& }Ô5°ñ 5ô 5ð 5ð<Ið Ið Ið Ið IÐ/°Ô6¸ñ Iô Ið Ið6-ð -ð -ð -ð -ØÐ1Ô2°Oñ-ô -ð -ð@Sð Sð Sð Sð SÐ"8¸Ô"?Àñ Sô Sð Sð Sð SrR   