ó
     ±S_Ö  ã                   ó\   • S r SSKrSSKJr  \R                  " SSS/5      r " S S\5      rg)	zR
hyperframe/flags
~~~~~~~~~~~~~~~~

Defines basic Flag and Flags data structures.
é    N)Ú
MutableSetÚFlagÚnameÚbitc                   óB   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
rg)ÚFlagsé   z¿
A simple MutableSet implementation that will only accept known flags as
elements.

Will behave like a regular set(), except that a ValueError will be thrown
when .add()ing unexpected flags.
c                 óP   • [        S U 5       5      U l        [        5       U l        g )Nc              3   ó8   #   • U  H  oR                   v •  M     g 7f©N)r   )Ú.0Úflags     Ú2/usr/lib/python3/dist-packages/hyperframe/flags.pyÚ	<genexpr>Ú!Flags.__init__.<locals>.<genexpr>   s   é € ÐD²m¨d§	¦	²mùs   ‚)ÚsetÚ_valid_flagsÚ_flags)ÚselfÚdefined_flagss     r   Ú__init__ÚFlags.__init__   s   € ÜÑD±mÓDÓDˆÔÜ“eˆ�ó    c                 óP   • [        [        [        U R                  5      5      5      $ r   )ÚreprÚsortedÚlistr   ©r   s    r   Ú__repr__ÚFlags.__repr__   s   € Ü”Fœ4 §¡Ó,Ó-Ó.Ð.r   c                 ó8   • U R                   R                  U5      $ r   )r   Ú__contains__)r   Úxs     r   r"   ÚFlags.__contains__   s   € Ø�{‰{×'Ñ'¨Ó*Ð*r   c                 ó6   • U R                   R                  5       $ r   )r   Ú__iter__r   s    r   r&   ÚFlags.__iter__    s   € Ø�{‰{×#Ñ#Ó%Ð%r   c                 ó6   • U R                   R                  5       $ r   )r   Ú__len__r   s    r   r)   ÚFlags.__len__#   s   € Ø�{‰{×"Ñ"Ó$Ð$r   c                 ó8   • U R                   R                  U5      $ r   )r   Údiscard©r   Úvalues     r   r,   ÚFlags.discard&   s   € Ø�{‰{×"Ñ" 5Ó)Ð)r   c                 óž   • XR                   ;  a$  [        SR                  XR                   5      5      eU R                  R	                  U5      $ )Nz(Unexpected flag: {}. Valid flags are: {})r   Ú
ValueErrorÚformatr   Úaddr-   s     r   r3   Ú	Flags.add)   sG   € Ø×)Ñ)Ó)ÜØ:×AÑAØ×,Ñ,óóð ð
 �{‰{�‰˜uÓ%Ð%r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r"   r&   r)   r,   r3   Ú__static_attributes__© r   r   r   r      s*   † ñòò/ò+ò&ò%ò*õ&r   r   )r9   ÚcollectionsÚcollections.abcr   Ú
namedtupler   r   r;   r   r   Ú<module>r?      s4   ðñó Ý &à×Ò˜f v¨u oÓ6€ô"&ˆJõ "&r   