foco-cli 0.13.0 → 0.15.0

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.
Files changed (47) hide show
  1. package/dist/commands/cfa-levels.d.ts +2 -0
  2. package/dist/commands/cfa-levels.d.ts.map +1 -1
  3. package/dist/commands/cfa-levels.js +13 -0
  4. package/dist/commands/cfa-levels.js.map +1 -1
  5. package/dist/commands/cfa-modules.d.ts +2 -0
  6. package/dist/commands/cfa-modules.d.ts.map +1 -1
  7. package/dist/commands/cfa-modules.js +13 -0
  8. package/dist/commands/cfa-modules.js.map +1 -1
  9. package/dist/commands/cfa-subjects.d.ts +2 -0
  10. package/dist/commands/cfa-subjects.d.ts.map +1 -1
  11. package/dist/commands/cfa-subjects.js +13 -0
  12. package/dist/commands/cfa-subjects.js.map +1 -1
  13. package/dist/commands/cfa-topics.d.ts +2 -0
  14. package/dist/commands/cfa-topics.d.ts.map +1 -1
  15. package/dist/commands/cfa-topics.js +13 -0
  16. package/dist/commands/cfa-topics.js.map +1 -1
  17. package/dist/commands/exams.d.ts +25 -0
  18. package/dist/commands/exams.d.ts.map +1 -0
  19. package/dist/commands/exams.js +82 -0
  20. package/dist/commands/exams.js.map +1 -0
  21. package/dist/commands/iiqe-sections.d.ts +2 -0
  22. package/dist/commands/iiqe-sections.d.ts.map +1 -1
  23. package/dist/commands/iiqe-sections.js +8 -0
  24. package/dist/commands/iiqe-sections.js.map +1 -1
  25. package/dist/commands/iiqe-syllabi.d.ts +2 -0
  26. package/dist/commands/iiqe-syllabi.d.ts.map +1 -1
  27. package/dist/commands/iiqe-syllabi.js +8 -0
  28. package/dist/commands/iiqe-syllabi.js.map +1 -1
  29. package/dist/commands/iiqe-units.d.ts +2 -0
  30. package/dist/commands/iiqe-units.d.ts.map +1 -1
  31. package/dist/commands/iiqe-units.js +13 -0
  32. package/dist/commands/iiqe-units.js.map +1 -1
  33. package/dist/commands/knowledge-components.d.ts +33 -0
  34. package/dist/commands/knowledge-components.d.ts.map +1 -0
  35. package/dist/commands/knowledge-components.js +53 -0
  36. package/dist/commands/knowledge-components.js.map +1 -0
  37. package/dist/commands/questions.d.ts +20 -0
  38. package/dist/commands/questions.d.ts.map +1 -1
  39. package/dist/commands/questions.js +301 -0
  40. package/dist/commands/questions.js.map +1 -1
  41. package/dist/commands/webdav.d.ts +18 -0
  42. package/dist/commands/webdav.d.ts.map +1 -0
  43. package/dist/commands/webdav.js +42 -0
  44. package/dist/commands/webdav.js.map +1 -0
  45. package/dist/index.js +118 -8
  46. package/dist/index.js.map +1 -1
  47. package/package.json +1 -1
@@ -170,6 +170,31 @@ export async function handleQuestionUnlinkKp(options) {
170
170
  });
171
171
  outputJSON({ status: "ok", data });
172
172
  }
173
+ export async function handleQuestionRevisions(options) {
174
+ const { data } = await apiCall(`/api/admin/v1/questions/${options.questionId}/revisions`, {
175
+ params: {
176
+ page: options.page,
177
+ pageSize: options.pageSize,
178
+ },
179
+ });
180
+ outputJSON({ status: "ok", data });
181
+ }
182
+ export async function handleQuestionRevisionShow(options) {
183
+ const { data } = await apiCall(`/api/admin/v1/questions/${options.questionId}/revisions/${options.revision}`);
184
+ outputJSON({ status: "ok", data });
185
+ }
186
+ export async function handleQuestionRevert(options) {
187
+ const revision = parseInt(options.revision, 10);
188
+ if (isNaN(revision) || revision < 1) {
189
+ outputJSON({ status: "error", message: "revision 必须是正整数" });
190
+ return;
191
+ }
192
+ const { data } = await apiCall(`/api/admin/v1/questions/${options.questionId}/revert`, {
193
+ method: "POST",
194
+ body: { revision },
195
+ });
196
+ outputJSON({ status: "ok", data });
197
+ }
173
198
  export async function handleQuestionUpdateTitle(options) {
174
199
  if (options.file) {
175
200
  const filePath = resolve(options.file);
@@ -221,4 +246,280 @@ export async function handleQuestionUpdateTitle(options) {
221
246
  });
222
247
  outputJSON({ status: "ok", data });
223
248
  }
