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



]9D@sKddlZddlmZmZddlZddlZddlZddlZddlZddl	Z	yddl
jZWnek
rddlZYnXej
ddddfkrddlZy ddl	mZmZmZWnBek
r-eejZeejZeejZYnXddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:g4Zd;d<Zd=d>ZGd?d@d@eZGdAdBdBdCedDdEZGdFdGdGedDdEZGdHdIdIedDdEZGdJdKdKedDdEZdLdMZ dNdOZ!dPdQZ"dRdSZ#dTdUZ$GdVdWdWedDdEZ%e%dDdEZ&GdXdYdYedDdEZ'e'dDdEZ(GdZddedDdEZ)e)d[Z*e)d\Z+e)d]Z,e)d^d_dEZ-e)d`d_dEZ.e)dad_dEZ/e)dbdcdEZ0e)d2e1eZ2dddeZ3dddfdgZ4dhdiZ5djdkZ6gZ7dldmZ8GdndodoedDdEZ9e9dDdEZ:GdpdqdqedDdEZ;e;dDdEZ<drdsZ=dtduZ>dvdwZ?dxdyZ@dzd{ZAGd|ddeejBZCdZDd}d~ZEGdd
d
dCeCZDGdddZFGdddZGGdddeCZHGdddeIdeIdCeHZJGdddeCZKGddddejLdCeKZLGdddedDdEZMeMdDdEZNdd3ZOddZPe	jQe	jRe	jSe	jTeeefZUdddd4ZVdd6ZWdd7ZXddZYdd8ZZGdddeCZ[GddddCe[Z\ej]Z]e^edrwGdddeDe-dej_Z_ej`de^edrGddde_e.eDe-e0e.fdejaZaej`de^edr5GdddeDe-dejbZbGdddebe-dejcZcej`dej`dGdddeDe-dejdZdGdddede-dejeZeGdd'd'e\ZfGdd&d&e\ZgGdd%d%e\ZhGdd$d$e\ZiGdd#d#e\e-ZjGdd(d(e\e-Zke^ed"r<Gdd"d"ede-dejlZlnGdd"d"e\e-ZlejmZmGdddeDe-dejnZne^edrGdddemede-ene-dejoZoej`de^edr	Gdddeoe-dejpZqn-Gdddemede-ene-dejpZqGdddeqe*dejrZre^edr	Gdddeoe+eDe+e/fdejsZsn:Gdddemede+ene+eDe+e/fdejsZsGdddese+e,fdejtZte^ed"rp
e^edr@
Gdddele-eoe-dejuZun-Gdddemele-ene-dejuZun-Gdddemede-ene-dejuZuGdddeue*dejvZvGdddeuewdejxZxGdd-d-eyeve*deyZzGdd*d*ej{eve*dej{Z|Gdd.d.e}ere*de}ZpGdd/d/e~eqe-de~ZGdddemede-dejZGdddee+eqe+dejZGdddeeJe+e/feqeJe+e/feDe+e/fdejZGdd!d!ee/dejZe^edrhGdddeDe-dejZnGdddeDe-Ze^edrGdddeDe-dejZej`dn)ej
ddddfkredGdd+d+eete+e,fdeZGdd,d,ejete+e,fdejZGdd)d)ejee*ewfdejZe^edr
ej`dGdddejete+e,fdejZe^ed1r
ejZn	e	jZGdd1d1eee-eDe-e0e.fdeZe^edr_Gdddece-eDe-e0fdejZej`de)dd_dEdeZGdd
d
eDedeZddZej
ddddfkZdddddddddddfZddddfZGdddeZGdd0d0dCeZdd5ZeZdZGdddeDe2ZGdddee1ZGdddeeZGdddZede_eejej<ede2eejdddZede2eejddddZGdddZede_eejej<dS)N)abstractmethodabstractproperty)WrapperDescriptorTypeMethodWrapperTypeMethodDescriptorTypeAnyCallableClassVarGenericOptionalTupleTypeTypeVarUnionAbstractSetGenericMeta
ByteString	ContainerContextManagerHashable	ItemsViewIterableIteratorKeysViewMappingMappingViewMutableMappingMutableSequence
MutableSetSequenceSized
ValuesView
ReversibleSupportsAbs
SupportsBytesSupportsComplex
SupportsFloatSupportsInt
SupportsRoundCounterDequeDictDefaultDictListSet	FrozenSet
NamedTuple	GeneratorAnyStrcastget_type_hintsNewType
no_type_checkno_type_check_decoratoroverloadText
TYPE_CHECKINGcCs+tjdddkr |jS|jSdS)Nrr)rr)sysversion_info__qualname____name__)xrC+/opt/alt/python35/lib64/python3.5/typing.py	_qualnamegsrEcCs5d}|jdr1||kr1|dd}|S)N
_TypeAlias_ForwardRef_TypingBase_FinalTypingBase_)rFrGrHrI)
startswith)ZnmZ	whitelistrCrCrD
_trim_nameosrMcs^eZdZdZddfddZddZddZd	d
ZddZS)
TypingMetaF_rootcsG|s.tddjtt|p'dtj||||S)NzCannot subclass %sz, z())	TypeErrorjoinmap
_type_reprsuper__new__)clsnamebases	namespacerO)	__class__rCrDrUs"zTypingMeta.__new__cOsdS)NrC)selfargskwdsrCrCrD__init__szTypingMeta.__init__cCs|S)NrC)r[globalnslocalnsrCrCrD
_eval_typeszTypingMeta._eval_typecCsdS)NrC)r[tvarsrCrCrD_get_type_varsszTypingMeta._get_type_varscCs#tt|}d|j|fS)Nz%s.%s)rMrE
__module__)r[qnamerCrCrD__repr__szTypingMeta.__repr__)	rArdr@_is_protocolrUr^rarcrfrCrC)rZrDrNvs

rNcsdeZdZdZddZfddZddZdd	Zd
dZdd
Z	S)rH__weakref__cOsdS)NrC)r[r\r]rCrCrDr^sz_TypingBase.__init__csXt|dkrHt|dtrHt|dtrHtd|tj|S)NrrrKzCannot subclass %r)len
isinstancestrtuplerPrTrU)rVr\r])rZrCrDrUs
z_TypingBase.__new__cCs|S)NrC)r[r_r`rCrCrDrasz_TypingBase._eval_typecCsdS)NrC)r[rbrCrCrDrcsz_TypingBase._get_type_varscCs/t|}tt|}d|j|fS)Nz%s.%s)typerMrErd)r[rVrerCrCrDrfsz_TypingBase.__repr__cOstdt|dS)NzCannot instantiate %r)rPrm)r[r\r]rCrCrD__call__sz_TypingBase.__call__)rh)
rArdr@	__slots__r^rUrarcrfrnrCrC)rZrDrHsrH	metaclassrOTcs:eZdZfZddfddZddZS)rIrOFcs<tj|||}|dkr(|Std|dS)NTzCannot instantiate %r)rTrUrP)rVrOr\r]r[)rZrCrDrUsz_FinalTypingBase.__new__cCstt|jS)N)rMrmrA)r[rCrCrD
__reduce__sz_FinalTypingBase.__reduce__)rArdr@rorUrqrCrC)rZrDrIsrIcspeZdZdZfddZddZd	d
ZddZd
dZddZ	ddZ
S)rG__forward_arg____forward_code____forward_evaluated____forward_value__cstj|t|ts2td|fyt|dd}Wn%tk
rotd|fYnX||_||_d|_	d|_
dS)Nz,Forward reference must be a string -- got %rz<string>evalz1Forward reference must be an expression -- got %rF)rTr^rjrkrPcompileSyntaxErrorrrrsrtru)r[argcode)rZrCrDr^s
			z_ForwardRef.__init__cCs|js||k	r|dkr;|dkr;i}}n'|dkrP|}n|dkrb|}tt|j||d|_d|_|jS)Nz*Forward references must evaluate to types.T)rt_type_checkrvrsru)r[r_r`rCrCrDras
		z_ForwardRef._eval_typecCs5t|tstS|j|jko4|j|jkS)N)rjrGNotImplementedrrru)r[otherrCrCrD__eq__sz_ForwardRef.__eq__cCst|j|jfS)N)hashrrru)r[rCrCrD__hash__sz_ForwardRef.__hash__cCstddS)Nz4Forward references cannot be used with isinstance().)rP)r[objrCrCrD__instancecheck__sz_ForwardRef.__instancecheck__cCstddS)Nz4Forward references cannot be used with issubclass().)rP)r[rVrCrCrD__subclasscheck__sz_ForwardRef.__subclasscheck__cCsd|jfS)Nz_ForwardRef(%r))rr)r[rCrCrDrf	sz_ForwardRef.__repr__)rrrsrtru)rArdr@ror^rar~rrrrfrCrC)rZrDrGsrGc@sjeZdZdZddZddZd	d
