+
    &*i\                   `   ^ RI Ht ^ RIHt ^ RIHu Ht ^ RIHt ^ RI	H
t
HtHtHt  . ROtR	tR
tRt]^ 8w  d   R R lt ! R R]4      t ! R R4      t ! R R4      t ! R R]4      t^ t^ t  ! R R4      t! ! R R]!4      t" ! R R]!4      t# ! R R]!4      t$ ! R R4      t% ! R R]4      t&R# )     )annotations)MarkedYAMLErrorN)Version)check_anchorname_char_debugnprintnprintfScannerRoundTripScannerScannerErroru   
   u    
 	   	c               $    V ^8  d   QhRRRRRR/# )   argsAnykwreturn )formats   "3lib/python3.14/site-packages/ruamel/yaml/scanner.py__annotate__r   1   s!     $ $s $# $# $    c                     \        V / VB # N)r	   )r   r   s   *,r   xprintfr   1   s    ###r   c                      ] tR t^5tRtR# )r   r   N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r   r   5   s    r   c                  "    ] tR t^9tR R ltRtR# )	SimpleKeyc               4    V ^8  d   QhRRRRRRRRRRRRR	R
/# )r   token_numberr   requiredindexintlinecolumnmarkr   Noner   )r   s   "r   r   SimpleKey.__annotate__<   sD      +.7:BEORZ]	r   c                	N    Wn         W n        W0n        W@n        WPn        W`n        R # r   )r%   r&   r'   r)   r*   r+   )selfr%   r&   r'   r)   r*   r+   s   &&&&&&&r   __init__SimpleKey.__init__<   s#     ) 
		r   )r*   r'   r)   r+   r&   r%   N)r   r   r   r    r0   r!   r   r   r   r#   r#   9   s     r   r#   c                  N   ] tR t^GtRR R llt]R R l4       tR R lt]R R	 l4       t]R
 R l4       t	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 ltR8 R9 lt R: R; lt!R< R= lt"R> R? lt#R@ RA lt$RB RC lt%RD RE lt&RF RG lt'RH RI lt(RJ RK lt)RL RM lt*RN RO lt+RP RQ lt,RR RS lt-RT RU lt.RV RW lt/RX RY lt0RZ R[ lt1R\ R] lt2R^ R_ lt3R` Ra lt4Rb Rc lt5Rd Re lt6Rf Rg lt7Rh Ri lt8Rj Rk lt9Rl Rm lt:Rn Ro lt;Rp Rq lt<Rr Rs lt=Rt Ru lt>Rv Rw lt?Rx Ry lt@Rz R{ ltARR| R} lltBR~ R ltCR R ltDR R ltER R ltFR R ltG/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRR/CtHR^R^R^/tIR R ltJR R ltKR R ltLR R ltMR R ltNR R ltOR R ltPR R ltQR R ltRRtSR# )r
   Nc                    V ^8  d   QhRRRR/# )r   loaderr   r   r,   r   )r   s   "r   r   Scanner.__annotate__H   s        s  d  r   c                    Wn         V P                   e*   \        V P                   RR4      f   W P                   n        V P                  4        RV n        R# )zInitialize the scanner.N_scannerF)r4   getattrr7   reset_scanner
first_time)r/   r4   s   &&r   r0   Scanner.__init__H   sB     ;;"wt{{J'M'U#'KK r   c                   V ^8  d   QhRR/# )r   r   r(   r   )r   s   "r   r   r5   Z   s     & &C &r   c                	,    \        V P                  4      # r   )lenflow_contextr/   s   &r   
flow_levelScanner.flow_levelY   s    4$$%%r   c                   V ^8  d   QhRR/# r   r   r,   r   )r   s   "r   r   r5   ]   s     58 58t 58r   c                	    R V n         . V n        . V n        V P                  4        ^ V n        RV n        . V n        RV n        / V n        RV n	        . V n
        R# )FTN)doner?   tokensfetch_stream_starttokens_takenindentindentsallow_simple_keypossible_simple_keysyaml_versiontag_directivesr@   s   &r   r9   Scanner.reset_scanner]   sj    	 )+ "$ 	!   #%, !% 57!!%57r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r5      s     ( ( (r   c                	     V P                   #   \         dc    \        T P                  R 4      '       d   T P                  P                  T n         MT P                  P
                  T n         T P                   u # i ; ityp)_scanner_readerAttributeErrorhasattrr4   reader_readerr@   s   &r   rZ   Scanner.reader   sc    	(''' 	(t{{E**'+{{'9'9$'+{{':':$'''	(s    A*A;:A;c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5      s     . .C .r   c                	    \        V P                  R 4      '       d!   V P                  P                  P                  # V P                  P                  # rU   )rY   r4   resolverprocessing_versionr@   s   &r   scanner_processing_version"Scanner.scanner_processing_version   s9    4;;&&;;'':::{{---r   c                    V ^8  d   QhRRRR/# r   choicesr   r   boolr   )r   s   "r   r   r5      s     
 
C 
D 
r   c                	    V P                  4       '       d   V P                  4        K(  \        V P                  4      ^ 8  d:   V'       g   R# V F)  p\	        V P                  ^ ,          V4      '       g   K(   R# 	  R# r   TF)need_more_tokensfetch_more_tokensr>   rH   
isinstancer/   re   choices   &* r   check_tokenScanner.check_token   s[    ##%%""$t{{a!dkk!nf55 " r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5      s     " "C "r   c                	    V P                  4       '       d   V P                  4        K(  \        V P                  4      ^ 8  d   V P                  ^ ,          # R# r   N)ri   rj   r>   rH   r@   s   &r   
peek_tokenScanner.peek_token   sA    ##%%""$t{{a;;q>!  r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5      s     & &3 &r   c                	    V P                  4       '       d   V P                  4        K(  \        V P                  4      ^ 8  d5   V ;P                  ^,          un        V P                  P                  ^ 4      # R# rr   )ri   rj   r>   rH   rJ   popr@   s   &r   	get_tokenScanner.get_token   sW    ##%%""$t{{a";;??1%%  r   c                   V ^8  d   QhRR/# r   r   rf   r   )r   s   "r   r   r5      s     
 
$ 
r   c                	    V P                   '       d   R # \        V P                  4      ^ 8X  d   R# V P                  4        V P	                  4       V P
                  8X  d   R# R # )FT)rG   r>   rH   stale_possible_simple_keysnext_possible_simple_keyrJ   r@   s   &r   ri   Scanner.need_more_tokens   sM    999t{{q  	'')((*d.?.??r   c                    V ^8  d   QhRRRR/# r   commentr   r   r,   r   )r   s   "r   r   r5      s     " "S "T "r   c                	    \         hr   )NotImplementedError)r/   r   s   &&r   fetch_commentScanner.fetch_comment   s    !!r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5      s     k
 k
3 k
r   c                	F   V P                  4       pVe   V P                  V4      # V P                  4        V P                  V P                  P
                  4       V P                  P                  4       pVR8X  d   V P                  4       # VR8X  d'   V P                  4       '       d   V P                  4       # VR8X  d'   V P                  4       '       d   V P                  4       # VR8X  d'   V P                  4       '       d   V P                  4       # VR8X  d   V P                  4       # VR8X  d   V P                  4       # VR8X  d   V P!                  4       # VR8X  d   V P#                  4       # VR	8X  d   V P%                  4       # VR8X  d'   V P'                  4       '       d   V P)                  4       # VR
8X  d'   V P+                  4       '       d   V P-                  4       # VR8X  d'   V P/                  4       '       d   V P1                  4       # VR8X  d   V P3                  4       # VR8X  d   V P5                  4       # VR8X  d   V P7                  4       # VR8X  d#   V P8                  '       g   V P;                  4       # VR8X  d#   V P8                  '       g   V P=                  4       # VR8X  d   V P?                  4       # VR8X  d   V PA                  4       # V PC                  4       '       d   V PE                  4       # \G        RR RV: R2V P                  PI                  4       4      h)N %-.[{]},?:*&!|>'"z!while scanning for the next tokenzfound character z that cannot start any token)%scan_to_next_tokenr   r}   unwind_indentrZ   r*   peekfetch_stream_endcheck_directivefetch_directivecheck_document_startfetch_document_startcheck_document_endfetch_document_endfetch_flow_sequence_startfetch_flow_mapping_startfetch_flow_sequence_endfetch_flow_mapping_endfetch_flow_entrycheck_block_entryfetch_block_entry	check_key	fetch_keycheck_valuefetch_valuefetch_aliasfetch_anchor	fetch_tagrA   fetch_literalfetch_foldedfetch_singlefetch_doublecheck_plainfetch_plainr   get_mark)r/   r   chs   &  r   rj   Scanner.fetch_more_tokens   s   ))+%%g..'') 	4;;--. [[ :((** 9--//'')) 92244,,.. 90022**,, 91133 90022 9//11 9..00 9((** 9//11))++ 9))>>## 9))++##%% 9##%% 9$$&& 9>>## 9T___%%'' 9T___$$&& 9$$&& 9$$&& ##%% /rf$@AKK  "	
 	
r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5   B  s        #  r   c                	    R pV P                    F9  pV P                   V,          pVe   VP                  V8  g   K-  VP                  pK;  	  V# r   )rN   r%   )r/   min_token_numberlevelkeys   &   r   r~    Scanner.next_possible_simple_keyB  sR      ..E++E2C'3+;+;>N+N#&#3#3  /  r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5   Q  s     5 5D 5r   c                	   \        V P                  4       F  pV P                  V,          pVP                  V P                  P                  8w  g/   V P                  P                  VP                  ,
          R 8  g   Ki  VP
                  '       d1   \        RVP                  RV P                  P                  4       4      hV P                  V K  	  R# )i   while scanning a simple keycould not find expected ':'N)	listrN   r)   rZ   r'   r&   r   r+   r   )r/   r   r   s   &  r   r}   "Scanner.stale_possible_simple_keysQ  s     $334E++E2Cxx4;;+++t{{/@/@399/Lt/S<<<&55,,.	  --e4 5r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5   d  s     = =$ =r   c           	     	
   V P                   '       * ;'       d$    V P                  V P                  P                  8H  pV P                  '       d   V P                  4        V P                  \        V P                  4      ,           p\        VVV P                  P                  V P                  P                  V P                  P                  V P                  P                  4       4      pW0P                  V P                   &   R # R # r   )rA   rK   rZ   r*   rM   remove_possible_simple_keyrJ   r>   rH   r#   r'   r)   r   rN   )r/   r&   r%   r   s   &   r   save_possible_simple_key Scanner.save_possible_simple_keyd  s     &LL4;;$++:L:L+L    ++-,,s4;;/??L!!  ""$$&C :=%%doo6 !r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5   {  s     ; ;D ;r   c                	,   V P                   V P                  9   dy   V P                  V P                   ,          pVP                  '       d1   \        R VP                  RV P
                  P                  4       4      hV P                  V P                    R# R# )r   r   N)rA   rN   r&   r   r+   rZ   r   )r/   r   s   & r   r   "Scanner.remove_possible_simple_key{  st    ??d777++DOO<C|||"1HH1KK((*	  ))$//: 8r   c                    V ^8  d   QhRRRR/# )r   r*   r   r   r,   r   )r   s   "r   r   r5     s     A AC AD Ar   c                	6   \        V P                  4      '       d   R # V P                  V8  dk   V P                  P	                  4       pV P
                  P                  4       V n        V P                  P                  \        P                  ! W"4      4       K{  R # r   )
rf   rA   rK   rZ   r   rL   rw   rH   appendBlockEndToken)r/   r*   r+   s   && r   r   Scanner.unwind_indent  sl        kkF";;'')D,,**,DKKKv33D?@ #r   c                    V ^8  d   QhRRRR/# )r   r*   r(   r   rf   r   )r   s   "r   r   r5     s        r   c                	    V P                   V8  d.   V P                  P                  V P                   4       Wn         R # R# )TF)rK   rL   r   )r/   r*   s   &&r   
add_indentScanner.add_indent  s/    ;;LL, Kr   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     _ _D _r   c                	    V P                   P                  4       pV P                  P                  \        P                  ! WV P                   P
                  R 7      4       R# ))encodingN)rZ   r   rH   r   StreamStartTokenr   r/   r+   s   & r   rI   Scanner.fetch_stream_start  s?     {{##%6224H\H\]^r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s      $ r   c                	   V P                  R4       V P                  4        RV n        / V n        V P                  P                  4       pV P                  P                  \        P                  ! W4      4       RV n	        R# )   FTNrF   )
