ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ fc@sdZdadadadtZddlZddlZddlZddl Z dZ ej dZ ej dZ ejd ej d Zed kseejd krejeejd ej ndS( s9Python utility to print MD5 checksums of argument files. itrbs? usage: sum5 [-b] [-t] [-l] [-s bufsize] [file ...] -b : read files in binary mode (default) -t : read files in text mode (you almost certainly don't want this!) -l : print last pathname component only -s bufsize: read buffer size (default %d) file ... : files to sum; '-' or no files means stdin iNcGsd}|r7t|dtr7|d|d }}n tj}t|dkrst|dt rs|d}nxt|D]l}t|tr|dkrttjd|p|}qt||p|}qzt ||p|}qzW|S(Niiit-s( t isinstancetfiletsyststdouttlentstrt printsumfptstdintprintsumtsum(tfilestststouttf((s,/usr/lib64/python2.7/Tools/scripts/md5sum.pyR s &   cCsyyt|t}Wn.tk rC}tjjd||fdSXtrYt|}nt|||}|j|S(Ns%s: Can't open: %s i( topentrmodetIOErrorRtstderrtwritetfnfilterRtclose(tfilenameRtfptmsgR ((s,/usr/lib64/python2.7/Tools/scripts/md5sum.pyR +s cCstj}y1x*|jt}|s+Pn|j|qWWn.tk rm}tjjd||fdSX|jd|j |fdS(Ns%s: I/O error: %s is%s %s i( tmd5tnewtreadtbufsizetupdateRRRRt hexdigest(RRRtmtdataR((s,/usr/lib64/python2.7/Tools/scripts/md5sum.pyR7s icCsytj|d\}}Wn;tjk rY}tjjdtjd|tfdSXxt|D]l\}}|dkrtjj a qa|dkrda qa|dkrd a qa|d krat |a qaqaW|sd g}nt||S( Nsblts:s %s: %s %siis-ls-bRs-ttrs-sR(tgetoptterrorRRRtargvtusagetostpathtbasenameRRtintRR (targsRtoptsRtota((s,/usr/lib64/python2.7/Tools/scripts/md5sum.pytmainEs"$       t__main__i(t__doc__RtNoneRRR&RR'R#RR RR RR%R/t__name__texit(((s,/usr/lib64/python2.7/Tools/scripts/md5sum.pyts