
    h                     t    S SK JrJr  S SKrSSK7  SSKJr  SSSS	S
SSSSSSSSS.rSSSSS.r " S S5      r	g)    )DictTupleN   )*)crc8cp874cp932gbkcp949cp950cp1250cp1251cp1252cp1253cp1254cp1255cp1256cp1257)%   &   '   (   )                !   "   #   $   i  i  i<  ia  )            c                   :    \ rS rSrSS\4S jjrS\4S jrS rSrg)	
FileHeaderr   datac                    X l         [        U5      S:  a  [        S5      eUS S R                  SS9nU[        ;  a  [        SU S35      eX0l        [        R                  " SUS5      S	   n[        R                  US
5      U l
        US   U l        [        5       U l        U R
                  [        ::  a  U R                  U5        g [        U R
                  5      e)Nr%   zNot a DWG file.ignore)errorsz6Not a DWG file or unsupported DWG version, signature: .z<h   r   r      )	crc_checklenDwgVersionErrordecodeSUPPORTED_VERSIONSversionstructunpack_fromcodepage_to_encodinggetencodingmaintenance_release_versiondictsections	ACAD_2000r2000_header)selfr(   r/   vercodepages        M/var/www/html/env/lib/python3.13/site-packages/ezdxf/addons/dwg/fileheader.py__init__FileHeader.__init__!   s    "t9q=!"3442AhooXo.((!HQO   **4t<Q?,008D+/9(48F<<9$d#!$,,//    c                    Sn[         R                  " SX5      S   nUS-  nSn[         R                  " U5      n[        U5       H1  n[         R                  " XAU5      u  pxn	X%-  nX4U R                  U'   M3     U R
                  (       aT  [        US U SS9[        [        U R                  5         -  n
[         R                  " SX5      S   nX:w  a  [        S5      eUS	-  nXU[        -    nUS
:w  a  [        S5      eg )N   z<Lr   r#   z<BLL)seedz<HzCRC error in file header.   s   N(^A_:M z&Corrupted DXF R13/14/2000 file header.)r5   r6   calcsizeranger<   r/   r   FILE_HEADER_MAGICr0   CRCErrorSENTINEL_SIZEDwgCorruptedFileHeader)r?   r(   indexsection_countfmtrecord_sizerecordnumseekersizecheckcrcsentinels                rB   r>   FileHeader.r2000_header4   s   #//dB1E
ooc*M*F !' 2 23e DC E"(DMM# + >> T&5\*#C$678  $$T47:C|:;;
 56RS )8 SrE   c                    [        SU R                   35        [        SU R                   35        [        S[        U R                  5       35        [        SR                  U R                  S   5      5        [        SR                  U R                  S   5      5        [        SR                  U R                  S	   5      5        g )
NzDWG version: z
encoding: z	Records: z"Header: seeker {0[0]} size: {0[1]}r   z#Classes: seeker {0[0]} size: {0[1]}r   z#Objects: seeker {0[0]} size: {0[1]}rI   )printr4   r9   r0   r<   format)r?   s    rB   r]   FileHeader.printV   s    dll^,-
4==/*+	#dmm,-./299$--:JKL3::4==;KLM3::4==;KLMrE   )r/   r9   r:   r<   r4   N)F)	__name__
__module____qualname____firstlineno__BytesrC   r>   r]   __static_attributes__ rE   rB   r'   r'       s!    0U 0&   DNrE   r'   )
typingr   r   r5   constrY   r   r7   rL   r'   rf   rE   rB   <module>ri      sf        	 " 	 <N <NrE   