Ë
    ‚U¶i‘;  ã            	       óž  — d dl Zd dlmc mZ d dlZd dlZej                  j                  d ej                  j                  ej                  j                  e«      d«      «       d dlmZmZmZ d dlZd dlZddedededefd„Zdd	ededefd
„Z	 	 	 ddedededefd„Zdedefd„Zddedefd„Z G d„ d«      Z G d„ d«      Z G d„ d«      Zy)é    Nz..)Ú	AsyncMockÚ	MagicMockÚpatchÚuser_idÚis_botÚusernameÚreturnc                 óD   — t        «       }| |_        ||_        ||_        |S ©N)r   Úidr   r   )r   r   r   Úusers       úC/home/jay/workspace/services/multimodel-bot/tests/test_bot_logic.pyÚ
_make_userr      s#   € Ü‹;€DØ€D„GØ€D„KØ€D„MØ€Kó    Úbot_idc                 ó6   — t        «       }| |_        ||_        |S r   )r   r   r   )r   r   Úbots      r   Ú_make_bot_objr      s   € Ü
‹+€CØ€C„FØ€C„LØ€Jr   ÚtextÚ	from_userÚ	chat_typec                 ó¸   — t        «       }| |_        ||_        t        «       |_        ||j                  _        ||_        |xs g |_        t        «       |_        |S r   )	r   r   r   ÚchatÚtypeÚreply_to_messageÚentitiesr   Ú
reply_text)r   r   r   r   r   Úmsgs         r   Ú_make_messager      sN   € ô ‹+€CØ€C„HØ€C„MÜ‹{€C„HØ€C‡HH„MØ+€CÔØ’>˜r€C„LÜ“[€C„NØ€Jr   Úmessagec                 óX   — t        «       }| |_        | |_        | j                  |_        |S )u9   telegram.Updateë¥¼ ëª¨ë°©í•˜ëŠ” MagicMockì„ ë°˜í™˜í•œë‹¤)r   r    Úeffective_messager   Úeffective_user)r    Úupdates     r   Ú_make_updater%   1   s+   € ä‹[€FØ€F„NØ&€FÔØ#×-Ñ-€FÔØ€Mr   Úbot_usernamec                 ó<   — t        «       }t        | ¬«      |_        |S )N)r   )r   r   r   )r&   Úctxs     r   Ú_make_contextr)   :   s   € Ü
‹+€CÜ \Ô2€C„GØ€Jr   c                   óL   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)ÚTestGroupChatResponseConditionsuU   ê·¸ë£¹ì±—ì—ì„œ ë´‡ì´ ì‘ë‹µí•´ì•¼ í•˜ëŠ” / í•˜ì§€ ì•Šì•„ì•¼ í•˜ëŠ” ì¡°ê±´ í…ŒìŠ¤íŠ¸c                 ó  — ddl m} t        d¬«      }t        «       }d|_        d|_        t        d«      |_        t        d|d|g¬	«      }t        |«      } ||d
d¬«      }d}||u }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }	dd|	iz  }
t!        t        j"                  |
«      «      ‚dx}}y)u6   ê·¸ë£¹ì±—ì—ì„œ @ë©˜ì…˜ ì‹œ ë´‡ì´ ì‘ë‹µí•´ì•¼ í•œë‹¤r   ©Úshould_respondéo   ©r   Úmentionú@mybotu   @mybot ì•ˆë…•í•˜ì„¸ìš”Úgroup©r   r   r   r   ÚmybotéÍ[©r&   Úowner_user_idT©Úis©z%(py0)s is %(py3)sÚresult©Úpy0Úpy3úassert %(py5)sÚpy5N©Ú	bot_utilsr.   r   r   r   ÚoffsetÚlenÚlengthr   r%   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)Úselfr.   r   Úentityr    r$   r<   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6s              r   Útest_responds_to_mentionz8TestGroupChatResponseConditions.test_responds_to_mentionH   s»   € å,ä #Ô&ˆô “ˆØˆŒØˆŒÜ˜H›ˆŒäØ)ØØØXô	
ˆô ˜gÓ&ˆá °WÈIÔVˆØÐˆv˜ˆ~××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 óô  — ddl m} t        d¬«      }t        ddd¬«      }t        d	|d
¬«      }t        d|d
|¬«      }t	        |«      } ||dd¬«      }d}||u }	|	s™t        j                  d|	fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }
dd|
iz  }t        t        j                  |«      «      ‚dx}	}y)uL   ê·¸ë£¹ì±—ì—ì„œ ë´‡ ë©”ì‹œì§€ì— ë¦¬í”Œë¼ì´ ì‹œ ë´‡ì´ ì‘ë‹µí•´ì•¼ í•œë‹¤r   r-   r/   r0   éç  Tr5   ©r   r   r   u   ì €ëŠ” ë´‡ìž…ë‹ˆë‹¤.r3   ©r   r   r   u
   ê³ ë§ˆì›Œ!©r   r   r   r   r6   r7   r9   r;   r<   r=   r@   rA   N©rC   r.   r   r   r%   rG   rH   rI   rJ   rK   rL   rM   rN   )rO   r.   r   Úbot_userÚoriginal_bot_messager    r$   r<   rQ   rR   rS   rT   s               r   Ú%test_responds_to_reply_to_bot_messagezETestGroupChatResponseConditions.test_responds_to_reply_to_bot_message_   s¹   € å,ä #Ô&ˆô  c°$ÀÔIˆÜ,Ð2HÐT\ÐhoÔpÐäØØØØ1ô	
