xvai-loi 0.1.60 → 0.1.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/co.txt +1 -1
- package/package.json +1 -1
- package/xvai-loi.js +46 -6
package/co.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
xvaiLoi111249
|
package/package.json
CHANGED
package/xvai-loi.js
CHANGED
|
@@ -10773,7 +10773,7 @@ dangKy("cmAnh", (g, d, tuoi, W4, H2, _n, _s, dai2) => {
|
|
|
10773
10773
|
}
|
|
10774
10774
|
return t ? n / t : 1;
|
|
10775
10775
|
};
|
|
10776
|
-
const yB = [0.
|
|
10776
|
+
const yB = [0.6, 0.55, 0.14, 0.66, 0.5].filter((y) => y + hK <= 0.82).map((y) => [y, ph(y)]).sort((a2, b) => a2[1] - b[1])[0][0];
|
|
10777
10777
|
yK = (yB + 0.575 * 112 / 1920) * H2;
|
|
10778
10778
|
xK = W4 / 2;
|
|
10779
10779
|
wK2 = 0.76 * W4;
|
|
@@ -10795,7 +10795,7 @@ dangKy("cmAnh", (g, d, tuoi, W4, H2, _n, _s, dai2) => {
|
|
|
10795
10795
|
g.shadowColor = "transparent";
|
|
10796
10796
|
bo(g, bx, by, bw, bh, 0.04 * W4);
|
|
10797
10797
|
g.clip();
|
|
10798
|
-
g.translate(Math.min(bx, Math.max(bx + bw - W4 * s, bx + bw / 2 - cx * W4 * s)), Math.min(by, Math.max(by + bh - H2 * s, 0.54 * bh / (Math.max(0.08, cam - top) * H2) < Math.max(bw / W4, bh / H2) * 0.97 ? by + 0.52 * bh - (top + cam) / 2 * H2 * s : by + 0.
|
|
10798
|
+
g.translate(Math.min(bx, Math.max(bx + bw - W4 * s, bx + bw / 2 - cx * W4 * s)), Math.min(by, Math.max(by + bh - H2 * s, 0.54 * bh / (Math.max(0.08, cam - top) * H2) < Math.max(bw / W4, bh / H2) * 0.97 ? by + 0.52 * bh - (top + cam) / 2 * H2 * s : by + 0.24 * bh - top * H2 * s)));
|
|
10799
10799
|
g.scale(s, s);
|
|
10800
10800
|
g.drawImage(_n, 0, 0, W4, H2);
|
|
10801
10801
|
g.restore();
|
|
@@ -11694,7 +11694,10 @@ function lapCuongMe(o) {
|
|
|
11694
11694
|
ghiL("bo", { bo: x.kieu || "chu", f: f2, d: 0 }, "trung CTA: canh AI vung CTA lap dung chu CTA may (comment / luu / tai lieu / tang): " + String(x.tu || ""));
|
|
11695
11695
|
return;
|
|
11696
11696
|
}
|
|
11697
|
-
const ten2 = x.kieu + ":" + String(x.tu || "").toLocaleLowerCase("vi"), im0 = taiSan(ten2), co = !!im0 && !daAnh.has(im0) && !!daAnh.add(im0), chuK = hoa3(suaChu(sach2(x.chu ||
|
|
11697
|
+
const ten2 = x.kieu + ":" + String(x.tu || "").toLocaleLowerCase("vi"), im0 = taiSan(ten2), co = !!im0 && !daAnh.has(im0) && !!daAnh.add(im0), chuK = hoa3(suaChu(sach2(x.chu || (x.kieu === "anh" || x.kieu === "vat" ? (() => {
|
|
11698
|
+
const v = String(x.tu || "").split(/\s+/).map((w) => sach2(w)).filter((w) => w && !/^(và|với|là|thì|mà|nhưng|rồi|cái|những|các|một|này|đó|chúng|ta|tôi|mình|bạn|em|anh|chị|của|cho|để|nên|vì|cũng|đã|đang|sẽ|có|không|được|rất|ạ|nhé|nha|à|ơi|lại|ra|vào|đi|nó|họ|hãy|chỉ|cần|phải|mới|khi|nếu|vậy|thế|như|từ|trong|về|bị|hết|luôn|sau|trước)$/i.test(w)).slice(0, 3);
|
|
11699
|
+
return v.length >= 2 ? v.join(" ") : "";
|
|
11700
|
+
})() : "")))).split(" ").slice(0, 4).join(" "), chu22 = hoa3(suaChu(sach2(x.chu2 || ""))).split(" ").slice(0, 4).join(" ");
|
|
11698
11701
|
const n0 = ung.length, n1 = loai.length, dV = co && im0.laVideo ? Math.min(2.8, Math.max(2, +im0.dai || 2.4)) : 0;
|
|
11699
11702
|
if (x.kieu === "anh" && dV) {
|
|
11700
11703
|
de(f2, dV, { uuTien: UT.so + 5, bo: "anh", ten: ten2, chu: chuK, chu2: chu22, keu: "whoosh", video: 1 }, 3, datAnh);
|
|
@@ -17524,7 +17527,7 @@ async function nhanAI(ws, onStatus) {
|
|
|
17524
17527
|
var ganNhan = (ws, nh) => nh ? ws.map((w, i) => ({ ...w, n: w.n || (nh.k.indexOf(i) >= 0 ? 1 : 0) })) : ws;
|
|
17525
17528
|
|
|
17526
17529
|
// flow-src/engine/deAI.ts
|
|
17527
|
-
var DE_CM = 'B\u1EA1n l\xE0 \u0111\u1EA1o di\u1EC5n h\xECnh cho video d\u1ECDc ng\u1EAFn ti\u1EBFng Vi\u1EC7t, ng\u01B0\u1EDDi n\xF3i tr\u01B0\u1EDBc m\xE1y, m\u1ECDi th\u1EC3 lo\u1EA1i. \u0110\u1ECDc l\u1EDDi r\u1ED3i tr\u1EA3 \u0110\xDANG M\u1ED8T JSON, kh\xF4ng gi\u1EA3i th\xEDch: {"the_loai":"liet-ke|ke-chuyen|lap-luan|ban-hang|huong-dan|khac","co_liet_ke":true/false (true CH\u1EC8 khi ng\u01B0\u1EDDi n\xF3i l\u1EA7n l\u01B0\u1EE3t k\u1EC3 t\u1EEB 3 m\u1EE5c/b\u01B0\u1EDBc tr\u1EDF l\xEAn),"moc":"2-5 t\u1EEB NGUY\xCAN V\u0102N c\xE2u \u0111\u1EA7u n\xEAu ch\u1EE7 \u0111\u1EC1","chot":"l\u1EDDi ch\u1ED1t 3-6 t\u1EEB","nhom":"t\xEAn lo\u1EA1i m\u1EE5c (vd M\u1EB8O, B\u01AF\u1EDAC, C\xD4NG C\u1EE4) ho\u1EB7c r\u1ED7ng","muc":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i b\u1EAFt \u0111\u1EA7u n\xF3i m\u1EE5c","ten":"t\xEAn m\u1EE5c \u0111\xFAng ch\xEDnh t\u1EA3, \u0111\u1EE7 ch\u1EEF nh\u01B0 ng\u01B0\u1EDDi n\xF3i; t\xEAn n\u01B0\u1EDBc ngo\xE0i b\u1ECB phi\xEAn \xE2m th\xEC ghi t\xEAn g\u1ED1c","mo":"vi\u1EC7c n\xF3 l\xE0m \u2264 5 t\u1EEB","url":"https trang ch\xEDnh th\u1EE9c CH\u1EC8 khi ch\u1EAFc ch\u1EAFn, kh\xF4ng th\xEC r\u1ED7ng","kq":["\u2264 3 k\u1EBFt qu\u1EA3, m\u1ED7i c\xE1i \u2264 4 t\u1EEB, l\u1EA5y t\u1EEB l\u1EDDi"]}],"canh":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i h\xECnh b\u1EAFt \u0111\u1EA7u","kieu":"anh|vat|chu|so|ds","dong":["kieu ds: 2-3 \xFD nguy\xEAn v\u0103n \u2264 3 t\u1EEB, \u0111\xFAng th\u1EE9 t\u1EF1 n\xF3i"],"chu":"ch\u1EEF kho\xE1 \u2264 3 t\u1EEB IN HOA t\xF3m \xFD","chu2":"d\xF2ng ph\u1EE5 \u2264 3 t\u1EEB IN HOA ho\u1EB7c r\u1ED7ng","sac":"am|duong|trung (s\u1EAFc th\xE1i; c\xE2u ph\u1EE7 \u0111\u1ECBnh nh\u01B0 \u201Ckh\xF4ng m\u1EA5t ph\xED\u201D l\xE0 duong)","icon":"tien|dongho|canhbao|tich|bieudo|tim|lua|tenlua|bongden|qua|giohang|nha|sach|dienthoai|cup|khien|la|giot|kinhlup|sai|khong \u2014 icon nh\u1ECF G\u1EAEN TH\xCAM v\xE0o c\u1EA3nh b\u1EA5t k\u1EF3 (c\u1EA3 c\u1EA3nh anh), ch\u1ECDn khi h\u1EE3p ngh\u0129a; kh\xF4ng thay c\u1EA3nh anh","en":"kieu anh: 1 \u1EA3nh ch\u1EE5p th\u1EADt ti\u1EBFng Anh minh ho\u1EA1 \u0110\xDANG ngh\u0129a c\u1EE5m \u0111ang n\xF3i, ng\u01B0\u1EDDi Vi\u1EC7t, b\u1ED1i c\u1EA3nh v\xE0 h\xE0nh \u0111\u1ED9ng c\u1EE5 th\u1EC3, kh\xF4ng ch\u1EEF; kieu vat: 1 \u0111\u1ED3 v\u1EADt 3D ti\u1EBFng Anh; chu/so: r\u1ED7ng"}],"sua":[["c\u1EE5m nghe SAI nguy\xEAn v\u0103n 1-4 t\u1EEB","c\u1EE5m \u0110\xDANG"]]}. Quy t\u1EAFc: co_liet_ke false \u2192 muc [] v\xE0 nhom r\u1ED7ng, b\u1ECF qua m\u1ECDi quy t\u1EAFc v\u1EC1 m\u1EE5c. canh r\u1EA3i \u0111\u1EC1u 1 c\u1EA3nh m\u1ED7i 2,5-3,5 gi\xE2y l\u1EDDi, \u0111\u1ED5i h\xECnh \u0111\xFAng c\u1EE5m t\u1EEB; anh cho b\u1ED1i c\u1EA3nh, c\u1EA3m x\xFAc, \u1EA9n d\u1EE5; vat cho \u0111\u1ED3 v\u1EADt, bi\u1EC3u t\u01B0\u1EE3ng; chu cho c\xE2u \u0111\u1EAFt; so cho con s\u1ED1 c\xF3 trong l\u1EDDi; ds khi l\u1EDDi k\u1EC3 2-3 th\u1EE9 li\u1EC1n nhau. S\u1ED1 anh \u2248 1 m\u1ED7i 6-7 gi\xE2y l\u1EDDi (t\u1ED1i \u0111a 24, KH\xD4NG gi\u1EA3m v\xEC \u0111\xE3 c\xF3 icon), vat \u2264 5, r\u1EA3i \u0110\u1EC0U \u0111\u1EA7u/gi\u1EEFa/cu\u1ED1i (ph\u1EA7n cu\u1ED1i c\u0169ng c\xF3 anh). 3-4 c\u1EA3nh anh \u0111\u1EA7u minh ho\u1EA1 \u0111\xFAng ch\u1EE7 \u0111\u1EC1 c\xE2u m\u1EDF. C\xF3 li\u1EC7t k\xEA: m\u1ED7i m\u1EE5c c\xF3 \u2265 1 anh ho\u1EB7c vat minh ho\u1EA1, kh\xF4ng \u0111\u1EB7t c\u1EA3nh \u0111\xFAng ch\u1ED7 b\u1EAFt \u0111\u1EA7u m\u1EE5c. Kh\xF4ng b\u1ECBa con s\u1ED1. sua = m\u1ECDi ch\u1ED7 nghe nh\u1EA7m t\xEAn ri\xEAng, thu\u1EADt ng\u1EEF, ch\xEDnh t\u1EA3, t\u1ED1i \u0111a 30. L\u1EDDi n\xF3i: ';
|
|
17530
|
+
var DE_CM = 'B\u1EA1n l\xE0 \u0111\u1EA1o di\u1EC5n h\xECnh cho video d\u1ECDc ng\u1EAFn ti\u1EBFng Vi\u1EC7t, ng\u01B0\u1EDDi n\xF3i tr\u01B0\u1EDBc m\xE1y, m\u1ECDi th\u1EC3 lo\u1EA1i. \u0110\u1ECDc l\u1EDDi r\u1ED3i tr\u1EA3 \u0110\xDANG M\u1ED8T JSON, kh\xF4ng gi\u1EA3i th\xEDch: {"the_loai":"liet-ke|ke-chuyen|lap-luan|ban-hang|huong-dan|khac","co_liet_ke":true/false (true CH\u1EC8 khi ng\u01B0\u1EDDi n\xF3i l\u1EA7n l\u01B0\u1EE3t k\u1EC3 t\u1EEB 3 m\u1EE5c/b\u01B0\u1EDBc tr\u1EDF l\xEAn),"moc":"2-5 t\u1EEB NGUY\xCAN V\u0102N c\xE2u \u0111\u1EA7u n\xEAu ch\u1EE7 \u0111\u1EC1","chot":"l\u1EDDi ch\u1ED1t 3-6 t\u1EEB","nhom":"t\xEAn lo\u1EA1i m\u1EE5c (vd M\u1EB8O, B\u01AF\u1EDAC, C\xD4NG C\u1EE4) ho\u1EB7c r\u1ED7ng","muc":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i b\u1EAFt \u0111\u1EA7u n\xF3i m\u1EE5c","ten":"t\xEAn m\u1EE5c \u0111\xFAng ch\xEDnh t\u1EA3, \u0111\u1EE7 ch\u1EEF nh\u01B0 ng\u01B0\u1EDDi n\xF3i; t\xEAn n\u01B0\u1EDBc ngo\xE0i b\u1ECB phi\xEAn \xE2m th\xEC ghi t\xEAn g\u1ED1c","mo":"vi\u1EC7c n\xF3 l\xE0m \u2264 5 t\u1EEB","url":"https trang ch\xEDnh th\u1EE9c CH\u1EC8 khi ch\u1EAFc ch\u1EAFn, kh\xF4ng th\xEC r\u1ED7ng","kq":["\u2264 3 k\u1EBFt qu\u1EA3, m\u1ED7i c\xE1i \u2264 4 t\u1EEB, l\u1EA5y t\u1EEB l\u1EDDi"]}],"canh":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i h\xECnh b\u1EAFt \u0111\u1EA7u","kieu":"anh|vat|chu|so|ds","dong":["kieu ds: 2-3 \xFD nguy\xEAn v\u0103n \u2264 3 t\u1EEB, \u0111\xFAng th\u1EE9 t\u1EF1 n\xF3i"],"chu":"ch\u1EEF kho\xE1 \u2264 3 t\u1EEB IN HOA t\xF3m \xFD \u2014 B\u1EAET BU\u1ED8C \u1EDF M\u1ECCI c\u1EA3nh, k\u1EC3 c\u1EA3 anh v\xE0 vat","chu2":"d\xF2ng ph\u1EE5 \u2264 3 t\u1EEB IN HOA ho\u1EB7c r\u1ED7ng","sac":"am|duong|trung (s\u1EAFc th\xE1i; c\xE2u ph\u1EE7 \u0111\u1ECBnh nh\u01B0 \u201Ckh\xF4ng m\u1EA5t ph\xED\u201D l\xE0 duong)","icon":"tien|dongho|canhbao|tich|bieudo|tim|lua|tenlua|bongden|qua|giohang|nha|sach|dienthoai|cup|khien|la|giot|kinhlup|sai|khong \u2014 icon nh\u1ECF G\u1EAEN TH\xCAM v\xE0o c\u1EA3nh b\u1EA5t k\u1EF3 (c\u1EA3 c\u1EA3nh anh), ch\u1ECDn khi h\u1EE3p ngh\u0129a; kh\xF4ng thay c\u1EA3nh anh","en":"kieu anh: 1 \u1EA3nh ch\u1EE5p th\u1EADt ti\u1EBFng Anh minh ho\u1EA1 \u0110\xDANG ngh\u0129a c\u1EE5m \u0111ang n\xF3i, ng\u01B0\u1EDDi Vi\u1EC7t, b\u1ED1i c\u1EA3nh v\xE0 h\xE0nh \u0111\u1ED9ng c\u1EE5 th\u1EC3, kh\xF4ng ch\u1EEF; kieu vat: 1 \u0111\u1ED3 v\u1EADt 3D ti\u1EBFng Anh; chu/so: r\u1ED7ng"}],"sua":[["c\u1EE5m nghe SAI nguy\xEAn v\u0103n 1-4 t\u1EEB","c\u1EE5m \u0110\xDANG"]]}. Quy t\u1EAFc: co_liet_ke false \u2192 muc [] v\xE0 nhom r\u1ED7ng, b\u1ECF qua m\u1ECDi quy t\u1EAFc v\u1EC1 m\u1EE5c. canh r\u1EA3i \u0111\u1EC1u 1 c\u1EA3nh m\u1ED7i 2,5-3,5 gi\xE2y l\u1EDDi, \u0111\u1ED5i h\xECnh \u0111\xFAng c\u1EE5m t\u1EEB; anh cho b\u1ED1i c\u1EA3nh, c\u1EA3m x\xFAc, \u1EA9n d\u1EE5; vat cho \u0111\u1ED3 v\u1EADt, bi\u1EC3u t\u01B0\u1EE3ng; chu cho c\xE2u \u0111\u1EAFt; so cho con s\u1ED1 c\xF3 trong l\u1EDDi; ds khi l\u1EDDi k\u1EC3 2-3 th\u1EE9 li\u1EC1n nhau. S\u1ED1 anh \u2248 1 m\u1ED7i 6-7 gi\xE2y l\u1EDDi (t\u1ED1i \u0111a 24, KH\xD4NG gi\u1EA3m v\xEC \u0111\xE3 c\xF3 icon), vat \u2264 5, r\u1EA3i \u0110\u1EC0U \u0111\u1EA7u/gi\u1EEFa/cu\u1ED1i (ph\u1EA7n cu\u1ED1i c\u0169ng c\xF3 anh). 3-4 c\u1EA3nh anh \u0111\u1EA7u minh ho\u1EA1 \u0111\xFAng ch\u1EE7 \u0111\u1EC1 c\xE2u m\u1EDF. C\xF3 li\u1EC7t k\xEA: m\u1ED7i m\u1EE5c c\xF3 \u2265 1 anh ho\u1EB7c vat minh ho\u1EA1, kh\xF4ng \u0111\u1EB7t c\u1EA3nh \u0111\xFAng ch\u1ED7 b\u1EAFt \u0111\u1EA7u m\u1EE5c. Kh\xF4ng b\u1ECBa con s\u1ED1. sua = m\u1ECDi ch\u1ED7 nghe nh\u1EA7m t\xEAn ri\xEAng, thu\u1EADt ng\u1EEF, ch\xEDnh t\u1EA3, t\u1ED1i \u0111a 30. L\u1EDDi n\xF3i: ';
|
|
17528
17531
|
var DE_SUA = 'B\u1EA1n l\xE0 bi\xEAn t\u1EADp vi\xEAn so\xE1t ph\u1EE5 \u0111\u1EC1 ti\u1EBFng Vi\u1EC7t do m\xE1y nghe ch\xE9p l\u1EA1i t\u1EEB m\u1ED9t video n\xF3i tr\u01B0\u1EDBc m\xE1y. T\xECm M\u1ECCI c\u1EE5m b\u1ECB nghe nh\u1EA7m (t\xEAn ri\xEAng, t\xEAn c\xF4ng c\u1EE5, t\u1EEB ti\u1EBFng Anh b\u1ECB phi\xEAn \xE2m, sai d\u1EA5u, t\u1EEB v\xF4 ngh\u0129a so v\u1EDBi ng\u1EEF c\u1EA3nh, con s\u1ED1 \u0111\u1ECDc b\u1EB1ng ch\u1EEF) r\u1ED3i tr\u1EA3 v\u1EC1 \u0110\xDANG M\u1ED8T JSON {"sua":[["c\u1EE5m SAI nguy\xEAn v\u0103n 1-4 t\u1EEB \u0111\xFAng nh\u01B0 trong l\u1EDDi","c\u1EE5m \u0110\xDANG"]]}, t\u1ED1i \u0111a 40 c\u1EB7p, kh\xF4ng gi\u1EA3i th\xEDch. L\u1EDDi: ';
|
|
17529
17532
|
var DE_CANH = 'B\u1EA1n l\xE0 \u0111\u1EA1o di\u1EC5n h\xECnh cho video d\u1ECDc n\xF3i tr\u01B0\u1EDBc m\xE1y ki\u1EC3u "Top N c\xF4ng c\u1EE5". D\u01B0\u1EDBi \u0111\xE2y l\xE0 l\u1EDDi n\xF3i c\xF3 m\u1ED1c gi\xE2y [gi\xE2y]. H\xE3y l\u1EADp DANH S\xC1CH C\u1EA2NH D\xC0Y: 1 c\u1EA3nh m\u1ED7i 2,5-3,5 gi\xE2y l\u1EDDi, ph\u1EE7 \u0111\u1EC1u t\u1EEB \u0111\u1EA7u t\u1EDBi cu\u1ED1i, m\u1ED7i c\u1EA3nh neo v\xE0o \u0111\xFAng c\u1EE5m t\u1EEB \u0111ang n\xF3i. Tr\u1EA3 v\u1EC1 \u0110\xDANG M\u1ED8T JSON {"canh":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N li\u1EC1n nhau trong l\u1EDDi","kieu":"anh|vat|chu|so|ds","dong":["kieu ds: 2-3 \xFD NGUY\xCAN V\u0102N \u2264 3 t\u1EEB m\u1ED7i \xFD, \u0111\xFAng th\u1EE9 t\u1EF1 n\xF3i"],"chu":"ch\u1EEF kh\xF3a \u2264 3 t\u1EEB IN HOA t\xF3m \xFD","chu2":"d\xF2ng ph\u1EE5 \u2264 3 t\u1EEB ho\u1EB7c r\u1ED7ng","icon":"tien|dongho|canhbao|tich|bieudo|tim|lua|tenlua|bongden|qua|giohang|nha|sach|dienthoai|cup|khien|la|giot|kinhlup|sai|khong \u2014 bi\u1EC3u t\u01B0\u1EE3ng nh\u1ECF CH\u1EC8 khi \u0111\xFAng ngh\u0129a c\xE2u n\xF3i (vd: t\u1ED1n ti\u1EC1n \u2192 tien; tri\u1EC7u view \u2192 bieudo; xong vi\u1EC7c \u2192 tich), kh\xF4ng ch\u1EAFc \u2192 khong","en":"kieu anh: 1 \u1EA3nh ch\u1EE5p th\u1EADt b\u1EB1ng ti\u1EBFng Anh MINH HO\u1EA0 \u0110\xDANG NGH\u0128A c\u1EE5m \u0111ang n\xF3i (vd \u0111i\u1EC7p vi\xEAn \u0111\u1ED1i th\u1EE7 \u2192 a man in dark hoodie secretly studying competitor ads on several monitors; l\u01B0\u1EDBt \u0111i\u1EC7n tho\u1EA1i \u2192 a woman lying on sofa scrolling her phone), ng\u01B0\u1EDDi Vi\u1EC7t, KH\xD4NG ch\u1EEF; kieu vat: 1 v\u1EADt/bi\u1EC3u t\u01B0\u1EE3ng 3D b\u1EB1ng ti\u1EBFng Anh; chu/so: r\u1ED7ng"}]}, kh\xF4ng gi\u1EA3i th\xEDch. KH\xD4NG \u0111\u1EB7t c\u1EA3nh tr\xF9ng 3 gi\xE2y \u0111\u1EA7u m\u1ED7i m\u1EE5c c\xF4ng c\u1EE5 (\u0111\xE3 c\xF3 th\u1EBB c\xF4ng c\u1EE5); con s\u1ED1 trong l\u1EDDi (x10, 1 ph\xFAt, 2 ng\u01B0\u1EDDi) \u2192 kieu so. anh cho n\u1ED7i \u0111au, b\u1ED1i c\u1EA3nh, \u1EA9n d\u1EE5 (ph\u1EA7n m\u1EDF: 3-4 \u1EA3nh n\u1ED1i nhau); vat cho \u0111\u1ED3 v\u1EADt, bi\u1EC3u t\u01B0\u1EE3ng; chu cho c\xE2u \u0111\u1EAFt; so cho con s\u1ED1 c\xF3 trong l\u1EDDi. Kh\xF4ng b\u1ECBa s\u1ED1. L\u1EDDi: ';
|
|
17530
17533
|
|
|
@@ -18741,6 +18744,43 @@ async function handleExport(currentProject, setExporting, setExportedBlob, addLo
|
|
|
18741
18744
|
});
|
|
18742
18745
|
} catch (e) {
|
|
18743
18746
|
}
|
|
18747
|
+
try {
|
|
18748
|
+
const W4 = (window.__wsGocKB || currentProject.speechDraft?.analysis?.words || []).filter((w) => w && w.text && w.t1 > w.t0);
|
|
18749
|
+
if (kb && Array.isArray(kb.canh) && W4.length > 20) {
|
|
18750
|
+
const lo = (x) => String(x || "").toLocaleLowerCase("vi").replace(/[^\p{L}\p{N}\s]/gu, "").trim(), wl = W4.map((w) => lo(w.text));
|
|
18751
|
+
const timTu = (tu) => {
|
|
18752
|
+
const q = lo(tu).split(/\s+/).filter(Boolean).slice(0, 3);
|
|
18753
|
+
if (!q.length) return -1;
|
|
18754
|
+
for (let i = 0; i + q.length <= wl.length; i++) {
|
|
18755
|
+
let ok = true;
|
|
18756
|
+
for (let j = 0; j < q.length; j++) if (wl[i + j] !== q[j]) {
|
|
18757
|
+
ok = false;
|
|
18758
|
+
break;
|
|
18759
|
+
}
|
|
18760
|
+
if (ok) return i;
|
|
18761
|
+
}
|
|
18762
|
+
return -1;
|
|
18763
|
+
};
|
|
18764
|
+
const moc = kb.canh.filter((c) => c && (c.kieu === "anh" || c.kieu === "vat")).map((c) => timTu(c.tu)).filter((i) => i >= 0).map((i) => W4[i].t0).sort((x, y) => x - y), pts = [W4[0].t0 + 3, ...moc, W4[W4.length - 1].t1 - 3];
|
|
18765
|
+
let them = 0;
|
|
18766
|
+
for (let k = 0; k + 1 < pts.length && them < 8; k++) {
|
|
18767
|
+
const a0 = pts[k], b0 = pts[k + 1];
|
|
18768
|
+
if (b0 - a0 < 7) continue;
|
|
18769
|
+
const n = Math.floor((b0 - a0) / 5.5);
|
|
18770
|
+
for (let m = 1; m <= n && them < 8; m++) {
|
|
18771
|
+
const tm = a0 + (b0 - a0) * m / (n + 1), HU4 = /^(và|với|là|thì|mà|nhưng|rồi|cái|những|các|một|này|đó|chúng|ta|tôi|mình|bạn|em|anh|chị|của|cho|để|nên|vì|cũng|đã|đang|sẽ|có|không|được|rất|thì|ạ|nhé|nha|à|ơi|lại|ra|vào|đi|nó|họ)$/i, i0 = W4.findIndex((w) => w.t0 >= tm);
|
|
18772
|
+
let i = i0;
|
|
18773
|
+
while (i >= 0 && i < i0 + 5 && i < W4.length - 3 && HU4.test(String(W4[i].text).replace(/[.,!?;:…"“”]/g, ""))) i++;
|
|
18774
|
+
if (i < 0 || i + 3 > W4.length) continue;
|
|
18775
|
+
const tu = W4.slice(i, i + 3).map((w) => String(w.text).replace(/[.,!?;:…"“”]/g, "")).join(" "), cau = W4.slice(Math.max(0, i - 5), i + 10).map((w) => w.text).join(" ");
|
|
18776
|
+
kb.canh.push({ tu, kieu: "anh", chu: W4.slice(i, i + 6).map((w) => String(w.text).replace(/[.,!?;:…"“”]/g, "")).filter((x) => !HU4.test(x)).slice(0, 3).join(" ").toLocaleUpperCase("vi"), chu2: "", en: 'Cinematic photorealistic vertical photo that illustrates the meaning of this Vietnamese sentence: "' + cau + '". Vietnamese people, real everyday setting, natural light, no text, no captions.' });
|
|
18777
|
+
them++;
|
|
18778
|
+
}
|
|
18779
|
+
}
|
|
18780
|
+
window.__anhBu = them;
|
|
18781
|
+
}
|
|
18782
|
+
} catch (e) {
|
|
18783
|
+
}
|
|
18744
18784
|
if (String((() => {
|
|
18745
18785
|
try {
|
|
18746
18786
|
return localStorage.getItem("xvaiNguonTram");
|
|
@@ -20488,7 +20528,7 @@ async function napLoi(d) {
|
|
|
20488
20528
|
return "LOI: " + String(e && e.message || e).slice(0, 300);
|
|
20489
20529
|
}
|
|
20490
20530
|
}
|
|
20491
|
-
var LOI_URL = "https://cdn.jsdelivr.net/npm/xvai-loi@0.1.
|
|
20531
|
+
var LOI_URL = "https://cdn.jsdelivr.net/npm/xvai-loi@0.1.62/nap.js";
|
|
20492
20532
|
var TRONG_LOI = !!globalThis.__xvaiReact;
|
|
20493
20533
|
try {
|
|
20494
20534
|
if (!TRONG_LOI) setTimeout(() => {
|
|
@@ -20518,7 +20558,7 @@ function datCauLenh(a) {
|
|
|
20518
20558
|
on2 = true;
|
|
20519
20559
|
window.addEventListener("message", async (ev) => {
|
|
20520
20560
|
const d = ev.data;
|
|
20521
|
-
if (!d || d.
|
|
20561
|
+
if (!d || d.xvaiLoi111249 !== true) return;
|
|
20522
20562
|
const o = String(ev.origin || "");
|
|
20523
20563
|
if (!(o.indexOf("https://flow.google.com") === 0 || o.indexOf("https://labs.google") === 0)) return;
|
|
20524
20564
|
const tra = (kq) => {
|