
    *biw                        S SK JrJrJrJr  S SKJr  S SK	J
r
Jr  S SKJrJr  S SKJr  S SKJrJr  S SKJr  S SKJrJrJr  S S	KJr  S S
KJr  S SKJr  S SK J!r!  SSK"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3J4r4J5r5  SSK6J7r7  SSK8J9r9  SSK:J;r;  SSK<J=r=  SSK>J?r?  SSK@JArA  SSKBJCrCJDrDJErEJFrFJGrGJHrHJIrI  SSKJJKrKJLrLJMrMJNrN  SSKOJPrPJQrQJRrRJSrSJTrT  SSKUJVrVJWrWJXrXJYrY   " S S5      rZg)     )pathremovemakedirslistdir)open)sleepgather)walkr   )token_urlsafe)movermtree)
ChatAction)subIfindall)split)Counter)deepcopy)	natsorted   )	user_data
multi_tagsLOGGERtask_dict_lock	task_dictexcluded_extensionsincluded_extensionscpu_eater_lock	intervalsDOWNLOAD_DIRcores)Config)TgClient   )new_tasksync_to_asyncget_size_bytes)extract_bulk_links)GoogleDriveList)
RcloneList)SevenZStatus)FFmpegStatus)BotCommands)get_base_nameis_first_archive_split
is_archiveis_archive_splitget_path_size
split_fileSevenZ)is_gdrive_idis_rclone_pathis_gdrive_linkis_telegram_link)create_thumbtake_ssget_document_typeFFMpegffconcat_escape)send_messagesend_status_messageget_tg_link_messagetemp_downloadc                       \ rS rSrS rS rS rS rS rS\	4S jr
\S	 5       rS
 rS rS rS rS rS rS rS rS rSrg)