ˆô ˜gÓ&ˆá °WÈIÔVˆØÐˆv˜ˆ~××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 ó¾  — ddl m} d}t        |¬«      }t        d|d¬«      }t	        |«      } ||d|¬	«      }d
}||u }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚dx}}y)uK   ì˜¤ë„ˆ ìœ ì €ê°€ DMìœ¼ë¡œ ë©”ì‹œì§€ë¥¼ ë³´ë‚´ë©´ ë´‡ì´ ì‘ë‹µí•´ì•¼ í•œë‹¤r   r-   r6   r0   u   ë´‡ì•„ ì¼í•´ë¼ÚprivaterY   r5   r7   Tr9   r;   r<   r=   r@   rA   Nr[   )rO   r.   Úowner_idÚ
owner_userr    r$   r<   rQ   rR   rS   rT   s              r   Útest_responds_to_dm_from_ownerz>TestGroupChatResponseConditions.test_responds_to_dm_from_ownert   s™   € å,àˆÜ¨Ô1ˆ
äØ#Ø Øô
ˆô
 ˜gÓ&ˆá °WÈHÔUˆØÐˆv˜ˆ~××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 ó  — ddl m} t        ddd¬«      }t        «       }d|_        d|_        t        d«      |_        t        d	|d
|g¬«      }t        |«      } ||dd¬«      }d}||u }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }	dd|	iz  }
t!        t        j"                  |
«      «      ‚dx}}y)u^   ë‹¤ë¥¸ ë´‡ì´ @ë©˜ì…˜ìœ¼ë¡œ ë³´ë‚¸ ë©”ì‹œì§€ì—ëŠ” ì‘ë‹µí•´ì•¼ í•œë‹¤ (ë´‡ ê°„ í† ë¡  ì§€ì›)r   r-   ix  TÚotherbotrX   r1   r2   õ   @mybot ì•ˆë…•r3   r4   r5   r6   r7   r9   r;   r<   r=   r@   rA   NrB   )rO   r.   Úother_bot_userrP   r    r$   r<   rQ   rR   rS   rT   s              r   Ú+test_does_not_respond_to_other_bot_messageszKTestGroupChatResponseConditions.test_does_not_respond_to_other_bot_messages…   s¿   € å,ä#¨C¸ÀzÔRˆô “ˆØˆŒØˆŒÜ˜H›ˆŒäØ Ø$ØØXô	
ˆô ˜gÓ&ˆá °WÈIÔVˆØÐˆv˜ˆ~××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 ó  — ddl m} t        ddd¬«      }t        «       }d|_        d|_        t        d«      |_        t        d	|d
|g¬«      }t        |«      } ||dd¬«      }d}||u }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }	dd|	iz  }
t!        t        j"                  |
«      «      ‚dx}}y)uj   ìžê¸° ìžì‹ (ê°™ì€ username) ë´‡ì´ ë³´ë‚¸ ë©”ì‹œì§€ì—ëŠ” ì‘ë‹µí•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤ (ë£¨í”„ ë°©ì§€)r   r-   rW   Tr5   rX   r1   r2   rf   r3   r4   r6   r7   Fr9   r;   r<   r=   r@   rA   NrB   )rO   r.   Úself_bot_userrP   r    r$   r<   rQ   rR   rS   rT   s              r   Ú)test_does_not_respond_to_self_bot_messagezITestGroupChatResponseConditions.test_does_not_respond_to_self_bot_messageœ   s½   € å,ä"¨3°tÀgÔNˆä“ˆØˆŒØˆŒÜ˜H›ˆŒäØ Ø#ØØXô	
ˆô ˜gÓ&ˆá °WÈIÔVˆØÐˆv˜ˆ××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 óº  — ddl m} t        d¬«      }t        d|d¬«      }t	        |«      } ||dd	¬
«      }d}||u }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd|iz  }	t        t        j                  |	«      «      ‚dx}}y)uV   ë©˜ì…˜/ë¦¬í”Œë¼ì´ ì—†ëŠ” ì¼ë°˜ ê·¸ë£¹ ë©”ì‹œì§€ì—ëŠ” ì‘ë‹µí•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   r-   r/   r0   u   ì˜¤ëŠ˜ ì ì‹¬ ë­ ë¨¹ì§€?r3   rY   r5   r6   r7   Fr9   r;   r<   r=   r@   rA   Nr[   )
rO   r.   r   r    r$   r<   rQ   rR   rS   rT   s
             r   Ú.test_does_not_respond_to_regular_group_messagezNTestGroupChatResponseConditions.test_does_not_respond_to_regular_group_message²   s”   € å,ä #Ô&ˆäØ,ØØô
ˆô
 ˜gÓ&ˆá °WÈIÔVˆØÐˆv˜ˆ××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 ó¾  — ddl m} d}t        d¬«      }t        d|d¬«      }t	        |«      } ||d	|¬
