Ë
    £èh…3  ã                  óÔ  — U d dl mZ d dlmZmZmZmZmZmZm	Z	 d dl
mZ d dlZd dlmZ ddlmZ ddlmZmZ dd	lmZ dd
lmZmZmZmZmZ erddlmZ d dlmZ ee   Zde d<    G d„ de«      Z! e!ddd e"«       «      Z#e#ddf	 	 	 	 	 d'd„Z$d(d„Z%d)d„Z& G d„ de«      Z' G d„ de«      Z( G d„ dee!   «      Z)d*d„Z*d+d„Z+d,d„Z,d-d „Z-d-d!„Z.d.d"„Z/	 	 	 	 	 	 d/d#„Z0d0d$„Z1 G d%„ d&e«      Z2y)1é    )Úannotations)ÚAnyÚSequenceÚIteratorÚUnionÚListÚTYPE_CHECKINGÚOptional)Ú	TypeAliasN)Údatetimeé   )Úconst)ÚParsingErrorÚInvalidLinkStructure)Ú
AcisHeader)ÚAbstractEntityÚAbstractBuilderÚ
DataLoaderÚDataExporterÚEntityExporter)Ú
AcisEntity)ÚVec3r   Ú	SatRecordc                  ó4   — e Zd ZdZ	 	 	 d	 	 	 	 	 	 	 dd„Zd„ Zy)Ú	SatEntityz2Low level representation of an ACIS entity (node).Nc                óR   — || _         || _        || _        |�|ng | _        d | _        y ©N)ÚnameÚattr_ptrÚidÚdataÚ
attributes)Úselfr   r   r    r!   s        ú.lib/python3.12/site-packages/ezdxf/acis/sat.pyÚ__init__zSatEntity.__init__&   s.   € ð ˆŒ	Ø ˆŒØˆŒØ'+Ð'7™t¸RˆŒ	Ø'+ˆ�ó    c                ó:   — | j                   › d| j                  › d�S )NÚ(Ú))r   r    ©r#   s    r$   Ú__str__zSatEntity.__str__3   s   € Ø—)‘)�˜A˜dŸg™g˜Y aÐ(Ð(r&   )ú$-1éÿÿÿÿN)r   Ústrr   r.   r    Úintr!   úOptional[list[Any]])Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   r+   © r&   r$   r   r   #   s@   „ Ù<ð
 ØØ$(ð,àð,ð ð,ð ð	,ð
 "ó,ó)r&   r   znull-ptrr,   r-   c                ó0   — t        | d||«      }||_        |S )zöFactory to create new ACIS entities.

    Args:
        name: entity type
        attributes: reference to the entity attributes or :attr:`NULL_PTR`.
        id: unique entity id as integer or -1
        data: generic data container as list

    r,   )r   r"   )r   r"   r    r!   Úes        r$   Ú
new_entityr8   :   s    € ô 	�$˜˜r 4Ó(€AØ€A„LØ€Hr&   c                ó2   — t        | «      dkD  xr | d   dk(  S )z@Returns ``True`` if the string `s` represents an entity pointer.r   Ú$)Úlen)Úss    r$   Úis_ptrr=   N   s   € äˆq‹6�A‰:Ò%˜!˜A™$ #™+Ð%r&   c                óú   ‡ — dˆ fd„}‰ D ]n  } ||j                   «      |_        d|_         g }|j                  D ]6  }t        |«      r|j	                   ||«      «       Œ&|j	                  |«       Œ8 ||_        Œp ‰ S )Nc                ó@   •— t        | dd  «      }|dk(  rt        S ‰|   S )Nr   r-   )r/   ÚNULL_PTR)r<   ÚnumÚentitiess     €r$   Úptrz!resolve_str_pointers.<locals>.ptrT   s(   ø€ Ü�!�A�B�%‹jˆØ�"Š9ÜˆOØ˜‰}Ðr&   r,   )r<   r.   Úreturnr   )r   r"   r!   r=   Úappend)rB   rC   Úentityr!   Útokens   `    r$   Úresolve_str_pointersrH   S   sr   ø€ õó ˆÙ §¡Ó0ˆÔØˆŒØˆØ—[”[ˆEÜ�eŒ}Ø—‘™C ›JÕ'à—‘˜EÕ"ð	 !ð
 ˆ�ð ð €Or&   c                  ó^   — e Zd Zdd„Zdd„Zddd„Zdd„Zdd„Zdd„Zdd„Z	dd	„Z
