
    Omj                       d Z ddlmZ ddlZddlZddlmZ  ej                  dej                        Z	 ej                  dej                        Z
ddZddZdd	Zed
k(  r eej                         dk  r edd        ed       eej                   d         Zej)                         r ee      n eej                   d         Zer ee        ed       ed      y)u?   Telegram QR rasm → deviceId (t.me/Bot?start=… yoki 40 hex).    )annotationsN)Pathz\b([a-f0-9]{40})\bz?(?:t\.me|telegram\.me)/([A-Za-z0-9_]+)\?start=([A-Za-z0-9_\-]+)c                   | sy t         j                  | j                  dd            }|re|j                  d      j	                         }t
        j                  |      }|r|j                  d      j                         S |j                         S t
        j                  |       }|r|j                  d      j                         S d S )Nz&amp;&      )START_REsearchreplacegroupstripID_RElower)textmpayloadhids       /root/Leap-Voice/qr_decode.pyextract_from_textr      s    Wc23A''!*""$ll7# #		!77997799TA!"1771:,,    c                N   | sy 	 dd l }dd l}|j                  | |j                        }|j	                  ||j
                        }||j                         }||j                  ||j                        fD ],  }|j                  |      \  }}}t        |xs d      }	|	s*|	c S  |j                  d d \  }
}t        |
|      dk  rH|j                  |d dd|j                        }|j                  |      \  }}}t        |xs d      }	|	r|	S 	 ddlm} dd	lm} dd l}|j+                  |j-                  |             j/                  d
      }dD ]  }|dk(  r|n>|j                  t1        |j2                  |z        t1        |j4                  |z        f      } ||      D ]/  }t        |j6                  j#                  dd            }	|	s+|	c c S   	 	 | j#                  dd      }t        |      }	|	r|	S 	 y # t        $ r Y w xY w# t        $ r Y >w xY w# t        $ r Y y w xY w)Nr   )dtype r   i  g      @)fxfyinterpolation)decode)ImageRGB)      ?g       @g      @r    zutf-8ignorezlatin-1)cv2numpy
frombufferuint8imdecodeIMREAD_COLORQRCodeDetectorcvtColorCOLOR_BGR2GRAYdetectAndDecoder   shapemaxresizeINTER_CUBIC	Exceptionpyzbar.pyzbarr   PILr   ioopenBytesIOconvertintwidthheightdata)r:   r"   nparrimgdetframeval_gothwbigzbar_decoder   r3   imscalecurobj
ascii_blobs                        r   decode_bytesrL      s+   mmDm1ll3 0 01?$$&Cs||C1C1CDE //6	Q'	r2J	 99Ra=DAq1ay3jjdss#//jZ//4	Q'	r2J
7ZZ

4()11%8$ 	E""))RXX%&BII,=(>?+C #3' '(JKJ		[[H5

+J  ;  $    sP   BG:  G: $A)G: B<H	 H	 H	  H :	HH		HH	H$#H$c                F    t        t        |       j                               S )N)rL   r   
read_bytes)paths    r   decode_filerP   U   s    T
--/00r   __main__r   r   )endr   )r   strreturn
str | None)r:   bytesrT   rU   )rO   z
str | PathrT   rU   )__doc__
__future__r   resyspathlibr   compileIr   r	   r   rL   rP   __name__lenargvprint
SystemExitpis_fileout r   r   <module>rg      s    E " 	 
 

("$$/2::FDD	-6r1 z
388}qbbmSXXa[AIIK+a.->sxx{-KC
c
m
Q- r   