Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/inspect.cpython-35.opt-2.pyc



]@sddfZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZddlmZmZeZx+ejjD]\ZZeede<qWdd>Zd	d
ZddZd
dZ ddZ!ddZ"e#edrddZ$nddZ$e#edrddZ%nddZ%ddZ&ddZ'dd Z(d!d"Z)d#d$Z*d%d&Z+d'd(Z,d)d*Z-d+d,Z.d-d.Z/d/d0Z0d1d2Z1dd3d4Z2ed5d6Z3d7d8Z4d9d:Z5d;dd<d=Z6d>d?Z7d@dAZ8dBdCZ9dDdEZ:dFdGZ;dHdIZ<edJdKZ=dLdMZ>dNdOZ?dPdQZ@ddRdSZAiZBiZCddTdUZDdVdWZEdXdYZFGdZd[d[eGZHGd\d]d]ZId^d_ZJd`daZKdbdcZLdddeZMdfdgdhZNedidjZOdkdlZPdmdnZQedodpZRdqdrZSedsdtZTdudvZUedwdxZVdydzZWdd{d|ZXd}d~ZYdddfiieZddddddddeXddZ[eZddddddddZ\ddZ]ddZ^ddZ_eddZ`ddZaeddZbdddZcddZdeddfebjeZfdddZgdddZhddZidddZjdddZkelZmddZnddZoddZpddZqddZremddZsdZtdZudZvdZwddZxddZydZzdZ{dZ|dZ}ddZ~ddZeejZeejZeejdZeeeejfZddZfddZddZddZddZddZddZdddZdddZddZddddddZGdddZGdddZGdddejZejZejZejZejZejZGdddZGdddZGdddZddddZddZedkredS)zKa-Ping Yee <ping@lfw.org>z'Yury Selivanov <yselivanov@sprymix.com>N)
attrgetter)
namedtupleOrderedDictZCO_cCst|tjS)N)
isinstancetypes
ModuleType)objectr,/opt/alt/python35/lib64/python3.5/inspect.pyismodule?sr
cCs
t|tS)N)rtype)r
rrrisclassHsrcCst|tjS)N)rr
MethodType)r
rrrismethodPsrcCsQt|s$t|s$t|r(dSt|}t|doPt|dS)NF__get____set__)rr
isfunctionrhasattr)r
tprrrismethoddescriptorZs$rcCsPt|s$t|s$t|r(dSt|}t|doOt|dS)NFrr)rrrrr)r
rrrrisdatadescriptorns$rMemberDescriptorTypecCst|tjS)N)rrr)r
rrrismemberdescriptor~srcCsdS)NFr)r
rrrrsGetSetDescriptorTypecCst|tjS)N)rrr)r
rrrisgetsetdescriptorsrcCsdS)NFr)r
rrrrscCst|tjS)N)rrFunctionType)r
rrrrsrcCs,tt|st|o(|jjt@S)N)boolrr__code__co_flagsZCO_GENERATOR)r
rrrisgeneratorfunctionsr!cCs,tt|st|o(|jjt@S)N)rrrrr ZCO_COROUTINE)r
rrriscoroutinefunctionsr"cCst|tjS)N)rr
GeneratorType)r
rrrisgeneratorsr$cCst|tjS)N)rr
CoroutineType)r
rrriscoroutinesr&cCsMt|tjpLt|tjr:t|jjt@pLt|tj	j
S)N)rrr%r#rgi_coder ZCO_ITERABLE_COROUTINEcollectionsabc	Awaitable)r
rrrisawaitablesr+cCst|tjS)N)rr
TracebackType)r
rrristracebacksr-cCst|tjS)N)rr	FrameType)r
rrrisframesr/cCst|tjS)N)rrCodeType)r
rrriscodesr1cCst|tjS)N)rrBuiltinFunctionType)r
rrr	isbuiltinsr3cCs.t|p-t|p-t|p-t|S)N)r3rrr)r
rrr	isroutinesr4cCs tt|to|jt@S)N)rrr	__flags__TPFLAGS_IS_ABSTRACT)r
rrr
isabstractsr7cCsxt|r"|ft|}nf}g}t}t|}yWxP|jD]E}x<|jjD]+\}}t|tj	rf|j
|qfWqPWWntk
rYnXx|D]}	y%t||	}
|	|krtWnCtk
r&x.|D]#}|	|jkr|j|	}
PqWwYnX|s:||
rM|j
|	|
f|j
|	qW|jddd|S)NkeycSs|dS)Nrr)Zpairrrr<lambda>Eszgetmembers.<locals>.<lambda>)rgetmrosetdir	__bases____dict__itemsrrDynamicClassAttributeappendAttributeErrorgetattraddsort)r
	predicatemroresults	processednamesbasekvr8valuerrr
getmemberss:	





rO	Attributezname kind defining_class objectcCst|}tt|}tdd|D}|f|}||}t|}xM|D]E}x<|jjD]+\}}t|tjrw|j	|qwWqaWg}	t
}
xF|D]>}d}d}
d}||
kry+|dkrtdt||}
Wn%tk
r6}zWYdd}~XnXt|
d|}||krd}d}x2|D]*}t||d}||
krh|}qhWxN|D]F}y|j
||}Wntk
rwYnX||
kr|}qW|dk	r|}x=|D]5}||jkr|j|}||kr4|}PqW|dkrHq|
dk	rZ|
n|}t|tr~d}|}nWt|trd}|}n9t|trd}|}nt|rd	}nd
}|	j	t|||||
j|qW|	S)NcSs(g|]}|ttfkr|qSr)rr
).0clsrrr
<listcomp>gs	z(classify_class_attrs.<locals>.<listcomp>r>z)__dict__ is special, don't want the proxy__objclass__z
static methodzclass methodpropertymethoddata)r:rtupler<r>r?rrr@rAr;	ExceptionrC__getattr__rBstaticmethodclassmethodrUr4rPrD)rRrGZmetamroZclass_basesZ	all_basesrJrKrLrMresultrInameZhomeclsZget_objZdict_objexcZlast_clsZsrch_clsZsrch_objobjkindrrrclassify_class_attrsJs


	







				rbcCs|jS)N)__mro__)rRrrrr:sr:stopcsdkrdd}nfdd}|}t|h}xS||r|j}t|}||krtdj||j|qEW|S)NcSs
