Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.217.216.192
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : inspect.cpython-310.opt-2.pyc
o

^b\��@s�	dZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlmZddlmZmZe�Zej��D]
\ZZeede<q]dZdddd�d	d
�Zdd�Z d
d�Z!dd�Z"dd�Z#dd�Z$e%ed�r�dd�Z&ndd�Z&e%ed�r�dd�Z'ndd�Z'dd�Z(dd �Z)d!d"�Z*d#d$�Z+d%d&�Z,d'd(�Z-d)d*�Z.d+d,�Z/d-d.�Z0d/d0�Z1d1d2�Z2d3d4�Z3d5d6�Z4d7d8�Z5d9d:�Z6d�d;d<�Z7ed=d>�Z8d?d@�Z9dAdB�Z:ddC�dDdE�Z;dFdG�Z<dHdI�Z=dJdK�Z>dLdM�Z?dNdO�Z@dPdQ�ZAdRdS�ZBdTdU�ZCd�dVdW�ZDiZEiZFd�dXdY�ZGGdZd[�d[eH�ZIGd\d]�d]ejJ�ZKd^d_�ZLd`da�ZMGdbdc�dceH�ZNGddde�de�ZOdfdg�ZPdhdi�ZQdjdk�ZRdldm�ZSd�dndo�ZTedpdq�ZUdrds�ZVedtdu�ZWdvdw�ZXedxdy�ZYdzd{�ZZed|d}�Z[d~d�Z\d�d�d��Z]d�d��Z^dddd�iie_d�d��d�d��d�d��d�d��e]fd�d��Z`e_d�d��d�d��d�d��fd�d��Zad�d��Zbd�d��Zcd�d��Zded�d��Zed�d��Zfed�d��Zgd�d�d��Zhd�d��Zied�d�egjj�Zkd�d�d��Zld�d�d��Zmd�d��Znd�d�d��Zod�d�d��Zpeq�Zrd�d��Zsd�d��Ztd�d��Zud�d��Zvd�d��Zwerfd�d��Zxd�Zyd�Zzd�Z{d�Z|d�d��Z}d�d��Z~d�Zd�Z�d�Z�d�Z�d�dDŽZ�d�dɄZ�e�e�j��Z�e�e�j��Z�e�e�j�d��Z�e�e�e�ej�fZ�d�d̄Z�d�d�d΄Z�d�dЄZ�d�d҄Z�d�dԄZ�d�dքZ�d�d؄Z�d�d�dۄZ�d�d�d݄Z�	�	d�d�d߄Z�d�d�dddd�d�d�Z�Gd�d�d�Z�Gd�d�d�Z�Gd�d�d�ej��Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�d�e�d�e�d�e�d�e�d�iZ�Gd�d�d�Z�Gd�d�d�Z�Gd�d�d�Z�d�dddd�d�d��Z�d�d��Z�e�d�k�r�e��dSdS()zKa-Ping Yee <ping@lfw.org>z'Yury Selivanov <yselivanov@sprymix.com>�N)�
attrgetter)�
namedtuple�OrderedDictZCO_iF��globals�locals�eval_strcs�	t|t�rFt|dd�}|r"t|d�r"|�dd�}t|tj�r!d}nd}d}t|dd�}|r=tj�|d�}|r=t|dd�}t	t
|��}	|}
n2t|tj�r\t|dd�}t|d�}d}	d}
nt|�rqt|dd�}t|dd�}d}	|}
nt
|�d���|dur~iSt|t	�s�t|�d���|s�iS|s�t	|�S|
dur�	t|
d	�r�|
j}
q�t|
tj�r�|
j}
q�	t|
d�r�|
j}�dur�|��dur�|	���fd
d�|��D�}|S)N�__dict__�get�__annotations__�
__module__�__globals__z% is not a module, class, or callable.z+.__annotations__ is neither a dict nor NoneT�__wrapped__cs,i|]\}}|t|t�s|nt|����qS�)�
isinstance�str�eval)�.0�key�value�rrr�0/usr/local/python-3.10/lib/python3.10/inspect.py�
<dictcomp>�s
��z#get_annotations.<locals>.<dictcomp>)r�type�getattr�hasattrr
�types�GetSetDescriptorType�sys�modules�dict�vars�
ModuleType�callable�	TypeError�
ValueErrorr�	functools�partial�funcr
�items)�objrrrZobj_dict�annZobj_globals�module_name�moduleZ
obj_locals�unwrapZreturn_valuerrr�get_annotationsBsn
,�



�r/cC�	t|tj�S�N)rrr"��objectrrr�ismodule��r4cC�	t|t�Sr1)rrr2rrr�isclass��
r7cCr0r1)rr�
MethodTyper2rrr�ismethod��r:cCs<	t|�s
t|�s
t|�rdSt|�}t|d�ot|d�S)NF�__get__�__set__�r7r:�
isfunctionrr�r3�tprrr�ismethoddescriptor�s

