
    BeJ/                        d dl mZmZ 	 dZ G d d      Z G d de      Z G d de      Z G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z G d% d&e      Z G d' d(e      Z G d) d*e      Z G d+ d,e      Z  G d- d.e      Z!y/)0    )_FnprintfTc                       e Zd ZdZd Zd Zed        Zej                  d        Zd Z	d Z
d Zd	 Zd
 Zed        ZddZd ZddZy)Token)
start_markend_mark_commentc                      || _         || _        y N)r   r   )selfr   r   s      2lib/python3.12/site-packages/ruamel/yaml/tokens.py__init__zToken.__init__   s    $     c                    | j                   D cg c]  }|j                  d      r| }}|j                          |D cg c]  }t        d|t	        | |             }}t
        r2	 |j                  dt        | j                  j                        z          	 |j                  dt        | j                        z          dj                  | j                  j                  dj                  |            S c c}w c c}w #  Y kxY w#  Y JxY w)N_markz{key!s}={gattr!r})keygattrzline: z	comment: z{}({})z, )	__slots__endswithsortr   getattr
SHOW_LINESappendstrr   liner	   format	__class____name__join)r   r   
attributes	argumentss       r   __repr__zToken.__repr__   s     &*^^Qc3<<;PcQ
Q
 S]
KNB"743EF
	 
   C0D0D,E!EF	[3t}}+==> t~~66		)8LMM# R

	s(   C6C6 C;(1D  'D  DDc                 .    | j                   j                  S r   r   columnr   s    r   r%   zToken.column+   s     %%%r   c                 &    || j                   _        y r   r$   )r   poss     r   r%   zToken.column0   s     "%r   c                     t        | d      s
d d g| _        nt        | j                        dv sJ || j                  d<   y )Nr	   )      r   hasattrr	   lenr   comments     r   add_post_commentzToken.add_post_comment@   s;    tZ(!4LDMt}}%// #ar   c                     t        | d      s
d d g| _        nt        | j                        dk(  sJ | j                  d   J || j                  d<   y )Nr	   r*      r,   )r   commentss     r   add_pre_commentszToken.add_pre_commentsL   sN    tZ(!4LDMt}}%**}}Q''#ar   c                     t        | d      sg d d g| _        n8t        | j                        dk(  sJ | j                  d   g | j                  d<   | j                  d   j                  |       y )Nr	      r   r-   r	   r.   r   r/   s     r   add_comment_prezToken.add_comment_preW   sb    tZ(t,DMt}}%**}}Q'#%a a(r   c                 b   t        | d      s
g d| _        n+t        | j                        dk(  sJ | j                  d   J | j                  d   g | j                  d<   | j                  d   j	                  d g|dz   t        | j                  d         z
  z         || j                  d   |<   y )Nr	   NNNr7   r3   )r-   r	   r.   r0   extend)r   r0   comment_types      r   add_comment_eolzToken.add_comment_eola   s    tZ(.DMt}}%**==#++<<?"!DMM!a,*:Sa=Q*Q RS)0a&r   c                     t        | d      sd d g g| _        n8t        | j                        dk(  sJ | j                  d   g | j                  d<   | j                  d   j                  |       y )Nr	   r7   r*   r8   r/   s     r   add_comment_postzToken.add_comment_postn   sb    tZ(!4,DMt}}%**}}Q'#%a a(r   c                     t        | dd       S )Nr	   )r   r&   s    r   r0   zToken.comment|   s     tZ..r   c                 F   | j                   }|yt        |t        t        f      ryt	        | d       |j                   }|s|r|d   |d   dd|d   g}||_        | S |d   r|d   s
|d   r|d   rt        t        d||            |d   r|d   |d<   |d   r|d   |d<   | S )move a comment from this token to target (normally next token)
        used to combine e.g. comments before a BlockEntryToken to the
        ScalarToken that follows it
        empty is a special for empty values -> comment after key
        Nr	   r   r3   overlap in comment {c!r} {tc!r}ctc)r0   
