+
    TiJ                        ^ RI Ht ^ RIt^ RIt^ RIt^RIHtHt RR.t	Rt
]P                   ! R R4      4       tR R	 lt]P                   ! R
 R4      4       tR R ltR R ltR# )    )annotationsN)InvalidProxy
InvalidURI	parse_uriWebSocketURIz:/?#[]@!$&'()*+,;=c                      ] tR t^t$ RtR]R&   R]R&   R]R&   R]R&   R]R	&   R
tR]R&   R
tR]R&   ]R R l4       t	]R R l4       t
RtR
# )r   a  
WebSocket URI.

Attributes:
    secure: :obj:`True` for a ``wss`` URI, :obj:`False` for a ``ws`` URI.
    host: Normalized to lower case.
    port: Always set even if it's the default.
    path: May be empty.
    query: May be empty if the URI doesn't include a query component.
    username: Available when the URI contains `User Information`_.
    password: Available when the URI contains `User Information`_.

.. _User Information: https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1

boolsecurestrhostintportpathqueryN
str | Noneusernamepasswordc                   V ^8  d   QhRR/# )   returnr    )formats   "Y/home/kuhnn/.local/share/uv/tools/nano-pdf/lib/python3.14/site-packages/websockets/uri.py__annotate__WebSocketURI.__annotate__,   s      s     c                	    V P                   '       d   V P                   pMR pV P                  '       d   VRV P                  ,           ,          pV# )/?)r   r   )selfresource_names   & r   r!   WebSocketURI.resource_name+   s;    999 IIMM:::S4::--Mr   c                   V ^8  d   QhRR/# r   r   ztuple[str, str] | Noner   )r   s   "r   r   r   6        . .1 .r   c                	r    V P                   f   R # V P                  f   Q hV P                   V P                  3# Nr   r   r    s   &r   	user_infoWebSocketURI.user_info5   2    == }}(((t}}--r   r   )__name__
__module____qualname____firstlineno____doc____annotations__r   r   propertyr!   r*   __static_attributes__r   r   r   r   r      s\      L
I
I
IJHjHj  . .r   c                    V ^8  d   QhRRRR/# )r   urir   r   r   r   )r   s   "r   r   r   =   s     /M /M3 /M< /Mr   c           	        \         P                  P                  V 4      pVP                  R9  d   \	        V R4      hVP
                  f   \	        V R4      hVP                  R8w  d   \	        V R4      hVP                  R8H  pVP
                  pVP                  ;'       g    V'       d   RM^PpVP                  pVP                  pVP                  pVP                  pVe   Vf   \	        V R4      h V P                  R4       \#        W#WEWgV4      #   \         d    TP                  R	4      P                  4       p\         P                  P                  T\         R
7      p\         P                  P                  T\         R
7      pTeQ   Tf   Q h\         P                  P                  T\         R
7      p\         P                  P                  T\         R
7      p Li ; i)z
Parse and validate a WebSocket URI.

Args:
    uri: WebSocket URI.

Returns:
    Parsed WebSocket URI.

Raises:
    InvalidURI: If ``uri`` isn't a valid WebSocket URI.

wsszscheme isn't ws or wsshostname isn't provided z"fragment identifier is meaningless  "username provided without passwordasciiidnasafe)wsr8   )urllibparseurlparseschemer   hostnamefragmentr   r   r   r   r   encodeUnicodeEncodeErrordecodequoteDELIMSr   )	r6   parsedr
   r   r   r   r   r   r   s	   &        r   r   r   =   s    \\""3'F}}M)677788"BCC]]e#F??D;;11&3bD;;DLLEHH  0BCCA

7 d%8LL  	A {{6"))+||!!$V!4""5v"6'''||))()@H||))()@H	As   4D CGGc                  l    ] tR t^ot$ RtR]R&   R]R&   R]R&   RtR]R	&   RtR]R
&   ]R R l4       t	Rt
R# )Proxya  
Proxy.

Attributes:
    scheme: ``"socks5h"``, ``"socks5"``, ``"socks4a"``, ``"socks4"``,
        ``"https"``, or ``"http"``.
    host: Normalized to lower case.
    port: Always set even if it's the default.
    username: Available when the proxy address contains `User Information`_.
    password: Available when the proxy address contains `User Information`_.

.. _User Information: https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1

r   rE   r   r   r   Nr   r   r   c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   Proxy.__annotate__   r%   r   c                	r    V P                   f   R # V P                  f   Q hV P                   V P                  3# r'   r(   r)   s   &r   r*   Proxy.user_info   r,   r   r   )r-   r.   r/   r0   r1   r2   r   r   r3   r*   r4   r   r   r   rO   rO   o   s>     K
I
IHjHj. .r   rO   c                    V ^8  d   QhRRRR/# )r   proxyr   r   rO   r   )r   s   "r   r   r      s     /9 /9s /9u /9r   c                   \         P                  P                  V 4      pVP                  R9  d   \	        V RVP                   R24      hVP
                  f   \	        V R4      hVP                  R9  d   \	        V R4      hVP                  R8w  d   \	        V R4      hVP                  R8w  d   \	        V R4      hVP                  pVP
                  pVP                  ;'       g    VP                  R8X  d   R	M^PpVP                  pVP                  pVe   Vf   \	        V R
4      h V P                  R4       \#        W#WEV4      #   \         dw    TP                  R4      P                  4       pTeQ   Tf   Q h\         P                  P                  T\         R7      p\         P                  P                  T\         R7      p Li ; i)z
Parse and validate a proxy.

Args:
    proxy: proxy.

Returns:
    Parsed proxy.

Raises:
    InvalidProxy: If ``proxy`` isn't a valid proxy.

httpszscheme z isn't supportedr9   r:   zpath is meaninglesszquery is meaninglesszfragment is meaninglessr;   r<   r=   r>   r?   )socks5hsocks5socks4asocks4rW   http)r:   r   )rB   rC   rD   rE   r   rF   r   r   rG   r   r   r   rH   rI   rJ   rK   rL   rO   )rU   rM   rE   r   r   r   r   s   &      r   parse_proxyr]      s    \\""5)F}}WW5GFMM?:J"KLL5";<<{{)#5"788||r5"899"5";<<]]F??D;;CC&--7":3DHH  05"FGG	AW tx88  A {{6"))+'''||))()@H||))()@HAs   *E A>G	G	c                    V ^8  d   QhRRRR/# )r   r6   r   r   r   r   )r   s   "r   r   r      s     ! !< !J !r   c                   \         P                  P                  V P                   RV P                   24      '       d   R# \         P                  P                  4       pV P                  '       d   . ROpM. ROpV FJ  pVP                  V4      pVf   K  VR8X  d(   VP                  R4      '       d   RVR,          ,           pVu # 	  R# )	zM
Return the proxy to use for connecting to the given WebSocket URI, if any.

:Nsockszhttp://z
socks5h://:   NN)r8   ra   rW   )rA   ra   rW   r\   )	rB   requestproxy_bypassr   r   
getproxiesr
   get
startswith)r6   proxiesschemesrE   rU   s   &    r   	get_proxyrj      s    
 ~~""chhZq
#;<< nn'')G
zzz+2F# U%5%5i%@%@$uRy0L  r   )
__future__r   dataclassesurllib.parserB   urllib.request
exceptionsr   r   __all__rL   	dataclassr   r   rO   r]   rj   r   r   r   <module>rr      sx    "    0 
' 
 (. (. (.V/Md . . .</9d!r   