«      }d}||u }|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚dx}}y)uA   ì˜¤ë„ˆê°€ ì•„ë‹Œ ìœ ì €ì˜ DMì—ëŠ” ì‘ë‹µí•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   r-   r6   iÿÉš;r0   u
   ì•ˆë…• ë´‡r`   rY   r5   r7   Fr9   r;   r<   r=   r@   rA   Nr[   )rO   r.   ra   Ústrangerr    r$   r<   rQ   rR   rS   rT   s              r   Ú*test_does_not_respond_to_dm_from_non_ownerzJTestGroupChatResponseConditions.test_does_not_respond_to_dm_from_non_ownerÂ   s™   € å,àˆÜ iÔ0ˆäØØØô
ˆô
 ˜gÓ&ˆá °WÈHÔUˆØÐˆv˜ˆ××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 óð  — ddl m} t        d¬«      }t        d¬«      }t        d|d¬«      }t        d	|d|¬
«      }t	        |«      } ||dd¬«      }d}||u }	|	s™t        j                  d|	fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }
dd|
iz  }t        t        j                  |«      «      ‚dx}	}y)u`   ë´‡ì´ ì•„ë‹Œ ë‹¤ë¥¸ ìœ ì €ì˜ ë©”ì‹œì§€ì— ë¦¬í”Œë¼ì´í•œ ê²½ìš° ì‘ë‹µí•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   r-   r/   r0   éÞ   u   ì›ë³¸ ë©”ì‹œì§€r3   rY   u   ë¦¬í”Œë¼ì´rZ   r5   r6   r7   Fr9   r;   r<   r=   r@   rA   Nr[   )rO   r.   Úuser_aÚuser_bÚoriginal_messager    r$   r<   rQ   rR   rS   rT   s               r   Ú4test_does_not_respond_to_reply_on_other_user_messagezTTestGroupChatResponseConditions.test_does_not_respond_to_reply_on_other_user_messageÓ   s´   € å,ä CÔ(ˆÜ CÔ(ˆô )Ð.@ÈFÐ^eÔfÐÜØØØØ-ô	
ˆô ˜gÓ&ˆá °WÈIÔVˆØÐˆv˜ˆ××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 ó’  — ddl m} t        «       }d|_         ||dd¬«      }d}||u }|s™t	        j
                  d|fd	||f«      d
t        j                  «       v st	        j                  |«      rt	        j                  |«      nd
t	        j                  |«      dœz  }dd|iz  }t        t	        j                  |«      «      ‚dx}}y)u:   update.messageê°€ Noneì´ë©´ ì‘ë‹µí•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   r-   Nr5   r6   r7   Fr9   r;   r<   r=   r@   rA   )rC   r.   r   r    rG   rH   rI   rJ   rK   rL   rM   rN   )rO   r.   r$   r<   rQ   rR   rS   rT   s           r   Ú*test_does_not_respond_when_message_is_nonezJTestGroupChatResponseConditions.test_does_not_respond_when_message_is_noneç   sy   € å,ä“ˆØˆŒá °WÈIÔVˆØÐˆv˜ˆ××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   c                 ó  — ddl m} t        «       }d|_        t        «       |_        d|j                  _        g |_        d|_        t        «       }||_         ||dd¬«      }d}||u }|s™t        j                  d	|fd
||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd|iz  }t        t        j                   |«      «      ‚dx}}y)u=   message.from_userê°€ Noneì´ë©´ ì‘ë‹µí•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   r-   Nr3   r5   r6   r7   Fr9   r;   r<   r=   r@   rA   )rC   r.   r   r   r   r   r   r   r    rG   rH   rI   rJ   rK   rL   rM   rN   )	rO   r.   r    r$   r<   rQ   rR   rS   rT   s	            r   Ú,test_does_not_respond_when_from_user_is_nonezLTestGroupChatResponseConditions.test_does_not_respond_when_from_user_is_noneñ   s­   € å,ä“+ˆØ ˆÔÜ “{ˆŒØ#ˆ‰ÔØˆÔØ#'ˆÔ ä“ˆØ ˆŒá °WÈIÔVˆØÐˆv˜ˆ××Õˆv˜×××××Ñˆv××Óˆv××Ô˜××××××Òr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rU   r^   rc   rh   rk   rm   rp   rv   rx   rz   © r   r   r+   r+   E   s7   „ Ù_òò.ò*ò"ò.ò,ò ò"ò(ór   r+   c                   óL   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)ÚTestMessageSplittinguU   ê¸´ ë©”ì‹œì§€ë¥¼ í…”ë ˆê·¸ëž¨ ì œí•œ(4096ìž)ì— ë§žê²Œ ë¶„í• í•˜ëŠ” ê¸°ëŠ¥ í…ŒìŠ¤íŠ¸c                 óÖ  — ddl m} d} ||«      }t        |t        «      }|sddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      nddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d	}t        |«      }d
}||k(  }|söt        j                  d|fd||f«      dt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d	x}x}}|d   }||k(  }|s™t        j                  d|fd||f«      t        j                  |«      dt	        j
                  «       v st        j                  |«      rt        j                  |«      nddœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}}y	)uU   4096ìž ì´í•˜ ë©”ì‹œì§€ëŠ” ë¶„í• í•˜ì§€ ì•Šê³  ë¦¬ìŠ¤íŠ¸ 1ê°œë¡œ ë°˜í™˜í•´ì•¼ í•œë‹¤r   ©Úsplit_messageu  ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ì§§ì€ ë©”ì‹œì§€ìž…ë‹ˆë‹¤.ú5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}Ú