rBcCs:	t|�s
t|�s
t|�rdSt|�}t|d�pt|d�S)NFr=�
__delete__r>r@rrr�isdatadescriptor�s
rD�MemberDescriptorTypecCr0r1)rrrEr2rrr�ismemberdescriptor��rFcC�	dS�NFrr2rrrrF��rcCr0r1)rrrr2rrr�isgetsetdescriptorrGrKcCrHrIrr2rrrrKrJcCr0r1)rr�FunctionTyper2rrrr?s
r?cCs>	t|�r|j}t|�st�|�}t|�sdSt|jj|@�SrI)r:�__func__r&�_unwrap_partialr?�bool�__code__�co_flags)�f�flagrrr�_has_code_flag"s�
rTcCr6r1)rTZCO_GENERATOR�r*rrr�isgeneratorfunction-�
rVcCr6r1)rTZCO_COROUTINErUrrr�iscoroutinefunction4rWrXcCr6r1)rTZCO_ASYNC_GENERATORrUrrr�isasyncgenfunction;r8rYcCr0r1)rr�AsyncGeneratorTyper2rrr�
isasyncgenC�r[cCr0r1)rr�
GeneratorTyper2rrr�isgeneratorGsr^cCr0r1)rr�
CoroutineTyper2rrr�iscoroutineXr\r`cCs8	t|tj�pt|tj�ot|jjt@�pt|tj	j
�Sr1)rrr_r]rO�gi_coderQZCO_ITERABLE_COROUTINE�collections�abc�	Awaitabler2rrr�isawaitable\s��recCr0r1)rr�
TracebackTyper2rrr�istracebackcr;rgcCr0r1)rr�	FrameTyper2rrr�isframemsricCr0r1)rr�CodeTyper2rrr�iscode{srkcCr0r1)rr�BuiltinFunctionTyper2rrr�	isbuiltin�r5rmcCs"	t|�pt|�pt|�pt|�Sr1)rmr?r:rBr2rrr�	isroutine�s���rncCs�	t|t�sdS|jt@rdStt|�tj�sdSt|d�r dS|j�	�D]
\}}t
|dd�r2dSq%|jD]}t
|dd�D]}t
||d�}t
|dd�rPdSq>q6dS)NFT�__abstractmethods__�__isabstractmethod__r)rr�	__flags__�TPFLAGS_IS_ABSTRACT�
issubclassrc�ABCMetarr	r)r�	__bases__)r3�namer�baserrr�
isabstract�s*


�
��rxc	Cs	t|�r
|ft|�}nd}g}t�}t|�}z|jD]}|j��D]\}}t|tj	�r2|�
|�q#qWn	ty>Ynw|D]>}	z
t||	�}
|	|vrOt�Wntyl|D]}|	|jvrg|j|	}
qjqYYqAYnw|rs||
�rz|�
|	|
f�|�
|	�qA|jdd�d�|S)NrcSs|dS)Nrr)Zpairrrr�<lambda>��zgetmembers.<locals>.<lambda>�r)r7�getmro�set�dirrur	r)rr�DynamicClassAttribute�append�AttributeErrorr�add�sort)r3�	predicate�mro�results�	processed�namesrw�k�vrrrrr�
getmembers�sL

����
�

���	r��	Attributezname kind defining_class objectcCs6	t|�}tt|��}tdd�|D��}|f|}||}t|�}|D]}|j��D]\}}t|tj�r>|j	dur>|�
|�q*q#g}	t�}
|D]�}d}d}
d}||
vr�z|dkr\td��t
||�}
Wntyt}zWYd}~nGd}~wwt
|
d|�}||vr�d}d}|D]}t
||d�}||
ur�|}q�|D]}z|�||�}Wn	ty�Yq�w||
ur�|}q�|dur�|}|D]}||jvr�|j|}||vr�|}q�q�|dur�qG|
dur�|
n|}t|ttjf�r�d}|}n!t|ttjf�r�d}|}nt|t�r�d}|}n
t|��rd	}nd
}|	�
t||||��|
�|�qG|	S)Ncss �|]}|ttfvr|VqdSr1)rr3)r�clsrrr�	<genexpr>s�z'classify_class_attrs.<locals>.<genexpr>r	z)__dict__ is special, don't want the proxy�__objclass__z
static methodzclass method�property�method�data)r|r�tupler~r	r)rrr�fgetr�r}�	Exceptionr�__getattr__r��staticmethod�BuiltinMethodType�classmethod�ClassMethodDescriptorTyper�rnr�r�)r�r�ZmetamroZclass_basesZ	all_basesr�rwr�r��resultr�rvZhomeclsZget_objZdict_obj�excZlast_clsZsrch_clsZsrch_objr*�kindrrr�classify_class_attrs�s�

��
�����

�

r�cC�	|jSr1)�__mro__)r�rrrr|^sr|��stopcs�	�dur
dd�}n�fdd�}|}t|�|i}t��}||�r@|j}t|�}||vs1t|�|kr8td�|���|||<||�s |S)NcS�
t|d�S�Nr�r�rRrrr�_is_wrapperu�
zunwrap.<locals>._is_wrappercst|d�o	�|�Sr�r�r�r�rrr�xsz!wrapper loop when unwrapping {!r})�idr�getrecursionlimitr�lenr%�format)r(r�r�rR�memoZrecursion_limitZid_funcrr�rr.ds
�r.cCs	|��}t|�t|���Sr1)�
expandtabsr��lstrip)�lineZexplinerrr�
indentsize�sr�cCsNtj�|j�}|dur
dS|j�d�dd�D]}t||�}qt|�s%dS|S)N�.���)rrr
r�__qualname__�splitrr7)r(r�rvrrr�
_findclass�sr�c	Cs�t|�r'|jD]}|tur$z|j}Wn	tyYqw|dur$|SqdSt|�rI|jj}|j}t|�rEt	t	||d�d�|jurE|}q�|j
}n�t|�rb|j}t|�}|dus_t	||�|uradSnmt
|�r�|j}|j}t|�r}|jd||jkr}|}q�|j
}nNt|t�r�|j}|j}t|�}|dus�t	||�|ur�dSn1t|�s�t|�r�|j}|j}t	||�|ur�dSt|�r�t	|dd�}t|t�r�||vr�||SndS|jD]}zt	||�j}Wn	ty�Yq�w|dur�|Sq�dS)NrMr��	__slots__)r7r�r3�__doc__r�r:rM�__name__�__self__r�	__class__r?r�rmr�rr�r�rBrDr�rFr )r*rw�docrv�selfr�r(�slotsrrr�_finddoc�s|

�����
��
��r�c	Csf	z|j}Wn
tyYdSw|dur(zt|�}Wnttfy'YdSwt|t�s/dSt|�Sr1)r�r�r�r$rr�cleandoc)r3r�rrr�getdoc�s
��
r�cCs�	z	|���d�}Wn
tyYdSwtj}|dd�D]}t|���}|r3t|�|}t||�}q|r>|d��|d<|tjkrWtdt|��D]}|||d�||<qJ|rg|dsg|�	�|rg|dr]|rx|dsx|�	d�|rx|drmd�
|�S)N�
�rr�)r�r��UnicodeErrorr�maxsizer�r��min�range�pop�join)r��linesZmarginr�Zcontent�indent�irrrr��s0�
�
(�
�
r�cCs�	t|�rt|dd�r|jStd�|���t|�r>t|d�r7tj�	|j
�}t|dd�r.|jS|j
dkr7td��td�|���t|�rE|j
}t|�rL|j}t|�rS|j}t|�rZ|j}t|�ra|jStd�t|�j���)N�__file__z{!r} is a built-in moduler�__main__�source code not availablez{!r} is a built-in classzVmodule, class, method, function, traceback, frame, or code object was expected, got {})r4rr�r$r�r7rrrr
r�OSErrorr:rMr?rPrg�tb_frameri�f_coderk�co_filenamerr�)r3r-rrr�getfiles8

��r�cCsV	tj�|�}dd�tj��D�}|��|D]\}}|�|�r(|d|�SqdS)NcSsg|]	}t|�|f�qSr)r�)r�suffixrrr�
<listcomp>%s�z!getmodulename.<locals>.<listcomp>)�os�path�basename�	importlib�	machinery�all_suffixesr��endswith)r�Zfname�suffixesZneglenr�rrr�
getmodulename!s�
�r�cs�	t|��tjjdd�}|tjjdd�7}t�fdd�|D��r1tj���dtjj	d�nt�fdd�tjj
D��r@dStj���rH�St|��}t
|dd�durW�St
t
|dd�dd�dure�S�tjvrl�SdS)Nc3��|]}��|�VqdSr1�r��r�s��filenamerrr�4��z getsourcefile.<locals>.<genexpr>rc3r�r1r�r�r�rrr�7r��
__loader__�__spec__�loader)r�r�r��DEBUG_BYTECODE_SUFFIXES�OPTIMIZED_BYTECODE_SUFFIXES�anyr�r��splitext�SOURCE_SUFFIXES�EXTENSION_SUFFIXES�exists�	getmoduler�	linecache�cache)r3Zall_bytecode_suffixesr-rr�r�
getsourcefile-s,
��

�r�cCs.	|dur
t|�pt|�}tj�tj�|��Sr1)r�r�r�r��normcase�abspath)r3�	_filenamerrr�
getabsfileFsr�c
	Cs|	t|�r|St|d�rtj�|j�S|dur#|tvr#tj�t|�Szt||�}Wntt	fy6YdSw|tvrCtj�t|�Stj�
���D].\}}t|�rxt|d�rx|j}|t
�|d�krcqJ|t
|<t|�}|jt|<ttj�|�<qJ|tvr�tj�t|�Stjd}t|d�s�dSt||j�r�t||j�}||ur�|Stjd}t||j�r�t||j�}	|	|ur�|SdSdS)Nrr�r�r��builtins)r4rrrr
r�
modulesbyfiler�r$�FileNotFoundError�copyr)r��_filesbymodnamer�r�r��realpathr)
r3r��file�modnamer-rR�mainZ
mainobjectZbuiltinZ
builtinobjectrrrr�RsT
�
�
��


�r�c@�eZdZdS)�ClassFoundExceptionN�r�rr�rrrrr��rc@s(eZdZdd�Zdd�ZeZdd�ZdS)�_ClassFindercCsg|_||_dSr1)�stack�qualname)r�rrrr�__init__��
z_ClassFinder.__init__cCs<|j�|j�|j�d�|�|�|j��|j��dS)Nz<locals>)rr�rv�
generic_visitr��r��noderrr�visit_FunctionDef�s


z_ClassFinder.visit_FunctionDefcCsb|j�|j�|jd�|j�kr%|jr|jdj}n|j}|d8}t|��|�|�|j�	�dS)Nr�rr�)
rr�rvrr��decorator_list�linenorrr�)r�r
�line_numberrrr�visit_ClassDef�s
z_ClassFinder.visit_ClassDefN)r�rr�r	rZvisit_AsyncFunctionDefrrrrrr�s
rc

Cs�	t|�}|r
t�|�nt|�}|�d�r|�d�std��t||�}|r.t�||j	�}nt�|�}|s9td��t
|�rA|dfSt|�r||j}d�
|�}t�|�}t|�}z
|�|�Wtd��ty{}z|jd}	||	fWYd}~Sd}~wwt|�r�|j}t|�r�|j}t|�r�|j}t|�r�|j}t|�r�t|d�s�td	��|jd
}
t� d�}|
dkr�z||
}Wnt!y�td��w|�"|�r�	||
fS|
d
}
|
dks�||
fStd
��)N�<�>r�zcould not get source coder�zcould not find class definition�co_firstlinenoz"could not find function definitionr�z>^(\s*def\s)|(\s*async\s+def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)zlineno is out of boundszcould not find code object)#r�r��
checkcacher��
startswithr�r�r��getlinesr	r4r7r�r��ast�parser�visitr�argsr:rMr?rPrgr�rir�rkrr�re�compile�
IndexError�match)
r3r�r-r�r�sourceZtreeZclass_finder�er�lnum�patr�rrr�
findsource�sl



�
��


�
��r&c	Cs�	zt|�\}}WnttfyYdSwt|�r�d}|r*|ddd�dkr*d}|t|�krJ||��dvrJ|d}|t|�krJ||��dvs8|t|�kr�||dd�dkr�g}|}|t|�kr�||dd�dkr�|�||���|d}|t|�kr�||dd�dksnd�|�SdSdS|dk�rUt	||�}|d}|dk�rW||�
�dd�dk�rYt	||�|k�r[||���
�g}|dk�r|d}||���
�}|dd�dk�rt	||�|k�r|g|dd�<|d}|dkr��q||���
�}|dd�dk�rt	||�|ks�|�r2|d��dk�r2g|dd�<|�r2|d��dk�s |�rP|d��dk�rPg|dd�<|�rP|d��dk�s>d�|�SdSdSdSdS)	Nr�z#!r�)r�#r(rr�)r&r�r$r4r��stripr�r�r�r�r�)r3r�r$�startZcomments�endr�Zcommentrrr�getcomments�s\��   �
�
	$�
$"���
�r,c@r)�
EndOfBlockNrrrrrr-�r-c@seZdZ	dd�Zdd�ZdS)�BlockFindercCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)NrFr�)r��islambda�started�passline�indecorator�decoratorhasargs�last�	body_col0�r�rrrr	s
zBlockFinder.__init__cCs�|js!|js!|dkrd|_n|dvr|dkrd|_d|_d|_dS|dkr/|jr-d|_dSdS|dkr@|jr>d|_d|_dSdS|tjkrad|_|d|_|jrRt�|jr]|js_d|_dSdSdS|jrfdS|tj	kr�|j
durx|jrx|d	|_
|jd	|_d|_dS|tjkr�|jd	|_|jdkr�t�dS|tj
kr�|j
dur�|d	|j
kr�|d|_dSdSdS|jdkr�|tj
tjfvr�t�dSdS)
N�@T)�def�class�lambdar;�(�)Frr�)r1r3r0r2r4�tokenize�NEWLINEr5r-�INDENTr6r��DEDENT�COMMENT�NL)r�r�tokenZsrowcolZerowcolr�rrr�
tokeneater#sX

�
�


�




�
��zBlockFinder.tokeneaterN)r�rr�r	rErrrrr/s
r/c	CsV	t�}zt�t|�j�}|D]}|j|�qWnttfy#Ynw|d|j�Sr1)	r/r>�generate_tokens�iter�__next__rEr-�IndentationErrorr5)r�Zblockfinder�tokensZ_tokenrrr�getblockUs��rKcCs`	t|�}t|�\}}t|�r|j}t|�s t|�r$|jjdkr$|dfSt||d��|dfS)Nz<module>rr�)	r.r&rgr�r4rir��co_namerK�r3r�r$rrr�getsourcelines`s�
�rNcCs	t|�\}}d�|�S)Nr)rNr�rMrrr�	getsourceus
rOcCsT	g}|jtdd�d�|D]}|�||jf�||vr'|�t||||��q|S)Nrr�r{)r�rr�ru�walktree)�classes�children�parentr��crrrrPs�rPcCs�	i}g}|D]2}|jr0|jD]}||vrg||<|||vr&||�|�|r.||vr.q/qq||vr9|�|�q|D]}||vrG|�|�q<t||d�Sr1)rur�rP)rQ�uniquerR�rootsrTrSrrr�getclasstree�s(
�
�
�rW�	Argumentszargs, varargs, varkwc	Cs�	t|�std�|���|j}|j}|j}t|d|��}t||||��}d}||7}d}|jt@r=|j|}|d}d}|jt	@rI|j|}t
||||�S)Nz{!r} is not a code objectrr�)rkr$r��co_varnames�co_argcount�co_kwonlyargcount�listrQ�
CO_VARARGS�CO_VARKEYWORDSrX)	�cor��nargsZnkwargsr�
kwonlyargs�step�varargs�varkwrrr�getargs�s$



re�ArgSpeczargs varargs keywords defaultscCsF	tjdtdd�t|�\}}}}}}}|s|rtd��t||||�S)Nzhinspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()r'��
stacklevelzgFunction has keyword-only parameters or annotations, use inspect.signature() API which can support them)�warnings�warn�DeprecationWarning�getfullargspecr%rf)r(rrcrd�defaultsra�kwonlydefaultsr+rrr�
getargspec�s��ro�FullArgSpeczGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc
Csh	zt|ddtdd�}Wnty}ztd�|�d}~wwg}d}d}g}g}i}d}	i}
|j|jur9|j|d<|j��D]a}|j}|j	}
|t
ur\|�|
�|j|jur[|	|jf7}	n8|t
urr|�|
�|j|jurq|	|jf7}	n"|tury|
}n|tur�|�|
�|j|jur�|j|
|
<n|tur�|
}|j|jur�|j||
<q>|
s�d}
|	s�d}	t|||||	||
|�S)NF)�follow_wrapper_chains�skip_bound_arg�sigclsrzunsupported callabler�return)�_signature_from_callable�	Signaturer�r$�return_annotation�empty�
parameters�valuesr�rv�_POSITIONAL_ONLYr��default�_POSITIONAL_OR_KEYWORD�_VAR_POSITIONAL�
_KEYWORD_ONLY�_VAR_KEYWORD�
annotationrp)r(�sig�exrrcrd�posonlyargsra�annotationsrm�
kwdefaults�paramr�rvrrrrl�sl
�
��

�
�

�
��rl�ArgInfozargs varargs keywords localscCs"	t|j�\}}}t||||j�Sr1)rer�r��f_locals)�framerrcrdrrr�getargvaluesCsr�cCsjt|dd�dkrt|��dd�St|tj�rt|�St|t�r1|jd|fvr)|j	S|jd|j	St|�S)Nr�typingztyping.rr�r�)
r�repr�replacerr�GenericAliasrrrr�)r�Zbase_modulerrr�formatannotationMs
r�cst|dd���fdd�}|S)Nrcs
t|��Sr1)r�)r��r-rr�_formatannotationZr�z5formatannotationrelativeto.<locals>._formatannotation)r)r3r�rr�r�formatannotationrelativetoXsr�rcC�d|S�N�*r�rvrrrryarzrycCr��N�**rr�rrrrybrzcC�dt|�S�N�=�r��rrrrrycr.cCr�)Nz -> r)�textrrrrydrzc
s:	ddlm}
|
dtdd����fdd�}g}|r"t|�t|�}t|�D]\}}||�}|r>||kr>||
|||�}|�|�q&|durR|�|||���n|rY|�d�|rw|D]}||�}|rq||vrq||
||�7}|�|�q]|dur�|�|	||���d	d
�|�d}d�vr�||��d��7}|S)
Nr)rjzc`formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directlyr'rgcs(�|�}|�vr|d��|�7}|S)Nz: r)�argr��r�r��	formatargrr�formatargandannotationysz-formatargspec.<locals>.formatargandannotationr�r<�, r=rt)rirjrkr��	enumerater�r�)rrcrdrmrarnr�r��
formatvarargs�formatvarkw�formatvalueZ
formatreturnsr�rjr��specsZfirstdefaultr�r��specZ	kwonlyargr�rr�r�
formatargspec^s>�
r�cCr�r�rr�rrrry�rzcCr�r�rr�rrrry�rzcCr�r�r�r�rrrry�r.cCs�	|||fdd�}g}	tt|��D]}
|	�|||
��q|r,|	�||�|||��|r;|	�||�|||��dd�|	�dS)NcSs||�|||�Sr1r)rvrr�r�rrr�convert�sz formatargvalues.<locals>.convertr<r�r=)r�r�r�r�)rrcrdrr�r�r�r�r�r�r�rrr�formatargvalues�s
�r�cs��fdd�|D�}t|�}|dkr|d}n|dkr dj|�}ndj|dd��}|dd�=d	�|�|}td
|||r=dnd|dkrDd
nd|f��)Ncsg|]
}|�vrt|��qSrr�)rrv�rzrrr��sz&_missing_arguments.<locals>.<listcomp>r�rr'z	{} and {}z, {} and {}���r�z*%s() missing %i required %s argument%s: %s�
positional�keyword-onlyrr�)r�r�r�r$)�f_nameZargnames�posrzr��missingr��tailrr�r�_missing_arguments�s


