
    j_j+*                        d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ  ee          	                                j
        d         Z ej        dej                  Zd Zd Zd Zd	 Zed
k    rS	  ej         e                       dS # e$ r0Z ede ej                    ej        d           Y dZ[dS dZ[ww xY wdS )    N)datetimetimezone)Path   u   [^\W_]+(?:['’-][^\W_]+)*c                     t           | z  }|                                st          d|            t          j        |                    d                    S )Nzmissing utf-8encoding)PROJECTis_fileRuntimeErrorjsonloads	read_text)relpaths     script/complete-project.pyloadr      sP    S=D<<>> -+c++,,,:dnngn66777    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)handles   r   <lambda>zsha.<locals>.<lambda>   s    &++o">"> r   r   )hashlibsha256openiterupdate	hexdigest)r   digestblockr   s      @r   shar$      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c           	      |    |                      d|                      d|                      d                              S )N
word_countspoken_word_countaggregate_word_countget)drafts    r   report_wordsr,      s2    99\599-@%))LbBcBc#d#deeer   c                     . t          d          } t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d	          }t          d
          }	t          d          }
t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }d t          dd          D             }d                    |          dz   }t          dz  }t          dz  }t          dz  }t          dz  }t          dz  }t          dz  }t          dz  }t          d z  }|                    d!"          }t          |          .t          t                              |                    }t          d#z  }|	                                rt          |          nd } |
                    d$          pi }!t                      }"d%d&h}#|
                    d'          d(u o+|
                    d)          d*k    ot          |!          |#k    }$|$r|#D ]}%|!
                    |%          pg }&|$oYt          |&          dk    oF|&d+         
                    d,          d-k    o't          |&d+         
                    d.                    }$|&r.|"                    |&d+         
                    d/                     |$ot          |"          dk    od |"v}$t          d0 |
                    d1g           D             i           }'|
                    d2          d3k    o|
                    d4          d5k    on|
                    d2          |
                    d2          k    oB|
                    d4          |
                    d4          k    o|
                    d6          d(u }(|||||	|
||||||||g})i d7|
                    d'          d(u o"t          |          |k    od8|cxk    od9k    nc d:||k    o)|                                |                                k    d;|(d<|
                    d'          d(u o|
                    d=          d(u d>|
                    d?          .k    o3|
                    d@          .k    ot#          .fdA|)D                       dB|
                    d'          d(u o|
                    dC          dDk    o|
                    dE          d(u o|
                    dF          dGu o|
                    dH          d+k    o|
                    dI          .k    os|	                                o_|	                                oK|
                    dJ          t          |          k    o%|
                    dK          t          |          k    dL|
                    d'          d(u oV|
                    dC          dMk    o<|
                    dE          d(u o$|
                    dF          dGu o|
                    dH          d+k    o|'
                    dN          |'
                    dO          k    o|'
                    dOd+          dk    o|	                                o|	                                o|	                                oq|
                    dI          t          |          k    oK|
                    dJ          t          |          k    o%|
                    dK          t          |          k    dP|
                    d'          d(u oC|
                    dQ          dRk    o)|
                    dS          d(u o|
                    dI          |
                    dJ          k    o|
                    dT          |
                    dJ          k    o|
                    dU          t          t          dz            k    o|
                    dV          t          |          k    oe|
                    dW          |
                    dX          k    o9|	                                o%|
                    dY          t          |          k    dZ|
                    d'          d(u o|
                    dQ          dRk    o|
                    dI          |
                    dI          k    o|
                    dJ          |
                    dJ          k    o|
                    dU          t          t          dz            k    o_|
                    dV          t          |          k    o9|	                                o%|
                    dY          t          |          k    d[|	
                    d'          d(u o|	
                    d\          d(u d]|

                    d'          d(u oA|

                    d^          dGu o*|

                    d_i           
                    d'          d(u d`|
                    d'          d(u o|
                    d_i           
                    d'          d(u o|
                    da          dbk    o|
                    dc          |
                    dJ          k    o[|
                    dd          t          t          dz            k    o-|
                    de          t          t          d	z            k    df|
                    d'          d(u o|
                    d)          d*k    o|
                    d_i           
                    dg          dGu oU|
                    dhi           
                    di          d(u o*|
                    dhi           
                    dj          d(u dk|
                    d'          d(u oC|
                    d)          d*k    o*|
                    d_i           
                    dg          dGu dl|
                    d'          d(u o|
                    d)          dmk    dn|
                    d'          d(u o|
                    d)          d*k    ot|
                    d_i           
                    dg          dGu oI|	                                o5|                                j        dok     o| |
                    dY          k    dp|
                    d'          d(u o|
                    dqdr          dsk    |
                    d'          d(u oB|
                    dt          pi 
                    du          pi 
                    dv          | k    |$dw}*t#          |*                                          }+i dxdd'|+dyt          j        dz|
                    d{          d|.d}|d~ddt-          |dz  d          d|
                    d          d|
                    d          |
                    dY          ddn|
                    d          |
                    d          |
                    dY          dd|
                    d          |
                    d          |!dd|*dt/          |*                                          dt          |*          dt1          j        t4          j                                                  },t          dz  }-|-                    t=          j        |,dGd          dz   d!"           |+sDtA          t=          j        dGd |*!                                D             ddG                     dS d*| d)<   d dD             | d<   |,d         | d<   t          dz                      t=          j        | dGd          dz   d!"           tA          t=          j        d(|,d         |,d         d*ddG                     d+S )Nzscript/project-manifest.jsonzscript/story-brief.jsonzstory/draft-report.jsonzstory/promotion-report.jsonzstory/originality-report.jsonzlog/tts-pronunciation.jsonz log/intro-tts-pronunciation.jsonzlog/tts-verification.jsonzlog/intro-voice.jsonzlog/image-generation.jsonzimage/layout-manifest.jsonzlog/intro-render.jsonzlog/footage-job.jsonzlog/final-render.jsonz log/production-verification.jsonzlog/upload-transcode.jsonzlog/metadata-verification.jsonzlog/postiz-media.jsonzlog/postiz-schedule.jsonc                 x    g | ]7}t           d |ddz                      d                                          8S )zstory/chapters/chapter-02dz.txtr   r	   )r   r   rstrip).0indexs     r   