isinstancer<   Úlist©r>   Úpy1Úpy2Úpy4Né   ©ú==©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)srE   ©r>   r‰   r?   Úpy6úassert %(py8)sÚpy8©z%(py1)s == %(py3)sÚ
short_text©r‰   r?   r@   rA   ©rC   r„   r†   r‡   rI   rJ   rG   rK   rL   rM   rN   rE   rH   )rO   r„   r•   r<   Ú@py_assert3Ú@py_format5rQ   Ú@py_assert5Ú@py_assert4Ú@py_format7Ú@py_format9Ú@py_assert0rS   rT   s                 r   Útest_short_message_not_splitz1TestMessageSplitting.test_short_message_not_split  s…  € å+à6ˆ
Ù˜zÓ*ˆä˜&¤$Ó'Ð'Ò'×'×'×'×'Õ'Œz×'×'Ó'Œz×'×'×'×'×'Ò'˜&×'×'Ó'˜&×'×'×'×'×'Ò'¤$×'×'Ó'¤$×'×'Ô'Ð'×'×'×'×'×'Ð'Ü6‹{Ð˜aÐˆ{˜aÑ××Õˆ{˜a×××××ÑŒs××ÓŒs×××××Ò6××Ó6××Ôˆ{××Ò˜a××××××ÓØa‰yÐ&ˆy˜JÑ&×&×&Õ&ˆy˜J×&×&Ó&ˆy×&×&×&×&×&Ð&˜J×&×&Ó&˜J×&×&×&×&×&×&Ô&r   c                 ó–  — ddl m} d} ||«      }t        |«      }d}||k(  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      d	œz  }d
d|iz  }t        t        j                  |«      «      ‚dx}x}}|d   }	|	|k(  }|s™t        j                  d|fd|	|f«      t        j                  |	«      dt        j                  «       v st        j                  |«      rt        j                  |«      nddœz  }
dd|
iz  }t        t        j                  |«      «      ‚dx}	}y)u?   ì •í™•ížˆ 4096ìžì¸ ë©”ì‹œì§€ëŠ” ë¶„í• í•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   rƒ   Á   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarŒ   r   r   rE   r<   r   r’   r“   Nr”   Ú	text_4096r–   r@   rA   ©rC   r„   rE   rG   rH   rI   rJ   rK   rL   rM   rN   )rO   r„   r¢   r<   rQ   rš   r›   rœ   r   rž   rS   rT   s               r   Ú"test_exact_limit_message_not_splitz7TestMessageSplitting.test_exact_limit_message_not_split  sý   € å+àˆ	Ù˜yÓ)ˆä6‹{Ð˜aÐˆ{˜aÑ××Õˆ{˜a×××××ÑŒs××ÓŒs×××××Ò6××Ó6××Ôˆ{××Ò˜a××××××ÓØa‰yÐ%ˆy˜IÑ%×%×%Õ%ˆy˜I×%×%Ó%ˆy×%×%×%×%×%Ð%˜I×%×%Ó%˜I×%×%×%×%×%×%Ô%r   c                 óŠ  — ddl m} ddz  } ||«      }t        |t        «      }|sddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      nddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      d	œz  }t        t        j                  |«      «      ‚d
}t        |«      }d}||k\  }|söt        j                  d|fd||f«      dt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d
x}x}}y
)uL   4096ìžë¥¼ ì´ˆê³¼í•˜ëŠ” ë©”ì‹œì§€ëŠ” ì—¬ëŸ¬ íŒŒíŠ¸ë¡œ ë¶„í• ë˜ì–´ì•¼ í•œë‹¤r   rƒ   Úai(#  r…   r†   r<   r‡   rˆ   Né   ©ú>=©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} >= %(py6)srE   r   r’   r“   r—   )rO   r„   Ú	long_textr<   r˜   r™   rQ   rš   r›   rœ   r   s              r   Ú+test_long_message_split_into_multiple_partsz@TestMessageSplitting.test_long_message_split_into_multiple_parts   s,  € å+à˜$‘Jˆ	Ù˜yÓ)ˆä˜&¤$Ó'Ð'Ò'×'×'×'×'Õ'Œz×'×'Ó'Œz×'×'×'×'×'Ò'˜&×'×'Ó'˜&×'×'×'×'×'Ò'¤$×'×'Ó'¤$×'×'Ô'Ð'×'×'×'×'×'Ð'Ü6‹{Ð˜aÐˆ{˜aÑ××Õˆ{˜a×××××ÑŒs××ÓŒs×××××Ò6××Ó6××Ôˆ{××Ò˜a××××××Ôr   c                 ó\  — ddl m} ddz  } ||«      }|D ]  }t        |«      }d}||k  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndd	t        j                  «       v st        j                  |«      rt        j                  |«      nd	t        j                  |«      t        j                  |«      d
œz  }dd|iz  }	t        t        j                  |	«      «      ‚dx}x}}Œ y)u@   ë¶„í• ëœ ê° íŒŒíŠ¸ëŠ” 4096ìžë¥¼ ì´ˆê³¼í•˜ì§€ ì•Šì•„ì•¼ í•œë‹¤r   rƒ   Úbi˜:  é   ©ú<=©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} <= %(py6)srE   Úpartr   r’   r“   Nr£   )
rO   r„   r«   r<   r³   rQ   rš   r›   rœ   r   s
             r   Útest_each_part_within_limitz0TestMessageSplitting.test_each_part_within_limit*  s³   € å+à˜%‘Kˆ	Ù˜yÓ)ˆàó 	%ˆDÜt“9Ð$ Ð$9 Ñ$×$×$Õ$9 ×$×$×$×$×$Ñ$”3×$×$Ó$”3×$×$×$×$×$Ò$t×$×$Ó$t×$×$Ô$9×$×$Ò$ ×$×$×$×$×$×$Õ$ñ	%r   c                 óz  — ddl m} ddz  } ||«      }d}|j                  } ||«      }||k(  }|st        j                  d|fd||f«      t        j
                  |«      t        j
                  |«      dt        j                  «       v st        j                  |«      rt        j
                  |«      ndt        j
                  |«      d	t        j                  «       v st        j                  |«      rt        j
                  |«      nd	d