dd
„Zdd„Zy)ÚSatDataLoaderc                ó.   — || _         || _        d| _        y )Nr   )Úversionr!   Úindex)r#   r!   rL   s      r$   r%   zSatDataLoader.__init__h   s   € ØˆŒØˆŒ	Øˆ�
r&   c                óF   — | j                   t        | j                  «      k  S r   )rM   r;   r!   r*   s    r$   Úhas_datazSatDataLoader.has_datam   s   € Ø�z‰zœS §¡›^Ñ+Ð+r&   Nc                ó¸   — |�|S | j                   | j                     }	 t        |«      }| xj                  dz  c_        |S # t        $ r t	        d|› �«      ‚w xY w)Nzexpected integer, got r   )r!   rM   r/   Ú
ValueErrorr   )r#   Úskip_satÚentryÚvalues       r$   Úread_intzSatDataLoader.read_intp   sh   € ØÐØˆOà—	‘	˜$Ÿ*™*Ñ%ˆð	AÜ˜“JˆEð 	�
Š
�a‰�
Øˆøô ò 	AÜÐ!7¸°wÐ?Ó@Ð@ð	Aús   ŸA ÁAc                ó°   — | j                   | j                     }	 t        |«      }| xj                  dz  c_        |S # t        $ r t	        d|› �«      ‚w xY w)Nzexpected double, got r   )r!   rM   ÚfloatrQ   r   )r#   rS   rT   s      r$   Úread_doublezSatDataLoader.read_double|   s]   € Ø—	‘	˜$Ÿ*™*Ñ%ˆð	@Ü˜%“LˆEð 	�
Š
�a‰�
Øˆøô ò 	@ÜÐ!6°u°gÐ>Ó?Ð?ð	@ús	   ›= ½Ac                ój   — | j                  dd«      }|r| j                  «       S t        j                  S )NÚFÚI)Ú	read_boolrX   ÚmathÚinf)r#   Úfinites     r$   Úread_intervalzSatDataLoader.read_interval…   s-   € Ø—‘  SÓ)ˆÙØ×#Ñ#Ó%Ð%Ü�x‰xˆr&   c                ól   — | j                  «       }| j                  «       }| j                  «       }|||fS r   )rX   )r#   ÚxÚyÚzs       r$   Ú	read_vec3zSatDataLoader.read_vec3‹   s7   € Ø×ÑÓˆØ×ÑÓˆØ×ÑÓˆØ�!�Qˆwˆr&   c                óÈ   — | j                   | j                     }||k(  r| xj                  dz  c_        y||k(  r| xj                  dz  c_        yt        d|› d|› d|› �«      ‚)Nr   TFzexpected bool string 'z' or 'z', got )r!   rM   r   )r#   ÚtrueÚfalserT   s       r$   r\   zSatDataLoader.read_bool‘   se   € Ø—	‘	˜$Ÿ*™*Ñ%ˆØ�DŠ=Ø�JŠJ˜!‰O�JØØ�eŠ^Ø�JŠJ˜!‰O�JØÜØ$ T F¨&°°°w¸u¸gÐFó
ð 	
r&   c                ó"  — | j                   | j                     }| j                  t        j                  j
                  k  s|j                  d«      r1| xj                  dz  c_        | j                   | j                  dz
     S t        d|› �«      ‚)NÚ@é   r   zexpected string, got )r!   rM   rL   r   ÚFeaturesÚATÚ
