
    d                          S SK JrJr  S SKrS SKJrJr  S SKJrJ	r	J
r
  S SKJrJrJrJrJrJrJrJr  S SKJrJrJr   SS/r " S	 S\5      r " S
 S\5      r g)    )absolute_importprint_functionN)MarkedYAMLErrorReusedAnchorWarning)utf8nprintnprintf)StreamStartEventStreamEndEventMappingStartEventMappingEndEventSequenceStartEventSequenceEndEvent
AliasEventScalarEvent)MappingNode
ScalarNodeSequenceNodeComposerComposerErrorc                       \ rS rSrSrg)r       N)__name__
__module____qualname____firstlineno____static_attributes__r       'lib/third_party/ruamel/yaml/composer.pyr   r      s    r   c                   t    \ rS rSrSS jr\S 5       r\S 5       rS rS r	S r
S	 rS
 rS rS rS rS rSrg)r       Nc                     Xl         U R                   b(  [        U R                   SS 5      c  X R                   l        0 U l        g )N	_composer)loadergetattrr$   anchors)selfr%   s     r    __init__Composer.__init__!   s4    ;;"wt{{K'N'V$(KK!r   c                     [        U R                  S5      (       a  U R                  R                    U R                  R                  $ Ntyp)hasattrr%   parser_parserr(   s    r    r/   Composer.parser(   s2     4;;&&KK{{"""r   c                     [        U R                  S5      (       a  U R                  R                    U R                  R                  $ r,   )r.   r%   resolver	_resolverr1   s    r    r4   Composer.resolver/   s2     4;;&&KK  {{$$$r   c                     U R                   R                  [        5      (       a  U R                   R                  5         U R                   R                  [        5      (       + $ N)r/   check_eventr
   	get_eventr   r1   s    r    
check_nodeComposer.check_node7   sD     ;;""#344KK!!# ;;**>:::r   c                 l    U R                   R                  [        5      (       d  U R                  5       $ g r8   )r/   r9   r   compose_documentr1   s    r    get_nodeComposer.get_node@   s-     {{&&~66((** 7r   c                    U R                   R                  5         S nU R                   R                  [        5      (       d  U R	                  5       nU R                   R                  [        5      (       d<  U R                   R                  5       n[        SUR                  SUR                  5      eU R                   R                  5         U$ )Nz(expected a single document in the streamzbut found another document)r/   r:   r9   r   r>   r   
start_mark)r(   documentevents      r    get_single_nodeComposer.get_single_nodeF   s     	 {{&&~66,,.H {{&&~66KK))+E:##,  	  	r   c                     U R                   R                  5         U R                  S S 5      nU R                   R                  5         0 U l        U$ r8   )r/   r:   compose_noder'   )r(   nodes     r    r>   Composer.compose_document_   sF     	   t, 	r   c                    U R                   R                  [        5      (       ah  U R                   R                  5       nUR                  nX@R
                  ;  a$  [        S S S[        U5      -  UR                  5      eU R
                  U   $ U R                   R                  5       nUR                  nUb]  XPR
                  ;   aN  SR                  XPR
                  U   R                  UR                  5      n[        R                  " U[        5        U R                  R                  X5        U R                   R                  [         5      (       a  U R#                  U5      nOkU R                   R                  [$        5      (       a  U R'                  U5      nO5U R                   R                  [(        5      (       a  U R+                  U5      nU R                  R-                  5         W$ )Nzfound undefined alias %rzE
found duplicate anchor {!r}
first occurrence {}
second occurrence {})r/   r9   r   r:   anchorr'   r   r   rB   
peek_eventformatwarningswarnr   r4   descend_resolverr   compose_scalar_noder   compose_sequence_noder   compose_mapping_nodeascend_resolver)r(   parentindexrD   aliasrL   wsrI   s           r    rH   Composer.compose_nodem   sr   ;;"":..KK))+ELLELL(#$ :T%[ H%JZJZ  <<&&&&(%,,v*>*I*I5K[K[\  b"56&&v5;;"";//++F3D[[$$%788--f5D[[$$%677,,V4D%%'r   c           
      r   U R                   R                  5       nUR                  nUb  US:X  a5  U R                  R	                  [
        UR                  UR                  5      n[        UUR                  UR                  UR                  UR                  UR                  US9nUb  X@R                  U'   U$ )N!)stylecommentrL   )r/   r:   tagr4   resolver   valueimplicitrB   end_markr]   r^   r'   )r(   rL   rD   r_   rI   s        r    rR   Composer.compose_scalar_node   s    %%'ii;#+--''
EKKPCKKNN++MM
 #'LL r   c           
      `   U R                   R                  5       nUR                  nUb  US:X  a+  U R                  R	                  [
        S UR                  5      n[        U/ UR                  S UR                  UR                  US9nUb  X@R                  U'   SnU R                   R                  [        5      (       dU  UR                  R                  U R                  XE5      5        US-  nU R                   R                  [        5      (       d  MU  U R                   R                  5       nUR                  SL aO  UR                  bB  UR                  b$  [!        SR#                  UR                  5      5        UR                  Ul	        UR$                  Ul        U R'                  Xd5        U$ )Nr\   
flow_styler^   rL   r      Tz:Warning: unexpected end_event commment in sequence node {})r/   r:   r_   r4   r`   r   rb   rB   rg   r^   r'   r9   r   ra   appendrH   r   rN   rc   check_end_doc_comment)r(   rL   start_eventr_   rI   rW   	end_events          r    rS   Composer.compose_sequence_node   sc   kk++-oo;#+--''dK<P<PQC"""--''
 #'LL ++))*:;;JJd//<=QJE ++))*:;; KK))+	??d"y'8'8'D||'$fT__5 %,,DL!**""93r   c           
         U R                   R                  5       nUR                  nUb  US:X  a+  U R                  R	                  [
        S UR                  5      n[        U/ UR                  S UR                  UR                  US9nUb  X@R                  U'   U R                   R                  [        5      (       de  U R                  US 5      nU R                  XE5      nUR                  R                  XV45        U R                   R                  [        5      (       d  Me  U R                   R                  5       nUR                  SL a  UR                  b  UR                  Ul	        UR                   Ul        U R#                  Xt5        U$ )Nr\   rf   T)r/   r:   r_   r4   r`   r   rb   rB   rg   r^   r'   r9   r   rH   ra   ri   rc   rj   )r(   rL   rk   r_   rI   item_key
item_valuerl   s           r    rT   Composer.compose_mapping_node   sH   kk++-oo;#+--''T;;O;OPC"""--''
 #'LL ++))/::((t4H
 **4:JJJx45 ++))/:: KK))+	??d"y'8'8'D$,,DL!**""93r   c                    UR                   (       az  UR                   S   (       ae  UR                   c	  S S /Ul         [        U[        5      (       a   eUR                   R                  UR                   S   5        S UR                   S'   g g g )Nrh   )r^   
isinstancer   ri   )r(   rl   rI   s      r    rj   Composer.check_end_doc_comment   sw    !2!21!5||# $d|!$4444 LL	 1 1! 45#'Ia  "6r   )r'   r%   r8   )r   r   r   r   r)   propertyr/   r4   r;   r?   rE   r>   rH   rR   rS   rT   rj   r   r   r   r    r   r       s_     # # % %;+2B&B D
(r   )!
__future__r   r   rO   ruamel.yaml.errorr   r   ruamel.yaml.compatr   r   r	   ruamel.yaml.eventsr
   r   r   r   r   r   r   r   ruamel.yaml.nodesr   r   r   typingAnyDictOptionalList__all__r   objectr   r   r   r    <module>r      sW    7  B 4 4	 	 	 D C 
'	O 	N(v N(r   