ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     a
    RShm                     @   sh   d Z ddlZddlZddlZg dZG dd deZddddd	Zdd
dZdd Z	e
dkrde	  dS )zImplementation of the UUencode and UUdecode functions.

encode(in_file, out_file [,name, mode], *, backtick=False)
decode(in_file [, out_file, mode, quiet])
    N)Errorencodedecodec                   @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r   r   '/opt/alt/python39/lib64/python3.9/uu.pyr   &   s   r   Fbacktickc             	   C   sz  g }zX| dkrt jj} n^t| trx|du r8tj| }|du rdzt| j	}W n t
yb   Y n0 t| d} ||  |dkrt jj}nt|trt|d}|| |du rd}|du rd}|dd}|dd	}|d
|d@ |f d | d}t|dkr,|tj||d | d}q|r>|d n
|d W |D ]}|  qNn|D ]}|  qd0 dS )zUuencode file-Nrbwbi  
z\nz\rzbegin %o %s
i  ascii-   r   r
   s   `
end
s    
end
)sysstdinbuffer
isinstancestrospathbasenamestatst_modeAttributeErroropenappendstdoutreplacewriter   readlenbinasciiZb2a_uuclose)in_fileout_filenamemoder   opened_filesdatafr   r   r	   r   )   sJ    








r   c              
   C   s  g }| dkrt jj} nt| tr4t| d} ||  z2|  }|sLtd|	dsXq8|
dd}t|dkr8|d dkr8zt|d	 d
 W qW q8 ty   Y q80 q8|du r8|d dd}tj|rtd| |	tjs(dtj |v s(tjr8|	tjs(dtj |v r8td| d|du rPt|d	 d
}|dkrdt jj}n0t|trt|d}t|| |}|| |  }|rD|ddkrDzt|}	W nl tjy, }
 zP|d d d@ d d d }t|d| }	|st jd|
  W Y d}
~
n
d}
~
0 0 ||	 |  }q|sRtdW |D ]}|  qXn|D ]}|  qn0 dS )zDecode uuencoded filer   r   z'No valid begin line found in input files   begin          r         Ns    	
r   z Cannot overwrite existing file: z..zRefusing to write to z due to directory traversalr   s   end    ?         zWarning: %s
zTruncated input file)r   r   r   r   r   r   r   readliner   
startswithsplitr$   int
ValueErrorrstripr   r   r   existssepaltsepr    chmodstripr%   Za2b_uustderrr"   r&   )r'   r(   r*   quietr+   ZhdrZ	hdrfieldsfpsr,   vnbytesr-   r   r   r	   r   c   sv    











&

r   c                  C   s4  ddl } | jdd}|jddddd	d
d |jddddd	d
d | \}}t|dkrl|d td tjj	}tj
j	}t|dkr|d }t|dkr|d }|jr|jrt|trt|d}nttjd d td t|| nD|jr&t|trt|d}nttjd d td t|| dS )zuuencode/uudecode main programr   Nz'usage: %prog [-d] [-t] [input [output]])Zusagez-dz--decoder   zDecode (instead of encode)?F
store_true)desthelpdefaultactionz-tz--texttextz2data is text, encoded format unix-compatible text?r/   zincorrect number of argumentsr1   r   z: cannot do -t to stdoutr   z: cannot do -t from stdin)optparseZOptionParserZ
add_option
parse_argsr$   errorr   exitr   r   r    r   rM   r   r   r   printargvr   )rN   parserZoptionsargsinputoutputr   r   r	   test   s6    




rX   __main__)NN)NNF)__doc__r%   r   r   __all__	Exceptionr   r   r   rX   r   r   r   r   r	   <module>   s   :
J&