§
    ‹r°dš  ã                   ój   — d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZ  G d„ de¦  «        Zdd„ZdS )	é    )Úbord)Úload_pycryptodome_raw_libÚVoidPointerÚSmartPointerÚcreate_string_bufferÚget_raw_bufferÚc_size_tÚc_uint8_ptrÚc_ubyte)Ú_raw_keccak_libc                   ó2   — e Zd ZdZdZdd„Zd„ Zd„ Zdd„ZdS )	ÚSHAKE256_XOFz˜A SHAKE256 hash object.
    Do not instantiate directly.
    Use the :func:`new` function.

    :ivar oid: ASN.1 Object ID
    :vartype oid: string
    z2.16.840.1.101.3.4.2.12Nc                 ó~  — t          ¦   «         }t          j        |                     ¦   «         t	          d¦  «        t          d¦  «        ¦  «        }|rt          d|z  ¦  «        ‚t          |                     ¦   «         t          j	        ¦  «        | _
        d| _        d| _        |r|                      |¦  «         d S d S )Né@   é   z%Error %d while instantiating SHAKE256Fé   )r   r   Úkeccak_initÚ
address_ofr	   r   Ú
ValueErrorr   ÚgetÚkeccak_destroyÚ_stateÚ_is_squeezingÚ_paddingÚupdate)ÚselfÚdataÚstateÚresults       úY/var/www/pp.vulcan-creative.com/venv/lib/python3.11/site-packages/Crypto/Hash/SHAKE256.pyÚ__init__zSHAKE256_XOF.__init__5   sÀ   € Ý‘”ˆÝ Ô,¨U×-=Ò-=Ñ-?Ô-?Ý-5°b©\¬\Ý-4°R©[¬[ñ:ô :ˆð ð 	'ÝÐDØ%ñ&ñ 'ô 'ð 'å" 5§9¢9¡;¤;Ý#2Ô#AñCô CˆŒà"ˆÔØˆŒàð 	Ø�KŠK˜ÑÔÐÐÐð	ð 	ó    c           	      ó  — | j         rt          d¦  «        ‚t          j        | j                             ¦   «         t          |¦  «        t          t          |¦  «        ¦  «        ¦  «        }|rt          d|z  ¦  «        ‚| S )z¼Continue hashing of a message by consuming the next chunk of data.

        Args:
            data (byte string/byte array/memoryview): The next chunk of the message being hashed.
        z/You cannot call 'update' after the first 'read'z&Error %d while updating SHAKE256 state)
r   Ú	TypeErrorr   Úkeccak_absorbr   r   r
   r	   Úlenr   )r   r   r   s      r    r   zSHAKE256_XOF.updateE   s‰   € ð Ôð 	OÝÐMÑNÔNÐNå Ô.¨t¬{¯ªÑ/@Ô/@Ý/:¸4Ñ/@Ô/@Ý/7½¸D¹	¼	Ñ/BÔ/BñDô Dˆð ð 	'ÝÐEØ%ñ&ñ 'ô 'ð 'àˆr"   c                 ó  — d| _         t          |¦  «        }t          j        | j                             ¦   «         |t          |¦  «        t          | j        ¦  «        ¦  «        }|rt          d|z  ¦  «        ‚t          |¦  «        S )ah  
        Compute the next piece of XOF output.

        .. note::
            You cannot use :meth:`update` anymore after the first call to
            :meth:`read`.

        Args:
            length (integer): the amount of bytes this method must return

        :return: the next piece of XOF output (of the given length)
        :rtype: byte string
        Tz'Error %d while extracting from SHAKE256)r   r   r   Úkeccak_squeezer   r   r	   r   r   r   r   )r   ÚlengthÚbfrr   s       r    ÚreadzSHAKE256_XOF.readW   s�   € ð "ˆÔÝ" 6Ñ*Ô*ˆÝ Ô/°´·²Ñ0AÔ0AØ03Ý08¸Ñ0@Ô0@Ý07¸¼Ñ0FÔ0FñHô Hˆð ð 	'ÝÐFØ%ñ&ñ 'ô 'ð 'õ ˜cÑ"Ô"Ð"r"   c                 ó4   —  t          | ¦  «        |¬¦  «        S )N©r   )Útype)r   r   s     r    ÚnewzSHAKE256_XOF.newr   s   € Ø�t�D‰zŒz˜tÐ$Ñ$Ô$Ð$r"   ©N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úoidr!   r   r+   r/   © r"   r    r   r   )   sk   € € € € € ðð ð $€Cðð ð ð ð ð ð ð$#ð #ð #ð6%ð %ð %ð %ð %ð %r"   r   Nc                 ó"   — t          | ¬¦  «        S )a  Return a fresh instance of a SHAKE256 object.

    Args:
       data (bytes/bytearray/memoryview):
        The very first chunk of the message to hash.
        It is equivalent to an early call to :meth:`update`.
        Optional.

    :Return: A :class:`SHAKE256_XOF` object
    r-   )r   r-   s    r    r/   r/   v   s   € õ ˜TÐ"Ñ"Ô"Ð"r"   r0   )ÚCrypto.Util.py3compatr   ÚCrypto.Util._raw_apir   r   r   r   r   r	   r
   r   ÚCrypto.Hash.keccakr   Úobjectr   r/   r6   r"   r    ú<module>r<      sâ   ðð> 'Ð &Ð &Ð &Ð &Ð &ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð /Ð .Ð .Ð .Ð .Ð .ðJ%ð J%ð J%ð J%ð J%�6ñ J%ô J%ð J%ðZ#ð #ð #ð #ð #ð #r"   