o
    sÇh  ã                   @   sF   d dgZ ddlmZ ddlT ddlT G dd„ deƒZG dd „ d ƒZdS )ÚComposerÚComposerErroré   )ÚMarkedYAMLError)Ú*c                   @   s   e Zd ZdS )r   N)Ú__name__Ú
__module__Ú__qualname__© r	   r	   úa/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/yaml/composer.pyr      s    c                   @   sT   e Z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dS )r   c                 C   s
   i | _ d S ©N)Úanchors©Úselfr	   r	   r
   Ú__init__   s   
zComposer.__init__c                 C   s   |   t¡r	|  ¡  |   t¡ S r   )Úcheck_eventÚStreamStartEventÚ	get_eventÚStreamEndEventr   r	   r	   r
   Ú
check_node   s   
zComposer.check_nodec                 C   s   |   t¡s	|  ¡ S d S r   )r   r   Úcompose_documentr   r	   r	   r
   Úget_node   s   
ÿzComposer.get_nodec                 C   sN   |   ¡  d }|  t¡s|  ¡ }|  t¡s!|   ¡ }td|jd|jƒ‚|   ¡  |S )Nz(expected a single document in the streamzbut found another document)r   r   r   r   r   Ú
start_mark)r   ÚdocumentÚeventr	   r	   r
   Úget_single_node   s   

þzComposer.get_single_nodec                 C   s&   |   ¡  |  d d ¡}|   ¡  i | _|S r   )r   Úcompose_noder   )r   Únoder	   r	   r
   r   2   s
   zComposer.compose_documentc                 C   sÔ   |   t¡r |  ¡ }|j}|| jvrtd d d| |jƒ‚| j| S |  ¡ }|j}|d ur>|| jv r>td| | j| jd|jƒ‚|  ||¡ |   t	¡rO|  
|¡}n|   t¡rZ|  |¡}n
|   t¡rd|  |¡}|  ¡  |S )Nzfound undefined alias %rz+found duplicate anchor %r; first occurrencezsecond occurrence)r   Ú
AliasEventr   Úanchorr   r   r   Ú
peek_eventÚdescend_resolverÚScalarEventÚcompose_scalar_nodeÚSequenceStartEventÚcompose_sequence_nodeÚMappingStartEventÚcompose_mapping_nodeÚascend_resolver)r   ÚparentÚindexr   r   r   r	   r	   r
   r   ?   s:   

ÿÿ

ÿ
þ



zComposer.compose_nodec                 C   s`   |   ¡ }|j}|d u s|dkr|  t|j|j¡}t||j|j|j|jd}|d ur.|| j	|< |S )Nú!)Ústyle)
r   ÚtagÚresolveÚ
ScalarNodeÚvalueÚimplicitr   Úend_markr+   r   )r   r   r   r,   r   r	   r	   r
   r"   X   s   ÿ
zComposer.compose_scalar_nodec                 C   sž   |   ¡ }|j}|d u s|dkr|  td |j¡}t|g |jd |jd}|d ur+|| j|< d}|  t	¡sE|j
 |  ||¡¡ |d7 }|  t	¡r2|   ¡ }|j|_|S )Nr*   ©Ú
flow_styleé    r   )r   r,   r-   ÚSequenceNoder0   r   r3   r   r   ÚSequenceEndEventr/   Úappendr   r1   )r   r   Ústart_eventr,   r   r)   Ú	end_eventr	   r	   r
   r$   c   s$   þ


þzComposer.compose_sequence_nodec                 C   s¦   |   ¡ }|j}|d u s|dkr|  td |j¡}t|g |jd |jd}|d ur+|| j|< |  t	¡sI|  
|d ¡}|  
||¡}|j ||f¡ |  t	¡r0|   ¡ }|j|_|S )Nr*   r2   )r   r,   r-   ÚMappingNoder0   r   r3   r   r   ÚMappingEndEventr   r/   r7   r1   )r   r   r8   r,   r   Úitem_keyÚ
item_valuer9   r	   r	   r
   r&   u   s$   þ


ø	zComposer.compose_mapping_nodeN)r   r   r   r   r   r   r   r   r   r"   r$   r&   r	   r	   r	   r
   r      s    N)Ú__all__Úerrorr   ÚeventsÚnodesr   r   r	   r	   r	   r
   Ú<module>   s   