startswithr   ©r#   rT   s     r$   Úread_strzSatDataLoader.read_str�   sn   € Ø—	‘	˜$Ÿ*™*Ñ%ˆØ�<‰<œ%Ÿ.™.×+Ñ+Ò+¨u×/?Ñ/?ÀÔ/DØ�JŠJ˜!‰O�JØ—9‘9˜TŸZ™Z¨!™^Ñ,Ð,ÜÐ2°5°'Ð:Ó;Ð;r&   c                ó°   — | j                   | j                     }t        |t        «      r| xj                  dz  c_        |S t	        dt        |«      › �«      ‚)Nr   zexpected pointer, got )r!   rM   Ú
isinstancer   r   Útype)r#   rF   s     r$   Úread_ptrzSatDataLoader.read_ptr¤   sG   € Ø—‘˜4Ÿ:™:Ñ&ˆÜ�fœnÔ-Ø�JŠJ˜!‰O�JØˆMÜÐ3´D¸³L°>ÐBÓCÐCr&   c                óZ   — t        d«      D �cg c]  }| j                  «       ‘Œ c}S c c}w )Né   )ÚrangerX   )r#   Ú_s     r$   Úread_transformzSatDataLoader.read_transform«   s)   € ô
 -2°"¬IÓ6©I q�× Ñ Õ"¨IÑ6Ð6ùÒ6s   Ž()r!   ú	list[Any]rL   r/   )rD   Úboolr   )rR   zOptional[int]rD   r/   )rD   rW   )rD   ztuple[float, float, float])rg   r.   rh   r.   rD   r{   )rD   r.   )rD   r   )rD   zlist[float])r1   r2   r3   r%   rO   rU   rX   r`   re   r\   rp   rt   ry   r5   r&   r$   rJ   rJ   g   s5   „ óó
,ô
óóóó

ó<óDô7r&   rJ   c                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)	Ú
SatBuilderz7Low level data structure to manage ACIS SAT data files.c                óL   — t        «       | _        g | _        g | _        i | _        y r   )r   ÚheaderÚbodiesrB   Ú_export_mappingr*   s    r$   r%   zSatBuilder.__init__¶   s!   € Ü “lˆŒØ')ˆŒØ)+ˆŒØ57ˆÕr&   c                óD  — | j                  «        t        | j                  «      t        | j                  j
                  «      z   | j                  _        | j                  j                  dk(  rd| j                  _        n$t        | j                  «      | j                  _        | j                  j                  «       }|j                  t        | j                  | j                  j                  «      «       |j                  | j                  j                  «       «       |S )zòReturns the text representation of the ACIS file as list of strings
        without line endings.

        Raise:
            InvalidLinkStructure: referenced ACIS entity is not stored in
                the :attr:`entities` storage

        é¼  r   )Úreorder_recordsr;   r€   r/   r   Úhas_asm_headerÚ
n_entitiesrL   Ú	n_recordsrB   ÚdumpsÚextendÚbuild_str_recordsrE   Úsat_end_marker©r#   r!   s     r$   Údump_satzSatBuilder.dump_sat¼   sÅ   € ð 	×ÑÔÜ!$ T§[¡[Ó!1´CØ�K‰K×&Ñ&ó5
ñ "
ˆ�‰Ôð �;‰;×Ñ #Ò%Ø$%ˆD�K‰KÕ!ä$'¨¯©Ó$6ˆD�K‰KÔ!Ø�{‰{× Ñ Ó"ˆØ�‰Ô% d§m¡m°T·[±[×5HÑ5HÓIÔJØ�‰�D—K‘K×.Ñ.Ó0Ô1Øˆr&   c                óf   — |D �cg c]  }|j                   dk(  sŒ|‘Œ c}| _        || _        yc c}w )z.Reset entities and bodies list. (internal API)ÚbodyN)r   r€   rB   )r#   rB   r7   s      r$   Úset_entitieszSatBuilder.set_entitiesÒ   s0   € á"*Ó?¡(˜Q¨a¯f©f¸Ó.>’q (Ñ?ˆŒØ ˆ�ùò @s   ….š.N)rD   ÚNone©rD   ú	list[str])rB   úlist[SatEntity]rD   r‘   )r1   r2   r3   r4   r%   r�   r�   r5   r&   r$   r}   r}   ³   s   „ ÙAó8óô,!r&   r}   c                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚSatExporterc                ó^   — t        |j                  |j                  ¬«      }t        |_        |S )N)r    )r   rs   r    r@   r"   ©r#   rF   Úrecords      r$   Úmake_recordzSatExporter.make_recordÙ   s#   € Ü˜6Ÿ;™;¨6¯9©9Ô5ˆÜ$ˆÔØˆr&   c                ó.   — t        | |j                  «      S r   )ÚSatDataExporterr!   )r#   r™   s     r$   Úmake_data_exporterzSatExporter.make_data_exporterÞ   s   € Ü˜t V§[¡[Ó1Ð1r&   c                ó–   — t        «       }| j                  |_        |j                  | j                  «       «       |j	                  «       S r   )r}   r   r�   Úexport_recordsr�   )r#   Úbuilders     r$   r�   zSatExporter.dump_satá   s:   € Ü“,ˆØŸ™ˆŒØ×Ñ˜T×0Ñ0Ó2Ô3Ø×ÑÓ!Ð!r&   N)rF   r   rD   r   )r™   r   rD   r   r’   )r1   r2   r3   rš   r�   r�   r5   r&   r$   r–   r–   Ø   s   „ óó
2ô"r&   r–   c              #  óÄ  ‡ K  — dˆ fd„}‰ D ]Ð  }|j                   g}|j                   ||j                  «      «       |dk\  r$|j                  t        |j                  «      «       |j
                  D ]D  }t        |t        «      r|j                   ||«      «       Œ+|j                  t        |«      «       ŒF |j                  d«       dj                  |«      –— ŒÒ y ­w)Nc                óŠ   •— | t         u ry	 d‰j                  | «      › �S # t        $ r t        dt	        | «      › d�«      ‚w xY w)Nr,   r:   zentity z not in record storage)r@   rM   rQ   r   r.   )r7   rB   s    €r$   Úptr_strz"build_str_records.<locals>.ptr_stré   sT   ø€ Ø”‰=Øð	QØ�x—~‘~ aÓ(Ð)Ð*Ð*øÜò 	QÜ&¨´°Q³°Ð8NÐ'OÓPÐPð	Qús	   Œ   "Arƒ   Ú#Ú )r7   r   rD   r.   )	r   rE   r"   r.   r    r!   rr   r   Újoin)rB   rL   r£   rF   Útokensr!   s   `     r$   rŠ   rŠ   è   s«   øè ø€ õQó ˆØ—+‘+�ˆØ�‰‘g˜f×/Ñ/Ó0Ô1Ø�cŠ>Ø�M‰Mœ#˜fŸi™i›.Ô)Ø—K”KˆDÜ˜$¤	Ô*Ø—‘™g d›mÕ,à—‘œc $›iÕ(ð	  ð
 	�‰�cÔØ�h‰h�vÓÓñ ùs   ƒCC c              #  óÆ   K  — d}d}d}| j                  «       D ]D  }|dkD  r||z  }|dz  }|dk(  sŒ|–— d}Œ|dk(  rŒ%|dv r||z  }Œ/|dk(  sŒ5|sŒ8t        |«      }d}ŒF y ­w)NÚ r   r   rj   Ú