œz  }dd|iz  }	t        t        j                  |	«      «      ‚dx}x}x}}y)uM   ë¶„í•  í›„ ëª¨ë“  íŒŒíŠ¸ë¥¼ í•©ì¹˜ë©´ ì›ë³¸ ë©”ì‹œì§€ì™€ ë™ì¼í•´ì•¼ í•œë‹¤r   rƒ   Úci'  Ú r   ©zJ%(py6)s
{%(py6)s = %(py3)s
{%(py3)s = %(py1)s.join
}(%(py4)s)
} == %(py8)sr<   r«   ©r‰   r?   r‹   r‘   r“   úassert %(py10)sÚpy10N)rC   r„   ÚjoinrG   rH   rL   rI   rJ   rK   rM   rN   )
rO   r„   r«   r<   rž   rQ   rš   Ú@py_assert7r   Ú@py_format11s
             r   Ú test_split_preserves_all_contentz5TestMessageSplitting.test_split_preserves_all_content4  s»   € å+à˜%‘Kˆ	Ù˜yÓ)ˆàÐ+ˆrw‰wÐ+‰wv‹Ð+ˆ )Ñ+×+×+Ö+ˆ )×+×+Ó+ˆr×+×+Ò+ˆw×+×+×+×+×+Ð+v×+×+Ó+v×+×+Ô+ˆ×+×+×+×+×+Ð+ )×+×+Ó+ )×+×+×+×+×+×+×+Ð+r   c                 óÌ  — ddl m} ddz  } ||«      }t        |«      }d}||k\  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndd	t        j                  «       v st        j                  |«      rt        j                  |«      nd	t        j                  |«      t        j                  |«      d
œz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}}|D ]  }	t        |	«      }d}||k  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  |	«      rt        j                  |	«      ndt        j                  |«      t        j                  |«      d
œz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}}Œ d}
|
j                  } ||«      }||k(  }|st        j                  d|fd||f«      t        j                  |
«      t        j                  |«      d	t        j                  «       v st        j                  |«      rt        j                  |«      nd	t        j                  |«      dt        j                  «       v st        j                  |«      rt        j                  |«      nddœz  }dd|iz  }t        t        j                  |«      «      ‚dx}
x}x}}y)u;   ë§¤ìš° ê¸´ ë©”ì‹œì§€ë„ ì˜¬ë°”ë¥´ê²Œ ë¶„í• ë˜ì–´ì•¼ í•œë‹¤r   rƒ   Úxi    é
   r¨   rª   rE   r<   r   r’   r“   Nr¯   r°   r²   r³   r·   r   r¸   Úvery_long_textr¹   rº   r»   ©rC   r„   rE   rG   rH   rI   rJ   rK   rL   rM   rN   r¼   )rO   r„   rÃ   r<   rQ   rš   r›   rœ   r   r³   rž   r½   r¾   s                r   Ú&test_very_long_message_split_correctlyz;TestMessageSplitting.test_very_long_message_split_correctly=  sâ  € å+à˜u™ˆÙ˜~Ó.ˆä6‹{Ð ˜bÐ ˆ{˜bÑ × × Õ ˆ{˜b× × × × × Ñ Œs× × Ó Œs× × × × × Ò 6× × Ó 6× × Ô ˆ{× × Ò ˜b× × × × × × Ó Øó 	%ˆDÜt“9Ð$ Ð$9 Ñ$×$×$Õ$9 ×$×$×$×$×$Ñ$”3×$×$Ó$”3×$×$×$×$×$Ò$t×$×$Ó$t×$×$Ô$9×$×$Ò$ ×$×$×$×$×$×$Õ$ð	%àÐ0ˆrw‰wÐ0‰wv‹Ð0ˆ .Ñ0×0×0Ö0ˆ .×0×0Ó0ˆr×0×0Ò0ˆw×0×0×0×0×0Ð0v×0×0Ó0v×0×0Ô0ˆ×0×0×0×0×0Ð0 .×0×0Ó0 .×0×0×0×0×0×0×0Ð0r   c                 ó–  — ddl m} d} ||«      }t        |t        «      }|sddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      nddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d	}|D ]  }t        |«      }d
}||k  }	|	söt        j                  d|	fd||f«      dt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      dœz  }
dd|
iz  }t        t        j                  |«      «      ‚d	x}x}	}Œ y	)uK   ì¤„ë°”ê¿ˆì´ í¬í•¨ëœ ê¸´ ë©”ì‹œì§€ë„ ì˜¬ë°”ë¥´ê²Œ ë¶„í• ë˜ì–´ì•¼ í•œë‹¤r   rƒ   uô  í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
í•œê¸€ í…ìŠ¤íŠ¸ í•œ ì¤„ìž…ë‹ˆë‹¤. ì—¬ê¸°ì— ë‚´ìš©ì´ ìžˆìŠµë‹ˆë‹¤.
r…   r†   r<   r‡   rˆ   Nr¯   r°   r²   rE   r³   r   r’   r“   r—   )rO   r„   r«   r<   r˜   r™   r³   rQ   rš   r›   rœ   r   s               r   Ú test_split_message_with_newlinesz5TestMessageSplitting.test_split_message_with_newlinesI  s:  € å+ð cˆ	Ù˜yÓ)ˆä˜&¤$Ó'Ð'Ò'×'×'×'×'Õ'Œz×'×'Ó'Œz×'×'×'×'×'Ò'˜&×'×'Ó'˜&×'×'×'×'×'Ò'¤$×'×'Ó'¤$×'×'Ô'Ð'×'×'×'×'×'Ð'Øó 	%ˆDÜt“9Ð$ Ð$9 Ñ$×$×$Õ$9 ×$×$×$×$×$Ñ$”3×$×$Ó$”3×$×$×$×$×$Ò$t×$×$Ó$t×$×$Ô$9×$×$Ò$ ×$×$×$×$×$×$Õ$ñ	%r   c                 ó€  — ddl m}  |d«      }t        |t        «      }|sddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      nddt	        j
                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d	}t        |«      }d
}||k(  }|söt        j                  d|fd||f«      dt	        j
                  «       v st        j                  t        «      rt        j                  t        «      nddt	        j
                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }	t        t        j                  |	«      «      ‚d	x}x}}|d   }