isinstanceStreamEndTokenDocumentStartTokendelattrr	   NotImplementedErrorr   )r   targetemptyrF   rG   s        r   move_old_commentzToken.move_old_comment   s     LL9f~/ABCj!^^qT1Q4tQqT2FOKQ4BqEQqTbe%b)JaTV&WXXQ4aDBqEQ4aDBqEr   c                 ^    | j                   }||d   y|d   dg}|d   t        | d       |S )z split the post part of a comment, and return it
        as comment to be added. Delete second part if [None, None]
         abc:  # this goes to sequence
           # this goes to first element
           - first element
        Nr   r3   r	   )r0   rK   )r   r0   ret_vals      r   split_old_commentzToken.split_old_comment   sE     ,,?gaj01:t$1:D*%r   c                 X   | j                   }|yt        |t        t        f      ryt	        | d       |j                   }|s|r|d   |d   |d   g}||_        | S t        d      D ]$  }||   	||   t        t        d||             t        d      D ]  }||   s	||   ||<    | S )	rC   Nr	   r   r3   r*   r7   rD   rE   )	r0   rH   rI   rJ   rK   r	   rangerL   r   )r   rM   rN   rF   rG   idxs         r   move_new_commentzToken.move_new_comment   s     LL9f~/ABCj!^^qT1Q41&FOK8 	]Cv!bg&9)"-NRSXZ*[\\	] 8 	!CvC&3	! r   N)F)r   