��r�c
	s�t|�|}t�fdd�|D��}|r|dk}	d|f}
n|r*d}	d|t|�f}
nt|�dk}	tt|��}
d}|rOd}||dkrCd	nd||dkrKd	ndf}td
||
|	rWd	nd|||dkre|sedf��df��)
Ncsg|]}|�vr|�qSrr)rr�r�rrr��sz_too_many.<locals>.<listcomp>r�zat least %dTz
from %d to %drz7 positional argument%s (and %d keyword-only argument%s)r�z5%s() takes %s positional argument%s but %d%s %s givenZwasZwere)r�rr$)
r�rZkwonlyrcZdefcountZgivenrzZatleastZkwonly_given�pluralr�Z
kwonly_sig�msgrr�r�	_too_many�s0�����r�cOs�	t|�}|\}}}}}}	}
|j}i}t|�r"|jdur"|jf|}t|�}
t|�}|r0t|�nd}t|
|�}t|�D]
}|||||<q;|rRt||d��||<t||�}|r^i||<|�	�D])\}}||vr{|stt
d||f��||||<qb||vr�t
d||f��|||<qb|
|kr�|s�t||||||
|�|
|kr�|d||�}|D]
}||vr�t||d|�q�t
|||d��D]\}}||vr�||||<q�d}|D]}||vr�|	r�||	vr�|	|||<q�|d7}q�|r�t||d|�|S)Nrz*%s() got an unexpected keyword argument %rz(%s() got multiple values for argument %rTr�F)rlr�r:r�r�r�r�r�r}r)r$r�r�r�)r(r��namedr�rrcrdrmrarnr+r�Z	arg2valueZnum_posZnum_argsZnum_defaults�nr�Zpossible_kwargs�kwrZreqr�r��kwargrrr�getcallargs�sn
��
����r��ClosureVarsz"nonlocals globals builtins unboundc	Cs�	t|�r|j}t|�std�|���|j}|jduri}ndd�t|j|j�D�}|j	}|�
dtj�}t
|�r;|j}i}i}t�}|jD]/}|dvrLqEz||||<WqEtytz||||<Wntyq|�|�YnwYqEwt||||�S)N�{!r} is not a Python functioncSsi|]\}}||j�qSr)�
cell_contents)r�varZcellrrrr's��z"getclosurevars.<locals>.<dictcomp>�__builtins__)�None�True�False)r:rMr?r$r�rP�__closure__�zip�co_freevarsr
r
r�r	r4r}�co_names�KeyErrorr�r�)	r(�codeZ
nonlocal_varsZ	global_nsZ
builtin_nsZglobal_varsZbuiltin_varsZ
unbound_namesrvrrr�getclosurevarssD
�
����r��	Tracebackz+filename lineno function code_context indexr�cCs�	t|�r|j}|j}n|j}t|�std�|���t|�p!t|�}|dkr_|d|d}zt	|�\}}Wn
t
yCd}}Yqcwtdt|t
|�|��}||||�}|d|}nd}}t|||jj||�S)Nz'{!r} is not a frame or traceback objectrr�r')rg�	tb_linenor��f_linenorir$r�r�r�r&r��maxr�r�r�r�rL)r��contextrr�r*r�r$�indexrrr�getframeinfoIs(�r�cCr�r1)r��r�rrr�	getlinenoisr��	FrameInfor�cCs6	g}|r|ft||�}|�t|��|j}|s|Sr1)r�r�r��f_back)r�r��	framelist�	frameinforrr�getouterframesps�r�cCs8	g}|r|jft||�}|�t|��|j}|s|Sr1)r�r�r�r��tb_next)�tbr�r�r�rrr�getinnerframes|s�r�cCs	ttd�rt�d�SdS)N�	_getframer�)rrr�rrrr�currentframe�sr�cCs	tt�d�|�S)Nr�)r�rr��r�rrrr�srcCs	tt��d|�S)Nr')r�r�exc_infor�rrr�trace�sr�cCstjd�|�S)Nr�)rr	r<)�klassrrr�_static_getmro��r�cCs6i}zt�|d�}Wn	tyYnwt�||t�S�Nr	)r3�__getattribute__r�r r
�	_sentinel)r*�attrZ
instance_dictrrr�_check_instance�s�r�c	CsFt|�D]}tt|��tur z|j|WStyYqwqtSr1)r��_shadowed_dictrr�r	r�)r�r��entryrrr�_check_class�s��r�cCs$zt|�WdStyYdSw�NFT)r�r$rUrrr�_is_type�s
��r�c	Csltjd}t|�D]*}z	|�|�d}Wn	tyYq	wt|�tjur/|jdkr/|j|us3|Sq	t	Sr�)
rr	r�r<r�rrr�r�r�)r��	dict_attrr�Z
class_dictrrrr��s
����r�c	Cs	t}t|�s t|�}t|�}|tust|�tjurt||�}n|}t||�}|turC|turCtt|�d�turCtt|�d�turC|S|turI|S|turO|S||urvtt|��D]}tt|��turuz|j	|WSt
ytYqYwqY|tur||St|��)Nr<r=)r�r�rr�rrEr�r�r�r	r�r�)r*r�r|Zinstance_resultr�r�Zklass_resultr�rrr�getattr_static�sB
�
�
���r��GEN_CREATED�GEN_RUNNING�
GEN_SUSPENDED�
GEN_CLOSEDcC�.	|jrtS|jdur
tS|jjdkrtStS�Nr�)�
gi_runningr��gi_framer��f_lastir�r�)�	generatorrrr�getgeneratorstate��
r�cCs8	t|�std�|���t|dd�}|dur|jjSiS)Nz{!r} is not a Python generatorr�)r^r$r�rr�r�)r�r�rrr�getgeneratorlocals
sr��CORO_CREATED�CORO_RUNNING�CORO_SUSPENDED�CORO_CLOSEDcCr�r�)�
cr_runningr�cr_framerr�rr)�	coroutinerrr�getcoroutinestate"r�rcCs 	t|dd�}|dur|jSiS)Nr)rr�)rr�rrr�getcoroutinelocals4s
r�
from_bytescCs8	zt||�}Wn
tyYdSwt|t�s|SdSr1)rr�r�_NonUserDefinedCallables)r�Zmethod_name�methrrr�"_signature_get_user_defined_methodPs�
�rc
Cs�	|j}t|���}|jpd}|jpi}|r||}z
|j|i|��}Wnty:}z
d�|�}	t|	�|�d}~wwd}
|��D]y\}}z|j	|}
Wn	t
yUYn4w|jtura|�
|�qA|jtur|||vrud}
|j|
d�||<n|�
|j�qA|jtur�|j|
d�||<|
r�|jtur�||jtd�}|||<|�|�qA|jttfvr�|�|�qA|jtur�|�
|j�qA|j|��d�S)Nrz+partial object {!r} has incorrect argumentsFT)r|�r��ry)ryrr)r�keywords�bind_partialr$r�r%�	argumentsr�r�r{r�r}r�rvr�move_to_endr�r~rz)�wrapped_sigr'�
extra_argsZ
old_params�
new_paramsZpartial_argsZpartial_keywordsZbar�r�Ztransform_to_kwonly�
param_namer�Z	arg_valueZ	new_paramrrr�_signature_get_partial`sV



���






�rcCsn	t|j���}|r|djttfvrtd��|dj}|ttfvr)|dd�}n|t	ur1td��|j
|d�S)Nrzinvalid method signaturer�zinvalid argument typer)r�ryrzr�r�rr%r}r{r~r�)r��paramsr�rrr�_signature_bound_method�s
rcCs(	t|�pt|�pt|t�p|ttfvSr1)rmrBrr
rr3rUrrr�_signature_is_builtin�s��
�rcCs�	t|�r	t|�rdSt|dd�}t|dd�}t|dt�}t|dt�}t|dd�}t|tj�oNt|t�oN|dup<t|t�oN|dupEt|t	�oNt|t	�pN|duS)NFr�rP�__defaults__�__kwdefaults__r)
r#r7r�_voidrrrjrr�r )r*rvr�rmr�r�rrr�_signature_is_functionlike�s"����rcCs>	|�d�}|dkr|�d�}|�d�}|�d�}|d|�S)N�,r�r=�:r�r')�find)r�r�Zcposrrr�_signature_get_bound_param�s
	


r"cCs"	|s|ddfSd}d}dd�|�d�D�}t|�j}t�|�}d}d}g}|j}	d}
tj}tj}t|�}
|D]O}
|
j	|
j
}}||kr_|dkrT|rMd}nd}|
d7}
q7|d	kr_d}|
d}q7||krj|d
krj|
}q7|rzd}||krv|dksz|	d�|	|�|dkr�|	d
�q7d�|�}|||fS)NcSsg|]}|�d��qS)�ascii)�encode)r�lrrrr�sz6_signature_strip_non_python_syntax.<locals>.<listcomp>r�FrrTr��/�$r=r�� r)r�rGrHr>r�rD�OP�
ERRORTOKEN�nextr�stringr�)�	signature�self_parameter�last_positional_onlyr�r�Ztoken_streamZ
delayed_commaZskip_next_commar�r�Zcurrent_parameterr)r*�trr,�clean_signaturerrr�"_signature_strip_non_python_syntaxsT


�

r2Tc	sT	ddl�|j�t|�\}}}d|d}z��|�}Wnty'd}Ynwt|�j�s5td�|���|j	d}	g��j
�t��d}i�t|dd�}
|
rZt
j�|
d�}|rZ|j�t
j���	�fdd�����	fdd	��
G��
fd
d�d�j���f��������fdd
�	}t|	jj�}t|	jj�}
tj||
dd�}|dur��j�n�j�ttt|���D]\}\}}|||�||kr��j�q�|	jjrЈj�||	jj���j�t|	jj |	jj!�D]	\}}|||�q�|	jj"r�j#�||	jj"��|du�r#t|dd�}|du}t$|�}|�r|�s|�r��%d�n
�dj&�jd�}|�d<|�|j
d�S)Nrzdef fooz: passz"{!r} builtin has invalid signaturercs|jdur	td��|jS)Nz'Annotations are not currently supported)r�r%r�)r
)rrr�
parse_nameps
z&_signature_fromstr.<locals>.parse_namecspzt|��}Wnty"zt|��}Wn
tyt��wYnwt|tttttt	d�f�r5��
|�St��r1)r�	NameError�RuntimeErrorrr�int�float�bytesrOrZConstant)r�r)r�module_dict�sys_module_dictrr�
wrap_valuevs���
z&_signature_fromstr.<locals>.wrap_valuecs(eZdZ��fdd�Z��fdd�ZdS)z,_signature_fromstr.<locals>.RewriteSymbolicscsfg}|}t|�j�r|�|j�|j}t|�j�s
t|�j�s"t��|�|j�d�t	|��}�|�S)Nr�)
rr�r�r�r�Namer5r�r��reversed)r�r
�ar�r�rr;rr�visit_Attribute�s�z<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attributecst|j�j�s
t���|j�Sr1)r�ctxZLoadr%r�rr?rr�
visit_Name�s
z7_signature_fromstr.<locals>.RewriteSymbolics.visit_NameN)r�rr�r@rBrr?rr�RewriteSymbolics�srCcs��|�}|�ur
dS|r7|tur7z
���|�}��|�}Wnty(�}Ynw|�ur/dS|�ur5|n|}���|�|�d��dS�N�r|r�)�_emptyrZliteral_evalr%r�)Z	name_nodeZdefault_noder|rv�o)�	ParameterrCrrx�invalidr�ryr3rr�p�s�z_signature_fromstr.<locals>.p)�	fillvaluer�r
�rw)'r�_parameter_clsr2r�SyntaxErrorrZModuler%r��bodyrxr3rrrr
r	r�ZNodeTransformerr=rrm�	itertools�zip_longest�POSITIONAL_ONLY�POSITIONAL_OR_KEYWORDr�r\�vararg�VAR_POSITIONAL�KEYWORD_ONLYr�ra�kw_defaultsr��VAR_KEYWORDr4r�r�)r�r*r�rrr1r.r/Zprogramr-rRr,rJrrmrGr�rvr|Z_selfZself_isboundZ
self_ismoduler)rHrCrrxrIr�r9ryr3r:r;r�_signature_fromstrJst��



�
rYcCsD	t|�std�|���t|dd�}|std�|���t||||�S)Nz%{!r} is not a Python builtin function�__text_signature__z#no signature found for builtin {!r})rr$r�rr%rY)r�r(rrr�rrr�_signature_from_builtin�s�r[c	CsH	d}t|�st|�rd}ntd�|���t|dd�}|r$t||||�S|j}|j}	|	j}
|	j	}|	j
}|d|
�}
|	j}||
|
|�}t||||d�}|j
}|j}|rYt|�}nd}g}|
|}|}|
d|�D]}|rotnt}|�|t�}|�||||d��|r�|d8}qit|
|d��D]#\}}|r�tnt}|�|t�}|�||||||d	��|r�|d8}q�|	jt@r�||
|}|�|t�}|�|||td��|D]}t}|dur�|�|t�}|�|t�}|�|||t|d	��q�|	jt@�r|
|}|	jt@�r|d7}||}|�|t�}|�|||td��|||�d
t�|d�S)NFTr�rZrr)r�r�r�)r�r�r|rt�rw�__validate_parameters__)r?rr$r�rrYrMrPrZrY�co_posonlyargcountr[r/rrr�r{r}r
rFr�r�rQr]r~rr^r�)r�r(rrrrrZis_duck_functionr�rHZ	func_codeZ	pos_countZ	arg_namesZ
posonly_countr�Zkeyword_only_countZkeyword_onlyr�rmr�Zpos_default_countryZnon_default_countZposonly_leftrvr�r��offsetr|r�rrr�_signature_from_function�s�

��
��

�

�
�
�r`)rqrrrrrc
Cs~	tjt||||||d�}t|�std�|���t|tj�r+||j	�}|r)t
|�S|S|r?t|dd�d�}t|tj�r?||�Sz|j}Wn	t
yMYnw|dur`t|t�s^td�|���|Sz|j}	Wn	t
ynYn5wt|	tj�r�||	j�}
t|
|	d�}t|
j���d}|jtjur�|St|j���}|f|}
|j|
d	�St|�s�t|�r�t||||||d
�St|�r�t|||d�St|tj�r�||j�}
t|
|�Sd}t|t��rjt t|�d�}|dur�||�}n5d}t |d
�}t |d�}d
|j!vr�|}nd|j!v�r|}n|du�r
|}n|du�r|}|du�r||�}|du�ri|j"dd�D]}z|j#}Wnt
�y;Y�q)w|�rGt$|||�S�q)t|j"v�ri|j%t&j%u�rb|j't&j'u�rb|�(t&�St)d�|���n0t|t*��s�t t|�d�}|du�r�z||�}Wnt)�y�}z
d�|�}t)|�|�d}~ww|du�r�|�r�t
|�S|St|tj+��r�d�|�}t)|��t)d�|���)N)rqrrrrrsrz{!r} is not a callable objectcSr�)N�
__signature__r�r�rrrryf	s
z*_signature_from_callable.<locals>.<lambda>r�z1unexpected object {!r} in __signature__ attributer1rr)rrrrr)rr�__call__�__new__r	r�z(no signature found for builtin type {!r}zno signature found for {!r}z,no signature found for builtin function {!r}z+callable {!r} is not supported by signature),r&r'rur#r$r�rrr9rMrr.rar�rv�_partialmethod�
partialmethodr(rr�ryrzr�rHrUr�r?rr`rr[rrr	r�rZrYr	r3rc�
from_callabler%r
rl)r*rqrrrrrrsZ_get_signature_ofr�rerZfirst_wrapped_paramZ
sig_paramsr�callZfactory_method�newZinitrwZtext_sigr�r�rrrruC	s��

