
    ՗	fE                     V    d dgZ ddlmZ ddl ddl  G d de      Z G d d       Zy)
SerializerSerializerError   )	YAMLError)*c                       e Zd Zy)r   N)__name__
__module____qualname__     1/usr/lib/python3/dist-packages/yaml/serializer.pyr   r      s    r   c                   @    e Zd ZdZ	 	 d
dZd Zd Zd Zd Zd Z	d	 Z
y)r   zid%03dNc                     || _         || _        || _        || _        || _        i | _        i | _        d| _        d | _        y )N    )	use_encodinguse_explicit_startuse_explicit_enduse_versionuse_tagsserialized_nodesanchorslast_anchor_idclosed)selfencodingexplicit_startexplicit_endversiontagss         r   __init__zSerializer.__init__   sG    $"0 ," "r   c                     | j                   -| j                  t        | j                               d| _         y | j                   rt	        d      t	        d      )N)r   Fserializer is closedzserializer is already opened)r   emitStreamStartEventr   r   r   s    r   openzSerializer.open   sJ    ;;II&0A0ABCDK[[!"899!"@AAr   c                     | j                   t        d      | j                   s!| j                  t                      d| _         y y )Nserializer is not openedT)r   r   r#   StreamEndEventr%   s    r   closezSerializer.close$   s:    ;;!"<==IIn&'DK r   c                    | j                   t        d      | j                   rt        d      | j                  t        | j                  | j
                  | j                               | j                  |       | j                  |d d        | j                  t        | j                               i | _        i | _        d| _        y )Nr(   r"   )explicitr   r   )r,   r   )r   r   r#   DocumentStartEventr   r   r   anchor_nodeserialize_nodeDocumentEndEventr   r   r   r   r   nodes     r   	serializezSerializer.serialize.   s    ;;!"<==[[!"899		$d.E.E$$4==: 	;D$-		"D,A,ABC "r   c                    || j                   v r/| j                   |   | j                  |      | j                   |<   y y d | j                   |<   t        |t              r#|j                  D ]  }| j                  |        y t        |t              r7|j                  D ]'  \  }}| j                  |       | j                  |       ) y y )N)r   generate_anchor
isinstanceSequenceNodevaluer.   MappingNode)r   r2   itemkeyr8   s        r   r.   zSerializer.anchor_node<   s    4<<||D!)%)%9%9$%?T" * "&DLL$- JJ +D$$T*+D+."&** ,JC$$S)$$U+, /r   c                 ^    | xj                   dz  c_         | j                  | j                   z  S )Nr   )r   ANCHOR_TEMPLATEr1   s     r   r5   zSerializer.generate_anchorJ   s*    q ##d&9&999r   c           	      $   | j                   |   }|| j                  v r| j                  t        |             y d| j                  |<   | j	                  ||       t        |t              r| j                  t        |j                  d      }| j                  t        |j                  d      }|j                  |k(  |j                  |k(  f}| j                  t        ||j                  ||j                  |j                               nxt        |t              r|j                  | j                  t        |j                  d      k(  }| j                  t        ||j                  ||j                               d}|j                  D ]  }| j                  |||       |dz  } | j                  t!                      nt        |t"              r|j                  | j                  t"        |j                  d      k(  }| j                  t%        ||j                  ||j                               |j                  D ]+  \  }	}
| j                  |	|d        | j                  |
||	       - | j                  t'                      | j)                          y )NT)TF)FT)style)
flow_styler   r   )r   r   r#   
AliasEventdescend_resolverr6   
ScalarNoderesolver8   tagScalarEventr?   r7   SequenceStartEventr@   r/   SequenceEndEventr9   MappingStartEventMappingEndEventascend_resolver)r   r2   parentindexaliasdetected_tagdefault_tagimplicitr:   r;   r8   s              r   r/   zSerializer.serialize_nodeN   s   T"4(((IIj'(*.D!!$'!!&%0$
+#||J

MR"ll:tzz=Q HH4K8OP		+eTXXx**& 'D,/ HH#||L$**dKL		,UDHHh#0 1 JJ D''dE:QJE 		*,-D+. HH#||KTJK		+E488X#0 1"&** :JC''T48''tS9: 		/+,  "r   )NNNNN)r   r	   r
   r=   r    r&   r*   r3   r.   r5   r/   r   r   r   r   r      s1    O $GK
B ,: #r   N)__all__errorr   eventsnodesr   r   r   r   r   <module>rV      s1   *
+   	i 	c# c#r   