
    %hO                     `    S S/r SSKJr  SSK7   " S S\5      r " S S5      r " S S 5      rg	)
ScannerScannerError   )MarkedYAMLError)*c                       \ rS rSrSrg)r        N)__name__
__module____qualname____firstlineno____static_attributes__r	       D/var/www/auris/envauris/lib/python3.13/site-packages/yaml/scanner.pyr   r       s    r   c                       \ rS rSrS rSrg)	SimpleKey#   c                 L    Xl         X l        X0l        X@l        XPl        X`l        g N)token_numberrequiredindexlinecolumnmark)selfr   r   r   r   r   r   s          r   __init__SimpleKey.__init__&   s!    ( 
		r   )r   r   r   r   r   r   N)r
   r   r   r   r   r   r	   r   r   r   r   #   s    r   r   c                   <   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5S4 r6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<S; r=S< r>S= r?S> r@S? rA0 S@SA_SBSC_SDSE_SFSG_SGSG_SHSI_SJSK_SLSM_SNSO_SPSQ_SRSR_SSSS_STST_SUSU_SVSW_SXSY_SZS[_S\S]0ErBS^S_S`Sa.rCSb rDSc rESd rFSe rGSf rHSg rISh rJSi rKSj rLSkrMgl)mr   .   c                     SU l         SU l        / U l        U R                  5         SU l        SU l        / U l        SU l        0 U l        g)zInitialize the scanner.F    TN)	done
flow_leveltokensfetch_stream_starttokens_takenindentindentsallow_simple_keypossible_simple_keysr   s    r   r   Scanner.__init__0   s[     	   	!   , !% %'!r   c                     U R                  5       (       a'  U R                  5         U R                  5       (       a  M'  U R                  (       a1  U(       d  gU H#  n[        U R                  S   U5      (       d  M#    g   g)NTr"   F)need_more_tokensfetch_more_tokensr&   
isinstance)r   choiceschoices      r   check_tokenScanner.check_tokenq   sb    ##%%""$ ##%%;;!dkk!nf55 " r   c                     U R                  5       (       a'  U R                  5         U R                  5       (       a  M'  U R                  (       a  U R                  S   $ g )Nr"   )r0   r1   r&   r-   s    r   
peek_tokenScanner.peek_token}   sH     ##%%""$ ##%%;;;;q>!r   c                     U R                  5       (       a'  U R                  5         U R                  5       (       a  M'  U R                  (       a0  U =R                  S-  sl        U R                  R	                  S5      $ g )Nr   r"   )r0   r1   r&   r(   popr-   s    r   	get_tokenScanner.get_token   s^    ##%%""$ ##%%;;";;??1%% r   c                     U R                   (       a  gU R                  (       d  gU R                  5         U R                  5       U R                  :X  a  gg )NFT)r$   r&   stale_possible_simple_keysnext_possible_simple_keyr(   r-   s    r   r0   Scanner.need_more_tokens   sD    99{{ 	'')((*d.?.?? @r   c                    U R                  5         U R                  5         U R                  U R                  5        U R	                  5       nUS:X  a  U R                  5       $ US:X  a%  U R                  5       (       a  U R                  5       $ US:X  a%  U R                  5       (       a  U R                  5       $ US:X  a%  U R                  5       (       a  U R                  5       $ US:X  a  U R                  5       $ US:X  a  U R                  5       $ US:X  a  U R                  5       $ US:X  a  U R                  5       $ US	:X  a  U R!                  5       $ US:X  a%  U R#                  5       (       a  U R%                  5       $ US
:X  a%  U R'                  5       (       a  U R)                  5       $ US:X  a%  U R+                  5       (       a  U R-                  5       $ US:X  a  U R/                  5       $ US:X  a  U R1                  5       $ US:X  a  U R3                  5       $ US:X  a!  U R4                  (       d  U R7                  5       $ US:X  a!  U R4                  (       d  U R9                  5       $ US:X  a  U R;                  5       $ US:X  a  U R=                  5       $ U R?                  5       (       a  U RA                  5       $ [C        SS SU-  U RE                  5       5      e)N %-.[{]},?:r   &!|>'"z!while scanning for the next tokenz.found character %r that cannot start any token)#scan_to_next_tokenr?   unwind_indentr   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_tagr%   fetch_literalfetch_foldedfetch_singlefetch_doublecheck_plainfetch_plainr   get_markr   chs     r   r1   Scanner.fetch_more_tokens   s    	! 	'') 	4;;' YY[ :((** 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__$$&& :$$&& :$$&& ##%% >@2E! 	!r   c                     S nU R                    H3  nU R                   U   nUb  UR                  U:  d  M'  UR                  nM5     U$ r   )r,   r   )r   min_token_numberlevelkeys       r   r@    Scanner.next_possible_simple_key  sR      ..E++E2C'3+;+;>N+N#&#3#3  /  r   c                 T   [        U R                  5       H  nU R                  U   nUR                  U R                  :w  d  U R                  UR                  -
  S:  d  MK  UR                  (       a&  [        SUR                  SU R                  5       5      eU R                  U	 M     g )Ni   while scanning a simple keycould not find expected ':')listr,   r   r   r   r   r   rr   )r   rx   ry   s      r   r?   "Scanner.stale_possible_simple_keys  s     $334E++E2Cxx499$zz#))+d2<<&'Dchh94==?L L--e4 5r   c           	         U R                   (       + =(       a    U R                  U R                  :H  nU R                  (       a  U R	                  5         U R
                  [        U R                  5      -   n[        X!U R                  U R                  U R                  U R                  5       5      nX0R                  U R                   '   g g r   )r%   r)   r   r+   remove_possible_simple_keyr(   lenr&   r   r   r   rr   r,   )r   r   r   ry   s       r   save_possible_simple_key Scanner.save_possible_simple_key'  s     &E4;;$+++E   ++-,,S-==LLJJ		4;;IC9<%%doo6 !r   c                    U R                   U R                  ;   ah  U R                  U R                      nUR                  (       a&  [        SUR                  SU R                  5       5      eU R                  U R                   	 g g )Nr|   r}   )r%   r,   r   r   r   rr   )r   ry   s     r   r   "Scanner.remove_possible_simple_key8  sk    ??d777++DOO<C||"#@#((5t}}H H ))$//: 8r   c                    U R                   (       a  g U R                  U:  af  U R                  5       nU R                  R	                  5       U l        U R
                  R                  [        X"5      5        U R                  U:  a  Me  g g r   )r%   r)   rr   r*   r;   r&   appendBlockEndToken)r   r   r   s      r   rU   Scanner.unwind_indentE  s`     ?? kkF"==?D,,**,DKKK}T89 kkF"r   c                 |    U R                   U:  a,  U R                  R                  U R                   5        Xl         gg)NTF)r)   r*   r   )r   r   s     r   
