Edit File: binhex.cpython-37.opt-2.pyc
B ����0��c�6������������������@���s����d�dl�Z�d�dlZd�dlZd�dlZdddgZG�dd��de�Zd�ZdZdZ dZ d ZG�d d��d�Zdd ��Z G�dd��d�ZG�dd��d�ZG�dd��d�ZG�dd��d�Zdd��ZG�dd��d�ZG�dd��d�ZG�dd��d�Zdd��ZdS�)�����N�binhex�hexbin�Errorc���������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r���r����+/opt/alt/python37/lib64/python3.7/binhex.pyr������s�������i�����@��������c���������������@���s���e�Zd�Zdd��ZdS�)�FInfoc�������������C���s���d|�_�d|�_d|�_d�S�)Nz????r���)�Type�Creator�Flags)�selfr���r���r ����__init__0���s����zFInfo.__init__N)r���r���r���r���r���r���r���r ���r ���/���s���r ���c���������� ���C���st���t���}t�|�d��2}|�d�}d|kr,d|_|�dd��|���}W�d�Q�R�X�tj� |��\}}|� ddd�}|||dfS�) N�rbi���r���ZTEXT�����:�-r ���)r ����io�open�readr����seek�tell�os�path�split�replace)�name�finfo�fp�dataZdsize�dir�filer���r���r ����getfileinfo5���s���� r&���c���������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) �openrsrcc�������������G���s���d�S�)Nr���)r����argsr���r���r ���r���C���s����zopenrsrc.__init__c�������������G���s���dS�)N�����r���)r���r(���r���r���r ���r���F���s����z openrsrc.readc�������������G���s���d�S�)Nr���)r���r(���r���r���r ����writeI���s����zopenrsrc.writec�������������C���s���d�S�)Nr���)r���r���r���r ����closeL���s����zopenrsrc.closeN)r���r���r���r���r���r*���r+���r���r���r���r ���r'���B���s���r'���c���������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) �_Hqxcoderenginec�������������C���s ���||�_�d|�_d|�_td�|�_d�S�)Nr)���r ���)�ofpr#����hqxdata�LINELEN�linelen)r���r-���r���r���r ���r���R���s����z_Hqxcoderengine.__init__c�������������C���sh���|�j�|�|�_�t|�j��}|d�d�}|�j�d�|��}|�j�|d���|�_�|sHd�S�|�jt�|��|�_|��d��d�S�)N����r���)r#����lenr.����binascii�b2a_hqx�_flush)r���r#���ZdatalenZtodor���r���r ���r*���X���s���� z_Hqxcoderengine.writec�������������C���sv���d}xF|t�|�j�|�j�krJ||�j�}|�j�|�j||��d���t|�_|}qW�|�j|d���|�_|rr|�j�|�jd���d�S�)Nr������� s���: )r2���r.���r0���r-���r*���r/���)r����force�firstZlastr���r���r ���r5���c���s���� z_Hqxcoderengine._flushc�������������C���s6���|�j�r|�jt�|�j���|�_|��d��|�j����|�`d�S�)Nr ���)r#���r.���r3���r4���r5���r-���r+���)r���r���r���r ���r+���n���s ���� z_Hqxcoderengine.closeN)r���r���r���r���r*���r5���r+���r���r���r���r ���r,���O���s���r,���c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�_Rlecoderenginec�������������C���s���||�_�d|�_d�S�)Nr)���)r-���r#���)r���r-���r���r���r ���r���x���s����z_Rlecoderengine.__init__c�������������C���s@���|�j�|�|�_�t|�j��tk�rd�S�t�|�j��}|�j�|��d|�_�d�S�)Nr)���)r#���r2����REASONABLY_LARGEr3����rlecode_hqxr-���r*���)r���r#����rledatar���r���r ���r*���|���s����z_Rlecoderengine.writec�������������C���s0���|�j�rt�|�j��}|�j�|��|�j����|�`d�S�)N)r#���r3���r;���r-���r*���r+���)r���r<���r���r���r ���r+�������s ���� z_Rlecoderengine.closeN)r���r���r���r���r*���r+���r���r���r���r ���r9���u���s���r9���c���������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�BinHexc������� ������C���s����|\}}}}d}t�|t�r.|}t�|d�}d}yR|�d��t|�} t| �|�_d|�_|d�kr`t ��}||�_ ||�_|��||��t |�_W�n���|r�|������Y�nX�d�S�)NF�wbTs0���(This file must be converted with BinHex 4.0) :r���)� isinstance�strr���r���r*���r,���r9���r-����crcr ����dlen�rlen� _writeinfo�_DID_HEADER�stater+���) r���Zname_finfo_dlen_rlenr-���r ���r!���rB���rC���Zclose_on_errorZofnameZhqxerr���r���r ���r�������s*���� zBinHex.__init__c�������������C���s����t�|�}|dkrtd��t|g�|�d��d�}|j|j�}}t|t�rR|�d�}t|t�rf|�d�}||�}t� d|j �}t� d|�j|�j�} ||�|�| �} |�� | ��|�����d�S�)N�?���zFilename too longzlatin-1�����z>hz>ii)r2���r����bytes�encoder���r���r?���r@����struct�packr���rB���rC����_write� _writecrc)r���r ���r!����nl�d�tpZcrZd2Zd3Zd4�infor���r���r ���rD�������s���� zBinHex._writeinfoc�������������C���s ���t��||�j�|�_|�j�|��d�S�)N)r3����crc_hqxrA���r-���r*���)r���r#���r���r���r ���rM�������s����z BinHex._writec�������������C���s4���|�j�dk�rd}nd}|�j�t�||�j����d|�_�d�S�)Nr���z>hz>H)rA���r-���r*���rK���rL���)r���Zfmtr���r���r ���rN�������s ���� zBinHex._writecrcc�������������C���s0���|�j�tkrtd��|�jt|��|�_|��|��d�S�)NzWriting data at the wrong time)rF���rE���r���rB���r2���rM���)r���r#���r���r���r ���r*�������s���� zBinHex.writec�������������C���s,���|�j�dkrtd|�jf���|�����t|�_d�S�)Nr���zIncorrect data size, diff=%r)rB���r���rC���rN���� _DID_DATArF���)r���r���r���r ���� close_data����s���� zBinHex.close_datac�������������C���sB���|�j�tk�r|�����|�j�tkr$td��|�jt|��|�_|��|��d�S�)Nz'Writing resource data at the wrong time)rF���rT���rU���r���rC���r2���rM���)r���r#���r���r���r ���� write_rsrc����s���� zBinHex.write_rsrcc�������������C���sx���|�j�d�krd�S�zJ|�j�tk�r"|�����|�j�tkr4td��|�jdkrNtd|�jf���|�����W�d�d�|�_�|�j}|�`|����X�d�S�)NzClose at the wrong timer���z$Incorrect resource-datasize, diff=%r)rF���rT���rU���r���rC���rN���r-���r+���)r���r-���r���r���r ���r+�������s���� zBinHex.closeN)r���r���r���r���rD���rM���rN���r*���rU���rV���r+���r���r���r���r ���r=�������s��� r=���c���������� ���C���s����t�|��}t||�}t�|�d��.}x|�d�}|s2P�|�|��q"W�|����W�d�Q�R�X�t|�d�}x|�d�}|snP�|�|��q^W�|� ���|� ���d�S�)Nr���i���) r&���r=���r���r���r���r*���rU���r'���rV���r+���)�inp�outr!���r-����ifprP���r���r���r ���r�������s"���� � �c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�_Hqxdecoderenginec�������������C���s���||�_�d|�_d�S�)Nr���)rY����eof)r���rY���r���r���r ���r�����s����z_Hqxdecoderengine.__init__c�������������C���s����d}|}x�|dkr�|�j�r|S�|d�d�d�}|�j�|�}xRyt�|�\}|�_�P�W�n�tjk rf���Y�nX�|�j�d�}|s�td��||�}q:W�||�}|t|��}|s |�j�s td��q W�|S�)Nr)���r���r���r1�������r ���zPremature EOF on binhex file)r[���rY���r���r3���Za2b_hqxZ Incompleter���r2���)r���ZtotalwtdZdecdata�wtdr#���Z decdatacur�newdatar���r���r ���r�����s,���� � z_Hqxdecoderengine.readc�������������C���s���|�j�����d�S�)N)rY���r+���)r���r���r���r ���r+���%��s����z_Hqxdecoderengine.closeN)r���r���r���r���r���r+���r���r���r���r ���rZ�������s��� rZ���c���������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) �_Rledecoderenginec�������������C���s���||�_�d|�_d|�_d|�_d�S�)Nr)���r���)rY���� pre_buffer�post_bufferr[���)r���rY���r���r���r ���r���+��s����z_Rledecoderengine.__init__c�������������C���sD���|t�|�j�kr"|��|t�|�j����|�jd�|��}|�j|d���|�_|S�)N)r2���ra����_fill)r���r]����rvr���r���r ���r���1��s ����z_Rledecoderengine.readc�������������C���s����|�j�|�j�|d���|�_�|�jjr>|�jt�|�j���|�_d|�_�d�S�t|�j��}|�j�dd���td�t�krl|d�}nX|�j�dd���tkr�|d�}n<|�j�dd���td�kr�|d�}n|�j�dd��tkr�n|d �}|�jt�|�j�d�|����|�_|�j�|d���|�_�d�S�) Nr\���r)������rH���r1������r������r ���) r`���rY���r���r[���ra���r3���Z rledecode_hqxr2����RUNCHAR)r���r]���Zmarkr���r���r ���rb���8��s&���� z_Rledecoderengine._fillc�������������C���s���|�j�����d�S�)N)rY���r+���)r���r���r���r ���r+���[��s����z_Rledecoderengine.closeN)r���r���r���r���r���rb���r+���r���r���r���r ���r_���(��s���#r_���c���������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�HexBinc�������������C���sj���t�|t�rt�|d�}x.|�d�}|s.td��|dkr8q|dkrP�qW�t|�}t|�|�_d|�_ |�� ���d�S�)Nr���r ���zNo binhex data found���� ����:r���)r?���r@���r���r���r���r���rZ���r_���rY���rA����_readheader)r���rY���ZchZhqxifpr���r���r ���r���_��s���� zHexBin.__init__c�������������C���s ���|�j��|�}t�||�j�|�_|S�)N)rY���r���r3���rS���rA���)r���r2���r#���r���r���r ����_readu��s����zHexBin._readc�������������C���sN���t��d|�j�d��d�d@�}|�jd@�|�_||�jkrDtd|�j|f���d|�_d�S�)Nz>hr���r���i����zCRC error, computed %x, read %x)rK����unpackrY���r���rA���r���)r���Zfilecrcr���r���r ���� _checkcrcz��s���� zHexBin._checkcrcc�������������C���s����|���d�}|���t|��}|���d�}|�����|dd��}|dd��}t�d|dd���d�}t�d|dd ���d�|�_t�d|d d���d�|�_||�_t��|�_||�j_ ||�j_ ||�j_t|�_ d�S�) Nr ������������ ���z>h����r���z>l����)rl����ordrn���rK���rm���rB���rC����FNamer ���r���r���r���rE���rF���)r���r2���Zfname�rest�typeZcreator�flagsr���r���r ���rk������s���� zHexBin._readheaderc�������������G���sn���|�j�tkrtd��|r,|d�}t||�j�}n|�j}d}x&t|�|k�r\||��|t|����}q8W�|�j|�|�_|S�)NzRead data at wrong timer���r)���)rF���rE���r����minrB���r2���rl���)r����nrc���r���r���r ���r������s���� zHexBin.readc�������������C���s6���|�j�tkrtd��|�jr$|��|�j�}|�����t|�_�d�S�)Nzclose_data at wrong time)rF���rE���r���rB���rl���rn���rT���)r����dummyr���r���r ���rU������s���� zHexBin.close_datac�������������G���sZ���|�j�tkr|�����|�j�tkr$td��|r>|d�}t||�j�}n|�j}|�j|�|�_|��|�S�)Nz Read resource data at wrong timer���)rF���rE���rU���rT���r���ry���rC���rl���)r���rz���r���r���r ���� read_rsrc���s���� zHexBin.read_rsrcc�������������C���sD���|�j�d�krd�S�z|�jr"|��|�j�}|�����W�d�d�|�_�|�j����X�d�S�)N)rF���rC���r|���rn���rY���r+���)r���r{���r���r���r ���r+������s���� zHexBin.closeN)r���r���r���r���rl���rn���rk���r���rU���r|���r+���r���r���r���r ���rh���^��s��� rh���c���������� ���C���s����t�|��}|j}|s|j}t�|d��&}x|�d�}|s8P�|�|��q(W�W�d�Q�R�X�|����|�d�}|r�t |d�}|�|��x|�d�}|s�P�|�|��q|W�|� ���|� ���d�S�)Nr>���i���)rh���r ���ru���r���r���r���r*���rU���r|���r'���r+���)rW���rX���rY���r!���r-���rP���r���r���r ���r������s,���� � �)r���r���rK���r3����__all__� Exceptionr���rE���rT���r:���r/���rg���r ���r&���r'���r,���r9���r=���r���rZ���r_���rh���r���r���r���r���r ����<module>���s*��� &^*6h