ZddZd
dZddZ	ddZ
dS)rFrWtype_var	impl_typetype_checkercCs(||_||_||_||_dS)N)rWrrr)r[rWrrrrCrCrDr^s			z_TypeAlias.__init__cCsd|jt|jfS)Nz%s[%s])rWrSr)r[rCrCrDrf,sz_TypeAlias.__repr__cCst|jts"td||jjrkt|trkt||jjsktd||jft|tr||jk	rtd||j|j||j	|j
S)Nz#%s cannot be further parameterized.z&%s is not a valid substitution for %s.z%s cannot be re-parameterized.)rjrrrP__constraints__rm
issubclassrZrWrr)r[Z	parameterrCrCrD__getitem__/sz_TypeAlias.__getitem__cCs5t|tstS|j|jko4|j|jkS)N)rjrFr|rWr)r[r}rCrCrDr~;sz_TypeAlias.__eq__cCst|j|jfS)N)rrWr)r[rCrCrDr@sz_TypeAlias.__hash__cCs.t|jtstdt||jS)Nz<Parameterized type aliases cannot be used with isinstance().)rjrrrPr)r[rrCrCrDrCsz_TypeAlias.__instancecheck__cCs.t|jtstdt||jS)Nz<Parameterized type aliases cannot be used with issubclass().)rjrrrPrr)r[rVrCrCrDrIsz_TypeAlias.__subclasscheck__N)rWrrr)rArdr@ror^rfrr~rrrrCrCrCrDrF
s	rFcCs@x9|D]1}t|ts+t|tr|j|qWdS)N)rjrNrHrc)typesrbtrCrCrDrcPs
rccCsg}t||t|S)N)rcrl)rrbrCrCrD
_type_varsVs
rcCs2t|tst|tr.|j||S|S)N)rjrNrHra)rr_r`rCrCrDra\sracCs|dkrtdSt|tr1t|}t|trUt|jdksxt|ttfrt|rt|d|ft|jdkrt|ddst|t	rt
|ttfkrtd||S)N	_ClassVarz Got %.100r._Union	_Optional
__origin__z&Plain %s is not valid as type argument)rr)
rmrjrkrGrHrAcallablerPgetattrrN_gorgr
	_Protocol)rymsgrCrCrDr{bs
$#'r{cCst|trOt|trO|jdkr8t|Sd|jt|fS|dkr_dSt|tjrx|jSt|S)Nbuiltinsz%s.%s.z...)	rjrmrNrdrErFunctionTyperArepr)rrCrCrDrSs
rSc@s.eZdZfZddZddZdS)_AnycCstddS)Nz%Any cannot be used with isinstance().)rP)r[rrCrCrDrsz_Any.__instancecheck__cCstddS)Nz%Any cannot be used with issubclass().)rP)r[rVrCrCrDrsz_Any.__subclasscheck__N)rArdr@rorrrCrCrCrDrsrc@s.eZdZfZddZddZdS)	_NoReturncCstddS)Nz*NoReturn cannot be used with isinstance().)rP)r[rrCrCrDrsz_NoReturn.__instancecheck__cCstddS)Nz*NoReturn cannot be used with issubclass().)rP)r[rVrCrCrDrsz_NoReturn.__subclasscheck__N)rArdr@rorrrCrCrCrDrs
rc	sjeZdZdZdddd	d
d	fddZd
dZddZddZddZS)rrA	__bound__r
__covariant____contravariant__boundN	covariantF
contravariantc	stj||d|d|d|||_|rF|rFtdt||_t||_|r|dk	rtd|rt|dkrtddt	fd	d
|D|_
|rt|d|_n	d|_dS)Nrrrz"Bivariant types are not supported.z-Constraints cannot be combined with bound=...rKz"A single constraint is not allowedz:TypeVar(name, constraint, ...): constraints must be types.c3s|]}t|VqdS)N)r{).0r)rrCrD	<genexpr>sz#TypeVar.__init__.<locals>.<genexpr>zBound must be a type.)
rTr^rA
ValueErrorboolrrrPrirlrr{r)r[rWrrrZconstraints)rZ)rrDr^s 
	"zTypeVar.__init__cCs||kr|j|dS)N)append)r[rbrCrCrDrcszTypeVar._get_type_varscCs5|jrd}n|jr$d}nd}||jS)N+-~)rrrA)r[prefixrCrCrDrf
s				zTypeVar.__repr__cCstddS)Nz0Type variables cannot be used with isinstance().)rP)r[instancerCrCrDrszTypeVar.__instancecheck__cCstddS)Nz0Type variables cannot be used with issubclass().)rP)r[rVrCrCrDrszTypeVar.__subclasscheck__)rArrrr)	rArdr@ror^rcrfrrrCrC)rZrDrs*		TKTVTT_corV_coVT_coT_contrarcCs|dkrg}t|drFt|ttfrF|j||St|trx.t|D] \}}||krb||SqbW|S)N
_subs_tree)hasattrrjrrHrr	enumerate)ryrbr\iZtvarrCrCrD_replace_arg)s$rc	Cs|jdkr|S|j}g}x)|jdk	rM|j||j}q%Wg}x*|jD]}|jt|||q^WxJ|D]B}g}x-|jD]"}|jt||j|qW|}qW|S)N)rr__args__r__parameters__)	rVrbr\currentZ
orig_chain	tree_argsryZoclsZ
new_tree_argsrCrCrDrDs 	


 
rcsg}x|D]}t|trD|jtkrD|j|jq
t|trt|dkr|dtkr|j|ddq
|j|q
Wt	|tt|krg}x4|D],}|kr|j|j
|qW|}t	|xS|D]Ktts2qtfddhDrj
qWtfdd|DS)NrrKc3sK|]A}t|to$|jdk	st|toBt|VqdS)N)rjrrrmr)rZt2)t1rCrDrsz'_remove_dups_flatten.<locals>.<genexpr>c3s!|]}|kr|VqdS)NrC)rr)
all_paramsrCrDrs)
rjrrrextendrrlrirsetremovermany)
parametersparamspZ
new_paramsrrC)rrrD_remove_dups_flattenes.
1


rcCs~|jstdt|t|}t|j}||krztd||kr^dndt|||fdS)Nz%s is not a generic classz0Too %s parameters for %s; actual %s, expected %sZmanyZfew)rrPrri)rVrZalenZelenrCrCrD_check_generics	rcsJtjtjjtjfdd}|S)Ncs3y||SWntk
r%YnX||S)N)rP)r\r])cachedfuncrCrDinners

z_tp_cache.<locals>.inner)	functools	lru_cache	_cleanupsrcache_clearwraps)rrrC)rrrD	_tp_caches$rcseZdZdZddddfdd	Zd
dZdd
ZfddZfddZe	ddZ
ddddZddZddZ
ddZddZS)rrrr
__tree_hash__NrOFcstj||||d|}|dkrad|_d|_d|_ttd|_|St|t	s|t
d|tkrt|}t
|dkr|dSt||_||_||_|j}t|t	rtt||_nt||_|S)NrOrzExpected parameters=<tuple>rKr)r)rTrUrrrr	frozensetrrjrlrPrrrirr)rVroriginrOr\r[Z	subs_tree)rZrCrDrUs*!					z_Union.__new__cs|jdkr|Stfdd|jD}t|j}||jkro||jkro|S|j||ddS)Nc3s!|]}t|VqdS)N)ra)rr)r_r`rCrDrsz$_Union._eval_type.<locals>.<genexpr>rOT)rrlrarrZ)r[r_r`ev_args	ev_originrC)r_r`rDras%z_Union._eval_typecCs&|jr"|jr"t|j|dS)N)rrrc)r[rbrCrCrDrcsz_Union._get_type_varscsR|jdkrtjS|j}t|tsAt|S|dj|S)Nr)rrTrfrrjrlr
_tree_repr)r[tree)rZrCrDrfs

