§
    8>g’  ã                   óZ   — d Z  G d„ d¦  «        Zd„ Zd„ Zd„ Zedk    r e¦   «          dS dS ))Úread_blend_rend_chunkc                   ó(   — e Zd ZdZdZd„ Zd„ Zd„ ZdS )ÚRawBlendFileReaderz[
    Return a file handle to the raw blend file data (abstracting compressed formats).
    ©Ú	_filepathÚ_blendfile_baseÚ
_blendfilec                 ó0   — || _         d | _        d | _        d S ©Nr   )ÚselfÚfilepaths     úW/home/blender/git/blender-v430/install_release/4.3/scripts/modules/blend_render_info.pyÚ__init__zRawBlendFileReader.__init__#   s   € Ø!ˆŒØ#ˆÔØˆŒˆˆó    c                 óX  — t          | j        d¦  «        }d }|                     d¦  «        }|                     d¦  «         |dd…         dk    rdd l}|}|                      |d¦  «        }n*|dd…         dk    rdd l}|}|                      |d¦  «        }|| _        || _        | j        S )NÚrbé   é    é   s   ‹s   (µ/ý)Úopenr   ÚreadÚseekÚgzipÚ	zstandardr   r   )r   Ú	blendfileÚblendfile_baseÚheadr   r   s         r   Ú	__enter__zRawBlendFileReader.__enter__(   sÀ   € Ý˜œ¨Ñ.Ô.ˆ	ØˆØ�~Š~˜aÑ Ô ˆØ�Š�qÑÔÐØ��!�Œ9˜Ò#Ð#ØˆKˆKˆKØ&ˆNØŸ	š	 )¨TÑ2Ô2ˆIˆIØ�!�A�#ŒYÐ-Ò-Ð-ØÐÐÐØ&ˆNØ!Ÿš y°$Ñ7Ô7ˆIà-ˆÔØ#ˆŒàŒÐr   c                 óx   — | j                              ¦   «          | j        �| j                             ¦   «          dS )NF)r   Úcloser   )r   Úexc_typeÚ	exc_valueÚexc_tracebacks       r   Ú__exit__zRawBlendFileReader.__exit__;   s9   € ØŒ×ÒÑÔÐØÔÐ+ØÔ ×&Ò&Ñ(Ô(Ð(àˆur   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r#   © r   r   r   r      sR   € € € € € ðð ð€Iðð ð ð
ð ð ð&ð ð ð ð r   r   c                 ó4  — dd l }dd l}ddlm} |                      d¦  «        }|dk    r/|j                             d                     |¦  «        ¦  «         g S |                      d¦  «        dk    }|                      d¦  «        dk    }|                      d	|¦  «         g }|rd
nd}	|                      d¦  «        x}
dk    �rÓt          |
¦  «        dk    r/|j                             d                     |¦  «        ¦  «         �n‘| 
                    |rdnd|                      d¦  «        ¦  «        d         }|dk     r/|j                             d                     |¦  «        ¦  «         �n)|	dz
  }|                      ||¦  «         |
dk    r›| 
                    |rdnd|                      d¦  «        ¦  «        \  }}|dz  }|                      d¦  «        }|dz  }|d |                     d¦  «        …         }|                     dd¬¦  «        }|                     |||f¦  «         |dk    r|                      ||¦  «         n4|dk     r.|j                             d                     |¦  «        ¦  «         n|                      d¦  «        x}
dk    �°Ó|S )Nr   )ÚSEEK_CURé   s   BLENDERzNot a blend file: {:s}
é   ó   -ó   Vé   é   é   r   s   ENDBz5Unable to read until ENDB block (corrupt file): {:s}
z>iz<iz/Negative block size found (corrupt file): {:s}
é   s   RENDz>2iz<2ié@   ó    Úutf8Úsurrogateescape)Úerrorsz2Error calculating next block (corrupt file): {:s}
)ÚstructÚsysÚosr+   r   ÚstderrÚwriteÚformatr   ÚlenÚunpackÚindexÚdecodeÚappend)r   r   r9   r:   r+   r   Ú	is_64_bitÚis_big_endianÚscenesÚsizeof_bheadÚbhead_idÚsizeof_data_leftÚsizeof_bhead_leftÚstart_frameÚ	end_frameÚ
scene_names                   r   Ú _read_blend_rend_chunk_from_filerN   C   sÔ  € Ø€M€M€MØ€J€J€JàÐÐÐÐÐà�>Š>˜!ÑÔ€DØˆzÒÐØŒ
×ÒÐ3×:Ò:¸8ÑDÔDÑEÔEÐEØˆ	à—’ Ñ"Ô" dÒ*€Ið —^’^ AÑ&Ô&¨$Ò.€Mð ‡N‚N�1�hÑÔÐà€Fà"Ð*�2�2¨€Lð !—~’~ aÑ(Ô(Ð(ˆ8¨WÒ
4Ñ
4åˆx‰=Œ=˜AÒÐØŒJ×ÒÐU×\Ò\Ð]eÑfÔfÑgÔgÐgÙà!Ÿ=š=°Ð)H¨¨ÀDÈ)Ï.Ê.ÐYZÑJ[ÔJ[Ñ\Ô\Ð]^Ô_ÐØ˜aÒÐàŒJ×ÒÐO×VÒVÐW_Ñ`Ô`ÑaÔaÐaÙð )¨1Ñ,Ðð 	�ŠÐ(¨(Ñ3Ô3Ð3à�wÒÐà%+§]¢]¸MÐ3T°5°5ÈuÐV_×VdÒVdÐefÑVgÔVgÑ%hÔ%hÑ"ˆK˜Ø Ñ!Ðà"Ÿš¨Ñ+Ô+ˆJØ Ñ"Ðà#Ð$< Z×%5Ò%5°eÑ%<Ô%<Ð$<Ô=ˆJà#×*Ò*¨6Ð:KÐ*ÑLÔLˆJà�MŠM˜;¨	°:Ð>Ñ?Ô?Ð?à˜aÒÐØ�NŠNÐ+¨XÑ6Ô6Ð6Ð6Ø Ò!Ð!àŒJ×ÒÐR×YÒYÐZbÑcÔcÑdÔdÐdØðK !—~’~ aÑ(Ô(Ð(ˆ8¨WÒ
4Ñ
4ðN €Mr   c                 ót   — t          | ¦  «        5 }t          || ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S r
   )r   rN   )r   r   s     r   r   r   …   s‘   € Ý	˜HÑ	%Ô	%ð E¨Ý/°	¸8ÑDÔDðEð Eð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð Es   �-­1´1c                  ó„   — dd l } | j        dd …         D ]+}t          |¦  «        D ]}t           dj        |Ž ¦  «         ŒŒ,d S )Nr   r-   z{:d} {:d} {:s})r:   Úargvr   Úprintr>   )r:   r   Úvalues      r   ÚmainrT   Š   sg   € Ø€J€J€Jà”H˜Q˜R˜R”Lð 3ð 3ˆÝ*¨8Ñ4Ô4ð 	3ð 	3ˆEÝÐ)Ð"Ô)¨5Ð1Ñ2Ô2Ð2Ð2ð	3ð3ð 3r   Ú__main__N)Ú__all__r   rN   r   rT   r$   r)   r   r   ú<module>rW      sŠ   ðð"€ð
*ð *ð *ð *ð *ñ *ô *ð *ðZ?ð ?ð ?ðDEð Eð Eð
3ð 3ð 3ð ˆzÒÐØ€D�F„F€F€F€Fð Ðr   