
    Yjj                     &   d dl Z d dlZd dlZd dlZd dlmZ dZ ee                                          j	        d         dz  Z
ddddZd Zd	 Zd
 Zedk    r8 eej                  dk    r edg            eej        d                    dS dS )    N)Pathgacmai_20260717_104203   zlocked_outline_canonical.json)i*  i  ))r      )      )	      c                 \    t          t          j        d| t          j                            S )Nz\b\w+\b)lenrefindallUNICODE)ss    c/data/video-pipeline/GacMaiAudio/project/gacmai_20260717_104203/artifacts/scripts/validate_batch.pywcr      s    #bjAbj99:::    c                 l    t          t          j        d| dd                     t          d          )Nfailed)statuserrorsFensure_asciir   )printjsondumps
SystemExit)ess    r   failr   	   s5    eDJ2>>ERRRSSSZdefZgZgTgr   c                 	   t          |           }t          j        |                                          }t          j        t                                                    }t          j        t                                                                                    }g }|	                    d          t          k    r|                    d           |	                    d          |d         k    r|                    d           |	                    d          |k    r|                    d           t          |	                    dg                     }|	                    dg           }|t          vr|                    d	           nOd
 |D             t          t          |d         |d         dz                       k    r|                    d           g }|D ]}	|		                    d          }
t!          |
t                    r,t#          |
          dk    st%          d |
D                       r-|                    d|		                    d           d           |                    |
           d                    |          }t+          |          }|t          v rWt          |         d         |cxk    rt          |         d         k    s(n |                    d| dt          |                     |d         D ]u}|                                d         }|                    |d          }t1          j        dt1          j        |           d|          r|                    d|            v|	                    d          |d         k    r|                    d           t!          |	                    d          t6                    s|                    d           t!          |	                    d           t6                    s|                    d!           |rt9          |           t;          t          j        d"t          j        |                                                                          t          |          t#          |          t#          |          |d#d$%                     d S )&N
project_idzproject mismatchtitleztitle mismatchoutline_sha256zoutline SHA mismatch
part_rangepartszinvalid part_rangec                 8    g | ]}|                     d           S )part)get).0xs     r   
<listcomp>zmain.<locals>.<listcomp>   s"    $$$quuV}}$$$r   r   r   zpart order mismatch
paragraphsr
   c              3   l   K   | ]/}t          |t                     p|                                 V  0d S )N)
isinstancestrstrip)r)   ys     r   	<genexpr>zmain.<locals>.<genexpr>   sD      2f2f^_z!C7H7H3H3YPQPWPWPYPYM2f2f2f2f2f2fr   zpart r'   z paragraphsz

zwords z	 outside cast z(?<!\w)z(?!\w)zbare surname named_charactersznamed_characters mismatchcontinuity_ledgerzcontinuity_ledger missingevidence_ledgerzevidence_ledger missingpassed)r   sha256r$   r%   r,   wordsFr   )r   r   loads	read_textOUTLINEhashlibr9   
read_bytes	hexdigestr(   PROJECTappendtupleWINDOWSlistranger.   r   anyextendjoinr   splitreplacer   searchescapedictr   r   r   )rawpdooshr   rrr%   textr*   psjoinednnamesurnamescrubs                   r   mainr\   
   s   99tz!++--((Q4:g6G6G6I6I+J+Jw~^e^p^p^r^rOsOsO}O}OO3  DF  ACEE,  +=!>!>!>EE'NNAgJryy)9:::EE
S  +A!B!B!B	!%%R
 
 !!gb(9(9%gbii 45555$$e$$$d5Ar!uQw+?+?&@&@@@K`AaAaAa
  QUU<"	Bt		 Bs2f2fce2f2f2f/f/fgigpgp  rTyzy~y~  @F  zG  zG  rT  rT  rT  hU  hU  hU  hU{{2DBvJJ!'MM'"+a.!;;;;WR[^;;;;BIIFhqFhFh[bce[fFhFh<i<i<ivY a aT
**,,q/'tB 7 7%Y4")G,,444U;;`BIIF_V]F_F_<`<`<`EE
qy((3N)O)O)O155,--d33ZBII>Y4Z4Z4Z155*++D11V"))<U2V2V2VtBxxxtzHgnQ\\^^.L.L.V.V.X.Xfjkmfnfnwz  |A  xB  xB  PS  TX  PY  PY  bc  d  d  rw  x  x  x  y  y  y  y  yr   __main__   zusage validator BATCH.json)r>   r   r   syspathlibr   rA   __file__resolveparentsr=   rD   r   r   r\   __name__r   argv r   r   <module>rg      s                          
$x..
 
 
"
"
*1
-0O
OK@@ : : : g g gy y y0 ZCMM1TT78999chqk r   