U
    h4j                    @   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rddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 G d	d
 d
eZ5G dd deZ6G dd deZ7G dd deZ8G dd deZ9G dd deZ:G dd deZ;G dd deZ<G dd deZ=G dd deZ>G dd deZ?G dd  d eZ@G d!d" d"eZAG d#d$ d$eZBG d%d& d&eZCG d'd( d(eZDG d)d* d*eZEG d+d, d,eZFG d-d. d.eZGG d/d0 d0eZHG d1d2 d2eZIG d3d4 d4eZJG d5d6 d6eZKG d7d8 d8eZLG d9d: d:eZMG d;d< d<eZNG d=d> d>eZOG d?d@ d@eZPG dAdB dBeZQG dCdD dDeZRG dEdF dFeZSG dGdH dHeZTG dIdJ dJeZUG dKdL dLeZVG dMdN dNeZWG dOdP dPeZXG dQdR dReZYG dSdT dTeZZG dUdV dVeZ[G dWdX dXeZ\G dYdZ dZeZ]G d[d\ d\eZ^G d]d^ d^eZ_G d_d` d`eZ`G dadb dbeZaG dcdd ddeZbG dedf dfeZcG dgdh dheZdG didj djeZeG dkdl dleZfG dmdn dneZgG dodp dpeZhG dqdr dreZiG dsdt dteZjG dudv dveZkG dwdx dxeZlG dydz dzeZmG d{d| d|eZnG d}d~ d~eZoG dd deZpG dd deZqG dd deZrG dd deZsG dd deZtG dd deZuG dd deZvG dd deZwG dd deZxG dd deZyG dd deZzG dd deZ{G dd deZ|G dd deZ}G dd deZ~G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG ddĄ deZG ddƄ deZG ddȄ deZG ddʄ deZG dd̄ deZG dd΄ deZG ddЄ deZG dd҄ deZG ddԄ deZG ddք deZG dd؄ deZG ddڄ deZG dd܄ deZG ddބ deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8eZG d9d: d:eZG d;d< d<eZG d=d> d>eZG d?d@ d@eZG dAdB dBeZG dCdD dDeZG dEdF dFeZG dGdH dHeZG dIdJ dJeZG dKdL dLeZG dMdN dNeZG dOdP dPeZG dQdR dReZG dSdT dTeZG dUdV dVeZG dWdX dXeZG dYdZ dZeZG d[d\ d\eZG d]d^ d^eZG d_d` d`eZG dadb dbeZG dcdd ddeZG dedf dfeZG dgdh dheZG didj djeZG dkdl dleZG dmdn dneZG dodp dpeZG dqdr dreZG dsdt dteZG dudv dveZG dwdx dxeZG dydz dzeZG d{d| d|eZG d}d~ d~eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dÐdĄ deZG dŐdƄ deZG dǐdȄ deZG dɐdʄ deZG dːd̄ deZG d͐d΄ deZG dϐdЄ deZG dѐd҄ deZG dӐdԄ deZdS (  zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)(TypeChatBannedRightsTypeChatReactionsTypeDataJSONTypeDialogFilterTypeInlineBotSwitchPMTypeInlineBotWebViewTypeInlineQueryPeerTypeTypeInputBotAppTypeInputBotInlineMessageIDTypeInputBotInlineResultTypeInputChatPhotoTypeInputCheckPasswordSRPTypeInputDialogPeerTypeInputDocumentTypeInputEncryptedChatTypeInputEncryptedFileTypeInputFileTypeInputGeoPointTypeInputMediaTypeInputMessageTypeInputPeerTypeInputQuickReplyShortcutTypeInputReplyToTypeInputSingleMediaTypeInputStickerSetTypeInputStickeredMediaTypeInputUserTypeInputWallPaperTypeMessageEntityTypeMessagesFilterTypePaidReactionPrivacyTypeReactionTypeReplyMarkupTypeSendMessageActionTypeShippingOptionTypeStarsSubscriptionPricingTypeSuggestedPostTypeTextWithEntitiesTypeTodoItemTypeWallPaperSettingsc                   @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Z	e
dd ZdS )AcceptEncryptionRequesti=z(mr   peerg_bkey_fingerprintc                 C   s   || _ || _|| _dS )
        :returns EncryptedChat: Instance of either EncryptedChatEmpty, EncryptedChatWaiting, EncryptedChatRequested, EncryptedChat, EncryptedChatDiscarded.
        Nr4   )selfr5   r6   r7    r:   B/tmp/pip-unpacked-wheel-t5wbaijj/telethon/tl/functions/messages.py__init__   s    z AcceptEncryptionRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nr2   )_r5   r6   r7   )
isinstancer5   r   to_dictr6   r7   r9   r:   r:   r;   r?      s
    zAcceptEncryptionRequest.to_dictc              	   C   s*   d d| j | | jtd| jfS )N    s   =<q)joinr5   _bytesserialize_bytesr6   structpackr7   r@   r:   r:   r;   rD   !   s    
zAcceptEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr4   )tgread_objecttgread_bytes	read_long)clsreader_peerZ_g_bZ_key_fingerprintr:   r:   r;   from_reader)   s    z#AcceptEncryptionRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesintr<   r?   rD   classmethodrN   r:   r:   r:   r;   r2      s   r2   c                   @   sd   e Zd ZdZdZdee ed ee ee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )AcceptUrlAuthRequestl   %qXb ewNr   write_allowedr5   msg_id	button_idurlc                 C   s"   || _ || _|| _|| _|| _dS z
        :returns UrlAuthResult: Instance of either UrlAuthResultRequest, UrlAuthResultAccepted, UrlAuthResultDefault.
        NrZ   )r9   r[   r5   r\   r]   r^   r:   r:   r;   r<   5   s
    zAcceptUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S Nr5   get_input_peerget_input_entityr9   clientutilsr:   r:   r;   resolve?   s    zAcceptUrlAuthRequest.resolvec                 C   s2   d| j t| jtr| j n| j| j| j| jdS )NrX   )r=   r[   r5   r\   r]   r^   )r[   r>   r5   r   r?   r\   r]   r^   r@   r:   r:   r;   r?   C   s    zAcceptUrlAuthRequest.to_dictc              
   C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttdddtd| jd ks| jdkrdnd| j d ks| j dkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkr
dnd	B | j d ks(| j dkr,dn| j 	 | jd ksL| jdkrPdntd
| j| jd kst| jdkrxdntd
| j| jd ks| jdkrdn
| 
| jfS )NFSpeer, msg_id, button_id parameters must all be False-y (like None) or all me True-yrA   s   %q,<Ir            <i)r5   r\   r]   AssertionErrorrC   rF   rG   r[   r^   rD   rE   r@   r:   r:   r;   rD   M   s    t$((&zAcceptUrlAuthRequest._bytesc                 C   s~   |  }t|d@ }|d@ r&| }nd }|d@ r<|  }nd }|d@ rR|  }nd }|d@ rh| }nd }| |||||dS )Nrj   rk   rl   rZ   read_intboolrH   tgread_string)rK   rL   flags_write_allowedrM   _msg_id
_button_id_urlr:   r:   r;   rN   X   s    



z AcceptUrlAuthRequest.from_reader)NNNNN)rP   rQ   rR   rS   rT   r   rq   rV   strr<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rX   1   s   ,

rX   c                   @   sJ   e Zd ZdZdZededddZdd Zd	d
 Zdd Z	e
dd ZdS )AddChatUserRequestl   Q 顐=r$   chat_iduser_id	fwd_limitc                 C   s   || _ || _|| _dS zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        Nr{   )r9   r|   r}   r~   r:   r:   r;   r<   t   s    zAddChatUserRequest.__init__c                    s   | || jI d H | _d S r`   get_input_userrc   r}   rd   r:   r:   r;   rg   |   s    zAddChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nry   )r=   r|   r}   r~   )r|   r>   r}   r   r?   r~   r@   r:   r:   r;   r?      s
    zAddChatUserRequest.to_dictc              	   C   s,   d dtd| j| j td| jfS )NrA   s   rB   rm   )rC   rF   rG   r|   r}   rD   r~   r@   r:   r:   r;   rD      s    zAddChatUserRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr{   )rJ   rH   rp   )rK   rL   _chat_id_user_idZ
_fwd_limitr:   r:   r;   rN      s    zAddChatUserRequest.from_readerNrP   rQ   rR   rS   rT   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   ry   p   s   ry   c                   @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )AppendTodoListRequestiW!   * r   r0   r5   r\   listc                 C   s   || _ || _|| _dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   )r9   r5   r\   r   r:   r:   r;   r<      s    zAppendTodoListRequest.__init__c                    s   | || jI d H | _d S r`   rb   rc   r5   rd   r:   r:   r;   rg      s    zAppendTodoListRequest.resolvec                 C   sB   dt | jtr| j n| j| j| jd kr.g ndd | jD dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r:   r>   r   r?   .0xr:   r:   r;   
<listcomp>   s     z1AppendTodoListRequest.to_dict.<locals>.<listcomp>)r=   r5   r\   r   )r>   r5   r   r?   r\   r   r@   r:   r:   r;   r?      s
    zAppendTodoListRequest.to_dictc                 C   sF   d d| j td| jdtdt| jd dd | jD fS )NrA   s   W!rm      ĵc                 s   s   | ]}|  V  qd S r`   rD   r   r:   r:   r;   	<genexpr>   s     z/AppendTodoListRequest._bytes.<locals>.<genexpr>)rC   r5   rD   rF   rG   r\   lenr   r@   r:   r:   r;   rD      s      zAppendTodoListRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}|  }|| q(| |||dS )Nr   rH   rp   rangeappend)rK   rL   rM   ru   Z_listr=   _xr:   r:   r;   rN      s    z!AppendTodoListRequest.from_readerNrP   rQ   rR   rS   rT   rV   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r      s   r   c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )CheckChatInviteRequesti>i6Vhashc                 C   s
   || _ dS )zh
        :returns ChatInvite: Instance of either ChatInviteAlready, ChatInvite, ChatInvitePeek.
        Nr   r9   r   r:   r:   r;   r<      s    zCheckChatInviteRequest.__init__c                 C   s   d| j dS )Nr   r=   r   r   r@   r:   r:   r;   r?      s    zCheckChatInviteRequest.to_dictc                 C   s   d d| | jfS )NrA   s   >rC   rE   r   r@   r:   r:   r;   rD      s    
zCheckChatInviteRequest._bytesc                 C   s   |  }| |dS Nr   rr   rK   rL   _hashr:   r:   r;   rN      s    z"CheckChatInviteRequest.from_readerNrP   rQ   rR   rS   rT   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   r      s   r   c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )CheckHistoryImportRequestiCir[import_headc                 C   s
   || _ dS )zY
        :returns messages.HistoryImportParsed: Instance of HistoryImportParsed.
        Nr   )r9   r   r:   r:   r;   r<      s    z"CheckHistoryImportRequest.__init__c                 C   s   d| j dS )Nr   )r=   r   r   r@   r:   r:   r;   r?      s    z!CheckHistoryImportRequest.to_dictc                 C   s   d d| | jfS )NrA   s   C)rC   rE   r   r@   r:   r:   r;   rD      s    
z CheckHistoryImportRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rK   rL   Z_import_headr:   r:   r;   rN      s    z%CheckHistoryImportRequest.from_readerNr   r:   r:   r:   r;   r      s   r   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )CheckHistoryImportPeerRequesti]l   73p r   r5   c                 C   s
   || _ dS )zc
        :returns messages.CheckedHistoryImportPeer: Instance of CheckedHistoryImportPeer.
        Nr   r9   r5   r:   r:   r;   r<      s    z&CheckHistoryImportPeerRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z%CheckHistoryImportPeerRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r=   r5   r>   r5   r   r?   r@   r:   r:   r;   r?     s    z%CheckHistoryImportPeerRequest.to_dictc                 C   s   d d| j fS )NrA   s   ]rC   r5   rD   r@   r:   r:   r;   rD     s    z$CheckHistoryImportPeerRequest._bytesc                 C   s   |  }| |dS Nr   rH   rK   rL   rM   r:   r:   r;   rN     s    z)CheckHistoryImportPeerRequest.from_readerNrP   rQ   rR   rS   rT   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r      s   r   c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )CheckQuickReplyShortcutRequestl   {c    gk shortcutc                 C   s
   || _ dS ?
        :returns Bool: This type has no constructors.
        Nr   )r9   r   r:   r:   r;   r<     s    z'CheckQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr   )r=   r   r   r@   r:   r:   r;   r?   $  s    z&CheckQuickReplyShortcutRequest.to_dictc                 C   s   d d| | jfS )NrA   s   )rC   rE   r   r@   r:   r:   r;   rD   *  s    
z%CheckQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rK   rL   	_shortcutr:   r:   r;   rN   0  s    z*CheckQuickReplyShortcutRequest.from_readerNr   r:   r:   r:   r;   r     s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
ClearAllDraftsRequestiX~r   c                 C   s   ddiS )Nr=   r   r:   r@   r:   r:   r;   r?   :  s     zClearAllDraftsRequest.to_dictc                 C   s
   d dS )NrA   )s   X~rC   r@   r:   r:   r;   rD   ?  s    zClearAllDraftsRequest._bytesc                 C   s   |  S r`   r:   rK   rL   r:   r:   r;   rN   D  s    z!ClearAllDraftsRequest.from_readerN	rP   rQ   rR   rS   rT   r?   rD   rW   rN   r:   r:   r:   r;   r   6  s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
ClearRecentReactionsRequestl   o; r   c                 C   s   ddiS )Nr=   r   r:   r@   r:   r:   r;   r?   M  s     z#ClearRecentReactionsRequest.to_dictc                 C   s
   d dS )NrA   )s   r   r@   r:   r:   r;   rD   R  s    z"ClearRecentReactionsRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN   W  s    z'ClearRecentReactionsRequest.from_readerNr   r:   r:   r:   r;   r   I  s   r   c                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )ClearRecentStickersRequestl   -`2 r   Nattachedc                 C   s
   || _ dS r   r   )r9   r   r:   r:   r;   r<   `  s    z#ClearRecentStickersRequest.__init__c                 C   s   d| j dS )Nr   )r=   r   r   r@   r:   r:   r;   r?   f  s    z"ClearRecentStickersRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )NrA   s   -`ri   Fr   rj   )rC   rF   rG   r   r@   r:   r:   r;   rD   l  s    "z!ClearRecentStickersRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrj   r   rp   rq   )rK   rL   rs   	_attachedr:   r:   r;   rN   r  s    z&ClearRecentStickersRequest.from_reader)NrP   rQ   rR   rS   rT   r   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   r   \  s   r   c                   @   sL   e Zd ZdZdZdee ee edddZdd Z	d	d
 Z
edd ZdS )ClickSponsoredMessageRequestl   ~j r   Nmedia
fullscreen	random_idc                 C   s4   || _ || _|dk	r|ntjtdddd| _dS r   Nrl   bigTsigned)r   r   rV   
from_bytesosurandomr   )r9   r   r   r   r:   r:   r;   r<   ~  s    z%ClickSponsoredMessageRequest.__init__c                 C   s   d| j | j| jdS )Nr   )r=   r   r   r   r   r@   r:   r:   r;   r?     s
    z$ClickSponsoredMessageRequest.to_dictc              	   C   sT   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fS )NrA   s   ~5ri   Fr   rj   rk   )rC   rF   rG   r   r   rE   r   r@   r:   r:   r;   rD     s
    >
z#ClickSponsoredMessageRequest._bytesc                 C   s6   |  }t|d@ }t|d@ }| }| |||dS )Nrj   rk   r   )rp   rq   rI   )rK   rL   rs   _media_fullscreen
_random_idr:   r:   r;   rN     s
    z(ClickSponsoredMessageRequest.from_reader)NNN)rP   rQ   rR   rS   rT   r   rq   rU   r<   r?   rD   rW   rN   r:   r:   r:   r;   r   z  s   r   c                   @   sT   e Zd ZdZdZded eee dddZ	dd	 Z
d
d Zdd Zedd ZdS )CreateChatRequestl   ]% rz   Nr$   userstitle
ttl_periodc                 C   s   || _ || _|| _dS r   r   )r9   r   r   r   r:   r:   r;   r<     s    zCreateChatRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r`   )r   r   r   rc   r9   re   rf   Z_tmpr   r:   r:   r;   rg     s    
zCreateChatRequest.resolvec                 C   s,   d| j d krg ndd | j D | j| jdS )Nr   c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z-CreateChatRequest.to_dict.<locals>.<listcomp>)r=   r   r   r   r   r@   r:   r:   r;   r?     s
    zCreateChatRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD | | j| jd ksl| jdkrpdntd| jfS )NrA   s   Βri   Fr   rj   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z+CreateChatRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r   r   r   rE   r   r@   r:   r:   r;   rD     s    "  
$zCreateChatRequest._bytesc                 C   sd   |  }|   g }t|  D ]}| }|| q | }|d@ rR|  }nd }| |||dS )Nrj   r   )rp   r   rH   r   rr   )rK   rL   rs   Z_usersr=   r   _titleZ_ttl_periodr:   r:   r;   rN     s    
zCreateChatRequest.from_reader)N)rP   rQ   rR   rS   rT   r   rx   r   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r     s   	r   c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )DeleteChatRequestiP[r   r|   c                 C   s
   || _ dS r   r   r9   r|   r:   r:   r;   r<     s    zDeleteChatRequest.__init__c                 C   s   d| j dS )Nr   r=   r|   r   r@   r:   r:   r;   r?     s    zDeleteChatRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   P[rB   rC   rF   rG   r|   r@   r:   r:   r;   rD     s    zDeleteChatRequest._bytesc                 C   s   |  }| |dS Nr   rJ   rK   rL   r   r:   r:   r;   rN     s    zDeleteChatRequest.from_readerNrP   rQ   rR   rS   rT   rV   r<   r?   rD   rW   rN   r:   r:   r:   r;   r     s   r   c                   @   sP   e Zd ZdZdZdedee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteChatUserRequestl   \0D r   Nr$   r|   r}   revoke_historyc                 C   s   || _ || _|| _dS r   r   )r9   r|   r}   r   r:   r:   r;   r<     s    zDeleteChatUserRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zDeleteChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr   )r=   r|   r}   r   )r|   r>   r}   r   r?   r   r@   r:   r:   r;   r?      s
    zDeleteChatUserRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dndtd| j| j fS )NrA   s   \ri   Fr   rj   rB   )rC   rF   rG   r   r|   r}   rD   r@   r:   r:   r;   rD     s    "zDeleteChatUserRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrj   r   )rp   rq   rJ   rH   )rK   rL   rs   Z_revoke_historyr   r   r:   r:   r;   rN     s
    z!DeleteChatUserRequest.from_reader)NrP   rQ   rR   rS   rT   rV   r   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteExportedChatInviteRequestl   +$( r   r   r5   linkc                 C   s   || _ || _dS r   r   r9   r5   r   r:   r:   r;   r<     s    z(DeleteExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   %  s    z'DeleteExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r=   r5   r   r>   r5   r   r?   r   r@   r:   r:   r;   r?   (  s    z'DeleteExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )NrA   s   +dԩrC   r5   rD   rE   r   r@   r:   r:   r;   rD   /  s
    
z&DeleteExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS Nr   rH   rr   rK   rL   rM   _linkr:   r:   r;   rN   6  s    z+DeleteExportedChatInviteRequest.from_readerNrP   rQ   rR   rS   rT   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteFactCheckRequestl   # r   r   r5   r\   c                 C   s   || _ || _dS r   r   r9   r5   r\   r:   r:   r;   r<   A  s    zDeleteFactCheckRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   H  s    zDeleteFactCheckRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r=   r5   r\   r>   r5   r   r?   r\   r@   r:   r:   r;   r?   K  s    zDeleteFactCheckRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   rm   rC   r5   rD   rF   rG   r\   r@   r:   r:   r;   rD   R  s
    zDeleteFactCheckRequest._bytesc                 C   s   |  }| }| ||dS Nr   rH   rp   rK   rL   rM   ru   r:   r:   r;   rN   Y  s    z"DeleteFactCheckRequest.from_readerNr   r:   r:   r:   r;   r   =  s   r   c                   @   sb   e Zd ZdZdZddeee ee ee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )DeleteHistoryRequestl   *a I,Nr   r5   max_id
just_clearrevokemin_datemax_datec                 C   s(   || _ || _|| _|| _|| _|| _dS zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        Nr   )r9   r5   r   r   r  r  r  r:   r:   r;   r<   d  s    zDeleteHistoryRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   o  s    zDeleteHistoryRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr   )r=   r5   r   r   r  r  r  )	r>   r5   r   r?   r   r   r  r  r  r@   r:   r:   r;   r?   r  s    zDeleteHistoryRequest.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 | jd ksr| jdkrvdnd	B | j td
| j	| jd ks| jdkrdn
| 
| j| jd ks| jdkrdn
| 
| jfS )NrA   s   *ri   Fr   rj   rk   rl      rm   )rC   rF   rG   r   r  r  r  r5   rD   r   serialize_datetimer@   r:   r:   r;   rD   }  s    v""zDeleteHistoryRequest._bytesc           	      C   sp   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }| ||||||dS )Nrj   rk   rl   r  r   )rp   rq   rH   tgread_date)	rK   rL   rs   Z_just_clear_revokerM   _max_id	_min_date	_max_dater:   r:   r;   rN     s    

z DeleteHistoryRequest.from_reader)NNNN)rP   rQ   rR   rS   rT   rV   r   rq   r	   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r   `  s   *
r   c                   @   sJ   e Zd ZdZdZdee ee dddZ	dd Z
d	d
 Zedd ZdS )DeleteMessagesRequestl   K    n@ Nidr  c                 C   s   || _ || _dS zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        Nr  )r9   r  r  r:   r:   r;   r<     s    zDeleteMessagesRequest.__init__c                 C   s&   d| j d krg n| j d d  | jdS )Nr  )r=   r  r  r  r@   r:   r:   r;   r?     s    zDeleteMessagesRequest.to_dictc              
   C   sT   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD fS )NrA   s   ҕri   Fr   rj   r   rm   c                 s   s   | ]}t d |V  qdS rm   NrF   rG   r   r:   r:   r;   r     s     z/DeleteMessagesRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r   r  r@   r:   r:   r;   rD     s    "  zDeleteMessagesRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}|  }|| q,| ||dS )Nrj   r  )rp   rq   r   r   )rK   rL   rs   r  _idr=   r   r:   r:   r;   rN     s    z!DeleteMessagesRequest.from_reader)NrP   rQ   rR   rS   rT   r   rV   r   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )DeletePhoneCallHistoryRequestl   	ds l   .e.p Nr  c                 C   s
   || _ dS )z]
        :returns messages.AffectedFoundMessages: Instance of AffectedFoundMessages.
        Nr  )r9   r  r:   r:   r;   r<     s    z&DeletePhoneCallHistoryRequest.__init__c                 C   s   d| j dS )Nr  )r=   r  r  r@   r:   r:   r;   r?     s    z%DeletePhoneCallHistoryRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )NrA   s   	ri   Fr   rj   )rC   rF   rG   r  r@   r:   r:   r;   rD     s    "z$DeletePhoneCallHistoryRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrj   r  r   )rK   rL   rs   r  r:   r:   r;   rN     s    z)DeletePhoneCallHistoryRequest.from_reader)Nr   r:   r:   r:   r;   r    s   r  c                   @   sD   e Zd ZdZdZeee dddZdd Zdd	 Z	e
d
d ZdS )DeleteQuickReplyMessagesRequestl   iB r   shortcut_idr  c                 C   s   || _ || _dS r   r  )r9   r  r  r:   r:   r;   r<     s    z(DeleteQuickReplyMessagesRequest.__init__c                 C   s&   d| j | jd krg n| jd d  dS )Nr  )r=   r  r  r  r@   r:   r:   r;   r?     s    z'DeleteQuickReplyMessagesRequest.to_dictc              
   C   s>   d dtd| jdtdt| jd dd | jD fS )NrA   s   rm   r   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z9DeleteQuickReplyMessagesRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r   r  r@   r:   r:   r;   rD     s      z&DeleteQuickReplyMessagesRequest._bytesc                 C   sD   |  }|   g }t|  D ]}|  }|| q | ||dS )Nr  rp   r   r   )rK   rL   _shortcut_idr  r=   r   r:   r:   r;   rN     s    z+DeleteQuickReplyMessagesRequest.from_readerN)rP   rQ   rR   rS   rT   rV   r   r<   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )DeleteQuickReplyShortcutRequesti@G<r   r  c                 C   s
   || _ dS r   r  )r9   r  r:   r:   r;   r<     s    z(DeleteQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr  )r=   r  r  r@   r:   r:   r;   r?     s    z'DeleteQuickReplyShortcutRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   @G<rm   )rC   rF   rG   r  r@   r:   r:   r;   rD     s    z&DeleteQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr  rp   )rK   rL   r  r:   r:   r;   rN     s    z+DeleteQuickReplyShortcutRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )'DeleteRevokedExportedChatInvitesRequesti{Vr   r   r$   r5   admin_idc                 C   s   || _ || _dS r   r   )r9   r5   r!  r:   r:   r;   r<   $  s    z0DeleteRevokedExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   rb   rc   r5   r   r!  rd   r:   r:   r;   rg   +  s    z/DeleteRevokedExportedChatInvitesRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r=   r5   r!  )r>   r5   r   r?   r!  r@   r:   r:   r;   r?   /  s    z/DeleteRevokedExportedChatInvitesRequest.to_dictc                 C   s   d d| j | j fS )NrA   s   {V)rC   r5   rD   r!  r@   r:   r:   r;   rD   6  s
    z.DeleteRevokedExportedChatInvitesRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   r   )rK   rL   rM   	_admin_idr:   r:   r;   rN   =  s    z3DeleteRevokedExportedChatInvitesRequest.from_readerNr   r:   r:   r:   r;   r     s   r  c                   @   s\   e Zd ZdZdZddeed ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteSavedHistoryRequesti_Mr   Nr   r5   r   parent_peerr  r  c                 C   s"   || _ || _|| _|| _|| _dS r  r%  )r9   r5   r   r&  r  r  r:   r:   r;   r<   H  s
    z"DeleteSavedHistoryRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   rb   rc   r5   r&  rd   r:   r:   r;   rg   R  s    z!DeleteSavedHistoryRequest.resolvec                 C   sH   dt | jtr| j n| j| jt | jtr6| j n| j| j| jdS )Nr$  )r=   r5   r   r&  r  r  )r>   r5   r   r?   r   r&  r  r  r@   r:   r:   r;   r?   W  s    z!DeleteSavedHistoryRequest.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 | jd kst| jdkrxdn| j | j td	| j| jd ks| jdkrdn
| 	| j| jd ks| jdkrdn
| 	| jfS )
NrA   s   _Mri   Fr   rj   rl   r  rm   )
rC   rF   rG   r&  r  r  rD   r5   r   r  r@   r:   r:   r;   rD   a  s    Z ""z DeleteSavedHistoryRequest._bytesc                 C   sl   |  }|d@ r| }nd }| }|  }|d@ r@| }nd }|d@ rV| }nd }| |||||dS )Nrj   rl   r  r%  rp   rH   r  )rK   rL   rs   _parent_peerrM   r	  r
  r  r:   r:   r;   rN   l  s    


z%DeleteSavedHistoryRequest.from_reader)NNNrP   rQ   rR   rS   rT   rV   r   r	   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r$  D  s   $

r$  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )DeleteScheduledMessagesRequesti+Yr   r   r5   r  c                 C   s   || _ || _dS r   r,  r9   r5   r  r:   r:   r;   r<     s    z'DeleteScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z&DeleteScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr+  r=   r5   r  r>   r5   r   r?   r  r@   r:   r:   r;   r?     s    z&DeleteScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrA   s   +Yr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z8DeleteScheduledMessagesRequest._bytes.<locals>.<genexpr>rC   r5   rD   rF   rG   r   r  r@   r:   r:   r;   rD     s      z%DeleteScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS Nr,  r   rK   rL   rM   r  r=   r   r:   r:   r;   rN     s    z*DeleteScheduledMessagesRequest.from_readerNrP   rQ   rR   rS   rT   r   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r+    s   r+  c                   @   sF   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
edd ZdS )DiscardEncryptionRequestl   .'g r   Nr|   delete_historyc                 C   s   || _ || _dS r   r5  )r9   r|   r6  r:   r:   r;   r<     s    z!DiscardEncryptionRequest.__init__c                 C   s   d| j | jdS )Nr4  )r=   r|   r6  r5  r@   r:   r:   r;   r?     s    z DiscardEncryptionRequest.to_dictc                 C   s:   d dtd| jd ks | jdkr$dndtd| jfS )NrA   s   ri   Fr   rj   rm   )rC   rF   rG   r6  r|   r@   r:   r:   r;   rD     s
    "zDiscardEncryptionRequest._bytesc                 C   s(   |  }t|d@ }|  }| ||dS )Nrj   r5  r   )rK   rL   rs   Z_delete_historyr   r:   r:   r;   rN     s    z$DiscardEncryptionRequest.from_reader)NrP   rQ   rR   rS   rT   rV   r   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   r4    s   r4  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )EditChatAboutRequestl   = r   r   r5   aboutc                 C   s   || _ || _dS r   r9  )r9   r5   r:  r:   r:   r;   r<     s    zEditChatAboutRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zEditChatAboutRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr8  )r=   r5   r:  )r>   r5   r   r?   r:  r@   r:   r:   r;   r?     s    zEditChatAboutRequest.to_dictc                 C   s   d d| j | | jfS )NrA   s   )rC   r5   rD   rE   r:  r@   r:   r:   r;   rD     s
    
