
    <`j	                        d dl Z d dlZd dlZd dlZd dlmZ  ee                                          j        d         Z	 ej
        dej                  Zd Zd
dZd Zed	k    r ej         e                       dS dS )    N)Path   u   [^\W_]+(?:['’-][^\W_]+)*c                    t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)fs   /data/video-pipeline/Chanel-HuyenAnAudio/project/016-Ngay-Chung-Toi-Nop-Don-Ly-Hon-Anh-Dua-Toi-Ban-Hon-Uoc-Khong-Con-Dieu-Khoan-Nao/script/validate-originality.py<lambda>zsha.<locals>.<lambda>   s    QVVK00     r   )hashlibsha256openiterupdate	hexdigest)pathhbr	   s      @r
   shar      s    nA	4 CA000055BBAqxx{{{{BC C C C C C C C C C C C C C C;;==s   ,A##A'*A'
   c                     t                               |                                           t          fdt	          t          dt                    z
  dz                       D                       S )Nc              3   L   K   | ]}t          ||z                      V  d S N)tuple).0intokenss     r
   	<genexpr>zngrams.<locals>.<genexpr>   s7      KKuVAacE]##KKKKKKr   r   r   )WORD_REfindallcasefoldsetrangemaxlen)textr   r   s    `@r
   ngramsr)      sc    ??4==??++FKKKKKU3qVQq3I3I-J-JKKKKKKr   c                     t          j        t          dz                      d                    } t          dz                      d          }| d         }g }t	          t          j                            d                    D ]h}|j        d         t          j        k    r|	                    |j        j        j        |                    d          f           Y# t          $ r Y ew xY wt          |          }g }|D ]P\  }}t          |          }	|	                    ||r"t          ||	z            t          |          z  ndd	           Qg d
}
|                                g }|dk    r|	                    d           g d}t          fd|D                       s|	                    d           t          fddD                       s|	                    d           t          fd|
D                       r|	                    d           t!          d |D             d          }| o|dk     d|t          |          |t          d |D                        |t#          t          dz            d}t          dz                      t          j        |dd          dz              t)          t          j        |d                      |d!         rd"nd#S )$Nzscript/story-brief.jsonzutf-8)encodingzstory/spoken-narration.txtprimary_story_familyz(0[0-1][0-5]-*/story/spoken-narration.txtg        )projectratio)u   cao trào nghề nghiệpu   tranh chấp cộng đồngu   điều tra hình sựu   tình địchu0   Cưới trước yêu sau / hôn ước từ béfamily_mismatch)u   ly hônu   hôn ướcu   nghĩa vụu   tự dou   muốn gặp tôic              3       K   | ]}|v V  	d S r    r   xlowers     r
   r    zmain.<locals>.<genexpr>&   s'      ,,aqEz,,,,,,r   required_payoff_markers_missingc              3       K   | ]}|v V  	d S r   r2   r3   s     r
   r    zmain.<locals>.<genexpr>'   s'      mmaqEzmmmmmmr   )u*   sau khi đã có quyền rời khỏi nhauu   không còn nghĩa vụpayoff_causal_evidence_missingc              3       K   | ]}|v V  	d S r   r2   r3   s     r
   r    zmain.<locals>.<genexpr>(   s'      
)
)!1:
)
)
)
)
)
)r   forbidden_engine_markerc              3   &   K   | ]}|d          V  dS )r/   Nr2   )r   rs     r
   r    zmain.<locals>.<genexpr>)   s&      **aqz******r   )defaultg?016c              3      K   | ]}d |v V  	dS )r0   Nr2   )r   r4   s     r
   r    zmain.<locals>.<genexpr>*   sZ        fN  fN  BC  gx  |}  g}  fN  fN  fN  fN  fN  fNr   )verified
project_idfamilycomparisonsworst_10gram_overlapfamily_preservedissuesspoken_sha256zstory/originality-report.jsonF   )ensure_asciiindent
)rI   r@   r   r   )jsonloadsPROJECT	read_textsortedparentglobpartsnameappendOSErrorr)   r'   r#   allanyr&   r   
write_textdumpsprint)briefr(   rB   	old_textspcurrentratiosrT   oldother	forbiddenrF   requiredworstresultr5   s                  @r
   mainrg      sw   
*g77BBGBTT
U
UE
.
.	9	97	9	K	KD'(FIW^))*TUUVV  72;',&&qx3AKKK4Q4QRSSSS4LLG& y ySSkk6==DfmAvWu_AUAUVYZaVbVbAbAbsv)w)wxxxxrrrI
--//EFCCCV]]SdEeEeEeXXXH,,,,8,,,,,^fmm<].^.^.^mmmm#lmmmmm  _ouo|o|  ~^  p_  p_  p_

)
)
)
)y
)
)
)))S6==9R+S+S+S
**6***3
7
7
7E!z0eDjeVbeflbmbm  FK  cf  fN  fN  GM  fN  fN  fN  cN  cN  _N  X^  or  sz  {W  sW  oX  oX  Y  YF,,88FX]ef9g9g9ghl9lmmm	$*V
/
/
/000fZ>P9WVW2Ws   $:C
C,+C,__main__)r   )r   rL   resyspathlibr   __file__resolveparentsrN   compileUNICODEr!   r   r)   rg   __name__exitr2   r   r
   <module>rs      s      				 



      
$x..
 
 
"
"
*1
-
"*2BJ
?
?  L L L LX X X0 Z$$&&)))))r   