+
     Bi%                         R t ^ RItRR ltRR lt ! R R]P                  4      t ! R R]P
                  4      t ! R R	]P                  4      t ! R
 R]P                  4      tR t	R# )a  Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:

* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
  first three bytes.

* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
  bytes will be skipped.
Nc                 |    \         P                  \         P                  ! W4      ^ ,          ,           \        V 4      3#     )codecsBOM_UTF8utf_8_encodelen)inputerrorss   &&*/usr/lib/python3.14/encodings/utf_8_sig.pyencoder      s/    OOf11%@CCJ     c                     ^ pV R,          \         P                  8X  d   V R,          p ^p\         P                  ! WR4      w  r4W4V,           3# )r   N   Nr   NNT)r   r   utf_8_decode)r	   r
   prefixoutputconsumeds   &&   r   decoder      sG    FRyFOO#b	,,UDAVVO$$r   c                   F   a  ] tR t^t o RR ltR	R ltR tR tR tRt	V t
R# )
IncrementalEncoderc                R    \         P                  P                  W4       ^V n        R#    N)r   r   __init__firstselfr
   s   &&r   r   IncrementalEncoder.__init__   s    !!**48
r   c                    V P                   '       dD   ^ V n         \        P                  \        P                  ! WP                  4      ^ ,          ,           # \        P                  ! WP                  4      ^ ,          # r   )r   r   r   r   r
   )r   r	   finals   &&&r   r   IncrementalEncoder.encode   sV    :::DJ??&&ukk:1=> > &&ukk:1==r   c                R    \         P                  P                  V 4       ^V n        R# r   )r   r   resetr   r   s   &r   r%   IncrementalEncoder.reset'   s    !!''-
r   c                    V P                   # Nr   r&   s   &r   getstateIncrementalEncoder.getstate+   s    zzr   c                    Wn         R # r)   r*   r   states   &&r   setstateIncrementalEncoder.setstate.   s    
r   r*   Nstrict)F)__name__
__module____qualname____firstlineno__r   r   r%   r+   r0   __static_attributes____classdictcell____classdict__s   @r   r   r      s#     > r   r   c                   B   a  ] tR t^1t o RR ltR tR tR tR tRt	V t
R# )	IncrementalDecoderc                R    \         P                  P                  W4       ^V n        R# r   )r   BufferedIncrementalDecoderr   r   r   s   &&r   r   IncrementalDecoder.__init__2   s    ))224@
r   c                l   V P                   '       d   \        V4      ^8  d0   \        P                  P	                  V4      '       d   R# ^ V n         MM^ V n         VR,          \        P                  8X  d+   \        P
                  ! VR,          W#4      w  rEWE^,           3# \        P
                  ! WV4      # r   r   r   ) r   )r   r   r   r   
startswithr   )r   r	   r
   r"   r   r   s   &&&&  r   _buffer_decode!IncrementalDecoder._buffer_decode6   s    :::5zA~??--e44 #N!"DJ
9/**59fD 'V"QJ//""5%88r   c                R    \         P                  P                  V 4       ^V n        R# r   )r   r?   r%   r   r&   s   &r   r%   IncrementalDecoder.resetG   s    ))//5
r   c                j    \         P                  P                  V 4      pV^ ,          V P                  3# r   )r   r?   r+   r   r.   s   & r   r+   IncrementalDecoder.getstateK   s+    11::4@a$**%%r   c                `    \         P                  P                  W4       V^,          V n        R# r   )r   r?   r0   r   r.   s   &&r   r0   IncrementalDecoder.setstateP   s!    ))224?1X
r   r*   Nr2   )r4   r5   r6   r7   r   rE   r%   r+   r0   r8   r9   r:   s   @r   r=   r=   1   s#     9"&
 r   r=   c                   0   a  ] tR t^Ut o R tRR ltRtV tR# )StreamWriterc                n    \         P                  P                  V 4        V =R #   \         d     R # i ; ir)   )r   rN   r%   r   AttributeErrorr&   s   &r   r%   StreamWriter.resetV   2    !!$'	 		   % 44c                B    \         P                  V n        \        W4      # r)   )r   r   r   )r   r	   r
   s   &&&r   r   StreamWriter.encode]   s    ))e$$r   )r   Nr2   )r4   r5   r6   r7   r%   r   r8   r9   r:   s   @r   rN   rN   U   s     % %r   rN   c                   0   a  ] tR t^at o R tRR ltRtV tR# )StreamReaderc                n    \         P                  P                  V 4        V =R #   \         d     R # i ; ir)   )r   rW   r%   r   rP   r&   s   &r   r%   StreamReader.resetb   rR   rS   c                ~   \        V4      ^8  d)   \        P                  P                  V4      '       d   R# M[VR,          \        P                  8X  d@   \        P                  V n        \        P                  ! VR,          V4      w  r4W4^,           3# \        P                  V n        \        P                  ! W4      # rB   )r   r   r   rD   r   r   )r   r	   r
   r   r   s   &&&  r   r   StreamReader.decodei   s    u:>))%00  1 2Y&//) --DK!'!4!4U2Yv!FVQJ''))""511r   )r   Nr2   )r4   r5   r6   r7   r%   r   r8   r9   r:   s   @r   rW   rW   a   s     2 2r   rW   c            
      l    \         P                  ! R \        \        \        \
        \        \        R7      # )z	utf-8-sig)namer   r   incrementalencoderincrementaldecoderstreamreaderstreamwriter)r   	CodecInfor   r   r   r=   rW   rN    r   r   getregentryrd   y   s*    --!! r   r2   )
__doc__r   r   r   r   r?   r=   rN   rW   rd   rc   r   r   <module>rf      sg    %22 .":: "H
%6&& 
%26&& 20	r   