U
    ¯ªhƒ  ã                   @   s˜   d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ erdddlmZmZ G d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZdS )zBFile generated by TLObjects' generator. All changes will be ERASEDé   )ÚTLObject)Ú	TLRequesté    )ÚOptionalÚListÚUnionÚTYPE_CHECKINGN)Údatetime)ÚTypeChannelMessagesFilterÚTypeInputChannelc                   @   sT   e Zd ZdZdZdddeeee dœdd„Zd	d
„ Z	dd„ Z
dd„ Zedd„ ƒZdS )ÚGetChannelDifferenceRequestix=i]o‰)Nr   r
   ©ÚchannelÚfilterÚptsÚlimitÚforcec                 C   s"   || _ || _|| _|| _|| _dS )z
        :returns updates.ChannelDifference: Instance of either ChannelDifferenceEmpty, ChannelDifferenceTooLong, ChannelDifference.
        Nr   )Úselfr   r   r   r   r   © r   úA/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/updates.pyÚ__init__   s
    z$GetChannelDifferenceRequest.__init__c                 Ã   s   |  | | j¡I d H ¡| _d S ©N)Zget_input_channelZget_input_entityr   )r   ÚclientÚutilsr   r   r   Úresolve   s    z#GetChannelDifferenceRequest.resolvec                 C   sH   dt | jtƒr| j ¡ n| jt | jtƒr2| j ¡ n| j| j| j| jdœS )Nr   )Ú_r   r   r   r   r   )Ú
isinstancer   r   Úto_dictr   r   r   r   ©r   r   r   r   r      s    úz#GetChannelDifferenceRequest.to_dictc                 C   sV   d  dt d| jd ks | jdkr$dnd¡| j ¡ | j ¡ t d| j¡t d| j¡f¡S )Nó    s   x=ú<IFr   é   ú<i)	ÚjoinÚstructÚpackr   r   Ú_bytesr   r   r   r   r   r   r   r&   (   s    "úz"GetChannelDifferenceRequest._bytesc                 C   sF   |  ¡ }t|d@ ƒ}| ¡ }| ¡ }|  ¡ }|  ¡ }| |||||dS )Nr!   r   )Úread_intÚboolZtgread_object)ÚclsÚreaderÚflagsZ_forceZ_channelZ_filterÚ_ptsZ_limitr   r   r   Úfrom_reader2   s    z'GetChannelDifferenceRequest.from_reader)N)Ú__name__Ú
__module__Ú__qualname__ÚCONSTRUCTOR_IDÚSUBCLASS_OF_IDÚintr   r(   r   r   r   r&   Úclassmethodr-   r   r   r   r   r      s   


r   c                   @   sZ   e Zd ZdZdZdeee eee ee ee dœdd„Zdd„ Z	d	d
„ Z
edd„ ƒZdS )ÚGetDifferenceRequestic÷Âit(H N©r   ÚdateÚqtsÚ	pts_limitÚpts_total_limitÚ	qts_limitc                 C   s(   || _ || _|| _|| _|| _|| _dS )z‚
        :returns updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
        Nr6   )r   r   r7   r8   r9   r:   r;   r   r   r   r   B   s    zGetDifferenceRequest.__init__c                 C   s    d| j | j| j| j| j| jdœS )Nr5   )r   r   r7   r8   r9   r:   r;   r6   r   r   r   r   r   M   s    ùzGetDifferenceRequest.to_dictc                 C   sô   d  dt d| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB ¡t d	| j¡| jd ks€| jdkr„dnt d	| j¡| jd ks¤| jdkr¨dnt d	| j¡|  | j¡t d	| j	¡| jd ksÞ| jdkrâdnt d	| j¡f¡S )
Nr   s   c÷Âr    Fr   é   r!   é   r"   )
r#   r$   r%   r9   r:   r;   r   Zserialize_datetimer7   r8   r   r   r   r   r&   X   s    Z$$
$øzGetDifferenceRequest._bytesc           	      C   sv   |  ¡ }|  ¡ }|d@ r"|  ¡ }nd }|d@ r8|  ¡ }nd }| ¡ }|  ¡ }|d@ r^|  ¡ }nd }| ||||||dS )Nr<   r!   r=   r6   )r'   Ztgread_date)	r)   r*   r+   r,   Z
_pts_limitZ_pts_total_limitZ_dateZ_qtsZ
_qts_limitr   r   r   r-   d   s    


z GetDifferenceRequest.from_reader)NNN)r.   r/   r0   r1   r2   r3   r   r	   r   r   r&   r4   r-   r   r   r   r   r5   >   s   *r5   c                   @   s0   e Zd ZdZdZdd„ Zdd„ Zedd„ ƒZd	S )
ÚGetStateRequestl   *©[ iß#c                 C   s   ddiS )Nr   r>   r   r   r   r   r   r   ~   s     ÿzGetStateRequest.to_dictc                 C   s
   d  d¡S )Nr   )s   *ˆÔí)r#   r   r   r   r   r&   ƒ   s    zGetStateRequest._bytesc                 C   s   | ƒ S r   r   )r)   r*   r   r   r   r-   ˆ   s    zGetStateRequest.from_readerN)	r.   r/   r0   r1   r2   r   r&   r4   r-   r   r   r   r   r>   z   s   r>   )Ú__doc__Ztl.tlobjectr   r   Útypingr   r   r   r   Úosr$   r	   Ztl.typesr
   r   r   r5   r>   r   r   r   r   Ú<module>   s   1<