
    i                        S SK r \ R                  " \5      r S SKr\R                  S5        S\S\S\S\4S jrS\S\S\S\4S jrSS\S\S\	S	\	S\4
S
 jjr
SS\S\S\	S	\	S\4
S jjrS\S\S\4S jrg! \ a}    S SKr\R                  S5        S\S\S\S\4S jrS\S\S\S\4S jrSS\S\S\	S	\	S\4
S jjr
SS\S\S\	S	\	S\4
S jjrS\S\S\4S jrS\S\S\S\S\4
S jrS\S\S\	S	\	S\4
S jr gf = f)    NzUsing TgCryptodatakeyivreturnc                 0    [         R                  " XU5      $ N)tgcryptoige256_encryptr   r   r   s      @/app/mltbenv/lib/python3.13/site-packages/pyrogram/crypto/aes.pyr
   r
          &&t"55    c                 0    [         R                  " XU5      $ r   )r	   ige256_decryptr   s      r   r   r   !   r   r   statec                 T    [         R                  " XX#=(       d    [        S5      5      $ N   )r	   ctr256_encrypt	bytearrayr   r   r   r   s       r   r   r   %       &&t"6Ky|LLr   c                 T    [         R                  " XX#=(       d    [        S5      5      $ r   )r	   ctr256_decryptr   r   s       r   r   r   )   r   r   abc                     [         R                  [         R                  U S5      [         R                  US5      -  [        U 5      S5      $ Nbigintto_bytes
from_byteslenr   r   s     r   xorr&   -   ;    ||NN1e$s~~a'??F
 	
r   zTgCrypto is missing! Pyrogram will work the same, but at a much slower speed. More info: https://docs.pyrogram.org/topics/speedupsc                     [        XUS5      $ )NTiger   s      r   r
   r
   =   s    4b$''r   c                     [        XUS5      $ )NFr)   r   s      r   r   r   A   s    4b%((r   c                 >    [        XX#=(       d    [        S5      5      $ r   ctrr   r   s       r   r   r   E       4b"79Q<88r   c                 >    [        XX#=(       d    [        S5      5      $ r   r-   r   s       r   r   r   I   r/   r   c                     [         R                  [         R                  U S5      [         R                  US5      -  [        U 5      S5      $ r   r    r%   s     r   r&   r&   M   r'   r   encryptc           	         [         R                  " U5      nUS S nUSS  n[        S[        U 5      S5       Vs/ s H	  opXwS-    PM     n nU(       a?  [	        U 5       H/  u  px[        UR                  [        X5      5      U5      =oPU'   UnM1     O>[	        U 5       H/  u  px[        UR                  [        X5      5      U5      =o`U'   UnM1     SR                  U 5      $ s  snf )N   r   r   )	pyaesAESranger$   	enumerater&   r2   decryptjoin)	r   r   r   r2   cipheriv_1iv_2ichunks	            r   r*   r*   U   s    3#2w"#w).q#d)R)@A)@AQB)@A%dO!$V^^C4D%Et!LLAw , &dO!$V^^C4D%Et!LLAw , xx~ Bs   C c           	         [         R                  " U5      n[        U 5      nUR                  U5      n[	        S[        U 5      S5       H  n[	        S[        [        U 5      U-
  S5      5       Ho  nXWU-   ==   XcS      -  ss'   US==   S-  ss'   US   S:  a  SUS'   US   S:X  d  M=  [	        SSS5       H  n	 X)==   S-  ss'     O   UR                  U5      nMq     M     U$ ! [         a    SX)'    M@  f = f)Nr   r4   r      )r5   r6   r   r2   r7   r$   min
ValueError)
r   r   r   r   r;   outr?   r>   jks
             r   r.   r.   i   s    3or"q#d)R(A1c#d)a-45E
e!Ho-
aA8r> E!H8q="2r2.&EQJE! / #NN2.E! 6 )& 
  * &$%BE&s   <C''C9	8C9	r   )logging	getLogger__name__logr	   infobytesr
   r   r   r   r   r&   ImportErrorr5   warningboolr*   r.    r   r   <module>rR      s  & !kHH6U 6 6E 6e 66U 6 6E 6e 6MU M MI Mi M[` MMU M MI Mi M[` M
u 
 
5 
  OKK	?(U ( (E (e ()U ) )E )e )9U 9 9I 9i 9[` 99U 9 9I 9i 9[` 9
u 
 
5 
% e   % (% e  9  mOs   AA5 5B C87C8