transskill 0.2.2 â 0.2.4
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/audit/auditor.interface.d.ts +3 -14
- package/dist/audit/auditor.interface.d.ts.map +1 -1
- package/dist/audit/auditor.interface.js +5 -32
- package/dist/audit/auditor.interface.js.map +1 -1
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/index.js +14 -24
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/locale.d.ts +6 -0
- package/dist/audit/locale.d.ts.map +1 -0
- package/dist/audit/locale.js +100 -0
- package/dist/audit/locale.js.map +1 -0
- package/dist/audit/reporter/console-reporter.d.ts +1 -1
- package/dist/audit/reporter/console-reporter.d.ts.map +1 -1
- package/dist/audit/reporter/console-reporter.js +47 -88
- package/dist/audit/reporter/console-reporter.js.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { FormatType, IntermediateSkill } from '../core/types.js';
|
|
2
2
|
export type Severity = 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
3
3
|
export declare const SEVERITY_ORDER: Severity[];
|
|
4
|
-
export declare const SEVERITY_WEIGHTS: Record<Severity, number>;
|
|
5
4
|
export declare const SEVERITY_LABELS: Record<Severity, string>;
|
|
6
5
|
export interface AuditFinding {
|
|
7
6
|
id: string;
|
|
@@ -14,24 +13,12 @@ export interface AuditFinding {
|
|
|
14
13
|
recommendation?: string;
|
|
15
14
|
cwe?: string;
|
|
16
15
|
}
|
|
17
|
-
export type ScoreLevel = 'A' | 'B' | 'C' | 'D' | 'F';
|
|
18
|
-
export interface SecurityScore {
|
|
19
|
-
total: number;
|
|
20
|
-
level: ScoreLevel;
|
|
21
|
-
critical: number;
|
|
22
|
-
high: number;
|
|
23
|
-
medium: number;
|
|
24
|
-
low: number;
|
|
25
|
-
info: number;
|
|
26
|
-
}
|
|
27
|
-
export declare function computeScore(critical: number, high: number, medium: number, low: number, _info: number): SecurityScore;
|
|
28
16
|
export interface AuditReport {
|
|
29
17
|
target: string;
|
|
30
18
|
format: FormatType;
|
|
31
19
|
isDirectory: boolean;
|
|
32
20
|
findings: AuditFinding[];
|
|
33
|
-
|
|
34
|
-
summary: string;
|
|
21
|
+
severityCounts: Record<Severity, number>;
|
|
35
22
|
timestamp: string;
|
|
36
23
|
}
|
|
37
24
|
export interface Auditor {
|
|
@@ -55,5 +42,7 @@ export interface AuditOptions {
|
|
|
55
42
|
auditors?: string[];
|
|
56
43
|
/** Skip directory-level checks */
|
|
57
44
|
noDirectory?: boolean;
|
|
45
|
+
/** Output language: 'en' or 'zh' */
|
|
46
|
+
lang?: string;
|
|
58
47
|
}
|
|
59
48
|
//# sourceMappingURL=auditor.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditor.interface.d.ts","sourceRoot":"","sources":["../../src/audit/auditor.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAItE,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvE,eAAO,MAAM,cAAc,EAAE,QAAQ,EAAkD,CAAC;AAExF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"auditor.interface.d.ts","sourceRoot":"","sources":["../../src/audit/auditor.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAItE,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvE,eAAO,MAAM,cAAc,EAAE,QAAQ,EAAkD,CAAC;AAExF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAMpD,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,OAAO;IACtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IACzC,kCAAkC;IAClC,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IAClE,6DAA6D;IAC7D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAID,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1,36 +1,9 @@
|
|
|
1
1
|
export const SEVERITY_ORDER = ['critical', 'high', 'medium', 'low', 'info'];
|
|
2
|
-
export const SEVERITY_WEIGHTS = {
|
|
3
|
-
critical: 25,
|
|
4
|
-
high: 10,
|
|
5
|
-
medium: 4,
|
|
6
|
-
low: 1,
|
|
7
|
-
info: 0,
|
|
8
|
-
};
|
|
9
2
|
export const SEVERITY_LABELS = {
|
|
10
|
-
critical: '
|
|
11
|
-
high: '
|
|
12
|
-
medium: '
|
|
13
|
-
low: '
|
|
14
|
-
info: '
|
|
3
|
+
critical: 'CRIT',
|
|
4
|
+
high: 'HIGH',
|
|
5
|
+
medium: 'MED',
|
|
6
|
+
low: 'LOW',
|
|
7
|
+
info: 'INFO',
|
|
15
8
|
};
|
|
16
|
-
export function computeScore(critical, high, medium, low, _info) {
|
|
17
|
-
const raw = 100 -
|
|
18
|
-
critical * SEVERITY_WEIGHTS.critical -
|
|
19
|
-
high * SEVERITY_WEIGHTS.high -
|
|
20
|
-
medium * SEVERITY_WEIGHTS.medium -
|
|
21
|
-
low * SEVERITY_WEIGHTS.low;
|
|
22
|
-
const total = Math.max(0, Math.min(100, raw));
|
|
23
|
-
let level;
|
|
24
|
-
if (total >= 90)
|
|
25
|
-
level = 'A';
|
|
26
|
-
else if (total >= 70)
|
|
27
|
-
level = 'B';
|
|
28
|
-
else if (total >= 50)
|
|
29
|
-
level = 'C';
|
|
30
|
-
else if (total >= 30)
|
|
31
|
-
level = 'D';
|
|
32
|
-
else
|
|
33
|
-
level = 'F';
|
|
34
|
-
return { total, level, critical, high, medium, low, info: _info };
|
|
35
|
-
}
|
|
36
9
|
//# sourceMappingURL=auditor.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditor.interface.js","sourceRoot":"","sources":["../../src/audit/auditor.interface.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,cAAc,GAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"auditor.interface.js","sourceRoot":"","sources":["../../src/audit/auditor.interface.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,cAAc,GAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EACX,YAAY,EAEb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EACX,YAAY,EAEb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKtE;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,OAAO,GAAE,YAAiB;IAStC;;OAEG;IACH,UAAU,CACR,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW;IAuBd;;OAEG;IACH,cAAc,CACZ,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW;IAiCd;;OAEG;IACH,GAAG,CACD,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,WAAW;IAId;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAI3C;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,UAAO,GAAG,MAAM;IAIxD,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,WAAW;CAsCpB"}
|
package/dist/audit/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SEVERITY_ORDER } from './auditor.interface.js';
|
|
2
2
|
import { getAuditors } from './auditor-registry.js';
|
|
3
3
|
import { renderConsoleReport } from './reporter/console-reporter.js';
|
|
4
4
|
import { DirectoryScanner } from './scanner/directory-scanner.js';
|
|
5
|
+
import { t } from './locale.js';
|
|
5
6
|
/**
|
|
6
7
|
* AuditEngine â the main entry point for security auditing.
|
|
7
8
|
*
|
|
@@ -19,6 +20,7 @@ export class AuditEngine {
|
|
|
19
20
|
minSeverity: options.minSeverity ?? 'info',
|
|
20
21
|
auditors: options.auditors ?? [],
|
|
21
22
|
noDirectory: options.noDirectory ?? false,
|
|
23
|
+
lang: options.lang ?? 'en',
|
|
22
24
|
};
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
@@ -111,43 +113,31 @@ export class AuditEngine {
|
|
|
111
113
|
return filtered;
|
|
112
114
|
}
|
|
113
115
|
buildReport(findings, target, format, isDirectory) {
|
|
116
|
+
const lang = this.options.lang || 'en';
|
|
114
117
|
// Apply severity filter
|
|
115
118
|
const minIdx = SEVERITY_ORDER.indexOf(this.options.minSeverity);
|
|
116
119
|
const filtered = findings.filter((f) => {
|
|
117
120
|
const idx = SEVERITY_ORDER.indexOf(f.severity);
|
|
118
121
|
return idx <= minIdx; // higher severity = lower index
|
|
119
122
|
});
|
|
123
|
+
// Translate findings if needed
|
|
124
|
+
const translated = lang !== 'zh' ? filtered.map((f) => ({
|
|
125
|
+
...f,
|
|
126
|
+
title: t(f.title, lang),
|
|
127
|
+
description: t(f.description, lang),
|
|
128
|
+
recommendation: f.recommendation ? t(f.recommendation, lang) : undefined,
|
|
129
|
+
})) : filtered;
|
|
120
130
|
// Count by severity
|
|
121
131
|
const counts = { critical: 0, high: 0, medium: 0, low: 0, info: 0 };
|
|
122
|
-
for (const f of
|
|
132
|
+
for (const f of translated) {
|
|
123
133
|
counts[f.severity]++;
|
|
124
134
|
}
|
|
125
|
-
const score = computeScore(counts.critical, counts.high, counts.medium, counts.low, counts.info);
|
|
126
|
-
// Generate summary
|
|
127
|
-
const parts = [];
|
|
128
|
-
if (filtered.length === 0) {
|
|
129
|
-
parts.push('æĒåį°åŽå
¨éŽéĸīŧ蝎įģ§įģäŋæ');
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
if (counts.critical > 0)
|
|
133
|
-
parts.push(`åį° ${counts.critical} ä¸Ēä¸ĨééŽéĸ`);
|
|
134
|
-
if (counts.high > 0)
|
|
135
|
-
parts.push(`åį° ${counts.high} ä¸ĒéĢåąéŽéĸ`);
|
|
136
|
-
if (counts.medium > 0)
|
|
137
|
-
parts.push(`åį° ${counts.medium} ä¸Ēä¸åąéŽéĸ`);
|
|
138
|
-
if (filtered.length > 0)
|
|
139
|
-
parts.push(`å
ą ${filtered.length} 饚åį°`);
|
|
140
|
-
}
|
|
141
|
-
const hasIssues = counts.critical > 0 || counts.high > 0 || counts.medium > 0;
|
|
142
135
|
return {
|
|
143
136
|
target,
|
|
144
137
|
format,
|
|
145
138
|
isDirectory,
|
|
146
|
-
findings:
|
|
147
|
-
|
|
148
|
-
summary: hasIssues
|
|
149
|
-
? `åå¨åŽå
¨éŖéŠ (${score.level}įē§/${score.total}å) â ${parts.join('; ')}`
|
|
150
|
-
: `åŽå
¨ (${score.level}įē§/${score.total}å) â ${parts.join('; ')}`,
|
|
139
|
+
findings: translated,
|
|
140
|
+
severityCounts: counts,
|
|
151
141
|
timestamp: new Date().toISOString(),
|
|
152
142
|
};
|
|
153
143
|
}
|
package/dist/audit/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/audit/locale.ts"],"names":[],"mappings":"AAiGA;;;GAGG;AACH,wBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translation map: Chinese â English for audit findings.
|
|
3
|
+
* English is derived from context; Chinese is the source text.
|
|
4
|
+
*/
|
|
5
|
+
const ZH_TO_EN = {
|
|
6
|
+
// ââ dangerous-commands.ts ââ
|
|
7
|
+
'éåŊåŧēåļå é¤įŗģįģæ šįŽåŊæ home įŽåŊīŧå¯čŊå¯ŧč´įŗģįģå´Šæē': 'Recursive rm -rf on root or home directory, system destruction',
|
|
8
|
+
'æ ŧåŧåįŖįæäģ¤īŧå¯čŊå¯ŧč´æ°æŽæ°¸äš
ä¸ĸå¤ą': 'Disk format command, may cause permanent data loss',
|
|
9
|
+
'å
ŗæē/éå¯åŊä줿 fork bombīŧå¯å¯ŧč´æįģæåĄ': 'Shutdown/reboot command or fork bomb, denial of service',
|
|
10
|
+
'äŊŋ፠sudo æææ§čĄæäŊ': 'Sudo privilege escalation to execute commands',
|
|
11
|
+
'å°æäģļæé莞ä¸ē 777īŧäģģäŊäēēå¯č¯ģåæ§čĄīŧ': 'File permissions set to 777 (world-readable/writable/executable)',
|
|
12
|
+
'äŋŽæšæäģļææč
īŧå¯čŊå卿éæåéŖéŠ': 'File ownership change, potential privilege escalation',
|
|
13
|
+
'äģįŊįģä¸čŊŊčæŦåšļį´æĨæ§čĄīŧįŽĄéå° shellīŧīŧå
¸åįčŋį¨äģŖį æ§čĄæ¨Ąåŧ': 'Download and pipe script to shell, classic remote code execution',
|
|
14
|
+
'卿äģŖį æ§čĄåŊæ°č°į¨īŧå¯čŊčĸĢį¨äēæ§čĄäģģæäģŖį ': 'Dynamic code execution via eval/exec, arbitrary code risk',
|
|
15
|
+
'åčŋį¨ååģē/äģŖį æ§čĄč°į¨': 'Subprocess/child process creation, arbitrary command execution',
|
|
16
|
+
'PowerShell 卿äģŖį æ§čĄ': 'PowerShell dynamic code execution via Invoke-Expression',
|
|
17
|
+
'åčŋį¨ååģēīŧspawnīŧīŧå¯čŊæ§čĄäģģæåŊäģ¤': 'Subprocess creation via spawn, arbitrary command execution',
|
|
18
|
+
'éčŋ HTTP 蝎æąåå¤åéæ°æŽīŧå¯čŊį¨äēæ°æŽįĒå': 'HTTP request sending data externally, potential data exfiltration',
|
|
19
|
+
'äŊŋ፠netcat åģēįĢįŊįģčŋæĨīŧå¯čĸĢį¨äēåå shell ææ°æŽįĒå': 'Netcat network connection, possible reverse shell or data exfiltration',
|
|
20
|
+
'č¯ģå SSH į§éĨãäģ¤įæį¯åĸåéæäģļīŧå¯čŊå¯ŧč´å蝿ŗé˛': 'Reading SSH private keys, tokens, or env files, credential leak risk',
|
|
21
|
+
'å SSH é
įŊŽįŽåŊåå
Ĩå
厚īŧå¯čŊåŽčŖ
å鍿äš
å': 'Writing to SSH config directory, possible backdoor persistence',
|
|
22
|
+
'åŧēåᅪé git åå˛īŧå¯čŊčĻįčŋį¨åæ¯': 'Force push git history, may overwrite remote branches',
|
|
23
|
+
'äŋŽæš git å蝿፿ˇé
įŊŽ': 'Modifying git credentials or user configuration',
|
|
24
|
+
'åŧį¨į¯åĸåéä¸įææäŋĄæ¯īŧAPI KeyãTokenãå¯į īŧ': 'Referencing sensitive env variables (API Key, Token, Password)',
|
|
25
|
+
'export åŊäģ¤ä¸å
åĢįäŧŧ Token/Key įéŋåįŦĻ串': 'Export command with long string resembling a token/key',
|
|
26
|
+
'čĒå¨åå¸ npm å
īŧå¯čŊå¯ŧč´æå¤åå¸': 'Auto-publish npm package, may cause accidental release',
|
|
27
|
+
'React åąéŠ HTML æ¸˛æīŧå¯čŊå¯ŧč´ XSS': 'React dangerouslySetInnerHTML, potential XSS vulnerability',
|
|
28
|
+
'į´æĨæäŊ DOM å¯čŊå¯ŧč´ XSS æģåģ': 'Direct DOM manipulation may lead to XSS attacks',
|
|
29
|
+
// ââ prompt-injection.ts ââ
|
|
30
|
+
'å°č¯čĻį/åŋŊįĨįŗģįģæäģ¤īŧå
¸åį prompt æŗ¨å
Ĩæ¨Ąåŧ': 'Attempt to override/ignore system instructions, typical prompt injection',
|
|
31
|
+
'æ¨Ąæįŗģįģįē§æäģ¤čĻįīŧå¯čŊæ¯æļææŗ¨å
Ĩ': 'Simulated system-level instruction override, possible malicious injection',
|
|
32
|
+
'å°č¯"éæž"AI įēĻæīŧå
¸å jailbreak æ¨Ąåŧ': 'Attempt to bypass AI constraints, classic jailbreak pattern',
|
|
33
|
+
'č¯åžæ¸
é¤ AI ä¸ä¸ææčްåŋ': 'Attempt to clear AI context or memory',
|
|
34
|
+
'åŧį¨åˇ˛įĨ jailbreak č§č˛īŧåĻ DAN/Developer Modeīŧ': 'References known jailbreak persona (e.g. DAN/Developer Mode)',
|
|
35
|
+
'č¯åžæåįŗģįģæį¤ēč¯īŧå¯čŊæ¯äŋĄæ¯æļéčĄä¸ē': 'Attempt to extract system prompt, possible information gathering',
|
|
36
|
+
'äŊŋį¨į´§æĨ/éčĻ蝿ąåŧå¯ŧ AI čĄä¸ēīŧįģåå
ļä쿍ĄåŧæļéŖéŠæ´éĢīŧ': 'Using urgent/important language to influence AI behavior (higher risk when combined with other patterns)',
|
|
37
|
+
// ââ suspicious-urls.ts ââ
|
|
38
|
+
'æäģ¤ä¸å
åĢį´æĨ IP å°åį HTTP 蝎æąīŧå¯čŊæåæļææåĄå¨': 'Direct IP address in HTTP request, may point to malicious server',
|
|
39
|
+
'åŧ፿įŊå°åīŧ.onion/.i2pīŧīŧå¯čŊčŽŋéŽéæŗå
厚': 'References darknet address (.onion/.i2p), may access illegal content',
|
|
40
|
+
'åŧ፿æŦåäēĢįŊįĢīŧå
厚ä¸å¯čŋŊč¸Ēä¸å¯čŊéčæļæčŊŊčˇ': 'References paste site, content is untraceable and may hide malicious payload',
|
|
41
|
+
'åŧ፠GitHub ä¸įčæŦæäģļīŧéįĄŽčŽ¤æĨæēæ¯åĻå¯äŋĄ': 'References GitHub-hosted script file, verify source trustworthiness',
|
|
42
|
+
'æäģ¤ä¸å
åĢ data: URI éŋ base64 å
厚īŧå¯čŊéčæļæčŊŊčˇ': 'Data URI with long base64 content, may hide malicious payload',
|
|
43
|
+
// ââ instruction-scanner.ts (encoding checks) ââ
|
|
44
|
+
'Base64 č§Ŗį åæ§čĄīŧå¯čŊéčæļææäģ¤': 'Base64 decode then execute, may hide malicious instructions',
|
|
45
|
+
'寚 base64 įŧį å
åŽšč§Ŗį åæ§čĄīŧå¯čŊį¨äēéčæļæčŊŊčˇ': 'Decoding then executing base64 content, may be used to hide malicious payload',
|
|
46
|
+
'æäģ¤ä¸å
åĢéŋ base64 įŧį åįŦĻ串': 'Instruction contains long base64-encoded string',
|
|
47
|
+
'įäŧŧįŧį æˇˇæˇīŧå¯čŊéčæļæčŊŊčˇ': 'Suspected encoding obfuscation, may hide malicious payload',
|
|
48
|
+
// ââ permission-scanner.ts ââ
|
|
49
|
+
'alwaysApply å
¨åąįææ čå´éåļ': 'alwaysApply active globally with no scope restrictions',
|
|
50
|
+
'č§å莞įŊŽä¸ē alwaysApplyīŧå
¨åąåēį¨īŧä¸æĒæåŽ globs čå´īŧäŧåŊąåæææäģļæäŊ': 'Rule set to alwaysApply with no globs scope, affects all file operations',
|
|
51
|
+
'alwaysApply č§å globs čå´čŋåŽŊ': 'alwaysApply rule has overly broad globs scope',
|
|
52
|
+
'č§åäŊį¨äēæææäģļ (**/*)īŧåģē莎įŧŠå°čå´': 'Rule applies to all files (**/*), consider narrowing scope',
|
|
53
|
+
'globs čå´čŋåŽŊ': 'Globs scope is too broad',
|
|
54
|
+
'MCP tool å¯čŊæåąéŠæäŊ': 'MCP tool may perform dangerous operations',
|
|
55
|
+
'įæčŋ°æåį§°æį¤ēå¯čŊæ§čĄįŗģįģåŊä줿åąéŠæäŊ': ' description or name suggests system command execution or dangerous operations',
|
|
56
|
+
'MCP tool æļåæäģļįŗģįģæäŊ': 'MCP tool involves filesystem operations',
|
|
57
|
+
'å¯čŊč¯ģåæäģļįŗģįģ': 'may read/write filesystem',
|
|
58
|
+
'MCP tool æļåįŊįģčŽŋéŽ': 'MCP tool involves network access',
|
|
59
|
+
'å¯čŊåčĩˇįŊįģ蝎æą': 'may initiate network requests',
|
|
60
|
+
'MCP server äŊŋį¨åąéŠåŊäģ¤': 'MCP server uses dangerous command',
|
|
61
|
+
'MCP server 莞įŊŽä¸ēæ§čĄ': 'MCP server is configured to execute',
|
|
62
|
+
'Claude skill įĻį¨ä翍Ąåč°į¨': 'Claude skill has model invocation disabled',
|
|
63
|
+
'disableModelInvocation ä¸ē trueīŧč¯Ĩ skill ä¸äŧč§Ļå Claude æ¨Ąåč°į¨': 'disableModelInvocation is true, this skill will not trigger Claude model calls',
|
|
64
|
+
// ââ mcp-scanner.ts ââ
|
|
65
|
+
'MCP é
įŊŽæĒč§Ŗæåēįģæåæ°æŽ': 'MCP configuration did not parse into structured data',
|
|
66
|
+
'æäģļčĸĢč¯åĢä¸ē mcp.json äŊæĒæååēåˇĨå
ˇåæåĄå¨äŋĄæ¯': 'File identified as mcp.json but no tool or server info extracted',
|
|
67
|
+
'æčŋ°ä¸å
åĢ prompt æŗ¨å
Ĩ': ' description contains prompt injection',
|
|
68
|
+
'æčŋ°ä¸å
åĢå¯įå
ŗéŽč¯': ' description contains suspicious keywords',
|
|
69
|
+
'Tool shadowing': 'Tool shadowing',
|
|
70
|
+
'åŧį¨äēå
ļäģ tool': ' references another tool',
|
|
71
|
+
'įæčŋ°ä¸æå°äēå
ļäģ tool': "'s description references another tool",
|
|
72
|
+
'čŋå¯čŊæ¯ä¸ä¸Ē tool shadowing æģåģīŧæļæ server č¯åžčĻįæå𞿰åĻä¸åˇĨå
ˇįåŗį': 'This may be a tool shadowing attack; a malicious server may be trying to override another tool\'s decisions',
|
|
73
|
+
'å¯čŊæ´é˛ agent äēä¸å¯äŋĄå
厚': ' may expose agent to untrusted content',
|
|
74
|
+
'Tool æčŋ°æį¤ēč¯ĨåˇĨå
ˇäŧčˇåå¤é¨æ°æŽ': 'Tool description suggests it fetches external data',
|
|
75
|
+
'čŽŋéŽæææ°æŽéĸå': ' accesses sensitive data domain',
|
|
76
|
+
'æļå': ' involves',
|
|
77
|
+
'æ°æŽīŧčŋäēæ°æŽčŋå
Ĩ AI ä¸ä¸æåå¯čŊéčŋ prompt æŗ¨å
Ĩæŗé˛': ' data that could leak via prompt injection when in AI context',
|
|
78
|
+
// ââ directory-scanner.ts ââ
|
|
79
|
+
'scripts/ ä¸å
åĢįäŧŧäēčŋåļææˇˇæˇæäģļ': 'scripts/ may contain binary or obfuscated files',
|
|
80
|
+
'å
åĢäēčŋåļå
厚īŧå¯čŊæ¯æå
įæļæčŊŊčˇ': ' contains binary content, possibly a bundled malicious payload',
|
|
81
|
+
'æ æŗč¯ģåčæŦæäģļ': 'Cannot read script file',
|
|
82
|
+
'æ æŗäŊä¸ēææŦč¯ģåīŧå¯čŊæ¯äēčŋåļæäģļ': ' cannot be read as text, may be binary',
|
|
83
|
+
'įŽåŊä¸å
åĢæææäģļ': 'Directory contains sensitive file',
|
|
84
|
+
'įŽåŊä¸å
åĢéčæäģļ': 'Directory contains hidden file',
|
|
85
|
+
'æ¯éčæäģļīŧå¯čŊæ æä¸å
åĢå¨ skill ä¸': ' is a hidden file, may have been unintentionally included',
|
|
86
|
+
'įŦĻåˇéžæĨéé¸å° skill įŽåŊå¤': 'Symbolic link escapes the skill directory',
|
|
87
|
+
'æ¯ä¸ä¸ĒįŦĻåˇéžæĨīŧæåįŽåŊå¤į莝åž': ' is a symbolic link pointing outside the directory',
|
|
88
|
+
'æäģļåŧį¨å¤é¨ URL åšļå¯čŊæ§čĄ': 'File references external URL with potential execution',
|
|
89
|
+
'ä¸å
åĢ curl/wget å¤é¨ URL įæäģ¤': ' contains curl/wget external URL instructions',
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Translate a Chinese string to English if a translation exists.
|
|
93
|
+
* Falls back to the original string if no translation is found.
|
|
94
|
+
*/
|
|
95
|
+
export function t(zh, lang) {
|
|
96
|
+
if (lang === 'zh' || lang === 'zh-CN')
|
|
97
|
+
return zh;
|
|
98
|
+
return ZH_TO_EN[zh] ?? zh;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/audit/locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AuditReport } from '../auditor.interface.js';
|
|
2
|
-
/** Render findings
|
|
2
|
+
/** Render findings in clean one-line-per-finding format */
|
|
3
3
|
export declare function renderConsoleReport(report: AuditReport): string;
|
|
4
4
|
//# sourceMappingURL=console-reporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-reporter.d.ts","sourceRoot":"","sources":["../../../src/audit/reporter/console-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"console-reporter.d.ts","sourceRoot":"","sources":["../../../src/audit/reporter/console-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,yBAAyB,CAAC;AAiCnF,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsC/D"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { SEVERITY_LABELS } from '../auditor.interface.js';
|
|
2
1
|
const COLORS = {
|
|
3
2
|
critical: '\x1b[1;31m', // bold red
|
|
4
|
-
high: '\x1b[33m', // yellow
|
|
3
|
+
high: '\x1b[33m', // yellow
|
|
5
4
|
medium: '\x1b[93m', // bright yellow
|
|
6
5
|
low: '\x1b[32m', // green
|
|
7
6
|
info: '\x1b[36m', // cyan
|
|
@@ -9,99 +8,59 @@ const COLORS = {
|
|
|
9
8
|
const RESET = '\x1b[0m';
|
|
10
9
|
const BOLD = '\x1b[1m';
|
|
11
10
|
const DIM = '\x1b[2m';
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
const EN_LABELS = {
|
|
12
|
+
critical: 'CRIT',
|
|
13
|
+
high: 'HIGH',
|
|
14
|
+
medium: 'MED',
|
|
15
|
+
low: 'LOW',
|
|
16
|
+
info: 'INFO',
|
|
17
|
+
};
|
|
18
|
+
const ZH_LABELS = {
|
|
19
|
+
critical: 'ä¸Ĩé',
|
|
20
|
+
high: 'éĢåą',
|
|
21
|
+
medium: 'ä¸åą',
|
|
22
|
+
low: 'äŊåą',
|
|
23
|
+
info: 'äŋĄæ¯',
|
|
24
|
+
};
|
|
25
|
+
function isChinese(report) {
|
|
26
|
+
return report.findings.length > 0 && /[\u4e00-\u9fff]/.test(report.findings[0].title);
|
|
27
|
+
}
|
|
28
|
+
/** Render findings in clean one-line-per-finding format */
|
|
19
29
|
export function renderConsoleReport(report) {
|
|
20
30
|
const lines = [];
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
lines.push(padCenter(` Format: ${report.format}${report.isDirectory ? ' (directory)' : ''}`, width));
|
|
29
|
-
lines.push(formatSeparator('â', width, HEADER_BG, HEADER_FG));
|
|
30
|
-
lines.push('');
|
|
31
|
-
// ââ Group findings by filePath ââ
|
|
32
|
-
const grouped = groupBy(report.findings, (f) => f.filePath);
|
|
33
|
-
for (const [filePath, findings] of Object.entries(grouped)) {
|
|
34
|
-
lines.push(` ${BOLD}đ ${filePath}${RESET}`);
|
|
35
|
-
lines.push('');
|
|
36
|
-
for (const finding of findings) {
|
|
37
|
-
const color = COLORS[finding.severity];
|
|
38
|
-
const label = SEVERITY_LABELS[finding.severity];
|
|
39
|
-
const loc = finding.lineNumber ? ` (line ${finding.lineNumber})` : '';
|
|
40
|
-
lines.push(` ${color}${finding.id}${RESET} ${BOLD}${finding.title}${RESET}${loc}`);
|
|
41
|
-
if (finding.snippet) {
|
|
42
|
-
lines.push(` ${GRAY}â ${finding.snippet}${RESET}`);
|
|
43
|
-
}
|
|
44
|
-
if (finding.recommendation) {
|
|
45
|
-
lines.push(` ${GRAY}đĄ ${finding.recommendation}${RESET}`);
|
|
46
|
-
}
|
|
47
|
-
lines.push('');
|
|
48
|
-
}
|
|
31
|
+
const zh = isChinese(report);
|
|
32
|
+
const labels = zh ? ZH_LABELS : EN_LABELS;
|
|
33
|
+
for (const finding of report.findings) {
|
|
34
|
+
const color = COLORS[finding.severity];
|
|
35
|
+
const label = labels[finding.severity];
|
|
36
|
+
const loc = finding.lineNumber ? `:${finding.lineNumber}` : '';
|
|
37
|
+
lines.push(`${finding.filePath}${loc} ${color}${label}${RESET} ${BOLD}${finding.id}${RESET} ${finding.title}`);
|
|
49
38
|
}
|
|
50
|
-
//
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
39
|
+
// Summary line
|
|
40
|
+
const counts = report.severityCounts;
|
|
41
|
+
const total = report.findings.length;
|
|
42
|
+
const parts = [];
|
|
43
|
+
const sevLabels = zh
|
|
44
|
+
? { critical: 'ä¸Ĩé', high: 'éĢåą', medium: 'ä¸åą', low: 'äŊåą', info: 'äŋĄæ¯' }
|
|
45
|
+
: { critical: 'critical', high: 'high', medium: 'medium', low: 'low', info: 'info' };
|
|
46
|
+
if (counts.critical > 0)
|
|
47
|
+
parts.push(`${counts.critical} ${sevLabels.critical}`);
|
|
48
|
+
if (counts.high > 0)
|
|
49
|
+
parts.push(`${counts.high} ${sevLabels.high}`);
|
|
50
|
+
if (counts.medium > 0)
|
|
51
|
+
parts.push(`${counts.medium} ${sevLabels.medium}`);
|
|
52
|
+
if (counts.low > 0)
|
|
53
|
+
parts.push(`${counts.low} ${sevLabels.low}`);
|
|
54
|
+
if (counts.info > 0)
|
|
55
|
+
parts.push(`${counts.info} ${sevLabels.info}`);
|
|
63
56
|
lines.push('');
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
lines.push(formatLine('đĄ Medium', score.medium, totalWidth));
|
|
67
|
-
lines.push(formatLine('đĸ Low', score.low, totalWidth));
|
|
68
|
-
lines.push(formatLine('âšī¸ Info', score.info, totalWidth));
|
|
69
|
-
// Summary
|
|
70
|
-
if (score.level === 'A' || score.level === 'B') {
|
|
71
|
-
lines.push('');
|
|
72
|
-
lines.push(` ${GREEN_BG} â
${report.summary} ${RESET}`);
|
|
57
|
+
if (total === 0) {
|
|
58
|
+
lines.push(`${DIM}${zh ? 'æĒåį°éŽéĸ' : 'No findings.'}${RESET}`);
|
|
73
59
|
}
|
|
74
60
|
else {
|
|
75
|
-
|
|
76
|
-
lines.push(
|
|
61
|
+
const noun = zh ? 'ä¸ĒéŽéĸ' : ` finding${total !== 1 ? 's' : ''}`;
|
|
62
|
+
lines.push(`${total}${noun}${parts.length > 0 ? ` (${parts.join(', ')})` : ''}`);
|
|
77
63
|
}
|
|
78
|
-
lines.push(formatSeparator('â', totalWidth, DIM));
|
|
79
|
-
lines.push('');
|
|
80
64
|
return lines.join('\n');
|
|
81
65
|
}
|
|
82
|
-
// ââ Helpers ââ
|
|
83
|
-
function formatLine(label, count, totalWidth) {
|
|
84
|
-
const countStr = `${count}`;
|
|
85
|
-
const padding = totalWidth - label.length - countStr.length - 4;
|
|
86
|
-
return ` ${label}${' '.repeat(Math.max(1, padding))}${countStr}`;
|
|
87
|
-
}
|
|
88
|
-
function padCenter(text, width) {
|
|
89
|
-
if (text.length >= width)
|
|
90
|
-
return text;
|
|
91
|
-
const pad = Math.floor((width - text.length) / 2);
|
|
92
|
-
return ' '.repeat(Math.max(0, pad)) + text;
|
|
93
|
-
}
|
|
94
|
-
function formatSeparator(char, width, ...styles) {
|
|
95
|
-
return styles.join('') + char.repeat(width) + RESET;
|
|
96
|
-
}
|
|
97
|
-
function groupBy(items, keyFn) {
|
|
98
|
-
const result = {};
|
|
99
|
-
for (const item of items) {
|
|
100
|
-
const key = keyFn(item);
|
|
101
|
-
if (!result[key])
|
|
102
|
-
result[key] = [];
|
|
103
|
-
result[key].push(item);
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
}
|
|
107
66
|
//# sourceMappingURL=console-reporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-reporter.js","sourceRoot":"","sources":["../../../src/audit/reporter/console-reporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console-reporter.js","sourceRoot":"","sources":["../../../src/audit/reporter/console-reporter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -363,6 +363,7 @@ program
|
|
|
363
363
|
.option('--format <type>', 'Output format: console or json', 'console')
|
|
364
364
|
.option('--quiet', 'Only show summary score')
|
|
365
365
|
.option('-v, --verbose', 'Show detailed findings')
|
|
366
|
+
.option('--lang <lang>', 'Output language: en or zh', 'en')
|
|
366
367
|
.action(async (input, options) => {
|
|
367
368
|
try {
|
|
368
369
|
const resolved = await resolveInput(input);
|
|
@@ -393,6 +394,7 @@ program
|
|
|
393
394
|
const engine = new AuditEngine({
|
|
394
395
|
minSeverity: severityMap[options.minSeverity] || 'info',
|
|
395
396
|
auditors: options.auditor,
|
|
397
|
+
lang: options.lang || 'en',
|
|
396
398
|
});
|
|
397
399
|
const report = isDirectory
|
|
398
400
|
? engine.auditDirectory(skill, resolved.localPath, resolved.localPath, input)
|
|
@@ -402,9 +404,8 @@ program
|
|
|
402
404
|
console.log(engine.reportToJson(report));
|
|
403
405
|
}
|
|
404
406
|
else if (options.quiet) {
|
|
405
|
-
const
|
|
406
|
-
console.log(
|
|
407
|
-
console.log(` ${report.summary}`);
|
|
407
|
+
const c = report.severityCounts;
|
|
408
|
+
console.log(`${report.findings.length} findings (${c.critical} crit, ${c.high} high, ${c.medium} med, ${c.low} low)`);
|
|
408
409
|
}
|
|
409
410
|
else {
|
|
410
411
|
console.log(engine.reportToString(report));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACnK,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrK,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAG3F,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,+DAA+D;AAC/D,kCAAkC;AAClC,+DAA+D;AAE/D,gBAAgB,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;AACvC,gBAAgB,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;AAEtC,cAAc,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;AACpC,cAAc,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;AACxC,cAAc,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;AAChC,cAAc,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;AACpC,cAAc,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;AACnC,cAAc,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;AAErC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;AAEnC,gBAAgB,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;AACxC,gBAAgB,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AAC5C,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;AACpC,gBAAgB,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;AACxC,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;AAEzC,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D,eAAe,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;AAC1C,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;AACzC,eAAe,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACxC,eAAe,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;AAElC,+DAA+D;AAC/D,MAAM;AACN,+DAA+D;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,wEAAwE,CAAC;KACrF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,8DAA8D,CAAC;KAC3E,cAAc,CAAC,mBAAmB,EAAE,mEAAmE,CAAC;KACxG,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;KAC9E,MAAM,CAAC,qBAAqB,EAAE,mDAAmD,CAAC;KAClF,MAAM,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;KACjE,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;KAC/D,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,eAAe,EAAE,iCAAiC,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjC,wBAAwB;QACxB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,wBAAwB;QACxB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,YAAY,GAAG,OAAO,CAAC,EAAgB,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;QAE9C,kCAAkC;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAClE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,MAAM,YAAY,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACpD,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1E,IAAI,OAAO,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAElE,IAAI,QAAQ,CAAC,OAAO;gBAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEf,kBAAkB;QAClB,IAAI,WAAW,EAAE,CAAC;YAChB,kCAAkC;YAClC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAExD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAExD,wDAAwD;YACxD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;YAC/C,CAAC;YAED,eAAe;YACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAElE,oCAAoC;YACpC,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACnD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC1D,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YACpD,CAAC;YAED,mBAAmB;YACnB,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,cAAc;YACd,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAExD,eAAe;YACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAElE,oBAAoB;YACpB,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACnD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC1D,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YACpD,CAAC;YAED,SAAS;YACT,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE/B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEtD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,UAAU;QACV,IAAI,QAAQ,CAAC,OAAO;YAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,iBAAiB,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,4DAA4D,CAAC;KACzE,cAAc,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC5E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAElE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC;QAEhC,IAAI,OAAe,CAAC;QACpB,IAAI,KAAK,CAAC;QACV,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACrG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxD,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAElE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAClH,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,2BAA2B;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;YAClD,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,uDAAuD,CAAC,CAAC;gBAClF,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,qCAAqC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,QAAQ,CAAC,OAAO;YAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC;iBACH,OAAO;CACvB,CAAC,CAAC;QACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,uBAAuB,EAAE,iDAAiD,CAAC;KAClF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/C,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,IAAI,GAAG,CAAC,UAAU;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,IAAI,GAAG,CAAC,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;YAC1E,IAAI,GAAG,CAAC,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,QAAQ,CAAC,OAAO;YAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,wBAAwB,EAAE,gEAAgE,EAAE,MAAM,CAAC;KAC1G,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,EAAE,CAAC,GAAW,EAAE,GAAa,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KAC3I,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC5C,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC5E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAElE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvF,cAAc;QACd,IAAI,KAAK,CAAC;QACV,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACrG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,YAAY;QACZ,MAAM,WAAW,GAAwB;YACvC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;SAC/E,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;YAC7B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM;YACvD,QAAQ,EAAE,OAAO,CAAC,OAAO;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;YAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAExD,SAAS;QACT,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;YAClK,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO;YAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,qBAAqB,OAAO,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|