0123456789r¥   )Úrstripr/   )r<   rA   ÚcollectrG   Úcs        r$   Úparse_header_strr®   ÿ   s�   è ø€ Ø
€CØ€GØ€EØ�X‰XŽZˆØ�QŠ;Ø�Q‰JˆEØ�q‰LˆGØ˜!‹|Ø’Ø‘Ø�#ŠXØØ�,ÑØ�1‰H‰CØ�#‹Xš#Ü˜#“hˆGØ‰Cñ ùs   ‚.A!±A!ÁA!ÁA!c                ó�  — t        «       }| d   j                  «       }t        |d   «      |_        	 t        |d   «      |_        t        |d   «      |_        t        |d   «      |_        t        t        | d   «      «      }	 |d   |_        |d   |_        t        |«      dkD  r-	 t        j                  |d   t         j"                  «      |_        | d   j                  «       }	 t'        |d   «      |_        || dd  fS # t        t        f$ r Y Œ¦w xY w# t        $ r Y Œ‰w xY w# t        $ r Y Œ]w xY w# t        t        f$ r Y ŒKw xY w)Nr   r   rk   é   )r   Úsplitr/   rL   r‡   r†   ÚflagsÚ
IndexErrorrQ   Úlistr®   Ú
product_idÚacis_versionr;   r   Ústrptimer   ÚDATE_FMTÚcreation_daterW   Úunits_in_mm)r!   r   r§   s      r$   Úparse_headerr»     sN  € Ü‹\€FØ�!‰W�]‰]‹_€FÜ˜ ™“^€F„NðÜ˜v a™y›>ˆÔÜ  q¡	›NˆÔÜ˜6 !™9“~ˆŒô Ô" 4¨¡7Ó+Ó,€FðØ" 1™IˆÔØ$ Q™iˆÔô ˆ6ƒ{�Q‚ð	Ü#+×#4Ñ#4°V¸A±YÄÇÁÓ#OˆFÔ ð �!‰W�]‰]‹_€FðÜ" 6¨!¡9Ó-ˆÔð �4˜˜�8ÐÐøô' œ
Ð#ò Ùðûô ò Ùðûô ò 	Ùð	ûô
 œ
Ð#ò ÙðúsG   ²9D  ÂD Â&,D$ Ã&D3 Ä DÄDÄ	D!Ä D!Ä$	D0Ä/D0Ä3EÅEc              #  ó¢   K  — | D ]F  }|j                  t        j                  «      s|j                  t        j                  «      r y |–— ŒH y ­wr   )rn   r   ÚEND_OF_ACIS_DATA_SATÚBEGIN_OF_ACIS_HISTORY_DATA)r!   Úlines     r$   Ú_filter_recordsrÀ   1  s@   è ø€ ÛˆØ�?‰?œ5×5Ñ5Ô6¸$¿/¹/Ü×,Ñ,ô;
ñ Ø‹
ñ ùs   ‚AAc              #  óš   K  — dj                  t        | «      «      }|j                  d«      D ]  }|j                  «       }|sŒ|–— Œ y ­w)Nr¥   r¤   )r¦   rÀ   r±   Ústrip)r!   Úmerged_datar™   s      r$   Úmerge_record_stringsrÄ   :  sA   è ø€ Ø—(‘(œ?¨4Ó0Ó1€KØ×#Ñ# CÖ(ˆØ—‘“ˆÚØ‹Lñ )ùs   ‚AAÁAc                ó  — d}g }t        | «      D ]y  }|j                  «       }|d   j                  «       }|j                  d«      r-t	        |«       }||k7  rt        d«      ‚|j                  d«       |j                  |«       |dz  }Œ{ |S )Nr   Ú-z-non-continuous sequence numbers not supportedr   )rÄ   r±   rÂ   rn   r/   r   ÚpoprE   )r!   Úexpected_seq_numÚrecordsr¿   r§   Úfirst_tokenrA   s          r$   Úparse_recordsrË   B  s–   € ØÐØ!€GÜ$ TÖ*ˆØ ŸJ™J›LˆØ˜Q‘i—o‘oÓ'ˆØ×!Ñ! #Ô&Ü�{Ó#Ð#ˆCØÐ&Ò&Ü"ØCóð ð �J‰J�qŒMØ�‰�vÔØ˜AÑÑð +ð €Nr&   c           	     ó¦   — g }| D ]I  }|d   }|d   }d}|dk\  rt        |d   «      }|dd  }n|dd  }|j                  t        ||||«      «       ŒK |S )Nr   r   r-   rƒ   rk   r°   )r/   rE   r   )rÉ   rL   rB   r™   r   ÚattrÚid_r!   s           r$   Úbuild_entitiesrÏ   T  sr   € ð !#€HÛˆØ�a‰yˆØ�a‰yˆØˆØ�cŠ>Ü�f˜Q‘i“.ˆCØ˜!˜"�:‰Dà˜!˜"�:ˆDØ�‰œ	 $¨¨c°4Ó8Õ9ð ð €Or&   c                ó6  — t        | t        «      r| j                  «       }n| }t        |t        «      st	        d«      ‚t        «       }t        |«      \  }}||_        t        |«      }t        ||j                  «      }|j                  t        |«      «       |S )zÁReturns the :class:`SatBuilder` for the ACIS :term:`SAT` file content
    given as string or list of strings.

    Raises:
        ParsingError: invalid or unsupported ACIS data structure

    z+expected as string or a sequence of strings)rr   r.   Ú
