Ë
    < |hi  ã                   ób   — U d Z ddlZ ej                  e«      Zi Zeed<   d„ Zd„ Z	d„ Z
d„ Zd„ Zy)	zZ
State management and query functions for tracking and discovering what
has been patched.
é    NÚsavedc                 ó   — | t         v S )z©
    Check if a module has been replaced with a cooperative version.

    :param str mod_name: The name of the standard library module,
        e.g., ``'socket'``.

    )r   )Úmod_names    úS/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/monkey/_state.pyÚis_module_patchedr      s   € ð ”uÐÐó    c                 ó2   — t        | «      xr |t        |    v S )a$  
    Check if an object in a module has been replaced with a
    cooperative version.

    :param str mod_name: The name of the standard library module,
        e.g., ``'socket'``.
    :param str item_name: The name of the attribute in the module,
        e.g., ``'create_connection'``.

    )r   r   )r   Ú	item_names     r   Úis_object_patchedr      s   € ô ˜XÓ&ÒG¨9¼¸h¹Ð+GÐGr   c                  ó    — t        t        «      S )aD  
    Check if this module has done any patching in the current process.
    This is currently only used in gevent tests.

    Not currently a documented, public API, because I'm not convinced
    it is 100% reliable in the event of third-party patch functions that
    don't use ``saved``.

    .. versionadded:: 21.1.0
    )Úboolr   © r   r   Úis_anything_patchedr   +   s   € ô ”‹;Ðr   c                 óÊ   — t         j                  | i «      }g }d }|D ]C  }||v r|j                  ||   «       Œ|€t        | «      }|j                  t	        ||«      «       ŒE |S ©N)r   ÚgetÚappendÚ
__import__Úgetattr)ÚnameÚitemsÚdÚvaluesÚmoduleÚitems         r   Ú_get_originalr   8   sk   € Ü	‰	$˜Ó€AØ€FØ€FØò 1ˆØ1‰9ØM‰M˜!˜D™'Õ"àˆ~Ü# DÓ)ØM‰Mœ' &¨$Ó/Õ0ð1ð €Mr   c                 ód   — t         j                  | j                  i «      j                  ||«       y r   )r   Ú
setdefaultÚ__name__)r   Ú	attr_namer   s      r   Ú_saver!   E   s#   € Ü	×ÑV—_‘_ bÓ)×4Ñ4°YÀÕEr   )Ú__doc__ÚloggingÚ	getLoggerr   Úloggerr   ÚdictÚ__annotations__r   r   r   r   r!   r   r   r   ú<module>r(      sG   ðòó à	ˆ×	Ñ	˜8Ó	$€ð €€dƒòòHòòóFr   