t|dS)N__wrapped__)r)frrr_is_wrapperszunwrap.<locals>._is_wrappercst|do|S)Nre)r)rf)rdrrrgsz!wrapper loop when unwrapping {!r})idre
ValueErrorformatrD)funcrdrgrfmemoZid_funcr)rdrunwraps	rmcCs&|j}t|t|jS)N)
expandtabslenlstrip)lineZexplinerrr
indentsizesrrcCsotjj|j}|dkr%dSx3|jjdddD]}t||}qBWt|skdS|S)N.r)sysmodulesget
__module____qualname__splitrCr)rkrRr^rrr
_findclasss#r{cCsbt|rexR|jD]G}|tk	ry
|j}Wntk
rLwYnX|dk	r|SqWdSt|r|jj}|j}t|rt	t	||dd|jkr|}q|j
}nAt|r|j}t|}|dks
t	|||k	rdSnt
|rm|j}|j}t|ra|jd||jkra|}q|j
}nt|tr|j}|j}t|}|dkst	|||k	rdSnJt|st|r|j}|j}t	|||k	rdSndSxO|jD]D}yt	||j}Wntk
rIwYnX|dk	r|SqWdS)N__func__rs)rrcr
__doc__rBrr|__name____self__rC	__class__rr{r3ryrrUfgetrrrT)r`rKdocr^selfrRrkrrr_finddocsb

	$		!					!		
rcCs~y
|j}Wntk
r%dSYnX|dkrayt|}Wnttfk
r`dSYnXt|tstdSt|S)N)r}rBr	TypeErrorrstrcleandoc)r
rrrrgetdoc/s

		rcCsFy|jjd}Wntk
r1dSYnXtj}xO|ddD]=}t|j}|rLt||}t||}qLW|r|dj|d<|tjkrx5tdt|D]}|||d||<qWx|r|dr|j	qWx"|r4|dr4|j	dqWdj
|SdS)N
rrrt)rnrzUnicodeErrorrumaxsizerorpminrangepopjoin)rlinesmarginrqZcontentindentirrrrBs(
		rcCst|r7t|dr"|jStdj|t|rt|dr}tjj|j	}t|dr}|jStdj|t
|r|j}t|r|j
}t|r|j}t|r|j}t|r|jStdj|dS)N__file__z{!r} is a built-in modulerxz{!r} is a built-in classzO{!r} is not a module, class, method, function, traceback, frame, or code object)r
rrrrjrrurvrwrxrr|rrr-tb_framer/f_coder1co_filename)r
rrrgetfile_s,					r
ModuleInfozname suffix mode module_typec
Cstjdtdtj!tjdtddl}WdQRXtjj	|}dd|j
D}|jxM|D]E\}}}}||d|krt|d||||SqWdS)Nz%inspect.getmoduleinfo() is deprecatedignorercSs2g|](\}}}t||||fqSr)ro)rQsuffixmodemtyperrrrSs	z!getmoduleinfo.<locals>.<listcomp>)
warningswarnDeprecationWarningcatch_warningssimplefilterPendingDeprecationWarningimpospathbasenameZget_suffixesrEr)rrfilenamesuffixesneglenrrrrrr
getmoduleinfozs
	
rcCsptjj|}ddtjjD}|jx1|D])\}}|j|r?|d|Sq?WdS)NcSs#g|]}t||fqSr)ro)rQrrrrrSs	z!getmodulename.<locals>.<listcomp>)rrr	importlib	machineryall_suffixesrEendswith)rZfnamerrrrrr
getmodulenames	
rcst|tjjdd}|tjjdd7}tfdd|Drtjjdtjj	dn)tfddtjj
DrdStjjrStt
|dddk	rStjkrSdS)Nc3s|]}j|VqdS)N)r)rQs)rrr	<genexpr>sz getsourcefile.<locals>.<genexpr>rc3s|]}j|VqdS)N)r)rQr)rrrrs
__loader__)rrrDEBUG_BYTECODE_SUFFIXESOPTIMIZED_BYTECODE_SUFFIXESanyrrsplitextSOURCE_SUFFIXESEXTENSION_SUFFIXESexistsrC	getmodule	linecachecache)r
Zall_bytecode_suffixesr)rr
getsourcefiles!rcCs@|dkr$t|p!t|}tjjtjj|S)N)rrrrnormcaseabspath)r
	_filenamerrr
getabsfilesrc

Cst|r|St|dr2tjj|jS|dk	r^|tkr^tjjt|Syt||}Wntk
rdSYnX|tkrtjjt|Sxt	tjj
D]\}}t|rt|dr|j}|tj|dkrq|t|<t|}|j
t|<ttjj|<qW|tkrftjjt|Stjd}t|dsdSt||j
rt||j
}||kr|Stjd}t||j
rt||j
}	|	|kr|SdS)Nrxr__main__r~builtins)r
rrurvrwrx
modulesbyfilerrlistr?r_filesbymodnamer~rrrealpathrC)
r
rfilemodnamemodulerfmainZ
mainobjectZbuiltinZ
builtinobjectrrrrsD
	"	
%

