o
    IAf@                  
   @   sB  	 d dl Z d dlZzd dlT W n ey! Z zede dZ[ww g dZdZd ZZ	d Z
ZdZd	Zejd
kr@e	 ZZeZne ZZeZe	ZeZeZeZG dd deZG dd dZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd dZ G dd dZ!dBd"d#Z"dCd$d%Z#d&d' Z$d(d) Z%d*d+ Z&d,d- Z'd.d/ Z(d0d1 Z)dDd2d3Z*dDd4d5Z+d6d7 Z,d8d9 Z-ze.d Z/e.d:Z0e.d;Z1e.d<Z2e.d=Z3e.d>Z4W n e5y   dZ/dZ0dZ1dZ2dZ3dZ4Y nw d Z6e6rd dl7Z7e8d?kre#ej9d@dAe_9e#ej:dAd@e_:dS dS )E    N)*z%Failed to load the builtin codecs: %s),registerlookupopenEncodedFileBOMBOM_BEBOM_LEBOM32_BEBOM32_LEBOM64_BEBOM64_LEBOM_UTF8	BOM_UTF16BOM_UTF16_LEBOM_UTF16_BE	BOM_UTF32BOM_UTF32_LEBOM_UTF32_BE	CodecInfoCodecIncrementalEncoderIncrementalDecoderStreamReaderStreamWriterStreamReaderWriterStreamRecoder
getencoder
getdecodergetincrementalencodergetincrementaldecoder	getreader	getwriterencodedecode
iterencode
iterdecodestrict_errorsignore_errorsreplace_errorsxmlcharrefreplace_errorsbackslashreplace_errorsnamereplace_errorsregister_errorlookup_errors   ﻿s   s   s     s     littlec                   @   s.   e Zd Z	 dZ		dddddZdd ZdS )	r   TN)_is_text_encodingc          
      C   sP   t | ||||f}	||	_||	_||	_||	_||	_||	_||	_|d ur&||	_	|	S N)
tuple__new__namer#   r$   incrementalencoderincrementaldecoderstreamwriterstreamreaderr0   )
clsr#   r$   r8   r7   r5   r6   r4   r0   self r;   /usr/lib/python3.10/codecs.pyr3   ^   s   zCodecInfo.__new__c                 C   s   d| j j| j j| jt| f S )Nz%<%s.%s object for encoding %s at %#x>)	__class__
__module____qualname__r4   idr:   r;   r;   r<   __repr__m   s
   
zCodecInfo.__repr__)NNNNN)__name__r>   r?   r0   r3   rB   r;   r;   r;   r<   r   S   s    r   c                   @   s"   e Zd Z	 dddZdddZdS )r   strictc                 C      	 t r1   NotImplementedErrorr:   inputerrorsr;   r;   r<   r#      s   zCodec.encodec                 C   rE   r1   rF   rH   r;   r;   r<   r$      s   zCodec.decodeNrD   )rC   r>   r?   r#   r$   r;   r;   r;   r<   r   r   s    
r   c                   @   :   e Zd Z	 dddZdddZdd Zd	d
 Zdd ZdS )r   rD   c                 C   s   	 || _ d| _d S N )rJ   bufferr:   rJ   r;   r;   r<   __init__   s   
zIncrementalEncoder.__init__Fc                 C   rE   r1   rF   r:   rI   finalr;   r;   r<   r#         zIncrementalEncoder.encodec                 C      d S r1   r;   rA   r;   r;   r<   reset      zIncrementalEncoder.resetc                 C      	 dS Nr   r;   rA   r;   r;   r<   getstate   rT   zIncrementalEncoder.getstatec                 C   rU   r1   r;   r:   stater;   r;   r<   setstate   rW   zIncrementalEncoder.setstateNrK   F)rC   r>   r?   rQ   r#   rV   rZ   r]   r;   r;   r;   r<   r      s    

r   c                   @   B   e Zd Z	 dddZdd ZdddZd	d
 Zdd Zdd ZdS )BufferedIncrementalEncoderrD   c                 C      t | | d| _d S rM   )r   rQ   rO   rP   r;   r;   r<   rQ         
z#BufferedIncrementalEncoder.__init__c                 C      t r1   rF   r:   rI   rJ   rS   r;   r;   r<   _buffer_encode      z)BufferedIncrementalEncoder._buffer_encodeFc                 C   0   | j | }| || j|\}}||d  | _ |S r1   )rO   re   rJ   r:   rI   rS   dataresultconsumedr;   r;   r<   r#         
z!BufferedIncrementalEncoder.encodec                 C      t |  d| _d S rM   )r   rV   rO   rA   r;   r;   r<   rV         

z BufferedIncrementalEncoder.resetc                 C   s
   | j pdS rY   rO   rA   r;   r;   r<   rZ      s   