r   r   rM   rN   rZ   r   rH   r   StreamEndTokenrG   r   s   & r   r   Scanner.fetch_stream_end  sb    2'') %$&!{{##%600<=	r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     	2 	2 	2r   c                	    V P                  R4       V P                  4        RV n        V P                  P	                  V P                  4       4       R# r   FNrF   )r   r   rM   rH   r   scan_directiver@   s   &r   r   Scanner.fetch_directive  sC    2 	'') % 	4..01r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     A Ad Ar   c                	D    V P                  \        P                  4       R # r   )fetch_document_indicatorrH   DocumentStartTokenr@   s   &r   r   Scanner.fetch_document_start  s    %%f&?&?@r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     ? ?D ?r   c                	D    V P                  \        P                  4       R # r   )r   rH   DocumentEndTokenr@   s   &r   r   Scanner.fetch_document_end  s    %%f&=&=>r   c                    V ^8  d   QhRRRR/# r   
TokenClassr   r   r,   r   )r   s   "r   r   r5     s     = =3 =4 =r   c                	6   V P                  R4       V P                  4        RV n        V P                  P	                  4       pV P                  P                  ^4       V P                  P	                  4       pV P                  P                  V! W#4      4       R# r   )r   r   rM   rZ   r   forwardrH   r   )r/   r   
start_markend_marks   &&  r   r    Scanner.fetch_document_indicator  su    2 	'') % [[))+
A;;''):j;<r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     U U4 Ur   c                	H    V P                  \        P                  R R7       R# )r   to_pushN)fetch_flow_collection_startrH   FlowSequenceStartTokenr@   s   &r   r   !Scanner.fetch_flow_sequence_start  s    (()F)FPS(Tr   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     T T$ Tr   c                	H    V P                  \        P                  R R7       R# )r   r   N)r   rH   FlowMappingStartTokenr@   s   &r   r    Scanner.fetch_flow_mapping_start  s    (()E)Es(Sr   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   Textr   r,   r   )r   s   "r   r   r5     s!     = =c =D =T =r   c                	H   V P                  4        V P                  P                  V4       R V n        V P                  P                  4       pV P                  P                  4        V P                  P                  4       pV P                  P                  V! W44      4       R# TN)r   r?   r   rM   rZ   r   r   rH   )r/   r   r   r   r   s   &&&  r   r   #Scanner.fetch_flow_collection_start  su    %%'  ) $[[))+
;;''):j;<r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     D D Dr   c                	D    V P                  \        P                  4       R # r   )fetch_flow_collection_endrH   FlowSequenceEndTokenr@   s   &r   r   Scanner.fetch_flow_sequence_end  s    &&v'B'BCr   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     C C Cr   c                	D    V P                  \        P                  4       R # r   )r  rH   FlowMappingEndTokenr@   s   &r   r   Scanner.fetch_flow_mapping_end  s    &&v'A'ABr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r5     s     = =C =D =r   c                	j   V P                  4         V P                  P                  4       pR V n        V P
                  P                  4       pV P
                  P                  4        V P
                  P                  4       pV P                  P                  V! W44      4       R#   \         d     Li ; iFN)
r   r?   rw   
IndexErrorrM   rZ   r   r   rH   r   )r/   r   poppedr   r   s   &&   r   r  !Scanner.fetch_flow_collection_end  s    '')	&&**,F !&[[))+
;;''):j;<  	 	s   B$ $B21B2c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     	H 	H$ 	Hr   c                	.   R V n         V P                  4        V P                  P                  4       pV P                  P	                  4        V P                  P                  4       pV P
                  P                  \
        P                  ! W4      4       R# r  )rM   r   rZ   r   r   rH   r   FlowEntryToken)r/   r   r   s   &  r   r   Scanner.fetch_flow_entry  sg     $'')[[))+
;;'')600FGr   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     I I4 Ir   c                	   V P                   '       g   V P                  '       g'   \        R R RV P                  P	                  4       4      hV P                  V P                  P                  4      '       dJ   V P                  P	                  4       pV P                  P                  \        P                  ! W4      4       M RV n        V P                  4        V P                  P	                  4       pV P                  P                  4        V P                  P	                  4       pV P                  P                  \        P                  ! W#4      4       R # )Nz%sequence entries are not allowed hereT)rA   rM   r   rZ   r   r   r*   rH   r   BlockSequenceStartTokenr   r   BlockEntryTokenr/   r+   r   r   s   &   r   r   Scanner.fetch_block_entry  s    (((";KK((*	  t{{1122{{++-""6#A#A$#MN  $'') [[))+
;;'')611*GHr   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5   8  s     B B4 Br   c                	   V P                   '       g   V P                  '       g'   \        R R RV P                  P	                  4       4      hV P                  V P                  P                  4      '       dJ   V P                  P	                  4       pV P                  P                  \        P                  ! W4      4       V P                   '       * V n        V P                  4        V P                  P	                  4       pV P                  P                  4        V P                  P	                  4       pV P                  P                  \        P                  ! W#4      4       R # )Nz!mapping keys are not allowed here)rA   rM   r   rZ   r   r   r*   rH   r   BlockMappingStartTokenr   r   KeyTokenr!  s   &   r   r   Scanner.fetch_key8  s     ((("$ CT[[EYEYE[ 
 t{{1122{{++-""6#@#@#LM %)OO 3 	'') [[))+
;;'')6??:@Ar   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5   S  s     :D :DT :Dr   c                	   V P                   V P                  9   Ed0   V P                  V P                   ,          pV P                  V P                    V P                  P                  VP                  V P
                  ,
          \        P                  ! VP                  VP                  4      4       V P                   '       g   V P                  VP                  4      '       da   V P                  P                  VP                  V P
                  ,
          \        P                  ! VP                  VP                  4      4       R V n        MV P                   '       g9   V P                  '       g'   \        RRRV P                  P                  4       4      hV P                   '       gu   V P                  V P                  P                  4      '       dJ   V P                  P                  4       pV P                  P                  \        P                  ! W"4      4       V P                   '       * V n        V P!                  4        V P                  P                  4       pV P                  P#                  4        V P                  P                  4       pV P                  P                  \        P$                  ! W44      4       R# )FNz#mapping values are not allowed here)rA   rN   rH   insertr%   rJ   r&  r+   r   r*   r%  rM   r   rZ   r   r   r   r   
ValueToken)r/   r   r+   r   r   s   &    r   r   Scanner.fetch_valueS  s   ??d777++DOO<C))$//:KK  4#4#44foochhPSPXPX6Y ?????3::..KK&&((4+<+<<55chhI %*D! ??? ,,,&=,,.	  ?????4;;#5#566;;//1DKK&&v'D'DT'PQ )-$7D! ++- [[))+
;;'')6,,ZBCr   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     @ @T @r   c                	    V P                  4        R V n        V P                  P                  V P	                  \        P
                  4      4       R# r  )r   rM   rH   r   scan_anchor