rc
Csnt|}|r"tj|n6t|}|jdoI|jdsXtdt||}|rtj||j	}ntj|}|stdt
|r|dfSt|r|j}t
jd|d}g}xmtt|D]Y}|j||}|r||ddkr>||fS|j|jd	|fqW|r|j||dd	fStd
t|r|j}t|r|j}t|r|j}t|r|j}t|r^t|dstd|jd	}	t
jd
}x.|	dkrS|j||	rFP|	d	}	q&W||	fStddS)N<>zsource code not availablezcould not get source coderz^(\s*)class\s*z\bcrzcould not find class definitionco_firstlinenoz"could not find function definitionz>^(\s*def\s)|(\s*async\s+def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)zcould not find code object) rr
checkcacher
startswithrOSErrorrgetlinesr>r
rr~recompilerromatchrAgrouprErr|rrr-rr/rr1rr)
r
rrrr^patZ
candidatesrrlnumrrr
findsources^
	
 
				

rcCsyt|\}}Wnttfk
r4dSYnXt|rBd}|rm|ddddkrmd}x6|t|kr||jdkr|d}qpW|t|kr||dddkrg}|}xQ|t|kr1||dddkr1|j||j|d}qWdj|Sn|dkrt	||}|d}|dkr||j
dddkrt	|||kr||jj
g}|dkrb|d}||jj
}xp|dddkrat	|||kra|g|dd<|d}|dkrHP||jj
}qWx0|r|djdkrg|dd<qeWx0|r|djdkrg|d	d<qWdj|SdS)
Nrrz#!r#)rrrtrt)rrrr
rostriprArnrrrrp)r
rrstartZcommentsendrZcommentrrrgetcomments.sJ	 +,/
,
/
rc@seZdZdS)
EndOfBlockN)r~rxryrrrrr[src@s(eZdZddZddZdS)BlockFindercCsCd|_d|_d|_d|_d|_d|_d|_dS)NrFr)rislambdastartedpasslineindecoratordecoratorhasargslast)rrrr__init___s						zBlockFinder.__init__cCs|jrb|jrb|dkr,d|_n*|dkrV|dkrMd|_d|_d|_n9|dkr|jrd|_n|dkr|jrd|_d|_n|tjkrd|_|d	|_|jrt|jr|jrd|_n|jrn|tj	kr7|j
d
|_
d|_nd|tjkrn|j
d
|_
|j
d	krtn-|j
d	kr|tjtj
fkrtdS)N@Tdefclasslambda()Frr)rrr)rrrrrtokenizeNEWLINErrINDENTrDEDENTCOMMENTNL)rrtokenZsrowcolZerowcolrqrrr
tokeneaterhsB						
			'zBlockFinder.tokeneaterN)r~rxryrrrrrrr]s	rcCsot}y:tjt|j}x|D]}|j|q+WWnttfk
r]YnX|d|jS)N)	rrgenerate_tokensiter__next__rrIndentationErrorr)rZblockfindertokensZ_tokenrrrgetblocks	
rcCsVt|}t|\}}t|r4|dfSt||d|dfSdS)Nrr)rmrr
r)r
rrrrrgetsourceliness

rcCst|\}}dj|S)Nr)rr)r
rrrrr	getsourcesrcCssg}|jdtddxM|D]E}|j||jf||kr&|jt||||q&W|S)Nr8rxr~)rErrAr=walktree)classeschildrenparentrHrrrrrs
!rFcCsi}g}x|D]}|jrxw|jD]P}||krHg||<|||kri||j||r,||kr,Pq,Wq||kr|j|qWx'|D]}||kr|j|qWt||dS)N)r=rAr)runiquerrootsrrrrrgetclasstrees"	
	

r	Argumentszargs, varargs, varkwcCs,t|\}}}}t||||S)N)_getfullargsr	)coargsvarargs
kwonlyargsvarkwrrrgetargssrc	Cst|s!tdj||j}|j}|j}t|d|}t||||}d}||7}d}|jt@r|j|}|d}d}|jt	@r|j|}||||fS)Nz{!r} is not a code objectrr)
r1rrjco_argcountco_varnamesco_kwonlyargcountrr 
CO_VARARGSCO_VARKEYWORDS)	rnargsrJZnkwargsrrstepr
rrrrr
s"			





r
ArgSpeczargs varargs keywords defaultscCsbtjdtddt|\}}}}}}}|sC|rOtdt||||S)NzCinspect.getargspec() is deprecated, use inspect.signature() instead
stacklevelrzcFunction has keyword-only arguments or annotations, use getfullargspec() API which can support them)rrrgetfullargspecrir)rkrr
rdefaultsrkwonlydefaultsannrrr
getargspecs	!rFullArgSpeczGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc
Csy"t|dddddt}Wn4tk
rX}ztd|WYdd}~XnXg}d}d}g}f}i}f}i}	|j|jk	r|j|d<x|jjD]}
|
j}|
j	}|t
kr|j|n|tkr*|j||
j
|
jk	r||
j
f7}nb|tkr?|}nM|tkrz|j||
j
|
jk	r|
j
|	|<n|tkr|}|
j|
jk	r|
j||<qW|	sd}	|sd}t||||||	|S)Nfollow_wrapper_chainsFskip_bound_argsigclszunsupported callablereturn)_signature_from_callable	SignaturerYrreturn_annotationempty
parametersvaluesrar^_POSITIONAL_ONLYrA_POSITIONAL_OR_KEYWORDdefault_VAR_POSITIONAL
_KEYWORD_ONLY_VAR_KEYWORD
annotationr)
rksigexrr
rrrannotations
kwdefaultsparamrar^rrrr!sT	
"
		
	
rArgInfozargs varargs keywords localscCs.t|j\}}}t||||jS)N)rrr6f_locals)framerr
rrrrgetargvalues~sr9cCsut|dddkr.t|jddSt|trk|jd|fkrY|jS|jd|jSt|S)NrxZtypingztyping.rrrs)rCreprreplacerrrxry)r0Zbase_modulerrrformatannotationsr<cs(t|ddfdd}|S)Nrxcs
t|S)N)r<)r0)rrr_formatannotationsz5formatannotationrelativeto.<locals>._formatannotation)rC)r
r=r)rrformatannotationrelativetosr>cCsd|S)N*r)r^rrrr9sr9cCsd|S)Nz**r)r^rrrr9scCsdt|S)N=)r:)rNrrrr9scCsd|S)Nz -> r)textrrrr9sc
sfdd}
g}|r:t|t|}x]t|D]O\}}|
|}|r||kr||
|||}|j|qGW|dk	r|j||
|n|r|jd|r+xM|D]E}|
|}|r||kr||
||7}|j|qW|dk	rP|j|	|
|ddj|d}dkr||d7}|S)Ncs4|}|kr0|d|7}|S)Nz: r)argr])r3r<	formatargrrformatargandannotationsz-formatargspec.<locals>.formatargandannotationr?rz, rr#)ro	enumeraterAr)rr
rrrrr3rC
formatvarargsformatvarkwformatvalueZ
formatreturnsr<rDspecsZfirstdefaultrrBspecZ	kwonlyargr]r)r3r<rCr
formatargspecs2

