@cdot65/prisma-airs-cli 2.7.0 → 2.8.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 (92) hide show
  1. package/dist/cli/commands/dlp-gen.d.ts +3 -0
  2. package/dist/cli/commands/dlp-gen.d.ts.map +1 -0
  3. package/dist/cli/commands/dlp-gen.js +51 -0
  4. package/dist/cli/commands/dlp-gen.js.map +1 -0
  5. package/dist/cli/commands/runtime.d.ts.map +1 -1
  6. package/dist/cli/commands/runtime.js +5 -0
  7. package/dist/cli/commands/runtime.js.map +1 -1
  8. package/dist/dlp/embed/docx.d.ts +3 -0
  9. package/dist/dlp/embed/docx.d.ts.map +1 -0
  10. package/dist/dlp/embed/docx.js +47 -0
  11. package/dist/dlp/embed/docx.js.map +1 -0
  12. package/dist/dlp/embed/index.d.ts +6 -0
  13. package/dist/dlp/embed/index.d.ts.map +1 -0
  14. package/dist/dlp/embed/index.js +20 -0
  15. package/dist/dlp/embed/index.js.map +1 -0
  16. package/dist/dlp/embed/jpeg.d.ts +5 -0
  17. package/dist/dlp/embed/jpeg.d.ts.map +1 -0
  18. package/dist/dlp/embed/jpeg.js +60 -0
  19. package/dist/dlp/embed/jpeg.js.map +1 -0
  20. package/dist/dlp/embed/pdf.d.ts +7 -0
  21. package/dist/dlp/embed/pdf.d.ts.map +1 -0
  22. package/dist/dlp/embed/pdf.js +92 -0
  23. package/dist/dlp/embed/pdf.js.map +1 -0
  24. package/dist/dlp/embed/png-chunks.d.ts +12 -0
  25. package/dist/dlp/embed/png-chunks.d.ts.map +1 -0
  26. package/dist/dlp/embed/png-chunks.js +85 -0
  27. package/dist/dlp/embed/png-chunks.js.map +1 -0
  28. package/dist/dlp/embed/png.d.ts +5 -0
  29. package/dist/dlp/embed/png.d.ts.map +1 -0
  30. package/dist/dlp/embed/png.js +68 -0
  31. package/dist/dlp/embed/png.js.map +1 -0
  32. package/dist/dlp/embed/svg.d.ts +3 -0
  33. package/dist/dlp/embed/svg.d.ts.map +1 -0
  34. package/dist/dlp/embed/svg.js +28 -0
  35. package/dist/dlp/embed/svg.js.map +1 -0
  36. package/dist/dlp/embed/zip.d.ts +3 -0
  37. package/dist/dlp/embed/zip.d.ts.map +1 -0
  38. package/dist/dlp/embed/zip.js +25 -0
  39. package/dist/dlp/embed/zip.js.map +1 -0
  40. package/dist/dlp/generate/docx.d.ts +3 -0
  41. package/dist/dlp/generate/docx.d.ts.map +1 -0
  42. package/dist/dlp/generate/docx.js +20 -0
  43. package/dist/dlp/generate/docx.js.map +1 -0
  44. package/dist/dlp/generate/index.d.ts +5 -0
  45. package/dist/dlp/generate/index.d.ts.map +1 -0
  46. package/dist/dlp/generate/index.js +21 -0
  47. package/dist/dlp/generate/index.js.map +1 -0
  48. package/dist/dlp/generate/jpeg.d.ts +3 -0
  49. package/dist/dlp/generate/jpeg.d.ts.map +1 -0
  50. package/dist/dlp/generate/jpeg.js +8 -0
  51. package/dist/dlp/generate/jpeg.js.map +1 -0
  52. package/dist/dlp/generate/pdf.d.ts +3 -0
  53. package/dist/dlp/generate/pdf.d.ts.map +1 -0
  54. package/dist/dlp/generate/pdf.js +19 -0
  55. package/dist/dlp/generate/pdf.js.map +1 -0
  56. package/dist/dlp/generate/png.d.ts +3 -0
  57. package/dist/dlp/generate/png.d.ts.map +1 -0
  58. package/dist/dlp/generate/png.js +8 -0
  59. package/dist/dlp/generate/png.js.map +1 -0
  60. package/dist/dlp/generate/raster.d.ts +9 -0
  61. package/dist/dlp/generate/raster.d.ts.map +1 -0
  62. package/dist/dlp/generate/raster.js +20 -0
  63. package/dist/dlp/generate/raster.js.map +1 -0
  64. package/dist/dlp/generate/svg.d.ts +3 -0
  65. package/dist/dlp/generate/svg.d.ts.map +1 -0
  66. package/dist/dlp/generate/svg.js +17 -0
  67. package/dist/dlp/generate/svg.js.map +1 -0
  68. package/dist/dlp/index.d.ts +15 -0
  69. package/dist/dlp/index.d.ts.map +1 -0
  70. package/dist/dlp/index.js +54 -0
  71. package/dist/dlp/index.js.map +1 -0
  72. package/dist/dlp/lorem.d.ts +3 -0
  73. package/dist/dlp/lorem.d.ts.map +1 -0
  74. package/dist/dlp/lorem.js +65 -0
  75. package/dist/dlp/lorem.js.map +1 -0
  76. package/dist/dlp/manifest.d.ts +11 -0
  77. package/dist/dlp/manifest.d.ts.map +1 -0
  78. package/dist/dlp/manifest.js +14 -0
  79. package/dist/dlp/manifest.js.map +1 -0
  80. package/dist/dlp/payload.d.ts +6 -0
  81. package/dist/dlp/payload.d.ts.map +1 -0
  82. package/dist/dlp/payload.js +62 -0
  83. package/dist/dlp/payload.js.map +1 -0
  84. package/dist/dlp/rng.d.ts +9 -0
  85. package/dist/dlp/rng.d.ts.map +1 -0
  86. package/dist/dlp/rng.js +28 -0
  87. package/dist/dlp/rng.js.map +1 -0
  88. package/dist/dlp/types.d.ts +26 -0
  89. package/dist/dlp/types.d.ts.map +1 -0
  90. package/dist/dlp/types.js +2 -0
  91. package/dist/dlp/types.js.map +1 -0
  92. package/package.json +5 -1
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerDlpGenCommand(parent: Command): void;
3
+ //# sourceMappingURL=dlp-gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlp-gen.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dlp-gen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAyC3D"}
@@ -0,0 +1,51 @@
1
+ import chalk from 'chalk';
2
+ import { generateCorpus } from '../../dlp/index.js';
3
+ const ALL_FORMATS = ['pdf', 'png', 'jpeg', 'svg', 'docx'];
4
+ function parseTypes(value) {
5
+ if (value === 'all') {
6
+ return ALL_FORMATS;
7
+ }
8
+ const types = value.split(',').map((t) => t.trim().toLowerCase());
9
+ const invalid = types.filter((t) => !ALL_FORMATS.includes(t));
10
+ if (invalid.length > 0) {
11
+ throw new Error(`Unknown type(s): ${invalid.join(', ')}. Valid: ${ALL_FORMATS.join(', ')}`);
12
+ }
13
+ return types;
14
+ }
15
+ export function registerDlpGenCommand(parent) {
16
+ parent
17
+ .command('dlp-gen')
18
+ .description('Generate clean + dirty DLP test files (synthetic sensitive data) across PDF/PNG/JPEG/SVG/DOCX')
19
+ .option('--types <list>', 'Comma list: pdf,png,jpeg,svg,docx (or all)', 'all')
20
+ .option('--count <n>', 'Clean files per type', '1')
21
+ .option('--out <dir>', 'Output base directory', './temp')
22
+ .option('--techniques <list>', 'all or comma list of technique ids', 'all')
23
+ .option('--seed <n>', 'Seed for reproducible payloads')
24
+ .option('--output <format>', 'Summary format: pretty or json', 'pretty')
25
+ .action(async (opts) => {
26
+ const types = parseTypes(opts.types);
27
+ const count = Number.parseInt(opts.count, 10);
28
+ if (!Number.isInteger(count) || count < 1) {
29
+ throw new Error('--count must be a positive integer');
30
+ }
31
+ const techniques = opts.techniques === 'all'
32
+ ? 'all'
33
+ : opts.techniques.split(',').map((t) => t.trim());
34
+ const seed = opts.seed === undefined ? undefined : Number.parseInt(opts.seed, 10);
35
+ const summary = await generateCorpus({ types, count, out: opts.out, techniques, seed });
36
+ if (opts.output === 'json') {
37
+ console.log(JSON.stringify(summary, null, 2));
38
+ return;
39
+ }
40
+ console.log(chalk.bold('\n DLP Test-File Generation'));
41
+ console.log(` Output: ${summary.out}`);
42
+ console.log(` Seed: ${summary.seed}`);
43
+ console.log(` Clean: ${summary.clean} Dirty: ${summary.dirty}`);
44
+ console.log(` Manifest: ${summary.manifestPath}\n`);
45
+ for (const [fmt, counts] of Object.entries(summary.byFormat)) {
46
+ console.log(` ${fmt.padEnd(5)} clean=${counts.clean} dirty=${counts.dirty}`);
47
+ }
48
+ console.log('');
49
+ });
50
+ }
51
+ //# sourceMappingURL=dlp-gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlp-gen.js","sourceRoot":"","sources":["../../../src/cli/commands/dlp-gen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAwDhE,+CAA+C;AAC/C,wBAAsB,iBAAiB,kCAQtC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqzB7D"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAyDhE,+CAA+C;AAC/C,wBAAsB,iBAAiB,kCAQtC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0zB7D"}
@@ -9,6 +9,7 @@ import { loadBulkScanState, saveBulkScanState } from '../bulk-scan-state.js';
9
9
  import { parseInputFile } from '../parse-input.js';
