
    -^j                        d dl mZ d dlZd dlZd dlmZmZ d dlmZ  ed          ZdZ	dZ
dZd	Zed
z  dz  Zedz  dz  ZddZddZddZddZedk    r e             dS dS )    )annotationsN)datetimetimezone)PathzE/data/video-pipeline/HaTramAudio/project/013-Ngay-Buu-Cuc-Cu-Sang-Denz013-Ngay-Buu-Cuc-Cu-Sang-Denzrun-20260720T110344Z-f6c08be9zorou    Ngày Bưu Cục Cũ Sáng Đènoutputzinfo.txtlogzmetadata.jsonreturnstrc                     t          j        t          j                                                                      dd          S )Nz+00:00Z)r   nowr   utc	isoformatreplace     \/data/video-pipeline/HaTramAudio/project/013-Ngay-Buu-Cuc-Cu-Sang-Den/work/build_metadata.pyr   r      s0    <%%//1199(CHHHr   pathr   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   r   <lambda>zsha.<locals>.<lambda>   s    !&&"9"9 r   r   )hashlibsha256openiterupdate	hexdigest)r   hblockr   s      @r   shar$      s    A	4 A99993?? 	 	EHHUOOOO	               ;;==s   ,A##A'*A'Nonec                    t          j        t          dz                      d                    } t          t
          t          dd                                D ]0\  }}|                     |          |k    rt          d|           1d S )Nz.ownership-lock.jsonutf-8encodingactive)
project_idrun_idownerstatuszownership mismatch: )
jsonloadsROOT	read_text
PROJECT_IDRUN_IDOWNERitemsgetRuntimeError)dkeyvalues      r   guardr<      s    
D11<<g<NNOOA%/6E]effllnn = =
U55::;c;;<<< = =r   c            	     d   t                       t          dz  dz  } t          dz  dz  }t          j        |                     d                    }t          j        |                    d                    }|                    d          dus|                    d          d	vrt          d
          t          dz  dz  }|                    d          p|                    d          }t          |          |k    rt          d          t          j        |d          }t          |vrt          d          d}dt           d}dt           d| dt           d}	|dz   |	z   }
t          j                            dd           t                       t                              |
d           i dddt          dt          dd ddd|d!t          |          d"t          d#|d$t!          |          d%|d&g d'd(t#          t                    d)t          t                    d*dd+t%                      }t                       t&                              t          j        |dd,-          d.z   d           t)          t          j        d d||d)         d/d                     d S )0Nscriptzpromotion-report.jsonzstory-brief.jsonr'   r(   verifiedTr.   >   passed	completedzpromotion gate is not verifiedstoryzstory-canon.txtcanon_sha256source_canon_sha256zcanon hash mismatchF)ensure_asciiz(canonical title missing from story briefu  Một chuyên viên phục dựng thư tín trở về bưu cục ven sông sắp bị tháo dỡ và gặp lại kiến trúc sư bảo tồn từng rời khỏi thành phố không lời giải thích. Khi kho thư thất lạc bất ngờ được mở, những dấu vết cũ buộc họ cùng tìm lại một lời hứa đã bị hiểu sai, trước khi ánh đèn cuối cùng của bưu cục tắt hẳn.u   Truyện Audio | u    (Full) | Hạ Trâm Audiou   Bạn đang lắng nghe u/    tại Hạ Trâm Audio.

Tóm tắt truyện:
u   

🎧 Tên truyện: u  
🎙 Giọng đọc: Hạ Trâm Audio
📚 Thể loại: Ngôn tình đô thị, chữa lành, bí ẩn, nghề nghiệp
Tình trạng: Trọn bộ

Nếu yêu thích câu chuyện, hãy đăng ký kênh và để lại cảm nhận của bạn dưới phần bình luận.

Hạ Trâm Audio – Lắng nghe một thế giới khác.

#HaTramAudio #TruyenAudio #NgonTinh #ChuaLanh #TruyenFull
z

)parentsexist_okschema_version   r+   r,   rA   source_story_brief_sha256canonical_titleyoutube_titletitle_lengthsummarygenres)u   Ngôn tình đô thịu   Chữa lànhu   Bí ẩnu   Nghề nghiệpartifact_pathartifact_sha256contains_spoiler_revealcompleted_at   )rE   indent
)r.   r?   titlerQ   )r<   r1   r/   r0   r2   r7   r8   r$   dumpsTITLEOUTPUTparentmkdir
write_textr3   r4   lenr   r   RECEIPTprint)promotion_path
brief_path	promotionbriefcanon
canon_hash
brief_textrN   
title_linedescriptioncontentreceipts               r   mainrl   %   sJ   	GGGH_'>>N#55J
>33W3EEFFIJz++W+==>>E}}Z  ,,	h0G0GOf0f0f;<<<7N..E~..V)--@U2V2VJ
5zzZ0111E666JJEFFF	D  GUFFFJu   	 
   K  6!K/G
Mt444	GGG
g000!j 	& 	+	
 	D 	z 	$S__ 	5 	 	J 	7 	[[[ 	V 	3v;; 	"5  	!G$ 
GGGtz'aHHH4OZabbb	$*
gn  pA  hB  C  C  RW  X  X  X  Y  Y  Y  Y  Yr   __main__)r
   r   )r   r   r
   r   )r
   r%   )
__future__r   r   r/   r   r   pathlibr   r1   r3   r4   r5   rY   rZ   r_   r   r$   r<   rl   __name__r   r   r   <module>rq      s   " " " " " "   ' ' ' ' ' ' ' '      tSTT+
	(*	:	%
,
(I I I I   = = = =>Y >Y >Y >YB zDFFFFF r   