o `@sFddgZddlmZddlTddlTGdddeZGdddZdS)Composer ComposerError)MarkedYAMLError)*c@s eZdZdS)rN)__name__ __module__ __qualname__r r //usr/lib/python3/dist-packages/yaml/composer.pyrsc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)rcCs i|_dSN)anchorsselfr r r __init__ s zComposer.__init__cCs|tr ||t Sr ) check_eventStreamStartEvent get_eventStreamEndEventr r r r check_nodes  zComposer.check_nodecCs|ts |SdSr )rrcompose_documentr r r r get_nodes zComposer.get_nodecCsN|d}|ts|}|ts!|}td|jd|j||S)Nz(expected a single document in the streamzbut found another document)rrrrr start_mark)rdocumenteventr r r get_single_nodes  zComposer.get_single_nodecCs&||dd}|i|_|Sr )r compose_noder )rnoder r r r2s  zComposer.compose_documentcCs|tr |}|j}||jvrtddd||j|j|S|}|j}|dur>||jvr>td||j|jd|j||||t rO| |}n|t rZ| |}n |t rd||}||S)Nzfound undefined alias %rz+found duplicate anchor %r; first occurrencezsecond occurrence)r AliasEventranchorr rr peek_eventdescend_resolver ScalarEventcompose_scalar_nodeSequenceStartEventcompose_sequence_nodeMappingStartEventcompose_mapping_nodeascend_resolver)rparentindexrrrr r r r?s:            zComposer.compose_nodecCs`|}|j}|dus|dkr|t|j|j}t||j|j|j|jd}|dur.||j |<|S)N!)style) rtagresolve ScalarNodevalueimplicitrend_markr+r )rrrr,rr r r r"Xs  zComposer.compose_scalar_nodecCs|}|j}|dus|dkr|td|j}t|g|jd|jd}|dur+||j|<d}|t sE|j | |||d7}|t r2|}|j |_ |S)Nr* flow_styler)rr,r- SequenceNoder0rr3r rSequenceEndEventr/appendrr1)rr start_eventr,rr) end_eventr r r r$cs$   zComposer.compose_sequence_nodecCs|}|j}|dus|dkr|td|j}t|g|jd|jd}|dur+||j|<|t sI| |d}| ||}|j ||f|t r0|}|j |_ |S)Nr*r2)rr,r- MappingNoder0rr3r rMappingEndEventrr/r7r1)rrr8r,ritem_key item_valuer9r r r r&us$      zComposer.compose_mapping_nodeN) rrrrrrrrrr"r$r&r r r r r s  N)__all__errorreventsnodesrrr r r r s