
    ^h                    6   S r SSKJr  SSKrSSKrSSKJr  SSKJrJ	r	J
r
JrJr   " S S\R                  5      r " S	 S
\5      r " S S\	5      r\" 5       r\" 5       r\R&                  r\R(                  r\R*                  r\R,                  r\R.                  rg)zDRead and write notebooks in JSON format.

Authors:

* Brian Granger
    )annotationsN   )	from_dict)NotebookReaderNotebookWriterrejoin_linesrestore_bytessplit_linesc                      \ rS rSrSrS rSrg)BytesEncoder   z@A JSON encoder that accepts b64 (and other *ascii*) bytestrings.c                    [        U[        5      (       a  UR                  S5      $ [        R                  R                  X5      $ )zThe default value of an object.ascii)
isinstancebytesdecodejsonJSONEncoderdefault)selfobjs     L/home/james-whalen/.local/lib/python3.13/site-packages/nbformat/v2/nbjson.pyr   BytesEncoder.default"   s5    c5!!::g&&''22     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s
    J3r   r   c                  $    \ rS rSrSrS rS rSrg)
JSONReader)   zA JSON notebook reader.c                Z    [         R                  " U40 UD6nU R                  " U40 UD6nU$ zConvert a string to a notebook.)r   loadsto_notebook)r   skwargsnbs       r   readsJSONReader.reads,   s/    ZZ$V$b+F+	r   c                <    [        [        [        U5      5      5      $ r&   )r	   r   r   )r   dr*   s      r   r(   JSONReader.to_notebook2   s    \)A,788r   r   N)r   r   r   r   r    r,   r(   r!   r   r   r   r#   r#   )   s    !9r   r#   c                      \ rS rSrSrS rSrg)
JSONWriter7   zA JSON notebook writer.c                    [         US'   SUS'   SUS'   UR                  SS5      (       a  [        [        R                  " U5      5      n[
        R                  " U40 UD6$ )z&Convert a notebook object to a string.clsr   indentT	sort_keysr
   )r   popr
   copydeepcopyr   dumps)r   r+   r*   s      r   writesJSONWriter.writes:   sW    $ux"{::mT**T]]2./Bzz"'''r   r   N)r   r   r   r   r    r<   r!   r   r   r   r2   r2   7   s
    !(r   r2   )r    
__future__r   r9   r   nbbaser   rwbaser   r   r   r	   r
   r   r   r#   r2   _reader_writerr,   readr(   writer<   r   r   r   <module>rE      s   " #    \ \34## 39 9
( 
( ,
,||!!	r   