@mikeargento/bitgraph-audit 0.8.0 → 0.9.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 +4 -0
- package/dist/audit.d.ts +8 -6
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +28 -8
- package/dist/audit.js.map +1 -1
- package/dist/cli.js +38 -3
- package/dist/cli.js.map +1 -1
- package/dist/exports.d.ts +39 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +371 -0
- package/dist/exports.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +179 -19
- package/dist/ingest.js.map +1 -1
- package/dist/report-json.d.ts.map +1 -1
- package/dist/report-json.js +15 -0
- package/dist/report-json.js.map +1 -1
- package/dist/report-md.d.ts.map +1 -1
- package/dist/report-md.js +222 -0
- package/dist/report-md.js.map +1 -1
- package/dist/types.d.ts +213 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/audit.ts +30 -8
- package/src/cli.ts +38 -3
- package/src/exports.ts +478 -0
- package/src/index.ts +12 -0
- package/src/ingest.ts +192 -18
- package/src/report-json.ts +15 -0
- package/src/report-md.ts +246 -0
- package/src/types.ts +203 -2
package/README.md
CHANGED
|
@@ -6,6 +6,10 @@ The tool reports exactly what the evidence supports, nothing more. Incomplete in
|
|
|
6
6
|
|
|
7
7
|
Exactly one proof schema is supported: `bitgraph/1`. The legacy `occ/1` schema is pre-release beta data and is permanently out of scope; proof-shaped files with any other version are rejected at ingest with the stable code `unsupported-version`. All verification semantics come from `@mikeargento/bitgraph-verify` (MIT), the same verifier anyone can run against a single proof. The `bitgraph-audit` CLI runs the whole pipeline (ingest, verification tiers, causal reconstruction, anomaly classification, authority analysis, anchor identification, witness verification, temporal bounds, offline attestation validation) and writes `audit-report.json` and `audit-report.md`; `runAudit()` is the one-call library entry point, and every stage is also exported individually. See [docs/HOW-TO-AUDIT.md](https://github.com/mikeargento/bitgraph/blob/main/docs/HOW-TO-AUDIT.md) for the recipient walkthrough and [docs/BUNDLE-FORMAT.md](https://github.com/mikeargento/bitgraph/blob/main/docs/BUNDLE-FORMAT.md) for the on-disk format.
|
|
8
8
|
|
|
9
|
+
## Exports (bitgraph-export/1)
|
|
10
|
+
|
|
11
|
+
A tree/1 BitGraph travels as one JSON export beside its file. The audit finds every export in a bundle by its `format` field, checks it with `verifyExport` once for each file in the bundle it covers (by SHA-256: a member's committed bytes or original, or any leaf of the owner's export), and reports every claim with what it rests on, the covered files, and the three time claims apart: the floor, the ceiling on Base (provisional until its block is checked against Base) and the ceiling on Ethereum. The proof inside joins the chain analysis like any proof. An export with a FALSE claim fails the audit (exit 1); a claim the export does not carry never does.
|
|
12
|
+
|
|
9
13
|
## License
|
|
10
14
|
|
|
11
15
|
MIT. See LICENSE.
|
package/dist/audit.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { AuditOptions, AuditResult, ExitFlags, IngestResult } from "./types
|
|
|
8
8
|
* this equals package.json's version, so the constant cannot drift silently
|
|
9
9
|
* across releases.
|
|
10
10
|
*/
|
|
11
|
-
export declare const AUDIT_VERSION = "0.
|
|
11
|
+
export declare const AUDIT_VERSION = "0.9.0";
|
|
12
12
|
/** The audit package's own version. */
|
|
13
13
|
export declare function auditToolVersion(): string;
|
|
14
14
|
/** Options for auditIngest(): the audit options plus the run stamp. */
|
|
@@ -36,11 +36,13 @@ export declare function runAudit(bundlePath: string, options?: AuditOptions): Pr
|
|
|
36
36
|
/**
|
|
37
37
|
* Derive the CLI exit bit flags from an audit result. Semantics are
|
|
38
38
|
* documented on the ExitFlags type: bit 1 is verification failures
|
|
39
|
-
* (including unsupported-version rejections
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
39
|
+
* (including unsupported-version rejections, and any export with a FALSE
|
|
40
|
+
* claim or an export-shaped file that could not be checked), bit 2 is chain
|
|
41
|
+
* or authority anomalies, divergences between valid proofs, or anchor
|
|
42
|
+
* witness verification failures. artifact-unavailable is never a failure by
|
|
43
|
+
* itself; the attestation stage's results and informational anchor findings
|
|
44
|
+
* never set bits (an export's own attestation claims are part of its
|
|
45
|
+
* verdict); benign ingest findings never set bits.
|
|
44
46
|
*/
|
|
45
47
|
export declare function computeExitFlags(result: AuditResult): ExitFlags;
|
|
46
48
|
//# sourceMappingURL=audit.d.ts.map
|
package/dist/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,uCAAuC;AACvC,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAuDtB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAG/F;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CA0B/D"}
|
package/dist/audit.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* ingest -> verify tiers -> reconstruct -> classify anomalies ->
|
|
6
6
|
* analyze authorities -> identify anchors -> verify witnesses ->
|
|
7
|
-
* derive temporal bounds -> validate attestations
|
|
7
|
+
* derive temporal bounds -> ceilings in time -> validate attestations ->
|
|
8
|
+
* exports (bitgraph-export/1)
|
|
8
9
|
*
|
|
9
10
|
* Deterministic given the same bundle: the only wall-clock read in the
|
|
10
11
|
* entire pipeline is the runMetadata.startedAt stamp taken here. Every
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
* Zero network access, as everywhere in this package.
|
|
17
18
|
*/
|
|
18
19
|
import { verifyCeilings } from "./ceilings.js";
|
|
20
|
+
import { verifyExports } from "./exports.js";
|
|
19
21
|
import { ingestBundle } from "./ingest.js";
|
|
20
22
|
import { verifyObservedProofs } from "./verify-tiers.js";
|
|
21
23
|
import { reconstructChains } from "./reconstruct.js";
|
|
@@ -34,7 +36,7 @@ import { validateAttestations } from "./attestation.js";
|
|
|
34
36
|
* this equals package.json's version, so the constant cannot drift silently
|
|
35
37
|
* across releases.
|
|
36
38
|
*/
|
|
37
|
-
export const AUDIT_VERSION = "0.
|
|
39
|
+
export const AUDIT_VERSION = "0.9.0";
|
|
38
40
|
/** The audit package's own version. */
|
|
39
41
|
export function auditToolVersion() {
|
|
40
42
|
return AUDIT_VERSION;
|
|
@@ -62,6 +64,17 @@ export async function auditIngest(ingest, options) {
|
|
|
62
64
|
const attestations = await validateAttestations(ingest, authorities, options?.trustedRootCaDer !== undefined
|
|
63
65
|
? { trustedRootCaDer: options.trustedRootCaDer }
|
|
64
66
|
: undefined);
|
|
67
|
+
// Exports: an export's Base ceiling is held to the same writer and chain as
|
|
68
|
+
// the ceiling files, and a trust policy's measurement allowlist is the PCR0
|
|
69
|
+
// list its attestation claims are judged against, unless given explicitly.
|
|
70
|
+
const exportOptions = options?.exports ?? {};
|
|
71
|
+
const allowed = options?.trustAnchors?.allowedMeasurements;
|
|
72
|
+
const exports = await verifyExports(ingest, {
|
|
73
|
+
...exportOptions,
|
|
74
|
+
...(exportOptions.ceilingWriter === undefined && options?.ceilings?.writer !== undefined ? { ceilingWriter: options.ceilings.writer } : {}),
|
|
75
|
+
...(exportOptions.baseChainId === undefined && options?.ceilings?.chainId !== undefined ? { baseChainId: options.ceilings.chainId } : {}),
|
|
76
|
+
...(exportOptions.pcr0 === undefined && allowed !== undefined ? { pcr0: allowed } : {}),
|
|
77
|
+
});
|
|
65
78
|
return {
|
|
66
79
|
runMetadata: {
|
|
67
80
|
toolVersion: auditToolVersion(),
|
|
@@ -79,6 +92,7 @@ export async function auditIngest(ingest, options) {
|
|
|
79
92
|
temporal,
|
|
80
93
|
attestations,
|
|
81
94
|
ceilings,
|
|
95
|
+
exports,
|
|
82
96
|
};
|
|
83
97
|
}
|
|
84
98
|
/**
|
|
@@ -112,14 +126,20 @@ const WITNESS_VERIFICATION_FAILURE_CODES = new Set([
|
|
|
112
126
|
/**
|
|
113
127
|
* Derive the CLI exit bit flags from an audit result. Semantics are
|
|
114
128
|
* documented on the ExitFlags type: bit 1 is verification failures
|
|
115
|
-
* (including unsupported-version rejections
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
129
|
+
* (including unsupported-version rejections, and any export with a FALSE
|
|
130
|
+
* claim or an export-shaped file that could not be checked), bit 2 is chain
|
|
131
|
+
* or authority anomalies, divergences between valid proofs, or anchor
|
|
132
|
+
* witness verification failures. artifact-unavailable is never a failure by
|
|
133
|
+
* itself; the attestation stage's results and informational anchor findings
|
|
134
|
+
* never set bits (an export's own attestation claims are part of its
|
|
135
|
+
* verdict); benign ingest findings never set bits.
|
|
120
136
|
*/
|
|
121
137
|
export function computeExitFlags(result) {
|
|
122
|
-
|
|
138
|
+
// An export is checked as one self-contained object, like a carrier: a
|
|
139
|
+
// FALSE verdict (any FALSE claim) is a verification failure, as a bad proof
|
|
140
|
+
// is, and so is an export-shaped file the audit could not check.
|
|
141
|
+
const exportFailures = (result.exports?.checks ?? []).some((e) => e.status !== "checked" || e.verdict === "FALSE");
|
|
142
|
+
const verificationFailures = result.verification.failed > 0 || result.ingest.counts.unsupportedVersion > 0 || exportFailures;
|
|
123
143
|
const witnessVerificationFailures = result.witnesses.findings.some((f) => WITNESS_VERIFICATION_FAILURE_CODES.has(f.code));
|
|
124
144
|
// A ceiling file that is present and wrong is failed evidence, like a bad
|
|
125
145
|
// witness: bit 2. Pending, unmatched and status notes are reported, never bits.
|
package/dist/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAE9F
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -22,6 +22,7 @@ import { join, basename } from "node:path";
|
|
|
22
22
|
import { parseCarrier, verifyCarrier } from "@mikeargento/bitgraph-verify";
|
|
23
23
|
import { auditToolVersion, computeExitFlags, runAudit } from "./audit.js";
|
|
24
24
|
import { attestationTimestampMs } from "./attestation.js";
|
|
25
|
+
import { exportRunClaims } from "./exports.js";
|
|
25
26
|
import { buildJsonReport } from "./report-json.js";
|
|
26
27
|
import { buildMarkdownReport } from "./report-md.js";
|
|
27
28
|
const USAGE_EXIT_CODE = 64;
|
|
@@ -58,6 +59,14 @@ function helpText() {
|
|
|
58
59
|
"printed first.",
|
|
59
60
|
"archive. The audit runs entirely offline: no RPC, no HTTP, no DNS.",
|
|
60
61
|
"",
|
|
62
|
+
"Exports (bitgraph-export/1) anywhere in the bundle are found by their",
|
|
63
|
+
"format field. Each is checked with verifyExport once per file in the",
|
|
64
|
+
"bundle it covers (by SHA-256: a member's committed bytes or original;",
|
|
65
|
+
"for the owner's export, any leaf's), or once without a file when none",
|
|
66
|
+
"is there, and its proof joins the proof analysis. Every claim, the",
|
|
67
|
+
"covered files and the three time claims (floor; ceiling on Base,",
|
|
68
|
+
"provisional; ceiling on Ethereum) are reported, never merged.",
|
|
69
|
+
"",
|
|
61
70
|
"Options:",
|
|
62
71
|
" --out <dir> Directory to write the report files into",
|
|
63
72
|
" (default: current directory; created if missing).",
|
|
@@ -89,7 +98,12 @@ function helpText() {
|
|
|
89
98
|
" are absent from the bundle is NOT a failure by itself: its",
|
|
90
99
|
" bytes-free checks decide, unless a supplied trust policy makes",
|
|
91
100
|
" them fail (for example requireSlot), in which case it counts",
|
|
92
|
-
" here.",
|
|
101
|
+
" here. Also: an export (bitgraph-export/1) with any FALSE claim,",
|
|
102
|
+
" its attestation claims included (an export is checked as one",
|
|
103
|
+
" self-contained object, as a carrier is), or an export-shaped",
|
|
104
|
+
" file that is malformed, of an unsupported format, or too large",
|
|
105
|
+
" to read. A claim the export does not carry (NOT_CARRIED: a",
|
|
106
|
+
" pending ceiling, the covered file absent) is never a failure.",
|
|
93
107
|
" 2 Chain or authority anomalies, divergences between valid proofs,",
|
|
94
108
|
" or anchor witness verification failures: unexplained counter",
|
|
95
109
|
" positions, chain breaks, collisions, cross-kind position reuse,",
|
|
@@ -113,7 +127,8 @@ function helpText() {
|
|
|
113
127
|
"change the exit code on their own: an invalid attestation document on",
|
|
114
128
|
"an otherwise verified proof is reported without affecting the exit",
|
|
115
129
|
"code, and counts under exit bit 1 only when a supplied trust policy",
|
|
116
|
-
"made verification itself fail.",
|
|
130
|
+
"made verification itself fail. The exception is an export's own",
|
|
131
|
+
"attestation claims, which are part of the export's verdict (exit 1).",
|
|
117
132
|
].join("\n");
|
|
118
133
|
}
|
|
119
134
|
function parseArgs(argv) {
|
|
@@ -221,7 +236,7 @@ function exitMeaning(flags) {
|
|
|
221
236
|
return "clean: no verification failures, no chain anomalies, no divergences";
|
|
222
237
|
const parts = [];
|
|
223
238
|
if (flags.verificationFailures)
|
|
224
|
-
parts.push("verification failures");
|
|
239
|
+
parts.push("verification failures (a proof, or an export with a FALSE claim)");
|
|
225
240
|
if (flags.chainAnomaliesOrDivergences) {
|
|
226
241
|
parts.push("chain anomalies, divergences, or anchor witness verification failures (or a failed ceiling in time)");
|
|
227
242
|
}
|
|
@@ -366,6 +381,26 @@ async function main() {
|
|
|
366
381
|
}
|
|
367
382
|
for (const s of result.ceilings?.statuses ?? [])
|
|
368
383
|
process.stdout.write(`ceiling ${s.status} ${s.path}: ${s.note}\n`);
|
|
384
|
+
for (const e of result.exports?.checks ?? []) {
|
|
385
|
+
if (e.status !== "checked") {
|
|
386
|
+
process.stdout.write(`export NOT CHECKED ${e.path}: ${e.reason ?? e.status}\n`);
|
|
387
|
+
continue;
|
|
388
|
+
}
|
|
389
|
+
const withFile = e.runs.filter((r) => r.file !== null).length;
|
|
390
|
+
const files = e.files.length === 0 ? "no covered file in the bundle" : `${withFile} of ${e.files.length} covered file${e.files.length === 1 ? "" : "s"} checked`;
|
|
391
|
+
process.stdout.write(`export ${e.verdict} ${e.path}: ${e.kind ?? "export"}, ${files}${e.failedClaims.length > 0 ? `; FALSE: ${e.failedClaims.join(", ")}` : ""}\n`);
|
|
392
|
+
// The three time claims, one line each, never merged.
|
|
393
|
+
const t = e.times;
|
|
394
|
+
const when = (unix) => new Date(unix * 1000).toISOString();
|
|
395
|
+
const firstClaims = e.runs[0] !== undefined ? exportRunClaims(e, e.runs[0]) : e.claims;
|
|
396
|
+
const why = (id) => {
|
|
397
|
+
const c = firstClaims.find((x) => x.id === id);
|
|
398
|
+
return c ? `not established (${c.result}: ${c.detail})` : "not established";
|
|
399
|
+
};
|
|
400
|
+
process.stdout.write(` floor: ${t.floor ? `committed bytes finished after Ethereum block ${t.floor.blockNumber} (mined ${when(t.floor.blockTimestamp)})` : why("floor.header")}\n`);
|
|
401
|
+
process.stdout.write(` ceiling on Base: ${t.ceilingBase ? `existed by Base block ${t.ceilingBase.blockNumber} (${when(t.ceilingBase.blockTimestamp)})${t.ceilingBase.provisional ? ", provisional until checked against Base" : ""}` : why("ceiling.base")}\n`);
|
|
402
|
+
process.stdout.write(` ceiling on Ethereum: ${t.ceilingEthereum ? `existed by Ethereum block ${t.ceilingEthereum.blockNumber} (${when(t.ceilingEthereum.blockTimestamp)})` : why("ceiling.ethereum")}\n`);
|
|
403
|
+
}
|
|
369
404
|
process.stdout.write(`bitgraph-audit ${auditToolVersion()}: wrote ${written.join(", ")}\n` +
|
|
370
405
|
`exit ${flags.code}: ${exitMeaning(flags)}\n`);
|
|
371
406
|
return flags.code;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ExportLookups } from "@mikeargento/bitgraph-verify";
|
|
2
|
+
import type { ExportAnalysis, ExportCheck, ExportClaimRecord, ExportRun, IngestResult } from "./types.js";
|
|
3
|
+
export interface ExportAuditOptions {
|
|
4
|
+
/** Spec hashes (base64 SHA-256 of SPEC.md) to accept beyond the ones bitgraph-verify knows. */
|
|
5
|
+
extraSpecHashes?: readonly string[];
|
|
6
|
+
/** PCR0 values the reader accepts (claim attestation.pins). Without a list, PCR0 is reported, not judged. */
|
|
7
|
+
pcr0?: readonly string[];
|
|
8
|
+
/** The address an export's Base ceiling must come from. Default: BitGraph's published writer. */
|
|
9
|
+
ceilingWriter?: string;
|
|
10
|
+
/** The Base chain id for an export's ceiling. Default 8453. */
|
|
11
|
+
baseChainId?: number;
|
|
12
|
+
/**
|
|
13
|
+
* An embedder's own chain lookups, for the confirmed claims. The audit
|
|
14
|
+
* makes no network call of its own, and the CLI never sets these.
|
|
15
|
+
*/
|
|
16
|
+
lookups?: ExportLookups;
|
|
17
|
+
/**
|
|
18
|
+
* Resource cap: how many leaves may be rebuilt checking one export that
|
|
19
|
+
* carries the owner's list as given, file by file (each run rebuilds the
|
|
20
|
+
* whole list). Spent only when the list does not hold, so no member
|
|
21
|
+
* evidence can be derived from it. At least one file is always checked.
|
|
22
|
+
* Default DEFAULT_AS_GIVEN_LEAF_BUDGET.
|
|
23
|
+
*/
|
|
24
|
+
asGivenLeafBudget?: number;
|
|
25
|
+
}
|
|
26
|
+
/** Default for ExportAuditOptions.asGivenLeafBudget: on the order of 15 s of rebuilding on a laptop. */
|
|
27
|
+
export declare const DEFAULT_AS_GIVEN_LEAF_BUDGET = 2000000;
|
|
28
|
+
/**
|
|
29
|
+
* A run's whole claim list, in verifyExport's order: the export's common
|
|
30
|
+
* claims with the run's own claims put back at their positions.
|
|
31
|
+
*/
|
|
32
|
+
export declare function exportRunClaims(check: Pick<ExportCheck, "claims">, run: Pick<ExportRun, "claims">): ExportClaimRecord[];
|
|
33
|
+
/**
|
|
34
|
+
* Check every export in the bundle with verifyExport, per covered file.
|
|
35
|
+
* Deterministic: exports in observation order, runs in the order of their
|
|
36
|
+
* covered files (sorted by first path).
|
|
37
|
+
*/
|
|
38
|
+
export declare function verifyExports(ingest: IngestResult, options?: ExportAuditOptions): Promise<ExportAnalysis>;
|
|
39
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAAkB,aAAa,EAAqD,MAAM,8BAA8B,CAAC;AAErI,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EAIjB,SAAS,EAET,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,+FAA+F;IAC/F,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,6GAA6G;IAC7G,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wGAAwG;AACxG,eAAO,MAAM,4BAA4B,UAAY,CAAC;AAMtD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,iBAAiB,EAAE,CAYvH;AA2CD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CAwEnH"}
|