
    Eqgk                     b    d dl Z d dlmZmZmZ  edd          Z G d de j                  ZdS )    N)TypeTypeVarUnionTIntEnumIntEnum)boundc                   ^   e Zd Zed             Zed             Zedee         dedefd            Z	edee         de
defd            Zedee         dee
ef         defd	            Zed
             Zed             Zed             Zed             Zed             Zed             ZdS )r   c                     |                      |           t                              | |          }|                     |d           p|                                  | |_        ||_        |S N)_check_valueint__new___extra_to_text_prefix_name__value_)clsvaluevals      :/var/www/html/env/lib/python3.11/site-packages/dns/enum.py	_missing_zIntEnum._missing_   sd    kk#u%%''t44Q3;;==8Q%8Q8Q

    c                     |                                  }t          |t                    st          |dk     s||k    r(|                                 }t          | d|           d S )Nr   z$ must be an int between >= 0 and <= )_maximum
isinstancer   	TypeError_short_name
ValueError)r   r   maxnames       r   r   zIntEnum._check_value!   si    llnn%%% 	O199??$$DOO#OOPPP $r   r   textreturnc                    |                                 }	 | |         S # t          $ r Y nw xY w|                     |          }|r|S |                                 }|                    |          r|t          |          d                                          rWt          |t          |          d                    }|                     |           	  | |          S # t          $ r |cY S w xY w| 
                                r   )upperKeyError_extra_from_textr   
startswithlenisdigitr   r   r   _unknown_exception_class)r   r!   r   prefixs       r   	from_textzIntEnum.from_text*   s   zz||	t9 	 	 	D	$$T** 	L??6"" 	tCKKMM':'B'B'D'D 	S[[]]+,,EU###s5zz!   **,,,s    
++
C C-,C-r   c                     |                      |           	  | |          j        }n# t          $ r d }Y nw xY w|                     ||          }||                                  | }|S r   )r   r    r   r   r   )r   r   r!   s      r   to_textzIntEnum.to_text>   s    	3u::?DD 	 	 	DDD	!!%..<kkmm,U,,Ds   ( 77c                     t          |t                    r|                     |          S |                     |            | |          S )a  Convert text or a value into an enumerated type, if possible.

        *value*, the ``int`` or ``str`` to convert.

        Raises a class-specific exception if a ``str`` is provided that
        cannot be converted.

        Raises ``ValueError`` if the value is out of range.

        Returns an enumeration from the calling class corresponding to the
        value, if one is defined, or an ``int`` otherwise.
        )r   strr,   r   )r   r   s     r   makezIntEnum.makeJ   sJ     eS!! 	(=='''s5zzr   c                     t           r   )NotImplementedErrorr   s    r   r   zIntEnum._maximum^   s    !!r   c                 4    | j                                         S r   )__name__lowerr4   s    r   r   zIntEnum._short_nameb   s    |!!###r   c                     dS )N  r4   s    r   r   zIntEnum._prefixf   s    rr   c                     d S r   r:   )r   r!   s     r   r&   zIntEnum._extra_from_textj   s    tr   c                     |S r   r:   )r   r   current_texts      r   r   zIntEnum._extra_to_textn   s    r   c                     t           S r   )r   r4   s    r   r*   z IntEnum._unknown_exception_classr   s    r   N)r6   
__module____qualname__classmethodr   r   r   r   r0   r,   r   r.   r   r1   r   r   r   r&   r   r*   r:   r   r   r   r      s         [ Q Q [Q -tH~ -S -X - - - [-& 	T(^ 	C 	C 	 	 	 [	 $x. sCx X    [& " " [" $ $ [$   [   [   [   [  r   )enumtypingr   r   r   r   r   r:   r   r   <module>rD      s   $  ' ' ' ' ' ' ' ' ' '7:Y///\ \ \ \ \dl \ \ \ \ \r   