d}|
|k(  }|slt        j                  d|fd|
|f«      t        j                  |
«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}
x}}y	)uT   ë¹ˆ ë¬¸ìžì—´ì€ ë¹ˆ ë¬¸ìžì—´ 1ê°œë¥¼ í¬í•¨í•œ ë¦¬ìŠ¤íŠ¸ë¡œ ë°˜í™˜ë˜ì–´ì•¼ í•œë‹¤r   rƒ   r·   r…   r†   r<   r‡   rˆ   NrŒ   r   r   rE   r   r’   r“   )z%(py1)s == %(py4)s)r‰   r‹   zassert %(py6)sr‘   r—   )rO   r„   r<   r˜   r™   rQ   rš   r›   rœ   r   rž   s              r   Ú.test_empty_message_returns_single_empty_stringzCTestMessageSplitting.test_empty_message_returns_single_empty_stringU  sp  € å+á˜rÓ"ˆä˜&¤$Ó'Ð'Ò'×'×'×'×'Õ'Œz×'×'Ó'Œz×'×'×'×'×'Ò'˜&×'×'Ó'˜&×'×'×'×'×'Ò'¤$×'×'Ó'¤$×'×'Ô'Ð'×'×'×'×'×'Ð'Ü6‹{Ð˜aÐˆ{˜aÑ××Õˆ{˜a×××××ÑŒs××ÓŒs×××××Ò6××Ó6××Ôˆ{××Ò˜a××××××ÓØa‰yÐ˜BÐˆy˜B‰××Õˆy˜B××Óˆy××Ò˜B××××××Ôr   c                 óz  — ddl m} d} ||d¬«      }t        |«      }d}||k(  }|söt        j                  d|fd||f«      d	t        j                  «       v st        j                  t        «      rt        j                  t        «      nd	d
t        j                  «       v st        j                  |«      rt        j                  |«      nd
t        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}}|D ]  }	t        |	«      }d}||k  }|söt        j                  d|fd||f«      d	t        j                  «       v st        j                  t        «      rt        j                  t        «      nd	dt        j                  «       v st        j                  |	«      rt        j                  |	«      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}}Œ y)uS   max_len íŒŒë¼ë¯¸í„°ë¥¼ ì§€ì •í•˜ë©´ í•´ë‹¹ ê°’ ê¸°ì¤€ìœ¼ë¡œ ë¶„í• ë˜ì–´ì•¼ í•œë‹¤r   rƒ   Á,  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaéd   )Úmax_lené   r   r   rE   r<   r   r’   r“   Nr°   r²   r³   r£   )
rO   r„   r   r<   rQ   rš   r›   rœ   r   r³   s
             r   Útest_custom_max_len_parameterz2TestMessageSplitting.test_custom_max_len_parameter_  s=  € å+àˆÙ˜t¨SÔ1ˆä6‹{Ð˜aÐˆ{˜aÑ××Õˆ{˜a×××××ÑŒs××ÓŒs×××××Ò6××Ó6××Ôˆ{××Ò˜a××××××ÓØó 	$ˆDÜt“9Ð# Ð#9 Ñ#×#×#Õ#9 ×#×#×#×#×#Ñ#”3×#×#Ó#”3×#×#×#×#×#Ò#t×#×#Ó#t×#×#Ô#9×#×#Ò# ×#×#×#×#×#×#Õ#ñ	$r   c                 óÌ  — ddl m} ddz  } ||«      }t        |«      }d}||k\  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndd	t        j                  «       v st        j                  |«      rt        j                  |«      nd	t        j                  |«      t        j                  |«      d
œz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}}|D ]  }	t        |	«      }d}||k  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  |	«      rt        j                  |	«      ndt        j                  |«      t        j                  |«      d
œz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}}Œ d}
|
j                  } ||«      }||k(  }|st        j                  d|fd||f«      t        j                  |
«      t        j                  |«      d	t        j                  «       v st        j                  |«      rt        j                  |«      nd	t        j                  |«      dt        j                  «       v st        j                  |«      rt        j                  |«      nddœz  }dd|iz  }t        t        j                  |«      «      ‚dx}
x}x}}y)uJ   ë‹¨ì¼ ì¤„ì´ max_lenì„ ì´ˆê³¼í•  ê²½ìš° ê°•ì œë¡œ ë¶„í• ë˜ì–´ì•¼ í•œë‹¤r   rƒ   Úzi@  r§   r¨   rª   rE   r<   r   r’   r“   Nr¯   r°   r²   r³   r·   r   r¸   Úsingle_long_liner¹   rº   r»   rÄ   )rO   r„   rÒ   r<   rQ   rš   r›   rœ   r   r³   rž   r½   r¾   s                r   Ú/test_single_line_exceeding_limit_is_force_splitzDTestMessageSplitting.test_single_line_exceeding_limit_is_force_splitj  sê  € å+ð  ™:ÐÙÐ/Ó0ˆä6‹{Ð˜aÐˆ{˜aÑ××Õˆ{˜a×××××ÑŒs××ÓŒs×××××Ò6××Ó6××Ôˆ{××Ò˜a××××××ÓØó 	%ˆDÜt“9Ð$ Ð$9 Ñ$×$×$Õ$9 ×$×$×$×$×$Ñ$”3×$×$Ó$”3×$×$×$×$×$Ò$t×$×$Ó$t×$×$Ô$9×$×$Ò$ ×$×$×$×$×$×$Õ$ð	%àÐ2ˆrw‰wÐ2‰wv‹Ð2ˆÐ"2Ñ2×2×2Ö2ˆÐ"2×2×2Ó2ˆr×2×2Ò2ˆw×2×2×2×2×2Ð2v×2×2Ó2v×2×2Ô2ˆ×2×2×2×2×2Ð2Ð"2×2×2Ó2Ð"2×2×2×2×2×2×2×2Ð2r   N)r{   r|   r}   r~   rŸ   r¤   r¬   r´   r¿   rÅ   rÇ   rÉ   rÏ   rÓ   r   r   r   r   r     s7   „ Ù_ò	'ò&ò ò%ò,ò
1ò
%òò	$ó3r   r   c                   ó¸   — e Zd ZdZej
                  j                  d„ «       Zej
                  j                  d„ «       Zej
                  j                  d„ «       Z	y)ÚTestSendResponseuS   send_response()ê°€ ë©”ì‹œì§€ë¥¼ ì˜¬ë°”ë¥´ê²Œ ë¶„í• í•˜ì—¬ ì „ì†¡í•˜ëŠ”ì§€ í…ŒìŠ¤íŠ¸c              ƒ   ó|  K  — ddl m} t        d¬«      }t        d|d¬«      }t	        |«      }t        «       }dd	z  } ||||«      ƒ d
{  –—†  |j                  }|j                  }d}	||	k\  }
|
sÁt        j                  d|
fd||	f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      t        j                  |	«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d
x}x}x}
}	y
7 Œï­w)uK   ê¸´ ì‘ë‹µì„ ì „ì†¡í•  ë•Œ ì—¬ëŸ¬ ë²ˆ reply_textê°€ í˜¸ì¶œë˜ì–´ì•¼ í•œë‹¤r   ©Úsend_responser/   r0   õ   ì§ˆë¬¸r`   rY   u   ì‘ë‹µ iÐ  Nr§   r¨   )zR%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.reply_text
}.call_count
} >= %(py7)sr    ©r>   rŠ   r‹   Úpy7úassert %(py9)sÚpy9)rC   rØ   r   r   r%   r)   r   Ú
call_countrG   rH   rI   rJ   rK   rL   rM   rN   )rO   rØ   r   r    r$   ÚcontextÚlong_responserR   r˜   Ú@py_assert6rš   Ú@py_format8Ú@py_format10s                r   Ú/test_send_long_response_sends_multiple_messagesz@TestSendResponse.test_send_long_response_sends_multiple_messages€  sá   è ø€ õ 	,ä #Ô&ˆÜ X¸ÈÔSˆÜ˜gÓ&ˆÜ“/ˆà! DÑ(ˆá˜F G¨]Ó;×;Ð;ð ×!Ñ!Ð1Ð!×,Ñ,Ð1°Ð1Ð,°Ñ1×1×1Õ1Ð,°×1×1×1×1×1Ñ1ˆw×1×1Ó1ˆw×1×1Ô1Ð!×1×1Ò1Ð,×1×1Ò1°×1×1×1×1×1×1Ö1ð 	<ús   ‚AD<Á
D:ÁC0D<c              ƒ   ó®  K  — ddl m} t        d¬«      }t        d|d¬«      }t	        |«      }t        «       }d} ||||«      ƒ d	{  –—†  |j                  }|j                  }d
}	||	k(  }
|
sÁt        j                  d|
fd||	f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      t        j                  |	«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}x}x}
}	|j                  j!                  d«       y	7 Œ­w)u@   ì§§ì€ ì‘ë‹µì€ reply_textê°€ í•œ ë²ˆë§Œ í˜¸ì¶œë˜ì–´ì•¼ í•œë‹¤r   r×   r/   r0   rÙ   r`   rY   u   ì§§ì€ ë‹µë³€ìž…ë‹ˆë‹¤.NrŒ   r   ©zR%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.reply_text
}.call_count
} == %(py7)sr    rÚ   rÜ   rÝ   )rC   rØ   r   r   r%   r)   r   rÞ   rG   rH   rI   rJ   rK   rL   rM   rN   Úassert_called_once_with)rO   rØ   r   r    r$   rß   Úshort_responserR   r˜   rá   rš   râ   rã   s                r   Ú-test_send_short_response_sends_single_messagez>TestSendResponse.test_send_short_response_sends_single_message‘  sï   è ø€ õ 	,ä #Ô&ˆÜ X¸ÈÔSˆÜ˜gÓ&ˆÜ“/ˆà2ˆá˜F G¨^Ó<×<Ð<à×!Ñ!Ð1Ð!×,Ñ,Ð1°Ð1Ð,°Ñ1×1×1Õ1Ð,°×1×1×1×1×1Ñ1ˆw×1×1Ó1ˆw×1×1Ô1Ð!×1×1Ò1Ð,×1×1Ò1°×1×1×1×1×1×1Õ1Ø×Ñ×2Ñ2Ð3LÕMð 	=ûs   ‚AEÁEÁDEc              ƒ   óV  K  — ddl m} t        d¬«      }t        d|d¬«      }t	        |«      }t        «       }dd	z  } ||||«      ƒ d
{  –—†  |j                  }|j                  }d}	||	k(  }
|
sÁt        j                  d|
fd||	f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      t        j                  |	«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d
x}x}x}
}	|j                  j                   d   j"                  d   }t%        |«      }d}
||
k  }|söt        j                  d|fd||
f«      dt        j                  «       v st        j                  t$        «      rt        j                  t$        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |
«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d
x}x}}
|j                  j                   d   j"                  d   }t%        |«      }d}
||
k\  }|söt        j                  d|fd||
f«      dt        j                  «       v st        j                  t$        «      rt        j                  t$        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |
«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d
x}x}}
y
7 Œ\­w)uY   send_response()ëŠ” ë¶„í• ëœ ê° ì²­í¬ë¥¼ ìˆœì„œëŒ€ë¡œ reply_textë¡œ ì „ì†¡í•´ì•¼ í•œë‹¤r   r×   r/   r0   rÙ   r`   rY   r¦   i  Nr§   r   ræ   r    rÚ   rÜ   rÝ   r¯   r°   r²   rE   Úfirst_call_textr   r’   r“   rŒ   r¨   rª   Úsecond_call_text)rC   rØ   r   r   r%   r)   r   rÞ   rG   rH   rI   rJ   rK   rL   rM   rN   Úcall_args_listÚargsrE   )rO   rØ   r   r    r$   rß   Útwo_chunk_textrR   r˜   rá   rš   râ   rã   rë   rQ   r›   rœ   r   rì   s                      r   Ú7test_send_response_calls_reply_text_with_correct_chunkszHTestSendResponse.test_send_response_calls_reply_text_with_correct_chunks¢  sF  è ø€ õ 	,ä #Ô&ˆÜ X¸ÈÔSˆÜ˜gÓ&ˆÜ“/ˆð ˜t™ˆá˜F G¨^Ó<×<Ð<à×!Ñ!Ð1Ð!×,Ñ,Ð1°Ð1Ð,°Ñ1×1×1Õ1Ð,°×1×1×1×1×1Ñ1ˆw×1×1Ó1ˆw×1×1Ô1Ð!×1×1Ò1Ð,×1×1Ò1°×1×1×1×1×1×1Õ1à!×,Ñ,×;Ñ;¸AÑ>×CÑCÀAÑFˆÜ?Ó#Ð+ tÐ+Ð# tÑ+×+×+Õ+Ð# t×+×+×+×+×+Ñ+Œs×+×+Ó+Œs×+×+×+×+×+Ò+?×+×+Ó+?×+×+Ô+Ð#×+×+Ò+ t×+×+×+×+×+×+Ó+à"×-Ñ-×<Ñ<¸QÑ?×DÑDÀQÑGÐÜÐ#Ó$Ð)¨Ð)Ð$¨Ñ)×)×)Õ)Ð$¨×)×)×)×)×)Ñ)Œs×)×)Ó)Œs×)×)×)×)×)Ò)Ð#×)×)Ó)Ð#×)×)Ô)Ð$×)×)Ò)¨×)×)×)×)×)×)Ô)ð 	=ûs   ‚AN)Á
N&ÁMN)N)
r{   r|   r}   r~   ÚpytestÚmarkÚasynciorä   ré   rð   r   r   r   rÕ   rÕ   }  s_   „ Ù]à‡[[×Ññ2ó ð2ð  ‡[[×ÑñNó ðNð  ‡[[×Ññ*ó ñ*r   rÕ   )FÚtestuser)rW   r5   )r3   NN)r5   )ÚbuiltinsrI   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterG   ÚosÚsysÚpathÚinsertr¼   ÚdirnameÚ__file__Úunittest.mockr   r   r   rñ   Úpytest_asyncioÚintÚboolÚstrr   r   r   r%   r)   r+   r   rÕ   r   r   r   ú<module>r     s  ðß  „ ƒ	Û 
à ‡‡2—7‘7—<‘< §¡§¡°Ó 9¸4Ó@Ô Aç 5Ñ 5ã Û ñ˜ð  Tð ¸Sð ÐR[ó ñ˜#ð ¨sð Àó ð ØØñØ
ðàðð ðð óð$˜)ð ¨	ó ñ ð °)ó ÷{ñ {÷Fm3ñ m3÷j:*ò :*r   