z_Union.__repr__cs~g}xW|ddD]E}t|tsB|jt|q|j|dj|qWtjddj|S)NrKrz[%s]z, )rjrlrrSrrTrfrQ)r[rarg_listry)rZrCrDr
sz_Union._tree_reprcs|fkrtdt|ts0|f}|jdkrHdndtfdd|D}|tk	rt|||j|d|ddS)	Nz Cannot take a Union of no types.z)Union[arg, ...]: each arg must be a type.z*Parameters to generic types must be types.c3s|]}t|VqdS)N)r{)rr)rrCrDr sz%_Union.__getitem__.<locals>.<genexpr>rrOT)rPrjrlrrrrZ)r[rrC)rrDrs		
z_Union.__getitem__cCsS|tkrtSt|||}t|}t|dkrH|dStf|S)NrKr)rrrri)r[rbr\rrCrCrDr%sz_Union._subs_treecCsIt|tr|j|jkS|tk	r;|j|kS||kSdS)N)rjrrrr)r[r}rCrCrDr~.s
z
_Union.__eq__cCs|jS)N)r)r[rCrCrDr6sz_Union.__hash__cCstddS)Nz(Unions cannot be used with isinstance().)rP)r[rrCrCrDr9sz_Union.__instancecheck__cCstddS)Nz(Unions cannot be used with issubclass().)rP)r[rVrCrCrDr<sz_Union.__subclasscheck__)rrrr)rArdr@rorUrarcrfrrrrr~rrrrCrC)rZrDrs,
		rc@s(eZdZfZeddZdS)rcCs#t|d}t|tdfS)Nz#Optional[t] requires a single type.)r{rrm)r[ryrCrCrDrKsz_Optional.__getitem__N)rArdr@rorrrCrCrCrDrCsrcCs#x|jdk	r|j}qW|S)N)r)arCrCrDrTs
