Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
3 \Fƒã@s>ddlZddlmZmZddlmZddlmZyddl m Z Wn e k r`ddl m Z YnXdddd d d d gZ d d„Zdd„Zdd„Zdd„ZeƒZGdd „d ƒZGdd„deƒZdZGdd„deƒZGdd„ded�ZGdd„deeƒZdd„ZGdd „d eƒZGdd „d eeƒZd d!„Zd"d „Z d#d$„Z!d%d&„Z"dS)'éN)ÚMappingProxyTypeÚDynamicClassAttribute)Úreduce)Úor_)Ú OrderedDictÚEnumMetaÚEnumÚIntEnumÚFlagÚIntFlagÚautoÚuniquecCst|dƒpt|dƒpt|dƒS)z5Returns True if obj is a descriptor, False otherwise.Ú__get__Ú__set__Ú __delete__)Úhasattr)Úobj©rú/usr/lib64/python3.6/enum.pyÚ_is_descriptors  rcCsT|dd…|dd…ko"dknoR|dd…dkoR|dd …dkoRt|ƒdkS) z3Returns True if a __dunder__ name, False otherwise.NéÚ__éÚ_ééþÿÿÿéýÿÿÿr)Úlen)ÚnamerrrÚ _is_dunders(rcCsL|d|dkodknoJ|dd…dkoJ|dd…dkoJt|ƒdkS)z1Returns True if a _sunder_ name, False otherwise.rérréÿÿÿÿrr!)r)rrrrÚ _is_sunder$s r"cCsdd„}||_d|_dS)z"Make the given class un-picklable.cSstd|ƒ‚dS)Nz%r cannot be pickled)Ú TypeError)ÚselfÚprotorrrÚ_break_on_call_reduce-sz6_make_class_unpicklable.._break_on_call_reducez N)Ú __reduce_ex__Ú __module__)Úclsr&rrrÚ_make_class_unpicklable+sr*c@seZdZdZeZdS)r zP Instances are replaced with an appropriate value in Enum class suites. N)Ú__name__r(Ú __qualname__Ú__doc__Ú _auto_nullÚvaluerrrrr 3scs,eZdZdZ‡fdd„Z‡fdd„Z‡ZS)Ú _EnumDictz§Track enum member order and ensure member names are not reused. EnumMeta will use the names found in self._member_names as the enumeration member names. cstƒjƒg|_g|_dS)N)ÚsuperÚ__init__Ú _member_namesÚ _last_values)r$)Ú __class__rrr2As z_EnumDict.__init__csæt|ƒr.|d krtdƒ‚|dkrÔt|d|ƒn¦t|ƒrD|dkrÔd}n�||jkr\td|ƒ‚nxt|ƒsÔ||kr€td |||fƒ‚t|tƒr¼|j t kr¶|j |d t |jƒ|j d d …ƒ|_ |j }|jj|ƒ|j j|ƒtƒj||ƒd S) zåChanges anything not dundered or not a descriptor. If an enum member name is used twice, an error is raised; duplicate values are not checked for. Single underscore (sunder) names are reserved. Ú_order_Ú_create_pseudo_member_Ú_generate_next_value_Ú _missing_z(_names_ are reserved for future Enum useÚ_generate_next_valueÚ __order__zAttempted to reuse key: %rz%r already defined as: %rr N)r6r7r8r9)r"Ú ValueErrorÚsetattrrr3r#rÚ isinstancer r/r.r:rr4Úappendr1Ú __setitem__)r$Úkeyr/)r5rrr@Fs,    "  z_EnumDict.__setitem__)r+r(r,r-r2r@Ú __classcell__rr)r5rr0:s r0csÚeZdZdZedd„ƒZ‡fdd„Zdd„Zd)dddd d œd d „Zd d„Z ‡fdd„Z dd„Z dd„Z dd„Z dd„Zdd„Zedd„ƒZdd„Zdd „Z‡fd!d"„Zdddd d œd#d$„Zed%d&„ƒZed'd(„ƒZ‡ZS)*rzMetaclass for EnumcCs0tƒ}|j|ƒ\}}|dk r,t|ddƒ|d<|S)Nr8)r0Ú _get_mixins_Úgetattr)Úmetaclsr)ÚbasesÚ enum_dictÚ member_typeÚ first_enumrrrÚ __prepare__rs zEnumMeta.__prepare__c sì|j|ƒ\‰}|jˆˆ|ƒ\}}}‡fdd„ˆjDƒ}xˆjD] } ˆ| =q>Wˆjddƒ} t|ƒdh@} | r~tdjdj| ƒƒƒ‚dˆkrŽdˆd<tƒj |||ˆƒ} g| _ t ƒ| _ ˆ| _ d d „| jƒDƒ} i| _d ˆk�rˆtk �rd}t‡fdd„|Dƒƒ�st| ƒ�x6ˆjD�]*}||}t|tƒ�s0|f}n|}ˆtk�rD|f}|�sf|| ƒ}t|dƒ�sœ||_n6|| f|žŽ}t|dƒ�sœˆtk�r’||_n ˆ|Ž|_|j}||_| |_|j|Žx8| j jƒD]\} }|j|jk�rÄ|}P�qÄW| j j|ƒ|| k�rt| ||ƒ|| j |<y|| j|<Wntk �r6YnX�qWxPdD]H} t| | ƒ}tˆ| dƒ}t|| dƒ}|dk �rD||k�rDt| | |ƒ�qDWtdk �r®|�r¦|| _ tj | _ | dk �rèt| t!ƒ�rÔ| j"ddƒj#ƒ} | | j k�rètdƒ‚| S)Ncsi|]}ˆ||“qSrr)Ú.0Úk)Ú classdictrrú ‡sz$EnumMeta.__new__..r6ÚmrozInvalid enum member name: {0}ú,r-zAn enumeration.cSs.h|]&}|jjƒD]\}}t|tƒr|’qqSr)Ú__dict__Úitemsr>r)rKÚcrLÚvrrrú  sz#EnumMeta.__new__..r'Ú__getnewargs_ex__Ú__getnewargs__Ú __reduce__c3s|]}|ˆjkVqdS)N)rQ)rKÚm)rHrrú µsz#EnumMeta.__new__..Ú_value_Ú__repr__Ú__str__Ú __format__ú z#member order does not match _order_)rVrWr'rX)r\r]r^r')$rCÚ _find_new_r3ÚpopÚsetr<ÚformatÚjoinr1Ú__new__Ú_member_names_rÚ _member_map_Ú _member_type_rOÚ_value2member_map_ÚobjectÚanyr*r>Útuplerr[Ú_name_Ú __objclass__r2rRr?r=r#rDrÚ__new_member__ÚstrÚreplaceÚsplit)rEr)rFrMrIreÚsave_newÚuse_argsÚ enum_membersrr6Ú invalid_namesÚ enum_classÚdynamic_attributesÚmethodsÚ member_namer/ÚargsÚ enum_memberÚcanonical_memberÚ class_methodÚ obj_methodÚ enum_method)r5)rMrHrre|s’                          zEnumMeta.__new__cCsdS)z6 classes/types should always be True. Tr)r$rrrÚ__bool__szEnumMeta.__bool__Nr )ÚmoduleÚqualnameÚtypeÚstartcCs*|dkr|j||ƒS|j||||||d�S)aEither returns an existing member, or creates a new enum class. This method is used both when an enum class is given a value to match to an enumeration member (i.e. Color(3)) and for the functional API (i.e. Color = Enum('Color', names='RED GREEN BLUE')). When used for the functional API: `value` will be the name of the new class. `names` should be either a string of white-space/comma delimited names (values will start at `start`), or an iterator/mapping of name, value pairs. `module` should be set to the module this class is being created in; if it is not set, an attempt to find that module will be made, but if it fails the class will not be picklable. `qualname` should be set to the actual location this class can be found at in its module; by default it is set to the global scope. If this is not correct, unpickling will fail in some circumstances. `type`, if set, will be mixed in as the first base class. N)r‚rƒr„r…)reÚ_create_)r)r/Únamesr‚rƒr„r…rrrÚ__call__ s zEnumMeta.__call__cCst||ƒo|j|jkS)N)r>rmrg)r)ÚmemberrrrÚ __contains__)szEnumMeta.__contains__cs(||jkrtd|jƒ‚tƒj|ƒdS)Nz%s: cannot delete Enum member.)rgÚAttributeErrorr+r1Ú __delattr__)r)Úattr)r5rrrŒ,s  zEnumMeta.__delattr__cCsddddg|jS)Nr5r-Ú __members__r()rf)r$rrrÚ__dir__4s zEnumMeta.__dir__c Cs>t|ƒrt|ƒ‚y |j|Stk r8t|ƒd‚YnXdS)a5Return the enum member matching `name` We use __getattr__ instead of descriptors or inserting into the enum class' __dict__ in order to support `name` and `value` being both properties for enum members (which live in the class' __dict__) and enum members themselves. N)rr‹rgÚKeyError)r)rrrrÚ __getattr__8s  zEnumMeta.__getattr__cCs |j|S)N)rg)r)rrrrÚ __getitem__HszEnumMeta.__getitem__cs‡fdd„ˆjDƒS)Nc3s|]}ˆj|VqdS)N)rg)rKr)r)rrrZLsz$EnumMeta.__iter__..)rf)r)r)r)rÚ__iter__KszEnumMeta.__iter__cCs t|jƒS)N)rrf)r)rrrÚ__len__NszEnumMeta.__len__cCs t|jƒS)z·Returns a mapping of member name->value. This mapping lists all enum members, including aliases. Note that this is a read-only view of the internal mapping. )rrg)r)rrrrŽQszEnumMeta.__members__cCs d|jS)Nz )r+)r)rrrr\[szEnumMeta.__repr__cs‡fdd„tˆjƒDƒS)Nc3s|]}ˆj|VqdS)N)rg)rKr)r)rrrZ_sz(EnumMeta.__reversed__..)Úreversedrf)r)r)r)rÚ __reversed__^szEnumMeta.__reversed__cs0|jjdiƒ}||krtdƒ‚tƒj||ƒdS)zùBlock attempts to reassign Enum members. A simple assignment to the class namespace only changes one of the several possible ways to get an Enum member from the Enum class, resulting in an inconsistent Enumeration. rgzCannot reassign members.N)rQÚgetr‹r1Ú __setattr__)r)rr/Ú member_map)r5rrr˜aszEnumMeta.__setattr__cCs‚|j}|dkr|fn||f}|j|ƒ\} } |j||ƒ} t|tƒrP|jddƒjƒ}t|ttfƒrÄ|rÄt|dtƒrÄ|g} }g} xDt | ƒD]8\}}| j |||| dd…ƒ}| j |ƒ|j ||fƒqˆWx6|D].}t|tƒrè|||}}n|\}}|| |<qÊW|j |||| ƒ}|dk�rTyt jdƒjd}Wn(ttfk �rR}zWYdd}~XnX|dk�rht|ƒn||_|dk �r~||_|S)a•Convenience method to create a new Enum class. `names` can be: * A string containing member names, separated either with spaces or commas. Values are incremented by 1 from `start`. * An iterable of member names. Values are incremented by 1 from `start`. * An iterable of (member name, value) pairs. * A mapping of member name -> value pairs. NrPr_rrr+)r5rCrJr>rprqrrrlÚlistÚ enumerater8r?reÚsysÚ _getframeÚ f_globalsr‹r<r*r(r,)r)Ú class_namer‡r‚rƒr„r…rErFrrIrMÚoriginal_namesÚ last_valuesÚcountrr/ÚitemrzÚ member_valuerwÚexcrrrr†ns<             zEnumMeta._create_cCs´|s ttfSd}}x,|D]$}|tk rt|tƒr|jrtdƒ‚qWt|tƒsTtdƒ‚t|dtƒst|d}|d}n8x6|djD](}t|tƒrœ|dkr¨|}q€|dkr€|}q€W||fS)zžReturns the type for creating enum members, and the first inherited enum class. bases: the tuple of bases that was given to __new__ NzCannot extend enumerationszHnew enumerations must be created as `ClassName([mixin_type,] enum_type)`rr r!)rjrÚ issubclassrfr#Ú__mro__)rFrHrIÚbaserrrrC£s(      zEnumMeta._get_mixins_c Cs’|jddƒ}|dk }|dkrtxVdD]H}x8||fD],}t||dƒ}|ddjtjtjhkr0|}Pq0W|dk r"Pq"Wtj}|tjkr„d}nd}|||fS)a Returns the __new__ to be used for creating the enum members. classdict: the class dictionary given to __new__ member_type: the data type whose __new__ will be used by default first_enum: enumeration to check for an overriding __new__ reNroFT)rore)r—rDrerjr) rMrHrIrersÚmethodÚpossibleÚtargetrtrrrr`Ðs(     zEnumMeta._find_new_)N)r+r(r,r-Ú classmethodrJrer�rˆrŠrŒr�r‘r’r“r”ÚpropertyrŽr\r–r˜r†Ú staticmethodrCr`rBrr)r5rrps(     5 -c@s‚eZdZdZdd„Zdd„Zedd„ƒZdd „Zd d „Z d d „Z dd„Z dd„Z dd„Z edd„ƒZedd„ƒZeddd„ƒZdS)rzRGeneric enumeration. Derive from this class to define new enumerations. c Csjt|ƒ|kr|Sy||jkr&|j|SWn6tk r^x |jjƒD]}|j|krD|SqDWYnX|j|ƒS)N)r„rir#rgÚvaluesr[r9)r)r/r‰rrrres   z Enum.__new__c Cs8x2t|ƒD]"}y|dStk r*Yq Xq W|SdS)Nr )r•r#)rr…r¢r¡Ú last_valuerrrr8s  zEnum._generate_next_value_cCstd||jfƒ‚dS)Nz%r is not a valid %s)r<r+)r)r/rrrr9"szEnum._missing_cCsd|jj|j|jfS)Nz <%s.%s: %r>)r5r+rmr[)r$rrrr\&sz Enum.__repr__cCsd|jj|jfS)Nz%s.%s)r5r+rm)r$rrrr]*sz Enum.__str__cs&‡fdd„ˆjjƒDƒ}dddg|S)Ncs2g|]*}|jD]}|ddkr|ˆjkr|‘qqS)rr)rQrg)rKr)rY)r$rrú /s z Enum.__dir__..r5r-r()r5rO)r$Úadded_behaviorr)r$rr�-s z Enum.__dir__cCs0|jtkrt}t|ƒ}n |j}|j}|j||ƒS)N)rhrjrpr[r^)r$Ú format_specr)Úvalrrrr^6s   zEnum.__format__cCs t|jƒS)N)Úhashrm)r$rrrÚ__hash__Esz Enum.__hash__cCs|j|jffS)N)r5r[)r$r%rrrr'HszEnum.__reduce_ex__cCs|jS)zThe name of the Enum member.)rm)r$rrrrRsz Enum.namecCs|jS)zThe value of the Enum member.)r[)r$rrrr/Wsz Enum.valueNc sžttj|ƒ}ˆrtˆƒ‰n|‰‡‡fdd„ˆjƒDƒ}y|jdd„d�Wn$tk rp|jdd„d�YnX||||d�}t|_|j|j ƒ|||<|S)z[ Create a new Enum subclass that replaces a collection of global constants cs g|]}ˆ|ƒr|ˆ|f‘qSrr)rKr)ÚfilterÚsourcerrr±qsz!Enum._convert..cSs|d|dfS)Nr rr)ÚtrrrÚvszEnum._convert..)rAcSs|dS)Nrr)r¹rrrrºys)r‚) ÚvarsrœÚmodulesÚkeysÚsortr#Ú_reduce_ex_by_namer'ÚupdaterŽ)r)rr‚r·r¸Úmodule_globalsÚmembersr)r·r¸rÚ_convert\s     z Enum._convert)N)r+r(r,r-rer8r¬r9r\r]r�r^r¶r'rrr/rÃrrrrrÿs    )Ú metaclassc@seZdZdZdS)r z.Enum where members are also (and must be) intsN)r+r(r,r-rrrrr �scCs|jS)N)r)r$r%rrrr¿…sr¿c@speZdZdZdd„Zedd„ƒZedd„ƒZdd „Zd d „Z d d „Z dd„Z dd„Z dd„Z dd„Zdd„ZdS)r zSupport for flagsc Csd|s|dk r|SdSxBt|ƒD]6}yt|ƒ}PWqtk rRtd|ƒd‚YqXqWd|dS)zñ Generate the next value when not given. name: the name of the member start: the initital start value or None count: the number of existing members last_value: the last value assigned or None Nr zInvalid Flag value: %rr)r•Ú _high_bitÚ Exceptionr#)rr…r¢r¡r°Úhigh_bitrrrr8‹s zFlag._generate_next_value_cCs.|}|dkr|}|j|ƒ}|dkr*|}|S)Nr)r7)r)r/Úoriginal_valueÚpossible_memberrrrr9žs zFlag._missing_cCsb|jj|dƒ}|dkr^t||ƒ\}}|r:td||jfƒ‚tj|ƒ}d|_||_|jj ||ƒ}|S)zL Create a composite member iff value contains only members. Nz%r is not a valid %s) rir—Ú _decomposer<r+rjrermr[Ú setdefault)r)r/Ú pseudo_memberrÚ extra_flagsrrrr7¨s zFlag._create_pseudo_member_cCs"t||jƒstS|j|j@|jkS)N)r>r5ÚNotImplementedr[)r$Úotherrrrrмs zFlag.__contains__cCsV|j}|jdk r$d|j|j|jfSt||jƒ\}}d|jdjdd„|Dƒƒ|jfS)Nz <%s.%s: %r>ú|cSsg|]}t|jp|jƒ‘qSr)rprmr[)rKrYrrrr±Èsz!Flag.__repr__..)r5rmr+r[rÊrd)r$r)rÂÚ uncoveredrrrr\Ás z Flag.__repr__cCs€|j}|jdk r d|j|jfSt||jƒ\}}t|ƒdkr^|djdkr^d|j|djfSd|jdjdd„|DƒƒfSdS)Nz%s.%sr rz%s.%rrÐcSsg|]}t|jp|jƒ‘qSr)rprmr[)rKrYrrrr±Ösz Flag.__str__..)r5rmr+rÊr[rrd)r$r)rÂrÑrrrr]Ìs z Flag.__str__cCs t|jƒS)N)Úboolr[)r$rrrr�Ùsz Flag.__bool__cCs"t||jƒstS|j|j|jBƒS)N)r>r5rÎr[)r$rÏrrrÚ__or__Üs z Flag.__or__cCs"t||jƒstS|j|j|j@ƒS)N)r>r5rÎr[)r$rÏrrrÚ__and__ás z Flag.__and__cCs"t||jƒstS|j|j|jAƒS)N)r>r5rÎr[)r$rÏrrrÚ__xor__æs z Flag.__xor__csDtˆjˆjƒ\‰}‡‡fdd„ˆjDƒ}tt|ˆjdƒƒ}ˆj|ƒS)Ncs&g|]}|ˆkr|jˆj@ r|‘qSr)r[)rKrY)rÂr$rrr±îsz#Flag.__invert__..r)rÊr5r[rÚ_or_)r$rÑÚinverted_membersÚinvertedr)rÂr$rÚ __invert__ëszFlag.__invert__N)r+r(r,r-r8r¬r9r7rŠr\r]r�rÓrÔrÕrÙrrrrr ˆs   c@sTeZdZdZedd„ƒZedd„ƒZdd„Zdd „Zd d „Z eZ eZ e Z d d „Z dS)r zSupport for integer-based FlagscCs*t|tƒstd||jfƒ‚|j|ƒ}|S)Nz%r is not a valid %s)r>Úintr<r+r7)r)r/Ú new_memberrrrr9øs  zIntFlag._missing_cCs´|jj|dƒ}|dkr°|g}t||ƒ\}}xL|rvt|ƒ}d|}||jkr\||kr\|j|ƒ|| krld}q,||N}q,Wx6t|ƒD]*}tj||ƒ}d|_||_ |jj ||ƒ}q‚W|S)Nrr) rir—rÊrÅr?r•rÚrermr[rË)r)r/rÌÚneed_to_createrrÍÚbitÚ flag_valuerrrr7ÿs&     zIntFlag._create_pseudo_member_cCs0t||jtfƒstS|j|j|j|ƒjBƒ}|S)N)r>r5rÚrÎr[)r$rÏÚresultrrrrÓszIntFlag.__or__cCs,t||jtfƒstS|j|j|j|ƒj@ƒS)N)r>r5rÚrÎr[)r$rÏrrrrÔ#szIntFlag.__and__cCs,t||jtfƒstS|j|j|j|ƒjAƒS)N)r>r5rÚrÎr[)r$rÏrrrrÕ(szIntFlag.__xor__cCs|j|jƒ}|S)N)r5r[)r$rßrrrrÙ1szIntFlag.__invert__N)r+r(r,r-r¬r9r7rÓrÔrÕÚ__ror__Ú__rand__Ú__rxor__rÙrrrrr õs  cCs |jƒdS)z@returns index of highest bit, or -1 if value is zero or negativer )Ú bit_length)r/rrrrÅ6srÅcCsbg}x0|jjƒD]"\}}||jkr|j||jfƒqW|r^djdd„|Dƒƒ}td||fƒ‚|S)z?Class decorator for enumerations ensuring unique member values.z, cSsg|]\}}d||f‘qS)z%s -> %sr)rKÚaliasrrrrr±Bszunique..z duplicate values found in %r: %s)rŽrRrr?rdr<)Ú enumerationÚ duplicatesrr‰Ú alias_detailsrrrr :s  cCsÚ|}|dk}|r*dd„t|jjƒƒDƒ}ndd„t|jjƒƒDƒ}g}x4|D],\}}|rL||@|krL|j|ƒ||M}qLW| rœ||jkrœ|j|j|ƒ|jdd„dd�t|ƒd krÒ|dj|krÒ|jdƒ||fS) z#Extract all members from the value.rcSs"g|]\}}|jdk r||f‘qS)N)r)rKrTrYrrrr±Rsz_decompose..cSs*g|]"\}}|jdk st|ƒr||f‘qS)N)rÚ _power_of_two)rKrTrYrrrr±YscSs|jS)N)r[)rYrrrrºdsz_decompose..T)rAÚreverser )ršrirRr?r¾rr/ra)Úflagr/Ú not_coveredÚnegativeÚflags_to_checkrÂr‰r¤rrrrÊGs$  rÊcCs|dkr dS|dt|ƒkS)Nr Fr)rÅ)r/rrrrèjsrè)#rœÚtypesrrÚ functoolsrÚoperatorrrÖÚ _collectionsrÚ ImportErrorÚ collectionsÚ__all__rrr"r*rjr.r Údictr0rr„rrÚr r¿r r rÅr rÊrèrrrrÚs@  3mA #