audit-tools 0.32.55 → 0.32.56

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 (97) hide show
  1. package/dist/audit/cli/dispatch/pausePersist.d.ts +60 -0
  2. package/dist/audit/cli/dispatch/pausePersist.d.ts.map +1 -0
  3. package/dist/audit/cli/dispatch/pausePersist.js +110 -0
  4. package/dist/audit/cli/dispatch/pausePersist.js.map +1 -0
  5. package/dist/audit/cli/dispatch/types.d.ts +12 -0
  6. package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
  7. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch.js +49 -1
  9. package/dist/audit/cli/dispatch.js.map +1 -1
  10. package/dist/audit/cli/mergeAndIngestCommand.d.ts +9 -0
  11. package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
  12. package/dist/audit/cli/mergeAndIngestCommand.js +2 -27
  13. package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
  14. package/dist/audit/cli/nextStepCommand.d.ts +0 -10
  15. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  16. package/dist/audit/cli/nextStepCommand.js +3 -33
  17. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  18. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  19. package/dist/audit/cli/rollingAuditDispatch.js +55 -115
  20. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  21. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  22. package/dist/audit/cli/semanticReviewStep.js +41 -0
  23. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  24. package/dist/audit/orchestrator/intentScopeDisposition.d.ts +14 -24
  25. package/dist/audit/orchestrator/intentScopeDisposition.d.ts.map +1 -1
  26. package/dist/audit/orchestrator/intentScopeDisposition.js +17 -35
  27. package/dist/audit/orchestrator/intentScopeDisposition.js.map +1 -1
  28. package/dist/audit/orchestrator/scope.d.ts +0 -1
  29. package/dist/audit/orchestrator/scope.d.ts.map +1 -1
  30. package/dist/audit/orchestrator/scope.js +2 -4
  31. package/dist/audit/orchestrator/scope.js.map +1 -1
  32. package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
  33. package/dist/audit/reporting/mergeFindings.js +17 -222
  34. package/dist/audit/reporting/mergeFindings.js.map +1 -1
  35. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  36. package/dist/audit/systemic/systemicChallengeLoop.js +3 -8
  37. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  38. package/dist/remediate/dedup/crossLensDedup.d.ts +11 -4
  39. package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
  40. package/dist/remediate/dedup/crossLensDedup.js +27 -146
  41. package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
  42. package/dist/remediate/index.d.ts +0 -10
  43. package/dist/remediate/index.d.ts.map +1 -1
  44. package/dist/remediate/index.js +1 -32
  45. package/dist/remediate/index.js.map +1 -1
  46. package/dist/remediate/intent/checkpointFilter.d.ts +4 -3
  47. package/dist/remediate/intent/checkpointFilter.d.ts.map +1 -1
  48. package/dist/remediate/intent/checkpointFilter.js +12 -53
  49. package/dist/remediate/intent/checkpointFilter.js.map +1 -1
  50. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  51. package/dist/remediate/steps/dispatch/marshal.js +2 -29
  52. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  53. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  54. package/dist/remediate/steps/nextStep.js +48 -4
  55. package/dist/remediate/steps/nextStep.js.map +1 -1
  56. package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
  57. package/dist/remediate/steps/providerNodeDispatch.js +12 -53
  58. package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
  59. package/dist/remediate/steps/rollingSession.d.ts +13 -0
  60. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  61. package/dist/remediate/steps/rollingSession.js +35 -1
  62. package/dist/remediate/steps/rollingSession.js.map +1 -1
  63. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  64. package/dist/remediate/validation/contractPipelineGates.js +13 -4
  65. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  66. package/dist/shared/dispatch/admissionLeaseReconcile.d.ts +20 -0
  67. package/dist/shared/dispatch/admissionLeaseReconcile.d.ts.map +1 -0
  68. package/dist/shared/dispatch/admissionLeaseReconcile.js +36 -0
  69. package/dist/shared/dispatch/admissionLeaseReconcile.js.map +1 -0
  70. package/dist/shared/dispatch/hostDispatchWall.d.ts +34 -0
  71. package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -0
  72. package/dist/shared/dispatch/hostDispatchWall.js +15 -0
  73. package/dist/shared/dispatch/hostDispatchWall.js.map +1 -0
  74. package/dist/shared/dispatch/providerLaunchFinalize.d.ts +49 -0
  75. package/dist/shared/dispatch/providerLaunchFinalize.d.ts.map +1 -0
  76. package/dist/shared/dispatch/providerLaunchFinalize.js +90 -0
  77. package/dist/shared/dispatch/providerLaunchFinalize.js.map +1 -0
  78. package/dist/shared/dispatch/rollingDispatch.d.ts +0 -15
  79. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  80. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  81. package/dist/shared/findings/dedupe.d.ts +106 -0
  82. package/dist/shared/findings/dedupe.d.ts.map +1 -0
  83. package/dist/shared/findings/dedupe.js +304 -0
  84. package/dist/shared/findings/dedupe.js.map +1 -0
  85. package/dist/shared/index.d.ts +8 -0
  86. package/dist/shared/index.d.ts.map +1 -1
  87. package/dist/shared/index.js +6 -0
  88. package/dist/shared/index.js.map +1 -1
  89. package/dist/shared/intake/guidanceBootstrap.d.ts +13 -0
  90. package/dist/shared/intake/guidanceBootstrap.d.ts.map +1 -0
  91. package/dist/shared/intake/guidanceBootstrap.js +36 -0
  92. package/dist/shared/intake/guidanceBootstrap.js.map +1 -0
  93. package/dist/shared/intent/pathScope.d.ts +27 -0
  94. package/dist/shared/intent/pathScope.d.ts.map +1 -0
  95. package/dist/shared/intent/pathScope.js +99 -0
  96. package/dist/shared/intent/pathScope.js.map +1 -0
  97. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ import { detectRateLimitFromChannel } from "../quota/errorParsing.js";
