
    h+                         S SK Jr  S SKrSSKJrJrJrJr  SSKJ	r	J
r
JrJr  SSKJr   SS/r " S	 S\5      r " S
 S\5      rg)    )absolute_importN   )	YAMLErrorFileMark
StringMarkYAMLStreamError)	text_typebinary_typePY3UNICODE_SIZE)RegExpReaderReaderErrorc                        \ rS rSrS rS rSrg)r   %   c                 @    Xl         X0l        X l        X@l        XPl        g N)name	characterpositionencodingreason)selfr   r   r   r   r   s         R/home/james-whalen/.local/lib/python3.13/site-packages/srsly/ruamel_yaml/reader.py__init__ReaderError.__init__&   s    	"      c                 ,   [        U R                  [        5      (       aE  SU R                  [	        U R                  5      U R
                  U R                  U R                  4-  $ SU R                  U R
                  U R                  U R                  4-  $ )Nz>'%s' codec can't decode byte #x%02x: %s
  in "%s", position %dz8unacceptable character #x%04x: %s
  in "%s", position %d)
isinstancer   r
   r   ordr   r   r   r   s    r   __str__ReaderError.__str__.   s    dnnk22) MM'KKIIMM
 R			U  r   )r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r"   __static_attributes__ r   r   r   r   %   s    r   c            
       b   \ rS rSrSS jrS r\S 5       r\R                  S 5       rSS jr	SS jr
SS	 jrSS
 jrS rS r\S:X  a	  \" S5      rO\" S5      rSSR%                  \" \\" SS5      5      5      -   R-                  S5      r\S 5       r\S 5       r\S 5       rS rS rSS jrSrg)r   E   Nc                     X l         U R                   b(  [        U R                   SS 5      c  X R                   l        U R                  5         Xl        g )N_reader)loadergetattrr-   reset_readerstream)r   r1   r.   s      r   r   Reader.__init__S   s>    ;;"wt{{It'L'T"&KKr   c                     S U l         SU l        SU l        SU l        SU l        S U l        S U l        S U l        SU l        SU l	        SU l
        g )Nr   T )r   stream_pointereofbufferpointer
raw_buffer
raw_decoder   indexlinecolumnr!   s    r   r0   Reader.reset_reader[   sP    	
	r   c                 N     U R                   $ ! [         a    [        S5      ef = f)Nzinput stream needs to specified)_streamAttributeErrorr   r!   s    r   r1   Reader.streami   s/    	E<< 	E!"CDD	Es    $c                    Uc  g S U l         [        U[        5      (       a#  SU l        U R	                  U5        US-   U l        g [        U[        5      (       a  SU l        Xl        U R                  5         g [        US5      (       d  [        S5      eXl         [        U R                  SS5      U l        SU l        S U l        U R                  5         g )	Nz<unicode string> z<byte string>readz-stream argument needs to have a read() methodr   z<file>F)r@   r   r	   r   check_printabler7   r
   r9   determine_encodinghasattrr   r/   r1   r6   )r   vals     r   r1   rB   q   s     ;c9%%*DI  %+DK[))'DI!O##%3''%&UVVLVX>DIDH"DO##%r   c                      U R                   U R                  U-      $ ! [         a3    U R                  US-   5        U R                   U R                  U-      s $ f = f)Nr   )r7   r8   
