U aw@s@ddlZddlmZmZmZmZddlmZm Z mZ ddl m Z m Z mZmZmZmZmZmZmZmZmZejddZedddkZedddkZeddd kZ erd d Z!d d Z"nddl m!Z!m"Z"ddZ#ddZ$ddZeedddZ%esereZeZeZeZeZeZddl m&Z&m'Z'ddZ(ddZ)ddZ*e e+dd d!Z,d"d#Z-d$d%Z.d&d'Z/ej0Z1ej0Z2ej0Z3e j0Z4ej0Z5d(d)Z6ndd*l m&Z&m'Z'm7Z7m8Z8m9Z9dd+l:mZ;mZmZ?mZ@e>Ze=ZeEs  z"adapted_fields..N)rr) attrs_fieldsr+rrradapted_fieldsBs r6)Union _GenericAliascCsdS)NFr)_rrr is_annotatedgsr:cCs"|ttfkp |jtko t|jtSr)rtuple __class__r8 issubclassrr+rrris_tuplejs   r>cCs|tkpt|to|jtkSr)r7 isinstancer8robjrrr is_union_typeps rB)r,r-cCs0|ttttfkp.|jtko.|jtk o.t|jt Sr) r listrr;r<r8rr7r=TypingSequencer+rrr is_sequencews   rEcCs|tkp|jtkot|jtSr)setr<r8r=rrr+rrris_mutable_set~s  rGcCs|tkp|jtkot|jtSr) frozensetr<r8r=rr r+rrr is_frozensets  rIcCs"|ttfkp |jtko t|jtSr) TypingMappingdictr<r8r=rr+rrr is_mappings   rLcCs.|j}|tkp,|tkp,|tkp,|tkp,|tkSr)rbare_list_args bare_seq_argsbare_mapping_argsbare_dict_argsbare_mutable_seq_args)r,argsrrris_baresrS)r7r8_SpecialGenericAlias_UnionGenericAlias_AnnotatedAlias)rrrrr r cCst|ddtkS)Nr<)r rVr+rrrr:scCs2|ttfkp0|jtkr"t|jtp0t|ddtkSr)rr;r<r8r=rr r+rrrr>s    cCs|tkpt|to|jtkSr)r7r?rUrr@rrrrBs cCsvt|dd}|ttttttfkpt|jtkrR|tk rrBboolrErGrIrLrrMrNrOrPrQrSrTrUrVcollections.abcrYrZr^r_rarbrcrrrrsj4