�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!a ´iÀ9ã@sddlZddlZddlZddlZddlZddlZejdedd�gd¢ZGdd„de ƒZ dZ dZ d Z d Zd ZGd d „d ƒZdd„ZGdd„dƒZejdd„ƒZGdd„dƒZGdd„dƒZGdd„dƒZdd„ZGdd„dƒZGdd„dƒZGd d!„d!ƒZd"d#„ZdS)$éNzthe binhex module is deprecatedé)Ú stacklevel)ÚbinhexÚhexbinÚErrorc@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú/usr/lib64/python3.9/binhex.pyr%sréi€é@ó�c@seZdZdd„ZdS)ÚFInfocCsd|_d|_d|_dS)Nz????r)ÚTypeÚCreatorÚFlags©Úselfr r r Ú__init__6szFInfo.__init__N)rrr rr r r r r5srcCsˆtƒ}t |d¡�<}| d¡}d|vr,d|_| dd¡| ¡}Wdƒn1sT0Ytj  |¡\}}|  ddd¡}|||dfS) NÚrbirZTEXTrú:ú-r ) rÚioÚopenÚreadrÚseekÚtellÚosÚpathÚsplitÚreplace)ÚnameÚfinfoÚfpÚdataZdsizeÚdirÚfiler r r Ú getfileinfo;s  &r(c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚopenrsrccGsdS©Nr ©rÚargsr r r rIszopenrsrc.__init__cGsdS©Nór r+r r r rLsz openrsrc.readcGsdSr*r r+r r r ÚwriteOszopenrsrc.writecCsdSr*r rr r r ÚcloseRszopenrsrc.closeN)rrr rrr/r0r r r r r)Hsr)ccs@t ¡�$t ddt¡dVWdƒn1s20YdS)NÚignoreÚ)ÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningr r r r Ú_ignore_deprecation_warningXs r7c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú_HqxcoderenginecCs ||_d|_d|_td|_dS)Nr.r )Úofpr%ÚhqxdataÚLINELENÚlinelen©rr9r r r rbsz_Hqxcoderengine.__init__cCsŽ|j||_t|jƒ}|dd}|jd|…}|j|d…|_|sHdStƒ�"|jt |¡|_Wdƒn1sv0Y| d¡dS)Nér)r%Úlenr7r:ÚbinasciiÚb2a_hqxÚ_flush)rr%ZdatalenZtodor r r r/hs   0z_Hqxcoderengine.writecCsrd}|t|jƒ|jkrH||j}|j |j||…d¡t|_|}q|j|d…|_|rn|j |jd¡dS)Nró s: )r?r:r<r9r/r;)rÚforceÚfirstÚlastr r r rBts z_Hqxcoderengine._flushcCs\|jr@tƒ�$|jt |j¡|_Wdƒn1s60Y| d¡|j ¡|`dS)Nr )r%r7r:r@rArBr9r0rr r r r0s 2  z_Hqxcoderengine.closeN)rrr rr/rBr0r r r r r8_s  r8c@s$eZdZdd„Zdd„Zdd„ZdS)Ú_RlecoderenginecCs||_d|_dSr-)r9r%r=r r r rŠsz_Rlecoderengine.__init__cCsf|j||_t|jƒtkrdStƒ�t |j¡}Wdƒn1sF0Y|j |¡d|_dSr-)r%r?ÚREASONABLY_LARGEr7r@Ú rlecode_hqxr9r/)rr%Úrledatar r r r/Žs * z_Rlecoderengine.writecCsV|jrDtƒ�t |j¡}Wdƒn1s.0Y|j |¡|j ¡|`dSr*)r%r7r@rIr9r/r0)rrJr r r r0—s *  z_Rlecoderengine.closeN)rrr rr/r0r r r r rG‡s rGc@sLeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dS)ÚBinHexc Cs |\}}}}d}t|tƒr.|}t |d¡}d}zR| d¡t|ƒ} t| ƒ|_d|_|dur`t ƒ}||_ ||_ |  ||¡t |_Wn|r”| ¡‚Yn0dS)NFÚwbTs0(This file must be converted with BinHex 4.0) :r)Ú isinstanceÚstrrrr/r8rGr9ÚcrcrÚdlenÚrlenÚ _writeinfoÚ _DID_HEADERÚstater0) rZname_finfo_dlen_rlenr9r"r#rPrQZclose_on_errorZofnameZhqxerr r r r s*       zBinHex.__init__c Cs´t|ƒ}|dkrtdƒ‚t|gƒ| d¡d}|j|j}}t|tƒrR| d¡}t|tƒrf| d¡}||}t  d|j ¡}t  d|j |j ¡} |||| } |  | ¡| ¡dS)Né?zFilename too longzlatin-1óú>hz>ii)r?rÚbytesÚencoderrrMrNÚstructÚpackrrPrQÚ_writeÚ _writecrc) rr"r#ÚnlÚdÚtpZcrZd2Zd3Zd4Úinfor r r rR·s     zBinHex._writeinfocCs t ||j¡|_|j |¡dSr*)r@Úcrc_hqxrOr9r/©rr%r r r r\Êsz BinHex._writecCs4|jdkrd}nd}|j t ||j¡¡d|_dS)NrrWz>H)rOr9r/rZr[)rÚfmtr r r r]Îs  zBinHex._writecrccCs0|jtkrtdƒ‚|jt|ƒ|_| |¡dS)NzWriting data at the wrong time)rTrSrrPr?r\rcr r r r/Øs z BinHex.writecCs,|jdkrtd|jfƒ‚| ¡t|_dS)NrzIncorrect data size, diff=%r)rPrrQr]Ú _DID_DATArTrr r r Ú close_dataÞs zBinHex.close_datacCsB|jtkr| ¡|jtkr$tdƒ‚|jt|ƒ|_| |¡dS)Nz'Writing resource data at the wrong time)rTrerfrrQr?r\rcr r r Ú write_rsrcäs   zBinHex.write_rsrccCs�|jdurdSzb|jtkr"| ¡|jtkr4tdƒ‚|jdkrNtd|jfƒ‚| ¡Wd|_|j}|`| ¡nd|_|j}|`| ¡0dS)NzClose at the wrong timerz$Incorrect resource-datasize, diff=%r)rTrerfrrQr]r9r0r=r r r r0ìs$      ýz BinHex.closeN) rrr rrRr\r]r/rfrgr0r r r r rKŸs rKcCsœt|ƒ}t||ƒ}t |d¡�4}| d¡}|s0q<| |¡q | ¡Wdƒn1sX0Yt|dƒ}| d¡}|s|qˆ| |¡ql|  ¡|  ¡dS)Nréô) r(rKrrrr/rfr)rgr0)ÚinpÚoutr#r9Úifpr_r r r rýs   &   rc@s$eZdZdd„Zdd„Zdd„ZdS)Ú_HqxdecoderenginecCs||_d|_dS)Nr)rkÚeof©rrkr r r rsz_Hqxdecoderengine.__init__cCsØd}|}|dkrÔ|jr|S|ddd}|j |¡}z>tƒ� t |¡\}|_Wdƒn1sd0YWq¬WntjyˆYn0|j d¡}|s¢tdƒ‚||}q6||}|t|ƒ}|s|jstdƒ‚q|S)Nr.rrr>ér zPremature EOF on binhex file) rmrkrr7r@Za2b_hqxZ Incompleterr?)rZtotalwtdZdecdataÚwtdr%Z decdatacurÚnewdatar r r rs*  .     z_Hqxdecoderengine.readcCs|j ¡dSr*©rkr0rr r r r0:sz_Hqxdecoderengine.closeN)rrr rrr0r r r r rls!rlc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú_RledecoderenginecCs||_d|_d|_d|_dS)Nr.r)rkÚ pre_bufferÚ post_bufferrmrnr r r r@sz_Rledecoderengine.__init__cCsD|t|jƒkr"| |t|jƒ¡|jd|…}|j|d…|_|Sr*)r?ruÚ_fill)rrpÚrvr r r rFs z_Rledecoderengine.readcCsB|j|j |d¡|_|jjrdtƒ�$|jt |j¡|_Wdƒn1sP0Yd|_dSt|jƒ}|jdd…t dt kr’|d}nX|jdd…t kr®|d}n<|jdd…t dkrÎ|d}n|jdd…t krân|d }tƒ�,|jt |jd|…¡|_Wdƒn1�s$0Y|j|d…|_dS) Nror.éýÿÿÿrVr>éÿÿÿÿréþÿÿÿr ) rtrkrrmr7rur@Z rledecode_hqxr?ÚRUNCHAR)rrpZmarkr r r rvMs. ÿ$    ÿ&z_Rledecoderengine._fillcCs|j ¡dSr*rrrr r r r0rsz_Rledecoderengine.closeN)rrr rrrvr0r r r r rs=s%rsc@sLeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dS)ÚHexBincCsft|tƒrt |d¡}| d¡}|s,tdƒ‚|dkr6q|dkrqBqt|ƒ}t|ƒ|_d|_ |  ¡dS)Nrr zNo binhex data foundrCó:r) rMrNrrrrrlrsrkrOÚ _readheader)rrkZchZhqxifpr r r rvs    zHexBin.__init__cCs |j |¡}t ||j¡|_|Sr*)rkrr@rbrO)rr?r%r r r Ú_readŒs z HexBin._readcCsNt d|j d¡¡dd@}|jd@|_||jkrDtd|j|fƒ‚d|_dS)NrWrriÿÿzCRC error, computed %x, read %x)rZÚunpackrkrrOr)rZfilecrcr r r Ú _checkcrc‘s  ÿzHexBin._checkcrccCs¾| d¡}| t|ƒ¡}| d¡}| ¡|dd…}|dd…}t d|dd…¡d}t d|dd …¡d|_t d|d d…¡d|_||_tƒ|_||j_ ||j_ ||j_ t |_ dS) Nr ééé rWé rz>lé)rÚordr�rZr€rPrQÚFNamerrrrrSrT)rr?ÚfnameÚrestÚtypeZcreatorÚflagsr r r r~›s    zHexBin._readheadercGsj|jtkrtdƒ‚|r,|d}t||jƒ}n|j}d}t|ƒ|krZ|| |t|ƒ¡}q6|j||_|S)NzRead data at wrong timerr.)rTrSrÚminrPr?r)rÚnrwr r r r¯s   z HexBin.readcCs6|jtkrtdƒ‚|jr$| |j¡}| ¡t|_dS)Nzclose_data at wrong time)rTrSrrPrr�re©rÚdummyr r r rf½s   zHexBin.close_datacGsZ|jtkr| ¡|jtkr$tdƒ‚|r>|d}t||jƒ}n|j}|j||_| |¡S)Nz Read resource data at wrong timer)rTrSrfrerr�rQr)rrŽr r r Ú read_rsrcÅs   zHexBin.read_rsrccCsT|jdurdSz.|jr"| |j¡}| ¡Wd|_|j ¡nd|_|j ¡0dSr*)rTrQr‘r�rkr0r�r r r r0Òs    ÿz HexBin.closeN) rrr rrr�r~rrfr‘r0r r r r r|us  r|cCsºt|ƒ}|j}|s|j}t |d¡�,}| d¡}|s6qB| |¡q&Wdƒn1sV0Y| ¡| d¡}|r®t |dƒ}| |¡| d¡}|sšq¦| |¡qŠ|  ¡|  ¡dS)NrLrh) r|rrˆrrrr/rfr‘r)r0)rirjrkr#r9r_r r r rÝs$ *     r)r@Ú contextlibrrrZr3Úwarnr6Ú__all__Ú ExceptionrrSrerHr;r{rr(r)Úcontextmanagerr7r8rGrKrrlrsr|rr r r r Ús8ÿ  (^+8h