Ë
    nmœj“5  ã                  ó  — d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZmZmZmZmZ dd	lmZmZmZ dd
lmZmZ ddlmZmZmZ  G d„ d«      Z G d„ d«      Z  e  e!exs d«      exs d«      Z"y)u   ÐŸÐµÑ€Ñ�Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ðµ ÑŽÐ·ÐµÑ€Ð±Ð¾Ñ‚-Ñ�ÐµÑ�Ñ�Ð¸Ð¸: /Ðº Ñ� Ð›Ðš Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†Ð° Ð¸ Ð¼Ð¾Ð½Ð¸Ñ‚Ð¾Ñ€Ð¸Ð½Ð³ ÐºÐ°Ðº Ñƒ catcher.é    )ÚannotationsN)ÚPath)ÚOptional)ÚTelegramClient)ÚSessionPasswordNeededError)Údelete_userbot_session_metaÚfind_owner_by_userbot_idÚlist_userbot_session_ownersÚsave_userbot_session_metaÚuserbot_session_path)ÚAPI_HASHÚAPI_IDÚregister_owner_handlers)Úcollect_dialogsÚfetch_dialog_photo)Ú_friendly_errorÚ_me_payloadÚnormalize_tg_phonec                  ó®   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zddd„Zd d„Zd!d„Zy)"ÚOwnerRuntimec                óò   — t        |«      | _        || _        || _        d | _        d| _        d | _        d | _        d | _        d | _	        t        j                  «       | _        t        «       | _        d | _        y )NÚoffline)ÚintÚowner_tg_idÚapi_idÚapi_hashÚclientÚstatusÚphoneÚphone_code_hashÚmeÚerrorÚasyncioÚLockÚ_lockÚsetÚ_watch_seenÚ	_run_task)Úselfr   r   r   s       ú5/var/www/oz-panel.ru/ozpay-pub/server/userbot_pool.pyÚ__init__zOwnerRuntime.__init__   sf   € Ü˜{Ó+ˆÔØˆŒØ ˆŒØ04ˆŒØˆŒØ$(ˆŒ
Ø.2ˆÔØ"&ˆŒØ$(ˆŒ
Ü—\‘\“^ˆŒ
Ü14³ˆÔØ15ˆ�ó    c                ó`   — | j                   | j                  | j                  | j                  dœS )N©r   r   r"   r!   r.   ©r)   s    r*   ÚsnapshotzOwnerRuntime.snapshot)   s(   € à—k‘kØ—Z‘ZØ—Z‘ZØ—'‘'ñ	
ð 	
r,   c                ó´   — t        | j                  | j                  xs | j                  xs i j	                  d«      | j                  | j
                  ¬«       y )Nr   )r   r!   r   )r   r   r   r!   Úgetr   r/   s    r*   Ú_persistzOwnerRuntime._persist1   s@   € Ü!Ø×ÑØ—*‘*Ò< §¡¢¨B× 3Ñ 3°GÓ <Ø�w‰wØ—;‘;ö		
r,   c              ƒ  óþ   K  — | j                   r| j                  st        d«      ‚t        t	        | j
                  «      | j                   | j                  «      }t        || j
                  | j                  «       |S ­w)Nu)   Ð�Ðµ Ð·Ð°Ð´Ð°Ð½Ñ‹ TG_API_ID / TG_API_HASH)r   r   ÚRuntimeErrorr   r   r   r   r'   ©r)   r   s     r*   Ú_new_clientzOwnerRuntime._new_client9   sa   è ø€ Ø�{Š{ $§-¢-ÜÐJÓKÐKÜÔ 4°T×5EÑ5EÓ FÈÏÉÐUY×UbÑUbÓcˆÜ ¨×(8Ñ(8¸$×:JÑ:JÔKØˆùs   ‚A;A=c              ƒ  óJ  K  — | j                   €| j                  «       ƒ d {  –—† | _         | j                   j                  «       s"| j                   j                  «       ƒ d {  –—†  t	        | j                   | j
                  | j                  «       | j                   S 7 Œ|7 Œ=­w©N)r   r7   Úis_connectedÚconnectr   r   r'   r/   s    r*   Úensure_clientzOwnerRuntime.ensure_client@   sx   è ø€ Ø�;‰;ÐØ $× 0Ñ 0Ó 2×2ˆDŒKØ�{‰{×'Ñ'Ô)Ø—+‘+×%Ñ%Ó'×'Ð'Ü §¡¨T×-=Ñ-=¸t×?OÑ?OÔPØ�{‰{Ðð	 3øà'ús"   ‚ B#¢B£A B#Á#B!Á$<B#Â!B#c              ƒ  ó”  K  — | j                   }d | _         | j                  �œ	 | j                  j                  «       rE| j                  j                  «       ƒ d {  –—† r#| j                  j	                  «       ƒ d {  –—†  n<| j                  j                  «       r"| j                  j                  «       ƒ d {  –—†  d | _        |r|j                  «        	 |ƒ d {  –—†  y y 7 Œ‰7 Œi7 Œ.# t        $ r7 	 | j                  j                  «       ƒ d {  –—†7   n# t        $ r Y nw xY wY Œkw xY w7 ŒO# t        j                  $ r Y y w xY w­wr9   )
r(   r   r:   Úis_user_authorizedÚlog_outÚ
disconnectÚ	ExceptionÚcancelr#   ÚCancelledError©r)   Útasks     r*   Ú_drop_clientzOwnerRuntime._drop_clientH   s  è ø€ Ø�~‰~ˆØˆŒØ�;‰;Ð"ð	Ø—;‘;×+Ñ+Ô-¸¿¹×8VÑ8VÓ8X×2XÐ2XØŸ+™+×-Ñ-Ó/×/Ñ/Ø—[‘[×-Ñ-Ô/ØŸ+™+×0Ñ0Ó2×2Ð2ð ˆŒÙØ�K‰KŒMðØ—
‘
ð ð 3YøØ/øà2ùÜò ðØŸ+™+×0Ñ0Ó2×2Ò2øÜ ò Ùðüðúð ùÜ×)Ñ)ò ÙðüsÄ   ‚ E£7C* ÁC$Á!C* Á<C&Á=<C* Â9C(Â:C* Â>EÃD/ ÃD-ÃD/ Ã"EÃ$C* Ã&C* Ã(C* Ã*	D*Ã4DÄDÄDÄD*Ä	D$Ä!D*Ä#D$Ä$D*Ä'EÄ)D*Ä*EÄ-D/ Ä/EÅEÅEÅEc              ƒ  óD  K  — | j                   r| j                   j                  d«      sy t        t        | j                   d   «      «      }|�O|| j                  k7  r?| j                  «       ƒ d {  –—†  d | _         d | _        d | _        d| _        t        d«      ‚y y 7 Œ-­w)NÚidÚ
logged_outue   Ð­Ñ‚Ð¾Ñ‚ Telegram-Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚ ÑƒÐ¶Ðµ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ñ‘Ð½ Ñƒ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ�)
r!   r2   r	   r   r   rF   r   r    r   r5   )r)   Úothers     r*   Ú_ensure_unique_accountz#OwnerRuntime._ensure_unique_account^   s˜   è ø€ Ø�wŠw˜dŸg™gŸk™k¨$Ô/ØÜ(¬¨T¯W©W°T©]Ó);Ó<ˆØÐ ¨$×*:Ñ*:Ò!:Ø×#Ñ#Ó%×%Ð%ØˆDŒGØˆDŒJØ#'ˆDÔ Ø&ˆDŒKÜð   Gó  Hð  Hð ";ÐØ%ús   ‚A.B Á0BÁ1.B c              ƒ  ó  K  — | j                   }|€y 	 |j                  «       ƒ d {  –—†  | j
                  dk(  rd| _        | j                  «        y y 7 Œ,# t        $ r%}t        d| j                  › d|› �«       Y d }~ŒSd }~ww xY w­w)Nz	userbot [z] disconnected: Úonliner   )r   Úrun_until_disconnectedrA   Úprintr   r   r3   ©r)   r   Úexcs      r*   Ú_keep_alivezOwnerRuntime._keep_alivej   sˆ   è ø€ Ø—‘ˆØˆ>Øð	GØ×/Ñ/Ó1×1Ð1ð �;‰;˜(Ò"Ø#ˆDŒKØ�M‰M�Oð #ð 2ùÜò 	GÜ�I˜d×.Ñ.Ð/Ð/?À¸uÐE×FÑFûð	Güs=   ‚B“A ¦A§A «(BÁA Á	BÁA>Á9BÁ>BÂBc                ó¢   — | j                   �| j                   j                  «       r)t        j                  | j	                  «       «      | _         y y r9   )r(   Údoner#   Úcreate_taskrR   r/   s    r*   Ú_ensure_run_taskzOwnerRuntime._ensure_run_taskv   s;   € Ø�>‰>Ð! T§^¡^×%8Ñ%8Ô%:Ü$×0Ñ0°×1AÑ1AÓ1CÓDˆD�Nð &;r,   c              ƒ  ó~  K  — t        || j                  | j                  «       t        |j	                  «       ƒ d {  –—† «      | _        | j                  «       ƒ d {  –—†  d| _        d | _        d | _	        d | _
        	 |j                  «       ƒ d {  –—†  | j                  «        y 7 Œk7 ŒL7 Œ# t        $ r Y Œ"w xY w­w)NrM   )r   r   r'   r   Úget_mer!   rK   r   r"   r   r    Úcatch_uprA   rV   r6   s     r*   Ú
_go_onlinezOwnerRuntime._go_onlinez   s¥   è ø€ Ü ¨×(8Ñ(8¸$×:JÑ:JÔKÜ F§M¡M£O×3Ó4ˆŒØ×)Ñ)Ó+×+Ð+ØˆŒØˆŒ
ØˆŒ
Ø#ˆÔð	Ø—/‘/Ó#×#Ð#ð 	×ÑÕð 4øØ+øð $ùÜò 	Ùð	üsW   ‚:B=¼B(½ B=ÁB*Á B=Á?B. ÂB,ÂB. ÂB=Â*B=Â,B. Â.	B:Â7B=Â9B:Â:B=c              ƒ  óü  K  — | j                   4 ƒd {  –—†  	 | j                  «       ƒ d {  –—† }|j                  «       ƒ d {  –—† r| j                  |«      ƒ d {  –—†  nd| _        d | _        d | _        | j                  «        | j                  «       cd d d «      ƒd {  –—†  S 7 Œ•7 Œ~7 Œh7 ŒQ# t        $ r(}d| _        t        |«      | _        d | _        Y d }~Œed }~ww xY w7 ŒA# 1 ƒd {  –—†7  sw Y   y xY w­w)NrI   r"   )r%   r<   r>   rZ   r   r!   r"   rA   r   r3   r0   rP   s      r*   ÚbootzOwnerRuntime.bootˆ   sØ   è ø€ Ø—:‘:÷ 	#ñ 	#ðØ#×1Ñ1Ó3×3�Ø×2Ñ2Ó4×4Ð4ØŸ/™/¨&Ó1×1Ñ1à".�D”KØ"�D”GØ!%�D”Jð
 �M‰MŒOØ—=‘=“?÷	#÷ 	#ò 	#øà3øØ4øØ1ùô
 ò Ø%�”Ü,¨SÓ1�”
Ø�—‘ûðúð	#ø÷ 	#÷ 	#ñ 	#üs¡   ‚C<“B)”C<—C'™B1¬B+­B1ÁB-ÁB1ÁB/ÁB1Á8C'ÂC<Â#C%Â$C<Â+B1Â-B1Â/B1Â1	C"Â:CÃC'ÃC"Ã"C'Ã%C<Ã'C9Ã-C0Ã.C9Ã5C<c              ƒ  óø  K  — | j                   4 ƒd {  –—†  | j                  }d | _        | j                  �#	 | j                  j                  «       ƒ d {  –—†  d | _        |r|j                  «        	 |ƒ d {  –—†  | j                  dk(  rd| _        | j                  «        d d d «      ƒd {  –—†  y 7 Œ¡7 Œa# t        $ r Y Œjw xY w7 ŒN# t        j                  $ r Y Œaw xY w7 Œ3# 1 ƒd {  –—†7  sw Y   y xY w­w)NrM   r   )
r%   r(   r   r@   rA   rB   r#   rC   r   r3   rD   s     r*   ÚshutdownzOwnerRuntime.shutdown™   sä   è ø€ Ø—:‘:÷ 	 ñ 	 Ø—>‘>ˆDØ!ˆDŒNØ�{‰{Ð&ðØŸ+™+×0Ñ0Ó2×2Ð2ð ˆDŒKÙØ—‘”ðØ—J�Jð �{‰{˜hÒ&Ø'�”Ø—‘”÷#	 ÷ 	 ñ 	 øð
 3ùÜ ò Ùðúð ùÜ×-Ñ-ò Ùðúð	 ø÷ 	 ÷ 	 ñ 	 üs¯   ‚C:“B5”C:— C%¸B9ÁB7ÁB9ÁC%Á4C
Á9CÁ:C
Á>&C%Â$C:Â/C#Â0C:Â7B9Â9	CÃC%ÃCÃC%ÃC
Ã
C ÃC%ÃC Ã C%Ã#C:Ã%C7Ã+C.Ã,C7Ã3C:c              ƒ  ó  K  — t        |«      }| j                  4 ƒd {  –—†  	 | j                  «       ƒ d {  –—† }|j                  «       ƒ d {  –—† rJ| j	                  |«      ƒ d {  –—†  | j                  «        | j                  «       cd d d «      ƒd {  –—†  S |j                  |«      ƒ d {  –—† }|| _        |j                  | _	        d| _
        d | _        d | _        | j                  «        | j                  «       cd d d «      ƒd {  –—†  S 7 Œö7 Œß7 ŒÉ7 Œ²7 Œ„7 Œl# t        $ rB}d| _
        t        |«      | _        | j                  «        t        | j                  «      |‚d }~ww xY w7 Œ_# 1 ƒd {  –—†7  sw Y   y xY w­w)NÚawaiting_coderI   )r   r%   r<   r>   rZ   r3   r0   Úsend_code_requestr   r    r   r"   r!   rA   r   r5   )r)   Ú	phone_rawr   r   ÚsentrQ   s         r*   Úrequest_codezOwnerRuntime.request_code­   sJ  è ø€ Ü" 9Ó-ˆØ—:‘:÷ 	#ñ 	#ð8Ø#×1Ñ1Ó3×3�Ø×2Ñ2Ó4×4Ð4ØŸ/™/¨&Ó1×1Ð1Ø—M‘M”OØŸ=™=›?÷	#÷ 	#ñ 	#ð $×5Ñ5°eÓ<×<�Ø"�”
Ø'+×';Ñ';�Ô$Ø-�”Ø!�”
Ø�”ð �M‰MŒOØ—=‘=“?÷'	#÷ 	#ò 	#øà3øØ4øØ1øð		#øð =ùô ò 8Ø*�”Ü,¨SÓ1�”
Ø—‘”Ü" 4§:¡:Ó.°CÐ7ûð	8úð	#ø÷ 	#÷ 	#ñ 	#üsË   ‚FžDŸF¢E1¤D!·D¸D!ÁDÁD!Á(DÁ)#D!ÂFÂDÂFÂD!Â2DÂ31D!Ã$E1ÄFÄE/ÄFÄD!ÄD!ÄD!ÄFÄD!Ä!	E,Ä*=E'Å'E,Å,E1Å/FÅ1FÅ7E:Å8FÅ?Fc              ƒ  ó0  K  — t        j                  ddt        |xs d«      «      }t        |«      dk  rt	        d«      ‚| j
                  4 ƒd {  –—†  | j                  dvrt        d«      ‚| j                  st        d«      ‚	 | j                  «       ƒ d {  –—† }|j                  | j                  || j                  ¬«      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  | j#                  «        | j%                  «       cd d d «      ƒd {  –—†  S 7 ŒÇ7 Œ€7 ŒR7 Œ;# t        $ r d	| _        d | _        Y ŒRt        $ r;}t!        |«      | _        | j#                  «        t        | j                  «      |‚d }~ww xY w7 Œl# 1 ƒd {  –—†7  sw Y   y xY w­w)
Nz\DÚ é   u#   Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÐºÐ¾Ð´ Ð¸Ð· Telegram)r`   Úawaiting_passwordu(   Ð¡Ð½Ð°Ñ‡Ð°Ð»Ð° Ð·Ð°Ð¿Ñ€Ð¾Ñ�Ð¸Ñ‚Ðµ ÐºÐ¾Ð´u   Ð�Ð¾Ð¼ÐµÑ€ Ð½Ðµ Ð·Ð°Ð´Ð°Ð½)r   Úcoder    rh   )ÚreÚsubÚstrÚlenÚ
ValueErrorr%   r   r5   r   r<   Úsign_inr    rZ   r   r"   rA   r   r3   r0   )r)   Úcode_rawri   r   rQ   s        r*   Úsubmit_codezOwnerRuntime.submit_codeÄ   sc  è ø€ Ü�v‰v�e˜R¤ X¢^°Ó!4Ó5ˆÜˆt‹9�qŠ=ÜÐBÓCÐCØ—:‘:÷ 	#ñ 	#Ø�{‰{Ð"HÑHÜ"Ð#MÓNÐNØ—:’:Ü"Ð#?Ó@Ð@ð8Ø#×1Ñ1Ó3×3�Ø—n‘nØŸ*™*ØØ$(×$8Ñ$8ð %ó ÷ ð ð
 —o‘o fÓ-×-Ð-ð �M‰MŒOØ—=‘=“?÷+	#÷ 	#ò 	#øð 4øðøð
 .ùÜ-ò "Ø1�”Ø!�–
Üò 8Ü,¨SÓ1�”
Ø—‘”Ü" 4§:¡:Ó.°CÐ7ûð8úð!	#ø÷ 	#÷ 	#ñ 	#üs®   ‚AFÁDÁFÁ1FÂD ÂDÂ/D Ã	DÃ
D Ã"DÃ#D Ã'FÄFÄE?ÄFÄD ÄD ÄD Ä E<Ä7FÄ9E<Å6E7Å7E<Å<FÅ?FÆFÆF
ÆFÆFc              ƒ  óf  K  — t        |xs d«      }|st        d«      ‚| j                  4 ƒd {  –—†  | j                  dk7  rt	        d«      ‚	 | j                  «       ƒ d {  –—† }|j                  |¬«      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  | j                  «        | j                  «       cd d d «      ƒd {  –—†  S 7 Œ›7 Œj7 ŒR7 Œ;# t        $ r;}t        |«      | _
        | j                  «        t	        | j                  «      |‚d }~ww xY w7 ŒT# 1 ƒd {  –—†7  sw Y   y xY w­w)Nrf   u   Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ 2FArh   u)   Ð¡ÐµÐ¹Ñ‡Ð°Ñ� Ð¿Ð°Ñ€Ð¾Ð»ÑŒ Ð½Ðµ Ð½ÑƒÐ¶ÐµÐ½)Úpassword)rl   rn   r%   r   r5   r<   ro   rZ   rA   r   r"   r3   r0   )r)   rs   r   rQ   s       r*   Úsubmit_passwordzOwnerRuntime.submit_passwordß   s  è ø€ Ü�x’~ 2Ó&ˆÙÜÐ>Ó?Ð?Ø—:‘:÷ 	#ñ 	#Ø�{‰{Ð1Ò1Ü"Ð#NÓOÐOð8Ø#×1Ñ1Ó3×3�Ø—n‘n¨h�nÓ7×7Ð7Ø—o‘o fÓ-×-Ð-ð
 �M‰MŒOØ—=‘=“?÷	#÷ 	#ò 	#øð 4øØ7øØ-ùÜò 8Ü,¨SÓ1�”
Ø—‘”Ü" 4§:¡:Ó.°CÐ7ûð8úð	#ø÷ 	#÷ 	#ñ 	#üsž   ‚-D1¯C°D1³DÁCÁ"CÁ#CÁ<CÁ=CÂCÂCÂDÂ9D1ÃDÃD1ÃCÃCÃCÃ	DÃ6DÄDÄDÄD1ÄD.Ä"D%Ä#D.Ä*D1c              ƒ  óê  K  — | j                   4 ƒd {  –—†  d | _        d | _        d | _        	 | j	                  «       ƒ d {  –—† }|j                  «       ƒ d {  –—† r| j                  |«      ƒ d {  –—†  nd | _        d| _        | j                  «        | j                  «       cd d d «      ƒd {  –—†  S 7 Œ£7 Œw7 Œa7 ŒJ# t        $ r d | _        d| _        Y ŒRw xY w7 Œ*# 1 ƒd {  –—†7  sw Y   y xY w­w)NrI   )r%   r   r    r"   r<   r>   rZ   r!   r   rA   r3   r0   r6   s     r*   Úcancel_loginzOwnerRuntime.cancel_loginñ   sÚ   è ø€ Ø—:‘:÷ 	#ñ 	#ØˆDŒJØ#'ˆDÔ ØˆDŒJð	+Ø#×1Ñ1Ó3×3�Ø×2Ñ2Ó4×4Ð4ØŸ/™/¨&Ó1×1Ñ1à"�D”GØ".�D”Kð �M‰MŒOØ—=‘=“?÷	#÷ 	#ò 	#øð
 4øØ4øØ1ùô ò +Ø�”Ø*�–ð+úð	#ø÷ 	#÷ 	#ñ 	#üs�   ‚C3“B7”C3—C®B?ÁB9ÁB?ÁB;ÁB?Á2B=Á3B?ÂCÂ%C3Â1CÂ2C3Â9B?Â;B?Â=B?Â?CÃCÃCÃCÃC3ÃC0Ã$C'Ã%C0Ã,C3c              ƒ  ó@  K  — | j                   4 ƒd {  –—†  | j                  �œ	 | j                  j                  «       rE| j                  j                  «       ƒ d {  –—† r#| j                  j	                  «       ƒ d {  –—†  n<| j                  j                  «       r"| j                  j                  «       ƒ d {  –—†  | j                  }d | _        d | _        d | _        d | _        d | _        d | _	        d| _        | j"                  j%                  «        t'        | j(                  «       t+        t-        | j(                  «      dz   «      }t+        t-        | j(                  «      dz   «      }||fD ]  }	 |j/                  d¬«       Œ |r|j5                  «        	 |ƒ d {  –—†  	 | j;                  «       ƒ d {  –—†  | j=                  «        | j?                  «       cd d d «      ƒd {  –—†  S 7 �ŒÞ7 �Œ˜7 �Œy7 �Œ?# t        j                  $ r+}t        |«      | _	        t        | j                  «      |‚d }~wt        $ r8 	 | j                  j                  «       ƒ d {  –—†7   n# t        $ r Y nw xY wY �Œ¹w xY w# t0        $ r$ |j3                  «       r|j/                  «        Y �Œ7t        $ r Y �ŒBw xY w7 �Œ# t6        j8                  $ r Y �Œ*w xY w7 �Œ# t        $ r"}d| _        t        |«      | _	        Y d }~�Œ>d }~ww xY w7 �Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)NrI   z.sessionz.session-journalT)Ú
missing_okr"   ) r%   r   r:   r>   r?   r@   Úsqlite3ÚOperationalErrorr   r"   r5   rA   r(   r!   r   r    r   r'   Úclearr   r   r   r   ÚunlinkÚ	TypeErrorÚexistsrB   r#   rC   r<   r3   r0   )r)   rQ   rE   ÚpathÚjournalÚitems         r*   ÚlogoutzOwnerRuntime.logout  s˜  è ø€ Ø—:‘:÷ /	#ñ /	#Ø�{‰{Ð&ðØ—{‘{×/Ñ/Ô1¸D¿K¹K×<ZÑ<ZÓ<\×6\Ð6\Ø"Ÿk™k×1Ñ1Ó3×3Ñ3ØŸ™×1Ñ1Ô3Ø"Ÿk™k×4Ñ4Ó6×6Ð6ð —>‘>ˆDØ!ˆDŒNØˆDŒKØˆDŒGØˆDŒJØ#'ˆDÔ ØˆDŒJØ&ˆDŒKØ×Ñ×"Ñ"Ô$Ü'¨×(8Ñ(8Ô9ÜÔ,¨T×-=Ñ-=Ó>ÀÑKÓLˆDÜÔ/°×0@Ñ0@ÓAÐDVÑVÓWˆGØ˜w˜ò �ðØ—K‘K¨4�KÕ0ðñ Ø—‘”ðØ—J�Jð2Ø×(Ñ(Ó*×*Ð*ð �M‰MŒOØ—=‘=“?÷_/	#÷ /	#ò /	#ùð 7]ùØ3ùà6úÜ×/Ñ/ò <Ü!0°Ó!5�D”JÜ& t§z¡zÓ2¸Ð;ûÜ ò ðØ"Ÿk™k×4Ñ4Ó6×6Ò6øÜ$ò Ùðýðûô( !ò &Ø—{‘{”}ØŸ™œúÜ ò Úðúð
 úÜ×-Ñ-ò Úðúð +úÜò 2Ø%�”Ü,¨SÓ1�—
’
ûð2úðW/	#ù÷ /	#÷ /	#ñ /	#üsv  ‚L“G1”L—L	¥7G=ÁG4Á!G=Á>G7Á?<G=Â;G:Â<G=Ã B5L	Å6I=ÆL	ÆJ;Æ"J8Æ#J;Æ(KÆ;KÆ<KÇ L	ÇLÇ+LÇ,LÇ4G=Ç7G=Ç:G=Ç=I:È&H6È6I:ÉI'É I#É!I'É&I:É'	I3É0I:É2I3É3I:É6L	É9I:É:L	É=)J5Ê&L	Ê)J5Ê1L	Ê4J5Ê5L	Ê8J;Ê;KËL	ËKËL	ËKË	LË!K>Ë8L	Ë>LÌL	ÌLÌ	LÌLÌLÌLc              ƒ  ó¦   K  — | j                   }|�|j                  «       r| j                  dk7  rt        d«      ‚t	        ||«      ƒ d {  –—† S 7 Œ­w©NrM   õ   Ð®Ð·ÐµÑ€Ð±Ð¾Ñ‚ Ð½Ðµ Ð² Ñ�ÐµÑ‚Ð¸)r   r:   r   r5   r   )r)   Úlimitr   s      r*   Úlist_dialogszOwnerRuntime.list_dialogs5  sI   è ø€ Ø—‘ˆØˆ> ×!4Ñ!4Ô!6¸$¿+¹+ÈÒ:QÜÐ@ÓAÐAÜ$ V¨UÓ3×3Ð3Ð3ús   ‚AAÁ
AÁAc              ƒ  óà   K  — | j                   }|�|j                  «       r| j                  dk7  rt        d«      ‚t	        |t        | j                  «      t        |«      «      ƒ d {  –—† S 7 Œ­wr„   )r   r:   r   r5   r   rl   r   r   )r)   Úchat_idr   s      r*   Údialog_photozOwnerRuntime.dialog_photo;  sZ   è ø€ Ø—‘ˆØˆ> ×!4Ñ!4Ô!6¸$¿+¹+ÈÒ:QÜÐ@ÓAÐAÜ'¨´°D×4DÑ4DÓ0EÄsÈ7Ã|ÓT×TÐTÐTús   ‚A%A.Á'A,Á(A.c              ƒ  óÐ   K  — | j                   r| j                   j                  d«      st        d«      ‚| j                  t	        | j                   d   «      «      ƒ d {  –—† S 7 Œ­w)NrH   r…   )r!   r2   r5   rŠ   r   r/   s    r*   Ú
self_photozOwnerRuntime.self_photoA  sL   è ø€ Ø�wŠw˜dŸg™gŸk™k¨$Ô/ÜÐ@ÓAÐAØ×&Ñ&¤s¨4¯7©7°4©=Ó'9Ó:×:Ð:Ð:ús   ‚AA&ÁA$Á A&N)r   r   r   r   r   rl   ÚreturnÚNone)r�   Údict©r�   rŽ   )r�   r   )r   r   r�   rŽ   )rb   rl   r�   r�   )rp   rl   r�   r�   )rs   rl   r�   r�   )éÈ   )r†   r   r�   z
list[dict])r‰   r   r�   úOptional[bytes])r�   r’   )Ú__name__Ú
__module__Ú__qualname__r+   r0   r3   r7   r<   rF   rK   rR   rV   rZ   r\   r^   rd   rq   rt   rv   r‚   r‡   rŠ   rŒ   © r,   r*   r   r      sj   „ ó6ó
ó
óóóó,
Hó
óEó ó#ó" ó(#ó.#ó6#ó$#ó$0#ôd4óUô;r,   r   c                  ó,   — e Zd Zdd„Zdd„Zdd„Zdd„Zy)	ÚUserbotPoolc                ó`   — || _         || _        i | _        t        j                  «       | _        y r9   )r   r   Ú	_sessionsr#   r$   r%   )r)   r   r   s      r*   r+   zUserbotPool.__init__H  s$   € ØˆŒØ ˆŒØ24ˆŒÜ—\‘\“^ˆ�
r,   c              ƒ  ó<  K  — t        |«      }| j                  4 ƒd {  –—†  | j                  j                  |«      }|€0t	        || j
                  | j                  «      }|| j                  |<   |cd d d «      ƒd {  –—†  S 7 Œd7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­wr9   )r   r%   rš   r2   r   r   r   )r)   r   Úruntimes      r*   r2   zUserbotPool.getN  s†   è ø€ Ü˜+Ó&ˆØ—:‘:÷ 	ñ 	Ø—n‘n×(Ñ(¨Ó5ˆGØˆÜ& {°D·K±KÀÇÁÓO�Ø.5�—‘˜{Ñ+Ø÷	÷ 	ò 	øð 	ø÷ 	÷ 	ñ 	üsE   ‚BžBŸB¢ABÁ1BÁ=BÁ>BÂBÂBÂBÂBÂBc              ƒ  óŒ  K  — t        «       }t        dt        |«      › d�«       |D ]l  }| j                  |«      ƒ d {  –—† }	 |j	                  «       ƒ d {  –—†  t        d|› d|j
                  › �«       t        j                  d«      ƒ d {  –—†  Œn y 7 ŒX7 ŒA# t        $ r}t        d|› d|› �«       Y d }~ŒCd }~ww xY w7 Œ2­w)Nu   userbot pool: Ð¿Ð¾Ð´Ð½Ð¸Ð¼Ð°ÑŽ u    Ñ�ÐµÑ�Ñ�Ð¸Ð¹zuserbot pool: owner z -> z boot failed: g333333Ã?)	r
   rO   rm   r2   r\   r   rA   r#   Úsleep)r)   ÚownersÚowner_idrœ   rQ   s        r*   Úboot_allzUserbotPool.boot_allW  s½   è ø€ Ü,Ó.ˆÜÐ/´°F³¨}¸MÐJÔKØò 	&ˆHØ ŸH™H XÓ.×.ˆGðLØ—l‘l“n×$Ð$ÜÐ,¨X¨J°d¸7¿>¹>Ð:JÐKÔLô —-‘- Ó%×%Ñ%ñ	&Ø.øà$ùäò LÜÐ,¨X¨J°nÀSÀEÐJ×KÑKûðLúà%úsW   ‚<C¾B¿CÁBÁBÁBÁ7CÂCÂCÂBÂ	B?Â$B:Â5CÂ:B?Â?Cc              ƒ  óN  K  — | j                   4 ƒd {  –—†  t        | j                  j                  «       «      }d d d «      ƒd {  –—†  t	        j
                  D �cg c]  }|j                  «       ‘Œ c}ddiŽƒ d {  –—†  y 7 Œq7 Œ@# 1 ƒd {  –—†7  sw Y   ŒPxY wc c}w 7 Œ#­w)NÚreturn_exceptionsT)r%   Úlistrš   Úvaluesr#   Úgatherr^   )r)   Úitemsr�   s      r*   Úshutdown_allzUserbotPool.shutdown_allc  s‚   è ø€ Ø—:‘:÷ 	2ñ 	2Ü˜Ÿ™×.Ñ.Ó0Ó1ˆE÷	2÷ 	2ä�n‰n¸5ÖA°4˜tŸ}™}�ÒAÐZÐUYÑZ×ZÑZð	2øð 	2ø÷ 	2÷ 	2ñ 	2üâAÐZús[   ‚B%“B”B%—$B	»B%ÁBÁB%ÁBÁ5
B%Á?B#Â B%ÂB%Â	BÂBÂBÂB%N)r   r   r   rl   r�   rŽ   )r   r   r�   r   r�   )r“   r”   r•   r+   r2   r¡   r¨   r–   r,   r*   r˜   r˜   G  s   „ ó$óó
&ô[r,   r˜   rf   )#Ú__doc__Ú
__future__r   r#   rj   ry   Úpathlibr   Útypingr   Útelethonr   Útelethon.errorsr   Ú
api.db_apir   r	   r
   r   r   Úserver.userbotr   r   r   Úserver.userbot_mediar   r   Úserver.userbot_servicer   r   r   r   r˜   r   Úpoolr–   r,   r*   ú<module>r´      st   ðñ Få "ã Û 	Û Ý Ý å #Ý 6÷õ ÷ EÑ Dß Dß SÑ S÷j;ñ j;÷Z	[ñ [ñD ‘3�v’{ Ó# X¢^°Ó4�r,   