z#BufferedIncrementalEncoder.getstatec                 C   s   |pd| _ d S rM   ro   r[   r;   r;   r<   r]         z#BufferedIncrementalEncoder.setstateNrK   r^   )	rC   r>   r?   rQ   re   r#   rV   rZ   r]   r;   r;   r;   r<   r`      s    

r`   c                   @   rL   )r   rD   c                 C   s   	 || _ d S r1   )rJ   rP   r;   r;   r<   rQ     s   
zIncrementalDecoder.__init__Fc                 C   rE   r1   rF   rR   r;   r;   r<   r$     rT   zIncrementalDecoder.decodec                 C   rU   r1   r;   rA   r;   r;   r<   rV     rW   zIncrementalDecoder.resetc                 C   rX   )N)    r   r;   rA   r;   r;   r<   rZ     s   zIncrementalDecoder.getstatec                 C   rU   r1   r;   r[   r;   r;   r<   r]   '  rW   zIncrementalDecoder.setstateNrK   r^   )rC   r>   r?   rQ   r$   rV   rZ   r]   r;   r;   r;   r<   r      s    


r   c                   @   r_   )BufferedIncrementalDecoderrD   c                 C   ra   Nrq   )r   rQ   rO   rP   r;   r;   r<   rQ   5  rb   z#BufferedIncrementalDecoder.__init__c                 C   rc   r1   rF   rd   r;   r;   r<   _buffer_decode:  rf   z)BufferedIncrementalDecoder._buffer_decodeFc                 C   rg   r1   )rO   rt   rJ   rh   r;   r;   r<   r$   ?  rl   z!BufferedIncrementalDecoder.decodec                 C   rm   rs   )r   rV   rO   rA   r;   r;   r<   rV   G  rn   z BufferedIncrementalDecoder.resetc                 C   s
   | j dfS rY   ro   rA   r;   r;   r<   rZ   K  s   
z#BufferedIncrementalDecoder.getstatec                 C   s   |d | _ d S rY   ro   r[   r;   r;   r<   r]   O  s   z#BufferedIncrementalDecoder.setstateNrK   r^   )	rC   r>   r?   rQ   rt   r$   rV   rZ   r]   r;   r;   r;   r<   rr   /  s    

rr   c                   @   sT   e Zd ZdddZdd Zdd Zdd	 ZdddZefddZ	dd Z
dd ZdS )r   rD   c                 C   s   	 || _ || _d S r1   )streamrJ   r:   ru   rJ   r;   r;   r<   rQ   \  s   
zStreamWriter.__init__c                 C   s$   	 |  || j\}}| j| d S r1   )r#   rJ   ru   write)r:   objectri   rk   r;   r;   r<   rw   u  s   zStreamWriter.writec                 C   s   	 |  d| d S rM   )rw   joinr:   listr;   r;   r<   
writelines|  s   zStreamWriter.writelinesc                 C   s   	 d S r1   r;   rA   r;   r;   r<   rV     s   zStreamWriter.resetr   c                 C   s2   | j || |dkr|dkr|   d S d S d S rY   ru   seekrV   r:   offsetwhencer;   r;   r<   r~     s   zStreamWriter.seekc                 C      	 || j |S r1   ru   r:   r4   getattrr;   r;   r<   __getattr__     zStreamWriter.__getattr__c                 C      | S r1   r;   rA   r;   r;   r<   	__enter__  rW   zStreamWriter.__enter__c                 C      | j   d S r1   ru   closer:   typevaluetbr;   r;   r<   __exit__  rp   zStreamWriter.__exit__NrK   r   )rC   r>   r?   rQ   rw   r|   rV   r~   r   r   r   r   r;   r;   r;   r<   r   Z  s    


r   c                   @   s   e Zd ZeZdddZdddZd dd	Zd!ddZd!ddZ	dd Z
d"ddZdd Zdd ZefddZdd Zdd Zd
S )#r   rD   c                 C   s0   	 || _ || _d| _|  | _| j| _d | _d S rs   )ru   rJ   
bytebuffercharbuffertype_empty_charbuffer
charbuffer
linebufferrv   r;   r;   r<   rQ     s   

zStreamReader.__init__c                 C   rc   r1   rF   rH   r;   r;   r<   r$     rW   zStreamReader.decodeFc              
   C   sN  	 | j r| j| j | _d | _ |dk r|}	 |dkr"t| j|kr"ng|dk r,| j }n| j|}| j| }|s:nOz| || j	\}}W n1 t
yv } z%|rk| |d |j | j	\}}|jdd}	t|	dkrj n W Y d }~nd }~ww ||d  | _|  j|7  _|snq|dk r| j}
| j| _|
S | jd | }
| j|d  | _|
S )Nr   Tkeepends   )r   r   ry   r   lenru   readr   r$   rJ   UnicodeDecodeErrorstart
splitlines)r:   sizechars	firstlinenewdatari   newcharsdecodedbytesexclinesrj   r;   r;   r<   r     sT   

 zStreamReader.readNTc           	      C   s  	 | j r)| j d }| j d= t| j dkr| j d | _d | _ |s'|jddd }|S |p,d}| j}	 | j|dd}|rWt|trD|dsNt|t	rW|d	rW|| jddd
7 }||7 }|jdd}|rt|dkr|d }|d= t|dkr|d  | j7  < || _ d | _n|d | j | _|s|jddd }	 |S |d }|d jddd }||kr| j
|dd  | j | _|r|}	 |S |}	 |S |r|d ur|r|s|jddd }	 |S |dk r|d9 }q1)Nr   r   Fr   H   T)r      )r   r   r   i@     )r   r   r   r   r   r   
isinstancestrendswithbytesry   )	r:   r   r   linereadsizeri   r   line0withendline0withoutendr;   r;   r<   readline  sr   	
zStreamReader.readlinec                 C   s   	 |   }||S r1   )r   r   )r:   sizehintr   ri   r;   r;   r<   	readlines^  s   

zStreamReader.readlinesc                 C   s   	 d| _ | j| _d | _d S rs   )r   r   r   r   rA   r;   r;   r<   rV   m  s   
zStreamReader.resetr   c                 C   s   	 | j || |   d S r1   r}   r   r;   r;   r<   r~   z  s   zStreamReader.seekc                 C   s   	 |   }|r	|S tr1   )r   StopIteration)r:   r   r;   r;   r<   __next__  s
   zStreamReader.__next__c                 C   r   r1   r;   rA   r;   r;   r<   __iter__  rW   zStreamReader.__iter__c                 C   r   r1   r   r   r;   r;   r<   r     r   zStreamReader.__getattr__c                 C   r   r1   r;   rA   r;   r;   r<   r     rW   zStreamReader.__enter__c                 C   r   r1   r   r   r;   r;   r<   r     rp   zStreamReader.__exit__rK   )r   r   F)NTr   )rC   r>   r?   r   r   rQ   r$   r   r   r   rV   r~   r   r   r   r   r   r   r;   r;   r;   r<   r     s    



P
K

r   c                   @   s   e Zd Z	 dZd ddZd!ddZd"d	d
Zd"ddZdd Zdd Z	dd Z
dd Zdd Zd#ddZefddZdd Zdd ZdS )$r   unknownrD   c                 C   s*   	 || _ |||| _|||| _|| _d S r1   )ru   readerwriterrJ   )r:   ru   ReaderWriterrJ   r;   r;   r<   rQ     s
   
zStreamReaderWriter.__init__r   c                 C      | j |S r1   )r   r   r:   r   r;   r;   r<   r        zStreamReaderWriter.readNc                 C   r   r1   )r   r   r   r;   r;   r<   r     r   zStreamReaderWriter.readlinec                 C   r   r1   )r   r   )r:   r   r;   r;   r<   r     r   zStreamReaderWriter.readlinesc                 C   s   	 t | jS r1   )nextr   rA   r;   r;   r<   r     s   
zStreamReaderWriter.__next__c                 C   r   r1   r;   rA   r;   r;   r<   r     rW   zStreamReaderWriter.__iter__c                 C   r   r1   )r   rw   )r:   ri   r;   r;   r<   rw     r   zStreamReaderWriter.writec                 C   r   r1   )r   r|   rz   r;   r;   r<   r|     r   zStreamReaderWriter.writelinesc                 C      | j   | j  d S r1   r   rV   r   rA   r;   r;   r<   rV        
zStreamReaderWriter.resetr   c                 C   s>   | j || | j  |dkr|dkr| j  d S d S d S rY   )ru   r~   r   rV   r   r   r;   r;   r<   r~     s
   
zStreamReaderWriter.seekc                 C   r   r1   r   r   r;   r;   r<   r     r   zStreamReaderWriter.__getattr__c                 C   r   r1   r;   rA   r;   r;   r<   r     rW   zStreamReaderWriter.__enter__c                 C   r   r1   r   r   r;   r;   r<   r     rp   zStreamReaderWriter.__exit__rK   r   r1   r   )rC   r>   r?   encodingrQ   r   r   r   r   r   rw   r|   rV   r~   r   r   r   r   r;   r;   r;   r<   r     s"    	





	r   c                   @   s   e Zd Z	 dZdZ	d ddZd!ddZd"d	d
Zd"ddZdd Z	dd Z
dd Zdd Zdd Zd#ddZefddZdd Zdd ZdS )$r   r   rD   c                 C   s6   	 || _ || _|| _|||| _|||| _|| _d S r1   )ru   r#   r$   r   r   rJ   )r:   ru   r#   r$   r   r   rJ   r;   r;   r<   rQ     s   
zStreamRecoder.__init__r   c                 C   s"   | j |}| || j\}}|S r1   )r   r   r#   rJ   r:   r   ri   bytesencodedr;   r;   r<   r   #  s   zStreamRecoder.readNc                 C   s6   |d u r
| j  }n| j |}| || j\}}|S r1   )r   r   r#   rJ   r   r;   r;   r<   r   )  s
   zStreamRecoder.readlinec                 C   s(   | j  }| || j\}}|jddS )NTr   )r   r   r#   rJ   r   )r:   r   ri   r   r;   r;   r<   r   2     
zStreamRecoder.readlinesc                 C   s"   	 t | j}| || j\}}|S r1   )r   r   r#   rJ   )r:   ri   r   r;   r;   r<   r   8  s   
zStreamRecoder.__next__c                 C   r   r1   r;   rA   r;   r;   r<   r   ?  rW   zStreamRecoder.__iter__c                 C   s   |  || j\}}| j|S r1   )r$   rJ   r   rw   )r:   ri   bytesdecodedr;   r;   r<   rw   B  s   zStreamRecoder.writec                 C   s(   d |}| || j\}}| j|S rs   )ry   r$   rJ   r   rw   )r:   r{   ri   r   r;   r;   r<   r|   G  r   zStreamRecoder.writelinesc                 C   r   r1   r   rA   r;   r;   r<   rV   M  r   zStreamRecoder.resetr   c                 C   s    | j || | j|| d S r1   )r   r~   r   r   r;   r;   r<   r~   R  s   zStreamRecoder.seekc                 C   r   r1   r   r   r;   r;   r<   r   X  r   zStreamRecoder.__getattr__c                 C   r   r1   r;   rA   r;   r;   r<   r   _  rW   zStreamRecoder.__enter__c                 C   r   r1   r   r   r;   r;   r<   r   b  rp   zStreamRecoder.__exit__rK   r   r1   r   )rC   r>   r?   data_encodingfile_encodingrQ   r   r   r   r   r   rw   r|   rV   r~   r   r   r   r   r;   r;   r;   r<   r     s&    



	

r   rrD   r   c                 C   sl   	 |d urd|vr|d }t | ||}|d u r|S zt|}t||j|j|}||_|W S    |   )Nb)builtinsr   r   r   r8   r7   r   r   )filenamemoder   rJ   	bufferingfileinfosrwr;   r;   r<   r   g  s   r   c                 C   sH   	 |d u r|}t |}t |}t| |j|j|j|j|}||_||_|S r1   )r   r   r#   r$   r8   r7   r   r   )r   r   r   rJ   	data_info	file_infosrr;   r;   r<   r     s   
r   c                 C      	 t | jS r1   )r   r#   r   r;   r;   r<   r        
r   c                 C   r   r1   )r   r$   r   r;   r;   r<   r     r   r   c                 C       	 t | j}|d u rt| |S r1   )r   r5   LookupError)r   encoderr;   r;   r<   r     
   
r   c                 C   r   r1   )r   r6   r   )r   decoderr;   r;   r<   r      r   r    c                 C   r   r1   )r   r8   r   r;   r;   r<   r!     r   r!   c                 C   r   r1   )r   r7   r   r;   r;   r<   r"     r   r"   c                 k   T    	 t ||fi |}| D ]}||}|r|V  q|dd}|r(|V  d S d S )NrN   T)r   r#   )iteratorr   rJ   kwargsr   rI   outputr;   r;   r<   r%        

r%   c                 k   r   )Nrq   T)r    r$   )r   r   rJ   r   r   rI   r   r;   r;   r<   r&     r   r&   c                 C   s   	 dd | D S )Nc                 S   s   i | ]}||qS r;   r;   ).0ir;   r;   r<   
<dictcomp>/  s    z&make_identity_dict.<locals>.<dictcomp>r;   )rngr;   r;   r<   make_identity_dict'  s   r   c                 C   s6   	 i }|   D ]\}}||vr|||< qd ||< q|S r1   )items)decoding_mapmkvr;   r;   r<   make_encoding_map1  s   

r   ignorereplacexmlcharrefreplacebackslashreplacenamereplace__main__zlatin-1zutf-8)r   NrD   r   )NrD   rK   );r   sys_codecsImportErrorwhySystemError__all__r   r	   r   r   r   r   r   	byteorderr   r   r   r   r
   r   r   r2   r   r   rx   r   r`   r   rr   r   r   r   r   r   r   r   r   r   r    r!   r"   r%   r&   r   r   r.   r'   r(   r)   r*   r+   r,   r   _false	encodingsrC   stdoutstdinr;   r;   r;   r<   <module>   s    	
B("1+I zW
t
0&







