Ë
    UìfF  ã                   ó*   — d dl Z ddlmZ d„ Zd„ Zd„ Zy)é    Né   )Úiscoroutinefunctionc                 óÂ   — t        | dd«      ryt        | dd«      ryt        j                  | «      ryt        | d«      rt	        | j
                  «      ryt	        | «       S )zY
    Tests to see if an application is a legacy-style (double-callable) application.
    Ú_asgi_single_callableFÚ_asgi_double_callableTÚ__call__)ÚgetattrÚinspectÚisclassÚhasattrr   r   ©Úapplications    ú<D:\switchATM\venv\Lib\site-packages\asgiref/compatibility.pyÚis_double_callabler      s^   € ô
 ˆ{Ð3°UÔ;ØÜˆ{Ð3°UÔ;Øä‡{Ô#Øäˆ{˜JÔ'ô ˜{×3Ñ3Ô4Øä" ;Ó/Ð/Ð/ó    c                 ó   ‡ — ˆ fd„}|S )zS
    Transforms a double-callable ASGI application into a single-callable one.
    c              “   óB   •K  —  ‰| «      } |||«      ƒ d {  –—† S 7 Œ­w)N© )ÚscopeÚreceiveÚsendÚinstancer   s       €r   Únew_applicationz2double_to_single_callable.<locals>.new_application!   s$   øè ø€ Ù˜uÓ%ˆÙ˜g tÓ,×,Ð,Ð,ús   ƒ˜™r   )r   r   s   ` r   Údouble_to_single_callabler      s   ø€ ô
-ð Ðr   c                 ó2   — t        | «      rt        | «      } | S )zÚ
    Takes either a single- or double-callable application and always returns it
    in single-callable style. Use this to add backwards compatibility for ASGI
    2.0 applications to your server/test harness/etc.
    )r   r   r   s    r   Úguarantee_single_callabler   (   s   € ô ˜+Ô&Ü/°Ó<ˆØÐr   )r
   Úsyncr   r   r   r   r   r   r   ú<module>r      s   ðÛ å %ò0ò,	ór   