<listcomp>zmain.<locals>.<listcomp>5   s]      F  F  FotDUDDDDDOOY`Oaahhjj  F  F  Fr   r      z



zstory/spoken-narration.txtzstory/story-canon.txtzstory/tts-pronunciation.txtzaudio/intro-voice-source.txtz#audio/intro-voice-pronunciation.txtzaudio/intro-voice.wavz!script/pronunciation-lexicon.jsonzaudio/story-full.wavr   r	   zoutput/final-upload.mp4postscmrq10vod000hj7cbt8zvuj6acmrpr0j9u000bj7cboqonlx4bverifiedTstatus	completedr   stateQUEUEidpublishDatec              3   L   K   | ]}|                     d           dk    |V   dS )sourceaudioNr)   )r1   rows     r   	<genexpr>zmain.<locals>.<genexpr>P   s:      llcswwW_O`O`dkOkOkcOkOkOkOkllr   lexiconprimary_story_familyu   Thanh mai trúc mãsecondary_story_familyu$   Hào môn / tổng tài / liên hônfamily_adherence_verifiedstoryi0*  i 2  
exact_joinstory_familyoriginality_inside_familyprimary_story_family_preservedcanon_chainspoken_sha256source_canon_sha256c              3   L   K   | ]}|                     d           k    V  dS )rP   Nr)   )r1   rC   canons     r   rD   zmain.<locals>.<genexpr>^   s        {|  {|  or{~  |C  |C  DY  [`  |a  |a  ej  |j  {|  {|  {|  {|  {|  {|r   narration_pronunciationkind	narrationreverse_verifiedsemantic_content_changedFnon_lexicon_changessource_sha256projection_sha256lexicon_sha256intro_pronunciationintrosource_countreplacement_countnarration_ttsvoicezngoc-huyen-vbeepronunciation_verifiedchunk_reconstruction_sha256pronunciation_receipt_sha256pronunciation_lexicon_sha256segments_completedsegments_totaloutput_sha256	intro_ttsprovider_imagesprovider_rendered_text_onlylayout_artwork_qatext_overlay_applied	visual_qa	intro_gpuencoder_required
h264_nvencintro_pronunciation_sha256"intro_pronunciation_receipt_sha256intro_voice_receipt_sha256footage_technicalrequiredserver_verificationmirror_appliedsource_audio_discardedfinal_technical
productionpassedupload_copyi ʚ;metadatatitle_lengthi  d   mediavideor   )r   scheduleversion
project_idtitlecanonical_titlecanon_sha256r&   tts_words_per_minute   predicted_tts_minutes   tts_duration_secondsduration_secondsfinaljob_id)r   r   output_bytes)r   bytesr   r   
slot_localslot_utc)r   r   r6   checkschecks_passedchecks_total
checked_atzlog/completion-report.json   )ensure_asciiindentc                     g | ]	\  }}||
S  r   )r1   keyvalues      r   r3   zmain.<locals>.<listcomp>~   s"    7j7j7j
Udi7j7j7j7jr   )r9   failed)r   c                     i | ]}|d S )r;   r   )r1   r   s     r   
<dictcomp>zmain.<locals>.<dictcomp>   s,      f  f  fck  f  f  fr   )capability_preflightstory_briefarchitecturera   rI   pronunciationttsartworkr]   footager   	transcodepublish
completionsteps
updated_at)r9   r   r   manifest_status)"r   rangejoinr   r   r$   lenWORD_REfindallr   r*   setbooladdnextr,   
read_bytesallstatst_sizevaluesnameroundsumr   nowr   utc	isoformat
write_textr   dumpsprintitems)/manifestbriefr+   	promotionoriginalityr   r\   r   intro_voiceimageslayoutr]   r   r   r{   r   r~   r   r   chaptersexpectedspoken_path
canon_pathpronunciation_pathintro_source_pathintro_projection_pathintro_voice_pathlexicon_pathstory_audiospokenwordsuploadupload_hashr6   
timestampsexpected_integrationsschedule_okintegrationrows	audio_row	family_okchainr   r9   reportoutputrR   s/                                                 @r   mainr       sx   233H*++E*++E233I677K566MABB
*
+
+C-..K-..F.//F())E)**G())E899J011I455H())E.//H F  Fx}~  BD  yE  yE  F  F  FH}}X&&-H88K22J #@@"@@#&KK!88@@L22K""G"44FE''((E00F!'!1!1;#f+++tKLL!!'REJ8:UV,,z**d2  Ex||H7M7MQ\7\  Eadejakak  pE  bEK V0 	; 	;K99[))/RD%x#d))q.xT!W[[=Q=QU\=\xaefjklfmfqfqrvfwfwaxaxK ;tAw{{=99:::!Uc*oo&:Ut:?Ull%8%<%<Y%K%KlllnpqqI		())-BB 	?II.//3YY	?MM011UYY?U5V5VV	? MM233uyyAY7Z7ZZ	? MM566$>  ':CQVX_afhrt}  @H  JO  QY  ZE:&&$.k<3F3F%3OkTY]bTkTkTkTkfkTkTkTkTkf(`Z-B-B-D-DH^H^H`H`-` 		 	$[__Z%@%@D%H  &G[__]}M~M~  CG  NG	
 	y}}_55>  |;??ShCiCimrCr  |wz  {|  {|  {|  {|  v{  {|  {|  {|  x|  x| 	"=#4#4Z#@#@D#H  $D]M^M^_eMfMfjuMu  $D  {H  {L  {L  M_  {`  {`  dh  {h  $D  mz  m~  m~  Y  mZ  mZ  ^c  mc  $D  hu  hy  hy  zO  hP  hP  TU  hU  $D  Zg  Zk  Zk  l{  Z|  Z|  @E  ZE  $D  J\  Jd  Jd  Jf  Jf  $D  kw  k  k  kA  kA  $D  FS  FW  FW  Xk  Fl  Fl  ps  tF  pG  pG  FG  $D  LY  L]  L]  ^n  Lo  Lo  sv  wC  sD  sD  LD 	266zBBdJ   ZObOfOfgmOnOnryOy   Z  R  V  V  Wi  j  j  nr  r   Z  wJ  wN  wN  Oi  wj  wj  ns  ws   Z  xK  xO  xO  Pe  xf  xf  jk  xk   Z  py  p}  p}  ~L  pM  pM  QZ  Q^  Q^  _r  Qs  Qs  ps   Z  xA  xE  xE  FY  [\  x]  x]  ab  xb   Z  gx  g@  g@  gB  gB   Z  G\  Gd  Gd  Gf  Gf   Z  kw  k  k  kA  kA   Z  FY  F]  F]  ^m  Fn  Fn  ru  vG	  rH	  rH	  FH	   Z  M	`	  M	d	  M	d	  e	x	  M	y	  M	y	  }	@
  A
V
  }	W
  }	W
  M	W
   Z  \
o
  \
s
  \
s
  t
D  \
E  \
E  IL  MY  IZ  IZ  \
Z 	,,4  O	9I9IM^9^  O	cfcjcj  lD  dE  dE  IM  dM  O	  RU  RY  RY  Zi  Rj  Rj  n{  n  n  @S  nT  nT  RT  O	  Y\  Y`  Y`  a~  Y  Y  CP  CT  CT  Uh  Ci  Ci  Yi  O	  nq  nu  nu  vT  nU  nU  Y\  ]d  gC  ]C  YD  YD  nD  O	  IL  IP  IP  Qo  Ip  Ip  tw  xD  tE  tE  IE  O	  JM  JQ  JQ  Rf  Jg  Jg  kn  kr  kr  sC  kD  kD  JD  O	  IT  I\  I\  I^  I^  O	  cf  cj  cj  kz  c{  c{  B	  C	N	  O	  O	  cO	 	[__Z00D8  d[__W=U=UYj=j  dozo~o~  @O  pP  pP  Tg  Tk  Tk  l{  T|  T|  p|  d  AL  AP  AP  Qd  Ae  Ae  i|  i@  i@  AT  iU  iU  AU  d  Ze  Zi  Zi  jH  ZI  ZI  MP  QX  [}  Q}  M~  M~  Z~  d  CN  CR  CR  Sq  Cr  Cr  vy  zF  vG  vG  CG  d  L\  Ld  Ld  Lf  Lf  d  kv  kz  kz  {J  kK  kK  OR  Sc  Od  Od  kd 	6::j11T9ofjjIf>g>gko>o 	VZZ
33t;  d

Ka@b@bfk@k  dpvpzpz  |G  IK  qL  qL  qP  qP  Q[  q\  q\  `d  qd 	UYYz**d2  vuyyb7Q7Q7U7UV`7a7aei7i  vnsnwnw  yK  oL  oL  P\  o\  v  af  aj  aj  kG  aH  aH  L_  Lc  Lc  dw  Lx  Lx  ax  v  }B  }F  }F  Gk  }l  }l  ps  t{  ~`  t`  pa  pa  }a  v  fk  fo  fo  pL  fM  fM  QT  U\  _u  Uu  Qv  Qv  fv 	W[[44<  zXAVAVZeAe  zjqjuju  wB  DF  kG  kG  kK  kK  LV  kW  kW  [`  k`  z  el  ep  ep  qF  HJ  eK  eK  eO  eO  P`  ea  ea  ei  ei  z  nu  ny  ny  zO  QS  nT  nT  nX  nX  Yq  nr  nr  vz  nz 	599Z00D8  XUYYx=P=PT_=_  Xdidmdmny{}d~d~  eC  eC  DN  eO  eO  SX  eX 	jnnZ00D8aZ^^H=U=UYa=a  	y}}Z00D8  QY]]8=T=TXc=c  Qhqhuhu  wB  DF  iG  iG  iK  iK  LV  iW  iW  [`  i`  Q  ek  es  es  eu  eu  Q  z@  zE  zE  zG  zG  zO  R_  z_  Q  do  s|  s@  s@  AP  sQ  sQ  dQ!" 	HLL,,4anVY9Z9Z^a9a#$ :&&$.UYYw5G5G5M24R4RSZ4[4[4a_a3f3fgo3p3pt3'  F* 6==??##H1 (,8',,--/=u 	e 4S 	 us{A!6!6	
 	(: ; ; 	EIIh//599_;U;UVV 	)--"9"9IMMR`DaDamvmzmz  |K  nL  nL  M  M 	8<<#=#=8<<XbKcKcnstt 	& *3v}}+?+? BPQTU[Q\Q\ 	hl8<00::<<F 33F
djeAFFFMX_``` dje7j7jfllnn7j7j7jkkz  A  A  A  	B  	B  	Bq$HX f  f  6e  f  f  fHW#L1H\--99$*X\ajk:l:l:los:s  F9  G  G  G	$*$9Pbhiwbx  NY  Z  Z  in  o  o  o  p  p  p1r   __main__zCompletion blocked: )file)r   r   resysr   r   pathlibr   __file__resolveparentsr   compileUNICODEr   r   r$   r,   r   __name__exit	Exceptionexcr   stderrr   r   r   <module>r      s_     				 



 ' ' ' ' ' ' ' '      
$x..
 
 
"
"
*1
-
"*2BJ
?
?8 8 8  f f fe e eP z   *S**<<<< s   0B
 
B?%B::B?