zEditChatAboutRequest._bytesc                 C   s   |  }| }| ||dS )Nr9  r   )rK   rL   rM   Z_aboutr:   r:   r;   rN     s    z EditChatAboutRequest.from_readerNr   r:   r:   r:   r;   r8    s   r8  c                   @   sJ   e Zd ZdZdZededddZdd Zd	d
 Z	dd Z
edd ZdS )EditChatAdminRequestl   QP r   r$   r|   r}   is_adminc                 C   s   || _ || _|| _dS r   r<  )r9   r|   r}   r=  r:   r:   r;   r<     s    zEditChatAdminRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zEditChatAdminRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr;  )r=   r|   r}   r=  )r|   r>   r}   r   r?   r=  r@   r:   r:   r;   r?     s
    zEditChatAdminRequest.to_dictc                 C   s,   d dtd| j| j | jr$dndfS )NrA   s   [rB      ur   7y)rC   rF   rG   r|   r}   rD   r=  r@   r:   r:   r;   rD     s    zEditChatAdminRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr<  )rJ   rH   tgread_bool)rK   rL   r   r   Z	_is_adminr:   r:   r;   rN     s    z EditChatAdminRequest.from_readerNrP   rQ   rR   rS   rT   rV   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r;    s   r;  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )"EditChatDefaultBannedRightsRequestl   AkK r   r   r
   r5   banned_rightsc                 C   s   || _ || _dS r   rC  )r9   r5   rD  r:   r:   r;   r<     s    z+EditChatDefaultBannedRightsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg      s    z*EditChatDefaultBannedRightsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrB  )r=   r5   rD  )r>   r5   r   r?   rD  r@   r:   r:   r;   r?   #  s    z*EditChatDefaultBannedRightsRequest.to_dictc                 C   s   d d| j | j fS )NrA   s   Ak)rC   r5   rD   rD  r@   r:   r:   r;   rD   *  s
    z)EditChatDefaultBannedRightsRequest._bytesc                 C   s   |  }|  }| ||dS )NrC  r   )rK   rL   rM   Z_banned_rightsr:   r:   r;   rN   1  s    z.EditChatDefaultBannedRightsRequest.from_readerNr   r:   r:   r:   r;   rB    s   rB  c                   @   sH   e Zd ZdZdZeddddZdd Zd	d
 Zdd Z	e
dd ZdS )EditChatPhotoRequestit5r   r   r|   photoc                 C   s   || _ || _dS r   rF  )r9   r|   rG  r:   r:   r;   r<   <  s    zEditChatPhotoRequest.__init__c                    s   | | j| _d S r`   )Zget_input_chat_photorG  rd   r:   r:   r;   rg   C  s    zEditChatPhotoRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )NrE  )r=   r|   rG  )r|   r>   rG  r   r?   r@   r:   r:   r;   r?   F  s    zEditChatPhotoRequest.to_dictc                 C   s    d dtd| j| j fS )NrA   s   t5rB   )rC   rF   rG   r|   rG  rD   r@   r:   r:   r;   rD   M  s
    zEditChatPhotoRequest._bytesc                 C   s   |  }| }| ||dS )NrF  )rJ   rH   )rK   rL   r   Z_photor:   r:   r;   rN   T  s    z EditChatPhotoRequest.from_readerNr   r:   r:   r:   r;   rE  8  s   rE  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )EditChatTitleRequesti?xsr   r|   r   c                 C   s   || _ || _dS r   rI  )r9   r|   r   r:   r:   r;   r<   _  s    zEditChatTitleRequest.__init__c                 C   s   d| j | jdS )NrH  )r=   r|   r   rI  r@   r:   r:   r;   r?   f  s    zEditChatTitleRequest.to_dictc                 C   s"   d dtd| j| | jfS )NrA   s   ?xsrB   )rC   rF   rG   r|   rE   r   r@   r:   r:   r;   rD   m  s
    
zEditChatTitleRequest._bytesc                 C   s   |  }| }| ||dS )NrI  )rJ   rr   )rK   rL   r   r   r:   r:   r;   rN   t  s    z EditChatTitleRequest.from_readerNrP   rQ   rR   rS   rT   rV   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   rH  [  s   rH  c                	   @   sh   e Zd ZdZdZddeee ee ee	 ee ee dddZ
dd	 Zd
d Zdd Zedd ZdS )EditExportedChatInviteRequestl   u/{    T Nr   r5   r   revokedexpire_dateusage_limitrequest_neededr   c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS zz
        :returns messages.ExportedChatInvite: Instance of either ExportedChatInvite, ExportedChatInviteReplaced.
        NrM  )r9   r5   r   rN  rO  rP  rQ  r   r:   r:   r;   r<     s    z&EditExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z%EditExportedChatInviteRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )NrK  )r=   r5   r   rN  rO  rP  rQ  r   )
r>   r5   r   r?   r   rN  rO  rP  rQ  r   r@   r:   r:   r;   r?     s    z%EditExportedChatInviteRequest.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 | jd krldnd	B | jd ks| jdkrdnd
B | j	 | 
| j| jd ks| jdkrdn
| | j| jd ks| jdkrdntd| j| jd krdn| jrdnd| jd ks| jdkrdn
| 
| jfS )NrA   s   u/ʽri   Fr   rl   rj   rk   r     rm   r>  r?  )rC   rF   rG   rN  rO  rP  rQ  r   r5   rD   rE   r   r  r@   r:   r:   r;   rD     s    
"$&z$EditExportedChatInviteRequest._bytesc           
   	   C   s   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL|  }nd }|d@ rb| }nd }|d@ rx| }	nd }	| |||||||	dS )Nrl   rj   rk   r  rS  rM  )rp   rq   rH   rr   r  r@  )
rK   rL   rs   _revokedrM   r   _expire_date_usage_limit_request_neededr   r:   r:   r;   rN     s"    



z)EditExportedChatInviteRequest.from_reader)NNNNN)rP   rQ   rR   rS   rT   rx   r   rq   r	   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rK  {  s   0rK  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )EditFactCheckRequestiur   r   r/   r5   r\   textc                 C   s   || _ || _|| _dS r   rY  )r9   r5   r\   rZ  r:   r:   r;   r<     s    zEditFactCheckRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zEditFactCheckRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )NrX  )r=   r5   r\   rZ  )r>   r5   r   r?   r\   rZ  r@   r:   r:   r;   r?     s
    zEditFactCheckRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrA   s   urm   )rC   r5   rD   rF   rG   r\   rZ  r@   r:   r:   r;   rD     s    zEditFactCheckRequest._bytesc                 C   s&   |  }| }|  }| |||dS )NrY  r   )rK   rL   rM   ru   _textr:   r:   r;   rN     s    z EditFactCheckRequest.from_readerNr   r:   r:   r:   r;   rX    s   rX  c                
   @   sp   e Zd ZdZdZddee ee ee ed ed eed  dd	d
Z	dd Z
dd Zdd Zedd ZdS )EditInlineBotMessageRequestl   } r   Nr   r   r*   r&   r  
no_webpageinvert_mediamessager   reply_markupentitiesc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r   r]  )r9   r  r^  r_  r`  r   ra  rb  r:   r:   r;   r<     s    z$EditInlineBotMessageRequest.__init__c                    s   | j r|| j | _ d S r`   )r   get_input_mediard   r:   r:   r;   rg     s    z#EditInlineBotMessageRequest.resolvec              	   C   s~   dt | jtr| j n| j| j| j| jt | jtr>| j n| jt | jtrX| j n| j| j	d krjg ndd | j	D dS )Nr\  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z7EditInlineBotMessageRequest.to_dict.<locals>.<listcomp>)r=   r  r^  r_  r`  r   ra  rb  )
r>   r  r   r?   r^  r_  r`  r   ra  rb  r@   r:   r:   r;   r?     s    z#EditInlineBotMessageRequest.to_dictc                 C   sr  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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	
 | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j
 | jd ks| jdkrdn| j
 | jd ks:| jdkr>dn.d dtdt| jd dd | jD ffS )NrA   s   }Uri   Fr   rk          @  rl   r  r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z5EditInlineBotMessageRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r^  r_  r`  r   ra  rb  r  rD   rE   r   r@   r:   r:   r;   rD     s    " $Jz"EditInlineBotMessageRequest._bytesc              	   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }|d@ rf| }nd }|d@ r|   g }	t|  D ]}
| }|	| qnd }	| |||||||	dS )Nrk   rd  re  rf  rl   r  r]  )rp   rq   rH   rr   r   r   )rK   rL   rs   _no_webpage_invert_mediar  _messager   _reply_markup	_entitiesr=   r   r:   r:   r;   rN     s*    


z'EditInlineBotMessageRequest.from_reader)NNNNNN)rP   rQ   rR   rS   rT   r   rq   rx   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r\    s   8r\  c                   @   s~   e Zd ZdZdZddeee ee ee ed ed ee	d  ee
 ee d
d	d
Zdd Zdd Zdd Zedd ZdS )EditMessageRequestl   @? r   Nr   r   r*   r&   
r5   r  r^  r_  r`  r   ra  rb  schedule_datequick_reply_shortcut_idc                 C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	dS r   rm  )r9   r5   r  r^  r_  r`  r   ra  rb  rn  ro  r:   r:   r;   r<   5  s    zEditMessageRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r`   rb   rc   r5   r   rc  rd   r:   r:   r;   rg   D  s    zEditMessageRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| jt | j	tr\| j	 n| j	| j
d krng ndd | j
D | j| jdS )Nrl  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   S  s     z.EditMessageRequest.to_dict.<locals>.<listcomp>)r=   r5   r  r^  r_  r`  r   ra  rb  rn  ro  )r>   r5   r   r?   r  r^  r_  r`  r   ra  rb  rn  ro  r@   r:   r:   r;   r?   I  s    zEditMessageRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | j td| j| jd ks| jdkrdn
| | j| jd ks>| jdkrBdn| j | jd ksb| jdkrfdn| j | jd ks| jdkrdn.d dtdt| jd dd | jD f| j	d ks| j	dkrdn
| | j	| j
d ks| j
dkrdntd| j
f
S )NrA   s   @ri   Fr   rk   rd  re  rf  rl   r        rm   r   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   a  s     z,EditMessageRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r^  r_  r`  r   ra  rb  rn  ro  r5   rD   r  rE   r   r  r@   r:   r:   r;   rD   X  s    &$$J&(zEditMessageRequest._bytesc                 C   s   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }|d@ rn| }	nd }	|d@ r|   g }
t|  D ]}| }|
| qnd }
|d@ r| }nd }|d@ r|  }nd }| |||||||	|
||d	
S )
Nrk   rd  re  rf  rl   r  rq  rr  rm  )rp   rq   rH   rr   r   r   r  )rK   rL   rs   rg  rh  rM   r  ri  r   rj  rk  r=   r   _schedule_dateZ_quick_reply_shortcut_idr:   r:   r;   rN   f  s8    




zEditMessageRequest.from_reader)NNNNNNNN)rP   rQ   rR   rS   rT   rV   r   rq   rx   r   r	   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rl  1  s   Frl  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )EditQuickReplyShortcutRequesti< \r   r  r   c                 C   s   || _ || _dS r   ru  )r9   r  r   r:   r:   r;   r<     s    z&EditQuickReplyShortcutRequest.__init__c                 C   s   d| j | jdS )Nrt  )r=   r  r   ru  r@   r:   r:   r;   r?     s    z%EditQuickReplyShortcutRequest.to_dictc                 C   s"   d dtd| j| | jfS )NrA   s   < \rm   )rC   rF   rG   r  rE   r   r@   r:   r:   r;   rD     s
    
z$EditQuickReplyShortcutRequest._bytesc                 C   s   |  }| }| ||dS )Nru  )rp   rr   )rK   rL   r  r   r:   r:   r;   rN     s    z)EditQuickReplyShortcutRequest.from_readerNrJ  r:   r:   r:   r;   rt    s   rt  c                	   @   sl   e Zd ZdZdZddee ee ee ee ee	 ed dddZ
d	d
 Zdd Zdd Zedd ZdS )ExportChatInviteRequestl   ^H l   X
h Nr   r-   r5   legacy_revoke_permanentrQ  rO  rP  r   subscription_pricingc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zs
        :returns ExportedChatInvite: Instance of either ChatInviteExported, ChatInvitePublicJoinRequests.
        Nrw  )r9   r5   rx  rQ  rO  rP  r   ry  r:   r:   r;   r<     s    z ExportChatInviteRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zExportChatInviteRequest.resolvec              
   C   sP   dt | jtr| j n| j| j| j| j| j| jt | j	trF| j	 n| j	dS )Nrv  )r=   r5   rx  rQ  rO  rP  r   ry  )
r>   r5   r   r?   rx  rQ  rO  rP  r   ry  r@   r:   r:   r;   r?     s    zExportChatInviteRequest.to_dictc              
   C   sR  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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	
 | jd ks| jdkrdn
| | j| jd ks| jdkrdntd| j| jd ks| jdkrdn
| | j| jd ks@| jdkrDdn| j
 fS )NrA   s   Uri   Fr   rl   r  rj   rk   rS      rm   )rC   rF   rG   rx  rQ  rO  rP  r   ry  r5   rD   r  rE   r@   r:   r:   r;   rD     s    "$&$zExportChatInviteRequest._bytesc           
   	   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP|  }nd }|d@ rf| }nd }|d@ r|| }	nd }	| |||||||	dS )Nrl   r  rj   rk   rS  rz  rw  rp   rq   rH   r  rr   )
rK   rL   rs   Z_legacy_revoke_permanentrW  rM   rU  rV  r   Z_subscription_pricingr:   r:   r;   rN     s"    



z#ExportChatInviteRequest.from_reader)NNNNNN)rP   rQ   rR   rS   rT   r   rq   r	   rV   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rv    s   4rv  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )FaveStickerRequestl   [Es r   r   r  unfavec                 C   s   || _ || _dS r   r}  )r9   r  r~  r:   r:   r;   r<     s    zFaveStickerRequest.__init__c                    s   | | j| _d S r`   Zget_input_documentr  rd   r:   r:   r;   rg     s    zFaveStickerRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr|  )r=   r  r~  )r>   r  r   r?   r~  r@   r:   r:   r;   r?      s    zFaveStickerRequest.to_dictc                 C   s    d d| j | jrdndfS )NrA   s   [r>  r?  )rC   r  rD   r~  r@   r:   r:   r;   rD     s
    zFaveStickerRequest._bytesc                 C   s   |  }| }| ||dS )Nr}  rH   r@  )rK   rL   r  Z_unfaver:   r:   r;   rN     s    zFaveStickerRequest.from_readerNrP   rQ   rR   rS   rT   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r|    s   r|  c                   @   s   e Zd ZdZdZddee dee ee ee ee ee ee ee ee ee ed ee	 ed ed ee ee ed dd	d
Z
dd Zdd Zdd Zedd ZdS )ForwardMessagesRequestl   (/ r   Nr   r    r   r.   	from_peerr  to_peersilent
backgroundwith_my_scoredrop_authordrop_media_captions
noforwardsallow_paid_floodskipr   
top_msg_idreply_torn  send_asquick_reply_shortcutvideo_timestampallow_paid_starssuggested_postc                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|dk	rH|ndd t
t|D | _|| _|| _|| _|| _|| _|| _|| _|| _dS )r   Nc                 S   s"   g | ]}t jtd dddqS r  r   Tr   rV   r   r   r   r   r=   r:   r:   r;   r   '  s     z3ForwardMessagesRequest.__init__.<locals>.<listcomp>)r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  rn  r  r  r  r  r  )r9   r  r  r  r  r  r  r  r  r  r  r   r  r  rn  r  r  r  r  r  r:   r:   r;   r<     s&    $zForwardMessagesRequest.__init__c                    sX   | || jI d H | _| || jI d H | _| jrT| || jI d H | _d S r`   )rb   rc   r  r  r  rd   r:   r:   r;   rg   1  s    zForwardMessagesRequest.resolvec                 C   s  dt | jtr| j n| j| jd kr*g n| jd d  t | jtrL| j n| j| j| j| j| j	| j
| j| j| jd krzg n| jd d  | jt | jtr| j n| j| jt | jtr| j n| jt | jtr| j n| j| j| jt | jtr| j n| jdS )Nr  )r=   r  r  r  r  r  r  r  r  r  r  r   r  r  rn  r  r  r  r  r  )r>   r  r   r?   r  r  r  r  r  r  r  r  r  r   r  r  rn  r  r  r  r  r  r@   r:   r:   r;   r?   7  s*    zForwardMessagesRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j dtdt| jd dd | jD dtdt| jd dd | jD | j | j
d ks@| j
dkrDdntd| j
| jd ksh| jdkrldn| j | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks| jdkrdntd| j| jd ks"| jdkr&dntd| j| jd ksJ| jdkrNdn| j fS )NrA   s   (ri   Fr   rz  @      re     rf          @        rr            r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   T  s     z0ForwardMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS rB   Nr  r   r:   r:   r;   r   U  s     rB   )rC   rF   rG   r  r  r  r  r  r  r  r  r  rn  r  r  r  r  r  r  rD   r   r  r   r  r  r@   r:   r:   r;   rD   O  s*         ($&$$(($zForwardMessagesRequest._bytesc                 C   s  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|   g }t|  D ]}|  }|| q||   g }t|  D ]}| }|| q| }|d@ r|  }nd }|d	@ r| }nd }|d
@ r| }nd }|d@ r$| }nd }|d@ r<| }nd }|d@ rT|  }nd }|d@ rl| }nd }|d@ r| }nd }| |
|||||||||	|||||||||dS )Nrz  r  r  re  r  rf  r  r  r  r  r  rr  r  r  r  r  )rp   rq   rH   r   r   rJ   r  )rK   rL   rs   _silent_backgroundZ_with_my_scoreZ_drop_authorZ_drop_media_captions_noforwards_allow_paid_floodskipZ
_from_peerr  r=   r   r   Z_to_peer_top_msg_id	_reply_tors  _send_as_quick_reply_shortcutZ_video_timestamp_allow_paid_stars_suggested_postr:   r:   r;   rN   a  sZ    













z"ForwardMessagesRequest.from_reader)NNNNNNNNNNNNNNNN)rP   rQ   rR   rS   rT   r   rV   r   rq   r	   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   xr  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetAdminsWithInvitesRequesti 9l   +- r   r   c                 C   s
   || _ dS )z]
        :returns messages.ChatAdminsWithInvites: Instance of ChatAdminsWithInvites.
        Nr   r   r:   r:   r;   r<     s    z$GetAdminsWithInvitesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z#GetAdminsWithInvitesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r@   r:   r:   r;   r?     s    z#GetAdminsWithInvitesRequest.to_dictc                 C   s   d d| j fS )NrA   s    9r   r@   r:   r:   r;   rD     s    z"GetAdminsWithInvitesRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z'GetAdminsWithInvitesRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetAllDraftsRequestie?jr   c                 C   s   ddiS )Nr=   r  r:   r@   r:   r:   r;   r?     s     zGetAllDraftsRequest.to_dictc                 C   s
   d dS )NrA   )s   e?jr   r@   r:   r:   r;   rD     s    zGetAllDraftsRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN     s    zGetAllDraftsRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetAllStickersRequestl   !Aq )HEr   c                 C   s
   || _ dS zh
        :returns messages.AllStickers: Instance of either AllStickersNotModified, AllStickers.
        Nr   r   r:   r:   r;   r<     s    zGetAllStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?     s    zGetAllStickersRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   rB   rC   rF   rG   r   r@   r:   r:   r;   rD     s    zGetAllStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z!GetAllStickersRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sN   e Zd ZdZdZdeeee ee dddZdd Z	d	d
 Z
edd ZdS )GetArchivedStickersRequestivWiqזrN	offset_idlimitmasksemojisc                 C   s   || _ || _|| _|| _dS )zS
        :returns messages.ArchivedStickers: Instance of ArchivedStickers.
        Nr  )r9   r  r  r  r  r:   r:   r;   r<     s    z#GetArchivedStickersRequest.__init__c                 C   s   d| j | j| j| jdS )Nr  )r=   r  r  r  r  r  r@   r:   r:   r;   r?     s    z"GetArchivedStickersRequest.to_dictc              	   C   sb   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 td| jtd	| jfS )
NrA   s   vWri   Fr   rj   rk   rB   rm   )rC   rF   rG   r  r  r  r  r@   r:   r:   r;   rD     s    >z!GetArchivedStickersRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }|  }| ||||dS )Nrj   rk   r  rp   rq   rJ   )rK   rL   rs   _masks_emojis
_offset_id_limitr:   r:   r;   rN   	  s    z&GetArchivedStickersRequest.from_reader)NNr7  r:   r:   r:   r;   r    s   		r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetAttachMenuBotRequestia!wl   =g6 r$   botc                 C   s
   || _ dS )zL
        :returns AttachMenuBotsBot: Instance of AttachMenuBotsBot.
        Nr  )r9   r  r:   r:   r;   r<     s    z GetAttachMenuBotRequest.__init__c                    s   | || jI d H | _d S r`   r   rc   r  rd   r:   r:   r;   rg     s    zGetAttachMenuBotRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  )r=   r  )r>   r  r   r?   r@   r:   r:   r;   r?   !  s    zGetAttachMenuBotRequest.to_dictc                 C   s   d d| j fS )NrA   s   a!w)rC   r  rD   r@   r:   r:   r;   rD   '  s    zGetAttachMenuBotRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rK   rL   _botr:   r:   r;   rN   -  s    z#GetAttachMenuBotRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetAttachMenuBotsRequestil   #\ r   c                 C   s
   || _ dS )zh
        :returns AttachMenuBots: Instance of either AttachMenuBotsNotModified, AttachMenuBots.
        Nr   r   r:   r:   r;   r<   7  s    z!GetAttachMenuBotsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?   =  s    z GetAttachMenuBotsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   rB   r  r@   r:   r:   r;   rD   C  s    zGetAttachMenuBotsRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN   I  s    z$GetAttachMenuBotsRequest.from_readerNr   r:   r:   r:   r;   r  3  s   r  c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )GetAttachedStickersRequestl   g l   k_$ r#   r   c                 C   s
   || _ dS )zT
        :returns Vector<StickerSetCovered>: This type has no constructors.
        Nr  )r9   r   r:   r:   r;   r<   S  s    z#GetAttachedStickersRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r=   r   )r>   r   r   r?   r@   r:   r:   r;   r?   Y  s    z"GetAttachedStickersRequest.to_dictc                 C   s   d d| j fS )NrA   s   g[)rC   r   rD   r@   r:   r:   r;   rD   _  s    z!GetAttachedStickersRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rK   rL   r   r:   r:   r;   rN   e  s    z&GetAttachedStickersRequest.from_readerN
rP   rQ   rR   rS   rT   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  O  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetAvailableEffectsRequestl   9
D= ipDr   c                 C   s
   || _ dS )zw
        :returns messages.AvailableEffects: Instance of either AvailableEffectsNotModified, AvailableEffects.
        Nr   r   r:   r:   r;   r<   o  s    z#GetAvailableEffectsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?   u  s    z"GetAvailableEffectsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   9
rm   r  r@   r:   r:   r;   rD   {  s    z!GetAvailableEffectsRequest._bytesc                 C   s   |  }| |dS r   r  r   r:   r:   r;   rN     s    z&GetAvailableEffectsRequest.from_readerNr   r:   r:   r:   r;   r  k  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetAvailableReactionsRequestil   -MH r   c                 C   s
   || _ dS )z}
        :returns messages.AvailableReactions: Instance of either AvailableReactionsNotModified, AvailableReactions.
        Nr   r   r:   r:   r;   r<     s    z%GetAvailableReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?     s    z$GetAvailableReactionsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   rm   r  r@   r:   r:   r;   rD     s    z#GetAvailableReactionsRequest._bytesc                 C   s   |  }| |dS r   r  r   r:   r:   r;   rN     s    z(GetAvailableReactionsRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetBotAppRequesti4l   C r   appr   c                 C   s   || _ || _dS )z?
        :returns messages.BotApp: Instance of BotApp.
        Nr  )r9   r  r   r:   r:   r;   r<     s    zGetBotAppRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r  r   )r>   r  r   r?   r   r@   r:   r:   r;   r?     s    zGetBotAppRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   4rB   )rC   r  rD   rF   rG   r   r@   r:   r:   r;   rD     s
    zGetBotAppRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rH   rJ   )rK   rL   _appr   r:   r:   r;   rN     s    zGetBotAppRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s\   e Zd ZdZdZddeee ee ed dddZ	d	d
 Z
dd Zdd Zedd ZdS )GetBotCallbackAnswerRequestl   J& iMlNr   r   r5   r\   gamedatapasswordc                 C   s"   || _ || _|| _|| _|| _dS )zU
        :returns messages.BotCallbackAnswer: Instance of BotCallbackAnswer.
        Nr  )r9   r5   r\   r  r  r  r:   r:   r;   r<     s
    z$GetBotCallbackAnswerRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z#GetBotCallbackAnswerRequest.resolvec                 C   sH   dt | jtr| j n| j| j| j| jt | jtr>| j n| jdS )Nr  )r=   r5   r\   r  r  r  )r>   r5   r   r?   r\   r  r  r  r@   r:   r:   r;   r?     s    z#GetBotCallbackAnswerRequest.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 | j td	| j| jd ks| jdkrdn
| 	| j| jd ks| jdkrdn| j fS )
NrA   s   Bri   Fr   rk   rj   rl   rm   )
rC   rF   rG   r  r  r  r5   rD   r\   rE   r@   r:   r:   r;   rD     s    Z" z"GetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nrk   rj   rl   r  )rp   rq   rH   rI   )rK   rL   rs   Z_gamerM   ru   _dataZ	_passwordr:   r:   r;   rN     s    

z'GetBotCallbackAnswerRequest.from_reader)NNN)rP   rQ   rR   rS   rT   rV   r   rq   rU   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   $


r  c                
   @   sj   e Zd ZdZdZddee deee ee ee	 ee	 dddZ
d	d
 Zdd Zdd Zedd ZdS )GetChatInviteImportersRequestl   N]	> l   
y3 Nr   r$   r5   offset_dateoffset_userr  	requestedsubscription_expiredr   qc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zY
        :returns messages.ChatInviteImporters: Instance of ChatInviteImporters.
        Nr  )	r9   r5   r  r  r  r  r  r   r  r:   r:   r;   r<     s    z&GetChatInviteImportersRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   )rb   rc   r5   r   r  rd   r:   r:   r;   rg     s    z%GetChatInviteImportersRequest.resolvec              
   C   sT   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| j| j	| j
d	S )Nr  )	r=   r5   r  r  r  r  r  r   r  )r>   r5   r   r?   r  r  r  r  r  r   r  r@   r:   r:   r;   r?     s    z%GetChatInviteImportersRequest.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 | jd ksr| jdkrvdnd	B | j | jd ks| jdkrdn
| 	| j| jd ks| jdkrdn
| 	| j| 
| j| j td
| jfS )NrA   s   Nri   Fr   rj   r  rk   rl   rm   )rC   rF   rG   r  r  r   r  r5   rD   rE   r  r  r  r  r@   r:   r:   r;   rD     s    v""
z$GetChatInviteImportersRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }| }| }	|  }
| |||	|
||||dS )Nrj   r  rk   rl   r  )rp   rq   rH   rr   r  )rK   rL   rs   Z
_requestedZ_subscription_expiredrM   r   _q_offset_dateZ_offset_userr  r:   r:   r;   rN   (  s    

z)GetChatInviteImportersRequest.from_reader)NNNN)rP   rQ   rR   rS   rT   r   r	   rV   rq   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   2r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )GetChatsRequestiRI   K3 r  c                 C   s
   || _ dS zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        Nr  r9   r  r:   r:   r;   r<   A  s    zGetChatsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r=   r  r  r@   r:   r:   r;   r?   G  s    zGetChatsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   RIr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   P  s     z)GetChatsRequest._bytes.<locals>.<genexpr>rC   rF   rG   r   r  r@   r:   r:   r;   rD   M  s      zGetChatsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS Nr  rp   r   rJ   r   rK   rL   r  r=   r   r:   r:   r;   rN   S  s    zGetChatsRequest.from_readerNrP   rQ   rR   rS   rT   r   rV   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  =  s   r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetCommonChatsRequestl   !H r  r$   r}   r   r  c                 C   s   || _ || _|| _dS r  r  )r9   r}   r   r  r:   r:   r;   r<   b  s    zGetCommonChatsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   j  s    zGetCommonChatsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r=   r}   r   r  )r>   r}   r   r?   r   r  r@   r:   r:   r;   r?   m  s
    zGetCommonChatsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )NrA   s   rB   rm   )rC   r}   rD   rF   rG   r   r  r@   r:   r:   r;   rD   u  s    zGetCommonChatsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rH   rJ   rp   )rK   rL   r   r	  r  r:   r:   r;   rN   }  s    z!GetCommonChatsRequest.from_readerNr   r:   r:   r:   r;   r  ^  s   r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )GetCustomEmojiDocumentsRequestl   TV3 l    document_idc                 C   s
   || _ dS )zK
        :returns Vector<Document>: This type has no constructors.
        Nr  )r9   r  r:   r:   r;   r<     s    z'GetCustomEmojiDocumentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r=   r  r  r@   r:   r:   r;   r?     s    z&GetCustomEmojiDocumentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   Tr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z8GetCustomEmojiDocumentsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r   r  r@   r:   r:   r;   rD     s      z%GetCustomEmojiDocumentsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr  r  )rK   rL   Z_document_idr=   r   r:   r:   r;   rN     s    z*GetCustomEmojiDocumentsRequest.from_readerNr  r:   r:   r:   r;   r    s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDefaultHistoryTTLRequestiqel   g3` c                 C   s   ddiS )Nr=   r  r:   r@   r:   r:   r;   r?     s     z#GetDefaultHistoryTTLRequest.to_dictc                 C   s
   d dS )NrA   )s   qer   r@   r:   r:   r;   rD     s    z"GetDefaultHistoryTTLRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN     s    z'GetDefaultHistoryTTLRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetDefaultTagReactionsRequestl   (4{    $[ r   c                 C   s
   || _ dS zb
        :returns messages.Reactions: Instance of either ReactionsNotModified, Reactions.
        Nr   r   r:   r:   r;   r<     s    z&GetDefaultTagReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?     s    z%GetDefaultTagReactionsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   (4rB   r  r@   r:   r:   r;   rD     s    z$GetDefaultTagReactionsRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z)GetDefaultTagReactionsRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetDhConfigRequestiP&l   mI versionrandom_lengthc                 C   s   || _ || _dS )z_
        :returns messages.DhConfig: Instance of either DhConfigNotModified, DhConfig.
        Nr  )r9   r  r  r:   r:   r;   r<     s    zGetDhConfigRequest.__init__c                 C   s   d| j | jdS )Nr  )r=   r  r  r  r@   r:   r:   r;   r?     s    zGetDhConfigRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrA   s   P&rm   )rC   rF   rG   r  r  r@   r:   r:   r;   rD     s
    zGetDhConfigRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r  )rK   rL   _versionZ_random_lengthr:   r:   r;   rN     s    zGetDhConfigRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDialogFiltersRequestl   _ l   qK c                 C   s   ddiS )Nr=   r  r:   r@   r:   r:   r;   r?     s     zGetDialogFiltersRequest.to_dictc                 C   s
   d dS )NrA   )s   r   r@   r:   r:   r;   rD     s    zGetDialogFiltersRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN   	  s    z#GetDialogFiltersRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sL   e Zd ZdZdZded dddZdd	 Zd