add_indentScanner.add_indent]  s/    ;;LL, Kr   c                 ~    U R                  5       nU R                  R                  [        XU R                  S95        g )N)encoding)rr   r&   r   StreamStartTokenr   r   r   s     r   r'   Scanner.fetch_stream_startg  s4    
 }} 	+D]]$ 	%r   c                     U R                  S5        U R                  5         SU l        0 U l        U R	                  5       nU R
                  R                  [        X5      5        SU l        g )Nr#   FT)	rU   r   r+   r,   rr   r&   r   StreamEndTokenr$   r   s     r   rW   Scanner.fetch_stream_ends  s_     	2 	'') %$&! }} 	>$56 	r   c                     U R                  S5        U R                  5         SU l        U R                  R	                  U R                  5       5        g )Nr#   F)rU   r   r+   r&   r   scan_directiver-   s    r   rY   Scanner.fetch_directive  sE     	2 	'') % 	4..01r   c                 .    U R                  [        5        g r   )fetch_document_indicatorDocumentStartTokenr-   s    r   r[   Scanner.fetch_document_start  s    %%&89r   c                 .    U R                  [        5        g r   )r   DocumentEndTokenr-   s    r   r]   Scanner.fetch_document_end  s    %%&67r   c                     U R                  S5        U R                  5         SU l        U R                  5       nU R	                  S5        U R                  5       nU R
                  R                  U" X#5      5        g )Nr#   F   )rU   r   r+   rr   forwardr&   r   r   
