Ë
    £èhý  ã                  ón   — d dl mZ d dlmZmZ d dlmZ d dlZddlmZ dd„Z	dd„Z
e G d	„ d
«      «       Zy)é    )Úannotations)Ú	dataclassÚfield)ÚdatetimeNé   )Úconstc                óž   — | j                  dd¬«      }t        j                  dt        j                  j
                  t        |«      «      |z   S )NÚutf8Úignore)Úerrorsz<BB)ÚencodeÚstructÚpackr   ÚTagsÚSTRÚlen)ÚsÚbs     ú.lib/python3.12/site-packages/ezdxf/acis/hdr.pyÚ
encode_strr      s8   € Ø	�‰� ˆÓ)€AÜ�;‰;�uœeŸj™jŸn™n¬c°!«fÓ5¸Ñ9Ð9ó    c                ó`   — t        j                  dt        j                  j                  | «      S )Nz<Bd)r   r   r   r   ÚDOUBLE)Úvalues    r   Úencode_doubler      s   € Ü�;‰;�uœeŸj™j×/Ñ/°Ó7Ð7r   c                  ó^  — e Zd ZU dZej
                  Zded<   dZded<   dZ	ded<   dZ
ded<   ej                  Zded	<   ej                  ej
                     Zded
<    eej"                  ¬«      Zded<   dZded<   dZded<   dZded<   edd„«       Zd d„Zd!d„Zd"d„Zd#d„Zd„ Zd"d„Zd!d„Zy)$Ú
AcisHeaderzRepresents an ACIS file header.ÚintÚversionr   Ú	n_recordsÚ
n_entitiesÚflagsÚstrÚ
product_idÚacis_version)Údefault_factoryr   Úcreation_dateg      ð?ÚfloatÚunits_in_mmÚ Úasm_versionFÚboolÚasm_end_markerc                ó    — | j                   dk7  S )Nr*   )r+   ©Úselfs    r   Úhas_asm_headerzAcisHeader.has_asm_header-   s   € à×Ñ 2Ñ%Ð%r   c                ó¬   — | j                   › d| j                  › d| j                  › d| j                  › d�| j	                  «       | j
                  d›d�gS )z/Returns the SAT file header as list of strings.Ú Úgz  9.9999999999999995e-007 1e-010 )r   r    r!   r"   Ú_header_strr)   r/   s    r   ÚdumpszAcisHeader.dumps1   s\   € ð �|‰|ˆn˜A˜dŸn™nÐ-¨Q¨t¯©Ð.?¸qÀÇÁÀÈAÐNØ×ÑÓØ×Ñ Ð"Ð"BÐCð
ð 	
r   c                óD  — g }| j                   dkD  r |j                  t        j                  «       n|j                  t        j                  «       t        j                  d| j                   | j                  | j                  | j                  «      }|j                  |«       |j                  t        | j                  «      «       |j                  t        | j                  «      «       |j                  t        | j                  j                  «       «      «       |j                  t        | j                   «      «       |j                  t        t        j"                  «      «       |j                  t        t        j$                  «      «       dj'                  |«      S )z%Returns the SAB file header as bytes.i(U  z<iiiir   )r   Úappendr   ÚASM_SIGNATUREÚACIS_SIGNATUREr   r   r    r!   r"   r   r$   r%   r'   Úctimer   r)   ÚRES_TOLÚNOR_TOLÚjoin)r0   ÚbufferÚdatas      r   ÚdumpbzAcisHeader.dumpb9   s
  € à ˆØ�<‰<˜%ÒØ�M‰Mœ%×-Ñ-Õ.à�M‰Mœ%×.Ñ.Ô/Ü�{‰{Ø�T—\‘\ 4§>¡>°4·?±?ÀDÇJÁJó
ˆð 	�‰�dÔØ�‰”j §¡Ó1Ô2Ø�‰”j ×!2Ñ!2Ó3Ô4Ø�‰”j ×!3Ñ!3×!9Ñ!9Ó!;Ó<Ô=Ø�‰”m D×$4Ñ$4Ó5Ô6Ø�‰”m¤E§M¡MÓ2Ô3Ø�‰”m¤E§M¡MÓ2Ô3Ø�x‰x˜ÓÐr   c                ón  — t        | j                  «      }t        | j                  «      }| j                  j	                  «       }| j
                  dkD  r2d|› d| j                  › d|› d| j                  › dt        |«      › d|› d�S |› d| j                  › d|› d| j                  › dt        |«      › d|› d�S )Ni�  Ú@r3   z @)r   r$   r%   r'   r;   r   )r0   Úp_lenÚa_lenÚdates       r   r5   zAcisHeader._header_strL   sÂ   € Ü�D—O‘OÓ$ˆÜ�D×%Ñ%Ó&ˆØ×!Ñ!×'Ñ'Ó)ˆØ�<‰<˜#ÒØ�u�g˜Q˜tŸ™Ð/¨r°%°¸¸$×:KÑ:KÐ9LÈBÌsÐSWËyÈkÐYZÐ[_ÐZ`Ð`aÐbÐbà�W˜A˜dŸo™oÐ.¨a°¨w°a¸×8IÑ8IÐ7JÈ!ÌCÐPTËIÈ;ÐVWÐX\ÐW]Ð]^Ð_Ð_r   c                óÄ   — 	 t         j                  |   | _        || _        t         j                  j                  |d«      | _        y# t        $ r t        d|› �«      ‚w xY w)zfSets the ACIS version as an integer value and updates the version
        string accordingly.
        zinvalid ACIS version number r*   N)	r   ÚACIS_VERSIONr%   r   ÚKeyErrorÚ
ValueErrorÚASM_VERSIONÚgetr+   )r0   r   s     r   Úset_versionzAcisHeader.set_versionU   se   € ð	GÜ %× 2Ñ 2°7Ñ ;ˆDÔØ"ˆDŒLô !×,Ñ,×0Ñ0°¸"Ó=ˆÕøô ò 	GÜÐ;¸G¸9ÐEÓFÐFð	Gús   ‚A ÁAc                ó2   — ddl m}  || j                  «      S )Nr   )Ú	AsmHeader)ÚentitiesrO   r+   )r0   rO   s     r   Ú
asm_headerzAcisHeader.asm_header`   s   € Ý'Ù˜×)Ñ)Ó*Ð*r   c                óf   — | j                   rt        j                  dz   S t        j                  dz   S )Nr3   )r-   r   ÚEND_OF_ASM_DATA_SATÚEND_OF_ACIS_DATA_SATr/   s    r   Úsat_end_markerzAcisHeader.sat_end_markerd   s-   € Ø×ÒÜ×,Ñ,¨sÑ2Ð2ä×-Ñ-°Ñ3Ð3r   c                óZ   — | j                   rt        j                  S t        j                  S )N)r-   r   ÚEND_OF_ASM_DATA_SABÚEND_OF_ACIS_DATA_SABr/   s    r   Úsab_end_markerzAcisHeader.sab_end_markerj   s#   € Ø×ÒÜ×,Ñ,Ð,ä×-Ñ-Ð-r   N)Úreturnr,   )rZ   z	list[str])rZ   Úbytes)rZ   r#   )r   r   rZ   ÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚMIN_EXPORT_VERSIONr   Ú__annotations__r    r!   r"   ÚEZDXF_BUILDER_IDr$   rH   r%   r   r   Únowr'   r)   r+   r-   Úpropertyr1   r6   rA   r5   rM   rQ   rU   rY   © r   r   r   r      sÄ   … á)à×+Ñ+€GˆSÓ+Ø€IˆsÓØ€J�ÓØ€Eˆ3ƒNØ×,Ñ,€J�Ó,Ø×*Ñ*¨5×+CÑ+CÑD€L�#ÓDÙ#°H·L±LÔA€M�8ÓAØ€K�ÓØ€K�ÓØ €N�DÓ àò&ó ð&ó
ó ó&`ó	>ò+ó4ô.r   r   )r   r#   rZ   r[   )r   r(   rZ   r[   )Ú
__future__r   Údataclassesr   r   r   r   r*   r   r   r   r   rf   r   r   Ú<module>ri      s<   ðõ #ß (Ý Û Ý ó:ó
8ð ÷O.ð O.ó ñO.r   