splitlinesr   Ú	TypeErrorr}   r»   r   rË   rÏ   rL   r�   rH   )r<   r!   r    r   rÉ   rB   s         r$   Ú	parse_satrÓ   e  sƒ   € ô �!”SÔØ�|‰|‹~‰àˆÜ�dœHÔ%ÜÐEÓFÐFÜ‹l€GÜ Ó%�L€FˆDØ€G„NÜ˜DÓ!€GÜ˜g v§~¡~Ó6€HØ×ÑÔ-¨hÓ7Ô8Ø€Nr&   c                  óf   — e Zd Zdd„Zddd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zy)rœ   c                óB   — |j                   | _         || _        || _        y r   )rL   Úexporterr!   )r#   rÖ   r!   s      r$   r%   zSatDataExporter.__init__~  s   € Ø×'Ñ'ˆŒØ ˆŒØˆ�	r&   c                óR   — |s%| j                   j                  t        |«      «       yy)z™There are sometimes additional int values in SAB files which are
        not present in SAT files, maybe reference counters e.g. vertex, coedge.
        N)r!   rE   r.   )r#   rT   rR   s      r$   Ú	write_intzSatDataExporter.write_intƒ  s"   € ñ Ø�I‰I×ÑœS ›ZÕ(ð r&   c                ó>   — | j                   j                  |d›«       y )NÚg©r!   rE   ro   s     r$   Úwrite_doublezSatDataExporter.write_doubleŠ  s   € Ø�	‰	×Ñ˜E !˜9Õ&r&   c                ó¾   — t        j                  |«      r| j                  j                  d«       y | j                  j                  d«       | j	                  |«       y )Nr[   rZ   )r]   Úisinfr!   rE   rÜ   ro   s     r$   Úwrite_intervalzSatDataExporter.write_interval�  s@   € Ü�:‰:�eÔØ�I‰I×Ñ˜SÕ!à�I‰I×Ñ˜SÔ!Ø×Ñ˜eÕ$r&   c                ó¦   — | j                  |j                  «       | j                  |j                  «       | j                  |j                  «       y r   ©rÜ   rb   rc   rd   ro   s     r$   Úwrite_loc_vec3zSatDataExporter.write_loc_vec3”  ó8   € Ø×Ñ˜%Ÿ'™'Ô"Ø×Ñ˜%Ÿ'™'Ô"Ø×Ñ˜%Ÿ'™'Õ"r&   c                ó¦   — | j                  |j                  «       | j                  |j                  «       | j                  |j                  «       y r   rá   ro   s     r$   Úwrite_dir_vec3zSatDataExporter.write_dir_vec3™  rã   r&   c                óL   — | j                   j                  |r|«       y |«       y r   rÛ   )r#   rT   rg   rh   s       r$   Ú