d Zdd Z	e
dd ZdS )GetDialogUnreadMarksRequesti"" !l   J} Nr   r&  c                 C   s
   || _ dS )zM
        :returns Vector<DialogPeer>: This type has no constructors.
        Nr  )r9   r&  r:   r:   r;   r<   	  s    z$GetDialogUnreadMarksRequest.__init__c                    s$   | j r ||| j I d H | _ d S r`   )r&  rb   rc   rd   r:   r:   r;   rg   	  s    z#GetDialogUnreadMarksRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  )r=   r&  )r>   r&  r   r?   r@   r:   r:   r;   r?   	  s    z#GetDialogUnreadMarksRequest.to_dictc                 C   sN   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| j fS )NrA   s   "" !ri   Fr   rj   )rC   rF   rG   r&  rD   r@   r:   r:   r;   rD   	  s
    " z"GetDialogUnreadMarksRequest._bytesc                 C   s(   |  }|d@ r| }nd }| |dS )Nrj   r  rp   rH   )rK   rL   rs   r)  r:   r:   r;   rN   #	  s
    
z'GetDialogUnreadMarksRequest.from_reader)N)rP   rQ   rR   rS   rT   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  	  s   r  c                	   @   s`   e Zd ZdZdZdee edeeee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetDialogsRequestl   OKA iRNr   r  r  offset_peerr  r   exclude_pinned	folder_idc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zj
        :returns messages.Dialogs: Instance of either Dialogs, DialogsSlice, DialogsNotModified.
        Nr  )r9   r  r  r  r  r   r  r  r:   r:   r;   r<   2	  s    zGetDialogsRequest.__init__c                    s   | || jI d H | _d S r`   rb   rc   r  rd   r:   r:   r;   rg   >	  s    zGetDialogsRequest.resolvec              	   C   s:   d| j | jt| jtr | j n| j| j| j| j| j	dS )Nr  )r=   r  r  r  r  r   r  r  )
r  r  r>   r  r   r?   r  r   r  r  r@   r:   r:   r;   r?   A	  s    zGetDialogsRequest.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sX| jdkr\dntd| j| | jtd| j| j	 td| j
td	| jfS )
NrA   s   Ori   Fr   rj   rk   rm   rB   )rC   rF   rG   r  r  r  r  r  r  rD   r  r   r@   r:   r:   r;   rD   M	  s    >$
zGetDialogsRequest._bytesc           
   	   C   sh   |  }t|d@ }|d@ r&|  }nd }| }|  }| }|  }| }	| |||||	||dS )Nrj   rk   r  )rp   rq   r  rH   rJ   )
rK   rL   rs   _exclude_pinned
_folder_idr  r  _offset_peerr  r   r:   r:   r;   rN   Y	  s    
zGetDialogsRequest.from_reader)NNrP   rQ   rR   rS   rT   r   r	   rV   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  .	  s   (r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetDiscussionMessageRequestiriDiSr   r   c                 C   s   || _ || _dS )zU
        :returns messages.DiscussionMessage: Instance of DiscussionMessage.
        Nr   r   r:   r:   r;   r<   n	  s    z$GetDiscussionMessageRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   u	  s    z#GetDiscussionMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r@   r:   r:   r;   r?   x	  s    z#GetDiscussionMessageRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   riDrm   r   r@   r:   r:   r;   rD   	  s
    z"GetDiscussionMessageRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r:   r:   r;   rN   	  s    z'GetDiscussionMessageRequest.from_readerNr   r:   r:   r:   r;   r  j	  s   r  c                   @   sB   e Zd ZdZdZeeedddZdd Z	dd	 Z
ed
d ZdS )GetDocumentByHashRequestl   c i !sha256size	mime_typec                 C   s   || _ || _|| _dS )zP
        :returns Document: Instance of either DocumentEmpty, Document.
        Nr  )r9   r  r  r	  r:   r:   r;   r<   	  s    z!GetDocumentByHashRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r=   r  r  r	  r  r@   r:   r:   r;   r?   	  s
    z GetDocumentByHashRequest.to_dictc                 C   s,   d d| | jtd| j| | jfS )NrA   s   rB   )rC   rE   r  rF   rG   r  r	  r@   r:   r:   r;   rD   	  s    

zGetDocumentByHashRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rI   rJ   rr   )rK   rL   _sha256_sizeZ
_mime_typer:   r:   r;   rN   	  s    z$GetDocumentByHashRequest.from_readerN)rP   rQ   rR   rS   rT   rU   rV   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  	  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiGroupsRequesti[ΈtU~r   c                 C   s
   || _ dS zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        Nr   r   r:   r:   r;   r<   	  s    zGetEmojiGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?   	  s    zGetEmojiGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   [Έtrm   r  r@   r:   r:   r;   rD   	  s    zGetEmojiGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r:   r:   r;   rN   	  s    z!GetEmojiGroupsRequest.from_readerNr   r:   r:   r:   r;   r  	  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiKeywordsRequestib5   rF$ 	lang_codec                 C   s
   || _ dS zX
        :returns EmojiKeywordsDifference: Instance of EmojiKeywordsDifference.
        Nr  r9   r  r:   r:   r;   r<   	  s    z GetEmojiKeywordsRequest.__init__c                 C   s   d| j dS )Nr  r=   r  r  r@   r:   r:   r;   r?   	  s    zGetEmojiKeywordsRequest.to_dictc                 C   s   d d| | jfS )NrA   s   b5rC   rE   r  r@   r:   r:   r;   rD   	  s    
zGetEmojiKeywordsRequest._bytesc                 C   s   |  }| |dS Nr  r   rK   rL   
_lang_coder:   r:   r;   rN   	  s    z#GetEmojiKeywordsRequest.from_readerNr   r:   r:   r:   r;   r  	  s   r  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )!GetEmojiKeywordsDifferenceRequestir  r  from_versionc                 C   s   || _ || _dS r  r  )r9   r  r  r:   r:   r;   r<   	  s    z*GetEmojiKeywordsDifferenceRequest.__init__c                 C   s   d| j | jdS )Nr  )r=   r  r  r  r@   r:   r:   r;   r?   	  s    z)GetEmojiKeywordsDifferenceRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrA   s   rm   )rC   rE   r  rF   rG   r  r@   r:   r:   r;   rD   	  s
    
z(GetEmojiKeywordsDifferenceRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rr   rp   )rK   rL   r  Z_from_versionr:   r:   r;   rN   
  s    z-GetEmojiKeywordsDifferenceRequest.from_readerNrP   rQ   rR   rS   rT   rx   rV   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  	  s   r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS ) GetEmojiKeywordsLanguagesRequesticNl   S+O 
lang_codesc                 C   s
   || _ dS )zP
        :returns Vector<EmojiLanguage>: This type has no constructors.
        Nr   )r9   r!  r:   r:   r;   r<   
  s    z)GetEmojiKeywordsLanguagesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r=   r!  r   r@   r:   r:   r;   r?   
  s    z(GetEmojiKeywordsLanguagesRequest.to_dictc              
      s6   d ddtdt jd  fdd jD fS )NrA   s   cNr   rm   c                 3   s   | ]}  |V  qd S r`   rE   r   r@   r:   r;   r   
  s     z:GetEmojiKeywordsLanguagesRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r   r!  r@   r:   r@   r;   rD   
  s      z'GetEmojiKeywordsLanguagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr   )rp   r   rr   r   )rK   rL   Z_lang_codesr=   r   r:   r:   r;   rN   
  s    z,GetEmojiKeywordsLanguagesRequest.from_readerN)rP   rQ   rR   rS   rT   r   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  	
  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )!GetEmojiProfilePhotoGroupsRequestiH!r  r   c                 C   s
   || _ dS r  r   r   r:   r:   r;   r<   .
  s    z*GetEmojiProfilePhotoGroupsRequest.__init__c                 C   s   d| j dS )Nr#  r   r   r@   r:   r:   r;   r?   4
  s    z)GetEmojiProfilePhotoGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   H!rm   r  r@   r:   r:   r;   rD   :
  s    z(GetEmojiProfilePhotoGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r:   r:   r;   rN   @
  s    z-GetEmojiProfilePhotoGroupsRequest.from_readerNr   r:   r:   r:   r;   r#  *
  s   r#  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiStatusGroupsRequestiV.r  r   c                 C   s
   || _ dS r  r   r   r:   r:   r;   r<   J
  s    z$GetEmojiStatusGroupsRequest.__init__c                 C   s   d| j dS )Nr$  r   r   r@   r:   r:   r;   r?   P
  s    z#GetEmojiStatusGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   V.rm   r  r@   r:   r:   r;   rD   V
  s    z"GetEmojiStatusGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r:   r:   r;   rN   \
  s    z'GetEmojiStatusGroupsRequest.from_readerNr   r:   r:   r:   r;   r$  F
  s   r$  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiStickerGroupsRequesti@r  r   c                 C   s
   || _ dS r  r   r   r:   r:   r;   r<   f
  s    z%GetEmojiStickerGroupsRequest.__init__c                 C   s   d| j dS )Nr%  r   r   r@   r:   r:   r;   r?   l
  s    z$GetEmojiStickerGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   @rm   r  r@   r:   r:   r;   rD   r
  s    z#GetEmojiStickerGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r:   r:   r;   rN   x
  s    z(GetEmojiStickerGroupsRequest.from_readerNr   r:   r:   r:   r;   r%  b
  s   r%  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiStickersRequestl   !w r  r   c                 C   s
   || _ dS r  r   r   r:   r:   r;   r<   
  s    z GetEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr&  r   r   r@   r:   r:   r;   r?   
  s    zGetEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   rB   r  r@   r:   r:   r;   rD   
  s    zGetEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN   
  s    z#GetEmojiStickersRequest.from_readerNr   r:   r:   r:   r;   r&  ~
  s   r&  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiURLRequestl   &b+ ir  c                 C   s
   || _ dS )z:
        :returns EmojiURL: Instance of EmojiURL.
        Nr  r  r:   r:   r;   r<   
  s    zGetEmojiURLRequest.__init__c                 C   s   d| j dS )Nr'  r  r  r@   r:   r:   r;   r?   
  s    zGetEmojiURLRequest.to_dictc                 C   s   d d| | jfS )NrA   s   &r  r@   r:   r:   r;   rD   
  s    
zGetEmojiURLRequest._bytesc                 C   s   |  }| |dS r  r   r  r:   r:   r;   rN   
  s    zGetEmojiURLRequest.from_readerNr   r:   r:   r:   r;   r'  
  s   r'  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetExportedChatInviteRequesti\otsrL  r   r   c                 C   s   || _ || _dS rR  r   r   r:   r:   r;   r<   
  s    z%GetExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   
  s    z$GetExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr(  r   r   r@   r:   r:   r;   r?   
  s    z$GetExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )NrA   s   \otsr   r@   r:   r:   r;   rD   
  s
    
z#GetExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r:   r:   r;   rN   
  s    z(GetExportedChatInviteRequest.from_readerNr   r:   r:   r:   r;   r(  
  s   r(  c                   @   s^   e Zd ZdZdZdddeee ee ee	 dddZ
d	d
 Zdd Zdd Zedd ZdS )GetExportedChatInvitesRequestl   #kE iq8=`Nr   r$   r5   r!  r  rN  r  offset_linkc                 C   s(   || _ || _|| _|| _|| _|| _dS )zY
        :returns messages.ExportedChatInvites: Instance of ExportedChatInvites.
        Nr*  )r9   r5   r!  r  rN  r  r+  r:   r:   r;   r<   
  s    z&GetExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   r"  rd   r:   r:   r;   rg   
  s    z%GetExportedChatInvitesRequest.resolvec                 C   sL   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| jdS )Nr)  )r=   r5   r!  r  rN  r  r+  )	r>   r5   r   r?   r!  r  rN  r  r+  r@   r:   r:   r;   r?   
  s    z%GetExportedChatInvitesRequest.to_dictc                 C   s  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| jd ksp| jdkrtdnd| j d ks| j dkrdndB | jd ks| jdkrdndB | j | j	 | j d ks| j dkrdn
| 
| j | jd ks| jdkrdn
| | jtd	| jfS )
NFzToffset_date, offset_link parameters must all be False-y (like None) or all me True-yrA   s   ri   r   r  rl   rm   )r  r+  rn   rC   rF   rG   rN  r5   rD   r!  r  rE   r  r@   r:   r:   r;   rD   
  s    PZ""z$GetExportedChatInvitesRequest._bytesc           	      C   sl   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL| }nd }|  }| ||||||dS )Nr  rl   r*  r{  )	rK   rL   rs   rT  rM   r#  r  Z_offset_linkr  r:   r:   r;   rN     s    

z)GetExportedChatInvitesRequest.from_reader)NNNrP   rQ   rR   rS   rT   rV   r   rq   r	   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r)  
  s   &r)  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetExtendedMediaRequestl   	 r   r   r,  c                 C   s   || _ || _dS r   r,  r-  r:   r:   r;   r<     s    z GetExtendedMediaRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   !  s    zGetExtendedMediaRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr-  r.  r/  r@   r:   r:   r;   r?   $  s    zGetExtendedMediaRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrA   s   r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   /  s     z1GetExtendedMediaRequest._bytes.<locals>.<genexpr>r0  r@   r:   r:   r;   rD   +  s      zGetExtendedMediaRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r1  r   r2  r:   r:   r;   rN   2  s    z#GetExtendedMediaRequest.from_readerNr3  r:   r:   r:   r;   r-    s   r-  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetFactCheckRequestl   Es l   Lw r   r   c                 C   s   || _ || _dS )zL
        :returns Vector<FactCheck>: This type has no constructors.
        Nr   r   r:   r:   r;   r<   B  s    zGetFactCheckRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   I  s    zGetFactCheckRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr.  r   r   r@   r:   r:   r;   r?   L  s    zGetFactCheckRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrA   s   ͹r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   W  s     z-GetFactCheckRequest._bytes.<locals>.<genexpr>)rC   r5   rD   rF   rG   r   r\   r@   r:   r:   r;   rD   S  s      zGetFactCheckRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r   r   )rK   rL   rM   ru   r=   r   r:   r:   r;   rN   Z  s    zGetFactCheckRequest.from_readerNr3  r:   r:   r:   r;   r.  >  s   r.  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFavedStickersRequestil   o r   c                 C   s
   || _ dS )zn
        :returns messages.FavedStickers: Instance of either FavedStickersNotModified, FavedStickers.
        Nr   r   r:   r:   r;   r<   j  s    z GetFavedStickersRequest.__init__c                 C   s   d| j dS )Nr/  r   r   r@   r:   r:   r;   r?   p  s    zGetFavedStickersRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   rB   r  r@   r:   r:   r;   rD   v  s    zGetFavedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN   |  s    z#GetFavedStickersRequest.from_readerNr   r:   r:   r:   r;   r/  f  s   r/  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFeaturedEmojiStickersRequesti6g"&r   c                 C   s
   || _ dS zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        Nr   r   r:   r:   r;   r<     s    z(GetFeaturedEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr0  r   r   r@   r:   r:   r;   r?     s    z'GetFeaturedEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   6grB   r  r@   r:   r:   r;   rD     s    z&GetFeaturedEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z+GetFeaturedEmojiStickersRequest.from_readerNr   r:   r:   r:   r;   r0    s   r0  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFeaturedStickersRequestixdr1  r   c                 C   s
   || _ dS r2  r   r   r:   r:   r;   r<     s    z#GetFeaturedStickersRequest.__init__c                 C   s   d| j dS )Nr3  r   r   r@   r:   r:   r;   r?     s    z"GetFeaturedStickersRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   xdrB   r  r@   r:   r:   r;   rD     s    z!GetFeaturedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z&GetFeaturedStickersRequest.from_readerNr   r:   r:   r:   r;   r3    s   r3  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFullChatRequestl   4`] i	QZ"r   c                 C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        Nr   r   r:   r:   r;   r<     s    zGetFullChatRequest.__init__c                 C   s   d| j dS )Nr4  r   r   r@   r:   r:   r;   r?     s    zGetFullChatRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   4rB   r   r@   r:   r:   r;   rD     s    zGetFullChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    zGetFullChatRequest.from_readerNr   r:   r:   r:   r;   r4    s   r4  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )GetGameHighScoresRequestl   dDP lr   r$   r5   r  r}   c                 C   s   || _ || _|| _dS zG
        :returns messages.HighScores: Instance of HighScores.
        Nr7  )r9   r5   r  r}   r:   r:   r;   r<     s    z!GetGameHighScoresRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   rb   rc   r5   r   r}   rd   r:   r:   r;   rg     s    z GetGameHighScoresRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr5  )r=   r5   r  r}   )r>   r5   r   r?   r  r}   r@   r:   r:   r;   r?     s
    z GetGameHighScoresRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrA   s   d"rm   )rC   r5   rD   rF   rG   r  r}   r@   r:   r:   r;   rD     s    zGetGameHighScoresRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr7  r   )rK   rL   rM   r  r   r:   r:   r;   rN     s    z$GetGameHighScoresRequest.from_readerNr   r:   r:   r:   r;   r5    s   r5  c                	   @   sX   e Zd ZdZdZdeee eeeeedddZdd Z	d	d
 Z
dd Zedd ZdS )GetHistoryRequesti#D   ^h) r   r5   r  r  
add_offsetr  r   min_idr   c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        Nr<  )	r9   r5   r  r  r=  r  r   r>  r   r:   r:   r;   r<     s    zGetHistoryRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zGetHistoryRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )Nr:  )	r=   r5   r  r  r=  r  r   r>  r   )r>   r5   r   r?   r  r  r=  r  r   r>  r   r@   r:   r:   r;   r?     s    zGetHistoryRequest.to_dictc                 C   sf   d d| j td| j| | jtd| jtd| j	td| j
td| jtd| jf	S )NrA   s   #Drm   rB   )rC   r5   rD   rF   rG   r  r  r  r=  r  r   r>  r   r@   r:   r:   r;   rD     s    
zGetHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS )Nr<  rH   rp   r  rJ   )
rK   rL   rM   r  r  _add_offsetr  r	  _min_idr   r:   r:   r;   rN   ,  s    zGetHistoryRequest.from_readerNr*  r:   r:   r:   r;   r:    s    r:  c                   @   sT   e Zd ZdZdZdddeeed ddd	Zd
d Zdd Z	dd Z
edd ZdS )GetInlineBotResultsRequestiNQi>Nr$   r   r   r  r5   queryoffset	geo_pointc                 C   s"   || _ || _|| _|| _|| _dS )zG
        :returns messages.BotResults: Instance of BotResults.
        NrD  )r9   r  r5   rE  rF  rG  r:   r:   r;   r<   =  s
    z#GetInlineBotResultsRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   r   rc   r  rb   r5   rd   r:   r:   r;   rg   G  s    z"GetInlineBotResultsRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )NrC  )r=   r  r5   rE  rF  rG  )r>   r  r   r?   r5   rE  rF  rG  r@   r:   r:   r;   r?   K  s    z"GetInlineBotResultsRequest.to_dictc                 C   sr   d dtd| jd ks | jdkr$dnd| j | j | jd ksL| jdkrPdn| j | | j| | j	fS )NrA   s   NQri   Fr   rj   )
rC   rF   rG   rG  r  rD   r5   rE   rE  rF  r@   r:   r:   r;   rD   U  s    " 

z!GetInlineBotResultsRequest._bytesc                 C   sP   |  }| }| }|d@ r*| }nd }| }| }| |||||dS )Nrj   rD  rp   rH   rr   )rK   rL   rs   r  rM   Z
_geo_pointZ_query_offsetr:   r:   r;   rN   `  s    
z&GetInlineBotResultsRequest.from_reader)N)rP   rQ   rR   rS   rT   rx   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rC  9  s   

rC  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )GetInlineGameHighScoresRequesti^cr6  r   r$   r  r}   c                 C   s   || _ || _dS r8  rL  )r9   r  r}   r:   r:   r;   r<   s  s    z'GetInlineGameHighScoresRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   z  s    z&GetInlineGameHighScoresRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrK  )r=   r  r}   )r>   r  r   r?   r}   r@   r:   r:   r;   r?   }  s    z&GetInlineGameHighScoresRequest.to_dictc                 C   s   d d| j | j fS )NrA   s   ^c)rC   r  rD   r}   r@   r:   r:   r;   rD     s
    z%GetInlineGameHighScoresRequest._bytesc                 C   s   |  }|  }| ||dS )NrL  r   )rK   rL   r  r   r:   r:   r;   rN     s    z*GetInlineGameHighScoresRequest.from_readerNr   r:   r:   r:   r;   rK  o  s   rK  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetMaskStickersRequestidr  r   c                 C   s
   || _ dS r  r   r   r:   r:   r;   r<     s    zGetMaskStickersRequest.__init__c                 C   s   d| j dS )NrM  r   r   r@   r:   r:   r;   r?     s    zGetMaskStickersRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   drB   r  r@   r:   r:   r;   rD     s    zGetMaskStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z"GetMaskStickersRequest.from_readerNr   r:   r:   r:   r;   rM    s   rM  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetMessageEditDataRequestl   6M{ l   v r   r,  c                 C   s   || _ || _dS )zQ
        :returns messages.MessageEditData: Instance of MessageEditData.
        Nr,  r-  r:   r:   r;   r<     s    z"GetMessageEditDataRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z!GetMessageEditDataRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrN  r.  r/  r@   r:   r:   r;   r?     s    z!GetMessageEditDataRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   6rm   )rC   r5   rD   rF   rG   r  r@   r:   r:   r;   rD     s
    z GetMessageEditDataRequest._bytesc                 C   s   |  }| }| ||dS r1  r   )rK   rL   rM   r  r:   r:   r;   rN     s    z%GetMessageEditDataRequest.from_readerNr   r:   r:   r:   r;   rN    s   rN  c                   @   sX   e Zd ZdZdZddeeed ee dddZd	d
 Z	dd Z
dd Zedd ZdS )GetMessageReactionsListRequestiH?Fi`Nr   r)   r5   r  r  reactionrF  c                 C   s"   || _ || _|| _|| _|| _dS )z[
        :returns messages.MessageReactionsList: Instance of MessageReactionsList.
        NrP  )r9   r5   r  r  rQ  rF  r:   r:   r;   r<     s
    z'GetMessageReactionsListRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z&GetMessageReactionsListRequest.resolvec                 C   sH   dt | jtr| j n| j| j| jt | jtr:| j n| j| jdS )NrO  )r=   r5   r  r  rQ  rF  )r>   r5   r   r?   r  r  rQ  rF  r@   r:   r:   r;   r?     s    z&GetMessageReactionsListRequest.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 td| j| jd ksl| jdkrpdn| j | jd ks| jdkrdn
| | jtd| j	fS )	NrA   s   H?Fri   Fr   rj   rk   rm   )
rC   rF   rG   rQ  rF  r5   rD   r  rE   r  r@   r:   r:   r;   rD     s    > "z%GetMessageReactionsListRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrj   rk   rP  rI  )rK   rL   rs   rM   r  	_reactionrJ  r  r:   r:   r;   rN     s    

z*GetMessageReactionsListRequest.from_reader)NN)rP   rQ   rR   rS   rT   rV   r   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rO    s    

rO  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )!GetMessageReadParticipantsRequestiO1i[E!r   r   c                 C   s   || _ || _dS )zV
        :returns Vector<ReadParticipantDate>: This type has no constructors.
        Nr   r   r:   r:   r;   r<     s    z*GetMessageReadParticipantsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z)GetMessageReadParticipantsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrS  r   r   r@   r:   r:   r;   r?     s    z)GetMessageReadParticipantsRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   O1rm   r   r@   r:   r:   r;   rD     s
    z(GetMessageReadParticipantsRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r:   r:   r;   rN   %  s    z-GetMessageReadParticipantsRequest.from_readerNr   r:   r:   r:   r;   rS  	  s   rS  c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetMessagesRequestiecr;  r   r  c                 C   s
   || _ dS r?  r  r  r:   r:   r;   r<   0  s    zGetMessagesRequest.__init__c                    s*   g }| j D ]}||| q