rKcCsd|S)Nr?r)r^rrrr9scCsd|S)Nz**r)r^rrrr9scCsdt|S)Nr@)r:)rNrrrr9scCs|||dd}g}	x1tt|D]}
|	j|||
q.W|rv|	j||||||r|	j|||||ddj|	dS)NcSs|||||S)Nr)r^localsrCrHrrrconvertsz formatargvalues.<locals>.convertrz, r)rrorAr)rr
rrLrCrFrGrHrMrIrrrrformatargvaluess!!rNcsfdd|D}t|}|dkr>|d}nW|dkr\dj|}n9dj|dd}|dd=dj||}td	|||rd
nd|dkrdnd
|fdS)Ncs(g|]}|krt|qSr)r:)rQr^)r)rrrSs	z&_missing_arguments.<locals>.<listcomp>rrrz	{} and {}z, {} and {}z, z*%s() missing %i required %s argument%s: %s
positionalzkeyword-onlyrrrP)rorjrr)f_nameZargnamesposr)rJmissingrtailr)r)r_missing_argumentss

rUc
	s.t||}tfdd|D}|rQ|dk}	d|f}
nI|rvd}	d|t|f}
n$t|dk}	tt|}
d}|rd}||dkrd	nd||dkrd	ndf}td
||
|	rd	nd|||dkr|rdndfdS)
Ncs"g|]}|kr|qSrr)rQrB)r)rrrSs	z_too_many.<locals>.<listcomp>rzat least %dTz
from %d to %drz7 positional argument%s (and %d keyword-only argument%s)rz5%s() takes %s positional argument%s but %d%s %s givenZwasZwere)rorr)
rQrZkwonlyr
ZdefcountZgivenr)ZatleastZkwonly_givenpluralr1Z
kwonly_sigmsgr)r)r	_too_manys$rXcOs|d}|dd}t|}|\}}}}}	}
}|j}i}
t|r{|jdk	r{|jf|}t|}t|}|rt|nd}t||}x&t|D]}|||
||<qW|rt||d|
|<t||	}|r#i|
|<x|j	D]q\}}||kru|sdt
d||f||
||<q0||
krt
d||f||
|<q0W||kr|rt|||	||||
||kri|d||}x-|D]%}||
krt||d|
qWxBt
|||dD]&\}}||
kr?|||
|<q?Wd}xG|	D]?}||
krv|
r||
kr|
||
|<qv|d7}qvW|rt||	d|
|
S)Nrrz*%s() got an unexpected keyword argument %rz(%s() got multiple values for argument %rTF)rr~rrrorrrXr;r?rrXrUrE)Zfunc_and_positionalnamedrkrOrJrr
rrrrrrQZ	arg2valueZnum_posZnum_argsZnum_defaultsnrZpossible_kwargskwrNZreqrBrSkwargrrrgetcallargssd
	


'
r]ClosureVarsz"nonlocals globals builtins unboundc	CsRt|r|j}t|s6tdj||j}|jdkrWi}n"ddt|j|jD}|j	}|j
dtj}t
|r|j}i}i}t}x{|jD]p}|dkrqy||||<Wqtk
r:y||||<Wntk
r5|j|YnXYqXqWt||||S)	Nz'{!r}' is not a Python functioncSs"i|]\}}|j|qSr)
cell_contents)rQvarZcellrrr
<dictcomp>Ws	z"getclosurevars.<locals>.<dictcomp>__builtins__NoneTrueFalse)rcrdre)rr|rrrjr__closure__zipco_freevars__globals__rwrr>r
r;co_namesKeyErrorrDr^)	rkcodeZ
nonlocal_varsZ	global_nsZ
builtin_nsZglobal_varsZbuiltin_varsZ
unbound_namesr^rrrgetclosurevarsBs8								

	rm	Tracebackz+filename lineno function code_context indexcCs#t|r!|j}|j}n	|j}t|sKtdj|t|p`t|}|dkr|d|d}yt	|\}}Wnt