2
+ import { appendTokenUsageLine } from "../io/tokenUsageLedger.js";
3
+ import { readOptionalJsonFile, readOptionalTextFile } from "../io/json.js";
4
+ /**
5
+ * The shared launch-result finalize tail run by BOTH per-packet dispatchers
6
+ * (audit `makeAuditProviderPacketDispatcher`, remediate `makeProviderNodeDispatcher`)
7
+ * once `provider.launch(...)` returns. Everything here is provider/domain-neutral,
8
+ * so single-sourcing it removes the drift that previously lived across the two
9
+ * copies (e.g. an audit-only dead `observedUsage` result field). The launch INPUT
10
+ * and the result-CONTENT adjudication stay per-orchestrator — those are the genuine
11
+ * read-only-vs-git-mutating / AuditResult-vs-ImplementWorkerResult divergences.
12
+ *
13
+ * In order:
14
+ * 1. not-accepted → error;
15
+ * 2. channel-isolated session-limit detection on stderr (CE-003) → non-consuming
16
+ * rate_limited re-queue (the result file is never scanned for limit strings);
17
+ * 3. relay the endpoint-reported cost (when present) so `handleResult` can demote a
18
+ * declared-free pool that started charging;
19
+ * 4. confirm the worker's result file landed + parses — if missing, check stdout for
20
+ * a session-limit message (some providers report status there) before erroring;
21
+ * 5. append the per-run token-usage ledger line at result-handling time (never on the
22
+ * admission path — INV: no added admission latency), best-effort;
23
+ * 6. success. The result CONTENT is adjudicated downstream by the deterministic merge,
24
+ * so the finalizer only confirms the file exists — it does not return the payload.
25
+ */
26
+ export async function finalizeProviderLaunchResult(launch, ctx) {
27
+ const { packet } = ctx;
28
+ if (!launch.accepted) {
29
+ return {
30
+ packet,
31
+ outcome: "error",
32
+ error: new Error(launch.error ?? `provider ${ctx.providerName} rejected ${ctx.entityLabel}`),
33
+ };
34
+ }
35
+ // Channel-isolated session-limit detection (CE-003): only the error/status channel
36
+ // (stderr) is inspected — the result file is never scanned for limit strings, so a
37
+ // healthy result quoting a limit never triggers a re-queue.
38
+ const stderrText = (await readOptionalTextFile(ctx.stderrPath)) ?? "";
39
+ const limitCheck = detectRateLimitFromChannel("error", stderrText);
40
+ if (limitCheck.isRateLimited) {
41
+ // Non-consuming re-queue: the rolling engine drops the provider and puts this
42
+ // packet back into the pending pool so it retries once the cooldown passes.
43
+ return {
44
+ packet,
45
+ outcome: "rate_limited",
46
+ rateLimit: { channel: "error", text: stderrText },
47
+ };
48
+ }
49
+ // Reactive cost verification: relay the endpoint-reported cost (when the provider
50
+ // surfaced one) so `handleResult` can demote a declared-free pool that started
51
+ // charging. Absent for providers that report no cost.
52
+ const observedCost = launch.observedCostUsd != null ? { observedCostUsd: launch.observedCostUsd } : {};
53
+ // The worker writes its result file per the prompt; confirm it landed and parses.
54
+ // Contents are adjudicated by the deterministic merge downstream.
55
+ const result = await readOptionalJsonFile(ctx.resultPath);
56
+ if (!result) {
57
+ // Also check stdout for a session-limit message before reporting as error (some
58
+ // providers write their status to stdout, not stderr).
59
+ const stdoutText = (await readOptionalTextFile(ctx.stdoutPath)) ?? "";
60
+ const stdoutLimitCheck = detectRateLimitFromChannel("status", stdoutText);
61
+ if (stdoutLimitCheck.isRateLimited) {
62
+ return {
63
+ packet,
64
+ outcome: "rate_limited",
65
+ rateLimit: { channel: "status", text: stdoutText },
66
+ };
67
+ }
68
+ return {
69
+ packet,
70
+ outcome: "error",
71
+ error: new Error(`worker for ${ctx.entityLabel} wrote no result at ${ctx.resultPath}`),
72
+ };
73
+ }
74
+ // Record the token-usage ledger line NOW — at packet-completion / result-handling
75
+ // time, never on the dispatch/admission path (INV: no added admission latency).
76
+ // Every completed packet gets a line, including the agentic-CLI providers
77
+ // (claude-code/codex/opencode) that report no structured usage — their legs are
78
+ // null, distinctly "unmeasured" rather than silently 0. Best-effort.
79
+ await appendTokenUsageLine(ctx.artifactsDir, ctx.runId, {
80
+ packet_id: ctx.packetId,
81
+ pool_id: ctx.poolId,
82
+ input_tokens: launch.observedUsage?.inputTokens ?? null,
83
+ output_tokens: launch.observedUsage?.outputTokens ?? null,
84
+ cache_read_tokens: launch.observedUsage?.cacheReadTokens ?? null,
85
+ cache_creation_tokens: launch.observedUsage?.cacheCreationTokens ?? null,
86
+ observed_cost_usd: launch.observedCostUsd ?? null,
87
+ });
88
+ return { packet, outcome: "success", ...observedCost };
89
+ }
90
+ //# sourceMappingURL=providerLaunchFinalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerLaunchFinalize.js","sourceRoot":"","sources":["../../../src/shared/dispatch/providerLaunchFinalize.ts"],"names":[],"mappings":"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"}
@@ -67,21 +67,6 @@ export interface RollingDispatchResult<TPacket> {
67
67
  * free-first ordering. Absent when the backend reports no cost (most endpoints).
68
68
  */
69
69
  observedCostUsd?: number | null;
70
- /**
71
- * Endpoint-REPORTED token usage relayed by the dispatcher from the provider
72
- * result (openai-compatible's chat-completions `usage` object), mirroring
73
- * {@link observedCostUsd}'s relay path. Consumed post-hoc by the score-tokens
74
- * harness (per-run token-usage ledger), never by admission/scheduling. Absent
75
- * when the backend reports no usage (the agentic-CLI providers never populate
76
- * this) — a consumer distinguishes "unmeasured" from "measured zero" by its
77
- * absence, not by treating it as 0.
78
- */
79
- observedUsage?: {
80
- inputTokens?: number;
81
- outputTokens?: number;
82
- cacheReadTokens?: number;
83
- cacheCreationTokens?: number;
84
- } | null;
85
70
  error?: unknown;
86
71
  /**
87
72
  * The worker ERROR/STATUS channel evidence that classified a `rate_limited`
@@ -1 +1 @@
1
- {"version":3,"file":"rollingDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,mBAAmB,CAAC;AAanF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAOvE,oEAAoE;AACpE,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,IAAI,CAAC;IACT,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,mBAAmB,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;;;;WASG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,aAAa,CAAC,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB,CAAC,OAAO;IAC3C,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;;OAQG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC;;;;OAIG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C,qDAAqD;IACrD,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,cAAc,EAAE,CACd,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5D;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,KAAK,IAAI,CAAC;IACX;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,KACnC,IAAI,CAAC;IACV;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,MAAM,EAAE,MAAM,KACX,MAAM,CAAC;CACb;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACxC;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACzD;;;;OAIG;IACH,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjD,sDAAsD;IACtD,QAAQ,IAAI,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD;;;;;OAKG;IACH,WAAW,IAAI,yBAAyB,GAAG,IAAI,CAAC;CACjD;AAMD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAG1C;AAMD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,OAAO,EAC3C,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACrC,MAAM,CAER;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,OAAO,EACpC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,cAAc,EAAE,YAAY,EAAE,EAC9B,eAAe,EAAE,oBAAoB,EACrC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAClD,aAAa,EAAE,aAAa,EAC5B,gBAAgB,GAAE,WAAW,CAAC,MAAM,CAAa,EACjD,iBAAiB,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EAC1D,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAAa,EACnD,GAAG,GAAE,MAAmB,GACvB,YAAY,GAAG,IAAI,CAyFrB;AAMD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAC7C,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,OAAO,GAAE,sBAA2B,GACnC,iBAAiB,CAAC,OAAO,CAAC,CAumB5B"}
1
+ {"version":3,"file":"rollingDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rollingDispatch.js","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,EACL,YAAY,EAEZ,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA2RzC,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE1D,gBAAgB,CAAC,MAAc,EAAE,MAAc;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,MAAc;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CACnC,MAAsC;IAEtC,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CAAC,IAAkB;IAC5C,6EAA6E;IAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAC1B,IAAkB,EAClB,QAAsB;IAEtB,IAAI,QAAQ,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC7D,OAAO,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,uBAAuB,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsC,EACtC,cAA8B,EAC9B,eAAqC,EACrC,iBAAkD,EAClD,aAA4B,EAC5B,mBAAwC,IAAI,GAAG,EAAE,EACjD,oBAAiD,IAAI,GAAG,EAAE,EAC1D,qBAA0C,IAAI,GAAG,EAAE,EACnD,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,UAAU,IAAI,GAAG,CAAC;IAEzC,+EAA+E;IAC/E,gFAAgF;IAChF,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;QAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,OAAO,IAAI,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC;IAC1C,CAAC,CAAC;IAEF,sFAAsF;IACtF,kFAAkF;IAClF,qFAAqF;IACrF,kFAAkF;IAClF,oFAAoF;IACpF,yEAAyE;IACzE,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QACxC,OAAO,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEL,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,oFAAoF;IACpF,MAAM,eAAe,GAAG,CAAC,IAAkB,EAAgB,EAAE;QAC3D,+EAA+E;QAC/E,+EAA+E;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QACxB,6EAA6E;QAC7E,gFAAgF;QAChF,kFAAkF;QAClF,iFAAiF;QACjF,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,mFAAmF;QACnF,kFAAkF;QAClF,gFAAgF;QAChF,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;QACnF,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,YAAY,CAAC;YAClB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,CAAC;YACvB,mBAAmB,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC;YAC9D,eAAe;YACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI;YAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI;SACtD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpF,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,qDAAqD;IACrD,0EAA0E;IAC1E,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,UAAU,GAAG,CAAC,CAAiD,EAAW,EAAE,CAChF,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG;QACd,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC1C,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAsC,EACtC,UAAkC,EAAE;IAEpC,MAAM,EACJ,cAAc,EACd,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,kBAAkB,EAAE,0BAA0B,EAC9C,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EAAE,0BAA0B,GACrD,GAAG,MAAM,CAAC;IAEX,MAAM,KAAK,GAAkC;QAC3C,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,gFAAgF;QAChF,mEAAmE;QACnE,kBAAkB,EAAE,0BAA0B,IAAI,IAAI,GAAG,EAAE;KAC5D,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACnD,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,kEAAkE;IAClE,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAavD,MAAM,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAE7D,SAAS,YAAY,CAAC,IAA8B;QAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,EAAE,mBAAmB,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,cAAc,CAAC,MAAc;QACpC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACzD,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE;YACzB,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC;YAC9B,mBAAmB,EAAE,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,MAAc;QACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,MAAM,IAAI,IAAI;gBAAE,SAAS;YAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG;gBAAE,SAAS,CAAC,gCAAgC;YAC/E,IAAI,CAAC;gBACH,MAAM,6BAA6B,CACjC,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,CAAC,mBAAmB,CAC7B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5E,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,eAAe,GAAe,eAAe,EAAE,CAAC;IACpD,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAChC,IAAI,2BAA2B,GAAG,KAAK,CAAC;IAExC,KAAK,UAAU,yBAAyB;QACtC,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,cAAc,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oEAAoE;gBACpE,sEAAsE;gBACtE,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACjC,2BAA2B,GAAG,IAAI,CAAC;oBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,uCACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MACvC,aAAa,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,oBAAoB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB;QAC7B,wDAAwD;QACxD,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,SAAS,iBAAiB,CACxB,MAAsC,EACtC,IAAkB,EAClB,KAAuD;QAEvD,6BAA6B;QAC7B,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAE1E,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACtE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,CAAC;YACpH,MAAM;YACN,OAAO,EAAE,OAAgB;YACzB,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAA2B;YACpC,MAAM;YACN,MAAM;YACN,YAAY,EAAE,IAAI;YAClB,SAAS;YACT,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,OAAO;YACP,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;YAC/B,WAAW,EAAE,KAAK,EAAE,WAAW;SAChC,CAAC;QAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,UAAU,kBAAkB,CAC/B,MAAsC,EACtC,IAAkB,EAClB,cAAuB;QAMvB,IAAI,CAAC,iBAAiB;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,0BAA0B,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,cAAc;YAC3B,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC1B,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC;YAC7C,WAAW;YACX,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC9E,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,QAAgB,EAChB,MAAsC;QAEtC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAExD,uEAAuE;QACvE,iEAAiE;QACjE,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,eAAe,CAAC,GAAG,CACjB,YAAY,CAAC,MAAM,EACnB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CACjE,CAAC;QAEF,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,kBAAkB;QAClB,IAAI,iBAAiB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;QACH,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhC,yEAAyE;QACzE,8EAA8E;QAC9E,kEAAkE;QAClE,iFAAiF;QACjF,yEAAyE;QACzE,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;YAC3D,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc;gBACpD,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO;oBACtC,CAAC,CAAC,SAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,sCAAsC;QACtC,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEzD,oBAAoB,GAAG,IAAI,CAAC;QAE5B,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,2EAA2E;QAC3E,oEAAoE;QACpE,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YACtC,qEAAqE;YACrE,2EAA2E;YAC3E,mEAAmE;YACnE,4EAA4E;YAC5E,4EAA4E;YAC5E,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;YACzC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,SAAS,GACb,SAAS,IAAI,SAAS,CAAC,YAAY,IAAI,IAAI;gBACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,uEAAuE;gBACvE,4DAA4D;gBAC5D,MAAM,CAAC,SAAS,GAAG;oBACjB,GAAG,MAAM,CAAC,SAAU;oBACpB,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC/D,mEAAmE;gBACnE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CACzB,YAAY,CAAC,MAAM,EACnB,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YACD,sEAAsE;YACtE,8EAA8E;YAC9E,4EAA4E;YAC5E,gEAAgE;YAChE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,0EAA0E;YAC1E,0EAA0E;YAC1E,2EAA2E;YAC3E,qEAAqE;YACrE,mEAAmE;YACnE,uEAAuE;YACvE,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;wBACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC5B,IAAI,EAAE,mDAAmD;wBACzD,SAAS,EAAE,MAAM,CAAC,EAAE;wBACpB,iBAAiB,EAAE,YAAY,CAAC,MAAM;qBACvC,CAAC,GAAG,IAAI,CACV,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,wEAAwE;YACxE,8DAA8D;YAC9D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9F,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,mEAAmE;YACnE,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;oBACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC5B,IAAI,EAAE,uCAAuC;oBAC7C,SAAS,EAAE,MAAM,CAAC,EAAE;oBACpB,iBAAiB,EAAE,YAAY,CAAC,MAAM;iBACvC,CAAC,GAAG,IAAI,CACV,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,6EAA6E;QAC7E,iFAAiF;QACjF,+EAA+E;QAC/E,iFAAiF;QACjF,+EAA+E;QAC/E,6EAA6E;QAC7E,uEAAuE;QACvE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,WAAW,EAAE,mBAAmB,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;YACxC,IACE,QAAQ,KAAK,CAAC;gBACd,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzB,QAAQ,GAAG,CAAC;gBACZ,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAClD,CAAC;gBACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC;oBACH,WAAW,EAAE,CAAC;wBACZ,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,eAAe,EAAE,QAAQ;wBACzB,mBAAmB,EAAE,QAAQ;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,SAAS,OAAO,CAAC,OAAyC;QACxD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/D,2BAA2B;gBAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,iBAAiB;QACxB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,SAAS,kBAAkB,CAAC,GAAW;QACrC,OAAO,cAAc,CAAC,KAAK,CACzB,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CACzD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,qBAAqB,CAAC,GAAW;QACxC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,IAAI,GAAG;gBAAE,SAAS;YAC7B,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,GAAG,QAAQ;gBAAE,QAAQ,GAAG,OAAO,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iFAAiF;IACjF,SAAS,aAAa;QACpB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,YAAY;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,sBAAsB,EAAE,EAAE,CAAC;YAC9C,wEAAwE;YACxE,6CAA6C;YAC7C,MAAM,IAAI,GAAG,cAAc,CACzB,MAAM,EACN,cAAc,EACd,eAAe,EACf,eAAe,CAAC,OAAO,EACvB,aAAa,EACb,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,kBAAkB,EACxB,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YAEF,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS;YAE5B,qEAAqE;YACrE,yEAAyE;YACzE,6EAA6E;YAC7E,+EAA+E;YAC/E,2EAA2E;YAC3E,wEAAwE;YACxE,0EAA0E;YAC1E,8CAA8C;YAC9C,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,IAAI,IAAI,CAAC;YACpG,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;YACvD,MAAM,YAAY,GAChB,kBAAkB,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI;gBAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBACzC,CAAC,CAAC,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC;YACxC,iFAAiF;YACjF,8EAA8E;YAC9E,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;gBACzG,SAAS;YACX,CAAC;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,GAAoD,IAAI,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,SAAS,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACzE,wEAAwE;oBACxE,yEAAyE;oBACzE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBACjC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;wBACrB,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,SAAS;oBACX,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,yDAAyD;gBACrE,CAAC;YACH,CAAC;YACD,iFAAiF;YAEjF,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,UAAU,EAAE,CAAC;QACf,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,GAAG;QAChB,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChE,2DAA2D;YAC3D,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;YAExC,sEAAsE;YACtE,6CAA6C;YAC7C,yEAAyE;YACzE,0EAA0E;YAC1E,4EAA4E;YAC5E,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnF,sEAAsE;gBACtE,yEAAyE;gBACzE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,yEAAyE;gBACzE,wDAAwD;gBACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;oBACnC,aAAa,EAAE,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,yEAAyE;YACzE,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;gBACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC9B,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,gDAAgD;QAClD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,WAAW;QAClB,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,wEAAwE;QACxE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,wBAAwB,CAC7B,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,EACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CACjC,CAAC;QACJ,CAAC;QACD,OAAO,sBAAsB,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"rollingDispatch.js","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,EACL,YAAY,EAEZ,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA4QzC,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE1D,gBAAgB,CAAC,MAAc,EAAE,MAAc;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,MAAc;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CACnC,MAAsC;IAEtC,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CAAC,IAAkB;IAC5C,6EAA6E;IAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAC1B,IAAkB,EAClB,QAAsB;IAEtB,IAAI,QAAQ,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC7D,OAAO,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,uBAAuB,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsC,EACtC,cAA8B,EAC9B,eAAqC,EACrC,iBAAkD,EAClD,aAA4B,EAC5B,mBAAwC,IAAI,GAAG,EAAE,EACjD,oBAAiD,IAAI,GAAG,EAAE,EAC1D,qBAA0C,IAAI,GAAG,EAAE,EACnD,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,UAAU,IAAI,GAAG,CAAC;IAEzC,+EAA+E;IAC/E,gFAAgF;IAChF,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;QAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,OAAO,IAAI,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC;IAC1C,CAAC,CAAC;IAEF,sFAAsF;IACtF,kFAAkF;IAClF,qFAAqF;IACrF,kFAAkF;IAClF,oFAAoF;IACpF,yEAAyE;IACzE,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QACxC,OAAO,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEL,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,oFAAoF;IACpF,MAAM,eAAe,GAAG,CAAC,IAAkB,EAAgB,EAAE;QAC3D,+EAA+E;QAC/E,+EAA+E;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QACxB,6EAA6E;QAC7E,gFAAgF;QAChF,kFAAkF;QAClF,iFAAiF;QACjF,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,mFAAmF;QACnF,kFAAkF;QAClF,gFAAgF;QAChF,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;QACnF,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,YAAY,CAAC;YAClB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,CAAC;YACvB,mBAAmB,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC;YAC9D,eAAe;YACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI;YAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI;SACtD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpF,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,qDAAqD;IACrD,0EAA0E;IAC1E,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,UAAU,GAAG,CAAC,CAAiD,EAAW,EAAE,CAChF,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG;QACd,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC1C,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAsC,EACtC,UAAkC,EAAE;IAEpC,MAAM,EACJ,cAAc,EACd,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,kBAAkB,EAAE,0BAA0B,EAC9C,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EAAE,0BAA0B,GACrD,GAAG,MAAM,CAAC;IAEX,MAAM,KAAK,GAAkC;QAC3C,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,gFAAgF;QAChF,mEAAmE;QACnE,kBAAkB,EAAE,0BAA0B,IAAI,IAAI,GAAG,EAAE;KAC5D,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACnD,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,kEAAkE;IAClE,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAavD,MAAM,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAE7D,SAAS,YAAY,CAAC,IAA8B;QAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,EAAE,mBAAmB,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,cAAc,CAAC,MAAc;QACpC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACzD,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE;YACzB,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC;YAC9B,mBAAmB,EAAE,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,MAAc;QACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,MAAM,IAAI,IAAI;gBAAE,SAAS;YAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG;gBAAE,SAAS,CAAC,gCAAgC;YAC/E,IAAI,CAAC;gBACH,MAAM,6BAA6B,CACjC,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,CAAC,mBAAmB,CAC7B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5E,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,eAAe,GAAe,eAAe,EAAE,CAAC;IACpD,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAChC,IAAI,2BAA2B,GAAG,KAAK,CAAC;IAExC,KAAK,UAAU,yBAAyB;QACtC,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,cAAc,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oEAAoE;gBACpE,sEAAsE;gBACtE,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACjC,2BAA2B,GAAG,IAAI,CAAC;oBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,uCACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MACvC,aAAa,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,oBAAoB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB;QAC7B,wDAAwD;QACxD,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,SAAS,iBAAiB,CACxB,MAAsC,EACtC,IAAkB,EAClB,KAAuD;QAEvD,6BAA6B;QAC7B,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAE1E,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACtE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,CAAC;YACpH,MAAM;YACN,OAAO,EAAE,OAAgB;YACzB,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAA2B;YACpC,MAAM;YACN,MAAM;YACN,YAAY,EAAE,IAAI;YAClB,SAAS;YACT,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,OAAO;YACP,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;YAC/B,WAAW,EAAE,KAAK,EAAE,WAAW;SAChC,CAAC;QAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,UAAU,kBAAkB,CAC/B,MAAsC,EACtC,IAAkB,EAClB,cAAuB;QAMvB,IAAI,CAAC,iBAAiB;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,0BAA0B,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,cAAc;YAC3B,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC1B,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC;YAC7C,WAAW;YACX,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC9E,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,QAAgB,EAChB,MAAsC;QAEtC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAExD,uEAAuE;QACvE,iEAAiE;QACjE,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,eAAe,CAAC,GAAG,CACjB,YAAY,CAAC,MAAM,EACnB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CACjE,CAAC;QAEF,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,kBAAkB;QAClB,IAAI,iBAAiB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;QACH,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhC,yEAAyE;QACzE,8EAA8E;QAC9E,kEAAkE;QAClE,iFAAiF;QACjF,yEAAyE;QACzE,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;YAC3D,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc;gBACpD,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO;oBACtC,CAAC,CAAC,SAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,sCAAsC;QACtC,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEzD,oBAAoB,GAAG,IAAI,CAAC;QAE5B,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,2EAA2E;QAC3E,oEAAoE;QACpE,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YACtC,qEAAqE;YACrE,2EAA2E;YAC3E,mEAAmE;YACnE,4EAA4E;YAC5E,4EAA4E;YAC5E,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;YACzC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,SAAS,GACb,SAAS,IAAI,SAAS,CAAC,YAAY,IAAI,IAAI;gBACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,uEAAuE;gBACvE,4DAA4D;gBAC5D,MAAM,CAAC,SAAS,GAAG;oBACjB,GAAG,MAAM,CAAC,SAAU;oBACpB,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC/D,mEAAmE;gBACnE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CACzB,YAAY,CAAC,MAAM,EACnB,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YACD,sEAAsE;YACtE,8EAA8E;YAC9E,4EAA4E;YAC5E,gEAAgE;YAChE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,0EAA0E;YAC1E,0EAA0E;YAC1E,2EAA2E;YAC3E,qEAAqE;YACrE,mEAAmE;YACnE,uEAAuE;YACvE,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;wBACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC5B,IAAI,EAAE,mDAAmD;wBACzD,SAAS,EAAE,MAAM,CAAC,EAAE;wBACpB,iBAAiB,EAAE,YAAY,CAAC,MAAM;qBACvC,CAAC,GAAG,IAAI,CACV,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,wEAAwE;YACxE,8DAA8D;YAC9D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9F,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,mEAAmE;YACnE,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;oBACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC5B,IAAI,EAAE,uCAAuC;oBAC7C,SAAS,EAAE,MAAM,CAAC,EAAE;oBACpB,iBAAiB,EAAE,YAAY,CAAC,MAAM;iBACvC,CAAC,GAAG,IAAI,CACV,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,6EAA6E;QAC7E,iFAAiF;QACjF,+EAA+E;QAC/E,iFAAiF;QACjF,+EAA+E;QAC/E,6EAA6E;QAC7E,uEAAuE;QACvE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,WAAW,EAAE,mBAAmB,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;YACxC,IACE,QAAQ,KAAK,CAAC;gBACd,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzB,QAAQ,GAAG,CAAC;gBACZ,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAClD,CAAC;gBACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC;oBACH,WAAW,EAAE,CAAC;wBACZ,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,eAAe,EAAE,QAAQ;wBACzB,mBAAmB,EAAE,QAAQ;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,SAAS,OAAO,CAAC,OAAyC;QACxD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/D,2BAA2B;gBAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,iBAAiB;QACxB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,SAAS,kBAAkB,CAAC,GAAW;QACrC,OAAO,cAAc,CAAC,KAAK,CACzB,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CACzD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,qBAAqB,CAAC,GAAW;QACxC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,IAAI,GAAG;gBAAE,SAAS;YAC7B,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,GAAG,QAAQ;gBAAE,QAAQ,GAAG,OAAO,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iFAAiF;IACjF,SAAS,aAAa;QACpB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,YAAY;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,sBAAsB,EAAE,EAAE,CAAC;YAC9C,wEAAwE;YACxE,6CAA6C;YAC7C,MAAM,IAAI,GAAG,cAAc,CACzB,MAAM,EACN,cAAc,EACd,eAAe,EACf,eAAe,CAAC,OAAO,EACvB,aAAa,EACb,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,kBAAkB,EACxB,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YAEF,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS;YAE5B,qEAAqE;YACrE,yEAAyE;YACzE,6EAA6E;YAC7E,+EAA+E;YAC/E,2EAA2E;YAC3E,wEAAwE;YACxE,0EAA0E;YAC1E,8CAA8C;YAC9C,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,IAAI,IAAI,CAAC;YACpG,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;YACvD,MAAM,YAAY,GAChB,kBAAkB,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI;gBAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBACzC,CAAC,CAAC,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC;YACxC,iFAAiF;YACjF,8EAA8E;YAC9E,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;gBACzG,SAAS;YACX,CAAC;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,GAAoD,IAAI,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,SAAS,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACzE,wEAAwE;oBACxE,yEAAyE;oBACzE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBACjC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;wBACrB,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,SAAS;oBACX,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,yDAAyD;gBACrE,CAAC;YACH,CAAC;YACD,iFAAiF;YAEjF,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,UAAU,EAAE,CAAC;QACf,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,GAAG;QAChB,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChE,2DAA2D;YAC3D,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;YAExC,sEAAsE;YACtE,6CAA6C;YAC7C,yEAAyE;YACzE,0EAA0E;YAC1E,4EAA4E;YAC5E,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnF,sEAAsE;gBACtE,yEAAyE;gBACzE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,yEAAyE;gBACzE,wDAAwD;gBACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;oBACnC,aAAa,EAAE,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,yEAAyE;YACzE,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;gBACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC9B,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,gDAAgD;QAClD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,WAAW;QAClB,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,wEAAwE;QACxE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,wBAAwB,CAC7B,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,EACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CACjC,CAAC;QACJ,CAAC;QACD,OAAO,sBAAsB,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC"}
@@ -0,0 +1,106 @@
1
+ import type { Finding } from "../types/finding.js";
2
+ /**
3
+ * Merge two grounding verdicts by precedence: grounded > refuted > ungrounded >
4
+ * absent (S7). Grounded-wins (a verified span/anchor on ANY pass upgrades the
5
+ * survivor; an ungrounded/absent verdict never downgrades it). A refutation
6
+ * outranks ungrounded/absent, so a finding refuted on any pass is quarantined
7
+ * UNLESS another pass grounded it.
8
+ */
9
+ export declare function mergeGrounding(existing: Finding["grounding"], incoming: Finding["grounding"]): Finding["grounding"];
10
+ /**
11
+ * Union `absorbed`'s affected_files into `survivor` (dedup by
12
+ * path:line_start:line_end:symbol), optionally sorting by path then line. Shared by
13
+ * the absorb mechanics AND audit's identity-key exact merge (`upsertFinding`).
14
+ */
15
+ export declare function mergeAffectedFiles(survivor: Finding, absorbed: Finding, sort: boolean): void;
16
+ export interface AbsorbOptions {
17
+ /** Merge grounding verdicts by precedence (audit evidence integrity). */
18
+ mergeGrounding: boolean;
19
+ /** Sort the survivor's affected_files after the union (audit). */
20
+ sortAffectedFiles: boolean;
21
+ }
22
+ /**
23
+ * Merge `absorbed` INTO `survivor` in place: union affected_files + evidence,
24
+ * systemic OR, longest summary; optionally grounding-precedence + sort. The caller
25
+ * decides whether `survivor` is an original (mutate) or a clone (never-mutate).
26
+ * Shared by the cross-lens core AND audit's same-lens pass.
27
+ */
28
+ export declare function absorbFinding(survivor: Finding, absorbed: Finding, opts: AbsorbOptions): void;
29
+ export interface CrossLensDedupePolicy {
30
+ /**
31
+ * Category handling: `soft` still merges two findings of different categories but
32
+ * at a higher title-similarity threshold (audit review — a human reads the
33
+ * report); `hard` NEVER merges across categories — a different category is a
34
+ * structurally different fix, unsafe to auto-collapse (remediate, OBL-C003-DEDUP).
35
+ */
36
+ categoryGate: "soft" | "hard";
37
+ /**
38
+ * When true, two findings sharing a DISCRIMINATING shared-identity signature
39
+ * collapse even below the title-Jaccard floor (remediate drift-plan R2).
40
+ */
41
+ exactIdentityShortCircuit: boolean;
42
+ /**
43
+ * `mutate` the survivor original in place (audit report); `clone` it first so the
44
+ * caller's Finding objects are never mutated (remediate block state machine,
45
+ * INV-remediate-state-05).
46
+ */
47
+ survivorMutation: "mutate" | "clone";
48
+ /** Merge grounding verdicts by precedence (audit evidence integrity). */
49
+ mergeGrounding: boolean;
50
+ /** Sort a survivor's affected_files after each absorb (audit). */
51
+ sortAffectedFiles: boolean;
52
+ /**
53
+ * Stop the inner scan once the i-slot finding is itself absorbed (remediate) —
54
+ * there is no point comparing an absorbed finding with more candidates.
55
+ */
56
+ breakOnAbsorbedSurvivor: boolean;
57
+ /** Called for each merge (remediate emits a structured audit log). */
58
+ onMerge?: (info: {
59
+ absorbed: Finding;
60
+ survivor: Finding;
61
+ }) => void;
62
+ }
63
+ export interface CrossLensDedupeResult {
64
+ findings: Finding[];
65
+ /**
66
+ * `absorbed.id → survivor.id` for every merge (empty when nothing merged). A
67
+ * clone-mode caller uses it to rewrite downstream references (remediation blocks);
68
+ * mutate-mode callers can ignore it.
69
+ */
70
+ mergeMap: Map<string, string>;
71
+ }
72
+ /**
73
+ * Collapse cross-lens duplicate findings within each primary-path group. Only pairs
74
+ * of DIFFERENT lenses are considered (same-lens dedup is a separate pass); the
75
+ * winner by severity-then-confidence absorbs the loser's files/evidence. All policy
76
+ * divergence between the two orchestrators is expressed through `policy`.
77
+ */
78
+ export declare function crossLensDedupe(findings: Finding[], policy: CrossLensDedupePolicy): CrossLensDedupeResult;
79
+ /**
80
+ * File-independent finding identity for exact re-emission collapse: the same logical
81
+ * finding (normalized lens + category + title) re-emitted across files / units /
82
+ * passes shares one key. Distinct from `findingIdentityKey` (the 3-tier structural-
83
+ * anchor ladder) — this is the coarse lens|category|title exact key the identity
84
+ * upsert collapses on. Cross-file merging happens ONLY on this exact equality; the
85
+ * fuzzy same/cross-lens passes stay grouped by primary path so distinct problems in
86
+ * different units never collapse on mere similarity.
87
+ */
88
+ export declare function findingReEmissionKey(finding: Finding): string;
89
+ /**
90
+ * Same-lens dedup: within each (lens, primary-path) group, collapse fuzzily-similar
91
+ * findings (title Jaccard with a category-lowered threshold, plus line-range OR file
92
+ * overlap), the higher sev/conf survivor absorbing the loser in place with grounding-
93
+ * precedence + sorted files. A core capability only audit currently draws (remediate
94
+ * consumes findings the auditor already collapsed), single-sourced here so the whole
95
+ * finding-dedup family lives in one place.
96
+ */
97
+ export declare function sameLensDedupe(findings: Finding[]): Finding[];
98
+ /**
99
+ * Insert a finding into an identity-keyed map, or absorb it into the existing finding
100
+ * of the same re-emission identity (`findingReEmissionKey`): affected_files + evidence
101
+ * union, severity / confidence ESCALATE to the maximum rank seen, `systemic` ORs,
102
+ * impact / likelihood backfill, longest summary wins. (Audit's exact re-emission
103
+ * collapse — remediate has no identity-key merge today.)
104
+ */
105
+ export declare function upsertFindingByIdentity(merged: Map<string, Finding>, finding: Finding): void;
106
+ //# sourceMappingURL=dedupe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedupe.d.ts","sourceRoot":"","sources":["../../../src/shared/findings/dedupe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA+BnD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAkB5F;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAY7F;AAcD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B;;;OAGG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,qBAAqB,GAC5B,qBAAqB,CAwFvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM7D;AAeD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAuC7D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B5F"}
@@ -0,0 +1,304 @@
1
+ import { severityRank, confidenceRank } from "../types/lens.js";
2
+ import { findingIdentityKey } from "../findingIdentitySignature.js";
3
+ import { wordJaccard, filePathOverlap, primaryPath } from "../findingSimilarity.js";
4
+ /**
5
+ * ONE shared finding-dedup core. There is no auditor-dedup vs remediator-dedup —
6
+ * there is one skeleton (group-by-primary-path → pairwise cross-lens compare →
7
+ * similarity gate → survivor selection → absorb), and each orchestrator DRAWS it
8
+ * with its own POLICY. Audit draws it read-only for the report (mutate survivors
9
+ * in place, grounding-precedence merge, cross-category merge allowed at a higher
10
+ * threshold); remediate draws it for the auto-apply block machine (clone survivors,
11
+ * hard category gate, exact-identity short-circuit, a mergeMap its blocks consume).
12
+ * Single-sourcing the skeleton is what stops the two from silently drifting on the
13
+ * grouping / thresholds / survivor rule; the divergences are the explicit named
14
+ * policy knobs below, not forked code.
15
+ */
16
+ /**
17
+ * Consistent lens/category text normalization for BOTH draws (trim + lowercase).
18
+ * Deliberate one-core convergence: audit already trimmed; remediate's former inline
19
+ * copy lowercased WITHOUT trimming. Trimming is strictly safer for the hard category
20
+ * gate — it can only collapse surrounding whitespace, never fuse two genuinely
21
+ * different category NAMES, so a whitespace-typo can no longer bypass same-category
22
+ * dedup. Kept as one normalization (not a policy knob) because the no-trim was an
23
+ * accident, not a policy.
24
+ */
25
+ function normalizeText(value) {
26
+ return (value ?? "").trim().toLowerCase();
27
+ }
28
+ /**
29
+ * Merge two grounding verdicts by precedence: grounded > refuted > ungrounded >
30
+ * absent (S7). Grounded-wins (a verified span/anchor on ANY pass upgrades the
31
+ * survivor; an ungrounded/absent verdict never downgrades it). A refutation
32
+ * outranks ungrounded/absent, so a finding refuted on any pass is quarantined
33
+ * UNLESS another pass grounded it.
34
+ */
35
+ export function mergeGrounding(existing, incoming) {
36
+ const rank = (g) => g?.status === "grounded" ? 3 : g?.status === "refuted" ? 2 : g?.status === "ungrounded" ? 1 : 0;
37
+ const winner = rank(incoming) > rank(existing) ? incoming : existing;
38
+ // Normalize a grounded winner to the bare verdict (grounded carries no reason).
39
+ return winner?.status === "grounded" ? { status: "grounded" } : winner;
40
+ }
41
+ /**
42
+ * Union `absorbed`'s affected_files into `survivor` (dedup by
43
+ * path:line_start:line_end:symbol), optionally sorting by path then line. Shared by
44
+ * the absorb mechanics AND audit's identity-key exact merge (`upsertFinding`).
45
+ */
46
+ export function mergeAffectedFiles(survivor, absorbed, sort) {
47
+ const seen = new Set(survivor.affected_files.map((f) => `${f.path}:${f.line_start ?? ""}:${f.line_end ?? ""}:${f.symbol ?? ""}`));
48
+ for (const file of absorbed.affected_files) {
49
+ const key = `${file.path}:${file.line_start ?? ""}:${file.line_end ?? ""}:${file.symbol ?? ""}`;
50
+ if (!seen.has(key)) {
51
+ survivor.affected_files.push(file);
52
+ seen.add(key);
53
+ }
54
+ }
55
+ if (sort) {
56
+ survivor.affected_files.sort((a, b) => a.path.localeCompare(b.path) || (a.line_start ?? 0) - (b.line_start ?? 0));
57
+ }
58
+ }
59
+ /**
60
+ * Merge `absorbed` INTO `survivor` in place: union affected_files + evidence,
61
+ * systemic OR, longest summary; optionally grounding-precedence + sort. The caller
62
+ * decides whether `survivor` is an original (mutate) or a clone (never-mutate).
63
+ * Shared by the cross-lens core AND audit's same-lens pass.
64
+ */
65
+ export function absorbFinding(survivor, absorbed, opts) {
66
+ mergeAffectedFiles(survivor, absorbed, opts.sortAffectedFiles);
67
+ survivor.evidence = [
68
+ ...new Set([...(survivor.evidence ?? []), ...(absorbed.evidence ?? [])]),
69
+ ];
70
+ survivor.systemic = Boolean(survivor.systemic || absorbed.systemic);
71
+ if (opts.mergeGrounding) {
72
+ survivor.grounding = mergeGrounding(survivor.grounding, absorbed.grounding);
73
+ }
74
+ if (absorbed.summary.length > survivor.summary.length) {
75
+ survivor.summary = absorbed.summary;
76
+ }
77
+ }
78
+ /**
79
+ * The shared finding-identity signature, but only when DISCRIMINATING enough to
80
+ * stand alone as an exact-match key. A structural-anchor signature with empty
81
+ * scope (`anchor|<path>|`) means only "same file" — too coarse to collapse two
82
+ * findings by itself — so we return null and let the fuzzy layer refine it.
83
+ */
84
+ function discriminatingIdentityKey(finding) {
85
+ const key = findingIdentityKey(finding);
86
+ if (key.startsWith("anchor|") && key.endsWith("|"))
87
+ return null;
88
+ return key;
89
+ }
90
+ /**
91
+ * Collapse cross-lens duplicate findings within each primary-path group. Only pairs
92
+ * of DIFFERENT lenses are considered (same-lens dedup is a separate pass); the
93
+ * winner by severity-then-confidence absorbs the loser's files/evidence. All policy
94
+ * divergence between the two orchestrators is expressed through `policy`.
95
+ */
96
+ export function crossLensDedupe(findings, policy) {
97
+ const groups = new Map();
98
+ for (const finding of findings) {
99
+ const key = primaryPath(finding);
100
+ const group = groups.get(key);
101
+ if (group)
102
+ group.push(finding);
103
+ else
104
+ groups.set(key, [finding]);
105
+ }
106
+ const removed = new Set();
107
+ const mergeMap = new Map();
108
+ /**
109
+ * Maps each source survivor to its cloned merged copy (clone mode only), so the
110
+ * caller's original Finding objects are never mutated and repeated merges into the
111
+ * same survivor accumulate on one clone.
112
+ */
113
+ const cloneOf = new Map();
114
+ const absorbOpts = {
115
+ mergeGrounding: policy.mergeGrounding,
116
+ sortAffectedFiles: policy.sortAffectedFiles,
117
+ };
118
+ for (const group of groups.values()) {
119
+ if (group.length < 2)
120
+ continue;
121
+ for (let i = 0; i < group.length; i++) {
122
+ if (removed.has(group[i]))
123
+ continue;
124
+ for (let j = i + 1; j < group.length; j++) {
125
+ if (removed.has(group[j]))
126
+ continue;
127
+ const a = group[i];
128
+ const b = group[j];
129
+ if (normalizeText(a.lens) === normalizeText(b.lens))
130
+ continue;
131
+ const catMatch = normalizeText(a.category) === normalizeText(b.category);
132
+ // Hard category gate applies ahead of BOTH the exact-match and fuzzy layers.
133
+ if (policy.categoryGate === "hard" && !catMatch)
134
+ continue;
135
+ let matched = false;
136
+ if (policy.exactIdentityShortCircuit) {
137
+ const keyA = discriminatingIdentityKey(a);
138
+ const keyB = discriminatingIdentityKey(b);
139
+ matched = keyA !== null && keyA === keyB;
140
+ }
141
+ if (!matched) {
142
+ const titleSim = wordJaccard(a.title, b.title);
143
+ const threshold = policy.categoryGate === "soft" ? (catMatch ? 0.4 : 0.5) : 0.4;
144
+ if (titleSim < threshold)
145
+ continue;
146
+ if (filePathOverlap(a, b) < 0.5)
147
+ continue;
148
+ }
149
+ const aSev = severityRank(a.severity);
150
+ const bSev = severityRank(b.severity);
151
+ const aConf = confidenceRank(a.confidence);
152
+ const bConf = confidenceRank(b.confidence);
153
+ const keepA = aSev > bSev || (aSev === bSev && aConf >= bConf);
154
+ const originalSurvivor = keepA ? a : b;
155
+ const absorbed = keepA ? b : a;
156
+ let survivor;
157
+ if (policy.survivorMutation === "clone") {
158
+ survivor =
159
+ cloneOf.get(originalSurvivor) ?? {
160
+ ...originalSurvivor,
161
+ affected_files: [...originalSurvivor.affected_files],
162
+ evidence: originalSurvivor.evidence ? [...originalSurvivor.evidence] : [],
163
+ };
164
+ if (!cloneOf.has(originalSurvivor)) {
165
+ cloneOf.set(originalSurvivor, survivor);
166
+ // Point the group slot at the clone so future pairs refer to it.
167
+ group[keepA ? i : j] = survivor;
168
+ }
169
+ }
170
+ else {
171
+ survivor = originalSurvivor;
172
+ }
173
+ absorbFinding(survivor, absorbed, absorbOpts);
174
+ removed.add(absorbed);
175
+ mergeMap.set(absorbed.id, survivor.id);
176
+ policy.onMerge?.({ absorbed, survivor });
177
+ // If the i-slot finding was just absorbed (!keepA), stop the inner loop.
178
+ if (policy.breakOnAbsorbedSurvivor && !keepA)
179
+ break;
180
+ }
181
+ }
182
+ }
183
+ return {
184
+ findings: findings.filter((f) => !removed.has(f)).map((f) => cloneOf.get(f) ?? f),
185
+ mergeMap,
186
+ };
187
+ }
188
+ /**
189
+ * File-independent finding identity for exact re-emission collapse: the same logical
190
+ * finding (normalized lens + category + title) re-emitted across files / units /
191
+ * passes shares one key. Distinct from `findingIdentityKey` (the 3-tier structural-
192
+ * anchor ladder) — this is the coarse lens|category|title exact key the identity
193
+ * upsert collapses on. Cross-file merging happens ONLY on this exact equality; the
194
+ * fuzzy same/cross-lens passes stay grouped by primary path so distinct problems in
195
+ * different units never collapse on mere similarity.
196
+ */
197
+ export function findingReEmissionKey(finding) {
198
+ return [
199
+ normalizeText(finding.lens),
200
+ normalizeText(finding.category),
201
+ normalizeText(finding.title),
202
+ ].join("|");
203
+ }
204
+ function lineRangeOverlaps(a, b) {
205
+ const aFile = a.affected_files[0];
206
+ const bFile = b.affected_files[0];
207
+ if (!aFile || !bFile)
208
+ return false;
209
+ if (aFile.path !== bFile.path)
210
+ return false;
211
+ const aStart = aFile.line_start ?? 0;
212
+ const aEnd = aFile.line_end ?? aStart;
213
+ const bStart = bFile.line_start ?? 0;
214
+ const bEnd = bFile.line_end ?? bStart;
215
+ if (aEnd === 0 && bEnd === 0)
216
+ return true;
217
+ return aStart <= bEnd && bStart <= aEnd;
218
+ }
219
+ /**
220
+ * Same-lens dedup: within each (lens, primary-path) group, collapse fuzzily-similar
221
+ * findings (title Jaccard with a category-lowered threshold, plus line-range OR file
222
+ * overlap), the higher sev/conf survivor absorbing the loser in place with grounding-
223
+ * precedence + sorted files. A core capability only audit currently draws (remediate
224
+ * consumes findings the auditor already collapsed), single-sourced here so the whole
225
+ * finding-dedup family lives in one place.
226
+ */
227
+ export function sameLensDedupe(findings) {
228
+ const groups = new Map();
229
+ for (const finding of findings) {
230
+ const key = `${normalizeText(finding.lens)}:${primaryPath(finding)}`;
231
+ const group = groups.get(key);
232
+ if (group)
233
+ group.push(finding);
234
+ else
235
+ groups.set(key, [finding]);
236
+ }
237
+ const removed = new Set();
238
+ for (const group of groups.values()) {
239
+ if (group.length < 2)
240
+ continue;
241
+ for (let i = 0; i < group.length; i++) {
242
+ if (removed.has(group[i]))
243
+ continue;
244
+ for (let j = i + 1; j < group.length; j++) {
245
+ if (removed.has(group[j]))
246
+ continue;
247
+ const a = group[i];
248
+ const b = group[j];
249
+ const titleSim = wordJaccard(a.title, b.title);
250
+ const catMatch = normalizeText(a.category) === normalizeText(b.category);
251
+ const threshold = catMatch ? 0.35 : 0.45;
252
+ if (titleSim < threshold)
253
+ continue;
254
+ if (!lineRangeOverlaps(a, b) && filePathOverlap(a, b) < 0.5)
255
+ continue;
256
+ const aSev = severityRank(a.severity);
257
+ const bSev = severityRank(b.severity);
258
+ const aConf = confidenceRank(a.confidence);
259
+ const bConf = confidenceRank(b.confidence);
260
+ const keepA = aSev > bSev || (aSev === bSev && aConf >= bConf);
261
+ const [survivor, absorbed] = keepA ? [a, b] : [b, a];
262
+ absorbFinding(survivor, absorbed, { mergeGrounding: true, sortAffectedFiles: true });
263
+ removed.add(absorbed);
264
+ }
265
+ }
266
+ }
267
+ return findings.filter((f) => !removed.has(f));
268
+ }
269
+ /**
270
+ * Insert a finding into an identity-keyed map, or absorb it into the existing finding
271
+ * of the same re-emission identity (`findingReEmissionKey`): affected_files + evidence
272
+ * union, severity / confidence ESCALATE to the maximum rank seen, `systemic` ORs,
273
+ * impact / likelihood backfill, longest summary wins. (Audit's exact re-emission
274
+ * collapse — remediate has no identity-key merge today.)
275
+ */
276
+ export function upsertFindingByIdentity(merged, finding) {
277
+ const key = findingReEmissionKey(finding);
278
+ const existing = merged.get(key);
279
+ if (!existing) {
280
+ merged.set(key, {
281
+ ...finding,
282
+ affected_files: [...finding.affected_files],
283
+ evidence: [...(finding.evidence ?? [])],
284
+ });
285
+ return;
286
+ }
287
+ if (severityRank(finding.severity) > severityRank(existing.severity)) {
288
+ existing.severity = finding.severity;
289
+ }
290
+ if (confidenceRank(finding.confidence) > confidenceRank(existing.confidence)) {
291
+ existing.confidence = finding.confidence;
292
+ }
293
+ existing.systemic = Boolean(existing.systemic || finding.systemic);
294
+ existing.grounding = mergeGrounding(existing.grounding, finding.grounding);
295
+ existing.impact = existing.impact ?? finding.impact;
296
+ existing.likelihood = existing.likelihood ?? finding.likelihood;
297
+ existing.summary =
298
+ existing.summary.length >= finding.summary.length ? existing.summary : finding.summary;
299
+ mergeAffectedFiles(existing, finding, true);
300
+ existing.evidence = [
301
+ ...new Set([...(existing.evidence ?? []), ...(finding.evidence ?? [])]),
302
+ ];
303
+ }
304
+ //# sourceMappingURL=dedupe.js.map