IndexErrorupdate)r   r;   s     r   peekReader.peek   sV    	5;;t||e344 	5KK	";;t||e344	5s    :AAc                     U R                   U-   [        U R                  5      :  a  U R                  U5        U R                  U R                   U R                   U-    $ r   )r8   lenr7   rL   )r   lengths     r   prefixReader.prefix   sF    <<& C$44KK{{4<<$,,*?@@r   c                    U R                   U-   S-   [        U R                  5      :  a  U R                  US-   5        US:w  a  U R                  U R                      nU =R                   S-  sl         U =R                  S-  sl        US;   d#  US:X  a:  U R                  U R                      S:w  a  U =R
                  S-  sl        SU l        OUS:w  a  U =R                  S-  sl        US-  nUS:w  a  M  g g )Nr   r   u	   
  
   ﻿r8   rP   r7   rL   r;   r<   r=   r   rQ   chs      r   forward_1_1Reader.forward_1_1   s    <<& 1$DKK(88KK
#kT\\*BLLALJJ!OJ**eDLL 9U B		Q	yq aKF kr   c                    U R                   U-   S-   [        U R                  5      :  a  U R                  US-   5        US:w  a  U R                  U R                      nU =R                   S-  sl         U =R                  S-  sl        US:X  d#  US:X  a:  U R                  U R                      S:w  a  U =R
                  S-  sl        SU l        OUS:w  a  U =R                  S-  sl        US-  nUS:w  a  M  g g )Nr   r   rV   rU   rW   rX   rY   s      r   forwardReader.forward   s    <<& 1$DKK(88KK
#kT\\*BLLALJJ!OJU{rU{t{{4<</HE/Q		Q	yq aKF kr   c                     U R                   cL  [        U R                  U R                  U R                  U R
                  U R                  U R                  5      $ [        U R                  U R                  U R                  U R
                  5      $ r   )	r1   r   r   r;   r<   r=   r7   r8   r   r!   s    r   get_markReader.get_mark   sa    ;;		4::tyy$++t{{DLL  DIItzz499dkkJJr   c                    U R                   (       dq  U R                  b  [        U R                  5      S:  aK  U R                  5         U R                   (       d*  U R                  c  M0  [        U R                  5      S:  a  MK  [	        U R                  [
        5      (       a  U R                  R                  [        R                  5      (       a  [        R                  U l
        SU l        OgU R                  R                  [        R                  5      (       a  [        R                  U l
        SU l        O[        R                  U l
        SU l        U R                  S5        g )N   z	utf-16-lez	utf-16-bezutf-8r   )r6   r9   rP   
update_rawr   r
   
startswithcodecsBOM_UTF16_LEutf_16_le_decoder:   r   BOM_UTF16_BEutf_16_be_decodeutf_8_decoderL   r!   s    r   rG   Reader.determine_encoding   s    (( 73t;ORS;SOO (( 73t;ORS;Sdoo{33))&*=*=>>"("9"9 +++F,?,?@@"("9"9 +"("5"5 'Ar   rd   u   [^	
 -~ -퟿-�]u!   [^	
 -~ -퟿-�𐀀-􏿿]z	
r4          asciic                     UR                  S5      nUR                  S U R                  5      nU(       d  g US S nUR                  U5      UR	                  S5      4$ )Nrp   r   )encode	translate_printable_asciir;   decode)clsdataascii_bytesnon_printablesnon_printables        r   _get_non_printable_asciiReader._get_non_printable_ascii   sb     kk'*$..#&&
 &r*  /1E1Eg1NNNr   c                     U R                   R                  U5      n[        U5      (       d  g UR                  5       UR	                  5       4$ r   )NON_PRINTABLEsearchboolstartgroup)rv   rw   matchs      r   _get_non_printable_regexReader._get_non_printable_regex   s=     !!((.E{{{{}ekkm++r   c                 h     U R                  U5      $ ! [         a    U R                  U5      s $ f = fr   )r{   UnicodeEncodeErrorr   )rv   rw   s     r   _get_non_printableReader._get_non_printable   s8    	6//55! 	6//55	6s    11c                     U R                  U5      nUbX  Uu  p4U R                  [        U R                  5      U R                  -
  -   U-   n[        U R                  U[        U5      SS5      eg )Nunicodez"special characters are not allowed)r   r;   rP   r7   r8   r   r   r    )r   rw   non_printable_matchr   r   r   s         r   rF   Reader.check_printable   so    "55d;*2EzzS%5%DEMH		I4  +r   c                    U R                   c  g U R                  U R                  S  U l        SU l        [        U R                  5      U:  a  U R                  (       d  U R                  5         U R                  b+   U R                  U R                   SU R                  5      u  p#OU R                   n[        U5      nU R#                  U5        U =R                  U-  sl        U R                   US  U l         U R                  (       a  U =R                  S-  sl        S U l         g [        U R                  5      U:  a  M  g g ! [         a  n[        (       a  U R                   UR                     nOUR                  UR                     nU R                  b0  U R                  [        U R                   5      -
  UR                  -   nOIU R                  b0  U R                  [        U R                   5      -
  UR                  -   nOUR                  n[        U R                  XeUR                  UR                   5      eS nAff = f)Nr   strictrD   )r9   r7   r8   rP   r6   re   r:   UnicodeDecodeErrorr   r   objectr1   r5   r   r   r   r   rF   )r   rQ   rw   	convertedexcr   r   s          r   rL   Reader.update
  s   ??"kk$,,.1$++'88!*&*oo488'OD), I	  &KK4K"ooij9DOxxt#"&G $++' * s$(OOCII$>	$'JJsyy$9	{{. //#doo2FFR ! 0 //#doo2FFR ! $'99%		8cjj s   <)E 
IC0H<<Ic                 
   Uc  [         (       a  SOSnU R                  R                  U5      nU R                  c  X l        OU =R                  U-  sl        U =R                  [        U5      -  sl        U(       d  SU l        g g )Ni   i   T)r   r1   rE   r9   r5   rP   r6   )r   sizerw   s      r   re   Reader.update_raw5  sg    <34DD{{%??""OOOt#Os4y(DH r   )r@   r7   r=   r   r6   r;   r<   r.   r   r8   r9   r:   r1   r5   r   )r   )r   ) r$   r%   r&   r'   r   r0   propertyr1   setterrM   rR   r[   r^   ra   rG   r   r   r~   joinmapchrrangerr   rt   classmethodr{   r   r   rF   rL   re   r(   r)   r   r   r   r   E   s    E E ]]& &,5A"K  qO
 
 'S%d:K1L)MMUU 	O 	O , , 6 6)Vr   )
__future__r   rg   errorr   r   r   r   compatr	   r
   r   r   utilr   typingAnyDictOptionalListUnionTextTuple__all__r   r   r   r)   r   r   <module>r      sH    '*  C C = =  ]
#) @{V {r   