
    Og                    V   d dl mZ d dlmZ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 d dlmZmZ ddlmZ erd d	lmZ d d
lmZ d dlmZ dgZ ed ed       ed       ed       edd        eded        edd        edd       d      Z ee      Ze G d de	             Zy)    )annotations)TYPE_CHECKINGOptional   )SubclassProcessorDXFNamespace)	DXFEntity)DXFAttrDXFAttributesDefSubclassgroup_code_mapping)DXF2004DXF2000)register_entity)Drawing)AbstractTagWriter)ExtendedTagsDXFClassN      Z   )default[   )
dxfversionr   i  i  namecpp_class_nameapp_nameflagsinstance_countwas_a_proxyis_an_entityc                  ~    e Zd ZdZ ee      ZeZe		 	 	 	 d	 	 	 	 	 	 	 dd       Z
	 d		 	 	 	 	 d
dZddZedd       Zy)r   CLASSNc                P     |        }||_         |xs i }|j                  |       |S )zeNew CLASS constructor - has no handle, no owner and do not need
        document reference .
        )docupdate_dxf_attribs)clshandleowner
dxfattribsr&   	dxf_classs         \/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/dxfclass.pynewzDXFClass.newH   s0     E		%2
$$Z0    c                    |r@t        |       | _        t        |      }|j                  | j                  t        dd       yy)z-Called by load constructor. CLASS is special.)entityr   F)logN)r   dxfr   fast_load_dxfattribsclass_def_group_codes)selftagsr   	processors       r-   	load_tagszDXFClass.load_tagsY   sC     #40DH)$/I**/ + 	 r/   c                    |j                   }|t        k  ry| j                  }|j                  d| j                         |j                  |g d       y)z2Do complete export here, because CLASS is special.Nr   r   )r   r   r3   
write_tag2DXFTYPEexport_dxf_attribs)r6   	tagwriterr   attribss       r-   
export_dxfzDXFClass.export_dxfe   sK    ))
((Q-""	
r/   c                Z    | j                   j                  | j                   j                  fS N)r3   r   r   )r6   s    r-   keyzDXFClass.keyy   s    xx}}dhh5555r/   )NNNN)r)   Optional[str]r*   rD   r&   zOptional[Drawing]returnr   rB   )r7   r   r   rD   rE   None)r>   r   )rE   ztuple[str, str])__name__
__module____qualname__r<   r   	class_def
DXFATTRIBSr   MIN_DXF_VERSION_FOR_EXPORTclassmethodr.   r9   r@   propertyrC    r/   r-   r   r   B   s    Gy)J!( !%#!% 
  
 " ?C
 
.;
	

( 6 6r/   )
__future__r   typingr   r   dxfnsr   r   	dxfentityr	   ezdxf.lldxf.attributesr
   r   r   r   ezdxf.lldxf.constr   r   factoryr   ezdxf.documentr   ezdxf.lldxf.tagwriterr   ezdxf.lldxf.extendedtagsr   __all__rJ   r5   r   rO   r/   r-   <module>r[      s    # * 2    / $&75, 
 "!* AJ$ Q'!"!D sA.  Q/G$'	P +95  86y 86 86r/   