�
�
�

��










��
�
��


��

ruc@r)rNrrrrrr
rrc@r)rFNrrrrrrF
rrFc@s4eZdZdZdZdZdZdZdd�Ze	dd	��Z
d
S)�_ParameterKindrr�r'��cC�|jSr1)�_name_r7rrr�__str__
sz_ParameterKind.__str__cCst|Sr1)�_PARAM_NAME_MAPPINGr7rrr�description
sz_ParameterKind.descriptionN)r�rr�rRrSrUrVrXrnr�rprrrrri	
srizpositional-onlyzpositional or keywordzvariadic positionalr�zvariadic keywordc@s�eZdZ	dZeZeZeZ	e
ZeZ
eZeed�dd�Zdd�Zdd�Zed	d
��Zedd��Zed
d��Zedd��Zeeeed�dd�Zdd�Zdd�Zdd�Zdd�ZdS)rH)�_name�_kind�_default�_annotationrEcCszt|�|_Wntytd|�d���w|tur/|jttfvr/d}|�|jj�}t|��||_||_	|tur=td��t
|t�sNd�t|�j
�}t|��|ddkrz|dd���rz|jtkrnd	}|�|jj�}t|��t|_d
�|dd��}|��s�td�|���||_dS)Nzvalue z is not a valid Parameter.kindz({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {}rr�r�zLimplicit arguments must be passed as positional or keyword arguments, not {}z
implicit{}z"{!r} is not a valid parameter name)rirrr%rFr~r�r�rprsrtrrrr�r$�isdigitr}r{�isidentifierrq)r�rvr�r|r�r�rrrr	F
s8�

�
zParameter.__init__cCs t|�|j|jf|j|jd�fS)N�rsrt)rrqrrrsrtr7rrr�
__reduce__n
s
��zParameter.__reduce__cC�|d|_|d|_dS)Nrsrtrw�r��staterrr�__setstate__t
�
zParameter.__setstate__cCrlr1)rqr7rrrrvx
�zParameter.namecCrlr1)rsr7rrrr||
r~zParameter.defaultcCrlr1)rtr7rrrr��
r~zParameter.annotationcCrlr1)rrr7rrrr��
r~zParameter.kind)rvr�r�r|cCsN	|tur|j}|tur|j}|tur|j}|tur|j}t|�||||d�SrD)rrqrrrtrsr)r�rvr�r�r|rrrr��
szParameter.replacecCs�|j}|j}|jturd�|t|j��}|jtur1|jtur(d�|t|j��}n	d�|t|j��}|tkr;d|}|S|t	krCd|}|S)Nz{}: {}z{} = {}z{}={}r�r�)
r�rqrtrFr�r�rsr�r~r�)r�r��	formattedrrrrn�
s 
�

