@productbrain/cli 0.1.0-beta.6317 → 0.1.0-beta.6324
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/session-close-loop.test.js +0 -16
- package/dist/__tests__/session-close-loop.test.js.map +1 -1
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +0 -6
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/organisation.d.ts.map +1 -1
- package/dist/commands/organisation.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +2 -10
- package/dist/commands/session.js.map +1 -1
- package/dist/formatters/__tests__/session.test.js +2 -16
- package/dist/formatters/__tests__/session.test.js.map +1 -1
- package/dist/formatters/capture.d.ts +0 -5
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +0 -5
- package/dist/formatters/capture.js.map +1 -1
- package/dist/formatters/session.d.ts +0 -2
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +3 -9
- package/dist/formatters/session.js.map +1 -1
- package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -1
- package/dist/generated/routeLatencyBudget.generated.js +0 -13
- package/dist/generated/routeLatencyBudget.generated.js.map +1 -1
- package/dist/index.js +3 -104
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/authority-domains-queue.test.d.ts +0 -2
- package/dist/__tests__/authority-domains-queue.test.d.ts.map +0 -1
- package/dist/__tests__/authority-domains-queue.test.js +0 -169
- package/dist/__tests__/authority-domains-queue.test.js.map +0 -1
- package/dist/__tests__/authority-domains.test.d.ts +0 -2
- package/dist/__tests__/authority-domains.test.d.ts.map +0 -1
- package/dist/__tests__/authority-domains.test.js +0 -48
- package/dist/__tests__/authority-domains.test.js.map +0 -1
- package/dist/__tests__/capture-receipt-domain.test.d.ts +0 -2
- package/dist/__tests__/capture-receipt-domain.test.d.ts.map +0 -1
- package/dist/__tests__/capture-receipt-domain.test.js +0 -29
- package/dist/__tests__/capture-receipt-domain.test.js.map +0 -1
- package/dist/commands/authority-domains.d.ts +0 -154
- package/dist/commands/authority-domains.d.ts.map +0 -1
- package/dist/commands/authority-domains.js +0 -365
- package/dist/commands/authority-domains.js.map +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { formatAuthorityDomainProposalRun } from '../commands/authority-domains.js';
|
|
3
|
-
describe('formatAuthorityDomainProposalRun', () => {
|
|
4
|
-
it('renders dry-run proposal evidence without implying writes', () => {
|
|
5
|
-
const output = formatAuthorityDomainProposalRun({
|
|
6
|
-
runId: 'wp354-domain-proposals-test',
|
|
7
|
-
dryRun: true,
|
|
8
|
-
examined: 3,
|
|
9
|
-
audited: 1,
|
|
10
|
-
processed: 2,
|
|
11
|
-
fallbackEmitted: 0,
|
|
12
|
-
tagged: 1,
|
|
13
|
-
skipped: 1,
|
|
14
|
-
errors: 0,
|
|
15
|
-
relationsCreated: 0,
|
|
16
|
-
relationsAlreadyExisted: 0,
|
|
17
|
-
preview: [
|
|
18
|
-
{
|
|
19
|
-
sourceEntryId: 'STD-101',
|
|
20
|
-
sourceName: 'Single Source of Truth',
|
|
21
|
-
sourceCollectionSlug: 'standards',
|
|
22
|
-
sourceCanonicalKey: 'standard',
|
|
23
|
-
domainEntryId: 'DOMAIN-ARCHITECTURE',
|
|
24
|
-
domainName: 'Architecture',
|
|
25
|
-
proposedDomainSlug: 'architecture',
|
|
26
|
-
confidence: 0.91,
|
|
27
|
-
reasoning: 'Proposed architecture because the entry governs durable system design.',
|
|
28
|
-
decisionRightReason: 'Proposed architecture because the entry governs durable system design.',
|
|
29
|
-
sourceSignals: ['architecture: schema and system-boundary language'],
|
|
30
|
-
rejectedAlternatives: [
|
|
31
|
-
{ slug: 'governance', reason: 'Lower authority-right score than selected candidate.' },
|
|
32
|
-
],
|
|
33
|
-
classifierVersion: 'wp354-authority-domain-classifier-v1',
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
notes: ['Deterministic heuristic proposal generation used; no LLM call was made.'],
|
|
37
|
-
});
|
|
38
|
-
expect(output).toContain('Dry run: yes');
|
|
39
|
-
expect(output).toContain('Dry-run preview');
|
|
40
|
-
expect(output).toContain('No staging rows or graph relations were written.');
|
|
41
|
-
expect(output).toContain('STD-101 -> architecture (91%)');
|
|
42
|
-
expect(output).toContain('Source: Single Source of Truth [standards/standard]');
|
|
43
|
-
expect(output).toContain('Reason: Proposed architecture because the entry governs durable system design.');
|
|
44
|
-
expect(output).toContain('Signals: architecture: schema and system-boundary language');
|
|
45
|
-
expect(output).toContain('Rejected: governance (Lower authority-right score than selected candidate.)');
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=authority-domains.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-domains.test.js","sourceRoot":"","sources":["../../src/__tests__/authority-domains.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAEpF,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,gCAAgC,CAAC;YAC9C,KAAK,EAAE,6BAA6B;YACpC,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC;YACnB,uBAAuB,EAAE,CAAC;YAC1B,OAAO,EAAE;gBACP;oBACE,aAAa,EAAE,SAAS;oBACxB,UAAU,EAAE,wBAAwB;oBACpC,oBAAoB,EAAE,WAAW;oBACjC,kBAAkB,EAAE,UAAU;oBAC9B,aAAa,EAAE,qBAAqB;oBACpC,UAAU,EAAE,cAAc;oBAC1B,kBAAkB,EAAE,cAAc;oBAClC,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,wEAAwE;oBACnF,mBAAmB,EAAE,wEAAwE;oBAC7F,aAAa,EAAE,CAAC,mDAAmD,CAAC;oBACpE,oBAAoB,EAAE;wBACpB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sDAAsD,EAAE;qBACvF;oBACD,iBAAiB,EAAE,sCAAsC;iBAC1D;aACF;YACD,KAAK,EAAE,CAAC,yEAAyE,CAAC;SACnF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gFAAgF,CAAC,CAAC;QAC3G,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,6EAA6E,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capture-receipt-domain.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/capture-receipt-domain.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TEN-2365: capture receipt echoes the capture-time authority-domain proposal so the operator
|
|
3
|
-
* sees the entry was filed under a domain (pending ratification), per DEC-1259/1260.
|
|
4
|
-
*/
|
|
5
|
-
import { describe, it, expect } from 'vitest';
|
|
6
|
-
import { formatCaptureReceipt } from '../formatters/capture.js';
|
|
7
|
-
const base = {
|
|
8
|
-
entryId: 'STD-1',
|
|
9
|
-
name: 'Data analytics standard',
|
|
10
|
-
collection: 'standards',
|
|
11
|
-
status: 'active',
|
|
12
|
-
classification: null,
|
|
13
|
-
};
|
|
14
|
-
describe('formatCaptureReceipt — authority-domain echo (TEN-2365)', () => {
|
|
15
|
-
it('renders a pending-proposal domain line when a proposal was filed', () => {
|
|
16
|
-
const out = formatCaptureReceipt({
|
|
17
|
-
...base,
|
|
18
|
-
authorityDomain: { slug: 'data', status: 'proposal-pending' },
|
|
19
|
-
});
|
|
20
|
-
expect(out).toContain('domain: data');
|
|
21
|
-
expect(out).toMatch(/proposal pending/i);
|
|
22
|
-
expect(out).toMatch(/ratify/i);
|
|
23
|
-
});
|
|
24
|
-
it('omits the domain line when no proposal was filed', () => {
|
|
25
|
-
const out = formatCaptureReceipt(base);
|
|
26
|
-
expect(out).not.toMatch(/proposal pending/i);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
//# sourceMappingURL=capture-receipt-domain.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capture-receipt-domain.test.js","sourceRoot":"","sources":["../../src/__tests__/capture-receipt-domain.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,yBAAyB;IAC/B,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,GAAG,GAAG,oBAAoB,CAAC;YAC/B,GAAG,IAAI;YACP,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE;SAC9D,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
type Metric = {
|
|
2
|
-
status: 'measured';
|
|
3
|
-
value: number;
|
|
4
|
-
measuredAt?: number;
|
|
5
|
-
} | {
|
|
6
|
-
status: 'unmeasured';
|
|
7
|
-
reason?: string;
|
|
8
|
-
action?: string;
|
|
9
|
-
};
|
|
10
|
-
export interface AuthorityDomainReadinessResult {
|
|
11
|
-
state: string;
|
|
12
|
-
activeSource: string;
|
|
13
|
-
evidenceGap: string;
|
|
14
|
-
nextAction: string;
|
|
15
|
-
rootDomains: {
|
|
16
|
-
seededRootDomainCount: number;
|
|
17
|
-
missingRootDomains: string[];
|
|
18
|
-
missingRequiredDomainSlugs: string[];
|
|
19
|
-
legacyAliasCoverage: Record<string, boolean>;
|
|
20
|
-
graphAcyclic: boolean;
|
|
21
|
-
graphDepthValid: boolean;
|
|
22
|
-
};
|
|
23
|
-
proposals: {
|
|
24
|
-
pendingDomainTagCount: number;
|
|
25
|
-
ratifiedDomainTagCount: number;
|
|
26
|
-
rejectedDomainTagCount: number;
|
|
27
|
-
skippedDomainTagCount: number;
|
|
28
|
-
legacyUnauditedRelationCount: number;
|
|
29
|
-
invalidRelationCount: number;
|
|
30
|
-
auditedCoveragePercent: number;
|
|
31
|
-
proposeAbstainBreakdown?: {
|
|
32
|
-
decisionsAbstainedCount: number;
|
|
33
|
-
standardsAbstainedCount: number;
|
|
34
|
-
principlesAbstainedCount: number;
|
|
35
|
-
businessRulesAbstainedCount: number;
|
|
36
|
-
businessRulesEmptyDomainFallthroughCount: number;
|
|
37
|
-
};
|
|
38
|
-
eligibleGovernanceCount?: number;
|
|
39
|
-
intentionallyAbstainedCount?: number;
|
|
40
|
-
auditedEligibleCoveragePercent?: number;
|
|
41
|
-
eligibilityFloorMet?: boolean;
|
|
42
|
-
rejectionRateTrend?: number;
|
|
43
|
-
authorityDomainTrajectoryStatus?: string;
|
|
44
|
-
};
|
|
45
|
-
orient: {
|
|
46
|
-
orientFallbackCounts: Record<string, number>;
|
|
47
|
-
orientNonOverlapMetric: Metric;
|
|
48
|
-
primerByteDelta: Metric;
|
|
49
|
-
accuracySample: Metric;
|
|
50
|
-
benchmarkId?: string;
|
|
51
|
-
valueProof: {
|
|
52
|
-
state: string;
|
|
53
|
-
reason: string;
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
cutover: {
|
|
57
|
-
activated: boolean;
|
|
58
|
-
benchmarkId?: string;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
export interface AuthorityDomainBenchmarkResult {
|
|
62
|
-
benchmarkId: string;
|
|
63
|
-
nonOverlapMetric: number;
|
|
64
|
-
primerByteDelta: number;
|
|
65
|
-
domainResolutionAccuracyPercent: number;
|
|
66
|
-
fallbackVisible: boolean;
|
|
67
|
-
valueProofState: string;
|
|
68
|
-
}
|
|
69
|
-
type DomainTagProposalEvidence = {
|
|
70
|
-
stagingEntryId?: string;
|
|
71
|
-
status?: string;
|
|
72
|
-
confidence: number;
|
|
73
|
-
sourceEntryId?: string;
|
|
74
|
-
sourceName: string;
|
|
75
|
-
sourceCollectionSlug?: string;
|
|
76
|
-
sourceCanonicalKey?: string | null;
|
|
77
|
-
domainEntryId?: string;
|
|
78
|
-
domainName: string;
|
|
79
|
-
proposedDomainSlug?: string;
|
|
80
|
-
reasoning?: string;
|
|
81
|
-
decisionRightReason?: string;
|
|
82
|
-
sourceSignals?: string[];
|
|
83
|
-
rejectedAlternatives?: Array<{
|
|
84
|
-
slug: string;
|
|
85
|
-
reason: string;
|
|
86
|
-
}>;
|
|
87
|
-
classifierVersion?: string | null;
|
|
88
|
-
reviewedByPersonId?: string | null;
|
|
89
|
-
reviewNote?: string | null;
|
|
90
|
-
fallbackTier?: string | null;
|
|
91
|
-
};
|
|
92
|
-
type ProposalRunResult = {
|
|
93
|
-
runId: string;
|
|
94
|
-
dryRun: boolean;
|
|
95
|
-
examined: number;
|
|
96
|
-
audited: number;
|
|
97
|
-
processed: number;
|
|
98
|
-
tagged: number;
|
|
99
|
-
fallbackEmitted: number;
|
|
100
|
-
skipped: number;
|
|
101
|
-
errors: number;
|
|
102
|
-
relationsCreated: number;
|
|
103
|
-
relationsAlreadyExisted: number;
|
|
104
|
-
preview?: DomainTagProposalEvidence[];
|
|
105
|
-
notes?: string[];
|
|
106
|
-
};
|
|
107
|
-
export declare function formatAuthorityDomainProposalRun(result: ProposalRunResult): string;
|
|
108
|
-
export declare function runAuthorityDomainsAdd(slug: string, opts: {
|
|
109
|
-
description?: string;
|
|
110
|
-
alias?: string[];
|
|
111
|
-
pathGlob?: string[];
|
|
112
|
-
}): Promise<void>;
|
|
113
|
-
export declare function runAuthorityDomainsReadiness(): Promise<void>;
|
|
114
|
-
export declare function runAuthorityDomainsPropose(opts: {
|
|
115
|
-
dryRun?: boolean;
|
|
116
|
-
limit?: string;
|
|
117
|
-
mock?: boolean;
|
|
118
|
-
}): Promise<void>;
|
|
119
|
-
export declare function runAuthorityDomainsReview(opts: {
|
|
120
|
-
status?: string;
|
|
121
|
-
limit?: string;
|
|
122
|
-
sample?: string;
|
|
123
|
-
stratified?: boolean;
|
|
124
|
-
}): Promise<void>;
|
|
125
|
-
export declare function runAuthorityDomainsRecordSample(opts: {
|
|
126
|
-
sampleId: string;
|
|
127
|
-
runId?: string;
|
|
128
|
-
approved: string;
|
|
129
|
-
rejected: string;
|
|
130
|
-
corrected: string;
|
|
131
|
-
}): Promise<void>;
|
|
132
|
-
export declare function runAuthorityDomainsRatify(stagingEntryId: string, opts: {
|
|
133
|
-
note?: string;
|
|
134
|
-
}): Promise<void>;
|
|
135
|
-
export declare function runAuthorityDomainsQueueTag(opts: {
|
|
136
|
-
entry: string;
|
|
137
|
-
domain: string;
|
|
138
|
-
note?: string;
|
|
139
|
-
ratify?: boolean;
|
|
140
|
-
}): Promise<void>;
|
|
141
|
-
export declare function runAuthorityDomainsReject(stagingEntryId: string, opts: {
|
|
142
|
-
reason?: string;
|
|
143
|
-
}): Promise<void>;
|
|
144
|
-
export declare function runAuthorityDomainsDiscardPending(opts: {
|
|
145
|
-
reason?: string;
|
|
146
|
-
}): Promise<void>;
|
|
147
|
-
export declare function runAuthorityDomainsBenchmark(): Promise<void>;
|
|
148
|
-
export declare function runAuthorityDomainsActivateCutover(opts?: {
|
|
149
|
-
forcePreProduction?: boolean;
|
|
150
|
-
decId?: string;
|
|
151
|
-
}): Promise<void>;
|
|
152
|
-
export declare function runAuthorityDomainsPrincipleDistribution(): Promise<void>;
|
|
153
|
-
export {};
|
|
154
|
-
//# sourceMappingURL=authority-domains.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-domains.d.ts","sourceRoot":"","sources":["../../src/commands/authority-domains.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
import { getConfigOrGuide } from '../lib/config.js';
|
|
2
|
-
import { kernelCall } from '../lib/client.js';
|
|
3
|
-
import { runCliCommand } from '../lib/runner.js';
|
|
4
|
-
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
5
|
-
import { bold, dim, heading } from '../lib/style.js';
|
|
6
|
-
/**
|
|
7
|
-
* `authorityDomains.ratify`/`.reject`'s real server return is a discriminated union — a
|
|
8
|
-
* `{blocked: true, code, reason}` outcome (convex/authorityDomains.ts's
|
|
9
|
-
* `blockedReviewResult()`) alongside the success shape — but this file's local hand types
|
|
10
|
-
* only declared the success branch, so a blocked review silently rendered `undefined` for
|
|
11
|
-
* `.relationId`/`.rejected` instead of surfacing the real reason (PR #398, Lane C S3c
|
|
12
|
-
* annotation pass — a real bug, not just a typing gap). Throws a CLIError so
|
|
13
|
-
* `runCliCommand`'s existing error-formatting path (lib/runner.ts) surfaces it properly.
|
|
14
|
-
*/
|
|
15
|
-
function throwIfBlocked(result) {
|
|
16
|
-
if (result && typeof result === 'object' && 'blocked' in result && result.blocked === true) {
|
|
17
|
-
throw new CLIError(result.reason, { code: ErrorCode.VALIDATION_FAILED, category: 'validation' });
|
|
18
|
-
}
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
function formatMetric(metric, suffix = '') {
|
|
22
|
-
if (metric.status === 'measured')
|
|
23
|
-
return `${metric.value}${suffix}`;
|
|
24
|
-
return `unmeasured${metric.reason ? ` — ${metric.reason}` : ''}`;
|
|
25
|
-
}
|
|
26
|
-
function formatReadiness(result) {
|
|
27
|
-
const lines = [];
|
|
28
|
-
lines.push('');
|
|
29
|
-
lines.push(`${bold('Authority Domains')} ${dim('—')} ${bold(result.state)}`);
|
|
30
|
-
lines.push('');
|
|
31
|
-
lines.push(`Active source: ${result.activeSource}`);
|
|
32
|
-
lines.push(`Evidence gap: ${result.evidenceGap}`);
|
|
33
|
-
lines.push(`Action: ${result.nextAction}`);
|
|
34
|
-
lines.push('');
|
|
35
|
-
lines.push(heading('Seeds'));
|
|
36
|
-
lines.push(` Roots seeded: ${result.rootDomains.seededRootDomainCount}`);
|
|
37
|
-
lines.push(` Missing roots: ${result.rootDomains.missingRootDomains.join(', ') || 'none'}`);
|
|
38
|
-
lines.push(` Missing required domains: ${result.rootDomains.missingRequiredDomainSlugs.join(', ') || 'none'}`);
|
|
39
|
-
lines.push(` Graph valid: ${result.rootDomains.graphAcyclic && result.rootDomains.graphDepthValid ? 'yes' : 'no'}`);
|
|
40
|
-
lines.push('');
|
|
41
|
-
lines.push(heading('Evidence'));
|
|
42
|
-
lines.push(` Coverage: ${result.proposals.auditedCoveragePercent}% audited`);
|
|
43
|
-
lines.push(` Proposals: ${result.proposals.pendingDomainTagCount} pending, ${result.proposals.ratifiedDomainTagCount} ratified, ${result.proposals.rejectedDomainTagCount} rejected, ${result.proposals.skippedDomainTagCount} skipped`);
|
|
44
|
-
lines.push(` Relations: ${result.proposals.legacyUnauditedRelationCount} legacy-unaudited, ${result.proposals.invalidRelationCount} invalid`);
|
|
45
|
-
lines.push(` Non-overlap: ${formatMetric(result.orient.orientNonOverlapMetric, '%')}`);
|
|
46
|
-
lines.push(` Primer byte delta: ${formatMetric(result.orient.primerByteDelta)}`);
|
|
47
|
-
lines.push(` Accuracy sample: ${formatMetric(result.orient.accuracySample, '%')}`);
|
|
48
|
-
lines.push(` Value proof: ${result.orient.valueProof.state}`);
|
|
49
|
-
if (result.orient.benchmarkId)
|
|
50
|
-
lines.push(` Benchmark: ${result.orient.benchmarkId}`);
|
|
51
|
-
lines.push('');
|
|
52
|
-
lines.push(`Cutover activated: ${result.cutover.activated ? 'yes' : 'no'}`);
|
|
53
|
-
return lines.join('\n');
|
|
54
|
-
}
|
|
55
|
-
function formatBenchmark(result) {
|
|
56
|
-
return [
|
|
57
|
-
'',
|
|
58
|
-
`${bold('Authority Domain Benchmark')} ${dim('—')} ${bold(result.benchmarkId)}`,
|
|
59
|
-
'',
|
|
60
|
-
`Domain resolution accuracy: ${result.domainResolutionAccuracyPercent}%`,
|
|
61
|
-
`Non-overlap: ${result.nonOverlapMetric}%`,
|
|
62
|
-
`Primer byte delta: ${result.primerByteDelta}`,
|
|
63
|
-
`Fallback visible: ${result.fallbackVisible ? 'yes' : 'no'}`,
|
|
64
|
-
`Value proof: ${result.valueProofState}`,
|
|
65
|
-
].join('\n');
|
|
66
|
-
}
|
|
67
|
-
function truncate(text, max = 220) {
|
|
68
|
-
return `${text.slice(0, max)}${text.length > max ? '...' : ''}`;
|
|
69
|
-
}
|
|
70
|
-
function formatDomainTagEvidence(row) {
|
|
71
|
-
const confidence = Number.isFinite(row.confidence) ? `${Math.round(row.confidence * 100)}%` : 'n/a';
|
|
72
|
-
const sourceLabel = row.sourceEntryId || row.sourceName;
|
|
73
|
-
const domainLabel = row.proposedDomainSlug ?? row.domainName;
|
|
74
|
-
const stateLabel = row.status ? `${row.status}, ${confidence}` : confidence;
|
|
75
|
-
const lead = row.stagingEntryId
|
|
76
|
-
? `${row.stagingEntryId} — ${sourceLabel} -> ${domainLabel} (${stateLabel})`
|
|
77
|
-
: `${sourceLabel} -> ${domainLabel} (${stateLabel})`;
|
|
78
|
-
const lines = [lead];
|
|
79
|
-
lines.push(` Source: ${row.sourceName} [${row.sourceCollectionSlug ?? 'unknown'}${row.sourceCanonicalKey ? `/${row.sourceCanonicalKey}` : ''}]`);
|
|
80
|
-
const reason = row.decisionRightReason ?? row.reasoning;
|
|
81
|
-
if (reason)
|
|
82
|
-
lines.push(` Reason: ${truncate(reason)}`);
|
|
83
|
-
if (row.sourceSignals?.length)
|
|
84
|
-
lines.push(` Signals: ${row.sourceSignals.slice(0, 3).join('; ')}`);
|
|
85
|
-
if (row.fallbackTier)
|
|
86
|
-
lines.push(` Tier: ${row.fallbackTier}`);
|
|
87
|
-
if (row.rejectedAlternatives?.length) {
|
|
88
|
-
lines.push(` Rejected: ${row.rejectedAlternatives.slice(0, 2).map((alt) => `${alt.slug} (${alt.reason})`).join('; ')}`);
|
|
89
|
-
}
|
|
90
|
-
if (row.reviewedByPersonId || row.reviewNote) {
|
|
91
|
-
lines.push(` Review: ${row.reviewedByPersonId ?? 'unknown'}${row.reviewNote ? ` — ${row.reviewNote}` : ''}`);
|
|
92
|
-
}
|
|
93
|
-
return lines;
|
|
94
|
-
}
|
|
95
|
-
export function formatAuthorityDomainProposalRun(result) {
|
|
96
|
-
const lines = [
|
|
97
|
-
'',
|
|
98
|
-
`${bold('Authority Domain Proposal Run')} ${dim('—')} ${bold(result.runId)}`,
|
|
99
|
-
'',
|
|
100
|
-
`Dry run: ${result.dryRun ? 'yes' : 'no'}`,
|
|
101
|
-
`Examined: ${result.examined ?? 'n/a'}`,
|
|
102
|
-
`Audited (skip): ${result.audited ?? 'n/a'}`,
|
|
103
|
-
`Classified: ${result.processed}`,
|
|
104
|
-
`Tagged/proposed: ${result.tagged}`,
|
|
105
|
-
`Fallback emitted: ${result.fallbackEmitted ?? 0}`,
|
|
106
|
-
`Skipped: ${result.skipped}`,
|
|
107
|
-
`Errors: ${result.errors}`,
|
|
108
|
-
`Relations created: ${result.relationsCreated}`,
|
|
109
|
-
`Existing/duplicate: ${result.relationsAlreadyExisted}`,
|
|
110
|
-
];
|
|
111
|
-
if (result.preview?.length) {
|
|
112
|
-
lines.push('');
|
|
113
|
-
lines.push(heading('Dry-run preview'));
|
|
114
|
-
lines.push(` Showing ${result.preview.length} of ${result.tagged} candidate proposal(s). No staging rows or graph relations were written.`);
|
|
115
|
-
for (const [index, row] of result.preview.entries()) {
|
|
116
|
-
lines.push('');
|
|
117
|
-
lines.push(`${index + 1}. ${formatDomainTagEvidence(row).join('\n ')}`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (result.notes?.length) {
|
|
121
|
-
lines.push('');
|
|
122
|
-
lines.push(...result.notes.map((note) => `Note: ${note}`));
|
|
123
|
-
}
|
|
124
|
-
return lines.join('\n');
|
|
125
|
-
}
|
|
126
|
-
function cleanList(values) {
|
|
127
|
-
return Array.isArray(values)
|
|
128
|
-
? values.map((value) => value.trim()).filter((value) => value.length > 0)
|
|
129
|
-
: [];
|
|
130
|
-
}
|
|
131
|
-
export async function runAuthorityDomainsAdd(slug, opts) {
|
|
132
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsAdd(slug, opts));
|
|
133
|
-
if (!config)
|
|
134
|
-
return;
|
|
135
|
-
const aliases = cleanList(opts.alias);
|
|
136
|
-
const pathGlobs = cleanList(opts.pathGlob);
|
|
137
|
-
const description = opts.description?.trim();
|
|
138
|
-
await runCliCommand({
|
|
139
|
-
fn: () => kernelCall('authorityDomains.add', {
|
|
140
|
-
slug,
|
|
141
|
-
...(description ? { description } : {}),
|
|
142
|
-
...(aliases.length > 0 ? { aliases } : {}),
|
|
143
|
-
...(pathGlobs.length > 0 ? { pathGlobs } : {}),
|
|
144
|
-
}),
|
|
145
|
-
formatPretty: (result) => [
|
|
146
|
-
'',
|
|
147
|
-
`Created authority domain: ${result.slug}`,
|
|
148
|
-
`Entry: ${result.entryId}`,
|
|
149
|
-
`System key: ${result.systemKey}`,
|
|
150
|
-
].join('\n'),
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
export async function runAuthorityDomainsReadiness() {
|
|
154
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsReadiness());
|
|
155
|
-
if (!config)
|
|
156
|
-
return;
|
|
157
|
-
await runCliCommand({
|
|
158
|
-
fn: () => kernelCall('authorityDomains.readiness', {}),
|
|
159
|
-
formatPretty: formatReadiness,
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
export async function runAuthorityDomainsPropose(opts) {
|
|
163
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsPropose(opts));
|
|
164
|
-
if (!config)
|
|
165
|
-
return;
|
|
166
|
-
const limit = opts.limit ? Number.parseInt(opts.limit, 10) : undefined;
|
|
167
|
-
await runCliCommand({
|
|
168
|
-
// `authorityDomains.propose`'s server handler deliberately declares
|
|
169
|
-
// `Promise<Record<string, unknown>>` (convex/authorityDomains.ts) — a dynamic bridge
|
|
170
|
-
// shape, same pattern as onboarding.chat's extraction field. Cast at the boundary
|
|
171
|
-
// rather than loosen ProposalRunResult (PR #398, Lane C S3c annotation pass).
|
|
172
|
-
fn: () => kernelCall('authorityDomains.propose', {
|
|
173
|
-
dryRun: opts.dryRun ?? false,
|
|
174
|
-
...(Number.isFinite(limit) ? { limit } : {}),
|
|
175
|
-
...(opts.mock ? { mockLlm: true } : {}),
|
|
176
|
-
}),
|
|
177
|
-
formatPretty: formatAuthorityDomainProposalRun,
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
export async function runAuthorityDomainsReview(opts) {
|
|
181
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsReview(opts));
|
|
182
|
-
if (!config)
|
|
183
|
-
return;
|
|
184
|
-
const limit = opts.limit ? Number.parseInt(opts.limit, 10) : undefined;
|
|
185
|
-
const sample = opts.sample ? Number.parseInt(opts.sample, 10) : undefined;
|
|
186
|
-
await runCliCommand({
|
|
187
|
-
fn: () => kernelCall('authorityDomains.review', {
|
|
188
|
-
status: opts.status ?? 'pending',
|
|
189
|
-
...(Number.isFinite(limit) ? { limit } : {}),
|
|
190
|
-
...(Number.isFinite(sample) ? { sample } : {}),
|
|
191
|
-
...(opts.stratified ? { stratified: true } : {}),
|
|
192
|
-
}),
|
|
193
|
-
formatPretty: (rows) => {
|
|
194
|
-
const lines = ['', `${bold('Authority Domain Proposals')} ${dim('—')} ${bold(String(rows.length))}`, ''];
|
|
195
|
-
if (rows.length === 0) {
|
|
196
|
-
lines.push('No proposals found.');
|
|
197
|
-
return lines.join('\n');
|
|
198
|
-
}
|
|
199
|
-
for (const row of rows)
|
|
200
|
-
lines.push(...formatDomainTagEvidence(row));
|
|
201
|
-
return lines.join('\n');
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
export async function runAuthorityDomainsRecordSample(opts) {
|
|
206
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsRecordSample(opts));
|
|
207
|
-
if (!config)
|
|
208
|
-
return;
|
|
209
|
-
const approvedCount = Number.parseInt(opts.approved, 10);
|
|
210
|
-
const rejectedCount = Number.parseInt(opts.rejected, 10);
|
|
211
|
-
const correctedCount = Number.parseInt(opts.corrected, 10);
|
|
212
|
-
await runCliCommand({
|
|
213
|
-
fn: () => kernelCall('authorityDomains.recordSample', {
|
|
214
|
-
sampleId: opts.sampleId,
|
|
215
|
-
...(opts.runId ? { runId: opts.runId } : {}),
|
|
216
|
-
approvedCount,
|
|
217
|
-
rejectedCount,
|
|
218
|
-
correctedCount,
|
|
219
|
-
method: 'stratified',
|
|
220
|
-
}),
|
|
221
|
-
formatPretty: (result) => [
|
|
222
|
-
'',
|
|
223
|
-
`${bold('Authority Domain Sample')} ${dim('—')} ${bold(result.sampleId)}`,
|
|
224
|
-
'',
|
|
225
|
-
`Reviewed: ${result.sampleSize}`,
|
|
226
|
-
`Approved: ${result.approvedCount}`,
|
|
227
|
-
`Rejected: ${result.rejectedCount}`,
|
|
228
|
-
`Corrected: ${result.correctedCount}`,
|
|
229
|
-
`Accuracy: ${result.accuracyPercent}%`,
|
|
230
|
-
`Method: ${result.method}`,
|
|
231
|
-
].join('\n'),
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
// Must match expectedReviewConfirmation in convex/authorityDomains.ts — duplicated because
|
|
235
|
-
// CLI cannot import from convex/ (monorepo import boundary). Keep both in sync.
|
|
236
|
-
function authorityDomainReviewConfirmation(stagingEntryId) {
|
|
237
|
-
return `review authority-domain proposal ${stagingEntryId}`;
|
|
238
|
-
}
|
|
239
|
-
export async function runAuthorityDomainsRatify(stagingEntryId, opts) {
|
|
240
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsRatify(stagingEntryId, opts));
|
|
241
|
-
if (!config)
|
|
242
|
-
return;
|
|
243
|
-
await runCliCommand({
|
|
244
|
-
fn: async () => throwIfBlocked(await kernelCall('authorityDomains.ratify', {
|
|
245
|
-
stagingEntryId,
|
|
246
|
-
authorityReviewConfirmation: authorityDomainReviewConfirmation(stagingEntryId),
|
|
247
|
-
...(opts.note ? { reviewNote: opts.note } : {}),
|
|
248
|
-
})),
|
|
249
|
-
formatPretty: (result) => `\nRatified domain proposal. Relation: ${result.relationId}${result.alreadyExists ? ' (already existed)' : ''}`,
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
export async function runAuthorityDomainsQueueTag(opts) {
|
|
253
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsQueueTag(opts));
|
|
254
|
-
if (!config)
|
|
255
|
-
return;
|
|
256
|
-
await runCliCommand({
|
|
257
|
-
fn: async () => {
|
|
258
|
-
const queued = await kernelCall('authorityDomains.queueKnownTag', {
|
|
259
|
-
sourceEntryId: opts.entry,
|
|
260
|
-
domainSlug: opts.domain,
|
|
261
|
-
provenance: 'known-correct-cli',
|
|
262
|
-
...(opts.note ? { note: opts.note } : {}),
|
|
263
|
-
});
|
|
264
|
-
// queueKnownTag only ever mints a *pending* row when the proposal is genuinely new.
|
|
265
|
-
// An already-committed proposal is a ratify dead-end (ratify rejects non-pending rows
|
|
266
|
-
// with a raw error), and a previously-rejected one must surface, not silently re-queue —
|
|
267
|
-
// so only attempt ratify for a fresh pending proposal.
|
|
268
|
-
if (!opts.ratify || queued.status !== 'pending')
|
|
269
|
-
return { queued };
|
|
270
|
-
const ratified = throwIfBlocked(await kernelCall('authorityDomains.ratify', {
|
|
271
|
-
stagingEntryId: queued.stagingEntryId,
|
|
272
|
-
authorityReviewConfirmation: authorityDomainReviewConfirmation(queued.stagingEntryId),
|
|
273
|
-
...(opts.note ? { reviewNote: opts.note } : {}),
|
|
274
|
-
}));
|
|
275
|
-
return { queued, ratified };
|
|
276
|
-
},
|
|
277
|
-
formatPretty: ({ queued, ratified }) => {
|
|
278
|
-
const lines = [
|
|
279
|
-
'',
|
|
280
|
-
`Queued authority-domain tag proposal. Proposal: ${queued.stagingEntryId}`,
|
|
281
|
-
`Entry: ${queued.sourceEntryId}`,
|
|
282
|
-
`Domain: ${queued.domainSlug}`,
|
|
283
|
-
`Status: ${queued.status}`,
|
|
284
|
-
];
|
|
285
|
-
if (ratified) {
|
|
286
|
-
lines.push(`Ratified domain proposal. Relation: ${ratified.relationId}${ratified.alreadyExists ? ' (already existed)' : ''}`);
|
|
287
|
-
}
|
|
288
|
-
else if (queued.status === 'committed') {
|
|
289
|
-
lines.push(`Already ratified — no ratify needed.${queued.relationId ? ` Relation: ${queued.relationId}` : ''}`);
|
|
290
|
-
}
|
|
291
|
-
else if (queued.status === 'previously-rejected') {
|
|
292
|
-
lines.push('This tag was previously rejected. Not re-queued — review the rejection before re-asserting.');
|
|
293
|
-
}
|
|
294
|
-
return lines.join('\n');
|
|
295
|
-
},
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
export async function runAuthorityDomainsReject(stagingEntryId, opts) {
|
|
299
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsReject(stagingEntryId, opts));
|
|
300
|
-
if (!config)
|
|
301
|
-
return;
|
|
302
|
-
await runCliCommand({
|
|
303
|
-
fn: async () => throwIfBlocked(await kernelCall('authorityDomains.reject', {
|
|
304
|
-
stagingEntryId,
|
|
305
|
-
authorityReviewConfirmation: authorityDomainReviewConfirmation(stagingEntryId),
|
|
306
|
-
...(opts.reason ? { reviewNote: opts.reason } : {}),
|
|
307
|
-
})),
|
|
308
|
-
formatPretty: (result) => `\nRejected domain proposal: ${result.rejected ? 'yes' : 'no'}`,
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
// discardPending is an internal bulk operation — no per-proposal authorityReviewConfirmation required.
|
|
312
|
-
export async function runAuthorityDomainsDiscardPending(opts) {
|
|
313
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsDiscardPending(opts));
|
|
314
|
-
if (!config)
|
|
315
|
-
return;
|
|
316
|
-
await runCliCommand({
|
|
317
|
-
fn: () => kernelCall('authorityDomains.discardPending', {
|
|
318
|
-
// WP-354
|
|
319
|
-
reason: opts.reason ?? 'Discarded pending domain proposals after failed quality diagnosis.',
|
|
320
|
-
}),
|
|
321
|
-
formatPretty: (result) => `\nDiscarded pending authority-domain proposals: ${result.rejected}`,
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
export async function runAuthorityDomainsBenchmark() {
|
|
325
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsBenchmark());
|
|
326
|
-
if (!config)
|
|
327
|
-
return;
|
|
328
|
-
await runCliCommand({
|
|
329
|
-
fn: () => kernelCall('authorityDomains.benchmark', {}),
|
|
330
|
-
formatPretty: formatBenchmark,
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
|
-
export async function runAuthorityDomainsActivateCutover(opts) {
|
|
334
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsActivateCutover(opts));
|
|
335
|
-
if (!config)
|
|
336
|
-
return;
|
|
337
|
-
await runCliCommand({
|
|
338
|
-
fn: () => kernelCall('authorityDomains.activateCutover', {
|
|
339
|
-
...(opts?.forcePreProduction ? { forcePreProduction: true } : {}),
|
|
340
|
-
...(opts?.decId ? { decId: opts.decId } : {}),
|
|
341
|
-
}),
|
|
342
|
-
formatPretty: (result) => `\nAuthority-domain cutover activated: ${result.activated ? 'yes' : 'no'}${result.benchmarkId ? ` (${result.benchmarkId})` : ''}`,
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
export async function runAuthorityDomainsPrincipleDistribution() {
|
|
346
|
-
const config = await getConfigOrGuide(() => runAuthorityDomainsPrincipleDistribution());
|
|
347
|
-
if (!config)
|
|
348
|
-
return;
|
|
349
|
-
await runCliCommand({
|
|
350
|
-
fn: () => kernelCall('authorityDomains.principleDistribution', {}),
|
|
351
|
-
formatPretty: (result) => [
|
|
352
|
-
'',
|
|
353
|
-
`${bold('Principles Governance Distribution')}`,
|
|
354
|
-
'',
|
|
355
|
-
`Total active principles: ${result.total}`,
|
|
356
|
-
`Governance-matched: ${result.matched}`,
|
|
357
|
-
`Governance match rate: ${(result.governanceMatchRate * 100).toFixed(1)}%`,
|
|
358
|
-
'',
|
|
359
|
-
result.governanceMatchRate >= 0.10
|
|
360
|
-
? 'Gate PASS — principles fallback is enabled (governanceMatchRate >= 10%).'
|
|
361
|
-
: 'Gate FAIL — governanceMatchRate < 10%; principles fallback should be disabled. Capture DEC before proceeding.',
|
|
362
|
-
].join('\n'),
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
//# sourceMappingURL=authority-domains.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-domains.js","sourceRoot":"","sources":["../../src/commands/authority-domains.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAI,MAA2D;IACpF,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3F,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAsID,SAAS,YAAY,CAAC,MAAc,EAAE,MAAM,GAAG,EAAE;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;IACpE,OAAO,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,MAAsC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAChH,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,WAAW,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,sBAAsB,WAAW,CAAC,CAAC;IAC9E,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,qBAAqB,aAAa,MAAM,CAAC,SAAS,CAAC,sBAAsB,cAAc,MAAM,CAAC,SAAS,CAAC,sBAAsB,cAAc,MAAM,CAAC,SAAS,CAAC,qBAAqB,UAAU,CAAC,CAAC;IAC1O,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,4BAA4B,sBAAsB,MAAM,CAAC,SAAS,CAAC,oBAAoB,UAAU,CAAC,CAAC;IAC/I,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,wBAAwB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAClF,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACvF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,MAAsC;IAC7D,OAAO;QACL,EAAE;QACF,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QAC/E,EAAE;QACF,+BAA+B,MAAM,CAAC,+BAA+B,GAAG;QACxE,gBAAgB,MAAM,CAAC,gBAAgB,GAAG;QAC1C,sBAAsB,MAAM,CAAC,eAAe,EAAE;QAC9C,qBAAqB,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC5D,gBAAgB,MAAM,CAAC,eAAe,EAAE;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAG,GAAG,GAAG;IACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,uBAAuB,CAAC,GAA8B;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACpG,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC;IACxD,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC;IAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc;QAC7B,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,MAAM,WAAW,OAAO,WAAW,KAAK,UAAU,GAAG;QAC5E,CAAC,CAAC,GAAG,WAAW,OAAO,WAAW,KAAK,UAAU,GAAG,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,oBAAoB,IAAI,SAAS,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClJ,MAAM,MAAM,GAAG,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,SAAS,CAAC;IACxD,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,IAAI,GAAG,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,kBAAkB,IAAI,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAyB;IACxE,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5E,EAAE;QACF,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC1C,aAAa,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE;QACvC,mBAAmB,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE;QAC5C,eAAe,MAAM,CAAC,SAAS,EAAE;QACjC,oBAAoB,MAAM,CAAC,MAAM,EAAE;QACnC,qBAAqB,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE;QAClD,YAAY,MAAM,CAAC,OAAO,EAAE;QAC5B,WAAW,MAAM,CAAC,MAAM,EAAE;QAC1B,sBAAsB,MAAM,CAAC,gBAAgB,EAAE;QAC/C,uBAAuB,MAAM,CAAC,uBAAuB,EAAE;KACxD,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,MAAM,CAAC,MAAM,0EAA0E,CAAC,CAAC;QAC7I,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,MAAiB;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,IAAqE;IAC9H,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,aAAa,CAA2B;QAC5C,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAmD,sBAAsB,EAAE;YAC7F,IAAI;YACJ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC;QACF,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,EAAE;YACF,6BAA6B,MAAM,CAAC,IAAI,EAAE;YAC1C,UAAU,MAAM,CAAC,OAAO,EAAE;YAC1B,eAAe,MAAM,CAAC,SAAS,EAAE;SAClC,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAAiC;QAClD,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAyD,4BAA4B,EAAE,EAAE,CAAC;QAC9G,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAA0D;IACzG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,aAAa,CAAoB;QACrC,oEAAoE;QACpE,qFAAqF;QACrF,kFAAkF;QAClF,8EAA8E;QAC9E,EAAE,EAAE,GAAG,EAAE,CACP,UAAU,CAAuD,0BAA0B,EAAE;YAC3F,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;YAC5B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAA+B;QAClC,YAAY,EAAE,gCAAgC;KAC/C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAgF;IAC9H,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,aAAa,CAAsB;QACvC,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAsD,yBAAyB,EAAE;YACnG,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC;QACF,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,IAAiG;IACrJ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,aAAa,CAAqB;QACtC,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAA4D,+BAA+B,EAAE;YAC/G,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,aAAa;YACb,aAAa;YACb,cAAc;YACd,MAAM,EAAE,YAAY;SACrB,CAAC;QACF,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,EAAE;YACF,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACzE,EAAE;YACF,aAAa,MAAM,CAAC,UAAU,EAAE;YAChC,aAAa,MAAM,CAAC,aAAa,EAAE;YACnC,aAAa,MAAM,CAAC,aAAa,EAAE;YACnC,cAAc,MAAM,CAAC,cAAc,EAAE;YACrC,aAAa,MAAM,CAAC,eAAe,GAAG;YACtC,WAAW,MAAM,CAAC,MAAM,EAAE;SAC3B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED,2FAA2F;AAC3F,gFAAgF;AAChF,SAAS,iCAAiC,CAAC,cAAsB;IAC/D,OAAO,oCAAoC,cAAc,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,cAAsB,EAAE,IAAuB;IAC7F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAAkD;QACnE,EAAE,EAAE,KAAK,IAAI,EAAE,CACb,cAAc,CACZ,MAAM,UAAU,CAAsD,yBAAyB,EAAE;YAC/F,cAAc;YACd,2BAA2B,EAAE,iCAAiC,CAAC,cAAc,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CACH;QACH,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,yCAAyC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE;KAC1I,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAAwE;IACxH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAA8F;QAC/G,EAAE,EAAE,KAAK,IAAI,EAAE;YACb,MAAM,MAAM,GAAG,MAAM,UAAU,CAA6D,gCAAgC,EAAE;gBAC5H,aAAa,EAAE,IAAI,CAAC,KAAK;gBACzB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,mBAAmB;gBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,oFAAoF;YACpF,sFAAsF;YACtF,yFAAyF;YACzF,uDAAuD;YACvD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,cAAc,CAC7B,MAAM,UAAU,CAAsD,yBAAyB,EAAE;gBAC/F,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,2BAA2B,EAAE,iCAAiC,CAAC,MAAM,CAAC,cAAc,CAAC;gBACrF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC,CACH,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;QACD,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG;gBACZ,EAAE;gBACF,mDAAmD,MAAM,CAAC,cAAc,EAAE;gBAC1E,UAAU,MAAM,CAAC,aAAa,EAAE;gBAChC,WAAW,MAAM,CAAC,UAAU,EAAE;gBAC9B,WAAW,MAAM,CAAC,MAAM,EAAE;aAC3B,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,uCAAuC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChI,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClH,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,cAAsB,EAAE,IAAyB;IAC/F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAAwB;QACzC,EAAE,EAAE,KAAK,IAAI,EAAE,CACb,cAAc,CACZ,MAAM,UAAU,CAAsD,yBAAyB,EAAE;YAC/F,cAAc;YACd,2BAA2B,EAAE,iCAAiC,CAAC,cAAc,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CACH;QACH,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,+BAA+B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;KAC1F,CAAC,CAAC;AACL,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,IAAyB;IAC/E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAAuB;QACxC,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAA8D,iCAAiC,EAAE;YACnH,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,oEAAoE;SAC5F,CAAC;QACF,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mDAAmD,MAAM,CAAC,QAAQ,EAAE;KAC/F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAAiC;QAClD,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAyD,4BAA4B,EAAE,EAAE,CAAC;QAC9G,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,IAAuD;IAC9G,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAAsD;QACvE,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAA+D,kCAAkC,EAAE;YACrH,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC;QACF,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,yCAAyC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;KAC5J,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,wCAAwC;IAC5D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,wCAAwC,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,aAAa,CAA8B;QAC/C,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAqE,wCAAwC,EAAE,EAAE,CAAC;QACtI,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,EAAE;YACF,GAAG,IAAI,CAAC,oCAAoC,CAAC,EAAE;YAC/C,EAAE;YACF,4BAA4B,MAAM,CAAC,KAAK,EAAE;YAC1C,uBAAuB,MAAM,CAAC,OAAO,EAAE;YACvC,0BAA0B,CAAC,MAAM,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAC1E,EAAE;YACF,MAAM,CAAC,mBAAmB,IAAI,IAAI;gBAChC,CAAC,CAAC,0EAA0E;gBAC5E,CAAC,CAAC,+GAA+G;SACpH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC;AACL,CAAC"}
|