__module____qualname__r   r   r"   propertyr%   setterr1   r5   r9   r>   r@   r0   rO   rR   rV    r   r   r   r      sz    4I!
N. & & ]]% %	#)1) / /< r   r   c                       e Zd ZdZdZd Zy)DirectiveToken)namevaluez<directive>c                 N    t         j                  | ||       || _        || _        y r   )r   r   r^   r_   )r   r^   r_   r   r   s        r   r   zDirectiveToken.__init__   s     tZ2	
r   Nr   rW   rX   r   idr   r[   r   r   r]   r]      s    I	Br   r]   c                       e Zd ZdZdZy)rJ   r[   z<document start>Nr   rW   rX   r   rb   r[   r   r   rJ   rJ      s    I	Br   rJ   c                       e Zd ZdZdZy)DocumentEndTokenr[   z<document end>Nrd   r[   r   r   rf   rf      s    I	Br   rf   c                       e Zd ZdZdZddZy)StreamStartToken)encodingz<stream start>Nc                 @    t         j                  | ||       || _        y r   )r   r   ri   )r   r   r   ri   s       r   r   zStreamStartToken.__init__   s    tZ2 r   r;   ra   r[   r   r   rh   rh      s    I	B!r   rh   c                       e Zd ZdZdZy)rI   r[   z<stream end>Nrd   r[   r   r   rI   rI      s    I	Br   rI   c                       e Zd ZdZdZy)BlockSequenceStartTokenr[   z<block sequence start>Nrd   r[   r   r   rm   rm      s    I	!Br   rm   c                       e Zd ZdZdZy)BlockMappingStartTokenr[   z<block mapping start>Nrd   r[   r   r   ro   ro      s    I	 Br   ro   c                       e Zd ZdZdZy)BlockEndTokenr[   z<block end>Nrd   r[   r   r   rq   rq     s    I	Br   rq   c                       e Zd ZdZdZy)FlowSequenceStartTokenr[   [Nrd   r[   r   r   rs   rs         I	Br   rs   c                       e Zd ZdZdZy)FlowMappingStartTokenr[   {Nrd   r[   r   r   rw   rw     ru   r   rw   c                       e Zd ZdZdZy)FlowSequenceEndTokenr[   ]Nrd   r[   r   r   rz   rz     ru   r   rz   c                       e Zd ZdZdZy)FlowMappingEndTokenr[   }Nrd   r[   r   r   r}   r}     ru   r   r}   c                       e Zd ZdZdZy)KeyTokenr[   ?Nrd   r[   r   r   r   r     ru   r   r   c                       e Zd ZdZdZy)
ValueTokenr[   :Nrd   r[   r   r   r   r   $  ru   r   r   c                       e Zd ZdZdZy)BlockEntryTokenr[   -Nrd   r[   r   r   r   r   )  ru   r   r   c                       e Zd ZdZdZy)FlowEntryTokenr[   ,Nrd   r[   r   r   r   r   .  ru   r   r   c                       e Zd ZdZdZd Zy)
AliasTokenr_   z<alias>c                 @    t         j                  | ||       || _        y r   r   r   r_   r   r_   r   r   s       r   r   zAliasToken.__init__7      tZ2
r   Nra   r[   r   r   r   r   3  s    I	Br   r   c                       e Zd ZdZdZd Zy)AnchorTokenr   z<anchor>c                 @    t         j                  | ||       || _        y r   r   r   s       r   r   zAnchorToken.__init__A  r   r   Nra   r[   r   r   r   r   =  s    I	Br   r   c                       e Zd ZdZdZd Zy)TagTokenr   z<tag>c                 @    t         j                  | ||       || _        y r   r   r   s       r   r   zTagToken.__init__K  r   r   Nra   r[   r   r   r   r   G  s    I	Br   r   c                       e Zd ZdZdZddZy)ScalarToken)r_   plainstylez<scalar>Nc                 \    t         j                  | ||       || _        || _        || _        y r   )r   r   r_   r   r   )r   r_   r   r   r   r   s         r   r   zScalarToken.__init__U  s'    tZ2


r   r   ra   r[   r   r   r   r   Q  s    )I	Br   r   c                   h    e Zd ZdZdZddZed        Zej                  d        Zd Z	d Z
d	 Zd
 Zy)CommentToken)_valuepre_donez	<comment>Nc                 Z    ||J || _         t        j                  | |d        || _        y r   )_columnr   r   r   )r   r_   r   r   r%   s        r   r   zCommentToken.__init__a  s/    %%!DLtZ.r   c                     t        | j                  t              r| j                  S dj                  | j                        S )N )rH   r   r   r   r&   s    r   r_   zCommentToken.valuei  s/     dkk3';;wwt{{##r   c                     || _         y r   )r   )r   vals     r   r_   zCommentToken.valuep  s     r   c                 6    t        | d      rt        | d       y y )Nr   )r-   rK   r&   s    r   resetzCommentToken.resetu  s    4$D*% %r   c                    dj                  | j                        }t        rL	 |dt        | j                  j
                        z   z  }	 |dt        | j                  j                        z   z  }dj                  |      S #  Y ;xY w#  Y xY w)Nz{!r}z, line: z, col: zCommentToken({}))r   r_   r   r   r   r   r%   )r   vs     r   r"   zCommentToken.__repr__z  s    MM$**%Z#doo&:&:";;;YT__%;%;!<<< "((++s   %A? 	%B ?BB
c                     | j                   |j                   k7  ry| j                  |j                  k7  ry| j                  |j                  k7  ryy)NFT)r   r   r_   r   others     r   __eq__zCommentToken.__eq__  s@    ??e...==ENN*::$r   c                 &    | j                  |       S r   )r   r   s     r   __ne__zCommentToken.__ne__  s    ;;u%%%r   r;   )r   rW   rX   r   rb   r   rY   r_   rZ   r   r"   r   r   r[   r   r   r   r   ]  sQ    $I	B $ $ \\ &
,&r   r   N)"ruamel.yaml.compatr   r   typingTextAnyDictOptionalListerror
StreamMarkr   r   r]   rJ   rf   rh   rI   rm   ro   rq   rs   rw   rz   r}   r   r   r   r   r   r   r   r   r   r[   r   r   <module>r      s   + 
A APU  
u 
!u !U 
"e "
!U !
E 
U 
E 
5 
% 
u  
e 
U 
 % u 	% 	7&5 7&r   