�zParameter.__str__cC�d�|jj|�S)Nz	<{} "{}">�r�r�r�r7rrr�__repr__�
r�zParameter.__repr__cCst|j|j|j|jf�Sr1)�hashrvr�r�r|r7rrr�__hash__�
szParameter.__hash__cCsJ||urdSt|t�s
tS|j|jko$|j|jko$|j|jko$|j|jkS�NT)rrH�NotImplementedrqrrrsrt�r��otherrrr�__eq__�
s

�
�
�zParameter.__eq__N)r�rr�r�r{rRr}rSr~rUrrVr�rXrFrxr	rxr|r�rvr|r�r�rr�rnr�r�r�rrrrrH&
s6(



�rHc@sfeZdZ	dZdd�Zedd��Zedd��Zedd	��Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dS)�BoundArguments)r�
_signature�__weakref__cCs||_||_dSr1)rr�)r�r-rrrrr	�
r
zBoundArguments.__init__cCrlr1)r�r7rrrr-�
r~zBoundArguments.signaturec	Cs�g}|jj��D]5\}}|jttfvrt|�Sz|j|}Wn
ty,Yt|�Sw|jtkr8|�	|�q|�
|�qt|�Sr1)r�ryr)r�r�rrr�r~�extendr�r�)r�rrr�r�rrrr�
s�	�
zBoundArguments.argsc	Cs�i}d}|jj��D];\}}|s"|jttfvrd}n||jvr"d}q
|s%q
z|j|}Wn	ty5Yq
w|jtkrA|�|�q
|||<q
|Sr�)	r�ryr)r�r�rrr��update)r��kwargsZkwargs_startedrr�r�rrrr��
s(
�

zBoundArguments.kwargsc	Cs�	|j}g}|jj��D]:\}}z|�|||f�WqtyF|jtur+|j}n|jt	ur3d}n
|jt
ur;i}nYq|�||f�Yqwt|�|_dS)Nr)rr�ryr)r�r�r|rFr�r~r�r )r�rZ
new_argumentsrvr��valrrr�apply_defaultss"