rcCst|t|kS)N)r)rbrCrCrD_geqv\srcCsft}xYt|jddD]>\}}t|tr t|tkr |j|d}q W|S)NrK)objectr__mro__rjrrr
)rVZnext_in_mrorcrCrCrD_next_in_mroks
&!rcs@tjtjr*fdd}nfdd}|S)Ncs{jj|}|tk	r"|Sj|jkr8dSx<jjD]+}t|tr`qHt||rHdSqHWtS)NT)	__extra____subclasshook__r|r__subclasses__rjrr)subclassresscls)rVrCrD
__extrahook__sz)_make_subclasshook.<locals>.__extrahook__cs#jrt|jrdStS)NT)rrr|)r)rVrCrDrs)rjrabcABCMeta)rVrrC)rVrD_make_subclasshookysrcCsAt|}d|kr=x"|dD]}|j|dq#W|S)Nro)dictpop)dctZ	dict_copyZslotrCrCrD_no_slots_copys
rcs3eZdZdddddfddZeddZejddZeddZejd	dZd
dZdd
Z	fddZ
fddZddddZddZ
ddZeddZfddZddZddZfd d!ZS)"rNc	s|dk	rnt|}d}	xe|D]]}
|
tkrFtdt|
tr(|
jtkr(|	dk	r|td|
j}	q(W|	dkr|}	nrt|}t|	|ks
tddjfdd|Ddjdd|	Df|	}|}|dk	rPt	|t
jkrP||krP|f|}tdd|D}t
d	d|Drtd
d|D}|jd|d|itj||||d
d}
||
_|rtdd|Dnd|
_t|
|
_|dkr*||
_d|kr<|sWt|
jdddkrft|
|
_t|t
jr|j|
_|j|
_n$|dk	r|j|
_|j|
_|rt|dr|j|
_|rt|
jntt|
j|
_|
S)Nz!Cannot inherit from plain Genericz0Cannot inherit from Generic[...] multiple types.z6Some type variables (%s) are not listed in Generic[%s]z, c3s'|]}|krt|VqdS)N)rk)rr)gvarsetrCrDrsz&GenericMeta.__new__.<locals>.<genexpr>css|]}t|VqdS)N)rk)rgrCrCrDrscss0|]&}t|tr$t|n|VqdS)N)rjrr)rrrCrCrDrscss*|] }t|to!|tk	VqdS)N)rjrr
)rrrCrCrDrscss!|]}|tk	r|VqdS)N)r
)rrrCrCrDrsrrrOTcss9|]/}|tkrdn|tkr-fn|VqdS).N)_TypingEllipsis_TypingEmpty)rrrCrCrDrsrrArr@) rr
rPrjrrrrrQrmrrrlrupdaterTrUrr__next_in_mro____orig_bases__rrr
_abc_registry
_abc_cacherr@rrrr)rVrWrXrYrbr\rextra
orig_basesZgvarsbaseZtvarsetZ
initial_basesr[)rZ)rrDrUsd
	
	#-
!	(	zGenericMeta.__new__cCs,t|jtjr|jjSt|jS)N)rjrrr_abc_negative_cacher_abc_generic_negative_cache)r[rCrCrDrs
zGenericMeta._abc_negative_cachecCs@|jdkr<t|jtjr3||j_n	||_dS)N)rrjrrrrr)r[valuerCrCrDrscCs,t|jtjr|jjSt|jS)N)rjrrr_abc_negative_cache_versionr#_abc_generic_negative_cache_version)r[rCrCrDrs
z'GenericMeta._abc_negative_cache_versioncCs@|jdkr<t|jtjr3||j_n	||_dS)N)rrjrrrrr)r[rrCrCrDr$scCs&|jr"|jr"t|j|dS)N)rrrc)r[rbrCrCrDrc,szGenericMeta._get_type_varscs|jr|jjnd}|jrRtfdd|jDnd}||jkrz||jkrz|S|j|j|jt|jd|rt	|ndd|d|d|j
d|jS)Nc3s!|]}t|VqdS)N)ra)rr)r_r`rCrDr3sz)GenericMeta._eval_type.<locals>.<genexpr>rbr\rrr)rrarrlrZrA	__bases__r__dict__rrr)r[r_r`rrrC)r_r`rDra0s$4	zGenericMeta._eval_typecs/|jdkrtjS|j|jS)N)rrTrfrr)r[)rZrCrDrf@s
zGenericMeta.__repr__csg}xs|ddD]a}|fkr9|jdqt|ts^|jt|q|j|dj|qWtjddj|S)NrKz()rz[%s]z, )rrjrlrSrrTrfrQ)r[rrry)rZrCrDrEszGenericMeta._tree_reprcCs<|jdkr|St|||}t|ft|S)N)rrrrl)r[rbr\rrCrCrDrPszGenericMeta._subs_treecCsKt|tstS|jdks1|jdkr;||kS|j|jkS)N)rjrr|rr)r[r}rCrCrDr~Vs

zGenericMeta.__eq__cCs|jS)N)r)r[rCrCrDr]szGenericMeta.__hash__cst|ts|f}|rGt|tk	rGtdt|dtfdd|D}|tkrtdd|Dstdtt	|t|krtd|}|}n|tt
fkrt|}|}nh|tkr|}|}nM|j
ttfkrFtdt|nt||t|}|}|j
dkr}|fnf}|j|j||jt|jd	|d
|d|d|jd
|jS)Nz)Parameter list to %s[...] cannot be emptyz*Parameters to generic types must be types.c3s|]}t|VqdS)N)r{)rr)rrCrDrhsz*GenericMeta.__getitem__.<locals>.<genexpr>css|]}t|tVqdS)N)rjr)rrrCrCrDrksz5Parameters to Generic[...] must all be type variablesz-Parameters to Generic[...] must all be uniquez'Cannot subscript already-subscripted %srbr\rrr)rjrlrrrPrEr
allrirrrrrrrrZrArrrrr)r[rrbr\ZprependrC)rrDr`sJ						

	zGenericMeta.__getitem__csg|jdk	r;tjdjddkr7tddS|tkrWtd|tj|S)	NrKrArrzCParameterized generics cannot be used with class or instance checksFz5Class %r cannot be used with class or instance checks)rr)rr>	_getframe	f_globalsrPr
