
    Og                    t    d dl mZ d dlmZmZ d dlmZ erd dlmZ dZ	 G d d      Z
 G d d	e
      ZdddZy
)    )annotations)TYPE_CHECKINGOptional)is_valid_handle)Drawing1c                  6    e Zd ZefddZeZd ZddZeZddZ	y)	HandleGeneratorc                :    t        dt        |d            | _        y )N      )maxint_handle)selfstart_values     W/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/tools/handle.py__init__zHandleGenerator.__init__   s    3{B#78    c                     d| j                   z  S )Nz%Xr   r   s    r   __str__zHandleGenerator.__str__   s    dll""r   c                P    | j                         }| xj                  dz  c_        |S )Nr   )r   r   )r   next_handles     r   nextzHandleGenerator.next   s!    llnr   c                *    t        t        |             S N)r
   strr   s    r   copyzHandleGenerator.copy   s    s4y))r   N)r   r   )returnr   )r!   r
   )
__name__
__module____qualname__START_HANDLEr   resetr   r   __next__r     r   r   r
   r
      s'    *6 9 E#
 H*r   r
   c                      e Zd Zd Zy)UnderlayKeyGeneratorc                     d| j                   z  S )NzUnderlay%05dr   r   s    r   r   zUnderlayKeyGenerator.__str__"   s    ,,r   N)r"   r#   r$   r   r(   r   r   r*   r*   !   s    -r   r*   Nc                    | yt        | t              sJ d       || |j                  vry| S t        |       sy| j	                         S )N0zinvalid type)
isinstancer   entitydbr   upper)handledocs     r   safe_handler3   &   sO    ~fc"2N2"
%6"<<>r   r   )r1   zOptional[str]r2   zOptional['Drawing']r!   r   )
__future__r   typingr   r   ezdxf.lldxf.typesr   ezdxf.documentr   r%   r
   r*   r3   r(   r   r   <module>r8      s6    # * -&* *(-? -

r   