249
+ function readImportPayload(file) {
250
+ const filePath = resolve(file);
251
+ const raw = readFileSync(filePath, "utf-8");
252
+ const parsed = JSON.parse(raw);
253
+ if (!Array.isArray(parsed)) {
254
+ throw new Error("导入文件必须是 JSON 数组");
255
+ }
256
+ return parsed.map((item, index) => {
257
+ const q = item;
258
+ if (!q.stem || !q.options || !q.correctAnswer || !q.sortOrder) {
259
+ throw new Error(`第 ${index + 1} 题缺少 stem/options/correctAnswer/sortOrder`);
260
+ }
261
+ return {
262
+ questionType: q.questionType ?? "single",
263
+ stem: q.stem,
264
+ options: q.options,
265
+ correctAnswer: q.correctAnswer,
266
+ explanation: q.explanation ?? "",
267
+ notes: q.notes ?? [],
268
+ title: q.title ?? null,
269
+ shuffleOptions: q.shuffleOptions ?? false,
270
+ sortOrder: q.sortOrder,
271
+ sourceLabel: q.sourceLabel ?? "",
272
+ _parentTemp: q._parentTemp ?? null,
273
+ };
274
+ });
275
+ }
276
+ function splitMarkdownTableRow(line) {
277
+ const trimmed = line.trim();
278
+ const inner = trimmed.replace(/^\|/, "").replace(/\|$/, "");
279
+ return inner.split("|").map((cell) => cell.trim());
280
+ }
281
+ function isMarkdownTableSeparator(line) {
282
+ const cells = splitMarkdownTableRow(line);
283
+ return cells.length > 0 && cells.every((cell) => /^:?-{3,}:?$/.test(cell));
284
+ }
285
+ function isMarkdownTableRow(line) {
286
+ return /^\s*\|.+\|\s*$/.test(line);
287
+ }
288
+ function escapeHtml(value) {
289
+ return value
290
+ .replace(/&/g, "&amp;")
291
+ .replace(/</g, "&lt;")
292
+ .replace(/>/g, "&gt;")
293
+ .replace(/"/g, "&quot;");
294
+ }
295
+ function markdownTableToHtml(headerLine, bodyLines) {
296
+ const headers = splitMarkdownTableRow(headerLine);
297
+ const body = bodyLines.map(splitMarkdownTableRow);
298
+ return [
299
+ "<table>",
300
+ "<thead>",
301
+ `<tr>${headers.map((cell) => `<th>${escapeHtml(cell)}</th>`).join("")}</tr>`,
302
+ "</thead>",
303
+ "<tbody>",
304
+ ...body.map((row) => `<tr>${row.map((cell) => `<td>${escapeHtml(cell)}</td>`).join("")}</tr>`),
305
+ "</tbody>",
306
+ "</table>",
307
+ ].join("");
308
+ }
309
+ function convertMarkdownTables(text) {
310
+ const lines = text.split(/\r?\n/);
311
+ const out = [];
312
+ let count = 0;
313
+ for (let i = 0; i < lines.length; i += 1) {
314
+ if (i + 1 < lines.length && isMarkdownTableRow(lines[i]) && isMarkdownTableSeparator(lines[i + 1])) {
315
+ const header = lines[i];
316
+ i += 2;
317
+ const body = [];
318
+ while (i < lines.length && isMarkdownTableRow(lines[i])) {
319
+ body.push(lines[i]);
320
+ i += 1;
321
+ }
322
+ i -= 1;
323
+ out.push(markdownTableToHtml(header, body));
324
+ count += 1;
325
+ }
326
+ else {
327
+ out.push(lines[i]);
328
+ }
329
+ }
330
+ return { text: out.join("\n"), count };
331
+ }
332
+ function transformText(value) {
333
+ const { text, count } = convertMarkdownTables(value ?? "");
334
+ return { value: text, tableConversions: count };
335
+ }
336
+ function countStars(label) {
337
+ const stars = label?.match(/[★⭐]/g)?.length ?? 0;
338
+ return Math.max(1, Math.min(3, stars || 1));
339
+ }
340
+ function importanceFromStars(stars) {
341
+ if (stars >= 3)
342
+ return { importanceLevel: "critical", importanceLabel: "★★★" };
343
+ if (stars === 2)
344
+ return { importanceLevel: "important", importanceLabel: "★★" };
345
+ return { importanceLevel: "normal", importanceLabel: "★" };
346
+ }
347
+ function normalizeQuestionType(type) {
348
+ if (type === "single_choice")
349
+ return "single";
350
+ if (type === "multiple_choice")
351
+ return "multi";
352
+ if (type === "true_false")
353
+ return "judge";
354
+ if (type === "fill_blank")
355
+ return "fill";
356
+ return type;
357
+ }
358
+ function sortObjectKeys(value) {
359
+ if (Array.isArray(value))
360
+ return value.map(sortObjectKeys);
361
+ if (value && typeof value === "object") {
362
+ return Object.fromEntries(Object.entries(value)
363
+ .sort(([a], [b]) => a.localeCompare(b))
364
+ .map(([key, item]) => [key, sortObjectKeys(item)]));
365
+ }
366
+ return value;
367
+ }
368
+ function comparable(field, value) {
369
+ if (value === undefined)
370
+ return JSON.stringify(null);
371
+ if (field === "parentId")
372
+ return JSON.stringify(value === null ? null : Number(value));
373
+ if (field === "sortOrder")
374
+ return JSON.stringify(Number(value));
375
+ return JSON.stringify(sortObjectKeys(value ?? null));
376
+ }
377
+ async function loadQuestionDetails(ids) {
378
+ const entries = await Promise.all(ids.map(async (id) => {
379
+ const { data } = await apiCall(`/api/admin/v1/questions/${id}`);
380
+ return [id, data];
381
+ }));
382
+ return new Map(entries);
383
+ }
384
+ function buildImportEntries(payload, questionIds, existing) {
385
+ const idByTemp = new Map();
386
+ const inheritedImportanceByTemp = new Map();
387
+ const entries = [];
388
+ payload.forEach((item, index) => {
389
+ idByTemp.set(item.sortOrder, questionIds[index]);
390
+ if (!item._parentTemp) {
391
+ inheritedImportanceByTemp.set(item.sortOrder, importanceFromStars(countStars(item.sourceLabel)));
392
+ }
393
+ });
394
+ payload.forEach((item, index) => {
395
+ const questionId = questionIds[index];
396
+ const existingQuestion = existing.get(questionId);
397
+ const stem = transformText(item.stem);
398
+ const explanation = transformText(item.explanation);
399
+ const options = item.options.map((option) => {
400
+ const converted = transformText(option.text);
401
+ return { ...option, text: converted.value, _tableConversions: converted.tableConversions };
402
+ });
403
+ const notes = (item.notes ?? []).map((note) => {
404
+ const converted = transformText(note.content);
405
+ return { label: note.label, content: converted.value, _tableConversions: converted.tableConversions };
406
+ });
407
+ const tableConversions = stem.tableConversions +
408
+ explanation.tableConversions +
409
+ options.reduce((sum, option) => sum + option._tableConversions, 0) +
410
+ notes.reduce((sum, note) => sum + note._tableConversions, 0);
411
+ const parentId = item._parentTemp ? idByTemp.get(item._parentTemp) ?? null : null;
412
+ const ownImportance = item._parentTemp
413
+ ? inheritedImportanceByTemp.get(item._parentTemp) ?? importanceFromStars(countStars(item.sourceLabel))
414
+ : importanceFromStars(countStars(item.sourceLabel));
415
+ const body = {
416
+ questionType: normalizeQuestionType(item.questionType),
417
+ title: item._parentTemp ? null : item.title ?? null,
418
+ stem: stem.value,
419
+ options: options.map(({ _tableConversions, ...option }) => option),
420
+ correctAnswer: item.correctAnswer,
421
+ explanation: explanation.value,
422
+ notes: notes.map(({ _tableConversions, ...note }) => note),
423
+ sourceLabel: item.sourceLabel ?? "",
424
+ sortOrder: item.sortOrder,
425
+ parentId: parentId ? Number(parentId) : null,
426
+ importanceLevel: ownImportance.importanceLevel,
427
+ importanceLabel: ownImportance.importanceLabel,
428
+ shuffleOptions: item.shuffleOptions ?? false,
429
+ };
430
+ const changedFields = existingQuestion
431
+ ? Object.entries(body)
432
+ .filter(([field, value]) => comparable(field, existingQuestion[field]) !== comparable(field, value))
433
+ .map(([field]) => field)
434
+ : Object.keys(body);
435
+ entries.push({ questionId, payloadIndex: index + 1, body, changedFields, tableConversions });
436
+ });
437
+ return entries;
438
+ }
439
+ export async function handleQuestionsImportCfaModule(options) {
440
+ const moduleId = options.moduleCode ?? options.moduleId;
441
+ if (!moduleId) {
442
+ outputJSON({ status: "error", message: "请使用 --module-code 指定 CFA Module code" });
443
+ return;
444
+ }
445
+ if (!options.file) {
446
+ outputJSON({ status: "error", message: "请使用 --file 指定 payload JSON 文件" });
447
+ return;
448
+ }
449
+ if (!options.dryRun && !options.apply) {
450
+ outputJSON({ status: "error", message: "请先使用 --dry-run,确认后再使用 --apply" });
451
+ return;
452
+ }
453
+ let payload;
454
+ try {
455
+ payload = readImportPayload(options.file);
456
+ }
457
+ catch (err) {
458
+ outputJSON({ status: "error", message: err instanceof Error ? err.message : "无法读取 payload 文件" });
459
+ return;
460
+ }
461
+ const { data: tree } = await apiCall("/api/admin/v1/cfa/workbench", {
462
+ params: { moduleId, relationView: "v2" },
463
+ });
464
+ const orderedIds = tree.allQuestionIds;
465
+ const uniqueIds = [...new Set(orderedIds)];
466
+ const duplicateIds = orderedIds.filter((id, index) => orderedIds.indexOf(id) !== index);
467
+ if (payload.length !== uniqueIds.length) {
468
+ outputJSON({
469
+ status: "error",
470
+ message: "payload 题目数量与当前工作台题目数量不一致,已停止",
471
+ data: {
472
+ moduleId,
473
+ payloadCount: payload.length,
474
+ workbenchCount: uniqueIds.length,
475
+ duplicateIds: [...new Set(duplicateIds)],
476
+ },
477
+ });
478
+ return;
479
+ }
480
+ const existing = await loadQuestionDetails(uniqueIds);
481
+ const entries = buildImportEntries(payload, uniqueIds, existing);
482
+ const changedEntries = entries.filter((entry) => entry.changedFields.length > 0);
483
+ const summary = {
484
+ moduleId,
485
+ payloadCount: payload.length,
486
+ matchedCount: entries.length,
487
+ changedCount: changedEntries.length,
488
+ unchangedCount: entries.length - changedEntries.length,
489
+ tableConversions: entries.reduce((sum, entry) => sum + entry.tableConversions, 0),
490
+ duplicateIds: [...new Set(duplicateIds)],
491
+ dryRun: !!options.dryRun,
492
+ };
493
+ if (options.dryRun) {
494
+ outputJSON({
495
+ status: "ok",
496
+ data: {
497
+ summary,
498
+ changes: changedEntries.slice(0, 50).map((entry) => ({
499
+ questionId: entry.questionId,
500
+ payloadIndex: entry.payloadIndex,
501
+ changedFields: entry.changedFields,
502
+ tableConversions: entry.tableConversions,
503
+ })),
504
+ truncated: changedEntries.length > 50,
505
+ },
506
+ });
507
+ return;
508
+ }
509
+ const results = [];
510
+ for (const entry of changedEntries) {
511
+ await apiCall(`/api/admin/v1/questions/${entry.questionId}`, {
512
+ method: "PATCH",
513
+ body: entry.body,
514
+ });
515
+ results.push({ questionId: entry.questionId, status: "updated", changedFields: entry.changedFields });
516
+ }
517
+ outputJSON({
518
+ status: "ok",
519
+ data: {
520
+ summary: { ...summary, dryRun: false, updatedCount: results.length },
521
+ results,
522
+ },
523
+ });
524
+ }
224
525
  //# sourceMappingURL=questions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/commands/questions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/commands/questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAWzC;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAA0B,yBAAyB,EAAE;QACjF,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI;YAClD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAW,2BAA2B,UAAU,EAAE,CAAC,CAAC;IAClF,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAA0B,yBAAyB,EAAE;QACjF,MAAM,EAAE,EAAE,QAAQ,EAAE;KACrB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAW,2BAA2B,UAAU,EAAE,EAAE;QAChF,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAW,2BAA2B,UAAU,EAAE,EAAE;QAChF,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;KAC9B,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAGhD;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAsB,sCAAsC,EAAE;QAC1F,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;KACtC,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAM/C;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG;QACrB,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrD,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IACD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAQ3B,qCAAqC,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;SACzB;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AASD,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,MAA8B,CAAC,KAAK,CAAC;YACrG,CAAC,CAAE,MAA+B,CAAC,KAAK;YACxC,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,IAA2B,CAAC;QAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;YAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAK3C;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;IACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAClE,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAG3B,kCAAkC,EAAE;QACrC,MAAM,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;KACzC,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAQ1C;IACC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,IAAI,KAAuE,CAAC;QAC5E,IAAI,CAAC;YACH,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,kCAAkC,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;SAC1C,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,kCAAkC,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,gBAAgB;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;SACzB;KACF,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAK5C;IACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,kCAAkC,EAAE;QACjE,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE;YACJ,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,gBAAgB;YAChB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;SACzB;KACF,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAI7C;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAa1B,2BAA2B,OAAO,CAAC,UAAU,YAAY,EAAE;QAC7D,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAGhD;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAsB3B,2BAA2B,OAAO,CAAC,UAAU,cAAc,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAG1C;IACC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,2BAA2B,OAAO,CAAC,UAAU,SAAS,EAAE;QACrF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,QAAQ,EAAE;KACnB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAK/C;IACC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iEAAiE,EAAE,CAAC,CAAC;YAC5G,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAqD,EAAE,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/D,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAW,2BAA2B,KAAK,CAAC,EAAE,EAAE,EAAE;oBAC9E,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;iBACrC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAW,2BAA2B,OAAO,CAAC,EAAE,EAAE,EAAE;QAChF,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE,KAAK,EAAE;KAChB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAuCD,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,IAAsC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO;YACL,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,QAAQ;YACxC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,KAAK;YACzC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;YAChC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,SAAmB;IAClE,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAClD,OAAO;QACL,SAAS;QACT,SAAS;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;QAC5E,UAAU;QACV,SAAS;QACT,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;QAC9F,UAAU;QACV,UAAU;KACX,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,IAAI,CAAC,CAAC;YACP,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,KAAgC;IACrD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAC/E,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAChF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,KAAc;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAa;IAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAiB,2BAA2B,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,EAAE,EAAE,IAAI,CAAU,CAAC;IAC7B,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgC,EAChC,WAAqB,EACrB,QAAqC;IAErC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAgE,CAAC;IAC1G,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC7F,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACxG,CAAC,CAAC,CAAC;QACH,MAAM,gBAAgB,GACpB,IAAI,CAAC,gBAAgB;YACrB,WAAW,CAAC,gBAAgB;YAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAClE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW;YACpC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtG,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG;YACX,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;YACtD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YACnD,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;YAClE,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,WAAW,CAAC,KAAK;YAC9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC1D,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5C,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;SAC7C,CAAC;QAEF,MAAM,aAAa,GAAG,gBAAgB;YACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;iBACjB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAG,gBAAuD,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC3I,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAMpD;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAI,OAAgC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAgB,6BAA6B,EAAE;QACjF,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;KACzC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;IACvC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;IAExF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACxC,UAAU,CAAC;YACT,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,+BAA+B;YACxC,IAAI,EAAE;gBACJ,QAAQ;gBACR,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,cAAc,EAAE,SAAS,CAAC,MAAM;gBAChC,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;aACzC;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG;QACd,QAAQ;QACR,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,YAAY,EAAE,cAAc,CAAC,MAAM;QACnC,cAAc,EAAE,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;QACtD,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjF,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;KACzB,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC;YACT,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE;gBACJ,OAAO;gBACP,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnD,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;iBACzC,CAAC,CAAC;gBACH,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,EAAE;aACtC;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAsE,EAAE,CAAC;IACtF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,OAAO,CAAiB,2BAA2B,KAAK,CAAC,UAAU,EAAE,EAAE;YAC3E,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,UAAU,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE;YACpE,OAAO;SACR;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** GET /api/admin/v1/integrations/webdav — current config (password never returned). */
2
+ export declare function handleWebdavGet(): Promise<void>;
3
+ /** POST /api/admin/v1/integrations/webdav — update config. Password is encrypted server-side. */
4
+ export declare function handleWebdavSet(options: {
5
+ url?: string;
6
+ username?: string;
7
+ password?: string;
8
+ rootPath?: string;
9
+ enabled?: string;
10
+ }): Promise<void>;
11
+ /** POST /api/admin/v1/integrations/webdav/test — probe url/credentials/rootPath. */
12
+ export declare function handleWebdavTest(options: {
13
+ url?: string;
14
+ username?: string;
15
+ password?: string;
16
+ rootPath?: string;
17
+ }): Promise<void>;
18
+ //# sourceMappingURL=webdav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webdav.d.ts","sourceRoot":"","sources":["../../src/commands/webdav.ts"],"names":[],"mappings":"AAUA,wFAAwF;AACxF,wBAAsB,eAAe,kBAGpC;AAED,iGAAiG;AACjG,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,iBAgBA;AAED,oFAAoF;AACpF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,iBASA"}
@@ -0,0 +1,42 @@
1
+ import { apiCall, outputJSON, printError } from "../lib/api.js";
2
+ /** GET /api/admin/v1/integrations/webdav — current config (password never returned). */
3
+ export async function handleWebdavGet() {
4
+ const { data } = await apiCall("/api/admin/v1/integrations/webdav");
5
+ outputJSON(data);
6
+ }
7
+ /** POST /api/admin/v1/integrations/webdav — update config. Password is encrypted server-side. */
8
+ export async function handleWebdavSet(options) {
9
+ const body = {};
10
+ if (options.url !== undefined)
11
+ body.url = options.url;
12
+ if (options.username !== undefined)
13
+ body.username = options.username;
14
+ if (options.password !== undefined)
15
+ body.password = options.password;
16
+ if (options.rootPath !== undefined)
17
+ body.rootPath = options.rootPath;
18
+ if (options.enabled !== undefined)
19
+ body.isEnabled = options.enabled === "true";
20
+ if (Object.keys(body).length === 0) {
21
+ printError("请至少指定一个配置项: --url, --username, --password, --root-path, --enabled");
22
+ process.exit(1);
23
+ }
24
+ await apiCall("/api/admin/v1/integrations/webdav", { method: "POST", body });
25
+ console.log("WebDAV 配置已更新");
26
+ await handleWebdavGet();
27
+ }
28
+ /** POST /api/admin/v1/integrations/webdav/test — probe url/credentials/rootPath. */
29
+ export async function handleWebdavTest(options) {
30
+ const body = {};
31
+ if (options.url !== undefined)
32
+ body.url = options.url;
33
+ if (options.username !== undefined)
34
+ body.username = options.username;
35
+ if (options.password !== undefined)
36
+ body.password = options.password;
37
+ if (options.rootPath !== undefined)
38
+ body.rootPath = options.rootPath;
39
+ await apiCall("/api/admin/v1/integrations/webdav/test", { method: "POST", body });
40
+ console.log("WebDAV 连接成功,根路径可访问");
41
+ }
42
+ //# sourceMappingURL=webdav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webdav.js","sourceRoot":"","sources":["../../src/commands/webdav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhE,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAe,mCAAmC,CAAC,CAAC;IAClF,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAMrC;IACC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC;IAE/E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,mEAAmE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,CAAC,mCAAmC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,MAAM,eAAe,EAAE,CAAC;AAC1B,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAKtC;IACC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAErE,MAAM,OAAO,CAAC,wCAAwC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACpC,CAAC"}