
     f1              	       $   d dl mZ 	 g dZ G d d          Z	 d dlmZ deeef         defdZ	n/# e
$ r' d Zd	Zg d
ZdedededefdZdeeef         defdZ	Y nw xY wdeeef         defdZdedeedf         fdZdedeedf         fdZdS )    )Union)NoLockvalidate_utf8extract_err_messageextract_error_codec                       e Zd ZddZddZdS )r   returnNc                     d S N )selfs    S/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/websocket/_utils.py	__enter__zNoLock.__enter__           c                     d S r   r   )r   exc_type	exc_value	tracebacks       r   __exit__zNoLock.__exit__   r   r   )r	   N)__name__
__module____qualname__r   r   r   r   r   r   r      s<                r   r   )Utf8Validatorutfbytesr	   c                 T    t                                          |           d         }|S Nr   )r   validate)r   results     r   _validate_utf8r    %   s#    $//99!<r      (l  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r"   r"   r"   r"   r"   r"   r"   r"   r"   r"   r"   r"   r"   r"   r"   	   r#   r#   r#   r#   r#   r#   r#   r#   r#   r#   r#   r#   r#   r#   r#      r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$   r$      r%      r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   r&   
      r(   r(   r(   r(   r(   r(   r(   r(   r(   r(   r(      r(   r(         r+   r+      r%   r%   r%   r%   r%   r%   r%   r%   r%   r%   r%   r   r!      $   <   `   T   r!   r!   r!   0   H   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r   r!   r!   r!   r!   r!   r   r!   r   r!   r!   r!   r-   r!   r!   r!   r!   r!   r-   r!   r-   r!   r!   r!   r!   r!   r!   r!   r!   r!   r-   r!   r!   r!   r!   r!   r-   r!   r!   r!   r!   r!   r!   r!   r-   r!   r!   r!   r!   r!   r!   r!   r!   r!   r.   r!   r.   r!   r!   r!   r.   r!   r!   r!   r!   r!   r.   r!   r.   r!   r!   r!   r.   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   statecodepchc                     t           |         }| t          k    r|dz  |dz  z  nd|z	  |z  }t           d| z   |z            } | |fS )N?   r+         )_UTF8D_UTF8_ACCEPT)r4   r5   r6   tps       r   _decoder>     s[    BZ ,1L+@+@R$Y5A:&&PR
VXGX 	 sU{R'(e|r   c                     t           }d}| D ]1}t          ||t          |                    \  }}|t          k    r dS 2dS )Nr   FT)r<   r>   int_UTF8_REJECT)r   r4   r5   is       r   r    r      sT     	 	A"5%Q88LE5$$uu % tr   c                      t          |           S )z
    validate utf8 byte string.
    utfbytes: utf byte string to check.
    return value: if valid utf8 string, return true. Otherwise, return false.
    )r    )r   s    r   r   r     s     (###r   	exceptionNc                 2    | j         r| j         d         }|S d S r   )args)rD   exception_messages     r   r   r     s$    ~ !*!2  tr   c                     | j         rGt          | j                   dk    r1t          | j         d         t                    r| j         d         nd S d S d S )Nr"   r   )rF   len
isinstancer@   )rD   s    r   r   r     s[    ~ Q#in--11$.y~a/@#$F$FPy~a  DPQ Q11r   )typingr   __all__r   wsaccel.utf8validatorr   strbytesboolr    ImportErrorr<   rA   r;   r@   tupler>   r   	Exceptionr   r   r   r   r   <module>rT      s        $ S
R
R       U 433333sEz!2 t       L L L LLq q qFfs 3 C E    sEz!2 t      IL^$E#u*- $$ $ $ $ $9 sDy1A    Q) Qc4i0@ Q Q Q Q Q Qs   1 )AA