|| _ d S r`   )r  r   Zget_input_messager   r:   r:   r;   rg   6  s    
zGetMessagesRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )NrT  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   @  s     z.GetMessagesRequest.to_dict.<locals>.<listcomp>r  r  r@   r:   r:   r;   r?   =  s    zGetMessagesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   ecr   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   F  s     z,GetMessagesRequest._bytes.<locals>.<genexpr>r  r@   r:   r:   r;   rD   C  s      zGetMessagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  rp   r   rH   r   r  r:   r:   r;   rN   I  s    zGetMessagesRequest.from_readerNrP   rQ   rR   rS   rT   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rT  ,  s   rT  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetMessagesReactionsRequestl   u r   r   r,  c                 C   s   || _ || _dS r   r,  r-  r:   r:   r;   r<   X  s    z$GetMessagesReactionsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   _  s    z#GetMessagesReactionsRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )NrW  r.  r/  r@   r:   r:   r;   r?   b  s    z#GetMessagesReactionsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrA   s   携r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   m  s     z5GetMessagesReactionsRequest._bytes.<locals>.<genexpr>r0  r@   r:   r:   r;   rD   i  s      z"GetMessagesReactionsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r1  r   r2  r:   r:   r;   rN   p  s    z'GetMessagesReactionsRequest.from_readerNr3  r:   r:   r:   r;   rW  T  s   rW  c                   @   sN   e Zd ZdZdZdee edddZdd Z	d	d
 Z
dd Zedd ZdS )GetMessagesViewsRequestiӄWl   kk_ r   r5   r  	incrementc                 C   s   || _ || _|| _dS )zK
        :returns messages.MessageViews: Instance of MessageViews.
        NrY  )r9   r5   r  rZ  r:   r:   r;   r<     s    z GetMessagesViewsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zGetMessagesViewsRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )NrX  )r=   r5   r  rZ  )r>   r5   r   r?   r  rZ  r@   r:   r:   r;   r?     s
    zGetMessagesViewsRequest.to_dictc              
   C   sF   d d| j dtdt| jd dd | jD | jr>dndfS )	NrA   s   ӄWr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z1GetMessagesViewsRequest._bytes.<locals>.<genexpr>r>  r?  )rC   r5   rD   rF   rG   r   r  rZ  r@   r:   r:   r;   rD     s      zGetMessagesViewsRequest._bytesc                 C   sN   |  }|  g }t| D ]}| }|| q | }| |||dS )NrY  )rH   rp   r   r   r@  )rK   rL   rM   r  r=   r   Z
_incrementr:   r:   r;   rN     s    z#GetMessagesViewsRequest.from_readerN)rP   rQ   rR   rS   rT   r   rV   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rX  |  s   rX  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetMyStickersRequestl   ak! l   
5hc r  r  c                 C   s   || _ || _dS )zG
        :returns messages.MyStickers: Instance of MyStickers.
        Nr\  )r9   r  r  r:   r:   r;   r<     s    zGetMyStickersRequest.__init__c                 C   s   d| j | jdS )Nr[  )r=   r  r  r\  r@   r:   r:   r;   r?     s    zGetMyStickersRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrA   s   rB   rm   )rC   rF   rG   r  r  r@   r:   r:   r;   rD     s
    zGetMyStickersRequest._bytesc                 C   s   |  }| }| ||dS )Nr\  )rJ   rp   )rK   rL   r  r  r:   r:   r;   rN     s    z GetMyStickersRequest.from_readerNr   r:   r:   r:   r;   r[    s   r[  c                   @   sB   e Zd ZdZdZeeedddZdd Zdd	 Ze	d
d Z
dS )GetOldFeaturedStickersRequesti~r1  rF  r  r   c                 C   s   || _ || _|| _dS r2  r^  )r9   rF  r  r   r:   r:   r;   r<     s    z&GetOldFeaturedStickersRequest.__init__c                 C   s   d| j | j| jdS )Nr]  )r=   rF  r  r   r^  r@   r:   r:   r;   r?     s
    z%GetOldFeaturedStickersRequest.to_dictc              	   C   s0   d dtd| jtd| jtd| jfS )NrA   s   ~rm   rB   )rC   rF   rG   rF  r  r   r@   r:   r:   r;   rD     s    z$GetOldFeaturedStickersRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr^  rp   rJ   )rK   rL   rJ  r  r   r:   r:   r;   rN     s    z)GetOldFeaturedStickersRequest.from_readerNr   r:   r:   r:   r;   r]    s   r]  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetOnlinesRequestiP+nl   : r   r   c                 C   s
   || _ dS )z@
        :returns ChatOnlines: Instance of ChatOnlines.
        Nr   r   r:   r:   r;   r<     s    zGetOnlinesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zGetOnlinesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr`  r   r   r@   r:   r:   r;   r?     s    zGetOnlinesRequest.to_dictc                 C   s   d d| j fS )NrA   s   P+nr   r@   r:   r:   r;   rD     s    zGetOnlinesRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    zGetOnlinesRequest.from_readerNr   r:   r:   r:   r;   r`    s   r`  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetOutboxReadDateRequestl   ]~ iƃQor   r   c                 C   s   || _ || _dS )zF
        :returns OutboxReadDate: Instance of OutboxReadDate.
        Nr   r   r:   r:   r;   r<     s    z!GetOutboxReadDateRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z GetOutboxReadDateRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nra  r   r   r@   r:   r:   r;   r?     s    z GetOutboxReadDateRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   ]Krm   r   r@   r:   r:   r;   rD      s
    zGetOutboxReadDateRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r:   r:   r;   rN   '  s    z$GetOutboxReadDateRequest.from_readerNr   r:   r:   r:   r;   ra    s   ra  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPaidReactionPrivacyRequestiU$Gr   c                 C   s   ddiS )Nr=   rb  r:   r@   r:   r:   r;   r?   2  s     z%GetPaidReactionPrivacyRequest.to_dictc                 C   s
   d dS )NrA   )s   U$Gr   r@   r:   r:   r;   rD   7  s    z$GetPaidReactionPrivacyRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN   <  s    z)GetPaidReactionPrivacyRequest.from_readerNr   r:   r:   r:   r;   rb  .  s   rb  c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPeerDialogsRequestl   <H 2:r   peersc                 C   s
   || _ dS zI
        :returns messages.PeerDialogs: Instance of PeerDialogs.
        Nre  )r9   rf  r:   r:   r;   r<   E  s    zGetPeerDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r`   )rf  r   _get_input_dialogr   r:   r:   r;   rg   K  s    
zGetPeerDialogsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nrc  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   U  s     z1GetPeerDialogsRequest.to_dict.<locals>.<listcomp>)r=   rf  re  r@   r:   r:   r;   r?   R  s    zGetPeerDialogsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   pr   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   [  s     z/GetPeerDialogsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r   rf  r@   r:   r:   r;   rD   X  s      zGetPeerDialogsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nre  rU  )rK   rL   Z_peersr=   r   r:   r:   r;   rN   ^  s    z!GetPeerDialogsRequest.from_readerNrV  r:   r:   r:   r;   rc  A  s   rc  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetPeerSettingsRequestl   &_ ier   r   c                 C   s
   || _ dS )zK
        :returns messages.PeerSettings: Instance of PeerSettings.
        Nr   r   r:   r:   r;   r<   m  s    zGetPeerSettingsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   s  s    zGetPeerSettingsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nri  r   r   r@   r:   r:   r;   r?   v  s    zGetPeerSettingsRequest.to_dictc                 C   s   d d| j fS )NrA   s   r   r@   r:   r:   r;   rD   |  s    zGetPeerSettingsRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z"GetPeerSettingsRequest.from_readerNr   r:   r:   r:   r;   ri  i  s   ri  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetPinnedDialogsRequestl   Mr- rd  r  c                 C   s
   || _ dS rg  rk  )r9   r  r:   r:   r;   r<     s    z GetPinnedDialogsRequest.__init__c                 C   s   d| j dS )Nrj  )r=   r  rk  r@   r:   r:   r;   r?     s    zGetPinnedDialogsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   Mrm   )rC   rF   rG   r  r@   r:   r:   r;   rD     s    zGetPinnedDialogsRequest._bytesc                 C   s   |  }| |dS )Nrk  r  )rK   rL   r  r:   r:   r;   rN     s    z#GetPinnedDialogsRequest.from_readerNr   r:   r:   r:   r;   rj    s   rj  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPinnedSavedDialogsRequestl   {, ~Kac                 C   s   ddiS )Nr=   rl  r:   r@   r:   r:   r;   r?     s     z$GetPinnedSavedDialogsRequest.to_dictc                 C   s
   d dS )NrA   )s   =r   r@   r:   r:   r;   rD     s    z#GetPinnedSavedDialogsRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN     s    z(GetPinnedSavedDialogsRequest.from_readerNr   r:   r:   r:   r;   rl    s   rl  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPollResultsRequesti;dsr   r   r   c                 C   s   || _ || _dS r   r   r   r:   r:   r;   r<     s    zGetPollResultsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zGetPollResultsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrn  r   r   r@   r:   r:   r;   r?     s    zGetPollResultsRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   ;dsrm   r   r@   r:   r:   r;   rD     s
    zGetPollResultsRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r:   r:   r;   rN     s    z!GetPollResultsRequest.from_readerNr   r:   r:   r:   r;   rn    s   rn  c                   @   sX   e Zd ZdZdZddeeee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetPollVotesRequestl   8p l   3 Nr   r5   r  r  optionrF  c                 C   s"   || _ || _|| _|| _|| _dS )zE
        :returns messages.VotesList: Instance of VotesList.
        Nrp  )r9   r5   r  r  rq  rF  r:   r:   r;   r<     s
    zGetPollVotesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zGetPollVotesRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nro  )r=   r5   r  r  rq  rF  )r>   r5   r   r?   r  r  rq  rF  r@   r:   r:   r;   r?     s    zGetPollVotesRequest.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 td| j| jd ksl| jdkrpdn
| | j| jd ks| jdkrdn
| | jtd| j	fS )	NrA   s   8nri   Fr   rj   rk   rm   )
rC   rF   rG   rq  rF  r5   rD   r  rE   r  r@   r:   r:   r;   rD     s    >""zGetPollVotesRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrj   rk   rp  )rp   rH   rI   rr   )rK   rL   rs   rM   r  _optionrJ  r  r:   r:   r;   rN      s    

zGetPollVotesRequest.from_reader)NN)rP   rQ   rR   rS   rT   rV   r   rU   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   ro    s    

ro  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPreparedInlineMessageRequestl   =
 iMIr$   r  r  c                 C   s   || _ || _dS )z]
        :returns messages.PreparedInlineMessage: Instance of PreparedInlineMessage.
        Nrt  )r9   r  r  r:   r:   r;   r<     s    z(GetPreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    z'GetPreparedInlineMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrs  )r=   r  r  )r>   r  r   r?   r  r@   r:   r:   r;   r?      s    z'GetPreparedInlineMessageRequest.to_dictc                 C   s   d d| j | | jfS )NrA   s   ~)rC   r  rD   rE   r  r@   r:   r:   r;   rD   '  s
    
z&GetPreparedInlineMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nrt  r   )rK   rL   r  r  r:   r:   r;   rN   .  s    z+GetPreparedInlineMessageRequest.from_readerNr   r:   r:   r:   r;   rs    s   rs  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetQuickRepliesRequestl   r) l   fion r   c                 C   s
   || _ dS )zk
        :returns messages.QuickReplies: Instance of either QuickReplies, QuickRepliesNotModified.
        Nr   r   r:   r:   r;   r<   9  s    zGetQuickRepliesRequest.__init__c                 C   s   d| j dS )Nru  r   r   r@   r:   r:   r;   r?   ?  s    zGetQuickRepliesRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   rB   r  r@   r:   r:   r;   rD   E  s    zGetQuickRepliesRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN   K  s    z"GetQuickRepliesRequest.from_readerNr   r:   r:   r:   r;   ru  5  s   ru  c                   @   sL   e Zd ZdZdZdeeeee  dddZdd Z	d	d
 Z
edd ZdS )GetQuickReplyMessagesRequestl   I) r;  Nr  r   r  c                 C   s   || _ || _|| _dS r?  rw  )r9   r  r   r  r:   r:   r;   r<   U  s    z%GetQuickReplyMessagesRequest.__init__c                 C   s*   d| j | j| jd krg n| jd d  dS )Nrv  )r=   r  r   r  rw  r@   r:   r:   r;   r?   ]  s
    z$GetQuickReplyMessagesRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dndtd| j| jd ksH| jdkrLdn.d dtdt| jd d	d
 | jD ftd| jfS )NrA   s   Õri   Fr   rj   rm   r   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   j  s     z6GetQuickReplyMessagesRequest._bytes.<locals>.<genexpr>rB   )rC   rF   rG   r  r  r   r   r@   r:   r:   r;   rD   e  s    "Fz#GetQuickReplyMessagesRequest._bytesc                 C   sd   |  }|  }|d@ rJ|   g }t|  D ]}|  }|| q0nd }| }| |||dS )Nrj   rw  )rp   r   r   rJ   )rK   rL   rs   r  r  r=   r   r   r:   r:   r;   rN   n  s    z(GetQuickReplyMessagesRequest.from_reader)N)rP   rQ   rR   rS   rT   rV   r   r   r<   r?   rD   rW   rN   r:   r:   r:   r;   rv  Q  s   	rv  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetRecentLocationsRequesti@*pr;  r   r5   r  r   c                 C   s   || _ || _|| _dS r?  ry  )r9   r5   r  r   r:   r:   r;   r<     s    z"GetRecentLocationsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z!GetRecentLocationsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nrx  )r=   r5   r  r   )r>   r5   r   r?   r  r   r@   r:   r:   r;   r?     s
    z!GetRecentLocationsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )NrA   s   @*prm   rB   )rC   r5   rD   rF   rG   r  r   r@   r:   r:   r;   rD     s    z GetRecentLocationsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nry  )rH   rp   rJ   )rK   rL   rM   r  r   r:   r:   r;   rN     s    z%GetRecentLocationsRequest.from_readerNr   r:   r:   r:   r;   rx    s   rx  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetRecentReactionsRequestiF9r  r  r   c                 C   s   || _ || _dS r  r{  r9   r  r   r:   r:   r;   r<     s    z"GetRecentReactionsRequest.__init__c                 C   s   d| j | jdS )Nrz  r=   r  r   r{  r@   r:   r:   r;   r?     s    z!GetRecentReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrA   s   F9rm   rB   rC   rF   rG   r  r   r@   r:   r:   r;   rD     s
    z GetRecentReactionsRequest._bytesc                 C   s   |  }| }| ||dS Nr{  r_  rK   rL   r  r   r:   r:   r;   rN     s    z%GetRecentReactionsRequest.from_readerNr   r:   r:   r:   r;   rz    s   rz  c                   @   sF   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
edd ZdS )GetRecentStickersRequestl   ;@R; l   n Nr   r   c                 C   s   || _ || _dS )zq
        :returns messages.RecentStickers: Instance of either RecentStickersNotModified, RecentStickers.
        Nr  )r9   r   r   r:   r:   r;   r<     s    z!GetRecentStickersRequest.__init__c                 C   s   d| j | jdS )Nr  )r=   r   r   r  r@   r:   r:   r;   r?     s    z GetRecentStickersRequest.to_dictc                 C   s:   d dtd| jd ks | jdkr$dndtd| jfS )NrA   s   ;@ri   Fr   rj   rB   )rC   rF   rG   r   r   r@   r:   r:   r;   rD     s
    "zGetRecentStickersRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrj   r  r  )rK   rL   rs   r   r   r:   r:   r;   rN     s    z$GetRecentStickersRequest.from_reader)Nr7  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d	ddZdd Z	d	d
 Z
dd Zedd ZdS )GetRepliesRequesti"r;  r   	r5   r\   r  r  r=  r  r   r>  r   c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r?  r  )
r9   r5   r\   r  r  r=  r  r   r>  r   r:   r:   r;   r<     s    zGetRepliesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zGetRepliesRequest.resolvec                 C   sB   dt | jtr| j n| j| j| j| j| j| j| j	| j
| jd
S )Nr  )
r=   r5   r\   r  r  r=  r  r   r>  r   )r>   r5   r   r?   r\   r  r  r=  r  r   r>  r   r@   r:   r:   r;   r?     s    zGetRepliesRequest.to_dictc                 C   sr   d d| j td| jtd| j| | jtd| j	td| j
td| jtd| jtd| jf
S )NrA   s   "rm   rB   )rC   r5   rD   rF   rG   r\   r  r  r  r=  r  r   r>  r   r@   r:   r:   r;   rD     s    
zGetRepliesRequest._bytesc                 C   sb   |  }| }| }| }| }| }| }| }	| }
| ||||||||	|
d	S )Nr  r@  )rK   rL   rM   ru   r  r  rA  r  r	  rB  r   r:   r:   r;   rN     s    zGetRepliesRequest.from_readerNr*  r:   r:   r:   r;   r    s   "r  c                	   @   s`   e Zd ZdZdZdee edeeee ed dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetSavedDialogsRequestirm  Nr   r  r  r  r  r   r  r&  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS z~
        :returns messages.SavedDialogs: Instance of either SavedDialogs, SavedDialogsSlice, SavedDialogsNotModified.
        Nr  )r9   r  r  r  r  r   r  r&  r:   r:   r;   r<   ,  s    zGetSavedDialogsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   )rb   rc   r  r&  rd   r:   r:   r;   rg   8  s    zGetSavedDialogsRequest.resolvec              
   C   sP   d| j | jt| jtr | j n| j| j| j| jt| j	trF| j	 n| j	dS )Nr  )r=   r  r  r  r  r   r  r&  )
r  r  r>   r  r   r?   r  r   r  r&  r@   r:   r:   r;   r?   =  s    zGetSavedDialogsRequest.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sX| jdkr\dn| j | | jtd| j| j	 td| j
td	| jfS )
NrA   s   ri   Fr   rj   rk   rm   rB   )rC   rF   rG   r  r&  rD   r  r  r  r  r  r   r@   r:   r:   r;   rD   I  s    > 
zGetSavedDialogsRequest._bytesc           
   	   C   sh   |  }t|d@ }|d@ r&| }nd }| }|  }| }|  }| }	| |||||	||dS )Nrj   rk   r  )rp   rq   rH   r  rJ   )
rK   rL   rs   r   r)  r  r  r  r  r   r:   r:   r;   rN   U  s    
z"GetSavedDialogsRequest.from_reader)NNr  r:   r:   r:   r;   r  (  s   (r  c                   @   sR   e Zd ZdZdZded ed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSavedDialogsByIDRequestioorm  Nr   idsr&  c                 C   s   || _ || _dS r  r  )r9   r  r&  r:   r:   r;   r<   j  s    z#GetSavedDialogsByIDRequest.__init__c                    sV   g }| j D ] }||||I d H  q
|| _ | jrR||| jI d H | _d S r`   )r  r   rb   rc   r&  r   r:   r:   r;   rg   q  s    
z"GetSavedDialogsByIDRequest.resolvec                 C   s>   d| j d krg ndd | j D t| jtr4| j n| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   }  s     z6GetSavedDialogsByIDRequest.to_dict.<locals>.<listcomp>)r=   r  r&  )r  r>   r&  r   r?   r@   r:   r:   r;   r?   z  s    z"GetSavedDialogsByIDRequest.to_dictc                 C   st   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| j dtdt| jd d	d
 | jD fS )NrA   s   oori   Fr   rk   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z4GetSavedDialogsByIDRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r&  rD   r   r  r@   r:   r:   r;   rD     s    "   z!GetSavedDialogsByIDRequest._bytesc                 C   sZ   |  }|d@ r| }nd }|   g }t|  D ]}| }|| q6| ||dS )Nrk   r  rp   rH   r   r   )rK   rL   rs   r)  Z_idsr=   r   r:   r:   r;   rN     s    
z&GetSavedDialogsByIDRequest.from_reader)N)rP   rQ   rR   rS   rT   r   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  f  s   	r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetSavedGifsRequesti5\l   aM r   c                 C   s
   || _ dS )zb
        :returns messages.SavedGifs: Instance of either SavedGifsNotModified, SavedGifs.
        Nr   r   r:   r:   r;   r<     s    zGetSavedGifsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?     s    zGetSavedGifsRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   5\rB   r  r@   r:   r:   r;   rD     s    zGetSavedGifsRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    zGetSavedGifsRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s`   e Zd ZdZdZddeee eeeeeed d	ddZdd	 Z	d
d Z
dd Zedd ZdS )GetSavedHistoryRequestl   	03 r;  Nr   	r5   r  r  r=  r  r   r>  r   r&  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r?  r  )
r9   r5   r  r  r=  r  r   r>  r   r&  r:   r:   r;   r<     s    zGetSavedHistoryRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r'  rd   r:   r:   r;   rg     s    zGetSavedHistoryRequest.resolvec                 C   sX   dt | jtr| j n| j| j| j| j| j| j| j	| j
t | jtrN| j n| jd
S )Nr  )
r=   r5   r  r  r=  r  r   r>  r   r&  )r>   r5   r   r?   r  r  r=  r  r   r>  r   r&  r@   r:   r:   r;   r?     s    zGetSavedHistoryRequest.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| j | j td| j| | jtd| j	td| j
td| jtd| jtd| jfS )	NrA   s   	ri   Fr   rj   rm   rB   )rC   rF   rG   r&  rD   r5   r  r  r  r=  r  r   r>  r   r@   r:   r:   r;   rD     s    " 
zGetSavedHistoryRequest._bytesc                 C   sx   |  }|d@ r| }nd }| }|  }| }|  }|  }|  }	|  }
| }| ||||||	|
||d	S )Nrj   r  )rp   rH   r  rJ   )rK   rL   rs   r)  rM   r  r  rA  r  r	  rB  r   r:   r:   r;   rN     s    
z"GetSavedHistoryRequest.from_reader)Nr*  r:   r:   r:   r;   r    s   (r  c                   @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSavedReactionTagsRequesti[76l   [6G Nr   r   r5   c                 C   s   || _ || _dS )zz
        :returns messages.SavedReactionTags: Instance of either SavedReactionTagsNotModified, SavedReactionTags.
        Nr  )r9   r   r5   r:   r:   r;   r<     s    z$GetSavedReactionTagsRequest.__init__c                    s$   | j r ||| j I d H | _ d S r`   ra   rd   r:   r:   r;   rg     s    z#GetSavedReactionTagsRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )Nr  )r=   r   r5   )r   r>   r5   r   r?   r@   r:   r:   r;   r?     s    z#GetSavedReactionTagsRequest.to_dictc              	   C   sZ   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| j td| jfS )NrA   s   [76ri   Fr   rj   rB   )rC   rF   rG   r5   rD   r   r@   r:   r:   r;   rD     s    " z"GetSavedReactionTagsRequest._bytesc                 C   s2   |  }|d@ r| }nd }| }| ||dS )Nrj   r  rp   rH   rJ   )rK   rL   rs   rM   r   r:   r:   r;   rN     s    
z'GetSavedReactionTagsRequest.from_reader)NrP   rQ   rR   rS   rT   rV   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetScheduledHistoryRequestl   v,j r;  r   r5   r   c                 C   s   || _ || _dS r?  r  )r9   r5   r   r:   r:   r;   r<   +  s    z#GetScheduledHistoryRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   2  s    z"GetScheduledHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r   )r>   r5   r   r?   r   r@   r:   r:   r;   r?   5  s    z"GetScheduledHistoryRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   vrB   )rC   r5   rD   rF   rG   r   r@   r:   r:   r;   rD   <  s
    z!GetScheduledHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rK   rL   rM   r   r:   r:   r;   rN   C  s    z&GetScheduledHistoryRequest.from_readerNr   r:   r:   r:   r;   r  '  s   r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetScheduledMessagesRequestl   dv{ r;  r   r,  c                 C   s   || _ || _dS r?  r,  r-  r:   r:   r;   r<   N  s    z$GetScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   U  s    z#GetScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r.  r/  r@   r:   r:   r;   r?   X  s    z#GetScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrA   s   dr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   c  s     z5GetScheduledMessagesRequest._bytes.<locals>.<genexpr>r0  r@   r:   r:   r;   rD   _  s      z"GetScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r1  r   r2  r:   r:   r;   rN   f  s    z'GetScheduledMessagesRequest.from_readerNr3  r:   r:   r:   r;   r  J  s   r  c                   @   sZ   e Zd ZdZdZdded ed ee dddZd	d
 Z	dd Z
dd Zedd ZdS )GetSearchCountersRequesti in<kNr   r'   r5   filterssaved_peer_idr  c                 C   s   || _ || _|| _|| _dS )zY
        :returns Vector<messages.SearchCounter>: This type has no constructors.
        Nr  )r9   r5   r  r  r  r:   r:   r;   r<   v  s    z!GetSearchCountersRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   rb   rc   r5   r  rd   r:   r:   r;   rg     s    z GetSearchCountersRequest.resolvec                 C   s\   dt | jtr| j n| j| jd kr*g ndd | jD t | jtrN| j n| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z4GetSearchCountersRequest.to_dict.<locals>.<listcomp>)r=   r5   r  r  r  )r>   r5   r   r?   r  r  r  r@   r:   r:   r;   r?     s    z GetSearchCountersRequest.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 | jd ks`| jdkrddn| j | jd ks| jdkrdntd| jd	tdt| jd d
d | jD fS )NrA   s    ri   Fr   rl   rj   rm   r   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z2GetSearchCountersRequest._bytes.<locals>.<genexpr>)	rC   rF   rG   r  r  r5   rD   r   r  r@   r:   r:   r;   rD     s    > $  zGetSearchCountersRequest._bytesc           	      C   s|   |  }| }|d@ r"| }nd }|d@ r8|  }nd }|   g }t|  D ]}| }|| qT| ||||dS )Nrl   rj   r  r  )	rK   rL   rs   rM   _saved_peer_idr  _filtersr=   r   r:   r:   r;   rN     s    

z$GetSearchCountersRequest.from_reader)NN)rP   rQ   rR   rS   rT   r   r   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  r  s   "		
r  c                   @   sX   e Zd ZdZdZdddeee ed dddZd	d
 Z	dd Z
dd Zedd ZdS )GetSearchResultsCalendarRequestijl   d% Nr   r'   r5   filterr  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z]
        :returns messages.SearchResultsCalendar: Instance of SearchResultsCalendar.
        Nr  )r9   r5   r  r  r  r  r:   r:   r;   r<     s
    z(GetSearchResultsCalendarRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    z'GetSearchResultsCalendarRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr  )r=   r5   r  r  r  r  )r>   r5   r   r?   r  r  r  r  r@   r:   r:   r;   r?     s    z'GetSearchResultsCalendarRequest.to_dictc                 C   st   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn| j | j td| j| | j	fS )NrA   s   jri   Fr   rl   rm   )
rC   rF   rG   r  r5   rD   r  r  r  r  r@   r:   r:   r;   rD     s    " 
z&GetSearchResultsCalendarRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }| }| |||||dS )Nrl   r  r(  )rK   rL   rs   rM   r  _filterr  r  r:   r:   r;   rN     s    
z+GetSearchResultsCalendarRequest.from_reader)Nr*  r:   r:   r:   r;   r    s    

r  c                   @   sT   e Zd ZdZdZdddeeed dddZd	d
 Zdd Z	dd Z
edd ZdS ) GetSearchResultsPositionsRequestl   /8 l   p2 Nr   r'   r5   r  r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z_
        :returns messages.SearchResultsPositions: Instance of SearchResultsPositions.
        Nr  )r9   r5   r  r  r  r  r:   r:   r;   r<     s
    z)GetSearchResultsPositionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    z(GetSearchResultsPositionsRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr  )r=   r5   r  r  r  r  )r>   r5   r   r?   r  r  r  r  r@   r:   r:   r;   r?     s    z(GetSearchResultsPositionsRequest.to_dictc                 C   sv   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn| j | j td| jtd| jfS )NrA   s   /ri   Fr   rl   rm   )	rC   rF   rG   r  r5   rD   r  r  r  r@   r:   r:   r;   rD     s    " z'GetSearchResultsPositionsRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }|  }| |||||dS )Nrl   r  r  )rK   rL   rs   rM   r  r  r  r  r:   r:   r;   rN     s    
z,GetSearchResultsPositionsRequest.from_reader)Nr  r:   r:   r:   r;   r    s   

r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetSplitRangesRequesti~i%[c                 C   s   ddiS )Nr=   r  r:   r@   r:   r:   r;   r?     s     zGetSplitRangesRequest.to_dictc                 C   s
   d dS )NrA   )s   ~r   r@   r:   r:   r;   rD   $  s    zGetSplitRangesRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN   )  s    z!GetSplitRangesRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSponsoredMessagesRequestiPl=iiANr   r   c                 C   s   || _ || _dS )zt
        :returns messages.SponsoredMessages: Instance of either SponsoredMessages, SponsoredMessagesEmpty.
        Nr   r   r:   r:   r;   r<   2  s    z$GetSponsoredMessagesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   9  s    z#GetSponsoredMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r@   r:   r:   r;   r?   <  s    z#GetSponsoredMessagesRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )NrA   s   Pl=ri   Fr   rj   rm   )rC   rF   rG   r\   r5   rD   r@   r:   r:   r;   rD   C  s    "$z"GetSponsoredMessagesRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS )Nrj   r   r  )rK   rL   rs   rM   ru   r:   r:   r;   rN   K  s    
z'GetSponsoredMessagesRequest.from_reader)NrP   rQ   rR   rS   rT   r   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  .  s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetStickerSetRequestl   tlA l   ZJ6 r"   
stickersetr   c                 C   s   || _ || _dS )ze
        :returns messages.StickerSet: Instance of either StickerSet, StickerSetNotModified.
        Nr  )r9   r  r   r:   r:   r;   r<   [  s    zGetStickerSetRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r  r   )r>   r  r   r?   r   r@   r:   r:   r;   r?   b  s    zGetStickerSetRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   trm   )rC   r  rD   rF   rG   r   r@   r:   r:   r;   rD   i  s
    zGetStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rK   rL   _stickersetr   r:   r:   r;   rN   p  s    z GetStickerSetRequest.from_readerNr   r:   r:   r:   r;   r  W  s   r  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )GetStickersRequestl   SK+ l   9w. emoticonr   c                 C   s   || _ || _dS )z_
        :returns messages.Stickers: Instance of either StickersNotModified, Stickers.
        Nr  r9   r  r   r:   r:   r;   r<   {  s    zGetStickersRequest.__init__c                 C   s   d| j | jdS )Nr  r=   r  r   r  r@   r:   r:   r;   r?     s    zGetStickersRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrA   s   ӥrB   rC   rE   r  rF   rG   r   r@   r:   r:   r;   rD     s
    
zGetStickersRequest._bytesc                 C   s   |  }| }| ||dS Nr  rr   rJ   rK   rL   	_emoticonr   r:   r:   r;   rN     s    zGetStickersRequest.from_readerNr  r:   r:   r:   r;   r  w  s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
 GetSuggestedDialogFiltersRequestl   ,T9E i9l){c                 C   s   ddiS )Nr=   r  r:   r@   r:   r:   r;   r?     s     z(GetSuggestedDialogFiltersRequest.to_dictc                 C   s
   d dS )NrA   )s   ,Ԝr   r@   r:   r:   r;   rD     s    z'GetSuggestedDialogFiltersRequest._bytesc                 C   s   |  S r`   r:   r   r:   r:   r;   rN     s    z,GetSuggestedDialogFiltersRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetTopReactionsRequestl   %w r  r{  c                 C   s   || _ || _dS r  r{  r|  r:   r:   r;   r<     s    zGetTopReactionsRequest.__init__c                 C   s   d| j | jdS )Nr  r}  r{  r@   r:   r:   r;   r?     s    zGetTopReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrA   s   %rm   rB   r~  r@   r:   r:   r;   rD     s
    zGetTopReactionsRequest._bytesc                 C   s   |  }| }| ||dS r  r_  r  r:   r:   r;   rN     s    z"GetTopReactionsRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                	   @   sX   e Zd ZdZdZddeeeeeee dddZdd	 Zd
d Z	dd Z
edd ZdS )GetUnreadMentionsRequestl   gb r;  Nr   r5   r  r=  r  r   r>  r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r?  r  )r9   r5   r  r=  r  r   r>  r  r:   r:   r;   r<     s    z!GetUnreadMentionsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z GetUnreadMentionsRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr  )r=   r5   r  r=  r  r   r>  r  )
r>   r5   r   r?   r  r=  r  r   r>  r  r@   r:   r:   r;   r?     s    z GetUnreadMentionsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jtd| jtd| jtd| jtd| j	td| j
f	S )NrA   s   ri   Fr   rj   rm   )rC   rF   rG   r  r5   rD   r  r=  r  r   r>  r@   r:   r:   r;   rD     s    "$zGetUnreadMentionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS )Nrj   r  r  )
rK   rL   rs   rM   r  r  rA  r  r	  rB  r:   r:   r;   rN     s    
z$GetUnreadMentionsRequest.from_reader)Nr  r:   r:   r:   r;   r    s    r  c                
   @   s^   e Zd ZdZdZddeeeeeee ed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetUnreadReactionsRequestl   z r;  Nr   r5   r  r=  r  r   r>  r  r  c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r?  r  )	r9   r5   r  r=  r  r   r>  r  r  r:   r:   r;   r<     s    z"GetUnreadReactionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    z!GetUnreadReactionsRequest.resolvec                 C   sT   dt | jtr| j n| j| j| j| j| j| j| j	t | j
trJ| j
 n| j
