
    'j                       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dS )    )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                  z    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dS )r   CLASSNhandleOptional[str]ownerdocOptional[Drawing]returnc                Z     |             }||_         |pi }|                    |           |S )zeNew CLASS constructor - has no handle, no owner and do not need
        document reference .
        )r(   update_dxf_attribs)clsr%   r'   
dxfattribsr(   	dxf_classs         Q/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/entities/dxfclass.pynewzDXFClass.newH   s:     CEE		%2
$$Z000    tagsr   r   Nonec                    |rIt          |           | _        t          |          }|                    | j        t          dd           dS dS )z-Called by load constructor. CLASS is special.)entityr   F)logN)r   dxfr   fast_load_dxfattribsclass_def_group_codes)selfr3   r   	processors       r0   	load_tagszDXFClass.load_tagsY   sh      	#4000DH)$//I**/ +     		 	r2   	tagwriterr   c                    |j         }|t          k     rdS | j        }|                    d| j                   |                    |g d           dS )z2Do complete export here, because CLASS is special.Nr   r   )r   r   r8   
write_tag2DXFTYPEexport_dxf_attribs)r;   r>   r   attribss       r0   
export_dxfzDXFClass.export_dxfe   sm    )
F(Q---""  	
 	
 	
 	
 	
r2   tuple[str, str]c                2    | j         j        | j         j        fS N)r8   r   r   )r;   s    r0   keyzDXFClass.keyy   s    x}dh555r2   )NNNN)r%   r&   r'   r&   r(   r)   r*   r   rG   )r3   r   r   r&   r*   r4   )r>   r   )r*   rE   )__name__
__module____qualname__rA   r   	class_def
DXFATTRIBSr   MIN_DXF_VERSION_FOR_EXPORTclassmethodr1   r=   rD   propertyrH    r2   r0   r   r   B   s        Gy))J!( !%#!%    [" ?C
 
 
 
 

 
 
 
( 6 6 6 X6 6 6r2   )
__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__rL   r:   r   rQ   r2   r0   <module>r]      s   # " " " " " * * * * * * * * 2 2 2 2 2 2 2 2                        / . . . . . . . $ $ $ $ $ $ 6&&&&&&777777555555,K 

 "'!** GAJJ$ Q'''!'"!DDD wsA...  Q///G$ $' '	P +*955  86 86 86 86 86y 86 86 86 86 86r2   