PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  mY9D@sKddlZddlmZmZddlZddlZddlZddlZddlZddl Z yddl jZ Wne k rddlZ YnXej ddddfkrddlZy ddl mZmZmZWnBe k r-eejZeejZeejZYnXddd d d d 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 eIdeIdCeHZJGdddeCZKGdddde jLdCeKZLGdddedDdEZMeMdDdEZNdd3ZOddZPe jQe jRe jSe jTeeefZUdddd4ZVdd6ZWdd7ZXddZYdd8ZZGdddeCZ[GddddCe[Z\e j]Z]e^e drwGdddeDe-de j_Z_ej`de^e drGddde_e.eDe-e0e.fde jaZaej`de^e dr5GdddeDe-de jbZbGdddebe-de jcZcej`dej`dGdddeDe-de jdZdGdddede-de jeZeGdd'd'e\ZfGdd&d&e\ZgGdd%d%e\ZhGdd$d$e\ZiGdd#d#e\e-ZjGdd(d(e\e-Zke^e d"r<Gdd"d"ede-de jlZlnGdd"d"e\e-Zle jmZmGdddeDe-de jnZne^e drGdddemede-ene-de joZoej`de^e dr Gdddeoe-de jpZqn-Gdddemede-ene-de jpZqGdddeqe*de jrZre^e dr Gdddeoe+eDe+e/fde jsZsn:Gdddemede+ene+eDe+e/fde jsZsGdddese+e,fde jtZte^e d"rp e^e dr@ Gdddele-eoe-de juZun-Gdddemele-ene-de juZun-Gdddemede-ene-de juZuGdddeue*de jvZvGdddeuewde jxZxGdd-d-eyeve*deyZzGdd*d*ej{eve*dej{Z|Gdd.d.e}ere*de}ZpGdd/d/e~eqe-de~ZGdddemede-de jZGdddee+eqe+de jZGdddeeJe+e/feqeJe+e/feDe+e/fde jZGdd!d!ee/de jZe^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^e d1r e jZn e jZGdd1d1eee-eDe-e0e.fdeZe^e dr_Gdddece-eDe-e0fde jZej`de)dd_dEdeZGdd d eDedeZddZej ddddfkZdddddddddddf ZddddfZGdddeZGdd0d0dCeZdd5ZeZdZGdddeDe2ZGdddee1ZGdddeeZGdddZede_eejejevalz1Forward reference must be an expression -- got %rF) rTr^rjrkrPcompile SyntaxErrorrrrsrtru)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 Zd d 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)Nzsz#TypeVar.__init__..zBound must be a type.) rTr^rA ValueErrorboolrrrPrirlrr{r)r[rWrrrZ constraints)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]Ktt s2qt fddhDrj qWtfdd|DS)NrrKc3sK|]A}t|to$|jdk st|toBt|VqdS)N)rjrrrmr)rZt2)t1rCrDrsz'_remove_dups_flatten..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)Nc s3y||SWntk r%YnX||S)N)rP)r\r])cachedfuncrCrDinners  z_tp_cache..inner) functools lru_cache _cleanupsr cache_clearwraps)rrrC)rrrD _tp_caches$rcseZdZdZddddfdd Zd d Zd d ZfddZfddZe ddZ ddddZ ddZ ddZ ddZddZS)rrrr __tree_hash__NrOFcstj||||d|}|dkrad|_d|_d|_ttd|_|St|t s|t d|t krt |}t |dkr|dSt||_||_||_|j}t|t rtt||_nt||_|S)NrOrzExpected parameters=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..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__..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 )rVZ next_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..__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 d Zd d Z fddZ fddZ ddddZ 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 j krP||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 j r|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__..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|j S)Nc3s!|]}t|VqdS)N)ra)rr)r_r`rCrDr3sz)GenericMeta._eval_type..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__..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 allrirr rrrrrrZrArrrrr)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" !^     .  c Osq|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__..) 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) rr rTrrjrlrrSrrQ)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.) rrr rTrrjrlrirPEllipsislist__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__..)r{rrTrrrl)r[rr\r)rZ)rrDrPs   zCallableMeta.__getitem_inner__)rArdr@rfrrrrrCrC)rZrDr$s rc@s"eZdZfZddZdS)r cOs1t|trtdt|j|||S)NzIType Callable cannot be instantiated; use a non-abstract subclass instead)rr rPr r)rVr\r]rCrCrDrUjs zCallable.__new__N)rArdr@rorUrCrCrCrDr ]s csgeZdZdZdddZddZddZfd d Zd d 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]\}} | ||.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__..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|d krn|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 z Set.__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__..css|]}d|jkVqdS)rPN)r)rrQrCrCrDrsT)rrrr|)rVCrCrCrDrs  zContextManager.__subclasshook__N) rArdr@rorLrrrP classmethodrrCrCrCrDrs  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/rI defaultdictr )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 t fk rYnX|S)NzDNamedTuple('Name', [(f0, t0), (f1, t1), ...]); each t must be a typecs+g|]!\}}|t|fqSrC)r{)rnr)rrCrD Is z!_make_nmtuple..cSsg|]\}}|qSrCrC)rr\rrCrCrDr]Js rrA__main__) rI namedtuple OrderedDictr% _field_typesr>rrr'rdr r)rWrnm_tplrC)rrD _make_nmtupleGs%rcrUr^ro__getnewargs___fields_field_defaultsra_make_replace_asdict_sourcerdrAr@r%cs"eZdZfddZS)NamedTupleMetac sb|jddr+tj||||Sts=td|jdi}t||j}g}i}xq|D]i}||kr||} |j| | ||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..new_type)rAZ __supertype__)rWrrurCrCrDr8s   Fc@saeZdZfZeedddZeedddZeddddZ ee dd d Z ee dd d 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[rCrCrDreadablesz IO.readable)limitr;cCsdS)NrC)r[rrCrCrDreadlinesz IO.readline)hintr;cCsdS)NrC)r[rrCrCrD readlines sz IO.readlinesr)offsetwhencer;cCsdS)NrC)r[rrrCrCrDseek szIO.seekcCsdS)NrC)r[rCrCrDseekable sz IO.seekablecCsdS)NrC)r[rCrCrDtell szIO.tell)sizer;cCsdS)NrC)r[rrCrCrDtruncate sz IO.truncatecCsdS)NrC)r[rCrCrDwritable sz IO.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& sz IO.__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 ee ddd Z ee dd d Zeddd 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)rrCrCrDe srMatchcCs |jjS)N)rer)mrCrCrDrg sc@s(eZdZddgZeZeZdS)rrrN)rArdr@rrrrCrCrCrDrj s  rz.re)rrrrI contextlibrrZ stdlib_rer>rcollections.abcZcollections_abc ImportErrorr?_collections_abcrrr rmrr^__str__rkrQrrErMrNrHrIrGrFrcrrar{rSrr rZNoReturnrrrrrrrrrCr5rrrrrrrrrrrrrrrrrr r rrrrlrrr rr 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=rvrrrrAmodulesrwrmatchrrCrCrCrDs               *%5C     W    ! )        ""9"6   I   C # '  #   ##& #!  ! #$. )!! ### ) # # &  #& ) # /  #   ' $      !( `