d	S )Nr  )	r=   r5   r  r=  r  r   r>  r  r  )r>   r5   r   r?   r  r=  r  r   r>  r  r  r@   r:   r:   r;   r?     s    z!GetUnreadReactionsRequest.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 | jd ks`| jdkrddntd| j| jd ks| jdkrdn| j td| jtd| jtd| j	td| j
td| jf
S )	NrA   s   ri   Fr   rj   rk   rm   )rC   rF   rG   r  r  r5   rD   r  r=  r  r   r>  r@   r:   r:   r;   rD   *  s    >$ z GetUnreadReactionsRequest._bytesc              
   C   s|   |  }| }|d@ r"|  }nd }|d@ r8| }nd }|  }|  }|  }|  }	|  }
| |||||	|
||dS )Nrj   rk   r  r  )rK   rL   rs   rM   r  r  r  rA  r  r	  rB  r:   r:   r;   rN   8  s    

z%GetUnreadReactionsRequest.from_reader)NNr  r:   r:   r:   r;   r    s   &r  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )GetWebPageRequestl   - iT,r^   r   c                 C   s   || _ || _dS )zA
        :returns messages.WebPage: Instance of WebPage.
        Nr  )r9   r^   r   r:   r:   r;   r<   Q  s    zGetWebPageRequest.__init__c                 C   s   d| j | jdS )Nr  )r=   r^   r   r  r@   r:   r:   r;   r?   X  s    zGetWebPageRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrA   s   rm   )rC   rE   r^   rF   rG   r   r@   r:   r:   r;   rD   _  s
    
zGetWebPageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rK   rL   rw   r   r:   r:   r;   rN   f  s    zGetWebPageRequest.from_readerNr  r:   r:   r:   r;   r  M  s   r  c                   @   sJ   e Zd ZdZdZdeeed  dddZdd	 Z	d
d Z
edd ZdS )GetWebPagePreviewRequestiooWl   (E Nr&   r`  rb  c                 C   s   || _ || _dS )zO
        :returns messages.WebPagePreview: Instance of WebPagePreview.
        Nr  )r9   r`  rb  r:   r:   r;   r<   q  s    z!GetWebPagePreviewRequest.__init__c                 C   s(   d| j | jd krg ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   |  s     z4GetWebPagePreviewRequest.to_dict.<locals>.<listcomp>)r=   r`  rb  r  r@   r:   r:   r;   r?   x  s    z GetWebPagePreviewRequest.to_dictc                 C   s~   d dtd| jd ks | jdkr$dnd| | j| jd ksF| jdkrJdn.d dtdt| jd d	d
 | jD ffS )NrA   s   ooWri   Fr   r  r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z2GetWebPagePreviewRequest._bytes.<locals>.<genexpr>)rC   rF   rG   rb  rE   r`  r   r@   r:   r:   r;   rD     s    "
FzGetWebPagePreviewRequest._bytesc                 C   sZ   |  }| }|d@ rJ|   g }t|  D ]}| }|| q0nd }| ||dS )Nr  r  )rp   rr   r   rH   r   )rK   rL   rs   ri  rk  r=   r   r:   r:   r;   rN     s    z$GetWebPagePreviewRequest.from_reader)N)rP   rQ   rR   rS   rT   rx   r   r   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  m  s   r  c                   @   sT   e Zd ZdZdZ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 )HideAllChatJoinRequestsRequestl   tA r   Nr   r5   approvedr   c                 C   s   || _ || _|| _dS r   r  )r9   r5   r  r   r:   r:   r;   r<     s    z'HideAllChatJoinRequestsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z&HideAllChatJoinRequestsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r=   r5   r  r   )r>   r5   r   r?   r  r   r@   r:   r:   r;   r?     s
    z&HideAllChatJoinRequestsRequest.to_dictc              	   C   st   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 | jd ks`| jdkrddn
| | jfS )NrA   s   ri   Fr   rj   rk   )rC   rF   rG   r  r   r5   rD   rE   r@   r:   r:   r;   rD     s    >"z%HideAllChatJoinRequestsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nrj   rk   r  ro   )rK   rL   rs   	_approvedrM   r   r:   r:   r;   rN     s    
z*HideAllChatJoinRequestsRequest.from_reader)NN)rP   rQ   rR   rS   rT   r   rq   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )HideChatJoinRequestRequestir   Nr   r$   r5   r}   r  c                 C   s   || _ || _|| _dS r   r  )r9   r5   r}   r  r:   r:   r;   r<     s    z#HideChatJoinRequestRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   r9  rd   r:   r:   r;   rg     s    z"HideChatJoinRequestRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r=   r5   r}   r  )r>   r5   r   r?   r}   r  r@   r:   r:   r;   r?     s
    z"HideChatJoinRequestRequest.to_dictc                 C   s>   d dtd| jd ks | jdkr$dnd| j | j fS )NrA   s   ri   Fr   rj   )rC   rF   rG   r  r5   rD   r}   r@   r:   r:   r;   rD     s    "z!HideChatJoinRequestRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrj   r  rp   rq   rH   )rK   rL   rs   r  rM   r   r:   r:   r;   rN     s
    z&HideChatJoinRequestRequest.from_reader)NrP   rQ   rR   rS   rT   r   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )HidePeerSettingsBarRequesti8Or   r   r   c                 C   s
   || _ dS r   r   r   r:   r:   r;   r<     s    z#HidePeerSettingsBarRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z"HidePeerSettingsBarRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r@   r:   r:   r;   r?     s    z"HidePeerSettingsBarRequest.to_dictc                 C   s   d d| j fS )NrA   s   8Or   r@   r:   r:   r;   rD     s    z!HidePeerSettingsBarRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z&HidePeerSettingsBarRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )ImportChatInviteRequestiPlr   r   c                 C   s
   || _ dS r   r   r   r:   r:   r;   r<     s    z ImportChatInviteRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?     s    zImportChatInviteRequest.to_dictc                 C   s   d d| | jfS )NrA   s   Plr   r@   r:   r:   r;   rD     s    
zImportChatInviteRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN   #  s    z#ImportChatInviteRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sJ   e Zd ZdZdZddedddZdd	 Zd
d Zdd Z	e
dd ZdS )InitHistoryImportRequesti;	4l   
5c r   r   r5   filemedia_countc                 C   s   || _ || _|| _dS )zM
        :returns messages.HistoryImport: Instance of HistoryImport.
        Nr  )r9   r5   r  r  r:   r:   r;   r<   -  s    z!InitHistoryImportRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   5  s    z InitHistoryImportRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r=   r5   r  r  )r>   r5   r   r?   r  r  r@   r:   r:   r;   r?   8  s
    z InitHistoryImportRequest.to_dictc              	   C   s(   d d| j | j td| jfS )NrA   s   ;	4rm   )rC   r5   rD   r  rF   rG   r  r@   r:   r:   r;   rD   @  s    zInitHistoryImportRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r   )rK   rL   rM   _fileZ_media_countr:   r:   r;   rN   H  s    z$InitHistoryImportRequest.from_readerNr   r:   r:   r:   r;   r  )  s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )InstallStickerSetRequestl   `d i?gr"   r  archivedc                 C   s   || _ || _dS )z
        :returns messages.StickerSetInstallResult: Instance of either StickerSetInstallResultSuccess, StickerSetInstallResultArchive.
        Nr  )r9   r  r  r:   r:   r;   r<   T  s    z!InstallStickerSetRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r  r  )r>   r  r   r?   r  r@   r:   r:   r;   r?   [  s    z InstallStickerSetRequest.to_dictc                 C   s    d d| j | jrdndfS )NrA   s   `r>  r?  )rC   r  rD   r  r@   r:   r:   r;   rD   b  s
    zInstallStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rK   rL   r  Z	_archivedr:   r:   r;   rN   i  s    z$InstallStickerSetRequest.from_readerNrP   rQ   rR   rS   rT   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  P  s   r  c                   @   sT   e Zd ZdZdZddee ed dddZd	d
 Zdd Z	dd Z
edd ZdS )MarkDialogUnreadRequestl    r   Nr   r   r5   unreadr&  c                 C   s   || _ || _|| _dS r   r  )r9   r5   r  r&  r:   r:   r;   r<   t  s    z MarkDialogUnreadRequest.__init__c                    s8   | | jI d H | _| jr4||| jI d H | _d S r`   )rh  r5   r&  rb   rc   rd   r:   r:   r;   rg   |  s    zMarkDialogUnreadRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r=   r5   r  r&  )r>   r5   r   r?   r  r&  r@   r:   r:   r;   r?     s
    zMarkDialogUnreadRequest.to_dictc              	   C   sr   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sX| jdkr\dn| j | j fS )NrA   s   Pri   Fr   rj   rk   )rC   rF   rG   r  r&  rD   r5   r@   r:   r:   r;   rD     s    > zMarkDialogUnreadRequest._bytesc                 C   s@   |  }t|d@ }|d@ r&| }nd }| }| |||dS )Nrj   rk   r  r  )rK   rL   rs   Z_unreadr)  rM   r:   r:   r;   rN     s    
z#MarkDialogUnreadRequest.from_reader)NNr  r:   r:   r:   r;   r  p  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )MigrateChatRequestl   SE r   r   c                 C   s
   || _ dS r   r   r   r:   r:   r;   r<     s    zMigrateChatRequest.__init__c                 C   s   d| j dS )Nr  r   r   r@   r:   r:   r;   r?     s    zMigrateChatRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   SrB   r   r@   r:   r:   r;   rD     s    zMigrateChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    zMigrateChatRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   s^   e Zd ZdZdZdddeee ed ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )ProlongWebViewRequestl   a r   Nr   r$   r    r5   r  query_idr  r  r  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r9   r5   r  r  r  r  r  r:   r:   r;   r<     s    zProlongWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S r`   rb   rc   r5   r   r  r  rd   r:   r:   r;   rg     s    zProlongWebViewRequest.resolvec              	   C   sx   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jt | jtrn| j n| jdS )Nr  )r=   r5   r  r  r  r  r  )	r>   r5   r   r?   r  r  r  r  r  r@   r:   r:   r;   r?     s    zProlongWebViewRequest.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 | j | j td	| j	| jd ks| jdkrdn| j | jd ks| jdkrdn| j fS )
NrA   s   ذri   Fr   rz  rj   r  rB   )
rC   rF   rG   r  r  r  r5   rD   r  r  r@   r:   r:   r;   rD     s    Z  zProlongWebViewRequest._bytesc           	      C   sl   |  }t|d@ }| }| }| }|d@ r>| }nd }|d@ rT| }nd }| ||||||dS )Nrz  rj   r  r  )rp   rq   rH   rJ   )	rK   rL   rs   r  rM   r  	_query_idr  r  r:   r:   r;   rN     s    

z!ProlongWebViewRequest.from_reader)NNNr   r:   r:   r:   r;   r    s   &r  c                   @   sL   e Zd ZdZdZdeeedddZdd Zd	d
 Z	dd Z
edd ZdS )RateTranscribedAudioRequesti/r   r   r5   r\   transcription_idgoodc                 C   s   || _ || _|| _|| _dS r   r  )r9   r5   r\   r  r  r:   r:   r;   r<     s    z$RateTranscribedAudioRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z#RateTranscribedAudioRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r=   r5   r\   r  r  )r>   r5   r   r?   r\   r  r  r@   r:   r:   r;   r?     s    z#RateTranscribedAudioRequest.to_dictc              	   C   s8   d d| j td| jtd| j| jr0dndfS )NrA   s   /rm   rB   r>  r?  )rC   r5   rD   rF   rG   r\   r  r  r@   r:   r:   r;   rD     s    z"RateTranscribedAudioRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  )rH   rp   rJ   r@  )rK   rL   rM   ru   Z_transcription_idZ_goodr:   r:   r;   rN     s
    z'RateTranscribedAudioRequest.from_readerNrA  r:   r:   r:   r;   r    s   			r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadDiscussionRequestl   )cn r   r   r5   r\   read_max_idc                 C   s   || _ || _|| _dS r   r  )r9   r5   r\   r  r:   r:   r;   r<   '  s    zReadDiscussionRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   /  s    zReadDiscussionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r=   r5   r\   r  )r>   r5   r   r?   r\   r  r@   r:   r:   r;   r?   2  s
    zReadDiscussionRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )NrA   s   1rm   )rC   r5   rD   rF   rG   r\   r  r@   r:   r:   r;   rD   :  s    zReadDiscussionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  r   )rK   rL   rM   ru   Z_read_max_idr:   r:   r;   rN   B  s    z!ReadDiscussionRequest.from_readerNr   r:   r:   r:   r;   r  #  s   r  c                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )ReadEncryptedHistoryRequesti
iKr   r   r5   r  c                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<   N  s    z$ReadEncryptedHistoryRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   U  s    z#ReadEncryptedHistoryRequest.to_dictc                 C   s   d d| j | | jfS )NrA   s   
iK)rC   r5   rD   r  r  r@   r:   r:   r;   rD   \  s
    
z"ReadEncryptedHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rH   r  )rK   rL   rM   r  r:   r:   r;   rN   c  s    z'ReadEncryptedHistoryRequest.from_readerN)rP   rQ   rR   rS   rT   r   r	   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  J  s   r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )ReadFeaturedStickersRequesti&[r   r  c                 C   s
   || _ dS r   r  r  r:   r:   r;   r<   n  s    z$ReadFeaturedStickersRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r@   r:   r:   r;   r?   t  s    z#ReadFeaturedStickersRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   &[r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   }  s     z5ReadFeaturedStickersRequest._bytes.<locals>.<genexpr>r  r@   r:   r:   r;   rD   z  s      z"ReadFeaturedStickersRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  r  r  r:   r:   r;   rN     s    z'ReadFeaturedStickersRequest.from_readerNr  r:   r:   r:   r;   r  j  s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadHistoryRequesti:m0r  r   r5   r   c                 C   s   || _ || _dS r  r  )r9   r5   r   r:   r:   r;   r<     s    zReadHistoryRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zReadHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r   )r>   r5   r   r?   r   r@   r:   r:   r;   r?     s    zReadHistoryRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   :m0rm   )rC   r5   rD   rF   rG   r   r@   r:   r:   r;   rD     s
    zReadHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rK   rL   rM   r	  r:   r:   r;   rN     s    zReadHistoryRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ReadMentionsRequestiM6r   Nr   r5   r  c                 C   s   || _ || _dS r  r  )r9   r5   r  r:   r:   r;   r<     s    zReadMentionsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zReadMentionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?     s    zReadMentionsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )NrA   s   M6ri   Fr   rj   rm   )rC   rF   rG   r  r5   rD   r@   r:   r:   r;   rD     s    "$zReadMentionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS )Nrj   r  r  )rK   rL   rs   rM   r  r:   r:   r;   rN     s    
zReadMentionsRequest.from_reader)Nr  r:   r:   r:   r;   r    s   r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )ReadMessageContentsRequestiw?6r  r  c                 C   s
   || _ dS r  r  r  r:   r:   r;   r<     s    z#ReadMessageContentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r@   r:   r:   r;   r?     s    z"ReadMessageContentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   w?6r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>r  r@   r:   r:   r;   rD     s      z!ReadMessageContentsRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r  r  r  r:   r:   r;   rN     s    z&ReadMessageContentsRequest.from_readerNr  r:   r:   r:   r;   r    s   r  c                   @   sT   e Zd ZdZdZddee ed dddZdd	 Zd
d Z	dd Z
edd ZdS )ReadReactionsRequestl   O= r   Nr   r5   r  r  c                 C   s   || _ || _|| _dS r  r  r9   r5   r  r  r:   r:   r;   r<     s    zReadReactionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    zReadReactionsRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  r=   r5   r  r  r>   r5   r   r?   r  r  r@   r:   r:   r;   r?   	  s
    zReadReactionsRequest.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 | jd ks`| jdkrddntd| j| jd ks| jdkrdn| j fS )	NrA   s   OĞri   Fr   rj   rk   rm   rC   rF   rG   r  r  r5   rD   r@   r:   r:   r;   rD     s    >$ zReadReactionsRequest._bytesc                 C   sJ   |  }| }|d@ r"|  }nd }|d@ r8| }nd }| |||dS Nrj   rk   r  r  rK   rL   rs   rM   r  r  r:   r:   r;   rN     s    

z ReadReactionsRequest.from_reader)NNr  r:   r:   r:   r;   r    s   	r  c                   @   sJ   e Zd ZdZdZddedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadSavedHistoryRequestl   [;t r   r   r&  r5   r   c                 C   s   || _ || _|| _dS r   r  )r9   r&  r5   r   r:   r:   r;   r<   .  s    z ReadSavedHistoryRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r`   )rb   rc   r&  r5   rd   r:   r:   r;   rg   6  s    zReadSavedHistoryRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r=   r&  r5   r   )r>   r&  r   r?   r5   r   r@   r:   r:   r;   r?   :  s
    zReadSavedHistoryRequest.to_dictc              	   C   s(   d d| j | j td| jfS )NrA   s   [;Jrm   )rC   r&  rD   r5   rF   rG   r   r@   r:   r:   r;   rD   B  s    zReadSavedHistoryRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r   )rK   rL   r)  rM   r	  r:   r:   r;   rN   J  s    z#ReadSavedHistoryRequest.from_readerNr   r:   r:   r:   r;   r  *  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )ReceivedMessagesRequestiTl   x
 r   c                 C   s
   || _ dS )zX
        :returns Vector<ReceivedNotifyMessage>: This type has no constructors.
        Nr  )r9   r   r:   r:   r;   r<   V  s    z ReceivedMessagesRequest.__init__c                 C   s   d| j dS )Nr  )r=   r   r  r@   r:   r:   r;   r?   \  s    zReceivedMessagesRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   Trm   )rC   rF   rG   r   r@   r:   r:   r;   rD   b  s    zReceivedMessagesRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rK   rL   r	  r:   r:   r;   rN   h  s    z#ReceivedMessagesRequest.from_readerNr   r:   r:   r:   r;   r  R  s   r  c                   @   sJ   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
edd ZdS )ReceivedQueueRequestifUl   ha1 max_qtsc                 C   s
   || _ dS )zG
        :returns Vector<long>: This type has no constructors.
        Nr  )r9   r  r:   r:   r;   r<   r  s    zReceivedQueueRequest.__init__c                 C   s   d| j dS )Nr  )r=   r  r  r@   r:   r:   r;   r?   x  s    zReceivedQueueRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   fUrm   )rC   rF   rG   r  r@   r:   r:   r;   rD   ~  s    zReceivedQueueRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rK   rL   Z_max_qtsr:   r:   r;   rN     s    z ReceivedQueueRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r:   r   r  rL   r:   r;   r     s     z4ReceivedQueueRequest.read_result.<locals>.<listcomp>)rp   r   r  r:   r  r;   read_result  s    z ReceivedQueueRequest.read_resultN)rP   rQ   rR   rS   rT   rV   r<   r?   rD   rW   rN   staticmethodr  r:   r:   r:   r;   r  n  s   
r  c                   @   sT   e Zd ZdZdZdeed ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReorderPinnedDialogsRequesti7;r   Nr   r  orderforcec                 C   s   || _ || _|| _dS r   r  )r9   r  r  r  r:   r:   r;   r<     s    z$ReorderPinnedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r`   r  r   rh  r   r:   r:   r;   rg     s    
z#ReorderPinnedDialogsRequest.resolvec                 C   s,   d| j | jd krg ndd | jD | jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z7ReorderPinnedDialogsRequest.to_dict.<locals>.<listcomp>)r=   r  r  r  r  r@   r:   r:   r;   r?     s
    z#ReorderPinnedDialogsRequest.to_dictc                 C   s`   d dtd| jd ks | jdkr$dndtd| jdtdt| jd d	d
 | jD fS )NrA   s   7;ri   Fr   rj   rm   r   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z5ReorderPinnedDialogsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r  r   r  r@   r:   r:   r;   rD     s    "  z"ReorderPinnedDialogsRequest._bytesc                 C   sZ   |  }t|d@ }|  }|   g }t|  D ]}| }|| q4| |||dS )Nrj   r  rp   rq   r   rH   r   )rK   rL   rs   _forcer  _orderr=   r   r:   r:   r;   rN     s    z'ReorderPinnedDialogsRequest.from_reader)N)rP   rQ   rR   rS   rT   rV   r   r   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sR   e Zd ZdZdZded ee dddZdd	 Z	d
d Z
dd Zedd ZdS ) ReorderPinnedSavedDialogsRequestl   e r   Nr   r  r  c                 C   s   || _ || _dS r   r  )r9   r  r  r:   r:   r;   r<     s    z)ReorderPinnedSavedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r`   r  r   r:   r:   r;   rg     s    
z(ReorderPinnedSavedDialogsRequest.resolvec                 C   s(   d| j d krg ndd | j D | jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z<ReorderPinnedSavedDialogsRequest.to_dict.<locals>.<listcomp>)r=   r  r  r  r@   r:   r:   r;   r?     s    z(ReorderPinnedSavedDialogsRequest.to_dictc              
   C   sT   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD fS )NrA   s   eqri   Fr   rj   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z:ReorderPinnedSavedDialogsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r   r  r@   r:   r:   r;   rD     s    "  z'ReorderPinnedSavedDialogsRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}| }|| q,| ||dS )Nrj   r  r   )rK   rL   rs   r  r  r=   r   r:   r:   r;   rN     s    z,ReorderPinnedSavedDialogsRequest.from_reader)N)rP   rQ   rR   rS   rT   r   r   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )ReorderQuickRepliesRequesti3`r   r  c                 C   s
   || _ dS r   r  r9   r  r:   r:   r;   r<     s    z#ReorderQuickRepliesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r=   r  r  r@   r:   r:   r;   r?     s    z"ReorderQuickRepliesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   3`r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z4ReorderQuickRepliesRequest._bytes.<locals>.<genexpr>rC   rF   rG   r   r  r@   r:   r:   r;   rD     s      z!ReorderQuickRepliesRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS Nr  r  rK   rL   r  r=   r   r:   r:   r;   rN     s    z&ReorderQuickRepliesRequest.from_readerNr  r:   r:   r:   r;   r    s   r  c                   @   sP   e Zd ZdZdZdee ee ee dddZ	dd Z
d	d
 Zedd ZdS )ReorderStickerSetsRequesti9w3xr   Nr  r  r  c                 C   s   || _ || _|| _dS r   r  )r9   r  r  r  r:   r:   r;   r<     s    z"ReorderStickerSetsRequest.__init__c                 C   s*   d| j d krg n| j d d  | j| jdS )Nr  )r=   r  r  r  r  r@   r:   r:   r;   r?     s
    z!ReorderStickerSetsRequest.to_dictc              
   C   sp   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 dtd	t| jd d
d | jD fS )NrA   s   9w3xri   Fr   rj   rk   r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   (  s     z3ReorderStickerSetsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r  r   r  r@   r:   r:   r;   rD   $  s    >  z ReorderStickerSetsRequest._bytesc                 C   s^   |  }t|d@ }t|d@ }|   g }t|  D ]}| }|| q8| |||dS )Nrj   rk   r  )rp   rq   r   rJ   r   )rK   rL   rs   r  r  r  r=   r   r:   r:   r;   rN   +  s    z%ReorderStickerSetsRequest.from_reader)NNr  r:   r:   r:   r;   r    s    r  c                   @   sP   e Zd ZdZdZdee eedddZ	dd Z
d	d
 Zdd Zedd ZdS )ReportRequestl   /x l   8tY r   r5   r  rq  r`  c                 C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        Nr  )r9   r5   r  rq  r`  r:   r:   r;   r<   >  s    zReportRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   G  s    zReportRequest.resolvec                 C   sD   dt | jtr| j n| j| jd kr*g n| jd d  | j| jdS )Nr  )r=   r5   r  rq  r`  )r>   r5   r   r?   r  rq  r`  r@   r:   r:   r;   r?   J  s    zReportRequest.to_dictc                 C   sN   d d| j dtdt| jd dd | jD | | j| | j	fS )NrA   s   xr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   W  s     z'ReportRequest._bytes.<locals>.<genexpr>)
rC   r5   rD   rF   rG   r   r  rE   rq  r`  r@   r:   r:   r;   rD   S  s      

zReportRequest._bytesc                 C   sX   |  }|  g }t| D ]}| }|| q | }| }| ||||dS )Nr  )rH   rp   r   r   rI   rr   )rK   rL   rM   r  r=   r   rr  ri  r:   r:   r;   rN   \  s    zReportRequest.from_readerN)rP   rQ   rR   rS   rT   r   rV   rU   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  :  s   			r  c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )ReportEncryptedSpamRequestiKr   r   r   c                 C   s
   || _ dS r   r   r   r:   r:   r;   r<   n  s    z#ReportEncryptedSpamRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r@   r:   r:   r;   r?   t  s    z"ReportEncryptedSpamRequest.to_dictc                 C   s   d d| j fS )NrA   s   Kr   r@   r:   r:   r;   rD   z  s    z!ReportEncryptedSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    z&ReportEncryptedSpamRequest.from_readerNr  r:   r:   r:   r;   r  j  s   r  c                   @   sT   e Zd ZdZdZ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 )ReportMessagesDeliveryRequestismZr   Nr   r5   r  pushc                 C   s   || _ || _|| _dS r   r  )r9   r5   r  r  r:   r:   r;   r<     s    z&ReportMessagesDeliveryRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z%ReportMessagesDeliveryRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )Nr  )r=   r5   r  r  )r>   r5   r   r?   r  r  r@   r:   r:   r;   r?     s
    z%ReportMessagesDeliveryRequest.to_dictc                 C   s\   d dtd| jd ks | jdkr$dnd| j dtdt| jd d	d
 | jD fS )NrA   s   smZri   Fr   rj   r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z7ReportMessagesDeliveryRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r5   rD   r   r  r@   r:   r:   r;   rD     s    "  z$ReportMessagesDeliveryRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nrj   r  rp   rq   rH   r   r   )rK   rL   rs   Z_pushrM   r  r=   r   r:   r:   r;   rN     s    z)ReportMessagesDeliveryRequest.from_reader)N)rP   rQ   rR   rS   rT   r   rV   r   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sJ   e Zd ZdZdZdeddddZdd Zd	d
 Zdd Z	e
dd ZdS )ReportReactionRequestivd?r   r   r5   r  reaction_peerc                 C   s   || _ || _|| _dS r   r  )r9   r5   r  r  r:   r:   r;   r<     s    zReportReactionRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r`   )rb   rc   r5   r  rd   r:   r:   r;   rg     s    zReportReactionRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r=   r5   r  r  )r>   r5   r   r?   r  r  r@   r:   r:   r;   r?     s
    zReportReactionRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrA   s   vd?rm   )rC   r5   rD   rF   rG   r  r  r@   r:   r:   r;   rD     s    zReportReactionRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r   )rK   rL   rM   r  Z_reaction_peerr:   r:   r;   rN     s    z!ReportReactionRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )ReportSpamRequestl   + r   r   r   c                 C   s
   || _ dS r   r   r   r:   r:   r;   r<     s    zReportSpamRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zReportSpamRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r@   r:   r:   r;   r?     s    zReportSpamRequest.to_dictc                 C   s   d d| j fS )NrA   s   ےr   r@   r:   r:   r;   rD     s    zReportSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r:   r:   r;   rN     s    zReportSpamRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Ze	dd Z
dS )ReportSponsoredMessageRequestii"#&Nrq  r   c                 C   s.   || _ |dk	r|ntjtdddd| _dS )z
        :returns channels.SponsoredMessageReportResult: Instance of either SponsoredMessageReportResultChooseOption, SponsoredMessageReportResultAdsHidden, SponsoredMessageReportResultReported.
        Nrl   r   Tr   )rq  rV   r   r   r   r   )r9   rq  r   r:   r:   r;   r<     s    z&ReportSponsoredMessageRequest.__init__c                 C   s   d| j | jdS )Nr  )r=   rq  r   r  r@   r:   r:   r;   r?     s    z%ReportSponsoredMessageRequest.to_dictc                 C   s    d d| | j| | jfS )NrA   s   )rC   rE   r   rq  r@   r:   r:   r;   rD     s
    

z$ReportSponsoredMessageRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  rI   )rK   rL   r   rr  r:   r:   r;   rN     s    z)ReportSponsoredMessageRequest.from_reader)NrP   rQ   rR   rS   rT   rU   r<   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                
   @   sj   e Zd ZdZdZdddeee ee ee ee ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )RequestAppWebViewRequesti΋aS   F'' Nr   r   r   r5   r  platformr[   compactr   start_paramtheme_paramsc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        Nr  )	r9   r5   r  r   r[   r!  r   r"  r#  r:   r:   r;   r<     s    z!RequestAppWebViewRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   ,  s    z RequestAppWebViewRequest.resolvec                 C   sj   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	t | j
tr`| j
 n| j
d	S )Nr  )	r=   r5   r  r   r[   r!  r   r"  r#  )r>   r5   r   r?   r  r   r[   r!  r   r"  r#  r@   r:   r:   r;   r?   /  s    z RequestAppWebViewRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | j	 | j
	 | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j	 | | jfS )NrA   s   ΋aSri   Fr   rj      r  rk   rl   )rC   rF   rG   r[   r!  r   r"  r#  r5   rD   r  rE   r   r@   r:   r:   r;   rD   <  s    " 
zRequestAppWebViewRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }t|d@ }| }| }|d@ rN| }nd }|d@ rd| }	nd }	| }
| |||
|||||	dS )Nrj   r%  r  rk   rl   r  ro   )rK   rL   rs   rt   _compactr   rM   r  _start_param_theme_params	_platformr:   r:   r;   rN   G  s    

z$RequestAppWebViewRequest.from_reader)NNNNNrP   rQ   rR   rS   rT   rx   r   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   2r  c                   @   sL   e Zd ZdZdZddeedddZdd	 Zd
d Z	dd Z
edd ZdS )RequestEncryptionRequestl   C/l r3   Nr$   r}   g_ar   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS )r8   Nrl   r   Tr   )r}   r-  rV   r   r   r   r   )r9   r}   r-  r   r:   r:   r;   r<   `  s    z!RequestEncryptionRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   h  s    z RequestEncryptionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr+  )r=   r}   r-  r   )r>   r}   r   r?   r-  r   r@   r:   r:   r;   r?   k  s
    z RequestEncryptionRequest.to_dictc                 C   s*   d d| j td| j| | jfS )NrA   s   CMrm   )rC   r}   rD   rF   rG   r   rE   r-  r@   r:   r:   r;   rD   s  s    
zRequestEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr,  )rH   rp   rI   )rK   rL   r   r   Z_g_ar:   r:   r;   rN   {  s    z$RequestEncryptionRequest.from_reader)N)rP   rQ   rR   rS   rT   rU   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r+  \  s   r+  c                	   @   sd   e Zd ZdZdZdddeee ee ee ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )RequestMainWebViewRequestl   { r  Nr   r$   r   r5   r  r   r!  r   r"  r#  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r$  r/  )r9   r5   r  r   r!  r   r"  r#  r:   r:   r;   r<     s    z"RequestMainWebViewRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   )rb   rc   r5   r   r  rd   r:   r:   r;   rg     s    z!RequestMainWebViewRequest.resolvec              
   C   sf   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| jt | j	tr\| j	 n| j	dS )Nr.  )r=   r5   r  r   r!  r   r"  r#  )
r>   r5   r   r?   r  r   r!  r   r"  r#  r@   r:   r:   r;   r?     s    z!RequestMainWebViewRequest.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 | jd ksr| jdkrvdnd	B | j | j	 | jd ks| jdkrdn
| 
| j| jd ks| jdkrdn| j | 
| jfS )
NrA   s   {ri   Fr   r%  r  rk   rj   )rC   rF   rG   r!  r   r"  r#  r5   rD   r  rE   r   r@   r:   r:   r;   rD     s    v" 
z RequestMainWebViewRequest._bytesc           
   	   C   sz   |  }t|d@ }t|d@ }| }| }|d@ rB| }nd }|d@ rX| }nd }| }	| |||	||||dS )Nr%  r  rk   rj   r/  ro   )
rK   rL   rs   r&  r   rM   r  r'  r(  r)  r:   r:   r;   rN     s    

z%RequestMainWebViewRequest.from_reader)NNNNr*  r:   r:   r:   r;   r.    s   ,r.  c                   @   st   e Zd ZdZdZddeee ee ee ee ee ee ed d	ddZd	d
 Z	dd Z
dd Zedd ZdS )RequestSimpleWebViewRequestis>:Ar  Nr$   r   	r  r   from_switch_webviewfrom_side_menur!  r   r^   r"  r#  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r$  r1  )
r9   r  r   r2  r3  r!  r   r^   r"  r#  r:   r:   r;   r<     s    z$RequestSimpleWebViewRequest.__init__c                    s   | || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    z#RequestSimpleWebViewRequest.resolvec                 C   sX   dt | jtr| j n| j| j| j| j| j| j| j	| j
t | jtrN| j n| jd
S )Nr0  )
r=   r  r   r2  r3  r!  r   r^   r"  r#  )r>   r  r   r?   r   r2  r3  r!  r   r^   r"  r#  r@   r:   r:   r;   r?     s    z#RequestSimpleWebViewRequest.to_dictc                 C   sT  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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
 | jd ks| jdkrdn
| | j| jd ks| jdkrdn
| | j| j	d ks8| j	dkr<dn| j	 | | jfS )NrA   s   s>:Ari   Fr   rk   rl   r%  r  r  rS  rj   )rC   rF   rG   r2  r3  r!  r   r^   r"  r#  r  rD   rE   r   r@   r:   r:   r;   rD     s    "&$
z"RequestSimpleWebViewRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }|d@ rR| }nd }|d@ rh| }	nd }	|d@ r~| }
nd }
| }| ||||||||	|
d	S )	Nrk   rl   r%  r  r  rS  rj   r1  ro   )rK   rL   rs   Z_from_switch_webviewZ_from_side_menur&  r   r  rw   r'  r(  r)  r:   r:   r;   rN     s"    


z'RequestSimpleWebViewRequest.from_reader)NNNNNNNr*  r:   r:   r:   r;   r0    s   <r0  c                   @   s^   e Zd ZdZdZded ee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )RequestUrlAuthRequestiFrY   Nr   r5   r\   r]   r^   c                 C   s   || _ || _|| _|| _dS r_   r5  )r9   r5   r\   r]   r^   r:   r:   r;   r<     s    zRequestUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S r`   ra   rd   r:   r:   r;   rg     s    zRequestUrlAuthRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr4  )r=   r5   r\   r]   r^   )r>   r5   r   r?   r\   r]   r^   r@   r:   r:   r;   r?     s    zRequestUrlAuthRequest.to_dictc              
   C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttdddtd| j d ks| j dkrdnd| jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j d ks| j dkrdn| j  | jd ks,| jdkr0dntd	| j| jd ksT| jdkrXdntd	| j| jd ks|| jdkrdn
| 	| jfS )
NFrh   rA   s   Fri   r   rk   rl   rm   )
r5   r\   r]   rn   rC   rF   rG   r^   rD   rE   r@   r:   r:   r;   rD   #  s    tv$((&zRequestUrlAuthRequest._bytesc                 C   sp   |  }|d@ r| }nd }|d@ r0|  }nd }|d@ rF|  }nd }|d@ r\| }nd }| ||||dS )Nrk   rl   r5  rI  )rK   rL   rs   rM   ru   rv   rw   r:   r:   r;   rN   .  s    



z!RequestUrlAuthRequest.from_reader)NNNN)rP   rQ   rR   rS   rT   r   rV   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r4  	  s   &		r4  c                   @   s   e Zd ZdZdZdddeee ee ee ee ee ee ed ed ed dd	d
Zdd Z	dd Z
dd Zedd ZdS )RequestWebViewRequesti&r  Nr   r$   r   r    r5   r  r   from_bot_menur  r!  r   r^   r"  r#  r  r  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r$  r7  )r9   r5   r  r   r8  r  r!  r   r^   r"  r#  r  r  r:   r:   r;   r<   I  s    zRequestWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S r`   r  rd   r:   r:   r;   rg   Z  s    zRequestWebViewRequest.resolvec                 C   s   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
| jt | jtrh| j n| jt | jtr| j n| jt | jtr| j n| jdS )Nr6  )r=   r5   r  r   r8  r  r!  r   r^   r"  r#  r  r  )r>   r5   r   r?   r  r   r8  r  r!  r   r^   r"  r#  r  r  r@   r:   r:   r;   r?   `  s    zRequestWebViewRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | j | j | jd ks4| jdkr8dn
| | j| jd ksZ| jdkr^dn
| | j| j	d ks| j	dkrdn| j	 | | j| j
d ks| j
dkrdn| j
 | jd ks| jdkrdn| j f
S )NrA   s   &ri   Fr   rS  rz  r%  r  rk   r  rl   rj   r  )rC   rF   rG   r8  r  r!  r   r^   r"  r#  r  r  r5   rD   r  rE   r   r@   r:   r:   r;   rD   q  s     &&$
$$zRequestWebViewRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }| }|d@ rZ| }	nd }	|d@ rp| }
nd }
|d@ r| }nd }| }|d@ r| }nd }|d	@ r| }nd }| ||||||||	|
|||d
S )NrS  rz  r%  r  rk   r  rl   rj   r  r7  ro   )rK   rL   rs   Z_from_bot_menur  r&  r   rM   r  rw   r'  r(  r)  r  r  r:   r:   r;   rN     s0    




z!RequestWebViewRequest.from_reader)	NNNNNNNNNr*  r:   r:   r:   r;   r6  E  s   Jr6  c                   @   sH   e Zd ZdZdZdddddZdd Zd	d
 Zdd Ze	dd Z
dS )SaveDefaultSendAsRequestl   _ r   r   r5   r  c                 C   s   || _ || _dS r   r:  )r9   r5   r  r:   r:   r;   r<     s    z!SaveDefaultSendAsRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r`   rb   rc   r5   r  rd   r:   r:   r;   rg     s    z SaveDefaultSendAsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr9  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?     s    z SaveDefaultSendAsRequest.to_dictc                 C   s   d d| j | j fS )NrA   s   )rC   r5   rD   r  r@   r:   r:   r;   rD     s
    zSaveDefaultSendAsRequest._bytesc                 C   s   |  }|  }| ||dS )Nr:  r   )rK   rL   rM   r  r:   r:   r;   rN     s    z$SaveDefaultSendAsRequest.from_readerNr   r:   r:   r:   r;   r9    s   r9  c                   @   sx   e Zd ZdZdZddeee ee ed eed  ed ee	 ed d		d
dZ
dd Zdd Zdd Zedd ZdS )SaveDraftRequesti0Tr   Nr   r    r&   r   r.   	r5   r`  r^  r_  r  rb  r   effectr  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r   r=  )
r9   r5   r`  r^  r_  r  rb  r   r>  r  r:   r:   r;   r<     s    zSaveDraftRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r`   rp  rd   r:   r:   r;   rg     s    zSaveDraftRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| jt | jtr>| j n| j| jd krPg ndd | jD t | j	trt| j	 n| j	| j
t | jtr| j n| jd
S )Nr<  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z,SaveDraftRequest.to_dict.<locals>.<listcomp>)
r=   r5   r`  r^  r_  r  rb  r   r>  r  )r>   r5   r   r?   r`  r^  r_  r  rb  r   r>  r  r@   r:   r:   r;   r?     s    zSaveDraftRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | jd ks| jdkrdn| j
 | j
 | | j| jd ks| jdkrdn.d dtdt| jd dd | jD f| jd ksd| jdkrhdn| j
 | jd ks| jdkrdntd| j| j	d ks| j	dkrdn| j	
 f	S )NrA   s   0Tri   Fr   rk   r  rS  r  rz  r%  r  r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z*SaveDraftRequest._bytes.<locals>.<genexpr>rB   )rC   rF   rG   r^  r_  r  rb  r   r>  r  rD   r5   rE   r`  r   r@   r:   r:   r;   rD     s     
J$($zSaveDraftRequest._bytesc                 C   s   |  }t|d@ }t|d@ }|d@ r2| }nd }| }| }|d@ r|   g }t|  D ]}	| }
||
 qfnd }|d@ r| }nd }|d@ r| }nd }|d@ r| }nd }| |||||||||d	S )	Nrk   r  rS  r  rz  r%  r  r=  )rp   rq   rH   rr   r   r   rJ   )rK   rL   rs   rg  rh  r  rM   ri  rk  r=   r   r   _effectr  r:   r:   r;   rN     s2    



zSaveDraftRequest.from_reader)NNNNNNN)rP   rQ   rR   rS   rT   rx   r   rq   r   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r<    s   @r<  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SaveGifRequesti0z2r   r   r  unsavec                 C   s   || _ || _dS r   rA  )r9   r  rB  r:   r:   r;   r<     s    zSaveGifRequest.__init__c                    s   | | j| _d S r`   r  rd   r:   r:   r;   rg   &  s    zSaveGifRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr@  )r=   r  rB  )r>   r  r   r?   rB  r@   r:   r:   r;   r?   )  s    zSaveGifRequest.to_dictc                 C   s    d d| j | jrdndfS )NrA   s   0z2r>  r?  )rC   r  rD   rB  r@   r:   r:   r;   rD   0  s
    zSaveGifRequest._bytesc                 C   s   |  }| }| ||dS )NrA  r  )rK   rL   r  _unsaver:   r:   r;   rN   7  s    zSaveGifRequest.from_readerNr  r:   r:   r:   r;   r@    s   r@  c                   @   sT   e Zd ZdZdZdddeed  ddd	Zd
d Zdd Z	dd Z
edd ZdS ) SavePreparedInlineMessageRequestl   />d l   "_ Nr   r$   r   resultr}   
peer_typesc                 C   s   || _ || _|| _dS )zc
        :returns messages.BotPreparedInlineMessage: Instance of BotPreparedInlineMessage.
        NrE  )r9   rF  r}   rG  r:   r:   r;   r<   B  s    z)SavePreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   J  s    z(SavePreparedInlineMessageRequest.resolvec                 C   sX   dt | jtr| j n| jt | jtr2| j n| j| jd krDg ndd | jD dS )NrD  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   R  s     z<SavePreparedInlineMessageRequest.to_dict.<locals>.<listcomp>)r=   rF  r}   rG  )r>   rF  r   r?   r}   rG  r@   r:   r:   r;   r?   M  s
    z(SavePreparedInlineMessageRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | j | jd ksL| jdkrPdn.d dtdt| jd d	d
 | jD ffS )NrA   s   /ri   Fr   rj   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   [  s     z:SavePreparedInlineMessageRequest._bytes.<locals>.<genexpr>)rC   rF   rG   rG  rF  rD   r}   r   r@   r:   r:   r;   rD   U  s    "Fz'SavePreparedInlineMessageRequest._bytesc                 C   sd   |  }| }| }|d@ rR|   g }t|  D ]}| }|| q8nd }| |||dS )Nrj   rE  r  )rK   rL   rs   _resultr   Z_peer_typesr=   r   r:   r:   r;   rN   ^  s    z,SavePreparedInlineMessageRequest.from_reader)N)rP   rQ   rR   rS   rT   r   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rD  >  s   	rD  c                   @   sP   e Zd ZdZdZddeee dddZdd	 Zd
d Z	dd Z
edd ZdS )SaveRecentStickerRequesti'9r   Nr   r  rB  r   c                 C   s   || _ || _|| _dS r   rJ  )r9   r  rB  r   r:   r:   r;   r<   t  s    z!SaveRecentStickerRequest.__init__c                    s   | | j| _d S r`   r  rd   r:   r:   r;   rg   |  s    z SaveRecentStickerRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrI  )r=   r  rB  r   )r>   r  r   r?   rB  r   r@   r:   r:   r;   r?     s
    z SaveRecentStickerRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dnd| j | jr:dndfS )	NrA   s   '9ri   Fr   rj   r>  r?  )rC   rF   rG   r   r  rD   rB  r@   r:   r:   r;   rD     s    "zSaveRecentStickerRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrj   rJ  rp   rq   rH   r@  )rK   rL   rs   r   r  rC  r:   r:   r;   rN     s
    z$SaveRecentStickerRequest.from_reader)NrP   rQ   rR   rS   rT   rq   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rI  p  s   rI  c                   @   s   e Zd ZdZdZddedee ee eeeeeeed ed ee	d  ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SearchRequestiz)r;  Nr   r'   r)   r5   r  r  r  r  r  r=  r  r   r>  r   from_idr  saved_reactionr  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r?  rN  )r9   r5   r  r  r  r  r  r=  r  r   r>  r   rO  r  rP  r  r:   r:   r;   r<     s    zSearchRequest.__init__c                    s^   | || jI d H | _| jr:| || jI d H | _| jrZ| || jI d H | _d S r`   )rb   rc   r5   rO  r  rd   r:   r:   r;   rg     s
    zSearchRequest.resolvec                 C   s   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| j| j	| j
| j| j| jt | jtrp| j n| jt | jtr| j n| j| jd krg ndd | jD | jdS )NrM  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z)SearchRequest.to_dict.<locals>.<listcomp>)r=   r5   r  r  r  r  r  r=  r  r   r>  r   rO  r  rP  r  )r>   r5   r   r?   r  r  r  r  r  r=  r  r   r>  r   rO  r  rP  r  r@   r:   r:   r;   r?     s"    zSearchRequest.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 | jd ksr| jdkrvdnd	B | j | 	| j
| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks| jdkrdn.d d
tdt| jd dd | jD f| jd ks,| jdkr0dntd| j| j | | j| | jtd| jtd| jtd| jtd| jtd| jtd| jfS )NrA   s   z)ri   Fr   rj   rl   r  rk   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r     s     z'SearchRequest._bytes.<locals>.<genexpr>rB   )rC   rF   rG   rO  r  rP  r  r5   rD   rE   r  r   r  r  r  r  r  r=  r  r   r>  r   r@   r:   r:   r;   rD     s&    v
  F(

zSearchRequest._bytesc                 C   s  |  }| }| }|d@ r*| }nd }|d@ r@| }nd }|d@ r~|   g }t|  D ]}| }	||	 qdnd }|d@ r|  }
nd }
| }| }| }|  }|  }|  }|  }|  }| }| |||||||||||||||
dS )Nrj   rl   r  rk   rN  )rp   rH   rr   r   r   r  rJ   )rK   rL   rs   rM   r  Z_from_idr  Z_saved_reactionr=   r   r  r  r
  r  r  rA  r  r	  rB  r   r:   r:   r;   rN     s:    


zSearchRequest.from_reader)NNNN)rP   rQ   rR   rS   rT   rx   r   r	   rV   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rM    s   HrM  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )SearchCustomEmojiRequesti,l   jy r  c                 C   s   || _ || _dS )zY
        :returns EmojiList: Instance of either EmojiListNotModified, EmojiList.
        Nr  r  r:   r:   r;   r<     s    z!SearchCustomEmojiRequest.__init__c                 C   s   d| j | jdS )NrQ  r  r  r@   r:   r:   r;   r?     s    z SearchCustomEmojiRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrA   s   ,rB   r  r@   r:   r:   r;   rD     s
    
zSearchCustomEmojiRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r:   r:   r;   rN   "  s    z$SearchCustomEmojiRequest.from_readerNr  r:   r:   r:   r;   rQ  	  s   rQ  c                   @   sH   e Zd ZdZdZdeeee dddZ	dd Z
d	d
 Zedd ZdS )SearchEmojiStickerSetsRequestl   LIh% aNr  r   exclude_featuredc                 C   s   || _ || _|| _dS zw
        :returns messages.FoundStickerSets: Instance of either FoundStickerSetsNotModified, FoundStickerSets.
        NrT  r9   r  r   rU  r:   r:   r;   r<   -  s    z&SearchEmojiStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )NrR  r=   r  r   rU  rT  r@   r:   r:   r;   r?   5  s
    z%SearchEmojiStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd ks | jdkr$dnd| | jtd| jfS )NrA   s   LIri   Fr   rj   rB   rC   rF   rG   rU  rE   r  r   r@   r:   r:   r;   rD   =  s    "
z$SearchEmojiStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS Nrj   rT  rp   rq   rr   rJ   rK   rL   rs   Z_exclude_featuredr  r   r:   r:   r;   rN   E  s
    z)SearchEmojiStickerSetsRequest.from_reader)NrP   rQ   rR   rS   rT   rx   rV   r   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   rR  )  s   rR  c                   @   sv   e Zd ZdZdZdedee ee edeeee	 ee	 ee	 ee dddZ
d	d
 Zdd Zdd Zedd ZdS )SearchGlobalRequestiXKr;  Nr'   r   r  r  r  r  offset_rater  r  r  broadcasts_onlygroups_only
users_onlyr  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r?  r_  )r9   r  r  r  r  r`  r  r  r  ra  rb  rc  r  r:   r:   r;   r<   S  s    zSearchGlobalRequest.__init__c                    s   | || jI d H | _d S r`   r  rd   r:   r:   r;   rg   d  s    zSearchGlobalRequest.resolvec                 C   sd   d| j t| jtr| j n| j| j| j| jt| jtrB| j n| j| j	| j
| j| j| j| jdS )Nr^  )r=   r  r  r  r  r`  r  r  r  ra  rb  rc  r  )r  r>   r  r   r?   r  r  r`  r  r  r  ra  rb  rc  r  r@   r:   r:   r;   r?   g  s    zSearchGlobalRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdntd
| j| | j| j	
 | | j| | jtd
| j| j
 td
| jtd
| jfS )NrA   s   XKri   Fr   rk   rl   r  rj   rm   )rC   rF   rG   ra  rb  rc  r  rE   r  r  rD   r  r  r  r`  r  r  r  r@   r:   r:   r;   rD   x  s    v$


zSearchGlobalRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }|d@ r>|  }nd }| }| }| }	| }
|  }| }|  }|  }| |||	|
||||||||dS )Nrk   rl   r  rj   r_  )rp   rq   rr   rH   r  )rK   rL   rs   Z_broadcasts_onlyZ_groups_onlyZ_users_onlyr  r  r  r
  r  Z_offset_rater  r  r  r:   r:   r;   rN     s     
zSearchGlobalRequest.from_reader)NNNN)rP   rQ   rR   rS   rT   rx   r   r	   rV   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r^  O  s   >r^  c                   @   sB   e Zd ZdZdZededddZdd Zd	d
 Z	e
dd ZdS )SearchSentMediaRequesti1~r;  r'   r  r  r  c                 C   s   || _ || _|| _dS r?  re  )r9   r  r  r  r:   r:   r;   r<     s    zSearchSentMediaRequest.__init__c                 C   s*   d| j t| jtr| j n| j| jdS )Nrd  )r=   r  r  r  )r  r>   r  r   r?   r  r@   r:   r:   r;   r?     s
    zSearchSentMediaRequest.to_dictc              	   C   s*   d d| | j| j td| jfS )NrA   s   1~rm   )rC   rE   r  r  rD   rF   rG   r  r@   r:   r:   r;   rD     s    
zSearchSentMediaRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nre  )rr   rH   rp   )rK   rL   r  r  r  r:   r:   r;   rN     s    z"SearchSentMediaRequest.from_readerNr  r:   r:   r:   r;   rd    s   rd  c                   @   sH   e Zd ZdZdZdeeee dddZ	dd Z
d	d
 Zedd ZdS )SearchStickerSetsRequesti[p5rS  NrT  c                 C   s   || _ || _|| _dS rV  rT  rW  r:   r:   r;   r<     s    z!SearchStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nrf  rX  rT  r@   r:   r:   r;   r?     s
    z SearchStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd ks | jdkr$dnd| | jtd| jfS )NrA   s   [p5ri   Fr   rj   rB   rY  r@   r:   r:   r;   rD     s    "
zSearchStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS rZ  r[  r\  r:   r:   r;   rN     s
    z$SearchStickerSetsRequest.from_reader)Nr]  r:   r:   r:   r;   rf    s   rf  c                	   @   sT   e Zd ZdZdZd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 )SearchStickersRequestijƱ)iQ!@Nr  r  r  rF  r  r   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zn
        :returns messages.FoundStickers: Instance of either FoundStickersNotModified, FoundStickers.
        Nrh  )r9   r  r  r  rF  r  r   r  r:   r:   r;   r<     s    zSearchStickersRequest.__init__c              	   C   s:   d| j | j| jd krg n| jd d  | j| j| j| jdS )Nrg  )r=   r  r  r  rF  r  r   r  rh  r@   r:   r:   r;   r?     s    zSearchStickersRequest.to_dictc                    s   d dtd jd ks  jdkr$dnd  j  jdtdt jd  fd	d
 jD td j	td j
td jf
S )NrA   s   jƱ)ri   Fr   rj   r   rm   c                 3   s   | ]}  |V  qd S r`   r"  r   r@   r:   r;   r   	  s     z/SearchStickersRequest._bytes.<locals>.<genexpr>rB   )rC   rF   rG   r  rE   r  r  r   r  rF  r  r   r@   r:   r@   r;   rD     s    "

  zSearchStickersRequest._bytesc              	   C   s   |  }t|d@ }| }| }|   g }t|  D ]}| }|| q<|  }	|  }
| }| ||||	|
||dS )Nrj   rh  )rp   rq   rr   r   r   rJ   )rK   rL   rs   r  r  r  r  r=   r   rJ  r  r   r:   r:   r;   rN     s    z!SearchStickersRequest.from_reader)N)rP   rQ   rR   rS   rT   rx   r   rV   r   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   rg    s   $rg  c                   @   sP   e Zd ZdZdZdeeed dddZdd Zd	d
 Z	dd Z
edd ZdS )SendBotRequestedPeerRequestl   `Pe# r   r   r5   r\   r]   requested_peersc                 C   s   || _ || _|| _|| _dS r   rj  )r9   r5   r\   r]   rk  r:   r:   r;   r<   &  s    z$SendBotRequestedPeerRequest.__init__c                    sP   | || jI d H | _g }| jD ] }|| ||I d H  q$|| _d S r`   )rb   rc   r5   rk  r   r   r:   r:   r;   rg   /  s
    
z#SendBotRequestedPeerRequest.resolvec                 C   sF   dt | jtr| j n| j| j| j| jd kr2g ndd | jD dS )Nri  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   =  s     z7SendBotRequestedPeerRequest.to_dict.<locals>.<listcomp>)r=   r5   r\   r]   rk  )r>   r5   r   r?   r\   r]   rk  r@   r:   r:   r;   r?   7  s    z#SendBotRequestedPeerRequest.to_dictc                 C   sR   d d| j td| jtd| jdtdt| jd dd | jD fS )NrA   s   `вrm   r   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   F  s     z5SendBotRequestedPeerRequest._bytes.<locals>.<genexpr>)	rC   r5   rD   rF   rG   r\   r]   r   rk  r@   r:   r:   r;   rD   @  s      z"SendBotRequestedPeerRequest._bytesc                 C   sX   |  }| }| }|  g }t| D ]}|  }|| q0| ||||dS )Nrj  r   )rK   rL   rM   ru   rv   Z_requested_peersr=   r   r:   r:   r;   rN   I  s    z'SendBotRequestedPeerRequest.from_readerNr   r:   r:   r:   r;   ri  "  s   			ri  c                   @   sJ   e Zd ZdZdZddeee edddZ	dd	 Z
d
d Zedd ZdS )SendEncryptedRequestizD   P>< Nr   r5   r  r  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS zu
        :returns messages.SentEncryptedMessage: Instance of either SentEncryptedMessage, SentEncryptedFile.
        Nr  r   Tr   )r5   r  r  rV   r   r   r   r   )r9   r5   r  r  r   r:   r:   r;   r<   [  s    zSendEncryptedRequest.__init__c                 C   s.   dt | jtr| j n| j| j| j| jdS )Nrl  )r=   r5   r  r  r   )r>   r5   r   r?   r  r  r   r@   r:   r:   r;   r?   d  s    zSendEncryptedRequest.to_dictc              	   C   sL   d dtd| jd ks | jdkr$dnd| j td| j| | jfS )NrA   s   zDri   Fr   rj   rB   )	rC   rF   rG   r  r5   rD   r   rE   r  r@   r:   r:   r;   rD   m  s    "
zSendEncryptedRequest._bytesc                 C   s<   |  }t|d@ }| }| }| }| ||||dS )Nrj   rn  rp   rq   rH   rJ   rI   )rK   rL   rs   r  rM   r   r  r:   r:   r;   rN   v  s    z SendEncryptedRequest.from_reader)NNrP   rQ   rR   rS   rT   rU   r   rq   rV   r<   r?   rD   rW   rN   r:   r:   r:   r;   rl  W  s   			rl  c                   @   sL   e Zd ZdZdZddedee edddZ	d	d
 Z
dd Zedd ZdS )SendEncryptedFileRequestiHYUrm  Nr   r   r5   r  r  r  r   c                 C   s@   || _ || _|| _|| _|dk	r$|ntjtdddd| _dS ro  )	r5   r  r  r  rV   r   r   r   r   )r9   r5   r  r  r  r   r:   r:   r;   r<     s
    z!SendEncryptedFileRequest.__init__c                 C   sH   dt | jtr| j n| j| jt | jtr6| j n| j| j| jdS )Nrr  )r=   r5   r  r  r  r   )r>   r5   r   r?   r  r  r  r   r@   r:   r:   r;   r?     s    z SendEncryptedFileRequest.to_dictc              	   C   sT   d dtd| jd ks | jdkr$dnd| j td| j| | j| j	 fS )NrA   s   HYUri   Fr   rj   rB   )
rC   rF   rG   r  r5   rD   r   rE   r  r  r@   r:   r:   r;   rD     s    "
zSendEncryptedFileRequest._bytesc                 C   sF   |  }t|d@ }| }| }| }| }| |||||dS )Nrj   rs  rp  )rK   rL   rs   r  rM   r   r  r  r:   r:   r;   rN     s    z$SendEncryptedFileRequest.from_reader)NNrq  r:   r:   r:   r;   rr    s   


rr  c                   @   sD   e Zd ZdZdZddeedddZdd	 Zd
d Z	e
dd ZdS )SendEncryptedServiceRequesti92rm  Nr   r5   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS ro  )r5   r  rV   r   r   r   r   )r9   r5   r  r   r:   r:   r;   r<     s    z$SendEncryptedServiceRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nrt  )r=   r5   r  r   )r>   r5   r   r?   r  r   r@   r:   r:   r;   r?     s
    z#SendEncryptedServiceRequest.to_dictc                 C   s*   d d| j td| j| | jfS )NrA   s   92rB   )rC   r5   rD   rF   rG   r   rE   r  r@   r:   r:   r;   rD     s    
z"SendEncryptedServiceRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nru  )rH   rJ   rI   )rK   rL   rM   r   r  r:   r:   r;   rN     s    z'SendEncryptedServiceRequest.from_reader)NrO   r:   r:   r:   r;   rt    s   rt  c                   @   s   e Zd ZdZdZddeeee ee ee ee ed eee	 ed ed ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SendInlineBotResultRequestl   Fv r   Nr   r    r   r5   r  r  r  r  clear_drafthide_viar  r   rn  r  r  r  c                 C   sp   || _ || _|| _|| _|| _|| _|| _|| _|	dk	r<|	ntj	t
dddd| _|
| _|| _|| _|| _dS r   Nr  r   Tr   )r5   r  r  r  r  rx  ry  r  rV   r   r   r   r   rn  r  r  r  )r9   r5   r  r  r  r  rx  ry  r  r   rn  r  r  r  r:   r:   r;   r<     s    $z#SendInlineBotResultRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r;  rd   r:   r:   r;   rg     s    z"SendInlineBotResultRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| j| j| j	t | j
trJ| j
 n| j
