
    9j                         d dl Z d dlmZ de j                  deee j
                  df   eef   fdZde j                  dedede j                  fd	Z
y)
    N)Anysigreturn.c                 h   t        | j                  j                               }d}d}|D ]  }|j                  }|t        j
                  j                  t        j
                  j                  fv rd}|t        j
                  j                  t        j
                  j                  fv s~|dz  } |||fS )zr
    Returns tuple(sig.parameters.values()), if any has VAR_POSITIONAL or VAR_KEYWORD, and the max_positional
    Fr   T   )
tuple
parametersvalueskindinspect	ParameterVAR_POSITIONALVAR_KEYWORDPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORD)r   paramshas_var_argsmax_positionalpr   s         T/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/utils/_inspect.py_signature_metadatar      s     3>>((*+FLN  vvG%%44g6G6G6S6STTL--33
 
 aN  <//    argskwargsc                    t        |       \  }}}|r | j                  |i |S t        |      }||kD  rt        d| d|       i }d}|D ]z  }	|	j                  }
|	j
                  }|t        j                  j                  u r\|
|v rt        d|
 d      ||k  r||   ||
<   |dz  }^|	j                  t        j                  j                  u st        d|
 d      |t        j                  j                  u rj||k  r!|
|v rt        d|
 d      ||   ||
<   |dz  }|
|v r	||
   ||
<   |	j                  t        j                  j                  u st        d|
 d      |t        j                  j                  u s8|
|v r
||
   ||
<   F|	j                  t        j                  j                  u snt        d|
 d       |D ]  }
|
| j                  vst        d	|
 d       t        j                  | |      S )
z
    Fast path for inspect.Signature.bind() for signatures without
    VAR_POSITIONAL or VAR_KEYWORD parameters. Falls back to sig.bind()
    for signatures that contain *args or **kwargs.
    z,Too many positional arguments: expected max z, got r   zAGot some positional-only arguments passed as keyword arguments: ''r   zMissing required argument 'zMultiple values for argument 'z$Got an unexpected keyword argument ')r   bindlen	TypeErrornamer   r   r   r   defaultemptyr   KEYWORD_ONLYr	   BoundArguments)r   r   r   r   r   r   len_args	argumentsarg_ir   r    r   s               r   
_fast_bindr(      sB    ,?s+C(FL. sxx(((4yH. :>:J&QYPZ[
 	
 !#IE Gvvvv7$$444v~WX\W]]^_  x"&u+	$
g//555"=dV1 EFFW&&<<<x6>#&DTF!$LMM"&u+	$
"(,	$g//555"=dV1 EFFW&&333v~"(,	$g//555"=dV1 EFF=GD  Ls~~%B4&JKKL !!#y11r   )r   typingr   	Signaturer   r   boolintr   r$   r(    r   r   <module>r.      ss     0			0
5""C'($340.>2			>2#&>225>2>2r   