AliasTokenr@   s   &r   r   Scanner.fetch_alias  s9    %%' %4++F,=,=>?r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     A Ad Ar   c                	    V P                  4        R V n        V P                  P                  V P	                  \        P
                  4      4       R# r  )r   rM   rH   r   r/  AnchorTokenr@   s   &r   r   Scanner.fetch_anchor  s9    %%' %4++F,>,>?@r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     , ,4 ,r   c                	    V P                  4        R V n        V P                  P                  V P	                  4       4       R# r  )r   rM   rH   r   scan_tagr@   s   &r   r   Scanner.fetch_tag  s.    %%' %4==?+r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     + +t +r   c                	*    V P                  R R7       R# )r   styleNfetch_block_scalarr@   s   &r   r   Scanner.fetch_literal      c*r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     + +d +r   c                	*    V P                  R R7       R# )r   r<  Nr>  r@   s   &r   r   Scanner.fetch_folded  rA  r   c                    V ^8  d   QhRRRR/# r   r=  r   r   r,   r   )r   s   "r   r   r5     s     : : : :r   c                	    R V n         V P                  4        V P                  P                  V P	                  V4      4       R# r  )rM   r   rH   r   scan_block_scalarr/   r=  s   &&r   r?  Scanner.fetch_block_scalar  s3     $'')411%89r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5          * *d *r   c                	*    V P                  R R7       R# )r   r<  Nfetch_flow_scalarr@   s   &r   r   Scanner.fetch_single      S)r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     rL  r   c                	*    V P                  R R7       R# )r   r<  NrN  r@   s   &r   r   Scanner.fetch_double  rQ  r   c                    V ^8  d   QhRRRR/# rF  r   )r   s   "r   r   r5     s     9 9s 9t 9r   c                	    V P                  4        R V n        V P                  P                  V P	                  V4      4       R# r  )r   rM   rH   r   scan_flow_scalarrI  s   &&r   rO  Scanner.fetch_flow_scalar  s3    %%' %40078r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r5     s     . .T .r   c                	    V P                  4        R V n        V P                  P                  V P	                  4       4       R# r  )r   rM   rH   r   
