U e5d# �@s�ddlZddlZddlmZddd�Zddd �ZGd d �d ej�ZGd d �d ej�ZGdd�dej�ZGdd�deej �Z Gdd�deej �Z dd�Z dS)�N)�BytesIO�strict��c Cs�t|�}t�}|j}|j}|�dd�}|�dd�}|d|d@|f�d��|d�}|rp|t�|��|d�}qT|d �|��t|�fS) N� z\n� z\rz begin %o %s i��ascii�-s end ) r�read�write�replace�encode�binasciiZb2a_uu�getvalue�len) �input�errors�filename�mode�infile�outfiler r �chunk�r�*/usr/lib64/python3.8/encodings/uu_codec.py� uu_encodes   rc Cs�t|�}t�}|j}|j}|�}|s,td��|dd�dkrq@q|�}|r�|dkrTq�zt�|�}WnRtjk r�}z2|ddd@ddd } t�|d| ��}W5d}~XYnX||�q@|s�td ��|��t|�fS) Nz"Missing "begin" line in input data�sbeginsend r� �?��zTruncated input data) r�readliner � ValueErrorrZa2b_uu�Errorrr) rrrrr r �s�data�v�nbytesrrr� uu_decode%s* $ r'c@s eZdZddd�Zddd�ZdS) �CodecrcCs t||�S�N)r��selfrrrrrr Gsz Codec.encodecCs t||�Sr))r'r*rrr�decodeJsz Codec.decodeN)r)r)�__name__� __module__� __qualname__r r,rrrrr(Fs r(c@seZdZddd�ZdS)�IncrementalEncoderFcCst||j�dS�Nr)rr�r+r�finalrrrr NszIncrementalEncoder.encodeN)F)r-r.r/r rrrrr0Msr0c@seZdZddd�ZdS)�IncrementalDecoderFcCst||j�dSr1)r'rr2rrrr,RszIncrementalDecoder.decodeN)F)r-r.r/r,rrrrr4Qsr4c@seZdZeZdS)� StreamWriterN�r-r.r/�bytes�charbuffertyperrrrr5Usr5c@seZdZeZdS)� StreamReaderNr6rrrrr9Xsr9c Cstjdttttttdd�S)N�uuF)�namer r,�incrementalencoder�incrementaldecoder� streamreader� streamwriter�_is_text_encoding)�codecs� CodecInforr'r0r4r9r5rrrr� getregentry]s�rC)rrr)r) rAr�iorrr'r(r0r4r5r9rCrrrr� s   !