k
rd}}YqXtdt|t
||}||||}|d|}n
d}}t|||jj||S)Nz'{!r} is not a frame or traceback objectrrr)r-	tb_linenorf_linenor/rrjrrrrmaxrrornrco_name)r8contextlinenorrrrindexrrrgetframeinfoys$		
"
rvcCs|jS)N)rp)r8rrr	getlinenosrw	FrameInfor8cCsIg}x<|rD|ft||}|jt||j}q	W|S)N)rvrArxf_back)r8rs	framelist	frameinforrrgetouterframess	
r|cCsLg}x?|rG|jft||}|jt||j}q	W|S)N)rrvrArxtb_next)tbrsrzr{rrrgetinnerframess	
rcCs ttdrtjdSdS)N	_getframer)rrurrrrrcurrentframesrcCsttjd|S)Nr)r|rur)rsrrrstacksrcCsttjd|S)Nr)rruexc_info)rsrrrtracesrcCstjdj|S)Nrc)rr>r)klassrrr_static_getmrosrcCsDi}ytj|d}Wntk
r0YnXtj||tS)Nr>)r
__getattribute__rBdictrw	_sentinel)r`attrZ
instance_dictrrr_check_instances
rcCsWxPt|D]B}tt|tkr
y|j|SWq
tk
rNYq
Xq
WtS)N)r_shadowed_dictrrr>rk)rrentryrrr_check_classs
	rcCs+yt|Wntk
r&dSYnXdS)NFT)rr)r`rrr_is_types

	rcCstjd}xwt|D]i}y|j|d}Wntk
rKYqXt|tjko||jdko||j|ks|SqWt	S)Nr>)
rr>rrrkrrr~rTr)r	dict_attrrZ
class_dictrrrrs

rcCsit}t|s]t|}t|}|tksKt|tjkrct||}n|}t||}|tk	r|tk	rtt|dtk	rtt|dtk	r|S|tk	r|S|tk	r|S||krIxVtt|D]B}tt|tkry|j	|SWqt
k
rDYqXqW|tk	rY|St|dS)Nrr)rrrrrrrrrr>rkrB)r`rr,Zinstance_resultrrZklass_resultrrrrgetattr_statics6
	rGEN_CREATEDGEN_RUNNING
GEN_SUSPENDED
GEN_CLOSEDcCs:|jr
tS|jdkr tS|jjdkr6tStS)Nrrt)
gi_runningrgi_framerf_lastirr)	generatorrrrgetgeneratorstate(s		rcCsQt|s!tdj|t|dd}|dk	rI|jjSiSdS)Nz '{!r}' is not a Python generatorr)r$rrjrCrr7)rr8rrrgetgeneratorlocals:s
rCORO_CREATEDCORO_RUNNINGCORO_SUSPENDEDCORO_CLOSEDcCs:|jr
tS|jdkr tS|jjdkr6tStS)Nrrt)
cr_runningrcr_framerrrr)	coroutinerrrgetcoroutinestateRs		rcCs-t|dd}|dk	r%|jSiSdS)Nr)rCr7)rr8rrrgetcoroutinelocalsdsr
from_bytescCsCyt||}Wntk
r+dSYnXt|ts?|SdS)N)rCrBr_NonUserDefinedCallables)rRZmethod_namemethrrr"_signature_get_user_defined_methods
	rcCs|j}t|j}|jp'f}|jp6i}|rI||}y|j||}WnCtk
r}z#dj|}	t|	|WYdd}~XnXd}
xZ|jD]L\}}y|j	|}
Wnt
k
rYnX|jtkr	|j
|q|jtkrV||krCd}
|jd|
||<n|j
|jq|jtkr{|jd|
||<|
r|jtkr||jdt}|||<|j|q|jttfkr|j|q|jtkr|j
|jqW|jd|jS)Nz+partial object {!r} has incorrect argumentsFTr,rar()r(rr?rkeywordsbind_partialrrjri	argumentsrkrar*rr+r;r^r.move_to_endr/r-r))wrapped_sigpartial
extra_argsZ
old_params
new_paramsZpartial_argsZpartial_keywordsZbar2rWZtransform_to_kwonly
param_namer5Z	arg_valueZ	new_paramrrr_signature_get_partialsL	
"



rcCst|jj}|s5|djttfkrAtd|dj}|ttfkrs|dd}n|t	k	rtd|j
d|S)Nrzinvalid method signaturerzinvalid argument typer()rXr(r)rar/r.rir+r*r-r;)r1paramsrarrr_signature_bound_methods 
rcCs7t|p6t|p6t|tp6|ttfkS)N)r3rrrrr
)r`rrr_signature_is_builtinsrcCst|st|rdSt|dd}t|dd}t|dt}t|dt}t|dd}t|tjot|to|dkst|to|dkst|t	ot|t	S)NFr~r__defaults____kwdefaults____annotations__)
callablerrC_voidrrr0rrXr)r`r^rlrr4r3rrr_signature_is_functionlikesrcCsV|jd}|dkr*|jd}|jd}|jd}|d|S)N,rr:r@rrt)find)rJrRZcposrrr_signature_get_bound_params
rcCs|s|ddfSd}d}dd|jdD}t|j}tj|}d}d}g}|j}	d}
tj}tj}t|}
x|D]}
|
j	|
j
}}||kr|dkr|rd}qd}|
d7}
q|d	krd}|
d}q||kr2|d
kr2|
}q|r`d}||koS|dks`|	d|	||dkr|	d
qWdj|}|||fS)NcSsg|]}|jdqS)ascii)encode)rQlrrrrSEs	z6_signature_strip_non_python_syntax.<locals>.<listcomp>rFrrTr/$rz,  r)rzrrrrArOP
ERRORTOKENnextrstringr)	signatureself_parameterlast_positional_onlyrrZtoken_streamZ
delayed_commaZskip_next_commarArDZcurrent_parameterrrtrrclean_signaturerrr"_signature_strip_non_python_syntax2sP

			
	



rTcs,|jt|\}}}d|d}ytj|}Wntk
rYd}YnXt|tjstdj||j	d}	gj
td}it|dd}
|
rt
jj|
d}|r|jt
jddfdd		G	fd
ddtjfdd
}t|	jj}t|	jj}
tj||
dd}|dk	rjn	jxNttt|D]4\}\}}|||||krjqW|	jjr4j||	jjjx6t|	jj|	jj D]\}}|||qYW|	jj!rj"||	jj!|dk	rt|dd}|dk	}t#|}|r|s|rj$dn#dj%dj}|d<|d|j
S)Nzdef fooz: passz"{!r} builtin has invalid signaturerrxcSs"|jdkrtd|jS)Nz'Annotations are not currently supported)r0rirB)noderrr
parse_namesz&_signature_fromstr.<locals>.parse_namecsyt|}WnCtk
rXyt|}Wntk
rStYnXYnXt|trutj|St|ttfrtj	|St|t
rtj|S|dkrtj|StdS)NTF)TFN)
eval	NameErrorRuntimeErrorrrastZStrintfloatZNumbytesZBytesZNameConstant)rrN)module_dictsys_module_dictrr
wrap_values 





z&_signature_fromstr.<locals>.wrap_valuecs4eZdZfddZfddZdS)z,_signature_fromstr.<locals>.RewriteSymbolicscsg}|}x/t|tjr=|j|j|j}qWt|tjsYt|j|jdj	t
|}|S)Nrs)rrrPrArrNNamerrhrreversed)rrarZrN)rrrvisit_Attributes
	z<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attributecs+t|jtjst|jS)N)rctxrZLoadrirh)rr)rrr
visit_Names	z7_signature_fromstr.<locals>.RewriteSymbolics.visit_NameN)r~rxryrrr)rrrRewriteSymbolicssrcs|}|krdS|r|tk	ry%j|}tj|}Wntk
rm}YnX|kr~dS|k	r|n|}j|d|ddS)Nr,r0)_emptyZvisitrZliteral_evalrirA)Z	name_nodeZdefault_noder,r^o)	Parameterrr'invalidrar(rrrps
z_signature_fromstr.<locals>.p	fillvaluerrar&)&_parameter_clsrrparseSyntaxErrorrZModulerirjZbodyr'r
rCrurvrwr>ZNodeTransformerrrr	itertoolszip_longestPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORDrErZvarargVAR_POSITIONALKEYWORD_ONLYrgrZkw_defaultsr\VAR_KEYWORDr
rr;)rRr`rr!rrrZprogramrrfmodule_namerrrrrr^r,_selfZself_isboundZ
self_ismoduler)
rrr'rrarr(rrrr_signature_fromstrzsj	

				'	+

		(	
rcCsat|s!tdj|t|dd}|sNtdj|t||||S)Nz%{!r} is not a Python builtin function__text_signature__z#no signature found for builtin {!r})rrrjrCrir)rRrkr!rrrr_signature_from_builtins	rcCsd}t|s<t|r'd}ntdj||j}|j}|j}|j}t|d|}|j	}||||}	|j
}
|j}|j}|rt
|}
nd}
g}||
}xI|d|D]7}|
j|t}|j||d|dtqWx_t||dD]G\}}|
j|t}|j||d|dtd||q<W|jt@r|||}|
j|t}|j||d|dtxi|	D]a}t}|dk	r|j|t}|
j|t}|j||d|dtd|qW|jt@r||}|jt@rm|d7}||}|
j|t}|j||d|dt||d	|
jd
td|S)NFTz{!r} is not a Python functionrr0rar,rr&r#__validate_parameters__)rrrrjrrrrrXrrrrrorwrrAr+rEr rr-r.rr/)rRrkZis_duck_functionrZ	func_codeZ	pos_countZ	arg_namesrOZkeyword_only_countZkeyword_onlyr3rr4Zpos_default_countr(Znon_default_countr^r0offsetr,rurrr_signature_from_functionsj									
#








	rr r!c!Cst|s!tdj|t|tjrht|jd|d|d|}|rdt|S|S|rt	|ddd}t|tjrt|d|d|d|Sy
