
    XfI                     4    d dl mZmZ d dlmZ  G d d      Zy)    )ListMapping)
interfacesc                   ~    e Zd ZdZdeeef   ddfdZede	j                  j                  fd       Zdedee   fdZy)	FlagszMObject that converts an integer into a set of flags based on their
    masks.choicesreturnNc                 L    t         j                  j                  |      | _        y N)r   objectsReadOnlyMapping_choices)selfr   s     X/home/panchajanya/Development/work/volatility3/volatility3/framework/symbols/wrappers.py__init__zFlags.__init__   s    "**::7C    c                     | j                   S r   )r   )r   s    r   r   zFlags.choices   s    }}r   valuec                 |    g }| j                   j                         D ]  \  }}||z  s|j                  |        |S )zReturn the appropriate Flags.)r   itemsappend)r   r   resultkvs        r   __call__zFlags.__call__   sA    LL&&( 	!DAqqya 	! r   )__name__
__module____qualname____doc__r   strintr   propertyr   r   r   r   r   r    r   r   r   r   
   sd    DS 1 Dd D ++;;  c d3i r   r   N)typingr   r   volatility3.frameworkr   r   r#   r   r   <module>r&      s   
 ! , r   