ó
    Ã¸èjº  ã                   ó°  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSr\R                  R                  \S5      rSrSrSrSr\R                   " S	\R"                  5      rS
 rS rS rS rS rS r\S:X  a]  \" 5       u  rrr\ H@  r\" S\S   \S   \S   \S   \S   -
  \S   \S   \" \S   5      \" \S   5      4-  5        MB     \" S\S\5        gg)uº   æ•´èŠ‚å�šå­—ç¬¦çº§å¯¹é½�ï¼ˆå…ˆæ‹¼å¹³å†�åˆ‡å›žæ®µè�½ï¼‰ï¼Œé‡�å»ºå·¦å�³å¯¹æ¯”é¡µã€‚
å·¦=ä¸Šä¸€ç‰ˆå®šç¨¿ï¼ˆå�ªè¯»ï¼Œåˆ é™¤å¤„æ ‡çº¢åˆ é™¤çº¿ï¼‰ï¼›å�³=æ–°ç‰ˆï¼ˆå�¯æ”¹ï¼Œæ–°å¢žå¤„æ ‡ç»¿ï¼‰ã€‚é    Nu   /root/media-hub/export/æ‹�æ‘„zcompare-v7-edit.htmlz!/root/media-hub/export/v7-live.mdz(/root/media-hub/export/v7-live-html.jsonz/tmp/old_snapshot.mdz/tmp/new.mdu'   ^ã€�\s*(\d+)\s*[.ï¼Žã€�]\s*(.*?)ã€‘\s*$c                 óB   • [        [        R                  " SU 5      5      $ )Nz[\u4e00-\u9fff])ÚlenÚreÚfindall©Úss    ô(   /root/media-hub/export/æ‹�æ‘„/diffgen.pyÚhanr
      s   € ÜŒr�zŠzÐ,¨aÓ0Ó1Ð1ó    c                 ó�  • [        U SS9R                  5       n[        R                  U5      n0 n[	        S[        U5      S-
  S5       Ht  n[        X$   5      nX$S-      R                  5       nX$S-      R                  S5       Vs/ s H)  owR                  5       (       d  M  UR                  5       PM+     nnXh4X5'   Mv     U$ s  snf )Nzutf-8)Úencodingé   é   é   Ú
)ÚopenÚreadÚHEADS_REÚsplitÚranger   ÚintÚstrip)	ÚpathÚtÚpartsÚdÚiÚnÚtitleÚlnÚparass	            r	   Úloadr"      s¯   € ÜˆT˜GÑ$×)Ñ)Ó+€AÜ�N‰N˜1Ó€EØ
€AÜ�1”c˜%“j 1‘n aÖ(ˆÜ�‘‹MˆØ˜!‘e‘×"Ñ"Ó$ˆØ&+°©E¡l×&8Ñ&8¸Ô&>ÓMÒ&> Ç(Á(Ç*“�—‘–Ñ&>ˆÐMØˆ~ˆ‹ñ	 )ð
 €Hùò Ns   ÂCÂ"Cc                 ó,   • [         R                  " U SS9$ )NF)Úquote)ÚhtmlÚescaper   s    r	   Úescr'   !   s   € Ü�;Š;�q Ñ&Ð&r   c                 ó,  • / n[        [        U5      S-
  5       Hö  nX$   X$S-      pe/ Sp‡[        XV5       H:  n	X   n
X¨:w  a  UR                  U
/ /5        U
nUS   S   R                  X	   5        M<     / nU Hu  u  p¬SR                  U5      nU
(       a>  UR	                  5       (       a)  UR                  SU
< S[        U5      < SU
< S35        M[  UR                  [        U5      5        Mw     UR                  SR                  U5      5        Mø     U$ )u2   æŒ‰æ®µè�½åˆ‡å›ž htmlï¼›flags é€�å­— 'del'/'ins'/''r   NéÿÿÿÿÚ Ú<Ú>z</)r   r   ÚappendÚjoinr   r'   )ÚflatÚflagsÚboundsÚoutÚkr   ÚeÚrunsÚcurÚidxÚfÚbufÚcharsr   s                 r	   Úrenderr;   %   sì   € à
€CÜ”3�v“; ‘?Ö#ˆØ‰y˜& Q¡™-ˆ1à˜ˆcÜ˜–;ˆCØ‘
ˆAØ‹xØ—‘˜Q ˜GÔ$Ø�Ø�‰H�Q‰K×Ñ˜t™yÖ)ñ ð ˆÛ‰HˆAØ—‘˜“ˆAÞ�Q—W‘W—Y‘YØ—
’
«A¬s°1®v³qÐ9Ö:à—
‘
œ3˜q›6Ö"ñ ð 	�
‰
�2—7‘7˜3“<Ö ñ# $ð$ €Jr   c                 ó  • SR                  U 5      nSR                  U5      nS/S/pTU  H#  nUR                  US   [        U5      -   5        M%     U H#  nUR                  US   [        U5      -   5        M%     S/[        U5      -  nS/[        U5      -  n[        R                  " S X#SS9n	U	R                  5        HJ  u  p«pÍnU
S:X  a  M  U
S;   a  [        X¼5       H  nSX'   M	     U
S	;   d  M3  [        XÞ5       H  nS
UU'   M
     ML     [        X'U5      n[        X8U5      n[        [        R                  " SSR                  U5      5      5      n[        [        R                  " SSR                  U5      5      5      nUUUU4$ )Nr*   r   r)   F)ÚautojunkÚequal)ÚdeleteÚreplaceÚdel)Úinsertr@   Úinsz<ins>z<del>)
r.   r-   r   ÚdifflibÚSequenceMatcherÚget_opcodesr   r;   r   r   )ÚopÚnp_Úold_flatÚnew_flatÚobÚnbÚpÚfoÚfnÚsmÚtagÚi1Úi2Új1Új2r   ÚjÚleftÚrightÚins_runsÚdel_runss                        r	   Údiff_sectionr[   =   sb  € Ø�w‰w�r‹{€HØ�w‰w�s‹|€HØˆS�1�#ˆÛˆØ
�	‰	�"�R‘&œ3˜q›6‘/Ö"ñ ãˆØ
�	‰	�"�R‘&œ3˜q›6‘/Ö"ñ à
ˆ”�H“Ñ	€BØ
ˆ”�H“Ñ	€BÜ	×	 Ò	   xÀEÑ	J€BØ!Ÿ~™~Ö/Ñˆ�˜Ø�'‹>ÙØÐ'Ó'Ü˜2–]�Ø�“ñ #àÐ'Õ'Ü˜2–]�Ø��1“ó #ñ  0ô �( Ó#€DÜ�8 Ó$€EÜ”2—:’:˜h¨¯©°«Ó7Ó8€HÜ”2—:’:˜h¨¯©°«Ó6Ó7€HØ�˜ (Ð*Ð*r   c                  ó8  • [        [        5      [        [        5      p/ SSpCn[        SS5       He  nX   u  pgX   u  p‰[	        Xy5      u  p«pÍ[        S U 5       5      n[        S U	 5       5      nX>-  o4U-  nUR                  [        XVXŽXúUXÍS9	5        Mg     X#U4$ )Nr   r   é   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7f©N©r
   ©Ú.0rM   s     r	   Ú	<genexpr>Úbuild.<locals>.<genexpr>_   s   é € Ð$¢˜A”�Q—�¢ùó   ‚c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr_   r`   ra   s     r	   rc   rd   `   s   é € Ð%¢˜A”�Q—�¢ùre   )	r   ÚotÚntÚhoÚhnrW   rX   rC   Údele)r"   ÚOLDÚNEWr   r[   Úsumr-   Údict)ÚOLD_SÚNEW_SÚsecsÚtoÚtnr   rg   rG   rh   rH   rW   rX   rY   rZ   ri   rj   s                   r	   Úbuildru   X   s¤   € Üœ“9œd¤3›iˆ5Ø�q˜!ˆb€DÜ�1�bŽ\ˆØ‘‰ˆØ‘(‰ˆÜ*6°rÓ*?Ñ'ˆ�XÜÑ$¡Ó$Ó$ˆÜÑ%¡Ó%Ó%ˆØ
‰ˆ˜‘(�"Ø�‰”D˜1¨°bÈ5Ø%ñ6ö 	7ñ ð �Rˆ<Ðr   Ú__main__u1   s%-2d %4d -> %4d (%+4d)  ç»¿%2d çº¢%2d  æ®µ %d/%dr   ri   rj   rC   rk   rW   rX   u   å�ˆè®¡z->) Ú__doc__r   ÚosÚjsonrD   r%   ÚtimeÚshutilÚBASEr   r.   ÚPAGEÚLIVEÚHTMLSrl   rm   ÚcompileÚMr   r
   r"   r'   r;   r[   ru   Ú__name__rr   rs   rt   r   Úprintr   © r   r	   Ú<module>r…      s  ðñlç 0× 0× 0Ó 0à&€Ø	‡w�w‡|�|�DÐ0Ó1€Ø*€Ø2€Ø€Ø€à�:Š:Ð@À"Ç$Á$ÓG€ò2ò	ò'òò0+ò6ð ˆzÓÙ“7�L€Dˆ"ˆbÛˆÙÐAØˆc‰F�A�d‘G˜Q˜t™W a¨¡g°°$±Ñ&7¸¸5¹À1ÀVÁ9Ù��&‘	‹N™C  '¡
›OðE-ñ -ö 	.ñ ñ 
ˆ(�B˜˜bÕ!ð r   