|j
}Wntk
rYn5X|dk	r
t|tstdj||Sy
|j
}Wntk
r+YnXt|tjrt|jd|d|d|}t||d}t|jjd	}|jtjkr|St|jj}|f|}	|jd
|	St|st|rt||St|rt||d|St|tjrVt|jd|d|d|}t||Sd}t|trt t|d}
|
dk	rt|
d|d|d|}nut |d}|dk	rt|d|d|d|}n9t |d
}|dk	r"t|d|d|d|}|dkrqxS|j!ddD]>}
y
|
j"}Wntk
riYqBX|rBt#|||SqBWt|j!krq|j$t%j$kr|j&t%j&krt't%St(dj|nt|t)sqt t|d}
|
dk	rqy"t|
d|d|d|}WnCt(k
rp}z#dj|}t(||WYdd}~XnX|dk	r|rt|S|St|tj*rdj|}t(|t(dj|dS)Nz{!r} is not a callable objectr r!r"rdcSs
t|dS)N
__signature__)r)rfrrrr9sz*_signature_from_callable.<locals>.<lambda>z1unexpected object {!r} in __signature__ attributerr(__call____new__rrz(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)Nrt)+rrrjrrrr$r|rrmrrBr%_partialmethod	functools
partialmethodrkrrXr(r)rarrr;rrrrrrrrrcrrrr
rrrirr2)r`r r!r"r1rrZfirst_wrapped_paramZ
sig_paramsrcallnewZinitrKZtext_sigr2rWrrrr$hs			




		

		
	



"
r$c@seZdZdS)rN)r~rxryrrrrr0	src@seZdZdS)rN)r~rxryrrrrr4	src@s:eZdZdZdZdZdZdZddZdS)	_ParameterKindrrrcCs|jS)N)_name_)rrrr__str__?	sz_ParameterKind.__str__N)	r~rxryrrrrrrrrrrr8	src
@seZdZd"ZeZeZeZ	e
ZeZ
eZdededdZd	d
ZddZed
dZeddZeddZeddZdededededdZddZddZddZdd Zd!S)#r_name_kind_default_annotationr,r0cCs|tttttfkr'td||_|tk	ri|ttfkridj|}t|||_	||_
|tkrtdt|tst
dj||jstdj|||_dS)Nz,invalid value for 'Parameter.kind' attributez({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {!r}z"{!r} is not a valid parameter name)r*r+r-r.r/rir	rrjr
rrrrisidentifierr)rr^rar,r0rWrrrrj	s"				zParameter.__init__cCs1t||j|jfd|jd|jifS)Nr
r)rrr	r
r)rrrr
__reduce__	s		zParameter.__reduce__cCs|d|_|d|_dS)Nr
r)r
r)rstaterrr__setstate__	s
zParameter.__setstate__cCs|jS)N)r)rrrrr^	szParameter.namecCs|jS)N)r
)rrrrr,	szParameter.defaultcCs|jS)N)r)rrrrr0	szParameter.annotationcCs|jS)N)r	)rrrrra	szParameter.kindr^racCss|tkr|j}|tkr*|j}|tkr?|j}|tkrT|j}t|||d|d|S)Nr,r0)rrr	rr
r)rr^rar0r,rrrr;	s				zParameter.replacecCs|j}|j}|jtk	r<dj|t|j}|jtk	rfdj|t|j}|tkrd|}n|t	krd|}|S)Nz{}:{}z{}={}r?z**)
rarrrrjr<r
r:r-r/)rra	formattedrrrr	s			

zParameter.__str__cCsdj|jj|S)Nz	<{} "{}">)rjrr~)rrrr__repr__	szParameter.__repr__cCs"t|j|j|j|jfS)N)hashr^rar0r,)rrrr__hash__	szParameter.__hash__cCsi||krdSt|ts#tS|j|jkoh|j|jkoh|j|jkoh|j|jkS)NT)rrNotImplementedrr	r
r)rotherrrr__eq__	szParameter.__eq__N)rr	r
r)r~rxry	__slots__r*rr+rr-rr.rr/rrr'rr
rrUr^r,r0rarr;rrrrrrrrrJ	s(rc@seZdZdZddZeddZedd	Zed
dZdd
Z	ddZ
ddZddZddZ
dS)BoundArgumentsr
_signature__weakref__cCs||_||_dS)N)rr)rrrrrrr	s	zBoundArguments.__init__cCs|jS)N)r)rrrrr	szBoundArguments.signaturecCsg}x|jjjD]u\}}|jttfkr;Py|j|}Wntk
raPYqX|jtkr|j	|q|j
|qWt|S)N)rr(r?rar/r.rrkr-extendrArX)rrrr5rBrrrr	s
zBoundArguments.argscCsi}d}x|jjjD]\}}|sg|jttfkrOd}n||jkrgd}q|spqy|j|}Wntk
rYqX|jtkr|j|q|||<qW|S)NFT)	rr(r?rar/r.rrkupdate)rkwargsZkwargs_startedrr5rBrrrr
s&	
zBoundArguments.kwargscCs|j}g}x|jjjD]\}}y|j|||fWq"tk
r|jtk	rt|j}n3|jt	krf}n|jt
kri}nw"|j||fYq"Xq"Wt||_dS)N)rrr(r?rArkr,rrar-r/r)rrZ
new_argumentsr^r5valrrrapply_defaults#
s		
		zBoundArguments.apply_defaultscCsE||krdSt|ts#tS|j|jkoD|j|jkS)NT)rrrrr)rrrrrr?
szBoundArguments.__eq__cCs|d|_|d|_dS)Nrr)rr)rrrrrrG
s
zBoundArguments.__setstate__cCsd|jd|jiS)Nrr)rr)rrrr__getstate__K
szBoundArguments.__getstate__cCs^g}x6|jjD]%\}}|jdj||qWdj|jjdj|S)Nz{}={!r}z	<{} ({})>z, )rr?rArjrr~r)rrrBrNrrrrN
szBoundArguments.__repr__N)rrr)r~rxryrrrUrrrrrrr rrrrrr	src@s9eZdZd-ZeZeZeZ	ddeddddZ
ed	d
ZeddZ
ed
dddZeddZeddZdededdZddZddZddZdddd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,ZdS).r%_return_annotation_parametersNr&rTcCs[|dkrt}n$|r#t}t}d}xt|D]\}}|j}	|j}
|	|krd}|j||	}t|n|	|krd}|	}|	ttfkr|jt	kr|rd}t|nd}|
|krdj|
}t||||
<q@Wntdd|D}t
j||_||_
dS)NFz'wrong parameter order: {!r} before {!r}z-non-default argument follows default argumentTzduplicate parameter name: {!r}css|]}|j|fVqdS)N)r^)rQr5rrrr
sz%Signature.__init__.<locals>.<genexpr>)rr*rErar^rjrir+r,rrMappingProxyTyper"r!)rr(r&rrZtop_kindZ
kind_defaultsidxr5rar^rWrrrrs
s<			
zSignature.__init__cCs#tjdtddt||S)NzNinspect.Signature.from_function() is deprecated, use Signature.from_callable()rr)rrrr)rRrkrrr
from_function
s	
zSignature.from_functioncCs#tjdtddt||S)NzMinspect.Signature.from_builtin() is deprecated, use Signature.from_callable()rr)rrrr)rRrkrrrfrom_builtin
s	
zSignature.from_builtinfollow_wrappedcCst|d|d|S)Nr"r )r$)rRr`r'rrr
from_callable
szSignature.from_callablecCs|jS)N)r")rrrrr(
szSignature.parameterscCs|jS)N)r!)rrrrr&
szSignature.return_annotationr(cCsF|tkr|jj}|tkr0|j}t||d|S)Nr&)rr(r)r!r)rr(r&rrrr;
s	zSignature.replacecCsNtdd|jjD}dd|jjD}|||jfS)Ncss$|]}|jtkr|VqdS)N)rar.)rQr5rrrr
sz(Signature._hash_basis.<locals>.<genexpr>cSs+i|]!}|jtkr||jqSr)rar.r^)rQr5rrrra
s	z)Signature._hash_basis.<locals>.<dictcomp>)rXr(r)r&)rr
kwo_paramsrrr_hash_basis
s"zSignature._hash_basiscCs:|j\}}}t|j}t|||fS)N)r*	frozensetr)r)rrr)r&rrrr
szSignature.__hash__cCs9||krdSt|ts#tS|j|jkS)NT)rr%rr*)rrrrrr
s
zSignature.__eq__rFcCset}t|jj}f}t|}xyt|}Wntk
rMyt|}	Wntk
rxPYnX|	jtkrPn|	j|kr|	jt	krd}
|
j
d|	j}
t|
d|	f}Pnh|	jtks|	j
tk	r|	f}Pn=|r|	f}Pn*d}
|
j
d|	j}
t|
dYq3Xyt|}	Wn!tk
rtddYq3X|	jttfkrtdd|	jtkr|g}|j|t|||	j<P|	j|krtdj
d|	jd|||	j<q3Wd}xtj||D]}	|	jtkrT|	}q6|	jtkrfq6|	j}
y|j|
}WnRtk
r|r|	jtkr|	j
tkrtdj
d|
dYq6X|	jt	krtdj
d|	j|||
<q6W|rU|dk	r1|||j<n$tdj
dtt||j||S)NzA{arg!r} parameter is positional only, but was passed as a keywordrBz$missing a required argument: {arg!r}ztoo many positional argumentsz$multiple values for argument {arg!r}z*got an unexpected keyword argument {arg!r})rrr(r)r
StopIterationrar-r^r*rjrr/r,rr.rrXrchainrrk_bound_arguments_cls)rrrrrr(Z
parameters_exZarg_valsZarg_valr5rWr)Zkwargs_paramrrrr_bind
s	

			
	
		
	zSignature._bindcOs|dj|dd|S)Nrr)r/)rrrrrbindmszSignature.bindcOs$|dj|dd|ddS)NrrrT)r/)rrrrrrtszSignature.bind_partialcCs.t|t|jjfd|jifS)Nr!)rrXr"r)r!)rrrrr
{s	zSignature.__reduce__cCs|d|_dS)Nr!)r!)rrrrrrszSignature.__setstate__cCsdj|jj|S)Nz<{} {}>)rjrr~)rrrrrszSignature.__repr__c	Csg}d}d}x|jjD]}t|}|j}|tkrRd}n|rk|jdd}|tkrd}n%|tkr|r|jdd}|j|q"W|r|jddjdj	|}|j
tk	rt|j
}|dj|7}|S)NFTrr?z({})z, z -> {})
r(r)rrar*rAr-r.rjrr&rr<)	rr]Zrender_pos_only_separatorZrender_kw_only_separatorr5rraZrenderedZannorrrrs0		
	

