
    h$                       S SK Jr  S SKJrJrJr  S SKJr  S SKrS SK	J
r
  S SKJrJrJrJrJrJr  S SKJr  S SKJrJrJr  S S	KJr  S S
KJr  SSKJrJrJr  SSKJ r   SSK!J"r"  \(       a  S SK#J$r$  S SK%J&r&  S SK'J(r(  S SK)J*r*  S/r+\RX                  " S5      r-\" S0 S\" SS\R\                  S9_S\" SS S9_S\" SSS9_S \" S!SS9_S"\" S#SS9_S$\" S%SS9_S&\" S'SS9_S(\" S)SS9_S*\" S+S,S9_S-\" S.S/S9_S0\" S1S2S9_S3\" S4S5S9_S6\" S7S S9_S8\" S9S S9_S:\" S;S S9_S<\" S=S S9_S>\" S?\S,S@9_0 SA\" SB\SCSDSE9_SF\" SGS,S9_SH\" SIS,S9_SJ\" SKS S9_SL\" SMSNS9_SO\" SPSS9_SQ\" SRS S9_SS\" STSS9_SU\" SVS/S9_SW\" SX\S S@9_SY\" SZ\S S@9_S[\" S\S S@9_S\\" S]S S9_S^\" S_S S9_S`\" SaS S9_Sb\" ScS S9_Sd\" SeS S9_E0 Sf\" SgS S9_Sh\" SiSS9_Sj\" SkSlS9_Sm\" SnS\So9_Sp\" SC\SDSq9_Sr\" SsS S9_St\" SuSS9_Sv\" SwSS9_Sx\" SyS S9_Sz\" S{S S9_S|\" S}S S9_S~\" SS S9_S\" SS S9_S\" SS S9_S\" S\SS@9_S\" S5      _S\" S\SS@9_E0 S\" S\SS@9_S\" S\SS@9_S\" S\SS@9_S\" S\S \R^                  " S S!5      \S9_S\" S\S S@9_S\" S\SS@9_S\" S\S4S@9_S\" S\S S@9_S\" S\S S@9_S\" S\S S@9_S\" S\S S@9_S\" S\S S@9_S\" S\SlS@9_S\" S\S S@9_S\" S\S S@9_S\" S5      _S\" S\S S@9_E0 S\" S\SS@9_S\" S\S S@9_S\" \\S9_S\" \\S9_S\" \\S9_S\" \\S9_S\" \\S9_S\" S\S9_S\" S\S9_S\" S\S9_S\" S\S9_S\" S\S9_S\" S\S9_S\" S\S9_S\" S\S9_S\" S\R`                  \So9_S\" S\R`                  \So9_E5      r1\" \15      r2/ SQr3/ SQr4/ SQr5Sr6Sr7Sr8SS jr9\" " S S\5      5       r:SSS jjr;g)    )annotations)TYPE_CHECKINGIterableOptional)SelfN)MTextLineAlignment)DXFAttrDXFAttributesDefSubclassVIRTUAL_TAGgroup_code_mappingRETURN_DEFAULT)const)DXF12DXF2007DXF2000)	validator)ARROWS   )SubclassProcessor	DXFEntity
base_class)acdb_symbol_table_record)register_entity)Drawing)DXFNamespace)AbstractTagWriter)xrefDimStyleezdxfAcDbDimStyleTableRecordname   Standard)defaultr   flagsF   )r%   dimpost    dimapost   dimblk   dimblk1   dimblk2   dimscale(   dimasz)   g      @dimexo*   g      ?dimdli+   g      @dimexe,   g      ?dimrnd-   dimdle.   dimtp/   dimtm0   dimfxl1   )
dxfversionr%   	dimjogang2   Z   T)rG   r%   optionaldimtxt   dimcen   dimtsz   dimaltf   gc,BP(?dimlfac   dimtvp   dimtfac   dimgap   	dimaltrnd   dimtfillE   dimtfillclrdimtolG   dimlimH   dimtihI   dimtohJ   dimse1K   dimse2L   dimtadM   dimzinN      dimazinO   )r%   rG   	dimarcsym)rG   rK   dimalt   dimaltd   dimtofl   dimsah   dimtix   dimsoxd   dimclrd   dimclre   dimclrt   dimadec   dimuniti  dimdeci  dimtdeci  dimaltui  dimalttdi  dimauniti  )rG   r%   r   fixerdimfraci  dimluniti  dimdsepi  dimtmovei  dimjusti  dimsd1i  dimsd2i  dimtolji  dimtzini  dimaltzi  dimalttzi  dimfiti  dimupti   dimatfiti!  dimfxloni"  dimtxsty)rG   	dimldrblkdimltypedimltex2dimltex1dimtxsty_handleiT  dimblk_handleiV  dimblk1_handleiW  dimblk2_handleiX  dimldrblk_handleiU  dimltype_handleiY  dimltex1_handleiZ  dimltex2_handlei[  dimlwdis  dimlweit  )Ir"   r&   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rH   rL   rN   rP   rR   rT   rV   rX   rZ   r\   r^   r`   ra   rc   re   rg   ri   rk   rm   ro   rr   rt   ru   rw   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Cr"   r&   r(   r+   r3   r5   r7   r9   r;   r=   r?   rA   rC   rL   rN   rP   rR   rT   rV   rX   rZ   r\   ra   rc   re   rg   ri   rk   rm   ro   rr   rt   ru   rw   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ))r"   r&   r(   r+   r-   r/   r1   r3   r5   r7   r9   r;   r=   r?   rA   rC   rL   rN   rP   rR   rT   rV   rX   rZ   ra   rc   re   rg   ri   rk   rm   ro   ru   rw   ry   r{   r}   r   r   r   r   r-   r/   r1   r   )r   r   r   c                $    U R                  S5      $ )Ndim)
startswith)r"   s    I/var/www/html/env/lib/python3.13/site-packages/ezdxf/entities/dimstyle.py
dim_filterr     s    ??5!!    c                    ^  \ rS rSrSrSr\" \\\	5      r
\" \
R                  \5      5      r\S 5       r S   SU 4S jjjrSU 4S jjrS U 4S jjrS!U 4S jjrS"U 4S	 jjrS
 rS rS#S jrS$S jrS%S&S jjrS&S jrS'S jr S(         S)S jjrS*S+S jjr   S%       S,S jjr       S-             S.S jjr       S/           S0S jjr!     S1         S2S jjr"S3S4S jjr#S3S4S jjr$      S5               S6S jjr%    S7             S8S jjr&S9S jr'Sr(U =r)$ ):r   i  zDXF BLOCK_RECORD table entityDIMSTYLEc                .    U R                   R                  $ N)docrG   )selfs    r   rG   DimStyle.dxfversion  s    xx"""r   c                b   > [         TU ]  U5      nU(       a  UR                  U[        S5        U$ )Nr#   )superload_dxf_attribsfast_load_dxfattribsacdb_dimstyle_group_codes)r   	processordxf	__class__s      r   r   DimStyle.load_dxf_attribs  s/     g&y1**30I1M
r   c                  > [         TU ]  U5        UR                  n[         H  nU R                  R                  U5      (       a  M%  U R                  R                  US-   5      nU(       a   US:w  a   X$   R                  R                  nOSnU R                  R                  X55        M     U R                  R                  SS 5      nU(       a.  US:w  a(   X&   R                  R                  U R                  l        [         Hg  nU R                  R                  US-   S 5      nU(       d  M+  US:w  d  M3   X'   R                  R                  nU R                  R                  X55        Mi     U R                  5         g ! [         a    [        R                  SU S35        Sn GNf = f! [        [        4 a    [        R                  SU S35         Nf = f! [        [        4 a    [        R                  S	U S35         GM  f = f)
N_handle0z#Replace undefined block reference #z by default arrow.r*   r   zIgnore undefined text style #.zIgnore undefined line type #)r   post_load_hookentitydbDIM_ARROW_HEAD_ATTRIBSr   hasattrgetr"   KeyErrorloggerinfosetr   AttributeErrorDIM_LINETYPE_ATTRIBSdiscard_handles)	r   r   dbattrib_nameblock_record_handler"   style_handle	lt_handler   s	           r   r   DimStyle.post_load_hook  s    	s#\\1Kxx,,"&((,,{Y/F"G"':c'A266;;D HHLL+ 2" xx||$5t<LC/M$&$4$8$8$=$=! 0K[9%<dCIyY#-4=,,11D HHLL3 0 	9   KK/00BD D n- M;L>KLM !.1 MKK">yk KLLMs6   4F'F- 9G%F*)F*-)GG)H
	H
c                  > [         TU ]  U5        UR                  [        :  a\  UR	                  [
        R                  [        R                  5        UR	                  [
        R                  [        R                  5        UR                  [        :  a  U R                  5         UR                  [        :X  a  [        nO!UR                  [        :  a  [        nO[        nU R                  R!                  X5        g r   )r   export_entityrG   r   
write_tag2r   SUBCLASS_MARKERr   r"   acdb_dimstyleset_handlesEXPORT_MAP_R12r   EXPORT_MAP_R2000EXPORT_MAP_R2007r   export_dxf_attribs)r   	tagwriterattribsr   s      r   r   DimStyle.export_entity  s    i(%'  !6!68P8U8UV  !6!68J8JK%'5($G!!G+&G&G##I7r   c                  > U R                   c   S5       e[        TU ]	  U5        U R                  R	                  [
        5      nU(       a7   U R                   R                  R	                  U5      nUR                  U5        [         HZ  nU R                  R	                  U5      nUc  M#   U R                   R                  R	                  U5      nUR                  U5        M\     [         HQ  nU R                  R	                  U5      nUc  M#  [        R                  " U5      (       a  M@  UR                  U5        MS     g! [        R                   a     Nf = f! [        R                   a     M  f = f)z5Register required resources to the resource registry.Nz.DIMSTYLE entity must be assigned to a document)r   r   register_resourcesr   r   DIM_TEXT_STYLE_ATTRstyles
add_entityr   DXFTableEntryErrorr   	linetypesr   r   is_acad_arrowadd_block_name)	r   registrytext_style_namestyle	attr_name
ltype_nameltype
arrow_namer   s	           r   r   DimStyle.register_resources  s6   xx#U%UU#"8, ((,,':;++O<##E*
 .Ii0J!**..z:##E* . 0Ii0J!''
33''
3 0 ++  ++ s$   6E ,6EEEE43E4c                |  > [        U[        5      (       d   e[        TU ]  X5        U R                  R                  [        5      nU(       a   UR                  U5      UR                  l        [         HQ  nU R                  R                  U5      nU(       d  M'  UR                  R                  XBR                  U5      5        MS     [         Hj  nU R                  R                  U5      nUc  M#  [        R                  " U5      (       d  UR                  U5      nUR                  R                  XF5        Ml     g)z3Translate resources from self to the copied entity.N)
isinstancer   r   map_resourcesr   r   r   get_text_styler   r   r   get_linetyper   r   r   get_block_name)r   clonemapping
text_styler   r   r   r   s          r   r   DimStyle.map_resources   s    %****e- XX\\"56
!(!7!7
!CEII-Ii0Jz		i)=)=j)IJ . 0Ii0J!''
33$33J?
IIMM)0 0r   c                   U R                   R                  [        5      nU(       aH  U R                  R                  R                  U5      R                   R
                  U R                   l        [         H<  nU R                   R                  U5      nU(       d  M'  U R                  US-   U5        M>     [         H  nU R                  R                  R                  nU R                   R                  U5      nU(       d  MG  U" U5      R                   R
                  nU R                   R                  US-   U5        M     g )Nr   )r   r   r   r   r   handler   r   set_blk_handler   r   r   )r   r   r   
block_namer   r   r  s          r   r   DimStyle.set_handles  s    01'+xx':':5'A'E'E'L'LDHH$/Ii0Jz##I	$9:F 0
 .I88--11Li0Jz%j155<<Y2F; .r   c                R    S H!  nU R                   R                  US-   5        M#     g )N)r-   r/   r1   r   r   r   r   r   r   )r   discard)r   attrs     r   r   DimStyle.discard_handles*  s'    	
D HHTI-.	
r   c                   U[         R                  :X  a  U R                  R                  U5        g U R                  c   S5       eU R                  R
                  n[         R                  " U5      (       a  [         R                  " X25      nOUnUR                  U5      nUb  U R                  XR                  5        g [        R                  " SU S35      e)Nvalid DXF document requiredzBlock "" does not exist.)r   closed_filledr   r	  r   blocksr   create_blockr   set_dxf_attribr   r   DXFValueError)r   r
  r   r  r  blks         r   r  DimStyle.set_blk_handle7  s    --- HHT"xx#B%BB#
++,,V@J#Jjj$?&=&=>%%
|;L&MNNr   c                    U R                   c   S5       eU R                  US 5      nUS;   a  [        R                  $ [	        X R                   5      n[        R
                  " U5      $ )Nr  )Nr   )r   get_dxf_attribr   r  get_block_name_by_handler   )r   r"   r  r  s       r   get_arrow_block_nameDimStyle.get_arrow_block_nameL  s]    xx#B%BB#$$T40[ '''1&((CJ$$Z00r   c                    U R                   [        :  a  [        R                  S5        Ub  XR                  l        Ub  X R                  l        Ub  X0R                  l        g g )Nz%Linetype support requires DXF R2007+.)rG   r   r   debugr   r   r   r   )r   dimlineext1ext2s       r   set_linetypesDimStyle.set_linetypesW  sP    ??W$LL@A 'HH $HH $HH r   c                    U R                   R                  nU R                  5       R                  5        H@  u  p#UR	                  S5      (       d  M  [        U SU" U5      R                   SU 35        MB     g )Nr   z (z) = )
DXFATTRIBSr   
dxfattribsitemsr   printcode)r   attdefr"   values       r   print_dim_attribsDimStyle.print_dim_attribsb  s`    $$??,224KDu%%b!2!2 34w?@ 5r   c                h   U R                  5       nUR                  nU R                  R                  US'   UR	                  5        H5  u  pEUR                  S5      (       d  M  SUR                  5       -   n XSU'   M7     g! [        R                   a    [        R                  SU S35         Mj  f = f)z>Copy all dimension style variables to HEADER section of `doc`.z	$DIMSTYLEr   $zUnsupported header variable: r   N)r$  headerr   r"   r%  r   upperr   DXFKeyErrorr   r  )r   r   r   r.  r"   r)  
header_vars          r   copy_to_headerDimStyle.copy_to_headerh  s    //#"hhmm{"==?KDu%% 4::</
P).:&	 +
 (( PLL#@A!NOPs   7B  -B10B1c                   U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SS5        U R                  (       a}  U R                  R                  nXX44 H^  n[        R                  " U5      (       a  [        R
                  " XV5        M6  U(       d  M?  Xe;  d  MF  [        R                  " SU S35      e   g	g	)
aE  Set arrows by block names or AutoCAD standard arrow names, set
DIMTSZ to ``0`` which disables tick.

Args:
    blk: block/arrow name for both arrows, if DIMSAH is 0
    blk1: block/arrow name for first arrow, if DIMSAH is 1
    blk2: block/arrow name for second arrow, if DIMSAH is 1
    ldrblk: block/arrow name for leader

r-   r/   r1   r   rP   r   zBLOCK "r  N)r  r   r  r   r   r  r   r  )r   r  blk1blk2ldrblkr  bs          r   
set_arrowsDimStyle.set_arrowsu  s     	Hc*It,It,K0Ha( 88XX__F.''**''21--u<M.NOO / r   c                (    U R                  SU5        g)zSet tick `size`, which also disables arrows, a tick is just an
oblique stroke as marker.

Args:
    size: arrow size in drawing units

rP   N)r  )r   sizes     r   set_tickDimStyle.set_tick  s     	Hd+r   c                    U(       aN  UR                  5       nU R                  S[        R                  U   5        US:X  a  Ub  U R                  SU5        U(       a2  U R                  S[        R                  UR                  5          5        gg)a  Set measurement text alignment, `halign` defines the horizontal
alignment (requires DXF R2000+), `valign` defines the vertical
alignment, `above1` and `above2` means above extension line 1 or 2 and
aligned with extension line.

Args:
    halign: "left", "right", "center", "above1", "above2",
        requires DXF R2000+
    valign: "above", "center", "below"
    vshift: vertical text shift, if `valign` is "center";
        >0 shift upward,
        <0 shift downwards

rm   centerNrV   r   )lowerr  r   DIMTADDIMJUST)r   halignvalignvshifts       r   set_text_alignDimStyle.set_text_align  so    ( \\^F%,,v*>?!f&8##Hf5	5==+HI r   c                `   U(       d  U(       a  US-   U-   U R                   l        Ub  X0R                   l        Uc  Ub?  SnUSL a  [        R                  nUSL a  U[        R
                  -  nXR                   l        Ub  X@R                   l        Ub  [        U5      U R                   l	        gg)a-  Set dimension text format, like prefix and postfix string, rounding
rule and number of decimal places.

Args:
    prefix: Dimension text prefix text as string
    postfix: Dimension text postfix text as string
    rnd: Rounds all dimensioning distances to the specified value, for
        instance, if DIMRND is set to 0.25, all distances round to the
        nearest 0.25 unit. If you set DIMRND to 1.0, all distances round
        to the nearest integer.
    dec: Sets the number of decimal places displayed for the primary
        units of a dimension, requires DXF R2000+
    sep: "." or "," as decimal separator, requires DXF R2000+
    leading_zeros: Suppress leading zeros for decimal dimensions
        if ``False``
    trailing_zeros: Suppress trailing zeros for decimal dimensions
        if ``False``

z<>Nr   F)
r   r(   r=   r   DIMZIN_SUPPRESSES_LEADING_ZEROS DIMZIN_SUPPRESSES_TRAILING_ZEROSro   r   ordr   )	r   prefixpostfixrnddecsepleading_zerostrailing_zerosro   s	            r   set_text_formatDimStyle.set_text_format  s    : W%}w6DHH?!HHO $(BF%>>&%@@@$HHO?!HHO?"3xDHH r   c                    Ub  XR                   l        Ub  X@R                   l        Ub  X0R                   l        Ub  XPR                   l        Ub  X`R                   l        Ub  X R                   l        gg)a  Set dimension line properties

Args:
    color: color index
    linetype: linetype as string, requires DXF R2007+
    lineweight: line weight as int, 13 = 0.13mm, 200 = 2.00mm,
        requires DXF R2000+
    extension: extension length
    disable1: ``True`` to suppress first part of dimension line,
        requires DXF R2000+
    disable2: ``True`` to suppress second part of dimension line,
        requires DXF R2000+

N)r   r   r?   r   r   r   r   )r   colorlinetype
lineweight	extensiondisable1disable2s          r   set_dimline_formatDimStyle.set_dimline_format  se    . $HH 'HHO!(HHO&HHO&HHO (HH  r   c                    Ub  XR                   l        Ub  X0R                   l        Ub  X@R                   l        Ub  X R                   l        Ub"  SU R                   l        XPR                   l        gg)a=  Set common extension line attributes.