�zBoundArguments.apply_defaultscCs2||urdSt|t�s
tS|j|jko|j|jkSr�)rr�r�r-rr�rrrr�-s

�zBoundArguments.__eq__cCry)Nr�r�r�rrzrrrr|5r}zBoundArguments.__setstate__cCs|j|jd�S)Nr�r�r7rrr�__getstate__9�zBoundArguments.__getstate__cCs@g}|j��D]
\}}|�d�||��qd�|jjd�|��S)Nz{}={!r}z	<{} ({})>r�)rr)r�r�r�r�r�)r�rr�rrrrr�<szBoundArguments.__repr__N)r�rr�r�r	r�r-rr�r�r�r|r�r�rrrrr��
s


r�c@s�eZdZ	dZeZeZeZ	d+edd�dd�Z
edd��Zed	d
��Z
eddddd�d
d��Zedd��Zedd��Zeed�dd�Zdd�Zdd�Zdd�Zdd�dd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�ZdS),rv)�_return_annotation�_parametersNTr\cCs�	|dur	t�}n_|r_t�}t}d}|D]I}|j}|j}	||kr.d}
|
�|j|j�}
t|
��||kr6d}|}|ttfvrL|jt	urJ|rId}
t|
��nd}|	|vrYd�|	�}
t|
��|||	<qn	tdd�|D��}t
�|�|_||_
dS)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}css�|]}|j|fVqdSr1r��rr�rrrr��r�z%Signature.__init__.<locals>.<genexpr>)rr{r�rvr�rpr%r}r|rFr�MappingProxyTyper�r�)r�ryrwr]rZtop_kindZ
kind_defaultsr�r�rvr�rrrr	asF��
�	

