
    vKgj                     X    S r SSKJr  SSKJrJrJrJr   " S S\5      r " S S\5      r	g)	zR
hyperframe/flags
~~~~~~~~~~~~~~~~

Defines basic Flag and Flags data structures.
    )
MutableSet)
NamedTupleIterableSetIteratorc                   *    \ rS rSr% \\S'   \\S'   Srg)Flag   namebit N)__name__
__module____qualname____firstlineno__str__annotations__int__static_attributes__r       P/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/hyperframe/flags.pyr	   r	      s    
I	Hr   r	   c                       \ rS rSrSrS\\   4S jrS\4S jr	S\
S\4S jrS\\   4S	 jrS\4S
 jrS\SS4S jrS\SS4S j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.
defined_flagsc                 P    [        S U 5       5      U l        [        5       U l        g )Nc              3   6   #    U H  oR                   v   M     g 7fN)r   ).0flags     r   	<genexpr>!Flags.__init__.<locals>.<genexpr>   s     Dmd		ms   )set_valid_flags_flags)selfr   s     r   __init__Flags.__init__   s    DmDD #r   returnc                 P    [        [        [        U R                  5      5      5      $ r   )reprsortedlistr%   r&   s    r   __repr__Flags.__repr__   s    F4,-..r   xc                 8    U R                   R                  U5      $ r   )r%   __contains__)r&   r1   s     r   r3   Flags.__contains__    s    {{''**r   c                 6    U R                   R                  5       $ r   )r%   __iter__r.   s    r   r6   Flags.__iter__#   s    {{##%%r   c                 6    U R                   R                  5       $ r   )r%   __len__r.   s    r   r9   Flags.__len__&   s    {{""$$r   valueNc                 8    U R                   R                  U5      $ r   )r%   discardr&   r;   s     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   rC   	Flags.add,   sG    ))):AA,, 
 {{u%%r   )r%   r$   )r   r   r   r   __doc__r   r	   r'   r   r/   objectboolr3   r   r6   r   r9   r=   rC   r   r   r   r   r   r      sx    &htn &/# /+f + +&(3- &% %*S *T *& & &r   r   N)
rE   collections.abcr   typingr   r   r   r   r	   r   r   r   r   <module>rJ      s-    ' 6 6: 
"&J "&r   