| j| jt | jtrl| j n| jt | jtr| j n| j| jdS )Nrv  )r=   r5   r  r  r  r  rx  ry  r  r   rn  r  r  r  )r>   r5   r   r?   r  r  r  r  rx  ry  r  r   rn  r  r  r  r@   r:   r:   r;   r?     s    z"SendInlineBotResultRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | j | jd ks,| jdkr0dn| j td| jtd| j| | j| jd ksr| jdkrvdn
| | j| j	d ks| j	dkrdn| j	 | j
d ks| j
dkrdn| j
 | jd ks| jdkrdntd| jfS )NrA   s   Fvri   Fr   rz  r  r%  re  rj   r  r  rr  r  rB   )rC   rF   rG   r  r  rx  ry  r  rn  r  r  r  r5   rD   r   r  rE   r  r  r@   r:   r:   r;   rD      s     $
&$$(z!SendInlineBotResultRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }|d@ rR| }nd }| }	| }
| }|d@ r| }nd }|d@ r| }nd }|d@ r| }nd }|d	@ r| }nd }| ||
|||||||	||||d
S )Nrz  r  r%  re  rj   r  r  rr  r  rw  )rp   rq   rH   rJ   rr   r  )rK   rL   rs   r  r  _clear_draftZ	_hide_viarM   r  r   r  r  rs  r  r  r  r:   r:   r;   rN     s2    




z&SendInlineBotResultRequest.from_reader)
NNNNNNNNNN)rP   rQ   rR   rS   rT   rV   rx   r   rq   r	   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   rv    s   Lrv  c                   @   s   e Zd ZdZdZdddeee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed	 ee ee ed
 dddZdd Zdd Zdd Zedd ZdS )SendMediaRequestl   YX r   Nr   r   r    r*   r&   r   r.   r5   r   r`  r  r  rx  r  update_stickersets_orderr_  r  r  r   ra  rb  rn  r  r  r>  r  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _|| _dS rz  )r5   r   r`  r  r  rx  r  r~  r_  r  r  rV   r   r   r   r   ra  rb  rn  r  r  r>  r  r  )r9   r5   r   r`  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  r:   r:   r;   r<   6  s(    $zSendMediaRequest.__init__c                    sL   | || jI d H | _|| j| _| jrH| || jI d H | _d S r`   )rb   rc   r5   rc  r   r  rd   r:   r:   r;   rg   O  s    zSendMediaRequest.resolvec                 C   s  dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
| j| jt | jtrl| j n| j| jt | jtr| j n| j| jd krg ndd | jD | jt | jtr| j n| jt | jtr| j n| j| j| jt | jtr| j n| jdS )Nr|  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   e  s     z,SendMediaRequest.to_dict.<locals>.<listcomp>)r=   r5   r   r`  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  )r>   r5   r   r?   r   r`  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  r@   r:   r:   r;   r?   U  s,    zSendMediaRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j | j
d ks| j
dkrdn| j
 | j | | jtd| j| jd ksN| jdkrRdn| j | jd ksr| jdkrvdn.d dtdt| jd dd | jD f| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkr
dn| j | jd ks*| jdkr.dntd| j| jd ksR| jdkrVdntd| j| jd ksz| jdkr~dn| j fS )NrA   s   Uri   Fr   rz  r  r%  rf  rq  rd  r  rj   rl   r  r  r  rr     r  r  rB   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   x  s     z*SendMediaRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r  rx  r  r~  r_  r  r  ra  rb  rn  r  r  r>  r  r  r5   rD   r   rE   r`  r   r   r  r@   r:   r:   r;   rD   n  s$     $
$J&$$(($zSendMediaRequest._bytesc                 C   s  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|d@ rv| }nd }| }| }| }|d	@ r| }nd }|d
@ r|   g }t|  D ]}| }|| qnd }|d@ r| }nd }|d@ r| }nd }|d@ r(| }nd }|d@ r@| }nd }|d@ rX| }nd }|d@ rp| }nd }| |
|||||||||	||||||||||dS )Nrz  r  r%  rf  rq  rd  r  rj   rl   r  r  r  rr  r  r  r  r}  rp   rq   rH   rr   rJ   r   r   r  )rK   rL   rs   r  r  r{  r  _update_stickersets_orderrh  r  rM   r  r   ri  r   rj  rk  r=   r   rs  r  r  r?  r  r  r:   r:   r;   rN     sX    












zSendMediaRequest.from_reader)NNNNNNNNNNNNNNNNNrP   rQ   rR   rS   rT   rx   r   rq   rV   r   r	   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r|  2  s   zr|  c                   @   s   e Zd ZdZdZddeee ee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed ee ee ed	 d
ddZdd Zdd Zdd Zedd ZdS )SendMessageRequestl   \| r   Nr   r    r*   r&   r   r.   r5   r`  r^  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _|| _dS rz  )r5   r`  r^  r  r  rx  r  r~  r_  r  r  rV   r   r   r   r   ra  rb  rn  r  r  r>  r  r  )r9   r5   r`  r^  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  r:   r:   r;   r<     s(    $zSendMessageRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r;  rd   r:   r:   r;   rg     s    zSendMessageRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| j| j| j	| j
| j| jt | jtrV| j n| j| jt | jtrt| j n| j| jd krg ndd | jD | jt | jtr| j n| jt | jtr| j n| j| j| jt | jtr| j n| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r     s     z.SendMessageRequest.to_dict.<locals>.<listcomp>)r=   r5   r`  r^  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  )r>   r5   r   r?   r`  r^  r  r  rx  r  r~  r_  r  r  r   ra  rb  rn  r  r  r>  r  r  r@   r:   r:   r;   r?     s,    zSendMessageRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j | jd ks,| jdkr0dn| j | | jtd| j| jd ksf| jdkrjdn| j | jd ks| jdkrdn.d dtdt| jd dd | jD f| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkr"dn| j | jd ksB| jdkrFdntd| j| jd ksj| jdkrndntd| j| jd ks| jdkrdn| j fS )NrA   s   ri   Fr   rk   rz  r  r%  rf  rq  rd  r  rj   rl   r  r  r  rr  r  r  r  rB   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r      s     z,SendMessageRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r^  r  r  rx  r  r~  r_  r  r  ra  rb  rn  r  r  r>  r  r  r5   rD   rE   r`  r   r   r  r@   r:   r:   r;   rD     s$      $
$J&$$(($zSendMessageRequest._bytesc                 C   s  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	t|d@ }
| }|d	@ r| }nd }| }| }|d
@ r| }nd }|d@ r|   g }t|  D ]}| }|| qnd }|d@ r| }nd }|d@ r| }nd }|d@ r,| }nd }|d@ rD| }nd }|d@ r\| }nd }|d@ rt| }nd }| |||||||||	|
||||||||||dS )Nrk   rz  r  r%  rf  rq  rd  r  rj   rl   r  r  r  rr  r  r  r  r  r  )rK   rL   rs   rg  r  r  r{  r  r  rh  r  rM   r  ri  r   rj  rk  r=   r   rs  r  r  r?  r  r  r:   r:   r;   rN   	  sX    












zSendMessageRequest.from_reader)NNNNNNNNNNNNNNNNNNr  r:   r:   r:   r;   r    s   ~r  c                   @   s   e Zd ZdZdZdded ee ee ee ee ee ee ee ed ee ed ed ee	 ee	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SendMultiMediaRequestitr   Nr   r!   r    r   r5   multi_mediar  r  rx  r  r~  r_  r  r  rn  r  r  r>  r  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r   r  )r9   r5   r  r  r  rx  r  r~  r_  r  r  rn  r  r  r>  r  r:   r:   r;   r<   H  s    zSendMultiMediaRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r;  rd   r:   r:   r;   rg   \  s    zSendMultiMediaRequest.resolvec                 C   s   dt | jtr| j n| j| jd kr*g ndd | jD | j| j| j| j| j	| j
| jt | jtrj| j n| j| jt | jtr| j n| jt | jtr| j n| j| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   e  s     z1SendMultiMediaRequest.to_dict.<locals>.<listcomp>)r=   r5   r  r  r  rx  r  r~  r_  r  r  rn  r  r  r>  r  )r>   r5   r   r?   r  r  r  rx  r  r~  r_  r  r  rn  r  r  r>  r  r@   r:   r:   r;   r?   a  s"    zSendMultiMediaRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | j | j
d ks| j
dkrdn| j
 dtdt| jd dd | jD | jd ks| jdkrdn
| | j| jd ks| jdkr dn| j | jd ks@| jdkrDdn| j | jd ksd| jdkrhdntd| j| jd ks| jdkrdntd| jfS )NrA   s   tri   Fr   rz  r  r%  rf  rq  rd  r  rj   r  r  rr  r  r  r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   {  s     z/SendMultiMediaRequest._bytes.<locals>.<genexpr>rB   )rC   rF   rG   r  r  rx  r  r~  r_  r  r  rn  r  r  r>  r  r5   rD   r   r  r  r@   r:   r:   r;   rD   u  s     $  &$$((zSendMultiMediaRequest._bytesc                 C   s@  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|d@ rv| }nd }|   g }t|  D ]}| }|| q|d	@ r| }nd }|d
@ r| }nd }|d@ r| }nd }|d@ r| }nd }|d@ r| }nd }| |
||||||||	||||||dS )Nrz  r  r%  rf  rq  rd  r  rj   r  r  rr  r  r  r  )rp   rq   rH   r   r   r  rJ   )rK   rL   rs   r  r  r{  r  r  rh  r  rM   r  Z_multi_mediar=   r   rs  r  r  r?  r  r:   r:   r;   rN     sB    






z!SendMultiMediaRequest.from_reader)NNNNNNNNNNNNN)rP   rQ   rR   rS   rT   r   r   rq   r	   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  D  s   dr  c                   @   sT   e Zd ZdZdZddeeeed dddZd	d
 Zdd Z	dd Z
edd ZdS )SendPaidReactionRequestiP˻Xr   Nr   r(   r5   r\   countr   privatec                 C   s@   || _ || _|| _|dk	r|ntjtdddd| _|| _dS rz  )	r5   r\   r  rV   r   r   r   r   r  )r9   r5   r\   r  r   r  r:   r:   r;   r<     s
    $z SendPaidReactionRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zSendPaidReactionRequest.resolvec                 C   sH   dt | jtr| j n| j| j| j| jt | jtr>| j n| jdS )Nr  )r=   r5   r\   r  r   r  )r>   r5   r   r?   r\   r  r   r  r@   r:   r:   r;   r?     s    zSendPaidReactionRequest.to_dictc                 C   sz   d dtd| jd ks | jdkr$dnd| j td| jtd| jtd| j| jd ksh| jdkrldn| j fS )	NrA   s   P˻Xri   Fr   rj   rm   rB   )	rC   rF   rG   r  r5   rD   r\   r  r   r@   r:   r:   r;   rD     s    " zSendPaidReactionRequest._bytesc                 C   sP   |  }| }|  }|  }| }|d@ r:| }nd }| |||||dS )Nrj   r  r  )rK   rL   rs   rM   ru   _countr   _privater:   r:   r;   rN     s    
z#SendPaidReactionRequest.from_reader)NNr  r:   r:   r:   r;   r    s   

r  c                   @   sV   e Zd ZdZdZddeee ee dddZdd	 Zd
d Z	dd Z
edd ZdS )SendQuickReplyMessagesRequestiulr   Nr   r5   r  r  r   c                 C   s:   || _ || _|| _|dk	r|ndd tt|D | _dS )r   Nc                 S   s"   g | ]}t jtd dddqS r  r  r  r:   r:   r;   r     s     z:SendQuickReplyMessagesRequest.__init__.<locals>.<listcomp>)r5   r  r  r   r   r   )r9   r5   r  r  r   r:   r:   r;   r<     s    z&SendQuickReplyMessagesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z%SendQuickReplyMessagesRequest.resolvec                 C   sZ   dt | jtr| j n| j| j| jd kr.g n| jd d  | jd krHg n| jd d  dS )Nr  )r=   r5   r  r  r   )r>   r5   r   r?   r  r  r   r@   r:   r:   r;   r?     s    z%SendQuickReplyMessagesRequest.to_dictc                 C   sl   d d| j td| jdtdt| jd dd | jD dtdt| jd dd | jD f	S )NrA   s   ulrm   r   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     z7SendQuickReplyMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r     s     )	rC   r5   rD   rF   rG   r  r   r  r   r@   r:   r:   r;   rD     s        z$SendQuickReplyMessagesRequest._bytesc                 C   s   |  }| }|  g }t| D ]}| }|| q(|  g }t| D ]}| }|| qX| ||||dS )Nr  )rH   rp   r   r   rJ   )rK   rL   rM   r  r  r=   r   r   r:   r:   r;   rN     s    z)SendQuickReplyMessagesRequest.from_reader)Nr   r:   r:   r:   r;   r    s   			r  c                   @   s`   e Zd ZdZdZddeee ee eed  dddZ	d	d
 Z
dd Zdd Zedd ZdS )SendReactionRequestl   x& r   Nr   r)   r5   r\   r   add_to_recentrQ  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r9   r5   r\   r   r  rQ  r:   r:   r;   r<     s
    zSendReactionRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   (  s    zSendReactionRequest.resolvec                 C   sJ   dt | jtr| j n| j| j| j| j| jd kr6g ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   2  s     z/SendReactionRequest.to_dict.<locals>.<listcomp>)r=   r5   r\   r   r  rQ  )r>   r5   r   r?   r\   r   r  rQ  r@   r:   r:   r;   r?   +  s    zSendReactionRequest.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 | j td	| j| jd ks| jdkrdn.d d
td	t	| jd dd | jD ffS )NrA   s   xri   Fr   rk   rl   rj   rm   r   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   ;  s     z-SendReactionRequest._bytes.<locals>.<genexpr>)
rC   rF   rG   r   r  rQ  r5   rD   r\   r   r@   r:   r:   r;   rD   5  s    ZFzSendReactionRequest._bytesc           
      C   s   |  }t|d@ }t|d@ }| }|  }|d@ rj|   g }t|  D ]}| }	||	 qPnd }| |||||dS )Nrk   rl   rj   r  r  )
rK   rL   rs   Z_bigZ_add_to_recentrM   ru   rR  r=   r   r:   r:   r;   rN   >  s    zSendReactionRequest.from_reader)NNN)rP   rQ   rR   rS   rT   rV   r   rq   r   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   (

	r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )SendScheduledMessagesRequestl   
qz r   r   r,  c                 C   s   || _ || _dS r   r,  r-  r:   r:   r;   r<   V  s    z%SendScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   ]  s    z$SendScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r.  r/  r@   r:   r:   r;   r?   `  s    z$SendScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrA   s   
8r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   k  s     z6SendScheduledMessagesRequest._bytes.<locals>.<genexpr>r0  r@   r:   r:   r;   rD   g  s      z#SendScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r1  r   r2  r:   r:   r;   rN   n  s    z(SendScheduledMessagesRequest.from_readerNr3  r:   r:   r:   r;   r  R  s   r  c                   @   sL   e Zd ZdZdZdddedddZd	d
 Zdd Zdd Z	e
dd ZdS )!SendScreenshotNotificationRequestl   XB r   Nr   r    r5   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS rz  )r5   r  rV   r   r   r   r   )r9   r5   r  r   r:   r:   r;   r<   ~  s    z*SendScreenshotNotificationRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    z)SendScreenshotNotificationRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r=   r5   r  r   )r>   r5   r   r?   r  r   r@   r:   r:   r;   r?     s
    z)SendScreenshotNotificationRequest.to_dictc              	   C   s(   d d| j | j td| jfS )NrA   s   X@rB   )rC   r5   rD   r  rF   rG   r   r@   r:   r:   r;   rD     s    z(SendScreenshotNotificationRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rK   rL   rM   r  r   r:   r:   r;   rN     s    z-SendScreenshotNotificationRequest.from_reader)Nr   r:   r:   r:   r;   r  z  s   r  c                   @   sN   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
dd Zedd ZdS )SendVoteRequestiar   r   r5   r\   optionsc                 C   s   || _ || _|| _dS r   r  )r9   r5   r\   r  r:   r:   r;   r<     s    zSendVoteRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg     s    zSendVoteRequest.resolvec                 C   s@   dt | jtr| j n| j| j| jd kr.g n| jd d  dS )Nr  )r=   r5   r\   r  )r>   r5   r   r?   r\   r  r@   r:   r:   r;   r?     s
    zSendVoteRequest.to_dictc                    sJ   d d j td jdtdt jd  fdd jD fS )NrA   s   arm   r   c                 3   s   | ]}  |V  qd S r`   r"  r   r@   r:   r;   r     s     z)SendVoteRequest._bytes.<locals>.<genexpr>)rC   r5   rD   rF   rG   r\   r   r  r@   r:   r@   r;   rD     s      zSendVoteRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}| }|| q(| |||dS )Nr  )rH   rp   r   rI   r   )rK   rL   rM   ru   _optionsr=   r   r:   r:   r;   rN     s    zSendVoteRequest.from_readerN)rP   rQ   rR   rS   rT   rV   r   rU   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   r  c                   @   sN   e Zd ZdZdZddeeedddZdd	 Zd
d Z	dd Z
edd ZdS )SendWebViewDataRequestl   B8 r   Nr$   r  button_textr  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS rz  )r  r  r  rV   r   r   r   r   )r9   r  r  r  r   r:   r:   r;   r<     s    zSendWebViewDataRequest.__init__c                    s   | || jI d H | _d S r`   r  rd   r:   r:   r;   rg     s    zSendWebViewDataRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r=   r  r  r  r   )r>   r  r   r?   r  r  r   r@   r:   r:   r;   r?     s    zSendWebViewDataRequest.to_dictc              	   C   s4   d d| j td| j| | j| | jfS )NrA   s   BrB   )	rC   r  rD   rF   rG   r   rE   r  r  r@   r:   r:   r;   rD     s    

zSendWebViewDataRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  rH   rJ   rr   )rK   rL   r  r   Z_button_textr  r:   r:   r;   rN     s
    z"SendWebViewDataRequest.from_reader)NrP   rQ   rR   rS   rT   rx   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r    s   			r  c                   @   s@   e Zd ZdZdZeddddZdd Zd	d
 Ze	dd Z
dS )SendWebViewResultMessageRequestiC
iur   bot_query_idrF  c                 C   s   || _ || _dS )zN
        :returns WebViewMessageSent: Instance of WebViewMessageSent.
        Nr  )r9   r  rF  r:   r:   r;   r<     s    z(SendWebViewResultMessageRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r=   r  rF  )r  r>   rF  r   r?   r@   r:   r:   r;   r?      s    z'SendWebViewResultMessageRequest.to_dictc                 C   s   d d| | j| j fS )NrA   s   C
)rC   rE   r  rF  rD   r@   r:   r:   r;   rD   
   s
    
z&SendWebViewResultMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rr   rH   )rK   rL   Z_bot_query_idrH  r:   r:   r;   rN      s    z+SendWebViewResultMessageRequest.from_readerNr   r:   r:   r:   r;   r    s   r  c                   @   sT   e Zd ZdZdZdeeee ee ee dddZ	dd Z
d	d
 Zedd ZdS )SetBotCallbackAnswerRequestl   
+ r   Nr  
cache_timealertr`  r^   c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r9   r  r  r  r`  r^   r:   r:   r;   r<      s
    z$SetBotCallbackAnswerRequest.__init__c                 C   s   d| j | j| j| j| jdS )Nr  )r=   r  r  r  r`  r^   r  r@   r:   r:   r;   r?   &   s    z#SetBotCallbackAnswerRequest.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rdn
| | j| jd ks| jdkrdn
| | jtd
| jfS )NrA   s   
ri   Fr   rk   rj   rl   rB   rm   )	rC   rF   rG   r  r`  r^   r  rE   r  r@   r:   r:   r;   rD   0   s    Z""z"SetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|d@ r.| }nd }|d@ rD| }nd }|  }| |||||dS )Nrk   rj   rl   r  rp   rq   rJ   rr   )rK   rL   rs   Z_alertr  ri  rw   _cache_timer:   r:   r;   rN   :   s    

z'SetBotCallbackAnswerRequest.from_reader)NNNrP   rQ   rR   rS   rT   rV   r   rq   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   r     s   $


r  c                   @   sL   e Zd ZdZdZdeee ee dddZ	dd Z
d	d
 Zedd ZdS )SetBotPrecheckoutResultsRequesti	r   Nr  successerrorc                 C   s   || _ || _|| _dS r   r  )r9   r  r  r  r:   r:   r;   r<   P   s    z(SetBotPrecheckoutResultsRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r=   r  r  r  r  r@   r:   r:   r;   r?   X   s
    z'SetBotPrecheckoutResultsRequest.to_dictc              	   C   sx   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 td| j| jd ksd| jdkrhdn
| | jfS )	NrA   s   	ri   Fr   rk   rj   rB   )rC   rF   rG   r  r  r  rE   r@   r:   r:   r;   rD   `   s    >"z&SetBotPrecheckoutResultsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nrk   rj   r  r  )rK   rL   rs   Z_successr  _errorr:   r:   r;   rN   h   s    
z+SetBotPrecheckoutResultsRequest.from_reader)NNr  r:   r:   r:   r;   r  L   s   r  c                   @   sP   e Zd ZdZdZdeee eed  dddZ	dd	 Z
d
d Zedd ZdS )SetBotShippingResultsRequestl   rK r   Nr,   r  r  shipping_optionsc                 C   s   || _ || _|| _dS r   r  )r9   r  r  r  r:   r:   r;   r<   y   s    z%SetBotShippingResultsRequest.__init__c                 C   s,   d| j | j| jd krg ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r      s     z8SetBotShippingResultsRequest.to_dict.<locals>.<listcomp>)r=   r  r  r  r  r@   r:   r:   r;   r?      s
    z$SetBotShippingResultsRequest.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 td| j| jd ksd| jdkrhdn
| | j| jd ks| jdkrdn.d d	td
t| jd dd | jD ffS )NrA   s   rri   Fr   rj   rk   rB   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r      s     z6SetBotShippingResultsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r  r  rE   r   r@   r:   r:   r;   rD      s    >"Fz#SetBotShippingResultsRequest._bytesc                 C   sr   |  }| }|d@ r"| }nd }|d@ r`|   g }t|  D ]}| }|| qFnd }| |||dS )Nrj   rk   r  )rp   rJ   rr   r   rH   r   )rK   rL   rs   r  r  Z_shipping_optionsr=   r   r:   r:   r;   rN      s    
z(SetBotShippingResultsRequest.from_reader)NN)rP   rQ   rR   rS   rT   rV   r   rx   r   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  u   s    	r  c                   @   sV   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 ) SetChatAvailableReactionsRequestl   % r   Nr   r   r5   available_reactionsreactions_limitpaid_enabledc                 C   s   || _ || _|| _|| _dS r   r  )r9   r5   r  r  r  r:   r:   r;   r<      s    z)SetChatAvailableReactionsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg      s    z(SetChatAvailableReactionsRequest.resolvec                 C   sD   dt | jtr| j n| jt | jtr2| j n| j| j| jdS )Nr  )r=   r5   r  r  r  )r>   r5   r   r?   r  r  r  r@   r:   r:   r;   r?      s    z(SetChatAvailableReactionsRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd kr4dndB | j | j | jd ks^| jdkrbdntd| j| jd kr|dn| jrd	nd
fS )NrA   s   %Kri   Fr   rj   rk   rm   r>  r?  )rC   rF   rG   r  r  r5   rD   r  r@   r:   r:   r;   rD      s    4$z'SetChatAvailableReactionsRequest._bytesc                 C   sT   |  }| }| }|d@ r*|  }nd }|d@ r@| }nd }| ||||dS )Nrj   rk   r  )rp   rH   r@  )rK   rL   rs   rM   Z_available_reactionsZ_reactions_limitZ_paid_enabledr:   r:   r;   rN      s    

z,SetChatAvailableReactionsRequest.from_reader)NN)rP   rQ   rR   rS   rT   r   rV   rq   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r     s   		
r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SetChatThemeRequestl   ?awL r   r   r5   r  c                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<      s    zSetChatThemeRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg      s    zSetChatThemeRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?      s    zSetChatThemeRequest.to_dictc                 C   s   d d| j | | jfS )NrA   s   ?;)rC   r5   rD   rE   r  r@   r:   r:   r;   rD      s
    
zSetChatThemeRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rK   rL   rM   r  r:   r:   r;   rN      s    zSetChatThemeRequest.from_readerNr   r:   r:   r:   r;   r     s   r  c                   @   sf   e Zd ZdZdZddee ee ed ed ee ddd	Zd
d Z	dd Z
dd Zedd ZdS )SetChatWallPaperRequestl   J r   Nr   r%   r1   r5   for_bothrevert	wallpapersettingsr  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r9   r5   r  r  r  r  r  r:   r:   r;   r<   !  s    z SetChatWallPaperRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   !  s    zSetChatWallPaperRequest.resolvec                 C   sb   dt | jtr| j n| j| j| jt | jtr:| j n| jt | jtrT| j n| j| jdS )Nr  )r=   r5   r  r  r  r  r  )	r>   r5   r   r?   r  r  r  r  r  r@   r:   r:   r;   r?   !  s    zSetChatWallPaperRequest.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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | j	 | jd ks| jdkrdn| j	 | jd ks| jdkrdn| j	 | jd ks| jdkrdntd| jfS )NrA   s   ri   Fr   r  rS  rj   rl   rk   rm   )
rC   rF   rG   r  r  r  r  r  r5   rD   r@   r:   r:   r;   rD   !  s      $zSetChatWallPaperRequest._bytesc           	      C   s~   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }|d@ rf|  }nd }| ||||||dS )Nr  rS  rj   rl   rk   r  r  )	rK   rL   rs   Z	_for_bothZ_revertrM   Z
_wallpaperZ	_settingsr  r:   r:   r;   rN   %!  s    


z#SetChatWallPaperRequest.from_reader)NNNNN)rP   rQ   rR   rS   rT   r   rq   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r     s   .
r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )SetDefaultHistoryTTLRequestl   Ej= r   periodc                 C   s
   || _ dS r   r  )r9   r  r:   r:   r;   r<   ?!  s    z$SetDefaultHistoryTTLRequest.__init__c                 C   s   d| j dS )Nr  )r=   r  r  r@   r:   r:   r;   r?   E!  s    z#SetDefaultHistoryTTLRequest.to_dictc                 C   s   d dtd| jfS )NrA   s   Erm   )rC   rF   rG   r  r@   r:   r:   r;   rD   K!  s    z"SetDefaultHistoryTTLRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rK   rL   _periodr:   r:   r;   rN   Q!  s    z'SetDefaultHistoryTTLRequest.from_readerNr   r:   r:   r:   r;   r  ;!  s   r  c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )SetDefaultReactionRequestiGOr   r)   rQ  c                 C   s
   || _ dS r   r  )r9   rQ  r:   r:   r;   r<   [!  s    z"SetDefaultReactionRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r=   rQ  )r>   rQ  r   r?   r@   r:   r:   r;   r?   a!  s    z!SetDefaultReactionRequest.to_dictc                 C   s   d d| j fS )NrA   s   GO)rC   rQ  rD   r@   r:   r:   r;   rD   g!  s    z SetDefaultReactionRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rK   rL   rR  r:   r:   r;   rN   m!  s    z%SetDefaultReactionRequest.from_readerNr  r:   r:   r:   r;   r  W!  s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )SetEncryptedTypingRequestiQyr   r   r5   typingc                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<   w!  s    z"SetEncryptedTypingRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   ~!  s    z!SetEncryptedTypingRequest.to_dictc                 C   s    d d| j | jrdndfS )NrA   s   Qyr>  r?  )rC   r5   rD   r  r@   r:   r:   r;   rD   !  s
    z SetEncryptedTypingRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rK   rL   rM   _typingr:   r:   r;   rN   !  s    z%SetEncryptedTypingRequest.from_readerNr  r:   r:   r:   r;   r  s!  s   r  c                   @   sZ   e Zd ZdZdZddedeee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetGameScoreRequestl   l r   Nr   r$   r5   r  r}   scoreedit_messager  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r9   r5   r  r}   r  r  r  r:   r:   r;   r<   !  s    zSetGameScoreRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   r9  rd   r:   r:   r;   rg   !  s    zSetGameScoreRequest.resolvec                 C   sL   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| jdS )Nr  )r=   r5   r  r}   r  r  r  )	r>   r5   r   r?   r  r}   r  r  r  r@   r:   r:   r;   r?   !  s    zSetGameScoreRequest.to_dictc                 C   sr   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 td| j| j td| j	fS )	NrA   s   ri   Fr   rj   rk   rm   )
rC   rF   rG   r  r  r5   rD   r  r}   r  r@   r:   r:   r;   rD   !  s    >zSetGameScoreRequest._bytesc           	      C   sT   |  }t|d@ }t|d@ }| }|  }| }|  }| ||||||dS )Nrj   rk   r  r  )	rK   rL   rs   _edit_messager  rM   r  r   _scorer:   r:   r;   rN   !  s    zSetGameScoreRequest.from_reader)NNr   r:   r:   r:   r;   r  !  s   "
r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SetHistoryTTLRequestl   _p r   r   r5   r  c                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<   !  s    zSetHistoryTTLRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   !  s    zSetHistoryTTLRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   !  s    zSetHistoryTTLRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   _rm   )rC   r5   rD   rF   rG   r  r@   r:   r:   r;   rD   !  s
    zSetHistoryTTLRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rK   rL   rM   r  r:   r:   r;   rN   !  s    z SetHistoryTTLRequest.from_readerNr   r:   r:   r:   r;   r  !  s   r  c                
   @   sf   e Zd ZdZdZdeed eee ee ee	 ed ed ddd	Z
d
d Zdd Zedd ZdS )SetInlineBotResultsRequestl   $%v r   Nr   r   r   r  resultsr  galleryr  next_offset	switch_pmswitch_webviewc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r   r  )	r9   r  r  r  r  r  r  r  r  r:   r:   r;   r<   !  s    z#SetInlineBotResultsRequest.__init__c                 C   sl   d| j | jd krg ndd | jD | j| j| j| jt| jtrH| j	 n| jt| j
trb| j
	 n| j
d	S )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r    "  s     z6SetInlineBotResultsRequest.to_dict.<locals>.<listcomp>)	r=   r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r>   r  r   r?   r  r@   r:   r:   r;   r?   !  s    z"SetInlineBotResultsRequest.to_dictc                 C   sF  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 | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B td| jdtdt	| j
d dd | j
D td| j| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks4| jdkr8dn| j f
S )NrA   s   ri   Fr   rj   rk   rl   r  rS  rB   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   "  s     z4SetInlineBotResultsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r  r  r  r  r  r   r  r  rE   rD   r@   r:   r:   r;   rD   	"  s      "$$z!SetInlineBotResultsRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|   g }t|  D ]}| }|| q@|  }	|d@ rr| }
nd }
|d@ r| }nd }|d@ r| }nd }| |||	|||
||dS )Nrj   rk   rl   r  rS  r  )rp   rq   rJ   r   rH   r   rr   )rK   rL   rs   Z_galleryr  r  Z_resultsr=   r   r  Z_next_offsetZ
_switch_pmZ_switch_webviewr:   r:   r;   rN   "  s(    


z&SetInlineBotResultsRequest.from_reader)NNNNN)rP   rQ   rR   rS   rT   rV   r   r   rq   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  !  s   6r  c                   @   sX   e Zd ZdZdZdddeee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetInlineGameScoreRequestidr   Nr   r$   r  r}   r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r9   r  r}   r  r  r  r:   r:   r;   r<   6"  s
    z"SetInlineGameScoreRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   @"  s    z!SetInlineGameScoreRequest.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  r  )r>   r  r   r?   r}   r  r  r  r@   r:   r:   r;   r?   C"  s    z!SetInlineGameScoreRequest.to_dictc              
   C   sf   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 | j td| jfS )	NrA   s   dri   Fr   rj   rk   rm   )	rC   rF   rG   r  r  r  rD   r}   r  r@   r:   r:   r;   rD   M"  s    >z SetInlineGameScoreRequest._bytesc                 C   sJ   |  }t|d@ }t|d@ }| }| }|  }| |||||dS )Nrj   rk   r  r  )rK   rL   rs   r  r  r  r   r  r:   r:   r;   rN   V"  s    z%SetInlineGameScoreRequest.from_reader)NNr   r:   r:   r:   r;   r  2"  s    

	r  c                   @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )SetTypingRequesti>Xr   Nr   r+   r5   actionr  c                 C   s   || _ || _|| _dS r   r  )r9   r5   r  r  r:   r:   r;   r<   f"  s    zSetTypingRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   n"  s    zSetTypingRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r=   r5   r  r  )r>   r5   r   r?   r  r  r@   r:   r:   r;   r?   q"  s
    zSetTypingRequest.to_dictc              	   C   sb   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| j| j fS )NrA   s   >Xri   Fr   rj   rm   )rC   rF   rG   r  r5   rD   r  r@   r:   r:   r;   rD   y"  s    "$zSetTypingRequest._bytesc                 C   s<   |  }| }|d@ r"|  }nd }| }| |||dS )Nrj   r  r  )rK   rL   rs   rM   r  _actionr:   r:   r;   rN   "  s    
zSetTypingRequest.from_reader)Nr  r:   r:   r:   r;   r  b"  s   	r  c                   @   sN   e Zd ZdZdZdddeedddZd	d
 Zdd Z	dd Z
edd ZdS )StartBotRequestl   xsM r   Nr$   r   r  r5   r"  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS rz  )r  r5   r"  rV   r   r   r   r   )r9   r  r5   r"  r   r:   r:   r;   r<   "  s    zStartBotRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r`   rH  rd   r:   r:   r;   rg   "  s    zStartBotRequest.resolvec                 C   sD   dt | jtr| j n| jt | jtr2| j n| j| j| jdS )Nr  )r=   r  r5   r"  r   )r>   r  r   r?   r5   r"  r   r@   r:   r:   r;   r?   "  s    zStartBotRequest.to_dictc              	   C   s2   d d| j | j td| j| | jfS )NrA   s   xsrB   )	rC   r  rD   r5   rF   rG   r   rE   r"  r@   r:   r:   r;   rD   "  s    
zStartBotRequest._bytesc                 C   s0   |  }|  }| }| }| ||||dS )Nr  r  )rK   rL   r  rM   r   r'  r:   r:   r;   rN   "  s
    zStartBotRequest.from_reader)Nr  r:   r:   r:   r;   r  "  s   			r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )StartHistoryImportRequestl   Ds{h r   r   r5   	import_idc                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<   "  s    z"StartHistoryImportRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   "  s    z!StartHistoryImportRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   "  s    z!StartHistoryImportRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   D=rB   )rC   r5   rD   rF   rG   r  r@   r:   r:   r;   rD   "  s
    z StartHistoryImportRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rK   rL   rM   