10
10
  import { OUTPUT_FORMATS, renderApiKeyDetail, renderApiKeyList, renderCustomerAppDetail, renderCustomerAppList, renderDeploymentProfileList, renderDlpProfileList, renderError, renderProfileDetail, renderProfileList, renderRuntimeConfigHeader, renderScanLogList, renderTopicDetail, renderTopicList, } from '../renderer/index.js';
11
11
  import { registerAuditCommand } from './audit.js';
12
+ import { registerDlpGenCommand } from './dlp-gen.js';
12
13
  import { registerCleanupCommand } from './profiles-cleanup.js';
13
14
  import { registerApplyCommand } from './topics-apply.js';
14
15
  import { registerCreateCommand } from './topics-create.js';
@@ -835,5 +836,9 @@ export function registerRuntimeCommand(program) {
835
836
  process.exit(1);
836
837
  }
837
838
  });
839
+ // -----------------------------------------------------------------------
840
+ // runtime dlp-gen — generate clean + dirty DLP test files
841
+ // -----------------------------------------------------------------------
842
+ registerDlpGenCommand(runtime);
838
843
  }
839
844
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,cAAc,EAEd,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,SAAS,gBAAgB,CAAC,MAAyB;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,OAAO,IAAI,oBAAoB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC,YAAY;QAC7B,YAAY,EAAE,MAAM,CAAC,gBAAgB;QACrC,KAAK,EAAE,MAAM,CAAC,SAAS;QACvB,aAAa,EAAE,MAAM,CAAC,iBAAiB;KACxC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAEhE,0EAA0E;IAC1E,oDAAoD;IACpD,0EAA0E;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAEhF,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sBAAsB,CAAC;SACnC,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9C,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAC1D,cAAc,CAAC,eAAe,EAAE,0CAA0C,CAAC;SAC3E,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,OAAO,GAA4B;gBACvC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC1D,kBAAkB,EAAE,IAAI,CAAC,IAAI;aAC9B,CAAC;YACF,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAClD,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,mBAAmB,CAAC;SAChC,cAAc,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SAC3E,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,0CAA0C;IAC1C,0EAA0E;IAC1E,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;SAC3D,cAAc,CACb,gBAAgB,EAChB,mEAAmE,CACpE;SACA,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,iDAAiD,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,WAAW,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,WAAW,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAEtF,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAE/E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAC1E,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,oCAAoC,CAAC,CAAC,CAAC;YAE1F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC5D,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;oBAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,4BAA4B,OAAO,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC5E,CACF,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;YAEH,4BAA4B;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC;YACvF,MAAM,GAAG,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACnE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YAEnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,8DAA8D;IAC9D,0EAA0E;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAE/F,YAAY;SACT,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;gBAC5C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,YAAY;SACT,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAClD,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,YAAY;SACT,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;YACrD,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,YAAY;SACT,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SAC3E,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAI,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,kDAAkD;IAClD,0EAA0E;IAC1E,MAAM,kBAAkB,GAAG,OAAO;SAC/B,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAEhD,kBAAkB;SACf,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,2CAA2C;IAC3C,0EAA0E;IAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAE1F,WAAW;SACR,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YACjD,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,uDAAuD;IACvD,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE1F,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC;SAC3C,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC;SAC9C,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,WAAW,CAAC,0BAA0B,GAAG,aAAa,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;gBACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACtC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;aACzC,CAAC,CAAC;YACH,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,EAAE,QAAQ,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACzD,WAAW,CAAC,0BAA0B,GAAG,8BAA8B,CAAC,CAAC;gBACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,iEAAiE,CAAC,IAAI,CACnF,QAAQ,CACT,CAAC;YACF,MAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACpC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,EAAE,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzF,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1E,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,cAAc;oBAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;gBACpF,IAAI,OAAO,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;SACnD,MAAM,CAAC,6BAA6B,EAAE,6CAA6C,CAAC;SACpF,MAAM,CAAC,0BAA0B,EAAE,0DAA0D,CAAC;SAC9F,MAAM,CAAC,iCAAiC,EAAE,iDAAiD,CAAC;SAC5F,MAAM,CAAC,2BAA2B,EAAE,sDAAsD,CAAC;SAC3F,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,2BAA2B,EAAE,2CAA2C,CAAC;SAChF,MAAM,CAAC,uBAAuB,EAAE,gDAAgD,CAAC;SACjF,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;SACpE,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,+BAA+B,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,6BAA6B,EAAE,0CAA0C,CAAC;SACjF,MAAM,CAAC,+BAA+B,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,+BAA+B,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,kCAAkC,EAAE,qCAAqC,CAAC;SACjF,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,CAAC,UAAU,CAAC;SACtF,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAE5B,IAAI,OAA4B,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,wBAAwB;gBACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjE,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,mBAAmB,CAAC;oBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBAC1C,CAAC,CAAC;gBACH,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YACzD,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,uEAAuE;gBACvE,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;oBACzD,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,gDAAgD;oBAChD,WAAW,CACT,YAAY,IAAI,CAAC,IAAI,uDAAuD,CAC7E,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC;SAChD,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;SAC3C,MAAM,CAAC,6BAA6B,EAAE,6CAA6C,CAAC;SACpF,MAAM,CAAC,0BAA0B,EAAE,0DAA0D,CAAC;SAC9F,MAAM,CAAC,iCAAiC,EAAE,iDAAiD,CAAC;SAC5F,MAAM,CAAC,2BAA2B,EAAE,sDAAsD,CAAC;SAC3F,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,2BAA2B,EAAE,2CAA2C,CAAC;SAChF,MAAM,CAAC,uBAAuB,EAAE,gDAAgD,CAAC;SACjF,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;SACpE,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,+BAA+B,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,6BAA6B,EAAE,0CAA0C,CAAC;SACjF,MAAM,CAAC,+BAA+B,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,+BAA+B,EAAE,4CAA4C,CAAC;SACrF,MAAM,CAAC,kCAAkC,EAAE,qCAAqC,CAAC;SACjF,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,CAAC,UAAU,CAAC;SACtF,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,iEAAiE,CAAC,IAAI,CACnF,QAAQ,CACT,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM;gBACrB,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACpC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YAErC,IAAI,OAA4B,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,wBAAwB;gBACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjE,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,0EAA0E;gBAC1E,MAAM,OAAO,GAAG,QAAQ,CAAC;gBACzB,MAAM,SAAS,GAAG,qBAAqB,CAAC;oBACtC,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBAC1C,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAEnE,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE;oBAC/C,YAAY,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW;oBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI;oBAC7C,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YACzD,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,SAAS,EAAE,kDAAkD,CAAC;SACrE,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,iEAAiE,CAAC,IAAI,CACnF,QAAQ,CACT,CAAC;YACF,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,IAAI,WAAW,GAAG,QAAQ,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACnD,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACzD,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC9B,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,WAAW,CAAC,+CAA+C,CAAC,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,KAAK,SAAS,KAAK,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,kCAAkC;IAClC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEjC,gCAAgC;IAChC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/B,0EAA0E;IAC1E,sDAAsD;IACtD,0EAA0E;IAC1E,OAAO;SACJ,OAAO,CAAC,yBAAyB,CAAC;SAClC,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAI,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,WAAW,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAE7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;gBAClE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;oBAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,4BAA4B,OAAO,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC5E,CACF,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC;YACxF,MAAM,GAAG,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACnE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YAEnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,wCAAwC;IACxC,0EAA0E;IAC1E,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,uDAAuD,CAAC;SACpE,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;SAC3D,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,WAAW,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CACnF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7E,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,qCAAqC;IACrC,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAElF,QAAQ;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,cAAc,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACjD,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACjE,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC;SAC5C,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBACzC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAChD,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oDAAoD,CAAC,CAAC;IAErE,wDAAwD;IACxD,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM;SACH,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,SAAS,EAAE,sDAAsD,CAAC;SACzE,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAI,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,aAAa,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5B,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,EAAE,QAAQ,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACzD,WAAW,CAAC,0BAA0B,GAAG,8BAA8B,CAAC,CAAC;gBACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,iEAAiE,CAAC,IAAI,CACnF,QAAQ,CACT,CAAC;YACF,MAAM,KAAK,GAAG,MAAM;gBAClB,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,EAAE,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACjF,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtE,IAAI,KAAK,CAAC,WAAW;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvE,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACxB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpE,IAAI,KAAK,CAAC,UAAU;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpE,IAAI,KAAK,CAAC,gBAAgB;oBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC;SAC3C,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC;SAC9C,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAsB,CAAC;YACxC,IAAI,GAAG,KAAK,QAAQ;gBAAE,yBAAyB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7C,+CAA+C;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YACrD,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM;SACH,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAI,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YACpD,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,0DAA0D;IAC1D,0EAA0E;IAC1E,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Technique } from '../types.js';
2
+ export declare const docxTechniques: Record<string, Technique>;
3
+ //# sourceMappingURL=docx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docx.d.ts","sourceRoot":"","sources":["../../../src/dlp/embed/docx.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAC;AAkC3D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAoBpD,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { Document, HeadingLevel, Packer, Paragraph, TextRun } from 'docx';
2
+ import { lorem } from '../lorem.js';
3
+ import { makeRng } from '../rng.js';
4
+ const join = (p) => p.map((v) => `${v.category}: ${v.value}`).join(' | ');
5
+ function bodyParagraphs() {
6
+ return lorem(makeRng(1), 2)
7
+ .split('\n\n')
8
+ .map((t) => new Paragraph({ children: [new TextRun(t)] }));
9
+ }
10
+ async function build(extra, core = {}) {
11
+ const doc = new Document({
12
+ title: core.title,
13
+ subject: core.subject,
14
+ keywords: core.keywords,
15
+ sections: [
16
+ {
17
+ children: [
18
+ new Paragraph({ text: 'Generated Document', heading: HeadingLevel.HEADING_1 }),
19
+ ...bodyParagraphs(),
20
+ ...extra,
21
+ ],
22
+ },
23
+ ],
24
+ });
25
+ return Packer.toBuffer(doc);
26
+ }
27
+ export const docxTechniques = {
28
+ 'core-props': {
29
+ id: 'core-props',
30
+ format: 'docx',
31
+ label: 'core document properties',
32
+ embed: (_clean, p) => build([], { title: join(p), subject: join(p), keywords: join(p) }),
33
+ },
34
+ 'hidden-run': {
35
+ id: 'hidden-run',
36
+ format: 'docx',
37
+ label: 'hidden (vanish) run',
38
+ embed: (_clean, p) => build([new Paragraph({ children: [new TextRun({ text: join(p), vanish: true })] })]),
39
+ },
40
+ visible: {
41
+ id: 'visible',
42
+ format: 'docx',
43
+ label: 'visible body line',
44
+ embed: (_clean, p) => build([new Paragraph({ children: [new TextRun(join(p))] })]),
45
+ },
46
+ };
47
+ //# sourceMappingURL=docx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docx.js","sourceRoot":"","sources":["../../../src/dlp/embed/docx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAElG,SAAS,cAAc;IACrB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxB,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAQD,KAAK,UAAU,KAAK,CAAC,KAAkB,EAAE,OAAa,EAAE;IACtD,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE;YACR;gBACE,QAAQ,EAAE;oBACR,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;oBAC9E,GAAG,cAAc,EAAE;oBACnB,GAAG,KAAK;iBACT;aACF;SACF;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,YAAY,EAAE;QACZ,EAAE,EAAE,YAAY;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;KACzF;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,YAAY;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACvF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACnF;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Format, Technique } from '../types.js';
2
+ /** All embedding techniques grouped by file format. */
3
+ export declare const techniquesByFormat: Record<Format, Technique[]>;
4
+ /** Unique set of all technique ids across formats. */
5
+ export declare const ALL_TECHNIQUE_IDS: string[];
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dlp/embed/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOrD,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAM1D,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAMrC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { docxTechniques } from './docx.js';
2
+ import { jpegTechniques } from './jpeg.js';
3
+ import { pdfTechniques } from './pdf.js';
4
+ import { pngTechniques } from './png.js';
5
+ import { svgTechniques } from './svg.js';
6
+ /** All embedding techniques grouped by file format. */
7
+ export const techniquesByFormat = {
8
+ pdf: Object.values(pdfTechniques),
9
+ png: Object.values(pngTechniques),
10
+ jpeg: Object.values(jpegTechniques),
11
+ svg: Object.values(svgTechniques),
12
+ docx: Object.values(docxTechniques),
13
+ };
14
+ /** Unique set of all technique ids across formats. */
15
+ export const ALL_TECHNIQUE_IDS = [
16
+ ...new Set(Object.values(techniquesByFormat)
17
+ .flat()
18
+ .map((t) => t.id)),
19
+ ];
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dlp/embed/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;CACpC,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACzC,GAAG,IAAI,GAAG,CACR,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAC9B,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpB;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Technique } from '../types.js';
2
+ /** Recover EXIF 0th-IFD string fields from a JPEG. */
3
+ export declare function jpegExifExtract(jpeg: Buffer): string;
4
+ export declare const jpegTechniques: Record<string, Technique>;
5
+ //# sourceMappingURL=jpeg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../../../src/dlp/embed/jpeg.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAC;AA0B3D,sDAAsD;AACtD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA4BpD,CAAC"}
@@ -0,0 +1,60 @@
1
+ import piexif from 'piexifjs';
2
+ const join = (p) => p.map((v) => `${v.category}: ${v.value}`).join(' | ');
3
+ function u16(n) {
4
+ const b = Buffer.alloc(2);
5
+ b.writeUInt16BE(n, 0);
6
+ return b;
7
+ }
8
+ function setExif(clean, text) {
9
+ const zeroth = {};
10
+ zeroth[piexif.ImageIFD.ImageDescription] = text;
11
+ zeroth[piexif.ImageIFD.Artist] = text;
12
+ zeroth[piexif.ImageIFD.Copyright] = text;
13
+ const exifStr = piexif.dump({
14
+ '0th': zeroth,
15
+ Exif: {},
16
+ GPS: {},
17
+ Interop: {},
18
+ '1st': {},
19
+ thumbnail: null,
20
+ });
21
+ return Buffer.from(piexif.insert(exifStr, clean.toString('binary')), 'binary');
22
+ }
23
+ /** Recover EXIF 0th-IFD string fields from a JPEG. */
24
+ export function jpegExifExtract(jpeg) {
25
+ const exif = piexif.load(jpeg.toString('binary'));
26
+ const zeroth = exif['0th'] ?? {};
27
+ return Object.values(zeroth)
28
+ .filter((v) => typeof v === 'string')
29
+ .join('\n');
30
+ }
31
+ export const jpegTechniques = {
32
+ exif: {
33
+ id: 'exif',
34
+ format: 'jpeg',
35
+ label: 'EXIF ImageDescription/Artist/Copyright',
36
+ embed: (c, p) => setExif(c, join(p)),
37
+ },
38
+ com: {
39
+ id: 'com',
40
+ format: 'jpeg',
41
+ label: 'COM comment segment',
42
+ embed: (c, p) => {
43
+ const d = Buffer.from(`DLP ${join(p)}`, 'utf8');
44
+ return Buffer.concat([
45
+ c.subarray(0, 2),
46
+ Buffer.from([0xff, 0xfe]),
47
+ u16(d.length + 2),
48
+ d,
49
+ c.subarray(2),
50
+ ]);
51
+ },
52
+ },
53
+ trailer: {
54
+ id: 'trailer',
55
+ format: 'jpeg',
56
+ label: 'bytes after EOI',
57
+ embed: (c, p) => Buffer.concat([c, Buffer.from(`\nDLP ${join(p)}\n`, 'utf8')]),
58
+ },
59
+ };
60
+ //# sourceMappingURL=jpeg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpeg.js","sourceRoot":"","sources":["../../../src/dlp/embed/jpeg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Technique } from '../types.js';
2
+ /** Recover text from all PDF streams (inflating FlateDecode streams; falling back to raw). */
3
+ export declare function pdfStreamText(pdf: Buffer): string;
4
+ /** Recover document-info-dict metadata from a PDF. */
5
+ export declare function pdfMetaExtract(pdf: Buffer): Promise<string>;
6
+ export declare const pdfTechniques: Record<string, Technique>;
7
+ //# sourceMappingURL=pdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../../src/dlp/embed/pdf.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAC;AA8B3D,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoCjD;AAED,sDAAsD;AACtD,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKjE;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAmBnD,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { inflateSync } from 'node:zlib';
2
+ import { PDFDocument, rgb } from 'pdf-lib';
3
+ const join = (p) => p.map((v) => `${v.category}: ${v.value}`).join(' | ');
4
+ async function setMeta(clean, p) {
5
+ const doc = await PDFDocument.load(clean);
6
+ doc.setTitle(join(p));
7
+ doc.setSubject(join(p));
8
+ doc.setKeywords(p.map((v) => v.value));
9
+ doc.setAuthor(p.find((v) => v.category === 'email')?.value ?? 'synthetic');
10
+ return Buffer.from(await doc.save());
11
+ }
12
+ // "Hidden" text layer: drawn in white so it does not show on a white page, but the
13
+ // literal string remains in the (uncompressed) page content stream. pdf-lib does not
14
+ // expose text render-mode 3, so white-on-white is the chosen, reliably-verifiable approach.
15
+ async function hiddenText(clean, p) {
16
+ const doc = await PDFDocument.load(clean);
17
+ const page = doc.getPage(0);
18
+ let y = 760;
19
+ for (const v of p) {
20
+ page.drawText(`${v.category}: ${v.value}`, { x: 40, y, size: 6, color: rgb(1, 1, 1) });
21
+ y -= 8;
22
+ }
23
+ return Buffer.from(await doc.save());
24
+ }
25
+ const trailer = (clean, p) => Buffer.concat([clean, Buffer.from(`\n% DLP ${join(p)}\n`, 'utf8')]);
26
+ /** Recover text from all PDF streams (inflating FlateDecode streams; falling back to raw). */
27
+ export function pdfStreamText(pdf) {
28
+ const parts = [];
29
+ let idx = 0;
30
+ for (;;) {
31
+ const s = pdf.indexOf('stream', idx);
32
+ if (s < 0) {
33
+ break;
34
+ }
35
+ let dataStart = s + 6;
36
+ if (pdf[dataStart] === 0x0d) {
37
+ dataStart++;
38
+ }
39
+ if (pdf[dataStart] === 0x0a) {
40
+ dataStart++;
41
+ }
42
+ const e = pdf.indexOf('endstream', dataStart);
43
+ if (e < 0) {
44
+ break;
45
+ }
46
+ const raw = pdf.subarray(dataStart, e);
47
+ try {
48
+ parts.push(inflateSync(raw).toString('latin1'));
49
+ }
50
+ catch {
51
+ parts.push(raw.toString('latin1'));
52
+ }
53
+ idx = e + 9;
54
+ }
55
+ const combined = parts.join('\n');
56
+ // pdf-lib renders drawn text as PDF hex strings (<...>); decode them too.
57
+ const decoded = [combined];
58
+ for (const m of combined.matchAll(/<([0-9A-Fa-f]+)>/g)) {
59
+ if (m[1].length % 2 === 0) {
60
+ decoded.push(Buffer.from(m[1], 'hex').toString('latin1'));
61
+ }
62
+ }
63
+ return decoded.join('\n');
64
+ }
65
+ /** Recover document-info-dict metadata from a PDF. */
66
+ export async function pdfMetaExtract(pdf) {
67
+ const doc = await PDFDocument.load(pdf);
68
+ return [doc.getTitle(), doc.getSubject(), doc.getAuthor(), doc.getKeywords()]
69
+ .filter((v) => typeof v === 'string')
70
+ .join('\n');
71
+ }
72
+ export const pdfTechniques = {
73
+ meta: {
74
+ id: 'meta',
75
+ format: 'pdf',
76
+ label: 'document info dict',
77
+ embed: (c, p) => setMeta(c, p),
78
+ },
79
+ 'hidden-text': {
80
+ id: 'hidden-text',
81
+ format: 'pdf',
82
+ label: 'white (hidden) text layer',
83
+ embed: (c, p) => hiddenText(c, p),
84
+ },
85
+ trailer: {
86
+ id: 'trailer',
87
+ format: 'pdf',
88
+ label: 'bytes after %%EOF',
89
+ embed: (c, p) => trailer(c, p),
90
+ },
91
+ };
92
+ //# sourceMappingURL=pdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/dlp/embed/pdf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface Chunk {
2
+ type: string;
3
+ data: Buffer;
4
+ }
5
+ export declare function parseChunks(png: Buffer): Chunk[];
6
+ export declare function insertBeforeIEND(png: Buffer, extra: Buffer): Buffer;
7
+ export declare const tEXt: (keyword: string, text: string) => Buffer;
8
+ export declare const zTXt: (keyword: string, text: string) => Buffer;
9
+ export declare const iTXt: (keyword: string, text: string) => Buffer;
10
+ /** Recover all textual-chunk content (tEXt/zTXt/iTXt) as a single string. */
11
+ export declare function readTextChunks(png: Buffer): string;
12
+ //# sourceMappingURL=png-chunks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"png-chunks.d.ts","sourceRoot":"","sources":["../../../src/dlp/embed/png-chunks.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAahD;AAWD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWnE;AAED,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MAIlD,CAAC;AAEJ,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MAQlD,CAAC;AAEJ,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MAQlD,CAAC;AAEJ,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBlD"}