§
    ™Štj�  ã                  ó®   — d dl mZ d dlmZmZmZ  G d„ de¦  «        Ze G d„ de¦  «        ¦   «         Z G d„ de¦  «        Zdd„Z	 G d„ de¦  «        Z
dS )é    )Úannotations)ÚAnyÚProtocolÚruntime_checkablec                  ó"   — e Zd ZdZd
d„Zdd„Zd	S )ÚUntypedSerializerProtocolz:Protocol for serialization and deserialization of objects.Úobjr   ÚreturnÚbytesc                ó   — d S ©N© ©Úselfr	   s     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/checkpoint/serde/base.pyÚdumpszUntypedSerializerProtocol.dumps	   ó   € € € ó    Údatac                ó   — d S r   r   ©r   r   s     r   ÚloadszUntypedSerializerProtocol.loads   r   r   N)r	   r   r
   r   )r   r   r
   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s.   € € € € € ØDÐDà+Ð+Ð+Ð+à,Ð,Ð,Ð,Ð,Ð,r   r   c                  ó"   — e Zd ZdZd
d„Zdd„Zd	S )ÚSerializerProtocola  Protocol for serialization and deserialization of objects.

    - `dumps_typed`: Serialize an object to a tuple `(type, bytes)`.
    - `loads_typed`: Deserialize an object from a tuple `(type, bytes)`.

    Valid implementations include the `pickle`, `json` and `orjson` modules.
    r	   r   r
   útuple[str, bytes]c                ó   — d S r   r   r   s     r   Údumps_typedzSerializerProtocol.dumps_typed   r   r   r   c                ó   — d S r   r   r   s     r   Úloads_typedzSerializerProtocol.loads_typed   r   r   N©r	   r   r
   r   ©r   r   r
   r   )r   r   r   r   r!   r#   r   r   r   r   r      s4   € € € € € ðð ð >Ð=Ð=Ð=à>Ð>Ð>Ð>Ð>Ð>r   r   c                  ó&   — e Zd Zdd„Zdd	„Zdd„ZdS )ÚSerializerCompatÚserder   r
   ÚNonec                ó   — || _         d S r   ©r(   )r   r(   s     r   Ú__init__zSerializerCompat.__init__   s   € ØˆŒ
ˆ
ˆ
r   r	   r   r   c                ó^   — t          |¦  «        j        | j                             |¦  «        fS r   )Útyper   r(   r   r   s     r   r!   zSerializerCompat.dumps_typed!   s&   € Ý�C‰yŒyÔ! 4¤:×#3Ò#3°CÑ#8Ô#8Ð8Ð8r   r   c                óB   — | j                              |d         ¦  «        S )Né   )r(   r   r   s     r   r#   zSerializerCompat.loads_typed$   s   € ØŒz×Ò  Q¤Ñ(Ô(Ð(r   N)r(   r   r
   r)   r$   r%   )r   r   r   r,   r!   r#   r   r   r   r'   r'      sP   € € € € € ðð ð ð ð9ð 9ð 9ð 9ð)ð )ð )ð )ð )ð )r   r'   r(   ú.SerializerProtocol | UntypedSerializerProtocolr
   c                óN   — t          | t          ¦  «        st          | ¦  «        S | S )zmWrap serde old serde implementations in a class with loads_typed and dumps_typed for backwards compatibility.)Ú
isinstancer   r'   r+   s    r   Úmaybe_add_typed_methodsr4   (   s*   € õ
 �eÕ/Ñ0Ô0ð 'Ý Ñ&Ô&Ð&à€Lr   c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )ÚCipherProtocolz~Protocol for encryption and decryption of data.

    - `encrypt`: Encrypt plaintext.
    - `decrypt`: Decrypt ciphertext.
    Ú	plaintextr   r
   r   c                ó   — dS )z?Encrypt plaintext. Returns a tuple `(cipher name, ciphertext)`.Nr   )r   r7   s     r   ÚencryptzCipherProtocol.encrypt:   ó   € àˆr   Ú
ciphernameÚstrÚ
ciphertextc                ó   — dS )z*Decrypt ciphertext. Returns the plaintext.Nr   )r   r;   r=   s      r   ÚdecryptzCipherProtocol.decrypt>   r:   r   N)r7   r   r
   r   )r;   r<   r=   r   r
   r   )r   r   r   r   r9   r?   r   r   r   r6   r6   3   sF   € € € € € ðð ðð ð ð ðð ð ð ð ð r   r6   N)r(   r1   r
   r   )Ú
__future__r   Útypingr   r   r   r   r   r'   r4   r6   r   r   r   ú<module>rB      s	  ðØ "Ð "Ð "Ð "Ð "Ð "à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3ð-ð -ð -ð -ð - ñ -ô -ð -ð ð?ð ?ð ?ð ?ð ?˜ñ ?ô ?ñ Ôð?ð)ð )ð )ð )ð )Ð)ñ )ô )ð )ðð ð ð ðð ð ð ð �Xñ ô ð ð ð r   