Ë
    RPfæ
  ã                  óZ   — d dl mZ d dlZd dlmZmZmZmZ dgZdd„Z		 	 d	 	 	 	 	 	 	 d	d„Z
y)
é    )ÚannotationsN)ÚAnyÚDictÚIterableÚOptionalÚlazy_importc                óš   — d}||   dk(  r#|dz  }|t        |«      k  sJ d«       ‚||   dk(  rŒ#t        ||d |d| g|«      }t        || «      S )aN  
    Import ``name`` from ``source`` in ``namespace``.

    There are two use cases:

    - ``name`` is an object defined in ``source``;
    - ``name`` is a submodule of ``source``.

    Neither :func:`__import__` nor :func:`~importlib.import_module` does
    exactly this. :func:`__import__` is closer to the intended behavior.

    r   ú.é   z%importing from parent isn't supportedN)ÚlenÚ
__import__Úgetattr)ÚnameÚsourceÚ	namespaceÚlevelÚmodules        úL/var/www/fastapitest/venv/lib/python3.12/site-packages/websockets/imports.pyÚimport_namer   
   sm   € ð €EØ
�‰-˜3Ò
Ø�‰
ˆØ”s˜6“{Ò"ÐKÐ$KÓKÐ"ð �‰-˜3Ó
ô ˜˜u˜v˜¨	°4¸$¸ÀÓG€FÜ�6˜4Ó Ð ó    c                óì   ‡ ‡‡‡‡‡‡— ‰€i Š‰€i Št        ‰ «      Št        ‰«      Št        ‰«      Š‰‰z  rJ d«       ‚‰‰z  rJ d«       ‚‰‰z  rJ d«       ‚‰ d   Šdˆˆˆ ˆfd„}|‰ d<   d	ˆˆˆfd„}|‰ d<   y)
a„  
    Provide lazy, module-level imports.

    Typical use::

        __getattr__, __dir__ = lazy_import(
            globals(),
            aliases={
                "<name>": "<source module>",
                ...
            },
            deprecated_aliases={
                ...,
            }
        )

    This function defines ``__getattr__`` and ``__dir__`` per :pep:`562`.

    Nznamespace conflictÚ__name__c                ó  •— ‰€J ‚	 ‰|    }t        | |‰«      S # t        $ r Y nw xY w‰€J ‚	 ‰|    }t        j                  ‰› d| › d�t        d¬«       t        | |‰«      S # t        $ r Y nw xY wt        d‰›d| ›�«      ‚)Nr
   z is deprecatedé   )Ú
stacklevelzmodule z has no attribute )r   ÚKeyErrorÚwarningsÚwarnÚDeprecationWarningÚAttributeError)r   r   ÚaliasesÚdeprecated_aliasesr   Úpackages     €€€€r   Ú__getattr__z lazy_import.<locals>.__getattr__F   sÃ   ø€ ØÐ"Ð"Ð"ð	8Ø˜T‘]ˆFô ˜t V¨YÓ7Ð7øô ò 	Ùð	úð
 "Ð-Ð-Ð-ð
	8Ø'¨Ñ-ˆFô �M‰MØ�)˜1˜T˜F .Ð1Ü"Øõô
 ˜t V¨YÓ7Ð7øô ò 	Ùð	úô ˜w w kÐ1CÀDÀ8ÐLÓMÐMs   ‡ ™	%¤%­A! Á!	A-Á,A-r$   c                 ó&   •— t        ‰‰ z  ‰z  «      S )N)Úsorted)Úaliases_setÚdeprecated_aliases_setÚnamespace_sets   €€€r   Ú__dir__zlazy_import.<locals>.__dir__`   s   ø€ Ü�m kÑ1Ð4JÑJÓKÐKr   r*   )r   ÚstrÚreturnr   )r,   zIterable[str])Úset)	r   r!   r"   r$   r*   r'   r(   r)   r#   s	   ```  @@@@r   r   r      s«   þ€ ð0 €ØˆØÐ!ØÐä˜	“N€MÜ�g“,€KÜ Ð!3Ó4Ðà˜{Ò*Ð@Ð,@Ó@Ð*ØÐ5Ò5ÐKÐ7KÓKÐ5ØÐ3Ò3ÐIÐ5IÓIÐ3à˜
Ñ#€G÷Nð Nð0  +€IˆmÑ÷Lð #€IˆiÒr   )r   r+   r   r+   r   úDict[str, Any]r,   r   )NN)r   r.   r!   úOptional[Dict[str, str]]r"   r/   r,   ÚNone)Ú
__future__r   r   Útypingr   r   r   r   Ú__all__r   r   © r   r   ú<module>r5      sU   ðÝ "ã ß 0Ó 0ð ˆ/€ó!ð. )-Ø37ðD#ØðD#à%ðD#ð 1ðD#ð 
ô	D#r   