python - <<'PY'
import cv2,json,numpy as np
from PIL import Image
s='HH-7101';p='/workspace/scratch/finalmasks/'+s+'.png';m=cv2.imread(p,0);pre=cv2.imread('/workspace/scratch/7101_pre.png',0);ox,oy=json.load(open('/workspace/scratch/detailboxes.json'))[s][:2]
for y in range(oy+180,oy+200):
 f=(y-oy-180)/20;m[y]=np.rint(m[y]*(1-f)+pre[y]*f).astype('uint8')
m[oy+200:]=pre[oy+200:];cv2.imwrite(p,m)
meta=json.load(open('/workspace/scratch/assetmeta.json'))[s];x0,y0,x1,y1=meta['crop'];im=Image.open('/workspace/output/assets/'+s+'.png');icc=im.info['icc_profile'];im.putalpha(Image.fromarray(m[y0:y1,x0:x1]));im.save('/workspace/output/assets/'+s+'.png',icc_profile=icc,dpi=(300,300),compress_level=6)
PY
OPENBLAS_NUM_THREADS=1 python /workspace/scratch/layout.py > /workspace/scratch/layout_final.log
QT_QPA_PLATFORM=offscreen scribus -g -ns -py /workspace/scratch/build.py > /workspace/scratch/build.log 2>&1
python /workspace/scratch/patchsla.py
QT_QPA_PLATFORM=offscreen scribus -g -ns -py /workspace/scratch/export.py > /workspace/scratch/export.log 2>&1
python /workspace/scratch/verify_final.py > /workspace/scratch/verify_final.log
cat /workspace/scratch/build_overflows.json; head -5 /workspace/scratch/verify_final.log