scan_plainr@   s   &r   r   Scanner.fetch_plain  s1    %%' !&4??,-r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s       r   c                	@    V P                   P                  ^ 8X  d   R# R# )r   TN)rZ   r*   r@   s   &r   r   Scanner.check_directive  s     ;;"r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s      c r   c                	    V P                   P                  ^ 8X  dG   V P                   P                  ^4      R8X  d'   V P                   P                  ^4      \        9   d   R# R# )r   ---TNrZ   r*   prefixr   _THE_END_SPACE_TABr@   s   &r   r   Scanner.check_document_start  H    ;;"{{!!!$-$++2B2B12EI[2[r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s      C r   c                	    V P                   P                  ^ 8X  dG   V P                   P                  ^4      R8X  d'   V P                   P                  ^4      \        9   d   R# R# )r   ...TNrc  r@   s   &r   r   Scanner.check_document_end  rg  r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s     9 93 9r   c                	F    V P                   P                  ^4      \        9   # )r   )rZ   r   re  r@   s   &r   r   Scanner.check_block_entry  s    {{"&888r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s     9 93 9r   c                	    \        V P                  4      '       d   R # V P                  P                  ^4      \        9   # T)rf   rA   rZ   r   re  r@   s   &r   r   Scanner.check_key  s/      {{"&888r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s     9 9S 9r   c                	2   V P                   R8X  d   \        V P                  4      '       d   R# M\        V P                  4      '       d   V P                  R,          R8X  d*   V P                  P                  ^4      \        9  d   R#  R# V P                  '       dX   \        V P                  R,          \        P                  4      '       d'   V P                  P                  ^4      \        9  d   R# R# V P                  P                  ^4      \        9   # )r   Tr   Fr   r   rF   )
ra   rf   rA   r?   rZ   r   re  rH   rk   r+  r@   s   &r   r   Scanner.check_value  s    **f4DOO$$ % DOO$$$$R(C/{{''*2DD$ E 	 [[[ZBARAR%S%S{{''*2DD${{"&888r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s      
  
S  
r   c                	(   V P                   P                  pV! 4       pV P                  R8X  dP   VR9  ;'       gC    V! ^4      \        9  ;'       d,    VR8H  ;'       g    V P                  '       * ;'       d    VR9   # VR9  d   R# V! ^4      pVR8X  d   V\        9  d   R# VR8X  d)   \        V P                  4      '       d   V\        9  d   R# V! ^4      \        9  ;'       d,    VR8H  ;'       g    V P                  '       * ;'       d    VR9   # )r   u      	
  -?:,[]{}#&*!|>'"%@`r   z?:Tr   ru  )rZ   r   ra   re  rA   rf   
_SPACE_TAB)r/   srpr   ch1s   &   r   r   Scanner.check_plain  s    kkU**f4LL  A00 H H3YFFt#6#E#E2:
 DD!f9$669doo..3j3H1v// 
 
#I==doo-<<"*	
r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5   %  s     % %C %r   c                	   V P                   P                  pV P                   P                  pV P                   P                  ^ 8X  d   V! 4       R8X  d   V! 4        Rp\        pV P
                  ^ 8  d   RMRpV'       gn   V! 4       V9   d
   V! 4        K  V! 4       R8X  d   V! 4       V9  d
   V! 4        K  V P                  4       '       d   V P
                  '       g
   RV n        Ko  Kq  RpKu  R# )r      ﻿Fr    #TN)rZ   r   r   r'   _THE_ENDrA   scan_line_breakrM   )r/   rz  srffound_the_endwhite_spaces   &     r   r   Scanner.scan_to_next_token%  s    & kkkk!!;;!cex&7E#2e%;&u|e8+E##%%,0D) ' r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5   L  s     H H Hr   c                	D   V P                   P                  pV P                   P                  pV P                   P                  4       pV! 4        V P	                  V4      pR pVR8X  d-   V P                  V4      pV P                   P                  4       pMfVR8X  d-   V P                  V4      pV P                   P                  4       pM3V P                   P                  4       pV! 4       \        9  d
   V! 4        K  V P                  V4       \        P                  ! WEW64      # )NYAMLTAG)rZ   r   r   r   scan_directive_namescan_yaml_directive_valuescan_tag_directive_valuer  scan_directive_ignored_linerH   DirectiveToken)r/   rz  r  r   namevaluer   s   &      r   r   Scanner.scan_directiveL  s    kkkk!![[))+
''
36>22:>E{{++-HU]11*=E{{++-H{{++-H%x'((4$$T*GGr   c                    V ^8  d   QhRRRR/# r   r   r   r   r   )r   s   "r   r   r5   a  s      c c r   c                	    ^ pV P                   P                  pV! V4      pRTu;8:  d   R8:  g,   M RTu;8:  d   R8:  g   M RTu;8:  d   R8:  g
   M VR9   d   V^,          pV! V4      pKM  V'       g+   \        RVR	V: 2V P                   P                  4       4      hV P                   P	                  V4      pV P                   P                  V4       V! 4       pVR
9  d+   \        RVR	V: 2V P                   P                  4       4      hV# )r   09AZazz-_:.while scanning a directive4expected alphabetic or numeric character, but found      
  )rZ   r   r   r   rd  r   )r/   r   lengthrz  r   r  s   &&    r   r  Scanner.scan_directive_namea  s    kk[R3#"2s"2cR6F36F"PV,aKFVB,FrfM$$&	  ""6*F#U..,FrfM$$&	  r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5   |  s     ! !C !C !r   c                	@   V P                   P                  pV P                   P                  pV! 4       R 8X  d
   V! 4        K  V P                  V4      pV! 4       R8w  d0   \	        RVRV! 4       : 2V P                   P                  4       4      hV! 4        V P                  V4      pV! 4       R9  d0   \	        RVRV! 4       : 2V P                   P                  4       4      hWE3V n        \        WE4      V P                  P                  R,          n
        V P                  # )r  r   r  z#expected a digit or '.', but found r  rF   )rZ   r   r   scan_yaml_directive_numberr   r   rO   r   r4   	doc_infosdoc_version)r/   r   rz  r  majorminors   &&    r   r  !Scanner.scan_yaml_directive_value|  s    kkkk!!eslE//
;5C<,5ceY?$$&	  	//
;511,5ceY?$$&	  #N070Eb!-   r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5     s      S S r   c                	   V P                   P                  pV P                   P                  pV! 4       pR Tu;8:  d   R8:  g-   M \        RVRV: 2V P                   P	                  4       4      h^ pR V! V4      u;8:  d   R8:  d   M MV^,          pK#  \        V P                   P                  V4      4      pV! V4       V# )r  r  r  zexpected a digit, but found )rZ   r   r   r   r   r(   rd  )r/   r   rz  r  r   r  r  s   &&     r   r  "Scanner.scan_yaml_directive_number  s    kkkk!!Ur S ,.rf5$$&	  S['C'aKFDKK&&v./Fr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5     s      3 3 r   c                	2   V P                   P                  pV P                   P                  pV! 4       R 8X  d
   V! 4        K  V P                  V4      pV! 4       R 8X  d
   V! 4        K  V P	                  V4      pWE3pV P
                  P                  V4       V# )r  )rZ   r   r   scan_tag_directive_handlescan_tag_directive_prefixrP   r   )r/   r   rz  r  handlerd  ret_vals   &&     r   r   Scanner.scan_tag_directive_value  s}    kkkk!!eslE//
;eslE//
;"""7+r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5           C C r   c                	    V P                  R V4      pV P                  P                  4       pVR8w  d+   \        RVRV: 2V P                  P	                  4       4      hV# )	directiver  r  expected ' ', but found )scan_tag_handlerZ   r   r   r   r/   r   r  r   s   &&  r   r  !Scanner.scan_tag_directive_handle  sa    $$[*=[[9,*2&1$$&	  r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5     r  r   c                	    V P                  R V4      pV P                  P                  4       pVR9  d+   \        RVRV: 2V P                  P	                  4       4      hV# )r  r  r  r  )scan_tag_urirZ   r   r   r   r  s   &&  r   r  !Scanner.scan_tag_directive_prefix  sc    !!+z:[[..,*2&1$$&	  r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r,   r   )r   s   "r   r   r5     s      c d r   c                	j   V P                   P                  pV P                   P                  pV! 4       R 8X  d
   V! 4        K  V! 4       R8X  d   V! 4       \        9  d
   V! 4        K  V! 4       pV\        9  d+   \	        RVRV: 2V P                   P                  4       4      hV P                  4        R# )r  r  r  .expected a comment or a line break, but found NrZ   r   r   r  r   r   r  )r/   r   rz  r  r   s   &&   r   r  #Scanner.scan_directive_ignored_line  s    kkkk!!eslE5C<%x'UX,@G$$&	  	r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   r5     s     ,7 ,7c ,7c ,7r   c                	   V P                   P                  pV P                   P                  4       pV! 4       pVR 8X  d   RpMRpV P                   P                  4        ^ pV! V4      p\	        V4      '       d   V^,          pV! V4      pK$  V'       g/   \        RV: 2VRV: 2V P                   P                  4       4      hV P                   P                  V4      pV P                   P                  V4       VR9  d/   \        RV: 2VRV: 2V P                   P                  4       4      hV P                   P                  4       p	V! WV	4      # )r   aliasanchorwhile scanning an r  u     	
  ?:,[]{}%@`)rZ   r   r   r   r   r   rd  )
r/   r   rz  r   	indicatorr  r  r   r  r   s
   &&        r   r/  Scanner.scan_anchor  s:    kk[[))+
E	DD[ $B''aKFVB$TH-FrfM$$&	  ""6*F# ::$TH-FrfM$$&	  ;;'')%X66r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s     6< 6<# 6<r   c                	"   V P                   P                  pV P                   P                  4       pV! ^4      pRpVR8X  d;   RpV P                   P                  4        V P                   P                  pV! ^4      pVR8X  d   RpV P                   P                  ^4       V P	                  RV4      pV! 4       R8w  d0   \        RVRV! 4       : 2V P                   P                  4       4      hV P                   P                  4        MV\        9   d    RpTpV P                   P                  4        Ms^pR	pVR
9  d   VR8X  d   RpMV^,          pV! V4      pK$  TpV'       d   V P                  RV4      pMTpV P                   P                  4        V P	                  RV4      pV! 4       pVR
9  d+   \        RVRV: 2V P                   P                  4       4      hWV3p	V P                   P                  4       p
\        P                  ! WV
4      # )r   r   z!!<Ntagr   zwhile parsing a tagzexpected '>' but found Fr  Tzwhile scanning a tagr  )
rZ   r   r   r   r  r   re  r  rH   TagToken)r/   rz  r   r   short_handler  suffixr  
use_handler  r   s   &          r   r8  Scanner.scan_tag  s   kk[[))+
V9LKK!++""CQB9FKK"&&uj9Fu|")-ceY7KK((*	  KK!%%F!FKK!FJ559!%J![!F--eZ@%##%&&uj9FU..&*2&1$$&	   ;;'')u(;;r   c               $    V ^8  d   QhRRRRRR/# r   r=  r   rtzOptional[bool]r   r   )r   s   "r   r   r5   K  s&     { {s { {3 {r   c                		   V P                   P                  pVR 8X  d   RpMRp. pV P                   P                  4       pV P                   P                  4        V P	                  V4      w  rxV P                  V4      p	V P                  ^,           p
Vf^   V
^8  d8   VR9  g/   V P                  R8X  d    \        V P                  RR4      '       d   ^p
V P                  4       w  rp\        W4      pM+V
^8  d   ^p
W,           ^,
          pV P                  V4      w  rRpV P                   P                  V8X  Ed   V! 4       R8w  Ed   VP                  V4       V! 4       R9  p^ pV! V4      \        9  d   V^,          pK  VP!                  V P                   P#                  V4      4       V P                   P                  V4       V P%                  4       pV P                  V4      w  rVR9   d5   V
^ 8X  d.   V P'                  4       '       g   V P)                  4       '       d   MV P                   P                  V8X  d   V! 4       R8w  d   V'       d!   V'       d   VR	8X  d   VP!                  R
4       V'       d;   VR	8X  d4   V'       d,   V! 4       R9  d    V'       g   VP!                  R4       EK  EK  VP!                  V4       EK   . pVR9   d   VP!                  V4       VRJ d   VP                  V4       MVR9   d   VP                  V4       \*        P,                  ! RP/                  V4      RWmV4      pV P                  e2   \        V P                  RR4      pVf   V	e   VP1                  V	.4       \3        V4      ^ 8  Eda   V P                  ew   \        V P                  RR4      pVe\   VP4                  \3        V4      ,
          pV F9  pVR,          R	8X  g   Q hV P6                  P9                  V^ V4       V^,          pK;  	  V P;                  4       pV'       dJ   VP!                  RV^,          P                  ,          V^ ,          ,           4       V P;                  4       pKQ  V P                  en   \        V P                  RR4      pVfS   V P                   P                  4       p\*        P<                  ! RP/                  V4      VV4      pVP?                  V4       V# )r   TFNz|>0top_level_block_style_scalar_no_indent_error_1_1 r   r   
r  comment_handlingru  )NT)NFrF   ) rZ   r   r   r   scan_block_scalar_indicatorsscan_block_scalar_ignored_linerK   ra   r8   r4   scan_block_scalar_indentationmaxscan_block_scalar_breaksr*   extendr  r   rd  r  r   r   rH   ScalarTokenjoinadd_pre_commentsr>   r)   commentsadd_blank_liner   CommentTokenadd_post_comment)r/   r=  r  rz  foldedchunksr   chomping	incrementblock_scalar_comment
min_indentbreaks
max_indentr   rK   
line_breakleading_non_spacer  trailingtokencomment_handlerr)   xr   comment_end_marks   &&&                      r   rH  Scanner.scan_block_scalarK  s   kkC<FF[[))+
 	"??
K#BB:N [[1_
A~T!33v=KK!SUZ  
+/+M+M+O(F0FA~
+a/F#<<VDF
 kk  F*su}MM&! #U 2Ff+X-!MM$++,,V45KK'--/J#<<VDF}q ,,..$2I2I2K2K{{!!V+ &Z4%7MM$'jD05F35X]K]!c* " MM*-  !|#MM*%tMM&!&OOF# ""2776?E:QVW;;"%dkk3EuMO&'3**,@+ABx=1{{&")$++7I4"P".#==3x=8D% u},}44Q4@	 & --/Ggaj&7&7 7'!* DE113{{&")$++7I5"Q"* (,{{';';'=$$11"''(2C2:2BDG **73r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5     s     0# 0#s 0#s 0#r   c                	   V P                   P                  pR pR pV! 4       pVR9   d   VR8X  d   RpMRpV P                   P                  4        V! 4       pVR9   dS   \        V4      pV^ 8X  d'   \	        RVRV P                   P                  4       4      hV P                   P                  4        MVR9   d   \        V4      pV^ 8X  d'   \	        RVRV P                   P                  4       4      hV P                   P                  4        V! 4       pVR9   d'   VR8X  d   RpMRpV P                   P                  4        V! 4       pVR9  d+   \	        RVR	V: 2V P                   P                  4       4      hW43# )
Nz+-+TF
0123456789while scanning a block scalarz<expected indentation indicator in the range 1-9, but found 0r  z7expected chomping or indentation indicators, but found )rZ   r   r   r(   r   r   )r/   r   rz  r  r  r   s   &&    r   r  $Scanner.scan_block_scalar_indicators  si   kk	U:Sy KK!B\!G	>&7"Y,,.	  ##%<BIA~"3UKK((*	  KK!BTz9#H$H##%U../I"P$$&	  ""r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r5     s        r   c                	   V P                   P                  pV P                   P                  pR pRpV! 4       R8X  d   WB! 4       ,          pV! 4        K"  V! 4       R8X  d)   TpV! 4       \        9  d   WR! 4       ,          pV! 4        K&  V! 4       pV\        9  d+   \	        RVRV: 2V P                   P                  4       4      hV P                  4        V# )r  Nr  r  r   r  r  )r/   r   rz  r  rd  r   r   s   &&     r   r  &Scanner.scan_block_scalar_ignored_line  s    kkkk!!eslceOFE5C<G%x'35 UX/@G$$&	  	r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s     , ,s ,r   c                	`   V P                   P                  pV P                   P                  p. pRp^ pV P                   P                  4       pV! 4       R9   d   V! 4       R8w  dY   V^ 8  d   V P                   P                  pVP                  V P                  4       4       V P                   P                  4       pKp  V! 4        V P                   P                  V8  g   K  V P                   P                  pK  V^ 8  d-   WT8  d'   V P                   P                  4       p\        RV4      hW5V3# )r       
  r  z9more indented follow up line than first in a block scalarrF   )rZ   r   r   r   r*   r   r  r   )r/   rz  r  r  first_indentr  r   r   s   &       r   r  %Scanner.scan_block_scalar_indentation  s    kkkk!!
;;'')e..u|!##';;#5#5Ld2245;;//1;;%%
2!%!3!3J!
 9--/JKZ  8++r   c                    V ^8  d   QhRRRR/# )r   rK   r(   r   r   r   )r   s   "r   r   r5   ,  s        s  s  r   c                	   . pV P                   P                  pV P                   P                  pV P                   P                  4       pV P                   P                  V8  d   V! 4       R 8X  d
   V! 4        K0  V! 4       R9   dn   VP                  V P                  4       4       V P                   P                  4       pV P                   P                  V8  g   Kb  V! 4       R 8X  g   Kp  V! 4        K4  W%3# )r  
   
  )rZ   r   r   r   r*   r   r  )r/   rK   r  rz  r  r   s   &&    r   r   Scanner.scan_block_scalar_breaks,  s    kkkk!!;;'')kk  6)ceslEe--MM$..01{{++-H++$$v-#%3,r   c                    V ^8  d   QhRRRR/# )r   r=  r   r   r   )r   s   "r   r   r5   ;  s     W Wc Wc Wr   c                	T   VR 8X  d   RpMRpV P                   P                  p. pV P                   P                  4       pV! 4       pV P                   P                  4        VP	                  V P                  W%4      4       V! 4       V8w  dC   VP	                  V P                  W%4      4       VP	                  V P                  W%4      4       KN  V P                   P                  4        V P                   P                  4       p\        P                  ! RP                  V4      RWWV4      # )r   TFr  )
rZ   r   r   r   r  scan_flow_scalar_non_spacesscan_flow_scalar_spacesrH   r  r  )r/   r=  doublerz  r  r   quoter   s   &&      r   rW  Scanner.scan_flow_scalar;  s     C<FFkk[[))+
d66vJKeunMM$66vJKMM$::6NO;;'')!!"''&/5*PUVVr   r  r   r  r  bt	nr  vfrer  r   /\N   _    Lu    Pu    r  uUc               $    V ^8  d   QhRRRRRR/# r   r  r   r   r   r   )r   s   "r   r   r5   j  s!     3 3# 33 33 3r   c                	   . pV P                   P                  pV P                   P                  p ^ pV! V4      R9  d   V^,          pK  V^ 8w  d3   VP                  V P                   P	                  V4      4       V! V4       V! 4       pV'       g0   VR8X  d)   V! ^4      R8X  d   VP                  R4       V! ^4       K  V'       d   VR8X  g   V'       g"   VR9   d   VP                  V4       V! 4        K  V'       Ed~   VR8X  Edv   V! 4        V! 4       pWpP
                  9   d-   VP                  V P
                  V,          4       V! 4        EK%  WpP                  9   d   V P                  V,          pV! 4        \        V4       FD  pV! V4      R9  g   K  \        RVRVR R	V! V4      : 2V P                   P                  4       4      h	  \        V P                   P	                  V4      ^4      p	VP                  \        V	4      4       V! V4       EK  VR
9   d4   V P                  4        VP                  V P                  W4      4       EK&  \        RVRV: 2V P                   P                  4       4      hV# )Tu    
'"\ 	  r   z"\r#  0123456789ABCDEFabcdefz%while scanning a double-quoted scalarzexpected escape sequence of dz hexdecimal numbers, but found u
   
  zfound unknown escape character )rZ   r   r   r   rd  ESCAPE_REPLACEMENTSESCAPE_CODESranger   r   r(   chrr  r  scan_flow_scalar_breaks)
r/   r  r   r  rz  r  r  r   kcodes
   &&&       r   r  #Scanner.scan_flow_scalar_non_spacesj  s   kkkk!!Ff+%EE!{dkk0089FBbCiCFcMc"AR3Y2;b!B$JU111MM$":":2">?E,,,!..r2FE"6]q6)AA". G *">vaj IAADQ
!L $ 4 4 6#  + t{{11&92>DMM#d),K11((*MM$">">v"RS&?"9"@,,.	  r   c               $    V ^8  d   QhRRRRRR/# r-  r   )r   s   "r   r   r5     s!      c s s r   c                	:   V P                   P                  p. p^ pV! V4      R9   d   V^,          pK  V P                   P                  V4      pV P                   P                  V4       V! 4       pVR8X  d'   \	        RVRV P                   P                  4       4      hVR9   dg   V P                  4       pV P                  W4      p	VR8w  d   VP                  V4       MV	'       g   VP                  R4       VP                  V	4       V# VP                  V4       V# )r   r   r   while scanning a quoted scalarzfound unexpected end of streamr  r  r  )
rZ   r   rd  r   r   r   r  r5  r   r  )
r/   r  r   rz  r  r  whitespacesr   r  r  s
   &&&       r   r  Scanner.scan_flow_scalar_spaces  s    kk&kU"aKFkk((0F#U:00$$&	  ))--/J11&EFT!j)c"MM&!  MM+&r   c               $    V ^8  d   QhRRRRRR/# r-  r   )r   s   "r   r   r5     s!      c s s r   c                	   . pV P                   P                  pV P                   P                  p V P                   P                  ^4      pVR8X  g   VR8X  d8   V! ^4      \        9   d'   \        RVRV P                   P                  4       4      hV! 4       R9   d
   V! 4        K  V! 4       R9   d"   VP                  V P                  4       4       K  V# )Trb  rj  r;  z#found unexpected document separatorr   r  )	rZ   r   r   rd  re  r   r   r   r  )r/   r  r   r  rz  r  rd  s   &&&    r   r5  Scanner.scan_flow_scalar_breaks  s    kkkk!! [[''*F%6U?ABT8T"49KK((*	  %5.u..d2245r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s     X XC Xr   c                	^   V P                   P                  pV P                   P                  p. pV P                   P                  4       pTpV P                  ^,           p. p ^ pV! 4       R8X  d   EM V! V4      p	 T	R8X  d   T! T^,           4      \
        9  d   MoT	R8X  d   T P                  R8w  d   MVT	\
        9   gK   T P                  '       g    T	R8X  d   T! T^,           4      \
        9   g   T P                  '       d	   T	R9   d   MT^,          pK  T P                  '       dK   T	R8X  dD   T! T^,           4      R9  d0   T! T4       \        RTR	T P                   P                  4       R
4      hT^ 8X  d   MRT n	        TP                  T4       TP                  T P                   P                  T4      4       T! T4       T P                   P                  4       pT P                  Yd4      pT'       d@   T! 4       R8X  g4   T P                  '       d   EK  T P                   P                  T8  g   EK   \        P                   ! RP#                  V4      RWE4      p
V P$                  e   \'        V P$                  RR4      pVfW   V'       dM   V^ ,          R8X  d?   \        P(                  ! RP#                  V4      R,           WE4      pV
P+                  V4       V
# VRJdL   VP,                  ^,           pV F2  p	V	R8X  g   K  V P.                  P1                  R^ V4       V^,          pK4  	  V
# )r   Tr  Fr   r   z,:?[]{}u     	
  ,[]{}zwhile scanning a plain scalarzfound unexpected ':'zGPlease check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.r  r  r  ru  )rZ   r   r   r   rK   re  ra   rA   r   rM   r  r   rd  scan_plain_spacesr*   rH   r  r  r4   r8   r  r  r)   r  r  )r/   rz  r  r  r   r   rK   spacesr  r   r  r  r   r)   s   &             r   r[  Scanner.scan_plain  s    kkkk!![[))+
q
 Fu|[3Y3vz?:L#L3Y4#B#Bf#L,, OOO#I
O/AAB)O! #I
O+KKF"3*KK((*#  {$)D!MM&!MM$++,,V45K{{++-H++F?F5C<DKK,>,>,G""2776?D*O ;;"%dkk3EuMO&fQi4/$11"''&/D2H*_G**73  !-!* BTz44T1dC	 !
 r   c               $    V ^8  d   QhRRRRRR/# )r   rK   r   r   r   r   )r   s   "r   r   r5   -  s!     # # # # #r   c                	   V P                   P                  pV P                   P                  p. p^ pV! V4      R9   d   V^,          pK  V P                   P                  V4      pV P                   P                  V4       V! 4       pVR9   Ed   V P	                  4       p	RV n        V P                   P                  ^4      p
V
R8X  g   V
R8X  d   V! ^4      \        9   d   R# . pV! 4       R9   du   V! 4       R8X  d
   V! 4        K!  VP                  V P	                  4       4       V P                   P                  ^4      p
V
R8X  g
   V
R8X  g   Kk  V! ^4      \        9   g   K~  R# V	R8w  d   VP                  V	4       MV'       g   VP                  R4       VP                  V4       V# V'       d   VP                  V4       V# )	r   r  r  Trb  rj  Nr  r  )	rZ   r   r   rd  r  rM   re  r   r  )r/   rK   r   rz  r  r  r  r<  r   r  rd  r  s   &&&         r   rC  Scanner.scan_plain_spaces-  sl    kkkk!!&kS aKFkk((0F#U''--/J$(D![[''*F%6U?ABT8TF%225C<EMM$"6"6"89![[//2F%6U?AJ\@\T!j)c"MM&!  MM+&r   c               $    V ^8  d   QhRRRRRR/# r   r  r   r   r   r   )r   s   "r   r   r5   R  s!      C S S r   c                	   V P                   P                  pV! 4       pVR 8w  d/   \        RV: 2VRV: 2V P                   P                  4       4      h^pV! V4      pVR8w  d   RTu;8:  d   R8:  g,   M RTu;8:  d   R8:  g   M RTu;8:  d   R	8:  g
   M VR
9   d   V^,          pV! V4      pKM  VR 8w  dJ   V P                   P	                  V4       \        RV: 2VRV: 2V P                   P                  4       4      hV^,          pV P                   P                  V4      pV P                   P	                  V4       V# )r   r  zexpected '!', but found r  r  r  r  r  r  r  z-_zexpected '!' but found )rZ   r   r   r   r   rd  )r/   r  r   rz  r   r  r  s   &&&    r   r  Scanner.scan_tag_handleR  s-    kkU9$TH-*2&1$$&	  [9"s"cR&63&6#:Js:JbTXj![Sy##F+"(1-bV4KK((*	  aKF""6*F#r   c               $    V ^8  d   QhRRRRRR/# rJ  r   )r   s   "r   r   r5   r  s!     ! ! !# !# !r   c                	   V P                   P                  p. p^ pV! V4      pRTu;8:  d   R8:  gD   M RTu;8:  d   R8:  g3   M RTu;8:  d   R8:  g"   M VR9   g   V P                  R8  d   VR8X  d   VR	8X  di   VP                  V P                   P	                  V4      4       V P                   P                  V4       ^ pVP                  V P                  W4      4       M	V^,          pV! V4      pK  V^ 8w  dH   VP                  V P                   P	                  V4      4       V P                   P                  V4       ^ pV'       g/   \        R
V: 2VRV: 2V P                   P                  4       4      hRP                  V4      # )r   r  r  r  r  r  r  z-;/?:@&=+$,_.!~*'()[]%r  r   zwhile parsing an zexpected URI, but found r  ru  )
rZ   r   ra   r   rd  r   scan_uri_escapesr   r   r  )r/   r  r   rz  r  r  r   s   &&&    r   r  Scanner.scan_tag_urir  sL    kk[2bCbC--0069rSySydkk0089##F+d33DEF!VBQ;MM$++,,V45KK'F#D8,*2&1$$&	  wwvr   c               $    V ^8  d   QhRRRRRR/# rJ  r   )r   s   "r   r   r5     s!      S c c r   c           	     	p   V P                   P                  pV P                   P                  p. pV P                   P                  4       pV! 4       R 8X  d   V! 4        \	        ^4       FD  pV! V4      R9  g   K  \        RV: 2VRV! V4      : 2V P                   P                  4       4      h	  VP                  \        V P                   P                  ^4      ^4      4       V! ^4       K   \        V4      P                  R4      pV#   \         d!   p	\        RT: 2T\        T	4      T4      hRp	?	ii ; i)r   r/  r  @expected URI escape sequence of 2 hexdecimal numbers, but found utf-8NrZ   r   r   r   r3  r   r   r(   rd  bytesdecodeUnicodeDecodeErrorstr)
r/   r  r   rz  r  
code_bytesr+   r6  r  excs
   &&&       r   rO  Scanner.scan_uri_escapes  s   kkkk!! "
{{##%eslE1Xq6!99&,TH5"%%(VJ0,,.   c$++"4"4Q"7<=F	Z*%,,W5E  " 	Z!3D8<j#c(TXYY	Zs   .D
 
D5D00D5c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r5     s       r   c                	@   V P                   P                  4       pVR 9   dZ   V P                   P                  ^4      R8X  d   V P                   P                  ^4       R# V P                   P                  4        R# VR9   d   V P                   P                  4        V# R# )   

r       r  rZ   r   rd  r   )r/   r   s   & r   r  Scanner.scan_line_break  s     [[{{!!!$.##A&  ##%>!KK!Ir   )rW   rM   rG   r:   r?   rK   rL   r4   rN   rP   rH   rJ   rO   r   F)Tr   r   r   r    r0   propertyrA   r9   rZ   ra   rn   rs   rx   ri   r   rj   r~   r}   r   r   r   r   rI   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r?  r   r   rO  r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r/  r8  rH  r  r  r  r  rW  r1  r2  r  r  r5  r[  rC  r  r  rO  r  r!   r   r   r   r
   r
   G   s    " & &58n ( ( . .
"&
"k
^ 5&=.;"A0_	2A?=UT=DC=$	HI<B6:Dx@A,++:**9.999$ 
H%NH*6!6&&,7\6<p{z0#d2,2 W0TV 	V 	V	
 	f 	V 	V 	V 	V 	V 	V 	S 	S 	d 	V  	V!" 	X#$ 	X%* CC+L3j:.Xt#J@!F2 r   c                      ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	RR R llt
RR R lltR R ltRtR# )r   i  c                    V ^8  d   QhRRRR/# rd   r   )r   s   "r   r   RoundTripScanner.__annotate__  s      C D r   c                	   V P                  4       '       d   V P                  4        K(  V P                  4        \        V P                  4      ^ 8  d:   V'       g   R# V F)  p\        V P                  ^ ,          V4      '       g   K(   R# 	  R# rh   )ri   rj   _gather_commentsr>   rH   rk   rl   s   &* r   rn   RoundTripScanner.check_token  sg    ##%%""$t{{a!dkk!nf55 " r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   rh    s      C r   c                	    V P                  4       '       d   V P                  4        K(  V P                  4        \        V P                  4      ^ 8  d   V P                  ^ ,          # R# rr   )ri   rj   rj  r>   rH   r@   s   &r   rs   RoundTripScanner.peek_token  sK    ##%%""$t{{a;;q>!r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   rh    s     % %# %r   c                j   . pV P                   '       g   V# \        V P                   ^ ,          \         P                  4      '       dF   V P                   P                  ^ 4      pV ;P                  ^,          un        VP                  V4       V P                  4       '       d   V P                  4        V P                   '       g   V# \        V P                   ^ ,          \         P                  4      '       g   Km  V ;P                  ^,          un        V P                   P                  ^ 4      pVP                  V4       K  \        V4      ^8  d#   V P                   ^ ,          P                  V4       V P                  '       g/   \        V P                   4      ^8  d   V P                  4        R# R# R# )zCcombine multiple comment lines and assign to next non-comment-tokenN)rH   rk   r  rw   rJ   r   ri   rj   r>   r  rG   )r/   r  r   s   &  r   rj  !RoundTripScanner._gather_comments  s     {{{Odkk!nf&9&9::kkooa(G"OOG$##%%""$;;;$++a.&*=*=>>!!Q&!++//!,(x=AKKN++H5yyyS-1""$ 2yr   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   rh    s     4 43 4r   c                	
   V P                  4       '       d   V P                  4        K(  V P                  4        \        V P                  4      ^ 8  Ed   \        V P                  4      ^8  Ed"   \        V P                  ^ ,          \        P                  \        P                  \        P                  \        P                  34      '       Ed   \        V P                  ^,          \        P                  4      '       Ed   V P                  ^ ,          P                  P                  V P                  ^,          P                  P                  8X  Ed>   V ;P                  ^,          un        V P                  P                  ^4      pV P                  4        \        V P                  4      ^8  d   \        V P                  ^,          \        P                  4      '       d   V ;P                  ^,          un        V P                  P                  ^4      pVP                   RVP                  P"                  ,          ,           VP                   ,           Vn        V P                  4        K  V P                  ^ ,          P%                  V4       EM\        V P                  4      ^8  Eds   \        V P                  ^ ,          \        P                  4      '       EdA   \        V P                  ^,          \        P                  4      '       Ed   V P                  ^ ,          P                  P                  V P                  ^,          P                  P                  8w  Ed   V ;P                  ^,          un        V P                  P                  ^4      pRVP                  P                  V P                  ^ ,          P                  P                  ,
          ,          RVP                  P"                  ,          ,           VP                   ,           Vn        V P                  ^ ,          P%                  V4       V P                  4        \        V P                  4      ^8  d   \        V P                  ^,          \        P                  4      '       d   V ;P                  ^,          un        V P                  P                  ^4      pVP                   RVP                  P"                  ,          ,           VP                   ,           Vn        V P                  4        K  V ;P                  ^,          un        V P                  P                  ^ 4      # R# )r   r  r  N)ri   rj   rj  r>   rH   rk   r  r+  r  r  r  r   r)   r   rJ   rw   r  r*   r  )r/   cc1s   &  r   rx   RoundTripScanner.get_token  s\   ##%%""$t{{a DKK 1$KKN''):):F<W<W//1 
 t{{1~v/B/BCCKKN++00DKKN4M4M4R4RR!!Q&!KKOOA&&&($++&*z$++a.&J]J]/^/^%%*%+Bggr}}/C/C)CDrxxOAG**,A//2DKK 1$t{{1~v/A/ABBt{{1~v/B/BCCKKN++00DKKN4M4M4R4RR!!Q&!KKOOA&ALL--A0G0G0L0LLMQ\\0002gg 
 A//2&&($++&*z$++a.&J]J]/^/^%%*%+Bggr}}/C/C)CDrxxOAG**,";;??1%%r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rh  )  s     M MS MT Mr   c                	    Vw  r#pV'       d   VR,          R8X  d   VRR pK  V P                   P                  \         P                  ! W#V4      4       R# )r   r  NrF   )rH   r   r  )r/   r   r  r   r   s   &&   r   r   RoundTripScanner.fetch_comment)  sF    &-#8b	S( #2JE6..u(KLr   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   rh  3  s     F FC Fr   c                	   V P                   P                  pV P                   P                  pV P                   P                  ^ 8X  d   V! 4       R8X  d   V! 4        RpV P                  ^ 8  d   RMRpV'       Eg   V! 4       V9   d
   V! 4        K  V! 4       pVR8X  d   V P                   P                  4       pTpV! 4        V\        9  d*   V! 4       pVR8X  d   VR,          pMWu,          pV! 4        K4  V P                  4       p\        V4      ^ 8  d   Wu,          pV P                  4       pK*  V P                   P                  4       pV P                  '       g   RV n	        WvV3# V P                  4       R	8w  d   V P                   P                  4       pV P                  '       g   RV n	        V! 4       pVR8X  d   V P                   P                  4       pR	pV'       d   V P                  RR
7      pWu,          pK$  V! 4       R8X  d!   VP                  R^4      ^ ,          R,           pV P                   P                  4       pWvV3# EK  RpEK  R# )r   r  Fr   r  r  r   r  Tr  )
empty_lineN)rZ   r   r   r'   rA   r   r  r  r>   rM   rsplit)	r/   rz  r  r  r  r   r   r   r   s	   &        r   r   #RoundTripScanner.scan_to_next_token3  s   & kkkk!!;;!cex&7E#2e%%;&BSy![[113
(BTz  4MGE))+"gkMG--/B;;//1,0D)H44##%+![[113
,0D)U:!%!5!5!7J G!11T1Bu|")..q"9!"<t"C#{{335H"88  r   c                    V ^8  d   QhRRRR/# )r   r|  rf   r   r  r   )r   s   "r   r   rh  {  s      $ 4 r   c                	   V P                   P                  4       pVR 9   dZ   V P                   P                  ^4      R8X  d   V P                   P                  ^4       R# V P                   P                  4        R# VR9   d   V P                   P                  4        V# V'       d$   VR9   d   V P                   P                  4        V# R# )r_  r`  r  ra  z	 r  rb  )r/   r|  r   s   && r   r   RoundTripScanner.scan_line_break{  s     ;;##%{{!!!$.##A&  ##%>!KK!IB%KKK!Ir   c               $    V ^8  d   QhRRRRRR/# r  r   )r   s   "r   r   rh    s!     = =s = =# =r   c                	0    \         P                  WVR 7      # ))r  )r
   rH  )r/   r=  r  s   &&&r   rH  "RoundTripScanner.scan_block_scalar  s    (((<<r   c               $    V ^8  d   QhRRRRRR/# rJ  r   )r   s   "r   r   rh    s!      S c c r   c           	        V P                   P                  pV P                   P                  p. pRpV P                   P                  4       pV! 4       R8X  d   VR,          pV! 4        \	        ^4       FD  pV! V4      R9  g   K  \        RV: 2VRV! V4      : 2V P                   P                  4       4      h	  VP                  \        V P                   P                  ^4      ^4      4       W`P                   P                  ^4      ,          pV! ^4       K   \        V4      P                  R4      p	V#   \         d!   p
\        RT: 2T\        T
4      T4      hRp
?
ii ; i)z.
The roundtripscanner doesn't do URI escaping
r  r   r/  r  rS  rT  NrU  )r/   r  r   rz  r  rZ  chunkr+   r6  r&  r[  s   &&&        r   rO  !RoundTripScanner.scan_uri_escapes  sE   
 kkkk!! "
{{##%eslSLEE1Xq6!99&,TH5"%%(VJ0,,.   c$++"4"4Q"7<=[[''**EF	Zj!((1A  " 	Z!3D8<j#c(TXYY	Zs   D6 6E!EE!)rM   Nrd  rq  )r   r   r   r    rn   rs   rj  rx   r   r   r  rH  rO  r!   r   r   r   r   r     s8    %04lMFP0= r   c                  f    ] tR tRtRtR R ltRR R lltR R ltR R	 ltR
 R lt	R R lt
RtR# )CommentBasei  c               (    V ^8  d   QhRRRRRRRR/# r   r  r   r)   r*   r   r,   r   )r   s   "r   r   CommentBase.__annotate__  s(      c  c d r   c                	   Wn         W n        W0n        R V n        \        ^ 8w  dd   ^ RIpVP                  VP                  4       ^,          ^ ,          4      pVP                  V n        VP                  V n
        RV n        RV n        R# R# )r  N)r  r)   r*   usedr   inspectgetframeinfostackfunctionlinenoflineufunuline)r/   r  r)   r*   r  infos   &&&&  r   r0   CommentBase.__init__  sk    
		Q;''(:1(=>D MMDMDJDIDJ r   c                    V ^8  d   QhRRRR/# )r   r  r   r   r,   r   )r   s   "r   r   r    s     % %# % %r   c                	    Wn         \        ^ 8w  dV   ^ RIpVP                  VP	                  4       ^,          ^ ,          4      pVP
                  V n        VP                  V n        R# R# rr   )	r  r   r  r  r  r  r  r  r  )r/   r  r  r  s   &&  r   set_usedCommentBase.set_used  sL    	Q;''(:1(=>DDIDJ r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r    s      d r   c                	    R V n         R# )r   N)r  r@   s   &r   set_assignedCommentBase.set_assigned  s	    	r   c                   V ^8  d   QhRR/# r   r   rY  r   )r   s   "r   r   r    s       r   c                	    V P                    # r   r  r@   s   &r   __str__CommentBase.__str__  s    **r   c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r    s     ! !# !r   c                	    V P                   : # r   r  r@   s   &r   __repr__CommentBase.__repr__  s    ** r   c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r    s     
 
c 
r   c                	   V P                   R ,           pV P                  pV V P                   RV P                  R RV P                  R RVR RV P
                   RV P                   RV P                   RV P                   2# )r   r  2r   z<2z "40s)	r  r  r  r)   r*   r  r  r  r  )r/   xvr  s   &  r   r  CommentBase.info  s{    ZZ#yyfTYYKq1Qt{{2.>bC}}oQtzzl!DII;a

|E	
r   )r*   r  r  r)   r  r  r  r  N)r  r)   r*   r  r  r  r  r  )r  )r   r   r   r    	__slots__r0   r  r  r  r  r  r!   r   r   r   r  r    s*    YI%!
 
r   r  c                  2   a  ] tR tRtRtR V 3R lltRtV ;t# )
EOLCommenti  EOLCc               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   EOLComment.__annotate__  (     . .c . .c .d .r   c                	(   < \         SV `  WV4       R # r   superr0   r/   r  r)   r*   	__class__s   &&&&r   r0   EOLComment.__init__      f-r   r   r   r   r   r    r  r0   r!   __classcell__r  s   @r   r  r        D. .r   r  c                  2   a  ] tR tRtRtR V 3R lltRtV ;t# )FullLineCommenti  FULLc               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   FullLineComment.__annotate__  r  r   c                	(   < \         SV `  WV4       R # r   r  r  s   &&&&r   r0   FullLineComment.__init__  r  r   r   r  r  s   @r   r  r    r  r   r  c                  2   a  ] tR tRtRtR V 3R lltRtV ;t# )BlankLineCommenti  BLNKc               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   BlankLineComment.__annotate__  r  r   c                	(   < \         SV `  WV4       R # r   r  r  s   &&&&r   r0   BlankLineComment.__init__  r  r   r   r  r  s   @r   r  r    r  r   r  c                      ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltRR R lltR R ltR R ltR R ltR R ltRtR# )ScannedCommentsi  c                    V ^8  d   QhRRRR/# )r   r/   r   r   r,   r   )r   s   "r   r   ScannedComments.__annotate__   s      s t r   c                	"    / V n         . V n        R # r   r  unusedr@   s   &r   r0   ScannedComments.__init__   s    r   c               (    V ^8  d   QhRRRRRRRR/# r   r   r   r*   r)   r   r   )r   s   "r   r   r    s(      s C s s r   c                	    VP                  R 4      ^8X  d   VR,          R 8X  g   Q hM	R V9  g   Q h\        VRR W24      ;V P                  V&   pV P                  P	                  V4       V# r  NrF   )countr  r  r  r   r/   r   r*   r)   retvals   &&&& r   add_eol_commentScannedComments.add_eol_comment  sj    ==!#2;$&&&w&&&'1'#2,'MMdf4 r   c               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   r    s(      c 3 c c r   c                	    VP                  R 4      ^8X  d   VR,          R 8X  g   Q hW0P                  9  g   Q h\        VRR W24      ;V P                  V&   pV P                  P	                  V4       V# r  )r  r  r  r  r   r  s   &&&& r   r  ScannedComments.add_blank_line  sk    }}T"a'GBK4,???==((('7d'SSdf4 r   c               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   r    s(      S # S S r   c                	    VP                  R 4      ^8X  d   VR,          R 8X  g   Q h\        VRR W24      ;V P                  V&   pV P                  P	                  V4       V# r  )r  r  r  r  r   r  s   &&&& r   add_full_line_comment%ScannedComments.add_full_line_comment  s]    }}T"a'GBK4,??? (7ws|T'RRdf4 r   c                    V ^8  d   QhRRRR/# )r   idxr   r   r   )r   s   "r   r   r     s     " "s "s "r   c                	(    V P                   V,          # r   )r  )r/   r  s   &&r   __getitem__ScannedComments.__getitem__   s    }}S!!r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r  #  s     
 
 
r   c                	~    R RP                  R V P                  P                  4        4       4      ,           R,           # )zParsedComments:
  z
  c              3  R   "   T F  w  rVR  RVP                  4        2x  K  	  R# 5i)r  r  N)r  ).0r  r  s   &  r   	<genexpr>*ScannedComments.__str__.<locals>.<genexpr>&  s'     [EZ	fQZq
3EZs   %'r  r  r  itemsr@   s   &r   r  ScannedComments.__str__#  s7    !kk[T]]EXEXEZ[\]	
r   c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r  *  s     * *c *r   c                	    \        V P                  P                  4       4      R,          w  rVR RVP                  4        R2# )r   r  r  r  rF   )r   r  r  r  )r/   r  r  s   &  r   lastScannedComments.last*  s;    ,,./3	1QVVXJb))r   c                   V ^8  d   QhRR/# r{   r   )r   s   "r   r   r  .  s     $ $ $r   c                	2    \        V P                  4      ^ 8  # )r   )r>   r  r@   s   &r   any_unprocessedScannedComments.any_unprocessed.  s    4;;!##r   c                    V ^8  d   QhRRRR/# )r   user   r   r   )r   s   "r   r   r  6  s     
0 
0s 
0s 
0r   c              #  	*  "   \        V P                  4      ^ 8  d   \        ^ 8w  d   ^ RIpV'       d   V P                  P	                  ^ 4      MV P                  ^ ,          pVP                  VP                  4       ^,          ^ ,          4      p\        RW0P                  V,          P                  VP                  VP                  4       XV P                  V,          3x  V'       g   K  V P                  V,          P                  4        EK  R# 5i)r   Nusing)r>   r  r   r  rw   r  r  r   r  r  r  r  r  )r/   r  r  firstr  s   &&   r   unprocessedScannedComments.unprocessed6  s     $++"{.1*t{{1~++GMMOA,>q,ABe(<(B(BDMMSWS^S^_u---se$--/ #s   1DB4D-&Dc                    V ^8  d   QhRRRR/# r   r  r   r   r   )r   s   "r   r   r  B  s        r   c                	*   VP                   P                  p\        ^ 8w  d^   ^ RIpVP	                  VP                  4       ^,          ^ ,          4      p\        RW P                  VP                  VP                  4       RpV P                  '       d   V P                  ^ ,          V8  di   RpV P                  P                  ^ 4      p\        ^ 8w  d   \        RV4       V P                  V,          P                  4        VP                  V4       K  V# )r   N
assign_preFTzassign_pre < )r   r)   r   r  r  r  r   r  r  r  rw   r  r  add_comment_prer/   r  
token_liner  r  gobbledr  s   &&     r   r
  ScannedComments.assign_preB  s    %%**
Q;''(:1(=>DL*kk4==$++Vkkkdkk!nz9GKKOOA&E{/MM% ))+!!%(r   c                    V ^8  d   QhRRRR/# )r   rH   r   r   r   )r   s   "r   r   r  S  s     : : : :r   c                	    V P                   ^ ,          p\        T P                  T,          \        4      '       g   R# ^pY) ,          P
                  P                  T8  g$   \        Y) ,          TP                  4      '       d   T^,          pKP  \        ^ 8w  d   \        RT4       \        T4      T8  dP   \        Y) ,          TP                  4      '       d-   \        Y^,           ) ,          TP                  4      '       d   R#  \        Y) ,          TP                  4      '       d   \        Y^,           ) ,          TP                  4      '       dy    T P                   P                  ^ 4      pT P                  T,          P                  4        \        ^ 8w  d   \        RY4\        4       Y) ,          P!                  T\        4       R#  \        Y) ,          TP                  4      '       d   \        Y^,           ) ,          TP                  TP$                  34      '       d]    T P                   P                  ^ 4      pT P                  T,          P                  4        Y) ,          P!                  T\&        4       R# T F  p\        RT4       K  	  \        ^ 8w  d   \        R\)        Y) ,          4      4       ^ RIpTP-                  ^ 4       R#   \         d     R# i ; i  \         d    \"        hi ; i  \         d    \        ^ 8w  d   \        R4        ELTi ; i  \         d    \"        hi ; i  \         d    \        ^ 8w  d   \        R4        Li ; i)r   Nidx1z>>>>>aIndexError1IndexError2ztt-znot implemented EOL)r  r  rk   r  r  r   r)   r+  r   r   r>   r  r&  rw   r  KEYCMNTadd_comment_eolr   r   	VALUECMNTtypesysexit)r/   rH   comment_liner  eol_idxr  r  s   &&     r   
assign_eolScannedComments.assign_eolS  s   	;;q>L $--5zBBTl%%**\9Z4L&++>
 >
 1HCQ;FC K#6$<););<<6!G*-v/A/ABB	&,(:(:;;
qz"FOOA A."kkooa0GMM'*335{#@4L00'B 
	&,(:(:;;
qz"V%6%68N8N$OA A."kkooa0GMM'*3354L00)D 
 AE1 Q;)4t+=>o  		6 " .--.  	{&	 " .--.  	{&	s]   K AK< A5K' AL9 'AL$ K$#K$'K99K< <!L! L!$L66L9 9!MMc                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r    s        r   c                	*   VP                   P                  p\        ^ 8w  d^   ^ RIpVP	                  VP                  4       ^,          ^ ,          4      p\        RW P                  VP                  VP                  4       RpV P                  '       d   V P                  ^ ,          V8  di   RpV P                  P                  ^ 4      p\        ^ 8w  d   \        RV4       V P                  V,          P                  4        VP                  V4       K  V# )r   Nassign_postFTzassign_post < )r   r)   r   r  r  r  r   r  r  r  rw   r  r  add_comment_postr  s   &&     r   r!  ScannedComments.assign_post  s    %%**
Q;''(:1(=>DM:{{DMM4;;Wkkkdkk!nz9GKKOOA&E{(%0MM% ))+""5)r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r    s     
 
 
r   c                	b    R P                  R V P                  P                  4        4       4      # )r  c              3  |   "   T F2  w  rVP                   R 8X  g   K  RVR R VP                  4        R2x  K4  	  R# 5i)r  z  r  r  N)r  r  )r  indr  s   &  r   r  2ScannedComments.str_unprocessed.<locals>.<genexpr>  s9     \5J63affX[m&r#a!&&(2&5Js   < <r  r@   s   &r   str_unprocessedScannedComments.str_unprocessed  s(    ww\T]]5H5H5J\
 	
r   r  Nrd  )r   r   r   r    r0   r  r  r  r  r  r  r  r  r
  r  r!  r)  r!   r   r   r   r  r    sI    "
*$
0":x"
 
r   r  c                  j   a  ] tR tRtR V 3R lltR R ltR R ltR R	 ltR
 R ltR R lt	Rt
V ;t# )RoundTripScannerSCi  c               $    V ^8  d   QhRRRRRR/# )r   argr   r   r   r,   r   )r   s   "r   r   RoundTripScannerSC.__annotate__  s!      S   r   c                	V   < \         SV `  ! V/ VB  V P                  f   Q hR V n        R # r   )r  r0   r4   r  )r/   r.  r   r  s   &*,r   r0   RoundTripScannerSC.__init__  s.    #$${{&&& r   c                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r/    s     
& 
&3 
&r   c                	   V P                  4       '       d   V P                  4        K(  \        V P                  4      ^ 8  d   \	        V P                  ^ ,          \        P
                  4      '       d.   V P                  P                  V P                  ^ ,          4       M,V P                  P                  V P                  ^ ,          4       V ;P                  ^,          un	        V P                  P                  ^ 4      # R# rr   )ri   rj   r>   rH   rk   r   r  r!  r
  rJ   rw   r@   s   &r   rx   RoundTripScannerSC.get_token  s    ##%%""$t{{a$++a.&*>*>??))$++a.9((Q8";;??1%%  r   c                   V ^8  d   QhRR/# r{   r   )r   s   "r   r   r/    s      $ r   c                	|   V P                   f!   \        4       ;V P                  n        V n         V P                  '       d   R# \        V P                  4      ^ 8X  d   R# V P                  4        V P                  4       V P                  8X  d   R# \        V P                  4      ^8  d   R# V P                  ^ ,          P                  P                  V P                  R,          P                  P                  8X  d   R#  \        ^ 8w  da   \        R\        V P                  4      4       V P                   F  p\        V4       K  	  \        V P                   P                  4       4       V P                   P                  V P                  ^ ,          4       V P                   P!                  V P                  4       R# )NFTz-x--rF   )r  r  r4   parsed_commentsrG   r>   rH   r}   r~   rJ   r   r)   r   r   r)  r
  r  )r/   r  s   & r   ri   #RoundTripScannerSC.need_more_tokens  s-   == :I:KKDKK'$-999t{{q  	'')((*d.?.??t{{a;;q>$$))T[[_-G-G-L-LL{DKK 01AAJ % 5578  Q0  -r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r/    s     = =D =r   c                	   V P                   P                  pV P                   P                  pV P                   P                  ^ 8X  d   V! 4       R8X  d   V! 4        V P                   P	                  4       pRpV'       Egi   V! 4       R8X  d
   V! 4        K  V! 4       pVR8X  d   V P                   P	                  4       pTpV! 4        V\
        9  d*   V! 4       pVR8X  d   VR,          pMWu,          pV! 4        K4  VP                  ^ 8X  d2   V P                  P                  WvP                  VP                  4       M2V P                  P                  WvP                  VP                  4       RpV P                  4        V P                  '       g   RV n        R	# \        V P                  4       4      '       d,   V P                  '       g   RV n        V P                  4        R	# RpEKq  R	# )
r   r  Fr  r  r   r  r  TN)rZ   r   r   r'   r   r  r*   r  r  r)   r   scan_empty_or_full_line_commentsrA   rM   rf   r  r}  )	r/   rz  r  r   r  r   comment_start_markr   r&  s	   &        r   r   %RoundTripScannerSC.scan_to_next_token  s   kkkk!!;;!cex&7E[[))+
%%3,BSy%)[[%9%9%;"(BTz  4MGE$$)MM77!:!:<N<S<S MM11!:!:<N<S<S !G557,0D)D((*++,0D)557 r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r/  	  s     %$ %$$ %$r   c                	   V P                   P                  4       pVP                  ^ 8X  g   Q hRpRpRpV P                   P                  4       p VR9   Ed	   V P                   P	                  ^4      R8X  d   V P                   P                  ^4       MV P                   P                  4        Ve=   VR,          pV P                  P                  W4P                  VP                  4       RpM9VR,          pV P                  P                  W!P                  VP                  4       RpV P                   P                  4       pV P                   P                  4       pEK  Vf7   VR9   d
   W%,          pM.VR8X  d   V P                   P                  4       pRpM
R# W5,          pV P                   P                  4        V P                   P                  4       pEK  )r   r  Nr  r`  r  r   r  )
rZ   r   r*   r   rd  r   r  r  r)   r  )r/   blmarkblanksr   r+   r   s   &     r   r;  3RoundTripScannerSC.scan_empty_or_full_line_comments	  sl   %%'}}!!![[++;;%%a(F2KK''*KK'')&tOGMM77diiX"GdNFMM00T--/[[%%';LF3Y;;//1D!G KK!!!#Br   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r/  ;	  s        r   c                	Z   V P                   P                  pV P                   P                  pR pRpV! 4       R8X  d   WB! 4       ,          pV! 4        K"  V! 4       R8X  dL   R pV P                   P                  4       pV! 4       \        9  d   WR! 4       ,          pV! 4        K&  VR,          pV! 4       pV\        9  d+   \        RVRV: 2V P                   P                  4       4      hVe2   V P                  P                  VXP                  VP                  4       V P                  4        R# )r  Nr  r  r  r   r  )rZ   r   r   r   r  r   r  r  r*   r)   r  )r/   r   rz  r  rd  r   r+   r   s   &&      r   r  1RoundTripScannerSC.scan_block_scalar_ignored_line;	  s    kkkk!!eslceOFE5C<G;;'')D%x'35 tOGUX/@G$$&	  MM))'4;;		Jr   )rM   r  )r   r   r   r    r0   rx   ri   r   r;  r  r!   r  r  s   @r   r,  r,    s-     
&6=~%$N r   r,  )r
   r   r   )'
__future__r   ruamel.yaml.errorr   ruamel.yaml.tokensyamlrH   ruamel.yaml.docinfor   ruamel.yaml.compatr   r   r   r	   typingr   DictOptionalListUnionr  Tuple__all__r  re  ry  r   r   r#   r
   r   r  r  r  r  r  r  r  r,  r   r   r   <module>rS     s    "< . # # ' M M : $0 
 
Q;$	? 	 z zz3ow oh 	

)
 )
X. ..k ..{ .d
 d
Np pr   