�#
zSignature.__init__cC�	tjdtdd�t||�S)Nz_inspect.Signature.from_function() is deprecated since Python 3.5, use Signature.from_callable()r'rg)rirjrkr`�r�r(rrr�
from_function��
�
zSignature.from_functioncCr�)Nz^inspect.Signature.from_builtin() is deprecated since Python 3.5, use Signature.from_callable()r'rg)rirjrkr[r�rrr�from_builtin�r�zSignature.from_builtinF��follow_wrappedrrrcCs	t||||||d�S)N)rsrqrrr)ru)r�r*r�rrrrrrrf�s
�zSignature.from_callablecCrlr1)r�r7rrrry�r~zSignature.parameterscCrlr1�r�r7rrrrw�r~zSignature.return_annotation)ryrwcCs2	|tur
|j��}|tur|j}t|�||d�S)NrL)rryrzr�r)r�ryrwrrrr��s
�zSignature.replacecCs8tdd�|j��D��}dd�|j��D�}|||jfS)Ncss�|]
}|jtkr|VqdSr1)r�rr�rrrr��s��z(Signature._hash_basis.<locals>.<genexpr>cSsi|]}|jtkr|j|�qSr)r�rrvr�rrrr�s�z)Signature._hash_basis.<locals>.<dictcomp>)r�ryrzrw)r�r�
kwo_paramsrrr�_hash_basis�szSignature._hash_basiscCs(|��\}}}t|���}t|||f�Sr1)r��	frozensetrzr�)r�rr�rwrrrr��szSignature.__hash__cCs*||urdSt|t�s
tS|��|��kSr�)rrvr�r�r�rrrr��s