Args:
    color: color index
    lineweight: line weight as int, 13 = 0.13mm, 200 = 2.00mm
    extension: extension length above dimension line
    offset: offset from measurement point
    fixed_length: set fixed length extension line, length below the
        dimension line

Nr   )r   r   r;   r7   r   r   rE   )r   rW  rY  rZ  offsetfixed_lengths         r   set_extline_formatDimStyle.set_extline_format  sa    & $HH 'HHO$HHO!(HHO# !DHH*HHO $r   c                \    U(       a  SU R                   l        Ub  XR                   l        gg)zSet extension line 1 attributes.

Args:
    linetype: linetype for extension line 1, requires DXF R2007+
    disable: disable extension line 1 if ``True``

r   N)r   ri   r   r   rX  disables      r   set_extline1DimStyle.set_extline1-  '     DHHO (HH  r   c                \    U(       a  SU R                   l        Ub  XR                   l        gg)zSet extension line 2 attributes.

Args:
    linetype: linetype for extension line 2, requires DXF R2007+
    disable: disable extension line 2 if ``True``

r   N)r   rk   r   re  s      r   set_extline2DimStyle.set_extline2:  ri  r   c                $   SU R                   l        SU R                   l        [        U5      U R                   l        Ub  [        U5      U R                   l        O[        U5      U R                   l        Ub  [        U5      U R                   l        Uc  Ub?  SnUSL a  [        R                  nUSL a  U[        R                  -  nXR                   l
        Ub  [        5       U R                   l        Ub  [        U5      U R                   l        gg)a  Set tolerance text format, upper and lower value, text height
factor, number of decimal places or leading and trailing zero
suppression.

Args:
    upper: upper tolerance value
    lower: lower tolerance value, if ``None`` same as upper
    hfactor: tolerance text height factor in relation to the dimension
        text height
    align: tolerance text alignment enum :class:`ezdxf.enums.MTextLineAlignment`
        requires DXF R2000+
    dec: Sets the number of decimal places displayed,
        requires DXF R2000+
    leading_zeros: suppress leading zeros for decimal dimensions
        if ``False``, requires DXF R2000+
    trailing_zeros: suppress trailing zeros for decimal dimensions
        if ``False``, requires DXF R2000+

r   r   NF)r   ra   rc   floatrA   rC   rX   r   rJ  rK  r   intr   r   )	r   r/  rA  hfactoralignrP  rR  rS  r   s	            r   set_toleranceDimStyle.set_toleranceG  s    < u"5\DHHN"5\DHHN$W~DHH $(BG%??&5AAA&HH"uDHH?"3xDHH r   c                   SU R                   l        SU R                   l        [        U5      U R                   l        [        U5      U R                   l        [        U5      U R                   l        Uc  Ub?  SnUSL a  [        R                  nUSL a  U[        R                  -  nXpR                   l
        SU R                   l        Ub  [        U5      U R                   l        gg)a  Set limits text format, upper and lower limit values, text height
factor, number of decimal places or leading and trailing zero
suppression.

Args:
    upper: upper limit value added to measurement value
    lower: lower limit value subtracted from measurement value
    hfactor: limit text height factor in relation to the dimension
        text height
    dec: Sets the number of decimal places displayed,
        requires DXF R2000+
    leading_zeros: suppress leading zeros for decimal dimensions
        if ``False``, requires DXF R2000+
    trailing_zeros: suppress trailing zeros for decimal dimensions
        if ``False``, requires DXF R2000+

r   r   NF)r   rc   ra   rn  rA   rC   rX   r   rJ  rK  r   r   ro  r   )r   r/  rA  rp  rP  rR  rS  r   s           r   
set_limitsDimStyle.set_limits~  s    6 uu > $(BG%??&5AAA&HH?"3xDHH r   c              #  *  #    U R                   (       a~  U R                   R                  nS Ha  nU R                  R                  US5      nU(       d  M(  UR                  US5      nUc  M?  UR                  R                  R
                  v   Mc     gg7f)z(Support for "ReferencedBlocks" protocol.r   N)r   r  r   r   block_recordr  )r   r  r   r"   blocks        r   __referenced_blocks__DimStyle.__referenced_blocks__  sp     88XX__FLxx||K64"JJtT2E(#0044;;;  M s   ABB+(B r   )r   zOptional[SubclassProcessor]returnr   )r   r   r}  None)r   r   r}  r~  )r   zxref.Registryr}  r~  )r   r   r   zxref.ResourceMapperr}  r~  )r
  strr   r  r}  r~  )r"   r  r}  r  )NNN)r}  r~  )r   r   )r*   r*   r*   r*   )
r  r  r5  r  r6  r  r7  r  r}  r~  )r   )r<  rn  r}  r~  )rD  Optional[str]rE  r  rF  Optional[float]r}  r~  )r*   r*   NNNTT)rM  r  rN  r  rO  r  rP  Optional[int]rQ  r  rR  boolrS  r  )NNNNNN)rW  r  rX  r  rY  r  rZ  r  r[  Optional[bool]r\  r  )NNNNN)
rW  r  rY  r  rZ  r  r`  r  ra  r  )NF)rX  r  )N      ?NNNN)r/  rn  rA  r  rp  rn  rq  zOptional[MTextLineAlignment]rP  r  rR  r  rS  r  r}  r~  )r  NNN)r/  rn  rA  rn  rp  rn  rP  r  rR  r  rS  r  r}  r~  )r}  zIterable[str])*__name__
__module____qualname____firstlineno____doc__DXFTYPEr
   r   r   r   r#  dictbuild_group_code_itemsr   CODE_TO_DXF_ATTRIBpropertyrG   r   r   r   r   r   r   r   r  r  r   r*  r2  r9  r=  rG  rT  r]  rb  rg  rk  rr  ru  rz  __static_attributes____classcell__)r   s   @r   r   r     s   'Gz+C]SJj??
KL# # 8<4	 )V8$ 4D12<"/O*	1	%AP LNPP#&P36PEHP	P:, !% $"&	JJ J  	J
 
J> #!!"#.(.( .( 	.(
 .( .( .( .(d  $"&$(%)#'#'#)#)  #) "	#)
 ##) !#) !#)N  $$(%)"&(,++ "+ #	+
  + &+>))  "&.2!(,)-5(5( 5( 	5(
 ,5( 5( &5( '5( 
5(v !(,)-,(,( ,( 	,(
 ,( &,( ',( 
,(\	< 	<r   c                     UR                   U    nUR                  R                  nU$ ! [        R                   a    Un U$ f = fr   )r   r   r"   r   r0  )r  r   r%   entryr  s        r   r  r    sN    $V$ YY^^
	  
 	s   ) AA)r"   r  r}  r  )r*   )r   r   r}  r  )<
__future__r   typingr   r   r   typing_extensionsr   loggingezdxf.enumsr   ezdxf.lldxf.attributesr	   r
   r   r   r   r   ezdxf.lldxfr   ezdxf.lldxf.constr   r   r   r   ezdxf.render.arrowsr   	dxfentityr   r   r   layerr   factoryr   ezdxf.documentr   ezdxf.entitiesr   ezdxf.lldxf.tagwriterr   r    r   __all__	getLoggerr   is_valid_table_nameis_in_integer_rangeLINEWEIGHT_BYBLOCKr   r   r   r   r   r   r   r   r   r   r  r|  r   r   <module>r     s_   # 4 4 "  *   5 5 ! & ? ? + $&+7,			7	#^:9V9VW^Q'^ 	71b)^ 	GAr*	^ 	'!R(^ 	71b)^ 	71b)^ 	GB*^ 	'"c*^ 	'"e,^ 	'"d+^ 	'"d+^ 	'"a(^  	'"a(!^" 	Q'#^$ 	Q'%^( 	'"#>)^, 	WRGR$O-^0 	'#s+1^4 	'#s+5^6 	'#q)7^8 	7369^< 	73*=^@ 	'#q)A^B 	73*C^F 	'#u-G^H 	WSWa@I^L 	GB7A>M^P 	wrgqAQ^R 	'"a(S^T 	'"a(U^X 	'"a(Y^\ 	'"a(]^` 	'"a(a^d 	'"a(e^h 	'"a(i^j 	'"a(k^v 	72qW=w^@ 	WRGdCA^B 	'#q)C^D 	73*E^F 	73*G^H 	'#q)I^L 	'#q)M^N 	73*O^R 	73*S^V 	73*W^Z 	73*[^\ 	737A>]^^ 	73<_^` 	'#'1=a^d 	737A>e^f 	737A>g^h 	GCGQ?i^r 	G33Aq9 
s^@ 	737A>A^B 	GCGQ?C^D 	737B?E^L 	GCGQ?M^P 	737A>Q^T 	'#'1=U^X 	'#'1=Y^Z 	737A>[^\ 	737A>]^^ 	737A>_^` 	GCGQ?a^b 	'#,c^d 	'#'1=e^r 	GCGQ?s^v 	GCGQ?w^~ 	GKG<^B 	W[W=C^F 	GKG<G^J 	GKG<K^N 	GKG<O^V 	737;W^Z 	9[^^ 	'#':_^b 	'#':c^f 	GCG<g^j 	737;k^n 	737;o^r 	737;s^v 	'#u'?'?GTw^z 	'#u'?'?GT{^aD /}= J XD L*X ! F ; " h<y h< h<Vr   