TaskConfigB   c                    U R                   R                  U l        U R                   R                  =(       d    U R                   R                  U l        U R
                  R                  U l        [        R                  " U R                  0 5      U l	        0 U l
        [         U R                   3U l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l         SU l!        SU l"        SU l#        SU l$        SU l%        SU l&        SU l'        SU l(        SU l)        SU l*        SU l(        SU l'        SU l+        SU l,        SU l-        SU l.        SU l/        SU l0        SU l1        SU l2        SU l3        SU l4        SU l5        SU l6        SU l7        SU l8        SU l9        SU l:        SU l;        SU l<        SU l=        S U l>        S U l?        S U l@        S U lA        / U lB        / U lC        / U lD        U R                   R                  R                  R$                  S;   U lG        g )N r   FT)
SUPERGROUPCHANNELFORUM)Hmessageidmid	from_usersender_chatuseruser_idr   get	user_dictclone_dump_chatsr    dirup_dirlinkup_destrc_flagstagnamesubnamename_subthumbnail_layoutfolder_name
split_sizemax_split_sizemultisizesubsizeproceed_countis_leechis_qbitis_nzbis_jdis_cloneis_ytdlpis_gallerydlequal_splitsuser_transmissionhybrid_leechextractcompressselectseedjoinprivate_linkstop_duplicatesample_videoconvert_audioconvert_videoscreen_shotsis_cancelled	force_runforce_downloadforce_upload
is_torrentas_medas_docis_file	bot_trans
user_transis_rssprogressffmpeg_cmdschat_thread_idsubprocthumbr   r   files_to_proceedchattypeis_super_chat)selfs    /app/bot/helper/common.py__init__TaskConfig.__init__C   sF   <<??LL**Fdll.F.F	yy||"t||R8 ""^DHH:.		 "
	
!!!&!		!#!""!!#!"
#% #%  "!\\..3388 =
 
    c                     UR                  S5      (       a  SU R                   S3$ UR                  S5      (       d+  [        R                  (       a  UR                  S5      (       d  gg)Nmtp:tokens/z.picklesa:tp:accountsztoken.pickle)
startswithrP   r"   USE_SERVICE_ACCOUNTSr   dests     r   get_token_pathTaskConfig.get_token_path   sQ    ??6""T\\N'22OOE""**OOE**!r   c                 R    UR                  S5      (       a  SU R                   S3$ S$ )Nmrcc:zrclone/z.confrclone.conf)r   rP   r   s     r   get_config_pathTaskConfig.get_config_path   s-    -1__W-E-Egdll^5)	
KX	
r   c                 
  #    [        U5      (       aW  U R                  U5      nUS:w  a  US:X  a  SU l        [        R                  " U5      I S h  vN (       d  [        SU S35      eg US:X  a  [        U5      (       d  US:X  ax  [        U5      (       ag  U R                  U5      nUR                  S5      (       a  US:X  a  SU l        [        R                  " U5      I S h  vN (       d  [        SU S35      eg g g  N N7f)	Nr   upTzRclone Config: z not Exists!dlr   z
NO TOKEN! )
r6   r   rt   aiopathexists
ValueErrorr7   r5   r   r   )r   r   statusconfig_path
token_paths        r   is_token_existsTaskConfig.is_token_exists   s     $..t4Km+$$(! 444 ?;-|!LMM 5 dNt$$~T"",,T2J$$Y//FdN$(! 
333 :j\!FGG 4 #  5 4s%   ADC?BD#D$DDc           	      /  #    U R                   =(       dE    U R                  R                  SS5      =(       d"    SU R                  ;  a  [        R                  OSU l         U R                   (       a?  U R                   R                  S5       Vs/ s H  oR                  S5      PM     snU l         U R                  R                  S5      =(       d    SU R                  ;  a  [        OSS/U l        U R                  R                  S	5      =(       d    S	U R                  ;  a  [        O/ U l        U R                  (       do  U R                  R                  S
5      (       a  U R                  S
   U l        O:S
U R                  ;  a*  [        R                  (       a  [        R                  U l        U R                  S;  Ga<  U R                  (       Gd(  [        U R                  5      (       a{  U R                  R                  S5      (       d5  U R                  R                  SS5      (       a  SU R                   3U l
        U R                  U R                  S5      I S h  vN   GO[        U R                  5      (       ay  U R                  R                  S5      (       d5  U R                  R                  SS5      (       a  SU R                   3U l
        U R                  U R                  S5      I S h  vN   GO3U R                  S:X  a  U R                   (       dx  U R                  (       dg  U R"                  (       dV  [%        U 5      R'                  S5      I S h  vN U l
        [        U R                  5      (       d  [)        U R                  5      eOU R                  S:X  a  U R                   (       dx  U R                  (       dg  U R"                  (       dV  [+        U 5      R-                  S5      I S h  vN U l
        [/        U R                  5      (       d  [)        U R                  5      e[0        R2                  =(       aH    U R                  R                  S5      =(       d&    [        R4                  =(       a    SU R                  ;  U l        U R                  R                  SS5      (       a?  U R8                  U R                  S   ;   a!  U R                  S   U R8                     U l        OySU R                  ;  d  U R                  S   (       dU  [        R:                  (       a@  U R8                  [        R:                  ;   a"  [        R:                  U R8                     U l        U R<                  (       Ga  U R                  R                  SS 5      (       a  [?        U R                  S   5      nOUSU R                  ;  d  U R                  S   (       d/  [        R@                  (       a  [?        [        R@                  5      nOS n/ n[C        U R<                  5       GH4  n[E        U[F        5      (       a  URI                  [C        U5      5        M5  Uc  M:  XBRK                  5       ;   d  MO  [M        X$   5       H  u  pV[O        [Q        SU5      5      =n(       a  U R                  R                  S0 5      R                  U0 5      R                  [S        U5      0 5      n[U        [C        U5      5      [U        [C        URK                  5       5      5      :X  a#  URW                  URX                  " SH0 UD65        M  M  URW                  U5        M     GM7     X0l        U RZ                  (       Gd=  U R                  R                  S5      =(       d&    SU R                  ;  =(       a    [        R\                  U l/        U R                  R                  SS5      =(       d    [        R`                  n	U R8                  (       d  U	S:X  d  U R8                  S:X  a8  U R                  R                  S5      =(       d    [        Rb                  U l        OU R8                  (       d  U	S:X  d  U R8                  S:X  a  SU l        O^U R8                  (       d  U	S:X  d  U R8                  S:X  a7  U R                  R                  S 5      =(       d    [        Rd                  U l        U R8                  (       d  [)        S!5      eU R8                  S";  Ga^  [/        U R8                  5      (       aV  U R8                  R                  S5      (       d5  U R                  R                  SS5      (       a  SU R8                   3U l        O[        U R8                  5      (       av  U R8                  R                  S5      (       d5  U R                  R                  SS5      (       a  SU R8                   3U l        U R8                  Rg                  S5      U l        O:U R8                  (       d  U	S:X  d  U R8                  S:X  a  SU l        O[)        S#5      eU R                  U R8                  S$5      I S h  vN   U R8                  S:X  a  U Rh                  (       aA  [        U R                  5      (       d  [)        S%5      eU Rk                  U R                  5      n
OS n
[%        U 5      R'                  S&U
5      I S h  vN U l        [        U R8                  5      (       d  [)        U R8                  5      eg U R8                  S:X  a  U Rh                  (       aA  [        U R                  5      (       d  [)        S%5      eU Rm                  U R                  5      nOS n[+        U 5      R-                  S'U5      I S h  vN U l        [/        U R8                  5      (       d  [)        U R8                  5      eg U Rh                  (       a  [        U R                  5      (       aC  U Rm                  U R                  5      U Rm                  U R8                  5      :w  a  [)        S(5      e[        U R                  5      (       aD  U Rk                  U R                  5      U Rk                  U R8                  5      :w  a  [)        S)5      eg g g U R8                  =(       dD    U R                  R                  S*5      =(       d"    S*U R                  ;  a  [        Rn                  OS U l        [0        R2                  =(       aH    U R                  R                  S+5      =(       d&    [        Rp                  =(       a    S+U R                  ;  U l9        U Rt                  (       a  SU l        SU l9        U Rv                  (       a  [0        R2                  U l        U R8                  (       Ga  [E        U R8                  [x        5      (       Gd  U R8                  R                  S,5      (       a1  U R8                  R{                  S,SS-5      U l        SU l        SU l9        OU R8                  R                  S.5      (       a8  U R8                  R{                  S.SS-5      U l        [0        R2                  U l        OhU R8                  R                  S/5      (       aH  U R8                  R{                  S/SS-5      U l        [0        R2                  U l        U R6                  U l9        S0U R8                  ;   a>  [C        [}        S1 U R8                  R                  S0S-5      5      5      u  U l        U l?        OxU R8                  R                  S25      R                  5       (       a  [y        U R8                  5      U l        O/U R8                  R                  5       S3:X  a  U R                  U l        U R6                  (       GaN   [0        R                  R                  U R8                  5      I S h  vN nUc%  [        R                  " S45        SU l        SU l9        OUR                  R                  S5;  a  SU l        SU l9        OUR                  (       a  UR                  [0        R                  R                  R                  5      I S h  vN nUR                  R                  (       a  UR                  R                  (       d$  SU l        SU l9        [        R                  " S65        O$[        R                  " S75        SU l        SU l9        U R6                  (       a  U Rr                  (       Ga[   U R                  R                  U R8                  5      I S h  vN nUc%  U R6                  (       a	  SU l9        GOR[)        S85      eUR                  R                  S5;   a  UR                  (       d  [)        S95      eUR                  U R                  R                  R                  5      I S h  vN nUR                  R                  (       a  UR                  R                  (       d#  U R6                  (       d  [)        S:5      eSU l9        O U R                  R                  U R8                  [        R                  5      I S h  vN   OBOAU R6                  (       d  U Rr                  (       a  U R                  (       d  SU l        SU l9        U R                  (       aT  U R                  R                  5       (       a  [y        U R                  5      U lV        O[        U R                  5      U lV        U R                  =(       d2    U R                  R                  S<5      =(       d    [        R                  U lV        U R                  R                  S=5      =(       d&    [        R                  =(       a    S=U R                  ;  U lZ        U R6                  (       a  [0        R                  OS>U l\        [        U R                  U R                  5      U lV        U R                  (       dp  U R                  (       a  U R                  (       + OHU R                  R                  S?S5      =(       d&    [        R                  =(       a    S?U R                  ;  U l^        U R                  =(       dE    U R                  R                  S@S5      =(       d"    S@U R                  ;  a  [        R                  OSU la        U R                  R                  SA0 5      =(       d7    SAU R                  ;  a%  [        R                  (       a  [        R                  O0 U ld        U R                  (       Ga  [E        U R                  [x        5      (       a  U R                  /U ld        O[E        U R                  [R        5      (       am  U R                  R                  SB5      (       a;  U R                  R                  SC5      (       a  [        U R                  5      U ld        OU R                  /U ld        0 nU R                   H  n[E        U[R        5      (       a0  S0U;   a*  [}        SD UR                  S0S-5      5      u  nnUS SE.UU'   MH  [E        U[R        5      (       a\  UR                  5       S3:X  a  U R                  nO1UR                  S25      R                  5       (       a  [y        U5      OUnS S SE.UU'   M  S S SE.X'   M     Xld        U R                  SF:w  ax  [        U R                  5      (       a]  [        U R                  5      I S h  vN SG   nUR                  (       d  UR                  (       a  [        U5      I S h  vN OSU lg        g g g s  snf  GN< GN GNF GN GNA GN GN GN!   S n GN= f GN" GNU!   S n GNZ= f GN GN9!   [)        S;5      e= f N N]7f)INNAME_SUBSTITUTEFrF   z | /EXCLUDED_EXTENSIONSaria2z!qBINCLUDED_EXTENSIONSRCLONE_FLAGS)rclgdlr   USER_TOKENSr   )r   r   r   r   r   rcdr   gddUSER_TRANSMISSIONUPLOAD_PATHSFFMPEG_CMDSz	\{(.*?)\}FFMPEG_VARIABLESSTOP_DUPLICATEDEFAULT_UPLOADrcRCLONE_PATHddlgd	GDRIVE_IDzNo Upload Destination!)r   r   r   zWrong Upload Destination!r   z-You can't clone from different types of toolsrcugduz%You must use the same token to clone!z&You must use the same config to clone!LEECH_DUMP_CHATHYBRID_LEECHzb:r$   zu:zh:|c                 d    U R                  S5      R                  5       (       a  [        U 5      $ U $ N-lstripisdigitintxs    r   <lambda>)TaskConfig.before_start.<locals>.<lambda>y  s'    AHHSM4I4I4K4K#a&*RQR*Rr   r   pmz<Account of user session can't find the the destination chat!)rG   rH   GROUPrI   zcEnable manage chat and delete messages to account of the user session from administration settings!zePromote the account of the user session to admin in the chat to get the benefit of user transmission!zChat not found!z)Bot is not admin in the destination chat!zcYou don't have enough privileges in this chat! Enable manage chat and delete messages for this bot!zStart the bot and try again!LEECH_SPLIT_SIZEEQUAL_SPLITSi   }AS_DOCUMENTTHUMBNAIL_LAYOUTCLONE_DUMP_CHATS[]c                 d    U R                  S5      R                  5       (       a  [        U 5      $ U $ r   r   r   s    r   r   r     s&    0E0E0G0Gc!f&NQ&Nr   )	thread_idlast_sent_msgnoner    )mr\   rR   rQ   r"   r   r   r   r   rX   r   rV   rh   r6   r   r   r7   rj   rk   r*   get_rclone_pathr   r)   get_target_idr5   r#   IS_PREMIUM_USERr   rm   rW   r   r   r   r   list
isinstancetupleextendkeys	enumeratesetr   strr   appendformatre   r   ru   r   r   r   stripri   r   r   r   r   rn   r   r   r   replacemapr   r   r   lowerrP   rO   get_chatr   warningr   rZ   is_admin
get_membermerK   
privilegescan_manage_chatcan_delete_messagesclientsend_chat_actionr   TYPINGr   r_   r'   r   r   rl   MAX_SPLIT_SIZEr`   minr   r   r   r]   r   r   rS   endswithevalr   r8   r@   photodocumentr9   )r   r   ffmpeg_dictcmdskeyindvl	variables	ff_valuesdefault_uploadr   r   r   member	temp_dictchcitimsgs                      r   before_startTaskConfig.before_start   s    MM ~~!!"3U; %DNN: && 	 ==37==3F3Fu3MN3MaWWS\3MNDM#'>>#5#56K#L $
$DNN:  5! 	 
 $(>>#5#56K#L $
#8#NTV 	  }}~~!!.11 $~ >t~~5&:M:M & 3 399N*:::!$)),,99//88T^^=O=O%u> > ',DII;$7	..tyy$???#DII..99//. ..,,]EBB&*499+$6	..tyy$???YY%==D<M<M",T"2"B"B5"II	%dii00$TYY//YY%==D<M<M"1$"7"E"Ee"LL	#DII..$TYY//!)!9!9 "
NN23 :'' :#4>>9 	 >>ne44||t~~n==#~~n=dllK$..0~8V!!||v222%224<<@~~!!-66&t~~m'DET^^34>>-;X$$&v'9'9:"DD,,-c5))KKS	* ,..00'01A'BGC,/b0I,JJyJ$(NN$6$67I2$N%(Sb\%(SS2%6 !*
 $+4	?#;w$()9$:@" $" %)KK		0FI0F$G$"
 !%B (C .$  $}}}""#34 *#4>>9 *))  ""#3R8QF<Q<Q  LL^t%;PT@T#~~11-@VFDVDVll~'>4<<SXCX$ll~'=$,,RVBV#~~11+>R&BRBR<< !9::||#88--<<22. ..,,]EBB)-dll^'<#DLL11<<227;;@R@R%uA A */t||n'=#'<<#5#5c#:DL,,>U+Bt||W\G\#(DL$%@AA**4<<>>>||u$==)$))44(K  #'"6"6tyy"AK"&K%/%5%E%E;&   &dll33$T\\22 4&==)$))44(K  "&!4!4TYY!?J!%J%4T%:%H%H:&   $DLL11$T\\22 2!$)),,1D1DII2((627 %%LMM#DII..43G3GII4))$,,748 %%MNN48.   >>%%&78 )> ** L !) 8 8 !"">2 9&& 9"$..8 
 ~~).&$)!)1)A)A&|||!$,,44||..t44'+||';';D"a'H16.,1)0066'+||';';D"a'H191I1I.0066'+||';';D"a'H191I1I.,0,B,B)dll*<@ R $ 2 23 :=9d&9 ,,S199;;'*4<<'8++-5'+||)))$%-]]%;%;DLL%II |Z 27.,1)99>> 2  6;D205D-!]]+/??8==;K;K;N;N+O%OF$*$5$5$E$E'-'8'8'L'L9> 649 1 & %J!" #NN !H 6;D205D---1B1B1B$%)[[%9%9$,,%GG |1105D-",->"??99>> .  $(==&0$O'" !" 04t{{~~?P?P/Q)Q(.(9(9(I(I+1+<+<+P+P+/+A+A.8 -R/* )* =B(9Q&*kk&B&B$(LL*2C2C'" !" !"G 2CR &&$*;*;(().&$)!??**,,&)$//&:DO&4T__&EDO +>>%%&89+** O "">2 9&& 9"$..8  ,0+A+A''z  "$//43F3FGDO;; {{ O **=%@ @!-- @)?  %% >>%%&8%@ *? ++ ! %)NN$6$67I2$N %%T^^;@W@W '' !
 $$$d33S99-1-B-B,CD) 5 5s;;,,77 //88==04T5J5J0K-151F1F0G-	//B!"c**sby!$NHHS!,"B 794(P	"#B,,88:-!%B,.IIcN,B,B,D,DR"B6:T(R	"6:T(R	 0 )2%zzV#(8(D(D0<<a@/2yyCLL,s+++b 
 )E#K O* @ @ J
 Md ?  z  J$#" &P&  H$#$ *R!"Q&01O&P P` =+s  BA_)A^(F9A_)!A^"BA_)6A^ 7A&A_)A^#BA_)7A^&8I#A_)A_)4O4A_)(A^))BA_)/A^,0B;A_)+A^/,P'A_),A^5 @ A^2@A^5 @BA_)BA^?BB&A_)E(A_ E-A_E.A_ E2BA_)HA_HAA_)I"7A_ JA_JA_ JR3A_)]A_%]7A_)^	A_'^
A_)^ A_)^#A_)^&A_)^)A_)^,A_)^/A_)^2A^5 ^5A^<^9A_)_A_ _A__	A_)_A_ _A_"_"A_)_'A_)textc                   #    [        U5      S:  Ga6  US   R                  S5      (       Ga  SU l        US   R                  S5      n[        U5      S:  a  US   nSR	                  US S 5      U l        O-US   R                  S5      S   R                  5       u  U l        nU R                  R                  [        U5      5      I S h  vN =U l	        U R                  l        U R                  R                  U l        [        R                  " U R                  0 5      U l         U R                  R#                  5       I S h  vN   U R                  (       a{  U R                  R$                  =n(       a  SU 3U l        g ['        U R                  S5      (       a  U R                  R(                  U l        g U R                  R*                  U l        g g  GN N!    N= f7f)	Nr$   zTag: T    @mention)lenr   r   r   rs   rY   r   	get_usersr   rO   rJ   rM   rK   rP   r   rQ   rR   unpinusernamehasattrr  title)r   r  	user_infoid_r   s        r   get_tagTaskConfig.get_tag$  sm    t9q=T!W//88DKQg.I9~"m88IcrN3 $Qg 6q 9 ? ? A#7;{{7L7LSQTX7V1VVDI.99<<DL&]]4<<<DNll((*** 9999---x-xj>I..99,,99??  2W +s>   CG"
GAG"'G GG 	BG"G GG"c                 	  #    [        S5      I S h  vN   U R                  (       dA  U R                  S:  a1  [        S5      U l        [        R
                  " U R                  5        OEU R                  S::  a5  U R                  [        ;   a   [        R                  " U R                  5        g U R                  (       a  U R                  [        ;  a  [        U R                  U R                   S35      I S h  vN   [        U R                  5      I S h  vN   [         IS h  vN   U R                   H'  nU R                  U   S==   U R                  -  ss'   M)     S S S 5      IS h  vN   g [        U R                  5      S:w  a  US S nUR                  U R                  S    SU R                  S-
   SU R                    35        SR#                  U5      nU R                  S	:  a'  US
[$        R&                  S    SU R                   S3-  n[        U R                  U5      I S h  vN nGODU Vs/ s H  owR)                  5       PM     nnUR+                  S5      nU R                  S-
   XHS-   '   U R,                  R/                  U R                  R0                  R2                  U R                  R4                  S-   S9I S h  vN nUR6                  (       a<  [        U R                  S5      I S h  vN   [        U R                  5      I S h  vN   g SR#                  U5      nU R                  S	:  a'  US
[$        R&                  S    SU R                   S3-  n[        Xe5      I S h  vN nU R                  R8                  (       a  U R:                  Ul        OU R:                  Ul        [>        S   (       a  g U" U R,                  UU R@                  U RB                  U RD                  U RF                  U R                  U R                  U R                  U R                   5
      RI                  5       I S h  vN   g  GN6 GNR GN8 GN, GN! , IS h  vN  (       d  f       g = f GNCs  snf  GN GN GNg GN NB7f)N   r$   r  z Multi Task has been cancelled!totalr    -i r  r   0   
<b>└ To Stop 👉 :</b> Cancel Multi: <code>/</code>-i)chat_idmessage_idsz_Bot can't fetch old messages (older than 48H), forward those messages and try multi/bulk again!stopAll)%r   	multi_tagra   r   r   adddiscardr>   rJ   rY   r?   r   same_dirr  bulkr   optionsrs   r-   CancelTaskCommandr   indexr   get_messagesr   rK   reply_to_message_idemptyrM   rO   rN   r   rf   re   rh   rg   	new_event)	r   
input_listobjfd_namer  msgtsnextmsgsr8  s	            r   	run_multiTaskConfig.run_multi<  s    Ah~~$**q.*1-DNNN4>>*ZZ1_~~+""4>>2>>dnnJ>
*IJ   &dll333%~#}}GMM'*73tzzA3  - &~ tyy>QRa.CJJ$))A,tDJJN+;1T\\NKLHHSMEzzA~L[MjMjklMmLnnoptp~p~o  @G  H  H(u==G&01j779jC1IIdOE $

Q/C	N KK44)),, LL<<q@ 5  G }}"LLu   *$,,777HHSMEzzA~L[MjMjklMmLnnoptp~p~o  @G  H  H(88G<<!! $		G"&))GYKKLLMMJJKKMMIINNLL
 )+	 	c 	 4%~~~  >1
 8
 9	s   RQC&R8Q
9RQR$Q%R(8Q R+Q,CR-Q0.
R8Q3A:RQ8.R:Q;;RQ>AR3R4CRRR
RRRRQ-QQ-)R3R;R>RRRc                 B  #     [        U R                  X#5      I S h  vN U l        [        U R                  5      S:X  a  [	        S5      eUS S nUSS  U l        U R
                  R                  S5      nU R
                  U	 U(       d  U(       a  U R
                  U	 SR                  U R
                  5      U l        UR                  U R                  S    S[        U R                  5       SU R
                   35        SR                  U5      n[        U R                  5      S:  aW  [        S5      U l
        [        R                  " U R                  5        US	[        R                  S    SU R                   S
3-  n[        U R                  U5      I S h  vN nU R                  R                   (       a  U R"                  Ul        OU R"                  Ul        U" U R&                  UU R(                  U R*                  U R,                  U R.                  U R0                  U R                  U R                  U R
                  5
      R3                  5       I S h  vN   g  GNB N N
! [4         a,  n	[        U R                  SU	 35      I S h  vN     S n	A	g S n	A	ff = f7f)Nr   zBulk Empty!r$   z-br  r*  r   r  r+  r,  zQReply to text file or to telegram message that have links separated by new line! )r(   rJ   r5  r  r   r6  r8  rs   r   r   r1  r   r2  r-   r7  r>   rM   rO   rN   r   rf   re   rh   rg   r4  r<  	Exception)
r   r=  
bulk_startbulk_endr>  b_msgr8  r  rA  es
             r   	init_bulkTaskConfig.init_bulk|  s    &	0zTTDI499~" //rNE%ab>DLLL&&t,EU#XLL'88DLL1DLLLDIIaL>c$))n-=Qt||nMN((5/C499~!!.q!1t~~.J;KhKhijKkJllmnrn|n|m}  ~E  F  F(s;;G||%%$(II!&*ii#

		 ik + U  <
  	cdecfg  	sp   JI& IE<I& I"B>I& I$I& JI& "I& $I& &
J0JJJJJJc                   #    [        U R                  [        5      (       a  U R                  OSn/ U l        U R                  (       a,  [        U5      (       a  U R                  R                  U5        O[        [        USS9I S h  vN  H  u  pEnU H  n[        U5      (       dF  [        U5      (       d  M%  UR                  5       R                  5       R                  S5      (       a  MY  [        R                  " XG5      nU R                  R                  U5        M     M     U R                  (       d  U$ Un	[        U 5      n
[         R"                  " SU R$                   35        [&         IS h  vN   [)        X
US5      [*        U R,                  '   S S S 5      IS h  vN   [        [        U R.                  =(       d    U R0                  SS9I S h  vN  GHi  u  pEnSnU H  nU R2                  (       a      g[        U5      (       dF  [        U5      (       d  M9  UR                  5       R                  5       R                  S5      (       a  Mm  U =R4                  S-  sl        [        R                  " XG5      nU R                  (       a  [7        U5      OUn	U R                  (       d  Xpl        U
R                  XU5      I S h  vN nM     U R2                  (       a  Us  $ US:X  d  GM  U HO  n[;        U5      (       d  [        U5      (       d  M%  [        R                  " XG5      n [=        U5      I S h  vN   MQ     GMl     U R4                  S:X  a  [         R"                  " S
5        U R                  (       a  WS:X  a  U	$ U$  GN GN GN! , IS h  vN  (       d  f       GN= f GN N Nw!   S	U l         M  = f7f)NrF   Ftopdownz.rarzExtracting: Extractr   r$   TzNo files able to extract!)r   ro   r   r   r   r0   r   r&   r
   r/   r   r   r  ospathrs   r4   r   inforZ   r   r+   r   rL   rU   rT   rz   rd   r.   r[   r1   r   )r   dl_pathgidpswddirpath_filesfile_f_patht_pathsevenzcodedel_paths                r   proceed_extractTaskConfig.proceed_extract  s    )$,,<<t||" "<<Jw//!!((1+8wPU+V%V%V!E"E.u55%e,, % 3 3 5 > >v F F!'W!<--44V< # &W $$Nl499+./!>".tS)"LIdhh ">'4$++)5(
 "
 "
G D$$ *511!%((!KKM//1::6BB &&!+&#[[8F6:ll]62F<<',!'!EED    qy"E'..*U2C2C#);;w#>5"("222	 #-"
: "KK34$!)v@@a &W ">>>"
$ F 3504D-s   BON-O80O,BO2N3O6NO N!3ON,AO0OA5ON/!O-#OO+N39N1:N3>AOOON)NN)$	O/O1N33	N?<Oc                   ^'#    Sn0 nU R                    VVs/ s HC  n[        U5       Vs/ s H)  ofR                  5       (       d  M  UR                  5       PM+     snPME     nnn [        U 5      nU G
HO  n	SU l        SS[
         SSSSS	S
/	U	-   m'ST';   a  T'R                  S5        Sn
OSn
[        T'5       VVs/ s H  u  pUS:X  d  M  UPM     nnn[        U'4S jU 5       S5      nU(       d7  [        R                  " S5        Us  U(       a  [        R                  " 5         $ $ UR                  5       R                  S5      (       d$  UR                  5       R                  S5      (       a  SnOWUR                  5       R                  S5      (       a  SnO0SU;  a  SnO'[        R                  " U5      S   R!                  5       n["        R$                  " U5      I S h  vN (       Ga  ['        U5      I S h  vN u  nnnU(       d
  U(       d    GOU(       a	  US:X  a    GOU(       a  U(       d	  US:X  a    GOUS;  a5  UR                  5       R!                  5       R                  U5      (       d    GOO[        R                  " U5      S   n[        R(                  " U5      n[+        USS9I S h  vN   U SU 3n[-        UU5      I S h  vN   U(       dj  Sn[.         IS h  vN   [1        XUS5      [2        U R4                  '   S S S 5      IS h  vN   SU l        [        R8                  " 5       I S h  vN   SU l        [        R:                  " SU 35        T'R=                  5       nU H  nT'US-      R?                  S5      (       a
  UUUS-   '   M)  [A        T'US-      5      (       d  MA  [C        T'US-      5      I S h  vN S   n[E        U5      I S h  vN nUXKS-   '   UUUS-   '   M     U RF                  U l$        UR                  UU5      I S h  vN nU(       Ga;  U
(       Ga  [        U5      I S h  vN   [K        [M        U5      I S h  vN 5      S:X  a  URO                  SS5      S   n[        R(                  " US   5      U l(        U RP                  R?                  S5      (       a$  U RP                  R                  SS5      S   U l(        [        RR                  " UU RP                  5      n[-        US   U5      I S h  vN   [U        U5      I S h  vN   GOFUnURO                  SS5      S   U l(        GO(UnURO                  SS5      S   U l(        GO
[-        UU5      I S h  vN   [U        U5      I S h  vN   GO[W        [Y        [Z        USS 9I S h  vN 5       GH  u  nnn/ n[W        U5       GH  n[        RR                  " UU5      U;   d  US!:X  a  M'  T'R=                  5       nU R\                  (       a!        U(       a  [        R                  " 5         ggS"U;  a  [        RR                  " UU5      n['        U5      I S h  vN u  nnnU(       d	  U(       d  M  U(       a  US:X  a  M  U(       a  U(       d  US:X  a  M  US;  a5  UR                  5       R!                  5       R                  U5      (       d  GM  U =R                  S-  sl        U GHW  nT'US-      R?                  S5      (       a  T'US-      R                  S#5      (       a  Sn[W        U5       HZ  n [        RR                  " UU 5      n!['        U!5      I S h  vN S   (       d  M7  UR_                  U!5        US$[a        U!5       S%3-  nM\     [c        U S&3S'5       IS h  vN n"U"Re                  U5      I S h  vN   S S S 5      IS h  vN   U S&3UUS-   '   M  UUUS-   '   GM   [A        T'US-      5      (       d  GM  [C        T'US-      5      I S h  vN S   n[E        U5      I S h  vN nUXKS-   '   UUUS-   '   GMZ     U(       dj  Sn[.         IS h  vN   [1        XUS5      [2        U R4                  '   S S S 5      IS h  vN   SU l        [        R8                  " 5       I S h  vN   SU l        [        R:                  " SU 35        [g        U[h        5      (       a7  SU l$        U H)  n U =RH                  [k        U 5      I S h  vN -  sl$        M+     O[k        U5      I S h  vN U l$        UU l6        UR                  UU5      I S h  vN nU(       a  U
(       a  [g        U[h        5      (       a  U H  n [        U 5      I S h  vN   M     O[        U5      I S h  vN   [K        U5      S:X  ar  [        R(                  " US   5      n#U#R?                  S5      (       aC  U#R                  SS5      S   n$[        RR                  " UU$5      n%[-        US   U%5      I S h  vN   ["        Rn                  " U S&35      I S h  vN (       d  GM  [        U S&35      I S h  vN   GM     GM     URq                  5        HC  n&S(U&;   d  M  ["        Rn                  " U&5      I S h  vN (       d  M0  [        U&5      I S h  vN   ME     G
MR     U(       a  [        R                  " 5         U$ s  snf s  snnf s  snnf  G	N GN GNH GN0 GN GN! , IS h  vN  (       d  f       GN= f GN GNa GNN GN GN GN GN* GN GN GN GN GN GN GN GN GN! , IS h  vN  (       d  f       GN= f GN^ GNK GN" GN! , IS h  vN  (       d  f       GN= f GN GN GNx GNU GN GN GN GNl GNQ GN N! U(       a  [        R                  " 5         f f = f7f))NFr   tasksetz-cffmpegz-hide_bannerz	-loglevelerrorz	-progresszpipe:1z-delTr-  c              3   p   >#    U  H+  nTUS -      R                  S5      (       d  M!  TUS -      v   M-     g7f)r$   mltbN)r   ).0r8  cmds     r   	<genexpr>,TaskConfig.proceed_ffmpeg.<locals>.<genexpr>  s8      %2Euqy>44V< 'EAI%2s    66rF   zWrong FFmpeg cmd!z.videoz.txtvideoz.audioaudio.allr  )rn  rl  rk  exist_okr   FFmpegzRunning ffmpeg cmd for: r$   rf  rN  zmltb.txtconcattxtzfile 'z'
z	/mltb.txtwz/temp/)9r   r   r   r<   rd   r!   r   r   nextr   rd  r   releaser  rQ  splitextr   r   isfiler;   basenamer   r   r   r,   r   rL   r   acquirerR  copyr   r8   r@   rA   rb   rc   r  r   rsplitrZ   rs   r   r   r&   r
   rz   r   r=   aiopenwriter   r   r2   r[   r   values)(r   rS  rT  checkedinputsitempartr  rc  
ffmpeg_cmddelete_filesr8  valueinput_indexes
input_fileextis_videois_audiorW  
new_folderrZ   	file_pathvar_cmdr  file_dirresfolderrV  rX  rZ  rY  rs  mfdff	file_namenewnamenewresinprh  s(                                          @r   proceed_ffmpegTaskConfig.proceed_ffmpeg  s	     ((
( ',DkBkdZZ\\TZZ\kB( 	 
@	)D\F"
%&"g"
 
 S=JJv&#'L#(L.7n!.<leEn  ! "%2
 
 "LL!45"N| &&( { ##%..x88J<L<L<N<W<W= = "C%%'00::!C
*C //*5b9??AC 0002CG2L,L)Hh#H!cWn!(sg~ %  &mmo335>>sCC!'!9!!<J!??73D":===#-,av 6Iw	222""&#1>2> $c83Idhh/ $2> ).,44666(,KK":9+ FG!hhjG!.uqy>44V<<1:GEAI.-c%!)n==)<S^)L#La"PC-:3-?'?H08F19-19GEAI. "/ $(99DL & 2 27I FFC'"("333")<#<=B)3):):3)B1)E,2OOCF,C	#'99#7#7#A#A04		Q0G0KDI*0++fdii*H&*3q67&; ; ;&,Z&8 8 8*4,6,=,=c1,Eb,I	&0G(2(9(9#q(A"(EDI"9g666$Z000-6+D'5II.)E "$%.u%5E &GU ;v E#(J#6 (&)hhjG#00',T &&( S  (w6)/We)D>OPV>W8W 5(A'/$,%-#.$,%-h3'>$,%( 1" &" +1,,.*>*>*@*I*I#*N*N$, ..!3.)6#&uqy>#<#<V#D#D'*519~'>'>u'E'E.02;E2BB17Wb1IB6G6K0KQ/O/O06b0A03PR@S?TTW7X0X	 3C
 4:/6iy,A34* 4*-.23''#,,>,>4* 4* AHy	=R	(:=C	(:%5c%!)n%E%E1DSQR^1T+TVW*XC5B35G/GH8@F19$59AGEAI$6) *7* $+*.+9>:F(,c8;&Idhh$7 ,:> 16&4&<&<&> > >04"KK*B6((KL)&$77/0*0B$(LL-:K4K$KL +1 6C65J/J+0DL(.(:(:7F(K"KC"|#-fd#;#;.4.4Rj(8(8 /5 +1.$8$8#&s8q=06A0GI'0';';H'E'E2;//#q2I"2M17Wg1N.23q66.B(B(B%,^^wiy4I%JJJJ&,y	-B&C C C[ &6	.d "==?C31D+D+D$Sk)) +s #z &&(I C
0!0 1,L >2 $2>>>
 7 $M'? G 4#< !< 8 70 J 9X( 1L4* -?4* 4* 4* 4* ,U/G
 ,:>>>
 !? 5L/J"K )9$8 )CJ C+D)&&( s  ok)k$k$k)!o%An4 :k/
k/9n4 	o'B;n4 "k5#n4 ;k8<B7n4 3k;4n4 k>n4 &l'n4 *l	n4 l#n4 8l"9A3n4 0n4 l%n4 l(=n4 l+"n4 ;l.<n4 l1
B6n4 
l4n4 l7An4 /l:0n4 l=n4  m 
!A(n4 	o'+n4 m
D n4 m
n4 ":n4 m	n4  m5m6m:n4 m0n4 ;n4 m-n4 %m0&+n4 m3n4 m9	4n4 ?m6
 #n4 #n
$An4 nn4 "n
#%n4 n
	:n4 n n4 n#
B n4 n&
 n4 =n)
>n4 
n4 n,
%n4 n4 n/n4 *n4 8n29n4 o$k))o/n4 8n4 ;n4 >n4 n4 n4 l	ll		n4 %n4 (n4 +n4 .n4 1n4 4n4 7n4 :n4 =n4  n4 n4 n4 	n4 mn4 m*mm*%	n4 0n4 3n4 6n4 9n?n n	n4 n4 n4 n4  n4 #n4 &n4 )n4 ,n4 /n4 2n4 4ooc           	        #    S nU R                   (       aZ  UR                  SS5      u  p4U" X@R                  5      nU(       d  U$ [        R                  " X55      n[        X5      I S h  vN   U$ [        [        USS9I S h  vN  Hh  u  pxn	U	 H\  n
[        R                  " Xz5      nU" XR                  5      nU(       d  M4  [        U[        R                  " Xu5      5      I S h  vN   M^     Mj     U$  N Nt N7f)Nc           
      B   U H  nSnUS   nUR                  S5      (       a'  UR                  S5      (       a  UR                  S5      n[        U5      S:  a8  [        U5      S:  a  US   S:H  nUS   nO[        US   5      S:X  a  SnOUS   nOSn [	        XEX(       a  [
        OSS	9n [        U R                  5       5      S:  d  M  [        R                  " SU  S35          g   U $ ! [         a*  n[        R                  " S
U SU SU 35         S nA  gS nAff = f)NFr   "r$   r   rB  r  rF   )flagszSubstitute Error: pattern: z res: z	. Error:    zSubstitute: z is too long)
r   r  r   r  r   r   rF  r   rd  encode)rZ   substitutionssubstitutionsenpatternr  rJ  s          r   perform_substitution3TaskConfig.substitute.<locals>.perform_substitution  s$    -&q/%%c**w/?/?/D/D%mmC0G|$q(<(1,*1o4*1o\!_-2!*1oC!wTcqID t{{}%+LL<v\!BC 1 !.2 K ! !LL5gYfSESTRUV !	!s   C**
D4DDr   r$   FrN  )r   r|  r\   rQ  rs   r   r&   r
   )r   rS  r  rU   rZ   new_namenew_pathrV  rW  rX  rY  rZ  s               r   
substituteTaskConfig.substitute  s     	8 <<">>#q1LF+D--@H{{64Hw)))O+8wPU+V%V%V!E"E#[[8F3E==IH# vv{{7'EFFF # &W N * &W Gs7   A(C<*C6+C<C8A#C<'C:(C<8C<:C<c                 J  #    [        U R                  [        5      (       a  [        U R                  5      OSnU R                  (       a  [        U5      I S h  vN S   (       a  [        R                  " SU 35        [        X5      I S h  vN nU(       an  [        R                  " U5      S   n[        R                  " U5      n[        USS9I S h  vN   [        [        X SU 35      [        X45      5      I S h  vN   U$ U$ [        R                  " SU 35        [        [         USS9I S h  vN  HU  u  pgnU HI  n	[        R"                  " Xi5      n
[        U
5      I S h  vN S   (       d  M6  [        X5      I S h  vN   MK     MW     U$  GN; GN
 N N Ni N7 N7f)	N
   r   zCreating Screenshot for: Tro  r   FrN  )r   ry   r   r   r   r;   r   rR  r:   rQ  rw  ry  r   r	   r   r&   r
   rs   )r   rS  ss_nbr  r  rZ   rV  rW  rX  rY  rZ  s              r   generate_screenshotsTaskConfig.generate_screenshots  sh    *4T5F5F*L*LD%%&RT<<'00!47yAB#G33!'!9!!<J!??73D":=== WAdV&<=S-   &%  KK3G9=>+8wPU+V%V%V!E"E#[[8F/77;;%f444 # &W
 ' 13 > &W 84s   AF#F3F#FAF#F*F#?F 3F#3F43F#'F(
F#6F#F!F#F#F#F#F#F#!F#c                   #    / nU R                   (       a  U R                   R                  5       nUS   R                  5       n[        U5      S:  aR  SUS   R                  5       ;   a  SnOSUS   R                  5       ;   a  SnOSnUR	                  S USS   5       5        OSnOSnSn/ nU R
                  (       a  U R
                  R                  5       nUS   R                  5       n	[        U5      S:  aR  SUS   R                  5       ;   a  Sn
OSUS   R                  5       ;   a  Sn
OSn
UR	                  S USS   5       5        OSn
OSn	Sn
0 U l        / nU R                  (       a  UR                  U5        OQ[        [        US	S
9I S h  vN  H6  u  pnU H*  n[        R                  " X5      nUR                  U5        M,     M8     U GH  n[        U5      I S h  vN u  nnnU(       a  U(       a  UR                  5       R                  5       R                  SU 35      (       d  US:X  a;  UR                  5       R                  5       R                  [!        U5      5      (       dH  US:X  a;  UR                  5       R                  5       R                  [!        U5      5      (       a  U(       d  SU R                  U'   M  U(       d  GM  U	(       d  GM  U(       a  GM  UR                  5       R                  5       R                  SU	 35      (       a  GMN  U
S:X  a;  UR                  5       R                  5       R                  [!        U5      5      (       dK  U
S:X  a;  UR                  5       R                  5       R                  [!        U5      5      (       a
  U
(       a  GM  SU R                  U'   GM     AU R                  (       Ga  [#        U 5      n[$         IS h  vN   ['        U UUS5      [(        U R*                  '   S S S 5      IS h  vN   S	U l        [.         IS h  vN   SU l        U R                  R1                  5        GH  u  nnU =R2                  S-  sl        [4        R6                  " SU 35        U R                  (       a  U R8                  U l        O3[=        U5      I S h  vN U l        [        R>                  " U5      U l         US:X  a  UR                  UU5      I S h  vN nOUR                  UU	5      I S h  vN nU(       d  M   [C        U5      I S h  vN   U R                  (       d  M  Us  sS S S 5      IS h  vN   $    S S S 5      IS h  vN   U$ U$  GN GN GN GNf! , IS h  vN  (       d  f       GN|= f GNn N N N Nr!   SU l"           S S S 5      IS h  vN    g	= f Nm N\! , IS h  vN  (       d  f       U$ = f7f)Nr   r   +r$   r   rF   c              3   H   #    U  H  nS UR                  5        3v   M     g7frm  Nr   rg  r  s     r   ri  +TaskConfig.convert_media.<locals>.<genexpr>       D)3q.)    "c              3   H   #    U  H  nS UR                  5        3v   M     g7fr  r  r  s     r   ri  r    r  r  FrN  rm  rk  rl  ConvertTzConverting: )#rx   r   r   r  r   rw   r   r   r   r&   r
   rQ  rs   r;   r   r  r   r<   r   r,   r   rL   r   r   itemsrd   r   rR  rb   rc   r2   ry  r[   r   rz   )r   rS  rT  fvextvdatavextvstatusfaextadataaextastatus	all_filesrV  rW  rX  rY  rZ  r  r  rc  f_typer  s                         r   convert_mediaTaskConfig.convert_media  s    &&,,.E8>>#D5zA~%(..**!GE!HNN,,!G GD%)DDDG&&,,.E8>>#D5zA~%(..**!GE!HNN,,!G GD%)DDDG "	<<W%+8wPU+V%V%V!E"E#[[8F$$V, # &W
  F*;F*C$C!Hh,,.77!D6
CCsN,,.77eEE#~"LLN002;;E%LII" 18%%f-D ,,.77!D6
CCsN,,.77eEE#~"LLN002;;E%LII"7 18%%f-9  :    D\F%~&24i&P	$((# &~!DM%~ $&*&;&;&A&A&CNFF&&!+&KK,vh 78||'+yy-:6-B'B'-v'>($*$8$8$FF$*$8$8$FFs)"(.00  <<<#&J+ &~~&C &~, w &W %D@ &~~~ & (C GF 1)04D-#(' &~~~~~~, sl  FW%U4AW%$U7%C*W%W%W%(3W% BW%,<W%(U:)W%, V W%U=W%-V.W%1BW
9V:?W
9V :W
V"	W
#V&1V$2V&6W
	W
W%WW%W
 W%+W,	W%7W%:W%=W% VV	V	W%W
 W
"W
$V&&	W/W
1W%<V?=W%W
W%W%
W"WW"W%c                   #    [        U R                  [        5      (       a  U R                  R                  S5      OSnU(       a:  US   (       a  [	        US   5      OSn[        U5      S:  a  [	        US   5      OSnOSnSn0 U l        U R                  (       a@  [        U5      I S h  vN S   (       a%  [        R                  " U5      nX`R                  U'   Ok[        [        USS9I S h  vN  HP  u  pxn	U	 HD  n[        R                  " Xv5      n
[        U
5      I S h  vN S   (       d  M6  X`R                  U
'   MF     MR     U R                  (       Ga  [        U 5      n[         IS h  vN   [!        XUS	5      ["        U R$                  '   S S S 5      IS h  vN   SU l        [(         IS h  vN   S
U l        [*        R,                  " SU R.                   35        U R                  R1                  5        H  u  pU =R2                  S-  sl        U R                  (       a  U R4                  U l        O[9        U
5      I S h  vN U l        X`l        UR                  XU5      I S h  vN nU(       d  M~  U R                  (       d  M  [        R<                  " U
5      S   n[?        US
S9I S h  vN   [A        [C        X SU 35      [C        X SU 35      5      I S h  vN   Us  sS S S 5      IS h  vN   $    S S S 5      IS h  vN   U$ U$  GNh GN' GN GN GN! , IS h  vN  (       d  f       GN= f GN N N N Nb NP N?! , IS h  vN  (       d  f       U$ = f7f)N:rF   r   <   r$      FrN  zSample VideoTzCreating Sample video: ro  r   z/SAMPLE.)"r   rv   r   r   r   r  r   r   r;   rQ  ry  r&   r
   rs   r<   r   r,   r   rL   r   r   r   rR  rZ   r  rd   rb   rc   r2   r[   rw  r   r	   r   )r   rS  rT  datasample_durationpart_durationrY  rV  rW  rX  rZ  rc  r  r  s                 r   generate_sample_video TaskConfig.generate_sample_videoY  s    ,6t7H7H#,N,ND##C(TV 	 .21gc$q'l2O,/IMCQLqM OM "<<#4W#==qAOOG,E-2!!'*+8wPU+V%V%V!E"E#[[8F/77;;8=--f5 # &W
    D\F%~&24n&U	$((# &~!DM%~ $5dii[AB%)%:%:%@%@%BMF&&!+&||'+yy-:6-B'B', & 3 3! C st|||%+__V%<Q%?
&zDAAA$ <q)@A HUG&DE    *)) &~~ &C &~* wG > &W 8 &~~~ & (C
 B! &~~~* s:  B(M&*L+AM&.L/3M&"L#
M&1=M&.L/M&2L!M&LM&2L<3M&6BML?$M+M,	M9M&M2M3/M"M#M*M&6M7M&<M>M&	M	
	M&M&M&M&M&!L9'L*(L94	M&?MMMMM&	M&M#MM#M&c                   #    [        U R                  [        5      (       a  U R                  OSnU R                  (       a{  U R                  (       aj  [
        R                  " U5      S   n[
        R                  " U5      n[        USS9I S h  vN   U SU 3n[        X5      I S h  vN   UnU S3nSU l        OU S3n[        U 5      n[         IS h  vN   [        XUS5      [        U R                  '   S S S 5      IS h  vN   UR                  XU5      I S h  vN $  N N| NP N$! , IS h  vN  (       d  f       N9= f N&7f)	NrF   r   Tro  r   z.zipFZip)r   rp   r   re   r   rQ  rw  ry  r   r   r4   r   r+   r   rL   zip)	r   rS  rT  rU  r  rZ   new_dl_pathup_pathr\  s	            r   proceed_compressTaskConfig.proceed_compress  s      *4==# > >t}}B==T\\1!4J??7+D:555'L$0Kw,,,!G$T*G DL 	&G!>".tS%"HIdhh ">ZZ$777 6, ">>>7sx   BED#E(D%)-ED'ED+9ED)EEE%E'E)E+E1D42E>Ec                   #    0 U l         U R                  (       aH  [        U5      I S h  vN nX0R                  :  a%  U[        R
                  " U5      /U R                   U'   Ot[        [        USS9I S h  vN  HY  u  pEnU HM  n[        R                  " XG5      n[        U5      I S h  vN nX0R                  :  d  M=  X7/U R                   U'   MO     M[     U R                   (       Ga  [        U 5      n	[         IS h  vN   [        X	US5      [        U R                  '   S S S 5      IS h  vN   [        R                  " SU R                    35        U R                   R#                  5        GH.  u  nu  p7U =R$                  S-  sl        U R                  (       a  U R&                  U l        OX0l        Xpl        U* U R                  -  * n
U R,                  (       a
  X:-  X:-  -   nOU R                  nU R.                  (       d=  [1        U5      I S h  vN S   (       a"  SU l        U	R5                  XX5      I S h  vN nOSU l        [7        XU 5      I S h  vN nU R8                  (       a    gU(       d  X0R:                  :  d  GM   [=        U5      I S h  vN   GM1     g g  GNz GN1 GN  GN GN! , IS h  vN  (       d  f       GN= f N N Ny N;!   SU l         GMt  = f7f)NFrN  SplitzSplitting: r$   r   T)r   r   r2   r_   rQ  ry  r&   r
   rs   r<   r   r,   r   rL   r   rR  rZ   r  rd   rb   rc   r[   rl   r   r;   r   r   r3   rz   r`   r   )r   rS  rT  f_sizerV  rW  rX  rY  rZ  rc  partsr_   r  s                r   proceed_splitTaskConfig.proceed_split  s6     "<<(11F'28&//':R1S%%g.+8wPU+V%V%V!E"E#[[8F#0#88F/9?--f5	 # &W    D\F%~&24g&N	$((# &~KK+dii[12+/+@+@+F+F+H'""a'"<<#'99DL#)L#(L!'T__45$$"(/fn!EJ!%J{{.?.G(G'K$(DM &VE NNC$)DM *6t DDC$$ &$7$771$Vn,,- ,I ! 2 &W 9
 &~~~ )HN E
 -1,0))s   'K%J#AK%5J&63K%)J)*K%??K%>J,?K%J2!K%,J/-C%K%K(K%;K<K%K+K%	KKKK%&K%)K%,K%/K%2K
8J;9K
	K%K%K%K	K"K%)Br   r   r   r5  r   rS   rp   rw   rx   rT   rl   r   ro   r   r   r^   r|   r{   r}   rn   r   rz   ri   r   rk   rh   re   rg   rf   r   r   r~   rj   rs   rV   r`   rL   ra   r1  rZ   r\   r6  rt   rd   r   rX   rv   ry   rr   rq   rb   r_   ru   r[   r   rc   rY   r   r]   rW   rU   rO   rR   rP   r   rm   N)__name__
__module____qualname____firstlineno__r   r   r   r   r  r   r%  r%   rC  rK  r_  r  r  r  r  r  r  r  __static_attributes__r   r   r   rC   rC   B   sw    E
N
"

H&tl+$ +0 = =~'R6ApHT-^0iV/b8$*1r   rC   N)[aiofiles.osr   r   r   r   r   aiofilesr   r}  asyncior   r	   osr
   rQ  secretsr   	aioshutilr   r   pyrogram.enumsr   rer   r   r   shlexr   collectionsr   r{  r   natsortr   rF   r   r   r   r   r   r   r   r   r   r    r!   core.config_managerr"   core.telegram_managerr#   ext_utils.bot_utilsr%   r&   r'   ext_utils.bulk_linksr(   $mirror_leech_utils.gdrive_utils.listr)   $mirror_leech_utils.rclone_utils.listr*   -mirror_leech_utils.status_utils.sevenz_statusr+   -mirror_leech_utils.status_utils.ffmpeg_statusr,   telegram_helper.bot_commandsr-   ext_utils.files_utilsr.   r/   r0   r1   r2   r3   r4   ext_utils.links_utilsr5   r6   r7   r8   ext_utils.media_utilsr9   r:   r;   r<   r=   telegram_helper.message_utilsr>   r?   r@   rA   rC   r   r   r   <module>r     s    B B # ! # ! " %          ) , H H 4 A < G G 5     D1 D1r   