rTr)r[rV)rZrCrDrs
zGenericMeta.__subclasscheck__cCst|j|S)N)rrZ)r[rrCrCrDrszGenericMeta.__instancecheck__c	Cs@|j|j|jt|j|j|j|j|j|j	S)N)
rZrArrrrrrrr)r[rCrCrD__copy__szGenericMeta.__copy__csl|jdr|jds-|jdrItt|j||nttt|j||dS)N___abc_)rLendswithrTr__setattr__r)r[attrr)rZrCrDrszGenericMeta.__setattr__)rArdr@rUpropertyrsetterrrcrarfrrr~rrrrrrrrCrC)rZrDrs"!^.cOsq|jdkr|j|St|}|j|}y
||_Wntk
rXYnX|j|||SdS)N)rrUrZ__orig_class__AttributeErrorr^)Zbase_clsrVr\r]rrrCrCrD_generic_news


r
c@s"eZdZfZddZdS)r
cOs1t|trtdt|j|||S)NzHType Generic cannot be instantiated; it can be used only as a base class)rr
rPr
r)rVr\r]rCrCrDrUszGeneric.__new__N)rArdr@rorUrCrCrCrDr
sc@seZdZdS)rN)rArdr@rCrCrCrDrsrc@seZdZdS)rN)rArdr@rCrCrCrDrsrcs@eZdZefddZddZddZS)	TupleMetacs|jdk	st|tr/tj|S|fkrNtjtfSt|tsf|f}t|dkr|ddkrdt	|d}tj|t
fSdtfdd|D}tj|S)	NrrK.z Tuple[t, ...]: t must be a type.rz*Tuple[t0, t1, ...]: each t must be a type.c3s|]}t|VqdS)N)r{)rr)rrCrDrsz(TupleMeta.__getitem__.<locals>.<genexpr>)rrrrTrrrjrlrir{r)r[rr)rZ)rrDrs	"zTupleMeta.__getitem__cCs,|jdkrt|tStddS)Nz5Parameterized Tuple cannot be used with isinstance().)rrjrlrP)r[rrCrCrDrs
zTupleMeta.__instancecheck__cCs,|jdkrt|tStddS)Nz5Parameterized Tuple cannot be used with issubclass().)rrrlrP)r[rVrCrCrDr
s
zTupleMeta.__subclasscheck__)rArdr@rrrrrCrC)rZrDrsrc@s"eZdZfZddZdS)rcOs.t|trtdtt|||S)Nz6Type Tuple cannot be instantiated; use tuple() instead)rrrPr
rl)rVr\r]rCrCrDrUsz
Tuple.__new__N)rArdr@rorUrCrCrCrDrs
rcs^eZdZfddZfddZfddZefddZS)	CallableMetacs/|jdkrtjS|j|jS)N)rrTrfrr)r[)rZrCrDrf's
zCallableMeta.__repr__cst|tk	r"tj|Sg}xW|ddD]E}t|tsd|jt|q9|j|dj|q9W|ddkrt|dd|dSt|dddj	|dd|dfS)	NrKrz...z	[..., %s]z
[[%s], %s]z, rr)
rrrTrrjrlrrSrrQ)r[rrry)rZrCrDr,s
zCallableMeta._tree_reprcs|jdk	st|tr/tj|St|tsQt|dkr]td|\}}|t	krt	|f}n4t|t
std|ft||f}|j|S)Nrz6Callable must be used as Callable[[arg, ...], result].z8Callable[args, result]: args must be a list. Got %.100r.)rrrrTrrjrlrirPEllipsislist__getitem_inner__)r[rr\result)rZrCrDr<s"
zCallableMeta.__getitem__cs|\}}dt|}|tkrCtjt|fSdtfdd|D}||f}tj|S)Nz.Callable[args, result]: result must be a type.z6Callable[[arg, ...], result]: each arg must be a type.c3s|]}t|VqdS)N)r{)rry)rrCrDrXsz1CallableMeta.__getitem_inner__.<locals>.<genexpr>)r{rrTrrrl)r[rr\r)rZ)rrDrPs
zCallableMeta.__getitem_inner__)rArdr@rfrrrrrCrC)rZrDr$src@s"eZdZfZddZdS)rcOs1t|trtdt|j|||S)NzIType Callable cannot be instantiated; use a non-abstract subclass instead)rrrPr
r)rVr\r]rCrCrDrUjszCallable.__new__N)rArdr@rorUrCrCrCrDr]scsgeZdZdZdddZddZddZfd	d
ZddZd
dZ	S)r__type__NcKs
||_dS)N)r)r[tpr]rCrCrDr^sz_ClassVar.__init__cCspt|}|jdkrJ|t|dj|jddddStdj|jdddS)Nz{} accepts only single type.rKrOTz {} cannot be further subscripted)rmrr{formatrArP)r[itemrVrCrCrDrs		z_ClassVar.__getitem__cCs>t|j||}||jkr(|St||ddS)NrOT)rarrm)r[r_r`Znew_tprCrCrDrasz_ClassVar._eval_typecs>tj}|jdk	r:|djt|j7}|S)Nz[{}])rTrfrrrS)r[r)rZrCrDrfsz_ClassVar.__repr__cCstt|j|jfS)N)rrmrAr)r[rCrCrDrsz_ClassVar.__hash__cCs<t|tstS|jdk	r2|j|jkS||kS)N)rjrr|r)r[r}rCrCrDr~s
z_ClassVar.__eq__)r)
rArdr@ror^rrarfrr~rCrC)rZrDrqs	rcCs|S)NrC)typvalrCrCrDr6sc
Csy
|j}Wntk
r%iSYnX|j}|j}|d|}|jpTf}|j}|rrt|ni}|t|}x1t||d|D]\}}	|	||<qW|S)N)	__code__rco_argcountco_varnames__defaults____kwdefaults__rrizip)
rrzZ	pos_countZ	arg_namesdefaultsZ
kwdefaultsrZ
pos_offsetrWrrCrCrD
_get_defaultss

				&r"c	Cst|ddriS|dkrIt|di}|dkr[|}n|dkr[|}t|tri}xt|jD]}|jjdi}xi|jD][\}}|dkrtd}t|trt	|}t
|||}|||<qWqW|St|dd}|dkrUt|tr@iStdj
|t|}t|}x|jD]\}}|dkrtd}t|trt	|}t
|||}||kr||dkrt|}|||<qzW|S)N__no_type_check____globals____annotations__z1{!r} is not a module, class, method, or function.)rrjrmreversedrrgetitemsrkrGra_allowed_typesrPrr"rr)	rr_r`ZhintsrZannrWrr!rCrCrDr7sL		
cCst|tr|jj}x9|jjD](\}}||jkr.|j|q.WxH|jD]:}t|tj	rd|_
t|trgt|qgWy
d|_
Wntk
rYnX|S)NT)
rjrmrcopyr(rrvaluesrrr#r9rP)ryZ	arg_attrsr	rrrCrCrDr9s		

cs%tjfdd}|S)Ncs||}t|}|S)N)r9)r\r]r)	decoratorrCrDwrapped_decorator8sz2no_type_check_decorator.<locals>.wrapped_decorator)rr)r,r-rC)r,rDr:1s!cOstddS)NzYou should not call an overloaded function. A series of @overload-decorated functions outside a stub module should always be followed by an implementation that is not @overload-ed.)NotImplementedError)r\r]rCrCrD_overload_dummyAsr/cCstS)N)r/)rrCrCrDr;Jscs:eZdZfddZddZddZS)
_ProtocolMetacs/t|jkrtj|StddS)Nz+Protocols cannot be used with isinstance().)rrrTrrP)r[r)rZrCrDrnsz_ProtocolMeta.__instancecheck__csd|js
tS|tkrdS|j}x4|D],tfdd|jDs0dSq0WdS)NTc3s|]}|jkVqdS)N)r)rd)r	rCrDrsz2_ProtocolMeta.__subclasscheck__.<locals>.<genexpr>F)rgr|r_get_protocol_attrsrr)r[rVattrsrC)r	rDrss	
"z_ProtocolMeta.__subclasscheck__cCsg}x?|jD]4}t|ddr|jdkr|j|qWt}x<|D]4}x+|jjD]}x|jD]5}||k	r~||jkr~t|ddr~Pq~W|jdrn|dkrn|dkrn|dkrn|dkrn|dkrn|d	krn|d
krn|dkrn|dkrn|d
krn|dkrn|dkrn|dkrn|dkrn|dkrn|j|qnWqXW|S)NrgFrr__abstractmethods__r%rhrrror2rrrrrrrd)	rrrArrrkeysrLadd)r[Zprotocol_basesrr3rr	rCrCrDr2s:!	
z!_ProtocolMeta._get_protocol_attrs)rArdr@rrr2rCrC)rZrDr0gsr0c@seZdZfZdZdS)rTN)rArdr@rorgrCrCrCrDrsr	Awaitablec@seZdZfZdS)r7N)rArdr@rorCrCrCrDr7s	Coroutinec@seZdZfZdS)r8N)rArdr@rorCrCrCrDr8s
AsyncIterablec@seZdZfZdS)r9N)rArdr@rorCrCrCrDr9sc@seZdZfZdS)
AsyncIteratorN)rArdr@rorCrCrCrDr:sr:c@seZdZfZdS)rN)rArdr@rorCrCrCrDrsc@seZdZfZdS)rN)rArdr@rorCrCrCrDrsc@s1eZdZfZeedddZdS)r*)returncCsdS)NrC)r[rCrCrD__int__szSupportsInt.__int__N)rArdr@rorintr<rCrCrCrDr*sc@s1eZdZfZeedddZdS)r))r;cCsdS)NrC)r[rCrCrD	__float__szSupportsFloat.__float__N)rArdr@rorfloatr>rCrCrCrDr)sc@s1eZdZfZeedddZdS)r()r;cCsdS)NrC)r[rCrCrD__complex__szSupportsComplex.__complex__N)rArdr@rorcomplexr@rCrCrCrDr(sc@s1eZdZfZeedddZdS)r')r;cCsdS)NrC)r[rCrCrD	__bytes__szSupportsBytes.__bytes__N)rArdr@rorbytesrBrCrCrCrDr'sc@s1eZdZfZeedddZdS)r&)r;cCsdS)NrC)r[rCrCrD__abs__szSupportsAbs.__abs__N)rArdr@rorrrDrCrCrCrDr&sc@s7eZdZfZedeedddZdS)r+r)ndigitsr;cCsdS)NrC)r[rErCrCrD	__round__szSupportsRound.__round__N)rArdr@rorr=rrFrCrCrCrDr+	sc@seZdZfZdS)r%N)rArdr@rorCrCrCrDr%sc@s1eZdZfZeddddZdS)r%zIterator[T_co])r;cCsdS)NrC)r[rCrCrD__reversed__szReversible.__reversed__N)rArdr@rorrGrCrCrCrDr%sc@seZdZfZdS)rN)rArdr@rorCrCrCrDr s
Collectionc@seZdZfZdS)rHN)rArdr@rorCrCrCrDrH%sc@seZdZfZdS)rN)rArdr@rorCrCrCrDr/sc@seZdZfZdS)rN)rArdr@rorCrCrCrDr3sc@seZdZfZdS)r!N)rArdr@rorCrCrCrDr!8sc@seZdZfZdS)rN)rArdr@rorCrCrCrDr>sc@seZdZfZdS)rN)rArdr@rorCrCrCrDrBsc@seZdZfZdS)rN)rArdr@rorCrCrCrDrGsc@seZdZfZdS)r"N)rArdr@rorCrCrCrDr"Msc@seZdZfZdS)r"N)rArdr@rorCrCrCrDr"Qsc@seZdZfZdS)r"N)rArdr@rorCrCrCrDr"Usc@seZdZfZdS)r N)rArdr@rorCrCrCrDr Zsc@seZdZfZdS)rN)rArdr@rorCrCrCrDr^sc@s"eZdZfZddZdS)r0cOs.t|trtdtt|||S)Nz4Type List cannot be instantiated; use list() instead)rr0rPr
r)rVr\r]rCrCrDrUfszList.__new__N)rArdr@rorUrCrCrCrDr0bsc@s"eZdZfZddZdS)r-cOs5t|trtj||Sttj|||S)N)rr-collectionsdequer
)rVr\r]rCrCrDrUqsz
Deque.__new__N)rArdr@rorUrCrCrCrDr-msc@s"eZdZfZddZdS)r1cOs.t|trtdtt|||S)Nz2Type Set cannot be instantiated; use set() instead)rr1rPr
r)rVr\r]rCrCrDrU{szSet.__new__N)rArdr@rorUrCrCrCrDr1wsc@s"eZdZfZddZdS)r2cOs.t|trtdtt|||S)Nz>Type FrozenSet cannot be instantiated; use frozenset() instead)rr2rPr
r)rVr\r]rCrCrDrUszFrozenSet.__new__N)rArdr@rorUrCrCrCrDr2sc@seZdZfZdS)rN)rArdr@rorCrCrCrDrsc@seZdZfZdS)rN)rArdr@rorCrCrCrDrsc@seZdZfZdS)rN)rArdr@rorCrCrCrDrsc@seZdZfZdS)r$N)rArdr@rorCrCrCrDr$sAbstractContextManagerc@seZdZfZdS)rN)rArdr@rorCrCrCrDrsc@sIeZdZfZddZejddZeddZ	dS)rcCs|S)NrC)r[rCrCrD	__enter__szContextManager.__enter__cCsdS)NrC)r[exc_type	exc_value	tracebackrCrCrD__exit__szContextManager.__exit__cCsL|tkrHtdd|jDrHtdd|jDrHdStS)Ncss|]}d|jkVqdS)rLN)r)rBrCrCrDrsz2ContextManager.__subclasshook__.<locals>.<genexpr>css|]}d|jkVqdS)rPN)r)rrQrCrCrDrsT)rrrr|)rVCrCrCrDrs
zContextManager.__subclasshook__N)
rArdr@rorLrrrPclassmethodrrCrCrCrDrsAbstractAsyncContextManagerc@seZdZfZdS)AsyncContextManagerN)rArdr@rorCrCrCrDrUsrUa
class AsyncContextManager(Generic[T_co]):
    __slots__ = ()

    async def __aenter__(self):
        return self

    @abc.abstractmethod
    async def __aexit__(self, exc_type, exc_value, traceback):
        return None

    @classmethod
    def __subclasshook__(cls, C):
        if cls is AsyncContextManager:
            if sys.version_info[:2] >= (3, 6):
                return _collections_abc._check_methods(C, "__aenter__", "__aexit__")
            if (any("__aenter__" in B.__dict__ for B in C.__mro__) and
                    any("__aexit__" in B.__dict__ for B in C.__mro__)):
                return True
        return NotImplemented