_import_idr:   r:   r;   rN   "  s    z%StartHistoryImportRequest.from_readerNr   r:   r:   r:   r;   r  "  s   r  c                   @   sP   e Zd ZdZdZddeee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleBotInAttachMenuRequestiiir   Nr$   r  enabledr[   c                 C   s   || _ || _|| _dS r   r  )r9   r  r  r[   r:   r:   r;   r<   "  s    z%ToggleBotInAttachMenuRequest.__init__c                    s   | || jI d H | _d S r`   r  rd   r:   r:   r;   rg   "  s    z$ToggleBotInAttachMenuRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r=   r  r  r[   )r>   r  r   r?   r  r[   r@   r:   r:   r;   r?   "  s
    z$ToggleBotInAttachMenuRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dnd| j | jr:dndfS )	NrA   s   iiri   Fr   rj   r>  r?  )rC   rF   rG   r[   r  rD   r  r@   r:   r:   r;   rD   "  s    "z#ToggleBotInAttachMenuRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrj   r  rK  )rK   rL   rs   rt   r  _enabledr:   r:   r;   rN   "  s
    z(ToggleBotInAttachMenuRequest.from_reader)NrL  r:   r:   r:   r;   r  "  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )ToggleDialogFilterTagsRequestl   IZ[z r   r  c                 C   s
   || _ dS r   r  )r9   r  r:   r:   r;   r<   #  s    z&ToggleDialogFilterTagsRequest.__init__c                 C   s   d| j dS )Nr  )r=   r  r  r@   r:   r:   r;   r?   #  s    z%ToggleDialogFilterTagsRequest.to_dictc                 C   s   d d| jrdndfS )NrA   s   I-r>  r?  )rC   r  r@   r:   r:   r;   rD   #  s    z$ToggleDialogFilterTagsRequest._bytesc                 C   s   |  }| |dS )Nr  )r@  )rK   rL   r  r:   r:   r;   rN   #  s    z)ToggleDialogFilterTagsRequest.from_readerNr  r:   r:   r:   r;   r  #  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleDialogPinRequestl   WbcN r   Nr   r5   pinnedc                 C   s   || _ || _dS r   r  r9   r5   r  r:   r:   r;   r<   '#  s    zToggleDialogPinRequest.__init__c                    s   | | jI d H | _d S r`   rh  r5   rd   r:   r:   r;   rg   .#  s    zToggleDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r=   r5   r  r>   r5   r   r?   r  r@   r:   r:   r;   r?   1#  s    zToggleDialogPinRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )NrA   s   W1ri   Fr   rj   rC   rF   rG   r  r5   rD   r@   r:   r:   r;   rD   8#  s
    "zToggleDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS Nrj   r  r  rK   rL   rs   Z_pinnedrM   r:   r:   r;   rN   ?#  s    z"ToggleDialogPinRequest.from_reader)Nr  r:   r:   r:   r;   r  ##  s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleNoForwardsRequestl   /=b r   r   r5   r  c                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<   L#  s    z ToggleNoForwardsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   S#  s    zToggleNoForwardsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   V#  s    zToggleNoForwardsRequest.to_dictc                 C   s    d d| j | jrdndfS )NrA   s   r>  r?  )rC   r5   rD   r  r@   r:   r:   r;   rD   ]#  s
    zToggleNoForwardsRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rK   rL   rM   r  r:   r:   r;   rN   d#  s    z#ToggleNoForwardsRequest.from_readerNr  r:   r:   r:   r;   r  H#  s   r  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS ) TogglePaidReactionPrivacyRequestiXCr   r   r(   r5   r\   r  c                 C   s   || _ || _|| _dS r   r  )r9   r5   r\   r  r:   r:   r;   r<   o#  s    z)TogglePaidReactionPrivacyRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   w#  s    z(TogglePaidReactionPrivacyRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r=   r5   r\   r  )r>   r5   r   r?   r\   r  r@   r:   r:   r;   r?   z#  s
    z(TogglePaidReactionPrivacyRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrA   s   XCrm   )rC   r5   rD   rF   rG   r\   r  r@   r:   r:   r;   rD   #  s    z'TogglePaidReactionPrivacyRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r   )rK   rL   rM   ru   r  r:   r:   r;   rN   #  s    z,TogglePaidReactionPrivacyRequest.from_readerNr   r:   r:   r:   r;   r  k#  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )TogglePeerTranslationsRequestl   y5H r   Nr   r5   disabledc                 C   s   || _ || _dS r   r  )r9   r5   r  r:   r:   r;   r<   #  s    z&TogglePeerTranslationsRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   #  s    z%TogglePeerTranslationsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   #  s    z%TogglePeerTranslationsRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )NrA   s   y|ri   Fr   rj   )rC   rF   rG   r  r5   rD   r@   r:   r:   r;   rD   #  s
    "z$TogglePeerTranslationsRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrj   r  r  )rK   rL   rs   Z	_disabledrM   r:   r:   r;   rN   #  s    z)TogglePeerTranslationsRequest.from_reader)Nr  r:   r:   r:   r;   r  #  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleSavedDialogPinRequestl   ;Y r   Nr   r  c                 C   s   || _ || _dS r   r  r  r:   r:   r;   r<   #  s    z$ToggleSavedDialogPinRequest.__init__c                    s   | | jI d H | _d S r`   r  rd   r:   r:   r;   rg   #  s    z#ToggleSavedDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r@   r:   r:   r;   r?   #  s    z#ToggleSavedDialogPinRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )NrA   s   ޻ri   Fr   rj   r  r@   r:   r:   r;   rD   #  s
    "z"ToggleSavedDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS r  r  r  r:   r:   r;   rN   #  s    z'ToggleSavedDialogPinRequest.from_reader)Nr  r:   r:   r:   r;   r  #  s   r  c                   @   sV   e Zd ZdZdZded ee ee ee dddZdd	 Z	d
d Z
edd ZdS )ToggleStickerSetsRequestl   /
j r   Nr"   stickersets	uninstallarchive	unarchivec                 C   s   || _ || _|| _|| _dS r   r  )r9   r  r  r  r   r:   r:   r;   r<   #  s    z!ToggleStickerSetsRequest.__init__c                 C   s0   d| j d krg ndd | j D | j| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   #  s     z4ToggleStickerSetsRequest.to_dict.<locals>.<listcomp>)r=   r  r  r  r   r  r@   r:   r:   r;   r?   #  s    z ToggleStickerSetsRequest.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 d	td
t| jd dd | jD fS )NrA   s   /ri   Fr   rj   rk   rl   r   rm   c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   #  s     z2ToggleStickerSetsRequest._bytes.<locals>.<genexpr>)rC   rF   rG   r  r  r   r   r  r@   r:   r:   r;   rD   #  s    Z  zToggleStickerSetsRequest._bytesc           	      C   sl   |  }t|d@ }t|d@ }t|d@ }|   g }t|  D ]}| }|| qD| ||||dS )Nrj   rk   rl   r  r   )	rK   rL   rs   Z
_uninstallZ_archiveZ
_unarchiveZ_stickersetsr=   r   r:   r:   r;   rN   #  s    z$ToggleStickerSetsRequest.from_reader)NNN)rP   rQ   rR   rS   rT   r   r   rq   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  #  s   &		r  c                   @   s\   e Zd ZdZdZddeee ee ee	 dddZ
dd	 Zd
d Zdd Zedd ZdS )"ToggleSuggestedPostApprovalRequestl   \E r   Nr   r5   r\   rejectrn  reject_commentc                 C   s"   || _ || _|| _|| _|| _dS r   r  )r9   r5   r\   r  rn  r  r:   r:   r;   r<   $  s
    z+ToggleSuggestedPostApprovalRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   $  s    z*ToggleSuggestedPostApprovalRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr  )r=   r5   r\   r  rn  r  )r>   r5   r   r?   r\   r  rn  r  r@   r:   r:   r;   r?   $  s    z*ToggleSuggestedPostApprovalRequest.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 | j td	| j| jd ks| jdkrdn
| 	| j| jd ks| jdkrdn
| 
| jfS )
NrA   s   \Eri   Fr   rk   rj   rl   rm   )rC   rF   rG   r  rn  r  r5   rD   r\   r  rE   r@   r:   r:   r;   rD   $$  s    Z""z)ToggleSuggestedPostApprovalRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nrk   rj   rl   r  r{  )rK   rL   rs   Z_rejectrM   ru   rs  Z_reject_commentr:   r:   r;   rN   .$  s    

z.ToggleSuggestedPostApprovalRequest.from_reader)NNNr,  r:   r:   r:   r;   r  	$  s   $


r  c                   @   sT   e Zd ZdZdZdeee ee dddZdd Zd	d
 Z	dd Z
edd ZdS )ToggleTodoCompletedRequestl   $1' r   r   r5   r\   	completedincompletedc                 C   s   || _ || _|| _|| _dS r   r  )r9   r5   r\   r  r  r:   r:   r;   r<   D$  s    z#ToggleTodoCompletedRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   M$  s    z"ToggleTodoCompletedRequest.resolvec                 C   sZ   dt | jtr| j n| j| j| jd kr.g n| jd d  | jd krHg n| jd d  dS )Nr  )r=   r5   r\   r  r  )r>   r5   r   r?   r\   r  r  r@   r:   r:   r;   r?   P$  s    z"ToggleTodoCompletedRequest.to_dictc                 C   sl   d d| j td| jdtdt| jd dd | jD dtdt| jd dd | jD f	S )NrA   s   $1rm   r   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   ^$  s     z4ToggleTodoCompletedRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   _$  s     )	rC   r5   rD   rF   rG   r\   r   r  r  r@   r:   r:   r;   rD   Y$  s        z!ToggleTodoCompletedRequest._bytesc                 C   s   |  }| }|  g }t| D ]}| }|| q(|  g }t| D ]}| }|| qX| ||||dS )Nr  r   )rK   rL   rM   ru   Z
_completedr=   r   Z_incompletedr:   r:   r;   rN   b$  s    z&ToggleTodoCompletedRequest.from_readerNr   r:   r:   r:   r;   r  @$  s   			r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )TranscribeAudioRequestiI&i6I!r   r   c                 C   s   || _ || _dS )zS
        :returns messages.TranscribedAudio: Instance of TranscribedAudio.
        Nr   r   r:   r:   r;   r<   y$  s    zTranscribeAudioRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   $  s    zTranscribeAudioRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr	  r   r   r@   r:   r:   r;   r?   $  s    zTranscribeAudioRequest.to_dictc                 C   s    d d| j td| jfS )NrA   s   I&rm   r   r@   r:   r:   r;   rD   $  s
    zTranscribeAudioRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r:   r:   r;   rN   $  s    z"TranscribeAudioRequest.from_readerNr   r:   r:   r:   r;   r	  u$  s   r	  c                   @   sb   e Zd ZdZdZdeed eee  eed  dddZ	d	d
 Z
dd Zdd Zedd ZdS )TranslateTextRequesti00ciCBNr   r/   to_langr5   r  rZ  c                 C   s   || _ || _|| _|| _dS )zP
        :returns messages.TranslatedText: Instance of TranslateResult.
        Nr  )r9   r  r5   r  rZ  r:   r:   r;   r<   $  s    zTranslateTextRequest.__init__c                    s$   | j r ||| j I d H | _ d S r`   ra   rd   r:   r:   r;   rg   $  s    zTranslateTextRequest.resolvec                 C   s\   d| j t| jtr| j n| j| jd kr.g n| jd d  | jd krHg ndd | jD dS )Nr
  c                 S   s"   g | ]}t |tr| n|qS r:   r   r   r:   r:   r;   r   $  s     z0TranslateTextRequest.to_dict.<locals>.<listcomp>)r=   r  r5   r  rZ  )r  r>   r5   r   r?   r  rZ  r@   r:   r:   r;   r?   $  s    zTranslateTextRequest.to_dictc                 C   sp  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| j d ksp| j dkrtdnd| jd ks| jdkrdndB | jd ks| jdkrdndB | j d ks| j dkrdn| j  | jd ks| jdkrdn.dd	td
t| jddd | jD f| jd ks.| jdkr2dn.dd	td
t| jddd | jD f| 	| j
fS )NFzDpeer, id parameters must all be False-y (like None) or all me True-yrA   s   00cri   r   rj   rk   r   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   $  s     z.TranslateTextRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S r`   r   r   r:   r:   r;   r   $  s     )r5   r  rn   rC   rF   rG   rZ  rD   r   rE   r  r@   r:   r:   r;   rD   $  s    PZ FJ
zTranslateTextRequest._bytesc           	      C   s   |  }|d@ r| }nd }|d@ rX|   g }t|  D ]}|  }|| q>nd }|d@ r|   g }t|  D ]}| }|| q|nd }| }| ||||dS )Nrj   rk   r  )rp   rH   r   r   rr   )	rK   rL   rs   rM   r  r=   r   r[  Z_to_langr:   r:   r;   rN   $  s(    
z TranslateTextRequest.from_reader)NNN)rP   rQ   rR   rS   rT   rx   r   r   rV   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r
  $  s   *		r
  c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )UninstallStickerSetRequestl   Ur r   r"   r  c                 C   s
   || _ dS r   r  )r9   r  r:   r:   r;   r<   $  s    z#UninstallStickerSetRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r=   r  )r>   r  r   r?   r@   r:   r:   r;   r?   $  s    z"UninstallStickerSetRequest.to_dictc                 C   s   d d| j fS )NrA   s   Un)rC   r  rD   r@   r:   r:   r;   rD   $  s    z!UninstallStickerSetRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rK   rL   r  r:   r:   r;   rN   $  s    z&UninstallStickerSetRequest.from_readerNr  r:   r:   r:   r;   r  $  s   r  c                   @   sT   e Zd ZdZdZddee ed dddZdd	 Zd
d Z	dd Z
edd ZdS )UnpinAllMessagesRequestiG-r   Nr   r  c                 C   s   || _ || _|| _dS r  r  r  r:   r:   r;   r<   $  s    z UnpinAllMessagesRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r`   r  rd   r:   r:   r;   rg   %  s    zUnpinAllMessagesRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  r  r  r@   r:   r:   r;   r?   %  s
    zUnpinAllMessagesRequest.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 | jd ks`| jdkrddntd| j| jd ks| jdkrdn| j fS )	NrA   s   G-ri   Fr   rj   rk   rm   r  r@   r:   r:   r;   rD   %  s    >$ zUnpinAllMessagesRequest._bytesc                 C   sJ   |  }| }|d@ r"|  }nd }|d@ r8| }nd }| |||dS r  r  r  r:   r:   r;   rN   %  s    

z#UnpinAllMessagesRequest.from_reader)NNr  r:   r:   r:   r;   r  $  s   	r  c                   @   sF   e Zd ZdZdZdeed dddZdd	 Zd
d Z	e
dd ZdS )UpdateDialogFilterRequestiJr   Nr   r  r  c                 C   s   || _ || _dS r   r  )r9   r  r  r:   r:   r;   r<   -%  s    z"UpdateDialogFilterRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r=   r  r  )r  r>   r  r   r?   r@   r:   r:   r;   r?   4%  s    z!UpdateDialogFilterRequest.to_dictc                 C   sZ   d dtd| jd ks | jdkr$dndtd| j| jd ksH| jdkrLdn| j fS )NrA   s   Jri   Fr   rj   rm   )rC   rF   rG   r  r  rD   r@   r:   r:   r;   rD   ;%  s    " z UpdateDialogFilterRequest._bytesc                 C   s2   |  }|  }|d@ r"| }nd }| ||dS )Nrj   r  r  )rK   rL   rs   r  r  r:   r:   r;   rN   C%  s    
z%UpdateDialogFilterRequest.from_reader)N)rP   rQ   rR   rS   rT   rV   r   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  )%  s   r  c                   @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )UpdateDialogFiltersOrderRequestl   A
 r   r  c                 C   s
   || _ dS r   r  r  r:   r:   r;   r<   S%  s    z(UpdateDialogFiltersOrderRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r@   r:   r:   r;   r?   Y%  s    z'UpdateDialogFiltersOrderRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrA   s   cr   rm   c                 s   s   | ]}t d |V  qdS r  r  r   r:   r:   r;   r   b%  s     z9UpdateDialogFiltersOrderRequest._bytes.<locals>.<genexpr>r	  r@   r:   r:   r;   rD   _%  s      z&UpdateDialogFiltersOrderRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r
  r  r  r:   r:   r;   rN   e%  s    z+UpdateDialogFiltersOrderRequest.from_readerNr  r:   r:   r:   r;   r  O%  s   r  c                   @   s\   e Zd ZdZdZddeee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )UpdatePinnedMessageRequestl   wU% r   Nr   r5   r  r  unpin
pm_onesidec                 C   s"   || _ || _|| _|| _|| _dS r   r  )r9   r5   r  r  r  r  r:   r:   r;   r<   t%  s
    z#UpdatePinnedMessageRequest.__init__c                    s   | || jI d H | _d S r`   r   rd   r:   r:   r;   rg   ~%  s    z"UpdatePinnedMessageRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr  )r=   r5   r  r  r  r  )r>   r5   r   r?   r  r  r  r  r@   r:   r:   r;   r?   %  s    z"UpdatePinnedMessageRequest.to_dictc              	   C   sz   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 | j td	| jfS )
NrA   s   ri   Fr   rj   rk   rl   rm   )	rC   rF   rG   r  r  r  r5   rD   r  r@   r:   r:   r;   rD   %  s    Zz!UpdatePinnedMessageRequest._bytesc                 C   sN   |  }t|d@ }t|d@ }t|d@ }| }|  }| |||||dS )Nrj   rk   rl   r  r  )rK   rL   rs   r  Z_unpinZ_pm_onesiderM   r  r:   r:   r;   rN   %  s    z&UpdatePinnedMessageRequest.from_reader)NNNr   r:   r:   r:   r;   r  p%  s   $

r  c                   @   sF   e Zd ZdZdZddee dddZdd	 Zd
d Z	e
dd ZdS )UpdateSavedReactionTagRequesti})`r   Nr)   rQ  r   c                 C   s   || _ || _dS r   r  )r9   rQ  r   r:   r:   r;   r<   %  s    z&UpdateSavedReactionTagRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r=   rQ  r   )r>   rQ  r   r?   r   r@   r:   r:   r;   r?   %  s    z%UpdateSavedReactionTagRequest.to_dictc                 C   sX   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn
| | jfS )NrA   s   })`ri   Fr   rj   )rC   rF   rG   r   rQ  rD   rE   r@   r:   r:   r;   rD   %  s    ""z$UpdateSavedReactionTagRequest._bytesc                 C   s2   |  }| }|d@ r"| }nd }| ||dS )Nrj   r  rI  )rK   rL   rs   rR  r   r:   r:   r;   rN   %  s    
z)UpdateSavedReactionTagRequest.from_reader)N)rP   rQ   rR   rS   rT   r   rx   r<   r?   rD   rW   rN   r:   r:   r:   r;   r  %  s   r  c                   @   s@   e Zd ZdZdZdddddZdd	 Zd
d Zedd Z	dS )UploadEncryptedFileRequestiWPl   gT r   r   r5   r  c                 C   s   || _ || _dS )z_
        :returns EncryptedFile: Instance of either EncryptedFileEmpty, EncryptedFile.
        Nr  )r9   r5   r  r:   r:   r;   r<   %  s    z#UploadEncryptedFileRequest.__init__c                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r=   r5   r  )r>   r5   r   r?   r  r@   r:   r:   r;   r?   %  s    z"UploadEncryptedFileRequest.to_dictc                 C   s   d d| j | j fS )NrA   s   WP)rC   r5   rD   r  r@   r:   r:   r;   rD   %  s
    z!UploadEncryptedFileRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r   )rK   rL   rM   r  r:   r:   r;   rN   %  s    z&UploadEncryptedFileRequest.from_readerNr  r:   r:   r:   r;   r  %  s   r  c                   @   sL   e Zd ZdZdZdeeddddZdd	 Zd
d Z	dd Z
edd ZdS )UploadImportedMediaRequesti *2lGr   r   r5   r  	file_namer   c                 C   s   || _ || _|| _|| _dS a  
        :returns MessageMedia: Instance of either MessageMediaEmpty, MessageMediaPhoto, MessageMediaGeo, MessageMediaContact, MessageMediaUnsupported, MessageMediaDocument, MessageMediaWebPage, MessageMediaVenue, MessageMediaGame, MessageMediaInvoice, MessageMediaGeoLive, MessageMediaPoll, MessageMediaDice, MessageMediaStory, MessageMediaGiveaway, MessageMediaGiveawayResults, MessageMediaPaidMedia, MessageMediaToDo.
        Nr  )r9   r5   r  r  r   r:   r:   r;   r<   %  s    z#UploadImportedMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S r`   rb   rc   r5   rc  r   rd   r:   r:   r;   rg   %  s    z"UploadImportedMediaRequest.resolvec                 C   sD   dt | jtr| j n| j| j| jt | jtr:| j n| jdS )Nr  )r=   r5   r  r  r   )r>   r5   r   r?   r  r  r   r@   r:   r:   r;   r?   %  s    z"UploadImportedMediaRequest.to_dictc                 C   s2   d d| j td| j| | j| j fS )NrA   s    *rB   )	rC   r5   rD   rF   rG   r  rE   r  r   r@   r:   r:   r;   rD   %  s    
z!UploadImportedMediaRequest._bytesc                 C   s0   |  }| }| }|  }| ||||dS )Nr  r  )rK   rL   rM   r  Z
_file_namer   r:   r:   r;   rN   &  s
    z&UploadImportedMediaRequest.from_readerN)rP   rQ   rR   rS   rT   rV   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r  %  s   			r  c                   @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )UploadMediaRequestixyr  Nr   r   r5   r   business_connection_idc                 C   s   || _ || _|| _dS r  r"  )r9   r5   r   r#  r:   r:   r;   r<   &  s    zUploadMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S r`   r   rd   r:   r:   r;   rg   &  s    zUploadMediaRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr!  )r=   r5   r   r#  )r>   r5   r   r?   r   r#  r@   r:   r:   r;   r?   !&  s
    zUploadMediaRequest.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
| | j| j | j fS )NrA   s   xyri   Fr   rj   )rC   rF   rG   r#  rE   r5   rD   r   r@   r:   r:   r;   rD   )&  s    ""zUploadMediaRequest._bytesc                 C   s<   |  }|d@ r| }nd }| }| }| |||dS )Nrj   r"  )rp   rr   rH   )rK   rL   rs   Z_business_connection_idrM   r   r:   r:   r;   rN   2&  s    
zUploadMediaRequest.from_reader)N)rP   rQ   rR   rS   rT   r   rx   r<   rg   r?   rD   rW   rN   r:   r:   r:   r;   r!  &  s   	r!  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )ViewSponsoredMessageRequestiC6&r   Nr   c                 C   s(   |dk	r|nt jtdddd| _dS r   )rV   r   r   r   r   )r9   r   r:   r:   r;   r<   C&  s    z$ViewSponsoredMessageRequest.__init__c                 C   s   d| j dS )Nr$  )r=   r   r%  r@   r:   r:   r;   r?   I&  s    z#ViewSponsoredMessageRequest.to_dictc                 C   s   d d| | jfS )NrA   s   C6&)rC   rE   r   r@   r:   r:   r;   rD   O&  s    
z"ViewSponsoredMessageRequest._bytesc                 C   s   |  }| |dS )Nr%  r  )rK   rL   r   r:   r:   r;   rN   U&  s    z'ViewSponsoredMessageRequest.from_reader)Nr  r:   r:   r:   r;   r$  ?&  s   r$  (  __doc__Ztl.tlobjectr   r   r  r   r   r   r   r   rF   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   rX   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r$  r+  r4  r8  r;  rB  rE  rH  rK  rX  r\  rl  rt  rv  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r$  r%  r&  r'  r(  r)  r-  r.  r/  r0  r3  r4  r5  r:  rC  rK  rM  rN  rO  rS  rT  rW  rX  r[  r]  r`  ra  rb  rc  ri  rj  rl  rn  ro  rs  ru  rv  rx  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  r.  r0  r4  r6  r9  r<  r@  rD  rI  rM  rQ  rR  r^  rd  rf  rg  ri  rl  rr  rt  rv  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r!  r$  r:   r:   r:   r;   <module>   s  $?',%6)##:'%$=("#'## E'J] D# 	) 7C!'! &<#$ !#=(((;6##8#((, $#(#8#/' "?>4G*#(;77)   =F +,*' .>+' !#)!2(!2.!*0.( A'?G<\$V#2)p &N$&;5*.$_  	l558(',+ 4)24#= 5#G0-,#)%#'%%-75#C2&!/& ,.