zSignature.__str__)r!r")r~rxryrrrrr.rr'rr\r%r&r(rUr(r&rr;r*rrr/r0rr
rrrrrrrr%U
s.2			r%r'cCstj|d|S)Nr')r%r()r`r'rrrrsrcCs^ddl}ddl}|j}|jddd|jdddddd	|j}|j}|jd
\}}}y|j|}}	Wn`tk
r}
z@dj	|t
|
j|
}t|dt
jtd
WYdd}
~
XnX|r5|jd}|	}x|D]}
t||
}qW|	jt
jkrdtddt
jtd|jrJtdj	|tdj	t|	tdj	|	j||	krtdj	t|	jt|	dr=tdj	|	jn>yt|\}}Wntk
r)YnXtdj	|tdntt|dS)Nrr
helpzCThe object to be analysed. It supports the 'module:qualname' syntaxz-dz	--detailsaction
store_truez9Display info about the module rather than its source coderzFailed to import {} ({}: {})rrrsz#Can't get info for builtin modules.rz
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}__path__zSubmodule search path: {}zLine: {}r)argparserArgumentParseradd_argument
parse_argsr
	partition
import_modulerYrjrr~printrustderrexitrzrCbuiltin_module_namesZdetailsr
__cached__r:rrr4rr)r5rparserrtargetZmod_nameZ	has_attrsZattrsr`rr_rWpartspart__rtrrr_mainsV			

	

rEr)
__author__rZdiscollections.abcr(enumZimportlib.machineryrrrrrrurrrrrroperatorrrrglobalsZmod_dictZCOMPILER_FLAG_NAMESr?rLrMr6r
rrrrrrrrr!r"r$r&r+r-r/r1r3r4r7rOrPrbr:rmrrr{rrrrrrrrrrrrrrrYrrrrrrrr	rr
rrrrr6r9r<r>rrKrNrUrXr]r^rmrnrvrw_fieldsrxr|rrrrr
rrrrrrrrrrrrrrrrrrrrrZ_WrapperDescriptorallZ_MethodWrapperrr>Z_ClassMethodWrapperr2rrrrrrrrrrrr$rrIntEnumrrr*rr+rr-rr.rr/rrr%rrEr~rrrr<module>sN		
	

	
	,t!
;	.I-7


	[
							)		>5 			0LHQ					`:
Back to Directory File Manager