__all__.append('AsyncContextManager')
c@s"eZdZfZddZdS)r.cOs.t|trtdtt|||S)Nz4Type Dict cannot be instantiated; use dict() instead)rr.rPr
r)rVr\r]rCrCrDrUszDict.__new__N)rArdr@rorUrCrCrCrDr.sc@s"eZdZfZddZdS)r/cOs5t|trtj||Sttj|||S)N)rr/rIdefaultdictr
)rVr\r]rCrCrDrUszDefaultDict.__new__N)rArdr@rorUrCrCrCrDr/sc@s"eZdZfZddZdS)r,cOs5t|trtj||Sttj|||S)N)rr,rIr
)rVr\r]rCrCrDrUszCounter.__new__N)rArdr@rorUrCrCrCrDr,sChainMapc@s"eZdZfZddZdS)rXcOs5t|trtj||Sttj|||S)N)rrXrIr
)rVr\r]rCrCrDrUszChainMap.__new__N)rArdr@rorUrCrCrCrDrXsc@s"eZdZfZddZdS)r4cOs.t|trtdtt|||S)Nz@Type Generator cannot be instantiated; create a subclass instead)rr4rPr
_G_base)rVr\r]rCrCrDrUszGenerator.__new__N)rArdr@rorUrCrCrCrDr4sAsyncGeneratorc@seZdZfZdS)rZN)rArdr@rorCrCrCrDrZ sCT_corc@seZdZfZdS)rN)rArdr@rorCrCrCrDr,scsdfdd|D}tj|dd|D}tj||_|_y%tjdjjdd|_	Wnt
tfk
rYnX|S)NzDNamedTuple('Name', [(f0, t0), (f1, t1), ...]); each t must be a typecs+g|]!\}}|t|fqSrC)r{)rnr)rrCrD
<listcomp>Is	z!_make_nmtuple.<locals>.<listcomp>cSsg|]\}}|qSrCrC)rr\rrCrCrDr]Js	rrA__main__)rI
namedtupleOrderedDictr%_field_typesr>rrr'rdrr)rWrnm_tplrC)rrD
_make_nmtupleGs%rcrUr^ro__getnewargs___fields_field_defaultsra_make_replace_asdict_sourcerdrAr@r%cs"eZdZfddZS)NamedTupleMetacsb|jddr+tj||||Sts=td|jdi}t||j}g}i}xq|D]i}||kr||}	|j|	|	||<qw|rwtdjd|ddj	|j
qwWt||j_||_
x\|D]T}
|
tkr+td	|
q|
tkr|
|jkrt||
||
qW|S)
NrOFz<Class syntax for NamedTuple is only supported in Python 3.6+r%zXNon-default namedtuple field {field_name} cannot follow default field(s) {default_names}
field_nameZ
default_namesz, z&Cannot overwrite NamedTuple attribute )r'rTrU_PY36rPrcr(rrrQr5rlrrf_prohibitedr_specialresetattr)rVtypenamerXnsrrbr!Z
defaults_dictrlZ
default_valuekey)rZrCrDrUas2



	
zNamedTupleMeta.__new__)rArdr@rUrCrC)rZrDrk_srkc@s%eZdZdZdddZdS)r3TNcKsS|rtrtd|dkr4|j}n|rFtdt||S)Nz>Keyword syntax for NamedTuple is only supported in Python 3.6+zIEither list of fields or keywords can be provided to NamedTuple, not both)rmrPr(rc)r[rqZfieldskwargsrCrCrDrUs
zNamedTuple.__new__)rArdr@rOrUrCrCrCrDr3scCs"dd}||_||_|S)NcSs|S)NrC)rBrCrCrDnew_typeszNewType.<locals>.new_type)rAZ
__supertype__)rWrrurCrCrDr8s		Fc@saeZdZfZeedddZeedddZeddddZ	ee
dd	d
ZeedddZ
eddd
dZee
dddZed5eedddZee
dddZed6eedddZed7eeedddZedeeeddd Zee
dd!d"Zeedd#d$Zedeed%d&d'Zee
dd(d)Zeeed*d+d,Zeeedd-d.d/Zed0dd1d2Zeddd3d4ZdS)8IO)r;cCsdS)NrC)r[rCrCrDmodeszIO.modecCsdS)NrC)r[rCrCrDrWszIO.nameNcCsdS)NrC)r[rCrCrDcloseszIO.closecCsdS)NrC)r[rCrCrDclosedsz	IO.closedcCsdS)NrC)r[rCrCrDfilenosz	IO.filenocCsdS)NrC)r[rCrCrDflushszIO.flushcCsdS)NrC)r[rCrCrDisattysz	IO.isattyrK)r\r;cCsdS)NrC)r[r\rCrCrDreadszIO.readcCsdS)NrC)r[rCrCrDreadableszIO.readable)limitr;cCsdS)NrC)r[rrCrCrDreadlineszIO.readline)hintr;cCsdS)NrC)r[rrCrCrD	readlines	szIO.readlinesr)offsetwhencer;cCsdS)NrC)r[rrrCrCrDseek	szIO.seekcCsdS)NrC)r[rCrCrDseekable
	szIO.seekablecCsdS)NrC)r[rCrCrDtell	szIO.tell)sizer;cCsdS)NrC)r[rrCrCrDtruncate	szIO.truncatecCsdS)NrC)r[rCrCrDwritable	szIO.writable)sr;cCsdS)NrC)r[rrCrCrDwrite	szIO.write)linesr;cCsdS)NrC)r[rrCrCrD
writelines	sz
IO.writelinesz
IO[AnyStr]cCsdS)NrC)r[rCrCrDrL"	szIO.__enter__cCsdS)NrC)r[rmrrOrCrCrDrP&	szIO.__exit__rrr)rArdr@rorrkrwrWrrxrryr=rzr{r|r5r}r~rr0rrrrrrrrrLrPrCrCrCrDrvsR
"!rvc@sYeZdZfZeeeefedddZ	eddddZ
dS)BinaryIO)rr;cCsdS)NrC)r[rrCrCrDr0	szBinaryIO.write)r;cCsdS)NrC)r[rCrCrDrL4	szBinaryIO.__enter__N)rArdr@rorrrC	bytearrayr=rrLrCrCrCrDr+	s
%rc@seZdZfZeedddZeedddZee	edddZ
eeddd	Zee
dd
dZedddd
ZdS)TextIO)r;cCsdS)NrC)r[rCrCrDbuffer>	sz
TextIO.buffercCsdS)NrC)r[rCrCrDencodingB	szTextIO.encodingcCsdS)NrC)r[rCrCrDerrorsF	sz
TextIO.errorscCsdS)NrC)r[rCrCrDline_bufferingJ	szTextIO.line_bufferingcCsdS)NrC)r[rCrCrDnewlinesN	szTextIO.newlinescCsdS)NrC)r[rCrCrDrLR	szTextIO.__enter__N)rArdr@rorrrrkrrrrrr
rrrLrCrCrCrDr9	src@s1eZdZdddgZeZeZeZdS)iorvrrN)rArdr@__all__rvrrrCrCrCrDrW	srz.ioPatternrcCs|jS)N)pattern)rrCrCrD<lambda>e	srMatchcCs
|jjS)N)rer)mrCrCrDrg	sc@s(eZdZddgZeZeZdS)rrrN)rArdr@rrrrCrCrCrDrj	srz.re)rrrrI
contextlibrrZ	stdlib_rer>rcollections.abcZcollections_abcImportErrorr?_collections_abcrrr	rmrr^__str__rkrQrrErMrNrHrIrGrFrcrrar{rSrr
rZNoReturnrrrrrrrrrCr5rrrrrrrrrrrrrrrrrr
r
rrrrlrrrrrr6r"rBuiltinFunctionType
MethodType
ModuleTyper)r7r9r:r/r;r0rrrr7rr8r9r:rrr*r)r(r'r&r+r%r#rrHr1rr!rrr"r r=rrr0rJr-rrr2rrrr$rKrrTrUexecrr.rWr/r,rXr4rY
GeneratorTyperZr[rrcrmrnrorkr3r8r<r=rvrrrrAmodulesrwrmatchrrCrCrCrD<module>s
 
	*%5CW!)""9"6I	C	#
'
#

##&	#!
!#$.)!!###)
##
&#&)#
/

#	'	
$
 	!(`	


Back to Directory File Manager