o
    i                     @   s   d Z ddlZddlmZmZmZ ddlmZ ddlmZm	Z	 dZ
ejd ZerOzddlmZmZmZ ddlmZ ddlmZm	Z	 d	Z
W n	 eyN   Y nw d
d ZdS )zTThis module is used to switch between C and Python implementations of the
wrappers.
    N   )BoundFunctionWrapperCallableObjectProxyFunctionWrapper)ObjectProxy)PartialCallableObjectProxy_FunctionWrapperBaseFWRAPT_DISABLE_EXTENSIONSTc                  O   s   t | i |S )zCreate a callable object proxy with partial application of the given
    arguments and keywords. This behaves the same as `functools.partial`, but
    implemented using the `ObjectProxy` class to provide better support for
    introspection.
    )r   )argskwargs r   E/mnt/sdb/aimis/docanh/lib/python3.10/site-packages/wrapt/__wrapt__.pypartial&   s   r   )__doc__oswrappersr   r   r   r   BaseObjectProxyr   r   _using_c_extensionenvironget_use_extensions	_wrappersImportErrorr   r   r   r   r   <module>   s"    