ó
    ð›‘hã  ã                   ó`   • S r SrSrSr SS KJr  g! \ a    \" \5      r " S S\	5      r gf = f))ÚUtf8Validator(�  é    r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é   r   é   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é
   é   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   é   r
   r
   é   é   r   r   é   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r
   r   r   r   r   r   r   r   r
   r   r   r   r   r   r
   r   r
   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                   ó4   • \ rS rSrSrSrS rS rS rS r	Sr
g	)
r   éH   zÖ
Incremental UTF-8 validator with constant memory consumption (minimal state).

Implements the algorithm "Flexible and Economical UTF-8 Decoder" by
Bjoern Hoehrmann (http://bjoern.hoehrmann.de/utf-8/decoder/dfa/).
)Ú
_codepointÚ_stateÚ_indexc                 óN   • S U l         S U l        S U l        U R                  5         g )N)r   r   r   Úreset©Úselfs    ÚdC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\autobahn/websocket/utf8validator.pyÚ__init__ÚUtf8Validator.__init__V   s    € Ø"ˆDŒOØˆDŒKØˆDŒKØ�J‰J�Ló    c                 óæ   • [         U   nU R                  [        :w  a  US-  U R                  S-  -  U l        OSU-	  U-  U l        [         SU R                  S-  -   U-      U l        U R                  $ )a>  
Eat one UTF-8 octet, and validate on the fly.

Returns ``UTF8_ACCEPT`` when enough octets have been consumed, in which case
``self.codepoint`` contains the decoded Unicode code point.

Returns ``UTF8_REJECT`` when invalid UTF-8 was encountered.

Returns some other positive integer when more octets need to be eaten.
é?   r   éÿ   é   é   )ÚUTF8VALIDATOR_DFA_Sr   ÚUTF8_ACCEPTr   )r   ÚbÚtts      r   ÚdecodeÚUtf8Validator.decode\   sl   € ô % QÑ'ˆBØ�{‰{œkÓ)Ø#$ t¡8°·±À1Ñ0DÑ"E�•à#'¨2¡:°Ñ"2�”Ü-¨c°D·K±KÀ"Ñ4DÑ.DÀrÑ.IÑJˆDŒKØ—;‘;Ðr   c                 ó6   • [         U l        SU l        SU l        g)zC
Reset validator to start new incremental UTF-8 decode/validation.
r   N)r"   r   r   r   r   s    r   r   ÚUtf8Validator.reseto   s   € ô &ˆDŒKØˆDŒOØˆD�Kr   c                 óV  • [        U5      nSnU R                  nX2:  a[  [        SUS-  -   [        X      -      nU[        :X  a*  X@l        U =R                  U-  sl        SSX0R                  4$ US-  nX2:  a  M[  X@l        U =R                  U-  sl        SU[
        :H  X R                  4$ )a  
Incrementally validate a chunk of bytes provided as string.

Will return a quad ``(valid?, endsOnCodePoint?, currentIndex, totalIndex)``.

As soon as an octet is encountered which renders the octet sequence
invalid, a quad with ``valid? == False`` is returned. ``currentIndex`` returns
the index within the currently consumed chunk, and ``totalIndex`` the
index within the total consumed sequence that was the point of bail out.
When ``valid? == True``, currentIndex will be ``len(ba)`` and ``totalIndex`` the
total amount of consumed bytes.
r   r   r   Fr   T)Úlenr   r!   ÚUTF8_REJECTr   r"   )r   ÚbaÚlÚiÚstates        r   ÚvalidateÚUtf8Validator.validatew   s©   € ô" �B“ˆAØˆAØ—K‘KˆEØ“%ä+¨C°5¸A±:Ñ,>ÔATÐUWÑUZÑA[Ñ,[Ñ\�ØœKÓ'Ø"'”KØ—K’K 1Ñ$•KØ  %¨¯K©KÐ7Ð7Ø�Q‘�ð •%ð  ŒKØ�KŠK˜1Ñ�KØ˜¤+Ñ-¨q·+±+Ð=Ð=r   )r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   r%   r   r0   Ú__static_attributes__© r   r   r   r   H   s"   † ñ	ð
ˆ	ò	ò	ò&	õ	>r   r   N)
Ú__all__ÚUTF8VALIDATOR_DFAr"   r+   Úwsaccel.utf8validatorr   ÚImportErrorÚbytesr!   Úobjectr9   r   r   Ú<module>r@      sV   ðð> €ðÐ ð" €Ø€ð\>Þ3øàó Y>ñ  Ð 1Ó2ÐôM>˜ö M>ðY>ús   Š ‘-¬-