sc-elections-mcp 0.5.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -2
- package/dist/api/ethics-client.d.ts +27 -0
- package/dist/api/ethics-client.js +161 -8
- package/dist/api/ethics-client.js.map +1 -1
- package/dist/data/sc-counties.d.ts +46 -0
- package/dist/data/sc-counties.js +442 -0
- package/dist/data/sc-counties.js.map +1 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/parsers/candidate-search.js +2 -1
- package/dist/parsers/candidate-search.js.map +1 -1
- package/dist/tools/campaign.js +3 -3
- package/dist/tools/campaign.js.map +1 -1
- package/dist/tools/cross-reference.d.ts +45 -0
- package/dist/tools/cross-reference.js +185 -0
- package/dist/tools/cross-reference.js.map +1 -0
- package/dist/tools/overlap.js +56 -10
- package/dist/tools/overlap.js.map +1 -1
- package/dist/tools/search.js +114 -37
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/vrems.js +30 -10
- package/dist/tools/vrems.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -13,11 +13,25 @@ MCP server for South Carolina elections data. Combines two public data sources i
|
|
|
13
13
|
|
|
14
14
|
## Installation
|
|
15
15
|
|
|
16
|
+
### Claude Desktop (easiest)
|
|
17
|
+
|
|
18
|
+
1. Download **[sc-elections-mcp.mcpb](https://github.com/asreynolds1000/sc-elections-mcp/releases/latest/download/sc-elections-mcp.mcpb)**
|
|
19
|
+
2. Double-click the file
|
|
20
|
+
3. Click **Install**
|
|
21
|
+
|
|
22
|
+
That's it. Try asking: *"Who has filed to run for Governor in South Carolina?"*
|
|
23
|
+
|
|
24
|
+
### Claude Code
|
|
25
|
+
|
|
16
26
|
```bash
|
|
17
|
-
# Claude Code
|
|
18
27
|
claude mcp add sc-elections -- npx -y sc-elections-mcp
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Manual config
|
|
31
|
+
|
|
32
|
+
Add to your `claude_desktop_config.json`:
|
|
19
33
|
|
|
20
|
-
|
|
34
|
+
```json
|
|
21
35
|
{
|
|
22
36
|
"mcpServers": {
|
|
23
37
|
"sc-elections": {
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import type { EthicsFiler, FilerProfile, CampaignSummary, CampaignReport, CampaignReportDetails, CampaignContribution, CampaignExpenditure, CampaignContext, ContributionSummary, ExpenditureSummary, NormalizedOffice, GroupedFiler, CrossSearchExpenditure, CrossSearchContribution, SeiReport, SeiDetails, OfficeFilerResult } from '../types.js';
|
|
2
2
|
export declare function searchFilers(name: string): Promise<EthicsFiler[]>;
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a candidate by first + last name, with optional county/city hint for disambiguation.
|
|
5
|
+
* Returns the candidateFilerId for the best match, or an error message.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveByName(firstName: string, lastName: string, county?: string): Promise<{
|
|
8
|
+
candidateFilerId: number;
|
|
9
|
+
candidateName: string;
|
|
10
|
+
} | {
|
|
11
|
+
error: string;
|
|
12
|
+
}>;
|
|
3
13
|
export declare function getFilerProfile(candidateFilerId: number, seiFilerId: number): Promise<FilerProfile>;
|
|
4
14
|
export declare function dedupeKey(filer: EthicsFiler): string;
|
|
5
15
|
/** @internal — exported for testing */
|
|
6
16
|
export declare function isTestAccount(filer: EthicsFiler): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Token-based office name matching. All query tokens must appear as exact words
|
|
19
|
+
* in at least one comma-separated segment of the text. "Other Office" segments
|
|
20
|
+
* are ignored. Order-independent: "House District 13" matches "District 13 House".
|
|
21
|
+
*/
|
|
22
|
+
export declare function tokenMatch(query: string, text: string): boolean;
|
|
7
23
|
export declare function searchFilersByOffice(officeName: string, activeSince?: number): Promise<OfficeFilerResult>;
|
|
24
|
+
export declare function searchFilersByCounty(countyName: string, activeSince?: number): Promise<OfficeFilerResult>;
|
|
8
25
|
export declare function groupFilersByPerson(filers: EthicsFiler[]): GroupedFiler[];
|
|
9
26
|
export declare function listOfficeNames(keyword?: string): Promise<string[]>;
|
|
10
27
|
/** Try to resolve a candidate's display name when summary.name is null */
|
|
@@ -16,9 +33,19 @@ export declare function getContributions(campaignId: number, candidateFilerId: n
|
|
|
16
33
|
export declare function getExpenditures(campaignId: number, candidateFilerId: number): Promise<CampaignExpenditure[]>;
|
|
17
34
|
export declare function cachedGetCampaignSummary(candidateFilerId: number): Promise<CampaignSummary>;
|
|
18
35
|
export declare function normalizeOfficeName(raw: string): NormalizedOffice;
|
|
36
|
+
/**
|
|
37
|
+
* Enrich an array of GroupedFiler objects with campaign data (balance, status, campaignId).
|
|
38
|
+
* Mutates in-place — callers must pass the same reference they later read from.
|
|
39
|
+
* Batches 6 at a time, capped at 50 total enrichments.
|
|
40
|
+
* @param officeMatcher — if provided, tokenMatch-filters campaign offices before picking best match (list_filers_by_office behavior). When omitted, picks any open campaign or the first one.
|
|
41
|
+
* @returns true if enrichment was capped (grouped.length > 50)
|
|
42
|
+
* @internal — exported for testing
|
|
43
|
+
*/
|
|
44
|
+
export declare function enrichGroupedFilersWithCampaignData(grouped: GroupedFiler[], officeMatcher?: string): Promise<boolean>;
|
|
19
45
|
export declare function resolveCampaignContext(summary: CampaignSummary, candidateFilerId: number, campaignId?: number, officeHint?: string, candidateNameOverride?: string): {
|
|
20
46
|
context: CampaignContext;
|
|
21
47
|
resolvedCampaignId: number;
|
|
48
|
+
resolvedFilerId: number;
|
|
22
49
|
} | {
|
|
23
50
|
error: string;
|
|
24
51
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { extractCountyFromAddress, extractCountyFromOfficeName } from '../data/sc-counties.js';
|
|
1
2
|
const BASE = 'https://ethicsfiling.sc.gov/api';
|
|
2
3
|
const HEADERS = {
|
|
3
4
|
'Content-Type': 'application/json',
|
|
@@ -28,6 +29,57 @@ export async function searchFilers(name) {
|
|
|
28
29
|
populateFilerIdCache(results);
|
|
29
30
|
return results;
|
|
30
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve a candidate by first + last name, with optional county/city hint for disambiguation.
|
|
34
|
+
* Returns the candidateFilerId for the best match, or an error message.
|
|
35
|
+
*/
|
|
36
|
+
export async function resolveByName(firstName, lastName, county) {
|
|
37
|
+
const results = await searchFilers(lastName);
|
|
38
|
+
// Only exact last-name matches with a valid candidateFilerId
|
|
39
|
+
const candidates = results.filter(r => r.percentageAccuracy === 1 && r.candidateFilerId > 0);
|
|
40
|
+
// Match first name against "Last, First ..." format
|
|
41
|
+
const firstLower = firstName.toLowerCase();
|
|
42
|
+
const nameMatches = candidates.filter(r => {
|
|
43
|
+
const parts = r.candidate.split(',');
|
|
44
|
+
if (parts.length < 2)
|
|
45
|
+
return false;
|
|
46
|
+
const first = parts[1].trim().split(/\s+/)[0].toLowerCase();
|
|
47
|
+
return first === firstLower || first.startsWith(firstLower) || firstLower.startsWith(first);
|
|
48
|
+
});
|
|
49
|
+
if (nameMatches.length === 0) {
|
|
50
|
+
return { error: `No filer found matching "${firstName} ${lastName}". Try searching by last name only with search_filers.` };
|
|
51
|
+
}
|
|
52
|
+
// Deduplicate by universalUserId (consolidated accounts)
|
|
53
|
+
const seen = new Set();
|
|
54
|
+
const unique = nameMatches.filter(r => {
|
|
55
|
+
const key = r.universalUserId > 0 ? r.universalUserId : r.candidateFilerId;
|
|
56
|
+
if (seen.has(key))
|
|
57
|
+
return false;
|
|
58
|
+
seen.add(key);
|
|
59
|
+
return true;
|
|
60
|
+
});
|
|
61
|
+
if (unique.length === 1) {
|
|
62
|
+
return { candidateFilerId: unique[0].candidateFilerId, candidateName: unique[0].candidate };
|
|
63
|
+
}
|
|
64
|
+
// Multiple matches — try county/city disambiguation
|
|
65
|
+
if (county) {
|
|
66
|
+
const countyLower = county.toLowerCase();
|
|
67
|
+
const countyMatches = unique.filter(r => r.address.toLowerCase().includes(countyLower) ||
|
|
68
|
+
r.officeName.toLowerCase().includes(countyLower));
|
|
69
|
+
if (countyMatches.length === 1) {
|
|
70
|
+
return { candidateFilerId: countyMatches[0].candidateFilerId, candidateName: countyMatches[0].candidate };
|
|
71
|
+
}
|
|
72
|
+
if (countyMatches.length > 1) {
|
|
73
|
+
return pickMostRecent(countyMatches);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// No county or county didn't help — pick most recently active
|
|
77
|
+
return pickMostRecent(unique);
|
|
78
|
+
}
|
|
79
|
+
function pickMostRecent(filers) {
|
|
80
|
+
const sorted = [...filers].sort((a, b) => parseDate(b.lastSubmission) - parseDate(a.lastSubmission));
|
|
81
|
+
return { candidateFilerId: sorted[0].candidateFilerId, candidateName: sorted[0].candidate };
|
|
82
|
+
}
|
|
31
83
|
export async function getFilerProfile(candidateFilerId, seiFilerId) {
|
|
32
84
|
const response = await fetch(`${BASE}/Candidate/Campaign/Get/Personal/Profile`, {
|
|
33
85
|
method: 'POST',
|
|
@@ -131,11 +183,33 @@ async function sweepAllFilers() {
|
|
|
131
183
|
sweepCache = { allResults, failed, timestamp: Date.now() };
|
|
132
184
|
return { allResults, failed };
|
|
133
185
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
186
|
+
/**
|
|
187
|
+
* Token-based office name matching. All query tokens must appear as exact words
|
|
188
|
+
* in at least one comma-separated segment of the text. "Other Office" segments
|
|
189
|
+
* are ignored. Order-independent: "House District 13" matches "District 13 House".
|
|
190
|
+
*/
|
|
191
|
+
export function tokenMatch(query, text) {
|
|
192
|
+
if (!query || !text)
|
|
193
|
+
return false;
|
|
194
|
+
const queryTokens = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
195
|
+
if (queryTokens.length === 0)
|
|
196
|
+
return false;
|
|
197
|
+
// Split on commas into segments, filter out standalone "Other Office"
|
|
198
|
+
const segments = text.split(',')
|
|
199
|
+
.map(s => s.trim().toLowerCase())
|
|
200
|
+
.filter(s => s && s !== 'other office');
|
|
201
|
+
for (const segment of segments) {
|
|
202
|
+
const segmentWords = segment.split(/\s+/).filter(Boolean);
|
|
203
|
+
if (queryTokens.every(token => segmentWords.includes(token))) {
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Shared helper: filter by activeSince year, deduplicate, and sort by most recent.
|
|
211
|
+
*/
|
|
212
|
+
function filterAndDedupFilers(matching, activeSince) {
|
|
139
213
|
// Filter by active_since year
|
|
140
214
|
const activeSinceFiltered = activeSince
|
|
141
215
|
? matching.filter(f => {
|
|
@@ -155,7 +229,29 @@ export async function searchFilersByOffice(officeName, activeSince) {
|
|
|
155
229
|
}
|
|
156
230
|
}
|
|
157
231
|
// Sort by most recent submission descending
|
|
158
|
-
|
|
232
|
+
return [...seen.values()].sort((a, b) => parseDate(b.lastSubmission) - parseDate(a.lastSubmission));
|
|
233
|
+
}
|
|
234
|
+
export async function searchFilersByOffice(officeName, activeSince) {
|
|
235
|
+
const { allResults, failed } = await sweepAllFilers();
|
|
236
|
+
const matching = allResults.filter(f => tokenMatch(officeName, f.officeName || ''));
|
|
237
|
+
const filers = filterAndDedupFilers(matching, activeSince);
|
|
238
|
+
return { filers, totalSearched: 26, totalFailed: failed };
|
|
239
|
+
}
|
|
240
|
+
export async function searchFilersByCounty(countyName, activeSince) {
|
|
241
|
+
const { allResults, failed } = await sweepAllFilers();
|
|
242
|
+
const countyLower = countyName.toLowerCase();
|
|
243
|
+
const matching = allResults.filter(f => {
|
|
244
|
+
// Match 1: county name in office name (word-boundary)
|
|
245
|
+
const officeCounty = extractCountyFromOfficeName(f.officeName || '');
|
|
246
|
+
if (officeCounty?.toLowerCase() === countyLower)
|
|
247
|
+
return true;
|
|
248
|
+
// Match 2: city in address maps to this county
|
|
249
|
+
const addressCounty = extractCountyFromAddress(f.address || '');
|
|
250
|
+
if (addressCounty?.toLowerCase() === countyLower)
|
|
251
|
+
return true;
|
|
252
|
+
return false;
|
|
253
|
+
});
|
|
254
|
+
const filers = filterAndDedupFilers(matching, activeSince);
|
|
159
255
|
return { filers, totalSearched: 26, totalFailed: failed };
|
|
160
256
|
}
|
|
161
257
|
export function groupFilersByPerson(filers) {
|
|
@@ -283,6 +379,13 @@ export async function cachedGetCampaignSummary(candidateFilerId) {
|
|
|
283
379
|
campaignSummaryCache.set(candidateFilerId, { data, timestamp: Date.now() });
|
|
284
380
|
return data;
|
|
285
381
|
}
|
|
382
|
+
// Used by normalizeOfficeName (and enrichGroupedFilersWithCampaignData via normalizeOfficeName)
|
|
383
|
+
const STATE_BODIES = new Set(['Governor', 'Lt Governor', 'Attorney General', 'Secretary of State',
|
|
384
|
+
'Comptroller General', 'State Treasurer', 'Superintendent of Education', 'State House',
|
|
385
|
+
'State Senate', 'Solicitor']);
|
|
386
|
+
const COUNTY_BODIES = new Set(['County Council', 'Sheriff', 'Probate Judge', 'Auditor',
|
|
387
|
+
'Coroner', 'Clerk of Court', 'School Board']);
|
|
388
|
+
const CITY_BODIES = new Set(['City Council', 'Mayor']);
|
|
286
389
|
export function normalizeOfficeName(raw) {
|
|
287
390
|
if (!raw)
|
|
288
391
|
return { raw, normalized: raw };
|
|
@@ -323,6 +426,16 @@ export function normalizeOfficeName(raw) {
|
|
|
323
426
|
break;
|
|
324
427
|
}
|
|
325
428
|
}
|
|
429
|
+
// Compute jurisdiction tier from body
|
|
430
|
+
let jurisdictionTier;
|
|
431
|
+
if (body) {
|
|
432
|
+
if (STATE_BODIES.has(body))
|
|
433
|
+
jurisdictionTier = 'state';
|
|
434
|
+
else if (COUNTY_BODIES.has(body))
|
|
435
|
+
jurisdictionTier = 'county';
|
|
436
|
+
else if (CITY_BODIES.has(body))
|
|
437
|
+
jurisdictionTier = 'city';
|
|
438
|
+
}
|
|
326
439
|
// Build normalized name
|
|
327
440
|
let normalized = raw
|
|
328
441
|
.replace(/^Other\s+Office,?\s*/i, '')
|
|
@@ -341,7 +454,7 @@ export function normalizeOfficeName(raw) {
|
|
|
341
454
|
else if (!body) {
|
|
342
455
|
normalized = raw;
|
|
343
456
|
}
|
|
344
|
-
return { raw, normalized, district, body };
|
|
457
|
+
return { raw, normalized, district, body, jurisdictionTier };
|
|
345
458
|
}
|
|
346
459
|
function extractDistrictNumber(text) {
|
|
347
460
|
const m = text.match(/District\s+(\d+)/i) ||
|
|
@@ -349,6 +462,45 @@ function extractDistrictNumber(text) {
|
|
|
349
462
|
text.match(/Seat\s+(\d+)/i);
|
|
350
463
|
return m?.[1];
|
|
351
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Enrich an array of GroupedFiler objects with campaign data (balance, status, campaignId).
|
|
467
|
+
* Mutates in-place — callers must pass the same reference they later read from.
|
|
468
|
+
* Batches 6 at a time, capped at 50 total enrichments.
|
|
469
|
+
* @param officeMatcher — if provided, tokenMatch-filters campaign offices before picking best match (list_filers_by_office behavior). When omitted, picks any open campaign or the first one.
|
|
470
|
+
* @returns true if enrichment was capped (grouped.length > 50)
|
|
471
|
+
* @internal — exported for testing
|
|
472
|
+
*/
|
|
473
|
+
export async function enrichGroupedFilersWithCampaignData(grouped, officeMatcher) {
|
|
474
|
+
const ENRICH_CAP = 50;
|
|
475
|
+
const BATCH_SIZE = 6;
|
|
476
|
+
const toEnrich = grouped.slice(0, ENRICH_CAP);
|
|
477
|
+
for (let i = 0; i < toEnrich.length; i += BATCH_SIZE) {
|
|
478
|
+
const batch = toEnrich.slice(i, i + BATCH_SIZE);
|
|
479
|
+
await Promise.allSettled(batch.map(async (gf) => {
|
|
480
|
+
const summary = await cachedGetCampaignSummary(gf.candidateFilerId);
|
|
481
|
+
const allOffices = [
|
|
482
|
+
...summary.openReports.map(r => ({ ...r, status: 'open' })),
|
|
483
|
+
...summary.closedReports.map(r => ({ ...r, status: 'closed' })),
|
|
484
|
+
];
|
|
485
|
+
gf.normalizedOffice = normalizeOfficeName(gf.offices[0]?.officeName || '');
|
|
486
|
+
let match;
|
|
487
|
+
if (officeMatcher) {
|
|
488
|
+
const matches = allOffices.filter(o => tokenMatch(officeMatcher, o.officeName));
|
|
489
|
+
match = matches.find(o => o.status === 'open') || matches[0];
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
match = allOffices.find(o => o.status === 'open') || allOffices[0];
|
|
493
|
+
}
|
|
494
|
+
if (match) {
|
|
495
|
+
gf.primaryOfficeName = match.officeName;
|
|
496
|
+
gf.campaignStatus = match.status;
|
|
497
|
+
gf.balance = match.balance;
|
|
498
|
+
gf.campaignId = match.officeId;
|
|
499
|
+
}
|
|
500
|
+
}));
|
|
501
|
+
}
|
|
502
|
+
return grouped.length > ENRICH_CAP;
|
|
503
|
+
}
|
|
352
504
|
export function resolveCampaignContext(summary, candidateFilerId, campaignId, officeHint, candidateNameOverride) {
|
|
353
505
|
const allOffices = [
|
|
354
506
|
...summary.openReports.map(r => ({ ...r, status: 'open' })),
|
|
@@ -361,10 +513,11 @@ export function resolveCampaignContext(summary, candidateFilerId, campaignId, of
|
|
|
361
513
|
candidateName,
|
|
362
514
|
officeName: office.officeName,
|
|
363
515
|
campaignId: office.officeId,
|
|
364
|
-
candidateFilerId,
|
|
516
|
+
candidateFilerId: office.filerId,
|
|
365
517
|
campaignStatus: office.status,
|
|
366
518
|
},
|
|
367
519
|
resolvedCampaignId: office.officeId,
|
|
520
|
+
resolvedFilerId: office.filerId,
|
|
368
521
|
};
|
|
369
522
|
}
|
|
370
523
|
function officeListError(offices) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethics-client.js","sourceRoot":"","sources":["../../src/api/ethics-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ethics-client.js","sourceRoot":"","sources":["../../src/api/ethics-client.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAE9F,MAAM,IAAI,GAAG,iCAAiC,CAAA;AAE9C,MAAM,OAAO,GAAG;IACd,cAAc,EAAE,kBAAkB;IAClC,QAAQ,EAAE,kBAAkB;CAC7B,CAAA;AAED,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,uEAAuE;AACvE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;AAE9C,SAAS,oBAAoB,CAAC,MAAqB;IACjD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACvC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,0CAA0C,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;IACjC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,QAAgB,EAChB,MAAe;IAEf,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;IAE5C,6DAA6D;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CACrD,CAAA;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC3D,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAA;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,4BAA4B,SAAS,IAAI,QAAQ,wDAAwD,EAAE,CAAA;IAC7H,CAAC;IAED,yDAAyD;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACpC,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAA;QAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;IAC7F,CAAC;IAED,oDAAoD;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACjD,CAAA;QACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAC3G,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,cAAc,CAAC,aAAa,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB;IAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;IACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,gBAAwB,EACxB,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,0CAA0C,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;KACvD,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/E,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAA;IACtB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAkB;IAC1C,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC;QAAE,OAAO,KAAK,KAAK,CAAC,eAAe,EAAE,CAAA;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAC5D,8DAA8D;IAC9D,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;QAAE,OAAO,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAA;IACrE,qCAAqC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACvE,OAAO,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAA;AACrC,CAAC;AAED,mEAAmE;AACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;AAQzC,IAAI,UAAU,GAAsB,IAAI,CAAA;AACxC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AAEvD,uCAAuC;AACvC,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;IACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,sDAAsD;IACtD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,IAAI,WAAW,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,+BAA+B;IAC/B,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACzE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG,CAAC,CAAA;IACpB,MAAM,UAAU,GAAG,MAAM,CAAA;IACzB,MAAM,UAAU,GAAkB,EAAE,CAAA;IACpC,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAA;YAChE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,0CAA0C,EAAE;oBAC9E,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAA;gBACF,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,OAAO,EAAE,CAAA;gBAC3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAClC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAkB,CAAA;YAC7C,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAA;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpE,sDAAsD;IACtD,eAAe,CAAC,KAAK,EAAE,CAAA;IACvB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBAC3B,IAAI,OAAO;oBAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,oBAAoB,CAAC,UAAU,CAAC,CAAA;IAEhC,iBAAiB;IACjB,UAAU,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY;IACpD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACpE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAE1C,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAA;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAuB,EAAE,WAAoB;IACzE,8BAA8B;IAC9B,MAAM,mBAAmB,GAAG,WAAW;QACrC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAClB,IAAI,CAAC,CAAC,CAAC,cAAc;gBAAE,OAAO,KAAK,CAAA;YACnC,MAAM,CAAC,EAAE,AAAD,EAAG,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9C,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAA;QAC1C,CAAC,CAAC;QACJ,CAAC,CAAC,QAAQ,CAAA;IAEZ,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAC1D,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,WAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,EAAE,CAAA;IAErD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACrC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAC3C,CAAA;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC1D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,WAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,EAAE,CAAA;IAErD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrC,sDAAsD;QACtD,MAAM,YAAY,GAAG,2BAA2B,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;QACpE,IAAI,YAAY,EAAE,WAAW,EAAE,KAAK,WAAW;YAAE,OAAO,IAAI,CAAA;QAE5D,+CAA+C;QAC/C,MAAM,aAAa,GAAG,wBAAwB,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC/D,IAAI,aAAa,EAAE,WAAW,EAAE,KAAK,WAAW;YAAE,OAAO,IAAI,CAAA;QAE7D,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC1D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAA;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC5E,IAAI,CAAC,UAAU;gBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;gBAC9C,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAA;gBAClD,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;gBACf,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,OAAO,EAAE,CAAC,WAAW,CAAC;aACvB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;AACxG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB;IACpD,2DAA2D;IAC3D,MAAM,cAAc,EAAE,CAAA;IACtB,IAAI,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,EAAE,CAAA;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QACpC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;AAE/D,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,gBAAwB;IACjE,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;QACnE,OAAO,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,gBAAwB;IAC/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,+CAA+C,gBAAgB,EAAE,EACxE,EAAE,OAAO,EAAE,OAAO,EAAE,CACrB,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACxF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,sCAAsC,EAAE;QAC1E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;KACvD,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,+CAA+C,QAAQ,EAAE,EAChE,EAAE,OAAO,EAAE,OAAO,EAAE,CACrB,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACtF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,+CAA+C,EAAE;QACnF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;YAC1C,OAAO,EAAE,IAAI;SACd,CAAC;KACH,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,8CAA8C,EAAE;QAClF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;YAC1C,OAAO,EAAE,IAAI;SACd,CAAC;KACH,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,+DAA+D;AAC/D,qCAAqC;AACrC,+DAA+D;AAE/D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAwD,CAAA;AAC5F,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,YAAY;AAE/C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,gBAAwB;IACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACzD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACvD,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC3E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,gGAAgG;AAChG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB;IAC/F,qBAAqB,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,aAAa;IACtF,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;AAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS;IACpF,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAA;AAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;AAEtD,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;IAEzC,IAAI,QAA4B,CAAA;IAChC,IAAI,IAAwB,CAAA;IAE5B,0BAA0B;IAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC9C,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC5B,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;IAED,eAAe;IACf,MAAM,YAAY,GAAuB;QACvC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;QACvC,CAAC,gBAAgB,EAAE,aAAa,CAAC;QACjC,CAAC,iBAAiB,EAAE,cAAc,CAAC;QACnC,CAAC,WAAW,EAAE,UAAU,CAAC;QACzB,CAAC,UAAU,EAAE,SAAS,CAAC;QACvB,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;QAC3C,CAAC,mBAAmB,EAAE,aAAa,CAAC;QACpC,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;QACjD,CAAC,cAAc,EAAE,qBAAqB,CAAC;QACvC,CAAC,YAAY,EAAE,iBAAiB,CAAC;QACjC,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;QAClD,CAAC,iBAAiB,EAAE,cAAc,CAAC;QACnC,CAAC,iBAAiB,EAAE,cAAc,CAAC;QACnC,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB,CAAC,kBAAkB,EAAE,eAAe,CAAC;QACrC,CAAC,UAAU,EAAE,SAAS,CAAC;QACvB,CAAC,UAAU,EAAE,SAAS,CAAC;QACvB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;KAC1C,CAAA;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAA;YACX,MAAK;QACP,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,gBAAyD,CAAA;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,gBAAgB,GAAG,OAAO,CAAA;aACjD,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,gBAAgB,GAAG,QAAQ,CAAA;aACxD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,gBAAgB,GAAG,MAAM,CAAA;IAC3D,CAAC;IAED,wBAAwB;IACxB,IAAI,UAAU,GAAG,GAAG;SACjB,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,IAAI,EAAE,CAAA;IAET,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;QACrB,kCAAkC;QAClC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAChD,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,aAAa,QAAQ,EAAE,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,GAAG,IAAI,aAAa,QAAQ,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,UAAU,GAAG,GAAG,CAAA;IAClB,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,OAAuB,EACvB,aAAsB;IAEtB,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,UAAU,GAAG,CAAC,CAAA;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;QAC/C,MAAM,OAAO,CAAC,UAAU,CACtB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAA;YACnE,MAAM,UAAU,GAAG;gBACjB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;gBACpE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC,CAAC;aACzE,CAAA;YACD,EAAE,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAA;YAC1E,IAAI,KAA8C,CAAA;YAClD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC/E,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;YAC9D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,EAAE,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAA;gBACvC,EAAE,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAA;gBAChC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;gBAC1B,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAA;YAChC,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,GAAG,UAAU,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,gBAAwB,EACxB,UAAmB,EACnB,UAAmB,EACnB,qBAA8B;IAE9B,MAAM,UAAU,GAA6D;QAC3E,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QACpE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC,CAAC;KACzE,CAAA;IAED,MAAM,aAAa,GAAG,qBAAqB,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;IAExE,SAAS,WAAW,CAAC,MAA4D;QAK/E,OAAO;YACL,OAAO,EAAE;gBACP,aAAa;gBACb,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,QAAQ;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,OAAO;gBAChC,cAAc,EAAE,MAAM,CAAC,MAAM;aAC9B;YACD,kBAAkB,EAAE,MAAM,CAAC,QAAQ;YACnC,eAAe,EAAE,MAAM,CAAC,OAAO;SAChC,CAAA;IACH,CAAC;IAED,SAAS,eAAe,CAAC,OAA0B;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5B,OAAO,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAClG,CAAA;QACD,OAAO,qFAAqF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAChH,CAAC;IAED,gDAAgD;IAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAA;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/B,OAAO,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAC/D,CAAA;YACD,OAAO;gBACL,KAAK,EAAE,eAAe,UAAU,wDAAwD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3G,CAAA;QACH,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;QACrC,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAE/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAExD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,0CAA0C;YAC1C,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,YAAY,CACrD,CAAA;gBACD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1E,CAAC;YACD,0BAA0B;YAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;YAC5D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE,CAAA;YAC1E,+DAA+D;YAC/D,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9B,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAC5F,CAAA;YACD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,+CAA+C;IACjD,CAAC;IAED,kDAAkD;IAClD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;IAE5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,4CAA4C;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvC,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAC5F,CAAA;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IAE5D,oBAAoB;IACpB,OAAO,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAA;AACnE,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;AAEvF,MAAM,UAAU,wBAAwB,CACtC,aAAqC,EACrC,OAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkD,CAAA;IACzE,MAAM,MAAM,GAAsD,EAAE,CAAA;IACpE,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,WAAW,IAAI,CAAC,CAAC,MAAM,CAAA;QACvB,IAAI,CAAC,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAE9B,qBAAqB;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAA;YAChC,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5D,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAA;QAElC,yBAAyB;QACzB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACtD,gBAAgB,IAAI,CAAC,CAAC,MAAM,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI;QAC5F,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEf,aAAa;IACb,IAAI,SAAS,GAAqC,IAAI,CAAA;IACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,SAAS,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;IACxE,CAAC;IAED,OAAO;QACL,OAAO;QACP,UAAU,EAAE,aAAa,CAAC,MAAM;QAChC,WAAW;QACX,SAAS;QACT,MAAM;QACN,gBAAgB;QAChB,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,YAAmC,EACnC,OAAwB;IAExB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkD,CAAA;IAC1E,MAAM,MAAM,GAAsD,EAAE,CAAA;IACpE,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,WAAW,IAAI,CAAC,CAAC,KAAK,CAAA;QACtB,IAAI,CAAC,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAE9B,sBAAsB;QACtB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,CAAA;YAC/B,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAA;IACnC,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI;QAC3F,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEf,aAAa;IACb,IAAI,SAAS,GAAoC,IAAI,CAAA;IACrD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,SAAS,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;IACxE,CAAC;IAED,OAAO;QACL,OAAO;QACP,UAAU,EAAE,YAAY,CAAC,MAAM;QAC/B,WAAW;QACX,SAAS;QACT,MAAM;QACN,UAAU;KACX,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAE/D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAQxC;IACC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,6DAA6D,EACpE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;YAC7C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;SAC/B,CAAC;KACH,CACF,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAOzC;IACC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,iCAAiC,EAAE;QACrE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;YAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;YAC/C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;YAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;SAC5B,CAAC;KACH,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,+DAA+D;AAC/D,uCAAuC;AACvC,+DAA+D;AAE/D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,kCAAkC,UAAU,EAAE,EACrD,EAAE,OAAO,EAAE,OAAO,EAAE,CACrB,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;QAC7B,UAAU;QACV,WAAW,EAAE,GAAG,CAAC,QAAQ;QACzB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,aAAa,EAAE,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,SAAS;QACnD,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAC,CAAA;AACL,CAAC;AAED,8DAA8D;AAC9D,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,IAAmB;IACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAA;IACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAErC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEb,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,MAAM,IAAI,GAAkB;QAC1B,UAAU;QACV,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,KAAK;KAClB,CAAA;IAED,MAAM,CACJ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,EACL,MAAM,EACN,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACtB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,OAAO,CAAC,8CAA8C,EAAE,IAAI,CAAC;QAC7D,OAAO,CAAC,6CAA6C,EAAE,IAAI,CAAC;QAC5D,OAAO,CAAC,mEAAmE,EAAE,IAAI,CAAC;QAClF,OAAO,CAAC,sEAAsE,EAAE,IAAI,CAAC;QACrF,OAAO,CAAC,oEAAoE,EAAE,IAAI,CAAC;QACnF,OAAO,CAAC,uEAAuE,EAAE,IAAI,CAAC;QACtF,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC;QACtC,OAAO,CAAC,oCAAoC,EAAE,IAAI,CAAC;QACnD,OAAO,CAAC,uCAAuC,EAAE,IAAI,CAAC;QACtD,OAAO,CAAC,wCAAwC,EAAE,IAAI,CAAC;QACvD,OAAO,CAAC,uCAAuC,EAAE,IAAI,CAAC;QACtD,OAAO,CAAC,yCAAyC,EAAE,IAAI,CAAC;QACxD,OAAO,CAAC,mDAAmD,EAAE,IAAI,CAAC;QAClE,OAAO,CAAC,mEAAmE,EAAE,IAAI,CAAC;QAClF,OAAO,CAAC,mEAAmE,EAAE,IAAI,CAAC;QAClF,OAAO,CAAC,gEAAgE,EAAE,IAAI,CAAC;QAC/E,OAAO,CAAC,qDAAqD,EAAE,IAAI,CAAC;KACrE,CAAC,CAAA;IAEF,OAAO;QACL,UAAU;QACV,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,mBAAmB;QACnB,sBAAsB;QACtB,KAAK;QACL,MAAM;QACN,mBAAmB;QACnB,SAAS;QACT,cAAc;QACd,iBAAiB;QACjB,6BAA6B;QAC7B,oBAAoB;QACpB,oBAAoB;QACpB,iBAAiB;QACjB,qBAAqB;KACtB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SC county codes, city-to-county mappings, and resolution helpers.
|
|
3
|
+
*
|
|
4
|
+
* County codes from VREMS API (hars/vrems-api-analysis.md lines 414-432).
|
|
5
|
+
* City-to-county mappings from SC Secretary of State municipal list + US Census designated places.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SC_COUNTY_CODES: Record<string, string>;
|
|
8
|
+
export declare const SC_COUNTY_NAMES: Record<string, string>;
|
|
9
|
+
/**
|
|
10
|
+
* City/town → county mapping for SC.
|
|
11
|
+
* Covers all incorporated municipalities plus major unincorporated communities
|
|
12
|
+
* for Greenville, Spartanburg, Laurens, and Greenwood counties.
|
|
13
|
+
*
|
|
14
|
+
* Source: SC Secretary of State municipal list + US Census designated places (2020).
|
|
15
|
+
*/
|
|
16
|
+
export declare const SC_CITY_TO_COUNTY: Record<string, string>;
|
|
17
|
+
/**
|
|
18
|
+
* Resolve a county name or code to a VREMS county code.
|
|
19
|
+
* Accepts "Greenville", "greenville", or "23". Returns undefined for unrecognized input.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveCountyCode(input: string): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a county name or code to a county name.
|
|
24
|
+
* Accepts "Greenville", "greenville", or "23". Returns undefined for unrecognized input.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveCountyName(input: string): string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Extract county from an Ethics API filer address.
|
|
29
|
+
*
|
|
30
|
+
* Addresses follow the pattern: "{street} {city}, SC {zip}"
|
|
31
|
+
* Examples:
|
|
32
|
+
* "1629 Bypass 72 Ne Greenwood, SC 29649"
|
|
33
|
+
* "4303 Old Buncombe Rd, Greenville, SC 29617"
|
|
34
|
+
* "Po Box 22 Reidville, SC 29375"
|
|
35
|
+
* "709 Southern Street Spartanburg, SC 29303"
|
|
36
|
+
*
|
|
37
|
+
* Returns the county name or undefined if city not in mapping.
|
|
38
|
+
*/
|
|
39
|
+
export declare function extractCountyFromAddress(address: string): string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Extract county from an Ethics Commission office name string.
|
|
42
|
+
*
|
|
43
|
+
* Uses word-boundary matching to find any of the 46 SC county names.
|
|
44
|
+
* Returns the first match, or undefined.
|
|
45
|
+
*/
|
|
46
|
+
export declare function extractCountyFromOfficeName(officeName: string): string | undefined;
|