Ë
    UV.jt  ã                  óð   — d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z ddlmZ ddlmZ eeefZ	 dd	lmZ dad
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zy# e$ r 	 dd	lmZ n# e$ r dZY nw xY wY Œ9w xY w)zPython Compatibility Utilities.é    )ÚannotationsN)Úcontextmanager©Úwraps)Úmetadata)ÚUnsupportedOperation)Úreraise)Úregister_after_forkc                ó.   ‡ — t        ‰ «      ˆ fd„«       }|S )z*Decorator to mark generator as co-routine.c                 ó.   •—  ‰| i |¤Ž}t        |«       |S ©N)Únext)ÚargsÚkwargsÚitÚgens      €úTC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\kombu/utils/compat.pyÚwind_upzcoro.<locals>.wind_up   s   ø€ á�$Ð!˜&Ñ!ˆÜˆRŒØˆ	ó    r   )r   r   s   ` r   Úcoror      s    ø€ ä
ˆ3ƒZóó ðð €Nr   c                 óþ   — dt         j                  v r	 dd l} ddlm}  || «      ry	 dt         j                  v r&	 dd l} ddlm} | j                  |j                  u ry	 yy# t
        $ r Y ŒDw xY w# t
        $ r Y yw xY w)NÚeventletr   )Úis_monkey_patchedÚgevent)ÚsocketÚdefault)ÚsysÚmodulesr   Úeventlet.patcherr   ÚImportErrorr   )r   Úis_eventletÚ_gsockets      r   Ú_detect_environmentr#   &   s‰   € à”S—[‘[Ñ ð	ÛåIá˜6Ô"Ø!ð #ð ”3—;‘;Ñð	Ûå1à�}‰} §¡Ñ/Øð 0ñ
 øô ò 	Ùð	ûô ò 	Øàð	ús"   ”A! »"A0 Á!	A-Á,A-Á0	A<Á;A<c                 ó.   — t         €
t        «       a t         S )z=Detect the current environment: default, eventlet, or gevent.)Ú_environmentr#   © r   r   Údetect_environmentr'   B   s   € ô ÐÜ*Ó,ˆÜÐr   c                óø   — t         j                  dk\  rt        j                  | ¬«      }n't        j                  «       }	 |j	                  | g «      }d„ |D «       S # t
        $ r |j                  | ¬«      }Y Œ&w xY w)z,Return setuptools entrypoints for namespace.)é   é
   )Úgroupc              3  ó@   K  — | ]  }||j                  «       f–— Œ y ­wr   )Úload)Ú.0Úeps     r   Ú	<genexpr>zentrypoints.<locals>.<genexpr>U   s"   è ø€ ð áˆBð 
ˆR�W‰W‹YŒÙùs   ‚)r   Úversion_infoÚimportlib_metadataÚentry_pointsÚgetÚAttributeErrorÚselect)Ú	namespacer3   s     r   Úentrypointsr8   J   s~   € ä
×Ñ˜6Ò!Ü)×6Ñ6¸YÔG‰ä)×6Ñ6Ó8ˆð	@Ø'×+Ñ+¨I°rÓ:ˆLñáóð øô ò 	@Ø'×.Ñ.°YÐ.Ó?ŠLð	@ús   Á A ÁA9Á8A9c                óZ   — t        | t        j                  «      r| S | j                  «       S )z!Get fileno from file-like object.)Ú
isinstanceÚnumbersÚIntegralÚfileno©Úfs    r   r=   r=   [   s#   € ä�!”W×%Ñ%Ô&ØˆØ�8‰8‹:Ðr   c                ó8   — 	 t        | «      S # t        $ r Y yw xY w)z3Get object fileno, or :const:`None` if not defined.N)r=   ÚFILENO_ERRORSr>   s    r   Úmaybe_filenorB   b   s#   € ðÜ�a‹yÐøÜò Ùðús   ‚
 �	˜c               '  óV  K  — g }g }d}	 	 | D ]A  }|j                   }|j                  }|j                   |«       «       |j                  |«       ŒC |–— |r|j                  «       }	  ||Ž rd}|rŒ|dk7  rt        |d   |d   |d   «       	 ~y	 ~y#  t        j                  «       }Y ŒVxY w#  t        j                  «       }Y ŒWxY w# |r7|j                  «       }	  ||Ž rd}n#  t        j                  «       }Y nxY w|rŒ7|dk7  rt        |d   |d   |d   «       w w xY w# ~w xY w­w)zNest context managers.)NNNr   é   é   N)Ú__exit__Ú	__enter__Úappendr   Úexc_infoÚpopr	   )ÚmanagersÚexitsÚvarsÚexcÚmgrÚexitÚenters          r   ÚnestedrR   j   sA  è ø€ ð €EØ€DØ
€Cðð	0Û�Ø—|‘|�ØŸ™�Ø—‘™E›GÔ$Ø—‘˜TÕ"ð	  ð
 ŠJñ Ø—y‘y“{�ð)Ù˜S‘zØ0˜ò	 ð Ð(Ò(ô ˜˜A™  A¡¨¨A©Õ/áð )ñ øð!	!Ü—,‘,“.ŠCûð)ÜŸ,™,›.’Cûñ Ø—y‘y“{�ð)Ù˜S‘zØ0˜ùð)ÜŸ,™,›.’Cúò ð Ð(Ò(ô ˜˜A™  A¡¨¨A©Õ/ð	 )ûñ üs}   ‚D)‹A
B ÁD# Á(B. Á/D# Á2D# ÂD)ÂD)ÂB+Â)C	 Â.CÃD# Ã	D ÃC%Ã$D Ã%C=Ã;D ÄD Ä D# Ä#D&Ä&D))Ú__doc__Ú
__future__r   r;   r   Ú
contextlibr   Ú	functoolsr   Ú	importlibr   r2   Úior   Úkombu.exceptionsr	   r5   Ú
ValueErrorrA   Úbilliard.utilr
   r    Úmultiprocessing.utilr%   r   r#   r'   r8   r=   rB   rR   r&   r   r   Ú<module>r]      s�   ðÙ %å "ã Û 
Ý %Ý Ý 4Ý #å $à Ð-AÐB€ð#Ý1ð €òòò8òò"òð ñó ñøðs ò #ð#Þ<øØò #Ø"Òð#üð#ús5   µA ÁA5ÁA%Á$A5Á%A/Á,A5Á.A/Á/A5Á4A5