TokenClass
start_markend_marks       r   r    Scanner.fetch_document_indicator  sb     	2 	'') % ]]_
Q==?:j;<r   c                 .    U R                  [        5        g r   )fetch_flow_collection_startFlowSequenceStartTokenr-   s    r   r^   !Scanner.fetch_flow_sequence_start  s    (()?@r   c                 .    U R                  [        5        g r   )r   FlowMappingStartTokenr-   s    r   r_    Scanner.fetch_flow_mapping_start  s    (()>?r   c                     U R                  5         U =R                  S-  sl        SU l        U R                  5       nU R	                  5         U R                  5       nU R
                  R                  U" X#5      5        g )Nr   T)r   r%   r+   rr   r   r&   r   r   s       r   r   #Scanner.fetch_flow_collection_start  sb     	%%' 	1 !% ]]_
==?:j;<r   c                 .    U R                  [        5        g r   )fetch_flow_collection_endFlowSequenceEndTokenr-   s    r   r`   Scanner.fetch_flow_sequence_end  s    &&';<r   c                 .    U R                  [        5        g r   )r   FlowMappingEndTokenr-   s    r   ra   Scanner.fetch_flow_mapping_end  s    &&':;r   c                     U R                  5         U =R                  S-  sl        SU l        U R                  5       nU R	                  5         U R                  5       nU R
                  R                  U" X#5      5        g )Nr   F)r   r%   r+   rr   r   r&   r   r   s       r   r   !Scanner.fetch_flow_collection_end  sb     	'') 	1 !& ]]_
==?:j;<r   c                     SU l         U R                  5         U R                  5       nU R                  5         U R                  5       nU R                  R                  [        X5      5        g NT)r+   r   rr   r   r&   r   FlowEntryToken)r   r   r   s      r   rb   Scanner.fetch_flow_entry  sR     !% 	'') ]]_
==?>*?@r   c                    U R                   (       d  U R                  (       d  [        S S SU R                  5       5      eU R	                  U R
                  5      (       a4  U R                  5       nU R                  R                  [        X5      5        O SU l        U R                  5         U R                  5       nU R                  5         U R                  5       nU R                  R                  [        X#5      5        g )Nz%sequence entries are not allowed hereT)r%   r+   r   rr   r   r   r&   r   BlockSequenceStartTokenr   r   BlockEntryTokenr   r   r   r   s       r   rd   Scanner.fetch_block_entry  s      (("4?) )
 t{{++}}""#:4#FG
  !% 	'') ]]_
==??:@Ar   c                    U R                   (       d  U R                  (       d  [        S S SU R                  5       5      eU R	                  U R
                  5      (       a4  U R                  5       nU R                  R                  [        X5      5        U R                   (       + U l        U R                  5         U R                  5       nU R                  5         U R                  5       nU R                  R                  [        X#5      5        g )Nz!mapping keys are not allowed here)r%   r+   r   rr   r   r   r&   r   BlockMappingStartTokenr   r   KeyTokenr   s       r   rf   Scanner.fetch_key  s      (("4;) )
 t{{++}}""#9$#EF %)OO 3 	'') ]]_
==?8J9:r   c                    U R                   U R                  ;   Ga  U R                  U R                      nU R                  U R                   	 U R                  R                  UR                  U R
                  -
  [        UR                  UR                  5      5        U R                   (       dq  U R                  UR                  5      (       aQ  U R                  R                  UR                  U R
                  -
  [        UR                  UR                  5      5        SU l        OU R                   (       d-  U R                  (       d  [        S S SU R                  5       5      eU R                   (       dT  U R                  U R                  5      (       a4  U R                  5       nU R                  R                  [        X"5      5        U R                   (       + U l        U R                  5         U R                  5       nU R!                  5         U R                  5       nU R                  R                  [#        X45      5        g )NFz#mapping values are not allowed here)r%   r,   r&   insertr   r(   r   r   r   r   r   r+   r   rr   r   r   r   
ValueToken)r   ry   r   r   r   s        r   rh   Scanner.fetch_value!  s    ??d777 ++DOO<C))$//:KKs//0A0AASXXsxx02
 ????3::..KK&&s'7'78I8I'I2388SXXFH %*D! ?? ,,&tTA MMO- - ????4;;//==?DKK&&'=d'IJ )-$7D! ++- ]]_
==?:j;<r   c                     U R                  5         SU l        U R                  R                  U R	                  [
        5      5        g NF)r   r+   r&   r   scan_anchor
AliasTokenr-   s    r   ri   Scanner.fetch_aliasY  s9     	%%' !& 	4++J78r   c                     U R                  5         SU l        U R                  R                  U R	                  [
        5      5        g r   )r   r+   r&   r   r   AnchorTokenr-   s    r   rj   Scanner.fetch_anchord  s9     	%%' !& 	4++K89r   c                     U R                  5         SU l        U R                  R                  U R	                  5       5        g r   )r   r+   r&   r   scan_tagr-   s    r   rk   Scanner.fetch_tago  s4     	%%' !& 	4==?+r   c                 "    U R                  SS9  g )NrP   stylefetch_block_scalarr-   s    r   rl   Scanner.fetch_literalz      c*r   c                 "    U R                  SS9  g )NrQ   r   r   r-   s    r   rm   Scanner.fetch_folded}  r   r   c                     SU l         U R                  5         U R                  R                  U R	                  U5      5        g r   )r+   r   r&   r   scan_block_scalarr   r   s     r   r   Scanner.fetch_block_scalar  s9     !% 	'') 	411%89r   c                 "    U R                  SS9  g )NrR   r   fetch_flow_scalarr-   s    r   rn   Scanner.fetch_single  s    T*r   c                 "    U R                  SS9  g )NrS   r   r   r-   s    r   ro   Scanner.fetch_double  s    S)r   c                     U R                  5         SU l        U R                  R                  U R	                  U5      5        g r   )r   r+   r&   r   scan_flow_scalarr   s     r   r   Scanner.fetch_flow_scalar  s9     	%%' !& 	40078r   c                     U R                  5         SU l        U R                  R                  U R	                  5       5        g r   )r   r+   r&   r   
scan_plainr-   s    r   rq   Scanner.fetch_plain  s5     	%%'
 !& 	4??,-r   c                 &    U R                   S:X  a  gg )Nr"   T)r   r-   s    r   rX   Scanner.check_directive  s     ;;! r   c                 ~    U R                   S:X  a-  U R                  S5      S:X  a  U R                  S5      S;   a  gg g g )Nr"   r   ---     	
  Tr   prefixrV   r-   s    r   rZ   Scanner.check_document_start  D     ;;!{{1~&		!(CC D ' r   c                 ~    U R                   S:X  a-  U R                  S5      S:X  a  U R                  S5      S;   a  gg g g )Nr"   r   ...r   Tr   r-   s    r   r\   Scanner.check_document_end  r   r   c                 *    U R                  S5      S;   $ )Nr   r   )rV   r-   s    r   rc   Scanner.check_block_entry  s     yy|:::r   c                 N    U R                   (       a  gU R                  S5      S;   $ NTr   r   r%   rV   r-   s    r   re   Scanner.check_key  $     ?? 99Q<#>>>r   c                 N    U R                   (       a  gU R                  S5      S;   $ r   r   r-   s    r   rg   Scanner.check_value  r  r   c                     U R                  5       nUS;  =(       dD    U R                  S5      S;  =(       a)    US:H  =(       d    U R                  (       + =(       a    US;   $ )Nu      	
  -?:,[]{}#&*!|>'"%@`r   r   rE   z?:)rV   r%   rs   s     r   rp   Scanner.check_plain  sW     YY[II QIIaL(CC P3YNt+>+M2:	Qr   c                    U R                   S:X  a$  U R                  5       S:X  a  U R                  5         SnU(       d  U R                  5       S:X  a&  U R                  5         U R                  5       S:X  a  M&  U R                  5       S:X  a:  U R                  5       S;  a&  U R                  5         U R                  5       S;  a  M&  U R                  5       (       a  U R                  (       d  SU l        OSnU(       d  M  g g )Nr"   u   ﻿F #    
  T)r   rV   r   scan_line_breakr%   r+   )r   founds     r   rT   Scanner.scan_to_next_token  s    ( ::?tyy{h6LLN))+$ ))+$yy{c!iik)AALLN iik)AA##%%,0D) %r   c                    U R                  5       nU R                  5         U R                  U5      nS nUS:X  a"  U R                  U5      nU R                  5       nOrUS:X  a"  U R	                  U5      nU R                  5       nOJU R                  5       nU R                  5       S;  a&  U R                  5         U R                  5       S;  a  M&  U R                  U5        [        X#X5      $ )NYAMLTAGr	  )rr   r   scan_directive_namescan_yaml_directive_valuescan_tag_directive_valuerV   scan_directive_ignored_lineDirectiveToken)r   r   namevaluer   s        r   r   Scanner.scan_directive  s    ]]_
''
36>22:>E}}HU]11*=E}}H}}H))+%== ))+%==((4d:@@r   c                 .   SnU R                  U5      nSUs=::  a  S::  d&  O  SUs=::  a  S::  d  O  SUs=::  a  S::  d  O  US;   aQ  US	-  nU R                  U5      nSUs=::  a  S::  a  M%  O  SUs=::  a  S::  a  M6  O  SUs=::  a  S::  a  MG  O  US;   a  MQ  U(       d  [        S
USU-  U R                  5       5      eU R                  U5      nU R	                  U5        U R                  5       nUS;  a  [        S
USU-  U R                  5       5      eU$ )Nr"   09AZaz-_r   while scanning a directive6expected alphabetic or numeric character, but found %r     
  )rV   r   rr   r   r   )r   r   lengthrt   r  s        r   r  Scanner.scan_directive_name&  s   YYvR3#"2s"2cR6F36F:aKF6"B R3#"2s"2cR6F36F: ;ZL--/+ + F#VYY[..;ZL--/+ + r   c                    U R                  5       S:X  a&  U R                  5         U R                  5       S:X  a  M&  U R                  U5      nU R                  5       S:w  a-  [        SUSU R                  5       -  U R	                  5       5      eU R                  5         U R                  U5      nU R                  5       S;  a-  [        SUSU R                  5       -  U R	                  5       5      eX#4$ )Nr  rF   r   z%expected a digit or '.', but found %rr"  z%expected a digit or ' ', but found %r)rV   r   scan_yaml_directive_numberr   rr   )r   r   majorminors       r   r  !Scanner.scan_yaml_directive_value;  s    iikS LLN iikS //
;99;#;Z;diikIMMO% % 	//
;99;77;Z;diikIMMO% % ~r   c                 d   U R                  5       nSUs=::  a  S::  d!  O  [        SUSU-  U R                  5       5      eSnSU R                  U5      s=::  a  S::  a(  O  O%US-  nSU R                  U5      s=::  a  S::  a  M#  O  [        U R	                  U5      5      nU R                  U5        U$ )Nr  r  r   zexpected a digit, but found %rr"   r   )rV   r   rr   intr   r   )r   r   rt   r#  r  s        r   r&  "Scanner.scan_yaml_directive_numberL  s    YY[r S ;Z4r94==?L LTYYv&-#-aKF TYYv&-#-DKK'(Vr   c                 4   U R                  5       S:X  a&  U R                  5         U R                  5       S:X  a  M&  U R                  U5      nU R                  5       S:X  a&  U R                  5         U R                  5       S:X  a  M&  U R                  U5      nX#4$ )Nr  )rV   r   scan_tag_directive_handlescan_tag_directive_prefix)r   r   handler   s       r   r   Scanner.scan_tag_directive_valueY  sy    iikS LLN iikS //
;iikS LLN iikS //
;r   c                     U R                  SU5      nU R                  5       nUS:w  a  [        SUSU-  U R                  5       5      eU$ )N	directiver  r   expected ' ', but found %r)scan_tag_handlerV   r   rr   r   r   r  rt   s       r   r.  !Scanner.scan_tag_directive_handlec  sO    $$[*=YY[9;Z025t}}H Hr   c                     U R                  SU5      nU R                  5       nUS;  a  [        SUSU-  U R                  5       5      eU$ )Nr3  r"  r   r4  )scan_tag_urirV   r   rr   r6  s       r   r/  !Scanner.scan_tag_directive_prefixl  sQ    !!+z:YY[..;Z025t}}H Hr   c                    U R                  5       S:X  a&  U R                  5         U R                  5       S:X  a  M&  U R                  5       S:X  a:  U R                  5       S;  a&  U R                  5         U R                  5       S;  a  M&  U R                  5       nUS;  a  [        SUSU-  U R                  5       5      eU R	                  5         g )Nr  r  r	  r   0expected a comment or a line break, but found %rrV   r   r   rr   r
  r   r   rt   s      r   r  #Scanner.scan_directive_ignored_lineu  s    iikS LLN iikS 99;#))+%== ))+%==YY[--;ZF"mmo/ / 	r   c                    U R                  5       nU R                  5       nUS:X  a  SnOSnU R                  5         SnU R                  U5      nSUs=::  a  S::  d&  O  SUs=::  a  S::  d  O  S	Us=::  a  S
::  d  O  US;   aQ  US-  nU R                  U5      nSUs=::  a  S::  a  M%  O  SUs=::  a  S::  a  M6  O  S	Us=::  a  S
::  a  MG  O  US;   a  MQ  U(       d"  [        SU-  USU-  U R                  5       5      eU R	                  U5      nU R                  U5        U R                  5       nUS;  a"  [        SU-  USU-  U R                  5       5      eU R                  5       nU" XrU5      $ )Nr   aliasanchorr"   r  r  r  r  r  r  r  r   zwhile scanning an %sr!  u     	
  ?:,]}%@`)rr   rV   r   r   r   )	r   r   r   	indicatorr  r#  rt   r  r   s	            r   r   Scanner.scan_anchor  s^    ]]_
IIK	DDYYvR3#"2s"2cR6F36F:aKF6"B R3#"2s"2cR6F36F: 5<jL--/+ + F#VYY[885<jL--/+ + ==?%X66r   c                    U R                  5       nU R                  S5      nUS:X  aw  S nU R                  S5        U R                  SU5      nU R                  5       S:w  a-  [	        SUSU R                  5       -  U R                  5       5      eU R                  5         OUS;   a  S nS	nU R                  5         OqSnS
nUS;  a'  US	:X  a  SnOUS-  nU R                  U5      nUS;  a  M'  S	nU(       a  U R                  SU5      nOS	nU R                  5         U R                  SU5      nU R                  5       nUS;  a  [	        SUSU-  U R                  5       5      eX44nU R                  5       n[        XqU5      $ )Nr   <   tagrQ   zwhile parsing a tagzexpected '>', but found %rr   rO   Fr"  Tzwhile scanning a tagr4  )rr   rV   r   r9  r   r5  TagToken)	r   r   rt   r0  suffixr#  
use_handler  r   s	            r   r   Scanner.scan_tag  sy   ]]_
YYq\9FLLO&&uj9Fyy{c!"#8*4tyy{B) ) LLN..FFLLNFJ559!%J!YYv& 55 F--eZ@&&uj9FYY[..5z025t}}H H ==?844r   c                    US:X  a  SnOSn/ nU R                  5       nU R                  5         U R                  U5      u  pVU R                  U5        U R                  S-   nUS:  a  SnUc  U R                  5       u  pn
[        Xy5      nOXv-   S-
  nU R                  U5      u  pSnU R                  U:X  Ga_  U R                  5       S:w  GaJ  UR                  U5        U R                  5       S;  nSnU R                  U5      S	;  a  US-  nU R                  U5      S	;  a  M  UR                  U R                  U5      5        U R                  U5        U R                  5       nU R                  U5      u  pU R                  U:X  ag  U R                  5       S:w  aS  U(       a:  US
:X  a4  U(       a-  U R                  5       S;  a  U(       d  UR                  S5        OUR                  U5        OO'U R                  U:X  a  U R                  5       S:w  a  GMJ  USLa  UR                  U5        USL a  UR                  U5        [        SR                  U5      SXJU5      $ )NrQ   TFr    rC    	r"   r	  
r  )rr   r   scan_block_scalar_indicatorsscan_block_scalar_ignored_liner)   scan_block_scalar_indentationmaxscan_block_scalar_breaksr   rV   extendr   r   r
  ScalarTokenjoin)r   r   foldedchunksr   chomping	increment
min_indentbreaks
max_indentr   r)   
line_breakleading_non_spacer#  s                  r   r   Scanner.scan_block_scalar  s    C<FF]]_
 	"??
K++J7 [[]
>J+/+M+M+O(F0F)!+F#<<VDF
 kkV#		t(;MM&! $		5 8F))F#+CC! ))F#+CCMM$++f-.LL --/J#<<VDF{{f$)< jD0-$))+U2J!c*MM*- G kkV#		t(;L 5 MM*%tMM&! 2776?E: 	r   c                 l   S nS nU R                  5       nUS;   ao  US:X  a  SnOSnU R                  5         U R                  5       nUS;   a=  [        U5      nUS:X  a  [        SUSU R	                  5       5      eU R                  5         OtUS;   an  [        U5      nUS:X  a  [        SUSU R	                  5       5      eU R                  5         U R                  5       nUS;   a  US:X  a  SnOSnU R                  5         U R                  5       nUS	;  a  [        SUS
U-  U R	                  5       5      eX#4$ )Nz+-+TF
0123456789r"   while scanning a block scalarz<expected indentation indicator in the range 1-9, but found 0r"  z9expected chomping or indentation indicators, but found %r)rV   r   r+  r   rr   )r   r   r[  r\  rt   s        r   rQ  $Scanner.scan_block_scalar_indicators  s7   	YY[:Sy LLNB\!G	>&'F
Z MMO- - <BIA~"#BJV) ) LLNBTz9#H$HYY[..>
O--/+ + ""r   c                    U R                  5       S:X  a&  U R                  5         U R                  5       S:X  a  M&  U R                  5       S:X  a:  U R                  5       S;  a&  U R                  5         U R                  5       S;  a  M&  U R                  5       nUS;  a  [        SUSU-  U R                  5       5      eU R	                  5         g )Nr  r  r	  rf  r<  r=  r>  s      r   rR  &Scanner.scan_block_scalar_ignored_lineD  s    iikS LLN iikS 99;#))+%== ))+%==YY[-->
FKMMO% % 	r   c                 f   / nSnU R                  5       nU R                  5       S;   a  U R                  5       S:w  a0  UR                  U R                  5       5        U R                  5       nO,U R	                  5         U R
                  U:  a  U R
                  nU R                  5       S;   a  M  XU4$ )Nr"       
  r  )rr   rV   r   r
  r   r   )r   rZ  r_  r   s       r   rS  %Scanner.scan_block_scalar_indentationR  s    
==?iik44yy{c!d2245==?;;+!%J iik44 8++r   c                 F   / nU R                  5       nU R                  U:  aJ  U R                  5       S:X  a6  U R                  5         U R                  U:  a  U R                  5       S:X  a  M6  U R                  5       S;   a  UR	                  U R                  5       5        U R                  5       nU R                  U:  aJ  U R                  5       S:X  a6  U R                  5         U R                  U:  a  U R                  5       S:X  a  M6  U R                  5       S;   a  M  X#4$ )Nr  
   
  )rr   r   rV   r   r   r
  )r   r)   rZ  r   s       r   rU   Scanner.scan_block_scalar_breaksa  s    ==?kkF"tyy{c'9LLN kkF"tyy{c'9iik33MM$..01}}H++&499;#+= ++&499;#+= iik33
 r   c                 
   US:X  a  SnOSn/ nU R                  5       nU R                  5       nU R                  5         UR                  U R	                  X$5      5        U R                  5       U:w  aV  UR                  U R                  X$5      5        UR                  U R	                  X$5      5        U R                  5       U:w  a  MV  U R                  5         U R                  5       n[        SR                  U5      SXFU5      $ )NrS   TFrN  )rr   rV   r   rV  scan_flow_scalar_non_spacesscan_flow_scalar_spacesrW  rX  )r   r   doublerZ  r   quoter   s          r   r   Scanner.scan_flow_scalarn  s     C<FF]]_
		d66vJKiikU"MM$66vJKMM$::6NO iikU" 	==?2776?E: 	r   r  rC   r  bt	nrP  vfrer  rS   \/N   _    Lu    Pu    rG        )xuUc           
      ,   / n SnU R                  U5      S;  a  US-  nU R                  U5      S;  a  M  U(       a1  UR                  U R                  U5      5        U R                  U5        U R                  5       nU(       d?  US:X  a9  U R                  S5      S:X  a$  UR                  S5        U R                  S5        GOU(       a  US:X  d  U(       d)  US;   a#  UR                  U5        U R                  5         GOU(       Ga  US:X  Ga  U R                  5         U R                  5       nXPR                  ;   a0  UR                  U R                  U   5        U R                  5         GO#XPR
                  ;   a  U R
                  U   nU R                  5         [        U5       HG  nU R                  U5      S;  d  M  [        S	US
X@R                  U5      4-  U R                  5       5      e   [        U R                  U5      S5      nUR                  [        U5      5        U R                  U5        OXUS;   a1  U R                  5         UR                  U R                  X5      5        O![        S	USU-  U R                  5       5      eU$ GM  )Nr"   u   '"\  	
  r   rR   rG  z"\r  0123456789ABCDEFabcdefz%while scanning a double-quoted scalarz@expected escape sequence of %d hexadecimal numbers, but found %r   rn  z!found unknown escape character %r)rV   r   r   r   ESCAPE_REPLACEMENTSESCAPE_CODESranger   rr   r+  chrr
  rV  scan_flow_scalar_breaks)r   rs  r   rZ  r#  rt   kcodes           r   rq  #Scanner.scan_flow_scalar_non_spaces  s   F))F#+LL! ))F#+LLdkk&12V$BbDjTYYq\T-Ad#QR4ZB&Lb!B$JYY[111MM$":":2">?LLN,,,!..r2FLLN"6]99Q</GG"./VXb$f)/1(>%?@D#Q Q +
 t{{62B7DMM#d),LL(11((*MM$">">v"RS&'NPZ?"DdmmoW W M r   c                    / nSnU R                  U5      S;   a  US-  nU R                  U5      S;   a  M  U R                  U5      nU R                  U5        U R                  5       nUS:X  a  [        SUSU R	                  5       5      eUS;   ad  U R                  5       nU R                  X5      nUS:w  a  UR                  U5        OU(       d  UR                  S	5        UR                  U5        U$ UR                  U5        U$ )
Nr"   rO  r   rC   while scanning a quoted scalarzfound unexpected end of streamrn  rP  r  )	rV   r   r   r   rr   r
  r  r   rV  )	r   rs  r   rZ  r#  whitespacesrt   r`  r^  s	            r   rr  Scanner.scan_flow_scalar_spaces  s    ii5(aKF ii5(kk&)VYY[:?4dmmoG G))--/J11&EFT!j)c"MM&!  MM+&r   c                    / n U R                  S5      nUS:X  d  US:X  a1  U R                  S5      S;   a  [        SUSU R                  5       5      eU R                  5       S;   a&  U R	                  5         U R                  5       S;   a  M&  U R                  5       S;   a   UR                  U R                  5       5        OU$ M  )	Nr   r   r   r   r  z#found unexpected document separatorrO  rn  )r   rV   r   rr   r   r   r
  )r   rs  r   rZ  r   s        r   r  Scanner.scan_flow_scalar_breaks  s     [[^F%6U?		!(CC"#CZ=t}}P P))+& ))+&yy{44d2245 r   c                    / nU R                  5       nUnU R                  S-   n/ n SnU R                  5       S:X  a  GO U R                  U5      nUS;   dK  US:X  a.  U R                  US-   5      SU R                  (       a  SOS-   ;   d  U R                  (       a  US	;   a  OUS-  nMj  US:X  a  OS
U l        UR                  U5        UR                  U R                  U5      5        U R                  U5        U R                  5       nU R                  XB5      nU(       a5  U R                  5       S:X  d!  U R                  (       d  U R                  U:  a  OGM4  [        SR                  U5      SX#5      $ )Nr   Tr"   r  r   rM   z,[]{}rN  z,?[]{}F)rr   r)   rV   r%   r+   rV  r   r   r   scan_plain_spacesr   rW  rX  )r   rZ  r   r   r)   spacesr#  rt   s           r   r   Scanner.scan_plain  sN    ]]_
Q
 Fyy{c!YYv&44#I $		&( 37R59__#8O !O OOh!  {$)D!MM&!MM$++f-.LL }}H++F?FTYY[C/ OOf0D/ 0 2776?D*GGr   c                 r   / nSnU R                  U5      S;   a  US-  nU R                  U5      S;   a  M  U R                  U5      nU R                  U5        U R                  5       nUS;   Ga0  U R                  5       nSU l        U R                  S5      nUS:X  d  US:X  a  U R                  S5      S	;   a  g / n	U R                  5       S
;   a  U R                  5       S:X  a  U R                  5         ORU	R                  U R                  5       5        U R                  S5      nUS:X  d  US:X  a  U R                  S5      S	;   a  g U R                  5       S
;   a  M  US:w  a  UR                  U5        OU	(       d  UR                  S5        UR                  U	5        U$ U(       a  UR                  U5        U$ )Nr"   r  r   rn  Tr   r   r   r   rk  rP  )rV   r   r   r
  r+   r   rV  )
r   r)   r   rZ  r#  r  rt   r`  r   r^  s
             r   r  Scanner.scan_plain_spaces  sz    ii3&aKF ii3&kk&)VYY[''--/J$(D![[^F%6U?		!(CCF))+!8899;#%LLNMM$"6"6"89![[^F%6U? $		!0K K ))+!88 T!j)c"MM&!  MM+&r   c                 p   U R                  5       nUS:w  a"  [        SU-  USU-  U R                  5       5      eSnU R                  U5      nUS:w  a  SUs=::  a  S::  d&  O  SUs=::  a  S	::  d  O  S
Us=::  a  S::  d  O  US;   aQ  US-  nU R                  U5      nSUs=::  a  S::  a  M%  O  SUs=::  a  S	::  a  M6  O  S
Us=::  a  S::  a  MG  O  US;   a  MQ  US:w  a3  U R                  U5        [        SU-  USU-  U R                  5       5      eUS-  nU R	                  U5      nU R                  U5        U$ )NrO   while scanning a %szexpected '!', but found %rr   r  r  r  r  r  r  r  r  )rV   r   rr   r   r   )r   r  r   rt   r#  r  s         r   r5  Scanner.scan_tag_handleD  s0    YY[94t;Z025t}}H HYYv9"s"cR&63&6#:Js:JTz!YYv& "s"cR&63&6#:Js:JTz SyV$"#84#?4r94==?L LaKFF#Vr   c                    / nSnU R                  U5      nSUs=::  a  S::  d&  O  SUs=::  a  S::  d  O  SUs=::  a  S::  d  O  US;   a  US	:X  aT  UR                  U R                  U5      5        U R                  U5        SnUR                  U R	                  X5      5        OUS
-  nU R                  U5      nSUs=::  a  S::  a  M  O  SUs=::  a  S::  a  M  O  SUs=::  a  S::  a  M  O  US;   a  M  U(       a3  UR                  U R                  U5      5        U R                  U5        SnU(       d"  [        SU-  USU-  U R                  5       5      eSR                  U5      $ )Nr"   r  r  r  r  r  r  z-;/?:@&=+$,_.!~*'()[]%rD   r   zwhile parsing a %szexpected URI, but found %rrN  )rV   r   r   r   scan_uri_escapesr   rr   rX  )r   r  r   rZ  r#  rt   s         r   r9  Scanner.scan_tag_uri\  s:    YYvR3#"2s"2cR6F36F22Sydkk&12V$d33DEF!6"B R3#"2s"2cR6F36F22 MM$++f-.LL F3d:J025t}}H Hwwvr   c           	      R   / nU R                  5       nU R                  5       S:X  a  U R                  5         [        S5       HI  nU R                  U5      S;  d  M  [	        SU-  USU R                  U5      -  U R                  5       5      e   UR                  [        U R                  S5      S5      5        U R                  S5        U R                  5       S:X  a  M   [        U5      R                  S5      nU$ ! [         a  n[	        SU-  U[        U5      U5      eS nAff = f)NrD   rG  r  r  zCexpected URI escape sequence of 2 hexadecimal numbers, but found %rr  zutf-8)rr   rV   r   r  r   r   r+  r   bytesdecodeUnicodeDecodeErrorstr)r   r  r   codesr   r  r  excs           r   r  Scanner.scan_uri_escapesu  s   }}iikS LLN1X99Q<'??&'<t'CZa"iil+,0MMO= = 
 LLT[[^R01LLO iikS 	Y%L''0E  " 	Y4t;ZSSWXX	Ys   !C= =
D&D!!D&c                     U R                  5       nUS;   a8  U R                  S5      S:X  a  U R                  S5        gU R                  5         gUS;   a  U R                  5         U$ g)Nu   
rG  z
rP  u     rN  )rV   r   r   rs   s     r   r
  Scanner.scan_line_break  s^     YY[{{1~'Q  >!LLNIr   )r+   r$   r%   r)   r*   r,   r&   r(   N)Nr
   r   r   r   r   r5   r8   r<   r0   r1   r@   r?   r   r   rU   r   r'   rW   rY   r[   r]   r   r^   r_   r   r`   ra   r   rb   rd   rf   rh   ri   rj   rk   rl   rm   r   rn   ro   r   rq   rX   rZ   r\   rc   re   rg   rp   rT   r   r  r  r&  r  r.  r/  r  r   r   r   rQ  rR  rS  rU  r   r  r  rq  rr  r  r   r  r5  r9  r  r
  r   r	   r   r   r   r   .   sh   ='B
&	h!X 5 ="	;:0	%&
2:8= A@="=<="ABB;86=p	9	:	,++	:+*	9.;
??Q*!FA&*" "7H'5RJX&#P, 0 	 		
 	 	 	 	 	 	 	 	 	 	 	  	!" 	#$ 	%, L)V0$'HR#J02&r   N)__all__errorr   r&   r   r   r   r	   r   r   <module>r     s9   6 n
% " 	? 		 	m mr   