write_boolzSatDataExporter.write_boolž  s   € Ø�	‰	×Ñ¡˜Õ2¨EÕ2r&   c                óš   — | j                   j                  dt        |«      › �«       | j                   j                  t        |«      «       y )Nrj   )r!   rE   r;   r.   ro   s     r$   Ú	write_strzSatDataExporter.write_str¡  s5   € Ø�	‰	×Ñ˜1œS ›Z˜LÐ)Ô*Ø�	‰	×Ñœ˜U›Õ$r&   c                ó&   — | j                  |«       y r   )ré   ro   s     r$   Úwrite_literal_strz!SatDataExporter.write_literal_str¥  s   € Ø�‰�uÕr&   c                ó”   — t         }|j                  s| j                  j                  |«      }| j                  j                  |«       y r   )r@   Úis_nonerÖ   Ú
get_recordr!   rE   r˜   s      r$   Ú	write_ptrzSatDataExporter.write_ptr¨  s4   € ÜˆØ�~Š~Ø—]‘]×-Ñ-¨fÓ5ˆFØ�	‰	×Ñ˜Õ r&   c                ó:   — | j                   j                  |«       y r   )r!   r‰   rŒ   s     r$   Úwrite_transformzSatDataExporter.write_transform®  s   € Ø�	‰	×Ñ˜Õr&   N)rÖ   r–   r!   rz   )F)rT   r/   rD   r‘   )rT   rW   rD   r‘   )rT   r   rD   r‘   )rT   r{   rg   r.   rh   r.   rD   r‘   )rT   r.   rD   r‘   )rF   r   rD   r‘   )r!   r“   rD   r‘   )r1   r2   r3   r%   rØ   rÜ   rß   râ   rå   rç   ré   rë   rï   rñ   r5   r&   r$   rœ   rœ   }  s9   „ óô
)ó'ó%ó#ó
#ó
3ó%óó!ôr&   rœ   )r   r.   r!   r0   rD   r   )r<   r.   rD   r{   )rB   r”   rD   r”   )rB   r”   rL   r/   rD   úIterator[str])r<   r.   rD   rò   )r!   úSequence[str]rD   z tuple[AcisHeader, Sequence[str]])r!   ró   rD   rò   )r!   ró   rD   zlist[SatRecord])rÉ   zSequence[SatRecord]rL   r/   rD   r”   )r<   zUnion[str, Sequence[str]]rD   r}   )3Ú
__future__r   Útypingr   r   r   r   r   r	   r
   Útyping_extensionsr   r]   r   r©   r   r   r   Úhdrr   Úabstractr   r   r   r   r   rB   r   Ú
ezdxf.mathr   r.   r   Ú__annotations__r   Útupler@   r8   r=   rH   rJ   r}   r–   rŠ   r®   r»   rÀ   rÄ   rË   rÏ   rÓ   rœ   r5   r&   r$   Ú<module>rü      s  ðö #÷÷ ñ õ (Û Ý å ß 5Ý ÷õ ñ Ý$Ýà˜C‘y€	ˆ9Ó  ô)�ô )ñ( �Z ¨©E«GÓ4€ð
 Ø	Ø $ð	Ø
ðð ð	ð
 óó(&ó
ô(I7�Jô I7ôX"!�ô "!ôJ"�. Ñ+ô "ó ó.ó(ó<óóð$Ø ðØ+.ðàóó"ô02�lõ 2r&   