zSignature.__eq__�r'cCs~	i}t|j���}d}t|�}	zt|�}Wn`tywzt|�}	Wn
ty.YYq�w|	jtkr6Yq�|	j|vrS|	jtkrNd}
|
j	|	jd�}
t
|
�d�|	f}Yq�|	jtks]|	jt
urb|	f}Yq�|ri|	f}Yq�d}
|
j	|	jd�}
t
|
�d�wzt|�}	Wnty�t
d�d�w|	jttfvr�t
d�d�|	jtkr�|g}|�|�t|�||	j<q�|	j|vr�|	jtkr�t
dj	|	jd��d�|||	j<qd}t�||�D]P}	|	jtkr�|	}q�|	jtkr�q�|	j}
z|�|
�}Wn"t�y
|�s|	jtk�r|	jt
u�rt
dj	|
d��d�Yq�w|	jtk�rt
dj	|	jd���|||
<q�|�r9|du�r-|||j<nt
dj	tt|��d���|�||�S)	NrTzA{arg!r} parameter is positional only, but was passed as a keyword)r�z$missing a required argument: {arg!r}ztoo many positional argumentsz$multiple values for argument {arg!r}z*got an unexpected keyword argument {arg!r})rGryrzr+�
StopIterationr�r~rvr{r�r$r�r|rFrr�r�rP�chainr�r��_bound_arguments_cls)r�rr�r'rryZ
parameters_exZarg_valsZarg_valr�r�rzZkwargs_paramrrrr�_bind�s��




�
�(
���

���
�J

������


��zSignature._bindcOs	|�||�Sr1�r��r�rr�rrr�bindfrGzSignature.bindcOs	|j||dd�S)NTr�r�r�rrrrmszSignature.bind_partialcCs t|�t|j���fd|jifS�Nr�)rr�r�rzr�r7rrrrxts�zSignature.__reduce__cCs|d|_dSr�r�rzrrrr|yr�zSignature.__setstate__cCr�)Nz<{} {}>r�r7rrrr�|r�zSignature.__repr__c	Cs�g}d}d}|j��D]2}t|�}|j}|tkrd}n	|r$|�d�d}|tkr+d}n
|tkr8|r8|�d�d}|�|�q|rE|�d�d�d�	|��}|j
tur^t|j
�}|d�|�7}|S)NFTr&r�z({})r�z -> {})
ryrzrr�r{r�r~rr�r�rwrFr�)	r�r�Zrender_pos_only_separatorZrender_kw_only_separatorr�rr�ZrenderedZannorrrrns0




zSignature.__str__r1)r�rr�r�rHrMr�r�rFrxr	r�r�r�rfr�ryrwrr�r�r�r�r�r�rrxr|r�rnrrrrrvCs@�6

�

	rvr�cCs	tj|||||d�S)Nr�)rvrf)r*r�rrrrrrr-�s�r-c
Cs�	ddl}ddl}|��}|jddd�|jddddd	�|��}|j}|�d
�\}}}z	|�|�}}	Wn(ty]}
zd�	|t
|
�j|
�}t|t
jd�t
�d
�WYd}
~
nd}
~
ww|rq|�d�}|	}|D]}
t||
�}qi|	jt
jvr�tdt
jd�t
�d�|jr�td�	|��td�	t|	���td�	|	j��||	ur�td�	t|	j���t|	d�r�td�	|	j��nzt|�\}}Wn	ty�Ynwtd�	|��td�dStt|��dS)Nrr3zCThe object to be analysed. It supports the 'module:qualname' syntax)�helpz-dz	--details�
store_truez9Display info about the module rather than its source code)�actionr�r zFailed to import {} ({}: {}))r�r'r�z#Can't get info for builtin modules.r�z
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}�__path__zSubmodule search path: {}zLine: {}r�)�argparser��ArgumentParser�add_argument�
parse_argsr3�	partition�
import_moduler�r�rr��printr�stderr�exitr�r�builtin_module_namesZdetailsr��
__cached__r�r�rr�r&rO)r�r��parserr�targetZmod_nameZ	has_attrsZattrsr*r-r�r��parts�part�__rrrr�_main�sf�����


��r�r�r1)F)r�)r)T)TNNF)��
__author__rcr�dis�collections.abcrb�enum�importlib.machineryr�rPr�r�rrr>rDrrir&r��operatorrrrrZmod_dictZCOMPILER_FLAG_NAMESr)r�r�rrr/r4r7r:rBrDrrFrKr?rTrVrXrYr[r^r`rergrirkrmrnrxr�r�r�r|r.r�r�r�r�r�r�r�r�r�r�r�r�r�rZNodeVisitorrr&r,r-r/rKrNrOrPrWrXrerfrorprlr�r�r�r�rr�r�r�r�r�r�r�r�r�r��_fieldsr�r�r�r�rr�r3r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrbZ_WrapperDescriptor�allZ_MethodWrapperr6r	Z_ClassMethodWrapperrlr
rrrrrr"r2rYr[r`rurrF�IntEnumrirRr{rSr}rUr~rVrrXr�rorHr�rvr-r�r�rrrr�<module>s� t	






	

,t$
>
	
/D->




�
]


�;
�
<
5
 



		0

�
L
H

�`�?�	l
:
�
© 2025 GrazzMean