agent-passport-system 1.40.0 → 1.42.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 +11 -5
- package/dist/src/core/behavioral-fingerprint.d.ts +186 -0
- package/dist/src/core/behavioral-fingerprint.d.ts.map +1 -0
- package/dist/src/core/behavioral-fingerprint.js +214 -0
- package/dist/src/core/behavioral-fingerprint.js.map +1 -0
- package/dist/src/core/charter.d.ts +4 -1
- package/dist/src/core/charter.d.ts.map +1 -1
- package/dist/src/core/charter.js +15 -1
- package/dist/src/core/charter.js.map +1 -1
- package/dist/src/core/completion.d.ts +6 -1
- package/dist/src/core/completion.d.ts.map +1 -1
- package/dist/src/core/completion.js +13 -1
- package/dist/src/core/completion.js.map +1 -1
- package/dist/src/core/data-settlement.d.ts +2 -1
- package/dist/src/core/data-settlement.d.ts.map +1 -1
- package/dist/src/core/data-settlement.js +13 -1
- package/dist/src/core/data-settlement.js.map +1 -1
- package/dist/src/core/denial-domains.js +2 -2
- package/dist/src/core/probe-identity.d.ts +77 -0
- package/dist/src/core/probe-identity.d.ts.map +1 -0
- package/dist/src/core/probe-identity.js +102 -0
- package/dist/src/core/probe-identity.js.map +1 -0
- package/dist/src/core/reputation-authority.d.ts +198 -0
- package/dist/src/core/reputation-authority.d.ts.map +1 -1
- package/dist/src/core/reputation-authority.js +348 -4
- package/dist/src/core/reputation-authority.js.map +1 -1
- package/dist/src/core/time.d.ts +42 -1
- package/dist/src/core/time.d.ts.map +1 -1
- package/dist/src/core/time.js +103 -0
- package/dist/src/core/time.js.map +1 -1
- package/dist/src/index.d.ts +9 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/charter.d.ts +4 -0
- package/dist/src/types/charter.d.ts.map +1 -1
- package/dist/src/types/data-contribution.d.ts +3 -0
- package/dist/src/types/data-contribution.d.ts.map +1 -1
- package/dist/src/types/reputation-authority.d.ts +22 -0
- package/dist/src/types/reputation-authority.d.ts.map +1 -1
- package/dist/src/types/time.d.ts +14 -0
- package/dist/src/types/time.d.ts.map +1 -1
- package/dist/src/v2/attribution-consent/create.d.ts +21 -0
- package/dist/src/v2/attribution-consent/create.d.ts.map +1 -0
- package/dist/src/v2/attribution-consent/create.js +51 -0
- package/dist/src/v2/attribution-consent/create.js.map +1 -0
- package/dist/src/v2/attribution-consent/index.d.ts +6 -0
- package/dist/src/v2/attribution-consent/index.d.ts.map +1 -0
- package/dist/src/v2/attribution-consent/index.js +6 -0
- package/dist/src/v2/attribution-consent/index.js.map +1 -0
- package/dist/src/v2/attribution-consent/sign.d.ts +6 -0
- package/dist/src/v2/attribution-consent/sign.d.ts.map +1 -0
- package/dist/src/v2/attribution-consent/sign.js +16 -0
- package/dist/src/v2/attribution-consent/sign.js.map +1 -0
- package/dist/src/v2/attribution-consent/types.d.ts +48 -0
- package/dist/src/v2/attribution-consent/types.d.ts.map +1 -0
- package/dist/src/v2/attribution-consent/types.js +13 -0
- package/dist/src/v2/attribution-consent/types.js.map +1 -0
- package/dist/src/v2/attribution-consent/verify.d.ts +30 -0
- package/dist/src/v2/attribution-consent/verify.d.ts.map +1 -0
- package/dist/src/v2/attribution-consent/verify.js +99 -0
- package/dist/src/v2/attribution-consent/verify.js.map +1 -0
- package/dist/src/v2/human-escalation.d.ts +48 -0
- package/dist/src/v2/human-escalation.d.ts.map +1 -0
- package/dist/src/v2/human-escalation.js +166 -0
- package/dist/src/v2/human-escalation.js.map +1 -0
- package/dist/src/v2/index.d.ts +7 -1
- package/dist/src/v2/index.d.ts.map +1 -1
- package/dist/src/v2/index.js +8 -0
- package/dist/src/v2/index.js.map +1 -1
- package/dist/src/v2/provisional-statement/create.d.ts +43 -0
- package/dist/src/v2/provisional-statement/create.d.ts.map +1 -0
- package/dist/src/v2/provisional-statement/create.js +75 -0
- package/dist/src/v2/provisional-statement/create.js.map +1 -0
- package/dist/src/v2/provisional-statement/index.d.ts +6 -0
- package/dist/src/v2/provisional-statement/index.d.ts.map +1 -0
- package/dist/src/v2/provisional-statement/index.js +6 -0
- package/dist/src/v2/provisional-statement/index.js.map +1 -0
- package/dist/src/v2/provisional-statement/promote.d.ts +24 -0
- package/dist/src/v2/provisional-statement/promote.d.ts.map +1 -0
- package/dist/src/v2/provisional-statement/promote.js +65 -0
- package/dist/src/v2/provisional-statement/promote.js.map +1 -0
- package/dist/src/v2/provisional-statement/types.d.ts +48 -0
- package/dist/src/v2/provisional-statement/types.d.ts.map +1 -0
- package/dist/src/v2/provisional-statement/types.js +12 -0
- package/dist/src/v2/provisional-statement/types.js.map +1 -0
- package/dist/src/v2/provisional-statement/verify.d.ts +13 -0
- package/dist/src/v2/provisional-statement/verify.d.ts.map +1 -0
- package/dist/src/v2/provisional-statement/verify.js +80 -0
- package/dist/src/v2/provisional-statement/verify.js.map +1 -0
- package/dist/src/v2/types.d.ts +33 -0
- package/dist/src/v2/types.d.ts.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/agent-passport-system)
|
|
4
4
|
[](https://github.com/aeoess/agent-passport-system/blob/main/LICENSE)
|
|
5
|
-
[](https://github.com/aeoess/agent-passport-system)
|
|
6
6
|
[](https://doi.org/10.5281/zenodo.18749779)
|
|
7
7
|
|
|
8
8
|
> **For AI agents:** visit [aeoess.com/llms.txt](https://aeoess.com/llms.txt) for machine-readable docs.
|
|
9
9
|
|
|
10
|
-
**
|
|
10
|
+
**Enforcement and accountability layer for AI agents. Bring your own identity.**
|
|
11
11
|
|
|
12
|
-
Authority can only decrease at each transfer point. The gateway is both judge and executor. Every action produces a signed receipt.
|
|
12
|
+
Accepts did:key, did:web, SPIFFE SVIDs, OAuth tokens, and native did:aps. Authority can only decrease at each transfer point. The gateway is both judge and executor. Every action produces a signed receipt. Gateway evaluation under 2ms.
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
npm install agent-passport-system
|
|
@@ -17,10 +17,16 @@ npm install agent-passport-system
|
|
|
17
17
|
|
|
18
18
|
## Quick Start
|
|
19
19
|
|
|
20
|
+
Lead with the curated essentials. `agent-passport-system/core` exposes the ~25 functions that 90% of integrations need — identity, delegation, enforcement, commerce, reputation, key management. The full `agent-passport-system` root import is unchanged and backward compatible: pull from it when Core does not cover your case.
|
|
21
|
+
|
|
20
22
|
```typescript
|
|
21
23
|
import {
|
|
22
|
-
createPassport, createDelegation,
|
|
24
|
+
createPassport, createDelegation,
|
|
25
|
+
evaluateIntent, commercePreflight, generateKeyPair
|
|
23
26
|
} from 'agent-passport-system/core'
|
|
27
|
+
|
|
28
|
+
// Full 936-export API still available — use when Core does not cover your case.
|
|
29
|
+
// import { ... } from 'agent-passport-system'
|
|
24
30
|
```
|
|
25
31
|
|
|
26
32
|
## Core Protocol
|
|
@@ -121,7 +127,7 @@ npx agent-passport-system-mcp
|
|
|
121
127
|
|
|
122
128
|
## Numbers
|
|
123
129
|
|
|
124
|
-
2,
|
|
130
|
+
2,764 tests. 8 protocol layers. 11 framework adapters. Gateway evaluation under 2ms. Zero heavy dependencies. Apache-2.0.
|
|
125
131
|
|
|
126
132
|
## Papers
|
|
127
133
|
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import type { FidelityAttestation } from '../types/gateway.js';
|
|
2
|
+
/** Reference to a PDR (Probabilistic Delegation Reliability) score event,
|
|
3
|
+
* as defined in Nanook PDR v2.19 §6.3. The pdr.score.v1 wire format is
|
|
4
|
+
* not yet a published spec; this interface mirrors the field set the paper
|
|
5
|
+
* attributes to NexusGuard's AIP implementation (aip_identity/pdr.py).
|
|
6
|
+
*
|
|
7
|
+
* This is an EXTERNAL reference — the SDK does not produce these scores,
|
|
8
|
+
* it only carries them inside a fingerprint envelope. The optional
|
|
9
|
+
* signature field is the score's own external signature (e.g. from the
|
|
10
|
+
* NexusGuard issuer); verifyBehavioralFingerprint does NOT validate it. */
|
|
11
|
+
export interface PDRScoreRef {
|
|
12
|
+
source: 'pdr.score.v1';
|
|
13
|
+
/** Composite PDR score in [0, 1]. Per Nanook §6.3: weighted combination of
|
|
14
|
+
* Calibration (0.5), Adaptation (0.2), Robustness (0.3). */
|
|
15
|
+
scoreOverall: number;
|
|
16
|
+
/** Calibration sub-score in [0, 1]. Jaccard similarity of claimed vs delivered. */
|
|
17
|
+
scoreCalibration: number;
|
|
18
|
+
/** Adaptation sub-score in [0, 1]. Temporal improvement slope. */
|
|
19
|
+
scoreAdaptation: number;
|
|
20
|
+
/** Robustness sub-score in [0, 1]. Condition-based variance. */
|
|
21
|
+
scoreRobustness: number;
|
|
22
|
+
/** Number of behavioral observations the score is computed over. */
|
|
23
|
+
observationCount: number;
|
|
24
|
+
/** Temporal spread of those observations, in days. */
|
|
25
|
+
windowDays: number;
|
|
26
|
+
/** Identifier of the issuing PDR scorer (e.g. 'nexusguard-aip-0.5.48'). */
|
|
27
|
+
issuer: string;
|
|
28
|
+
/** ISO 8601 timestamp of score issuance. */
|
|
29
|
+
issuedAt: string;
|
|
30
|
+
/** Optional external signature from the PDR issuer. NOT validated by
|
|
31
|
+
* verifyBehavioralFingerprint — see JSDoc on that function. */
|
|
32
|
+
signature?: string;
|
|
33
|
+
}
|
|
34
|
+
/** Reference to a within-session constraint compliance score, in the style
|
|
35
|
+
* of Saebo et al. arXiv:2603.03456 ("Asymmetric Goal Drift in Coding Agents
|
|
36
|
+
* Under Value Conflict"). Measures whether the agent maintained its
|
|
37
|
+
* declared value hierarchy under context pressure across a session.
|
|
38
|
+
*
|
|
39
|
+
* Like PDRScoreRef, this is an external reference. The SDK does not
|
|
40
|
+
* produce Saebo scores; it carries them inside the envelope so consumers
|
|
41
|
+
* that want all three axes have one signed artifact to verify. */
|
|
42
|
+
export interface SaeboScoreRef {
|
|
43
|
+
source: 'saebo.constraint.v1';
|
|
44
|
+
/** Compliance score in [0, 1]: 1.0 = no violations across session,
|
|
45
|
+
* 0.0 = constraint violated on every turn. */
|
|
46
|
+
complianceScore: number;
|
|
47
|
+
/** Number of constraint violations observed in the session. */
|
|
48
|
+
violationCount: number;
|
|
49
|
+
/** Total turn count of the session being scored. */
|
|
50
|
+
sessionTurnCount: number;
|
|
51
|
+
/** Identifier of the issuing constraint scorer. */
|
|
52
|
+
issuer: string;
|
|
53
|
+
/** ISO 8601 timestamp of score issuance. */
|
|
54
|
+
issuedAt: string;
|
|
55
|
+
/** Optional external signature from the issuer. NOT validated by
|
|
56
|
+
* verifyBehavioralFingerprint. */
|
|
57
|
+
signature?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Three-axis behavioral measurement envelope. Always carries at least one
|
|
60
|
+
* HBB FidelityAttestation (axis 1). PDR and Saebo references are optional
|
|
61
|
+
* axes — a fingerprint with only fidelity is still well-formed. */
|
|
62
|
+
export interface BehavioralFingerprint {
|
|
63
|
+
subject: {
|
|
64
|
+
/** DID of the subject agent being measured (not the measurer). */
|
|
65
|
+
did: string;
|
|
66
|
+
/** LLM substrate identifier the subject was running on at measurement
|
|
67
|
+
* time (e.g. 'claude-sonnet-4', 'gpt-5-turbo'). */
|
|
68
|
+
substrate: string;
|
|
69
|
+
};
|
|
70
|
+
/** One or more HBB attestations. Multiple attestations are common when
|
|
71
|
+
* the substrate-swap protocol from Nanook §8.10 takes pre/post probes. */
|
|
72
|
+
fidelity: FidelityAttestation[];
|
|
73
|
+
/** Optional axis 2: PDR cross-session reliability reference. */
|
|
74
|
+
pdr_ref?: PDRScoreRef;
|
|
75
|
+
/** Optional axis 3: Saebo within-session constraint compliance reference. */
|
|
76
|
+
constraint_ref?: SaeboScoreRef;
|
|
77
|
+
/** Identifier of the party that composed and signed this envelope.
|
|
78
|
+
* May or may not be the same party that produced the inner
|
|
79
|
+
* FidelityAttestations (which carry their own measuredBy). */
|
|
80
|
+
measurerId: string;
|
|
81
|
+
/** Hex-encoded Ed25519 public key of the envelope signer. Embedded so
|
|
82
|
+
* third parties can verify offline given only the envelope. */
|
|
83
|
+
measurerPublicKey: string;
|
|
84
|
+
/** ISO 8601 timestamp of envelope signing. */
|
|
85
|
+
signedAt: string;
|
|
86
|
+
/** Hex-encoded Ed25519 signature over canonicalize({ subject, fidelity,
|
|
87
|
+
* pdr_ref, constraint_ref, measurerId, signedAt }). */
|
|
88
|
+
signature: string;
|
|
89
|
+
}
|
|
90
|
+
/** Result of verifyBehavioralFingerprint. All-or-nothing validity flag plus
|
|
91
|
+
* per-field breakdown for diagnostic visibility. */
|
|
92
|
+
export interface FingerprintVerificationResult {
|
|
93
|
+
/** True iff the envelope signature verifies AND every inner fidelity
|
|
94
|
+
* attestation signature verifies under the same public key. */
|
|
95
|
+
valid: boolean;
|
|
96
|
+
/** Whether the envelope-level signature verified against measurerPublicKey. */
|
|
97
|
+
envelopeSignatureValid: boolean;
|
|
98
|
+
/** One boolean per inner FidelityAttestation, in the same order as
|
|
99
|
+
* fp.fidelity. Each entry is the result of verifyFidelityAttestation
|
|
100
|
+
* against the provided measurerPublicKey. */
|
|
101
|
+
innerFidelitySignaturesValid: boolean[];
|
|
102
|
+
/** Human-readable diagnostic messages. Empty array on success. */
|
|
103
|
+
errors: string[];
|
|
104
|
+
}
|
|
105
|
+
/** Compose and sign a BehavioralFingerprint envelope.
|
|
106
|
+
*
|
|
107
|
+
* Requires at least one FidelityAttestation. The envelope carries pre-built
|
|
108
|
+
* fidelity attestations as-is — they retain their own measuredBy/signature
|
|
109
|
+
* fields and stay independently verifiable.
|
|
110
|
+
*
|
|
111
|
+
* The signing key is used for the envelope signature only. Inner fidelity
|
|
112
|
+
* attestations were signed earlier by their own measurers; this function
|
|
113
|
+
* does not re-sign them.
|
|
114
|
+
*
|
|
115
|
+
* @throws if fidelity is empty.
|
|
116
|
+
*
|
|
117
|
+
* Reference: Nanook PDR v2.19 §2.2, §8.10. Gap audit §5 rank 2.
|
|
118
|
+
*/
|
|
119
|
+
export declare function createBehavioralFingerprint(subject: {
|
|
120
|
+
did: string;
|
|
121
|
+
substrate: string;
|
|
122
|
+
}, fidelity: FidelityAttestation[], opts: {
|
|
123
|
+
pdr?: PDRScoreRef;
|
|
124
|
+
constraint?: SaeboScoreRef;
|
|
125
|
+
measurerId: string;
|
|
126
|
+
measurerPublicKey: string;
|
|
127
|
+
signingKey: string;
|
|
128
|
+
/** Override the signing timestamp. Test fixtures only. */
|
|
129
|
+
signedAt?: string;
|
|
130
|
+
}): BehavioralFingerprint;
|
|
131
|
+
/** Verify a BehavioralFingerprint envelope.
|
|
132
|
+
*
|
|
133
|
+
* Performs two checks:
|
|
134
|
+
* 1. Envelope signature: verify the envelope's own Ed25519 signature
|
|
135
|
+
* against the provided measurerPublicKey.
|
|
136
|
+
* 2. Inner fidelity signatures: for each FidelityAttestation in
|
|
137
|
+
* fp.fidelity, run verifyFidelityAttestation against the SAME
|
|
138
|
+
* measurerPublicKey. The per-attestation result is reported in
|
|
139
|
+
* innerFidelitySignaturesValid.
|
|
140
|
+
*
|
|
141
|
+
* Limitation by design: this function does NOT verify pdr_ref.signature or
|
|
142
|
+
* constraint_ref.signature. Those are external axes whose issuers may use
|
|
143
|
+
* different key schemes, signature formats, or canonicalization rules. If
|
|
144
|
+
* those fields carry signatures, callers must verify them out-of-band with
|
|
145
|
+
* the appropriate issuer's verification logic. The fingerprint envelope's
|
|
146
|
+
* own signature still covers the entire pdr_ref / constraint_ref content
|
|
147
|
+
* as JSON, so tampering with their fields will fail envelope verification.
|
|
148
|
+
*
|
|
149
|
+
* Limitation on multi-measurer fidelity attestations: if the inner
|
|
150
|
+
* attestations were signed by different keys than the envelope, their per-
|
|
151
|
+
* attestation entries in innerFidelitySignaturesValid will be false. The
|
|
152
|
+
* envelope itself is still validly signed; callers can re-verify failed
|
|
153
|
+
* inner attestations against the correct keys via verifyFidelityAttestation.
|
|
154
|
+
*
|
|
155
|
+
* The all-or-nothing valid flag is true iff envelope signature is valid
|
|
156
|
+
* AND every inner fidelity signature is valid under the same key.
|
|
157
|
+
*/
|
|
158
|
+
export declare function verifyBehavioralFingerprint(fp: BehavioralFingerprint, measurerPublicKey: string): FingerprintVerificationResult;
|
|
159
|
+
/** Pure projection helper for a BehavioralFingerprint. Surfaces the top-
|
|
160
|
+
* level scalar from each axis without combining them into a single number.
|
|
161
|
+
*
|
|
162
|
+
* The paper's three-axis orthogonality claim (Nanook PDR v2.19 §2.2) is
|
|
163
|
+
* untested. This SDK deliberately does NOT bake a combinator policy into
|
|
164
|
+
* the projection: callers that want a composite score must compute it
|
|
165
|
+
* themselves with their own weighting choices. The function returns the
|
|
166
|
+
* raw axis scalars and lets the consumer decide.
|
|
167
|
+
*
|
|
168
|
+
* - fidelityMean: arithmetic mean of fp.fidelity[*].fidelity.score.
|
|
169
|
+
* A simple mean is the right default because each FidelityAttestation
|
|
170
|
+
* represents one HBB probe under different conditions (e.g. pre vs
|
|
171
|
+
* post substrate swap). Confidence-weighting is available inside the
|
|
172
|
+
* individual SubstrateFidelity scoring path; the envelope projection
|
|
173
|
+
* treats each attestation as one observation.
|
|
174
|
+
*
|
|
175
|
+
* - pdrOverall: scoreOverall from the optional PDR reference, or undefined
|
|
176
|
+
* if no PDR axis is present.
|
|
177
|
+
*
|
|
178
|
+
* - constraintCompliance: complianceScore from the optional Saebo
|
|
179
|
+
* reference, or undefined if no constraint axis is present.
|
|
180
|
+
*/
|
|
181
|
+
export declare function composeFingerprintAxes(fp: BehavioralFingerprint): {
|
|
182
|
+
fidelityMean: number;
|
|
183
|
+
pdrOverall?: number;
|
|
184
|
+
constraintCompliance?: number;
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=behavioral-fingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"behavioral-fingerprint.d.ts","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
// ══════════════════════════════════════════════════════════════════
|
|
2
|
+
// Behavioral Fingerprint — Three-Axis Joint Measurement Envelope
|
|
3
|
+
// ══════════════════════════════════════════════════════════════════
|
|
4
|
+
// Composes three independent behavioral measurement axes into one signed
|
|
5
|
+
// artifact:
|
|
6
|
+
//
|
|
7
|
+
// Axis 1 (within-session authority-pressure fidelity):
|
|
8
|
+
// AEOESS Hold/Bend/Break — src/core/fidelity-probe.ts
|
|
9
|
+
//
|
|
10
|
+
// Axis 2 (cross-session output reliability):
|
|
11
|
+
// PDR score reference — produced by NexusGuard or any pdr.score.v1 issuer
|
|
12
|
+
//
|
|
13
|
+
// Axis 3 (within-session constraint compliance under value pressure):
|
|
14
|
+
// Saebo et al. constraint score reference — produced by an external scorer
|
|
15
|
+
//
|
|
16
|
+
// The envelope does NOT combine the three axes into a single composite
|
|
17
|
+
// score. The orthogonality claim from Nanook PDR v2.19 §2.2 is untested,
|
|
18
|
+
// and baking a combinator policy into the SDK would prejudge that result.
|
|
19
|
+
// composeFingerprintAxes() is a pure projection helper, nothing more.
|
|
20
|
+
//
|
|
21
|
+
// Signing: Ed25519. The envelope signature covers the canonical JSON of
|
|
22
|
+
// {subject, fidelity, pdr_ref, constraint_ref, measurerId, signedAt} —
|
|
23
|
+
// every field except the signature itself. Inner FidelityAttestation
|
|
24
|
+
// objects retain their own signatures (signed by their own measurer); the
|
|
25
|
+
// envelope signature covers them as JSON content but does not replace
|
|
26
|
+
// their independent verifiability.
|
|
27
|
+
//
|
|
28
|
+
// Reference: Nanook PDR v2.19 §2.2 (three-axis framework), §8.10 (joint
|
|
29
|
+
// experiment design), gap audit §3 row 10, gap audit §5 rank 2.
|
|
30
|
+
// ══════════════════════════════════════════════════════════════════
|
|
31
|
+
import { sign, verify } from '../crypto/keys.js';
|
|
32
|
+
import { canonicalize } from './canonical.js';
|
|
33
|
+
import { verifyFidelityAttestation } from './fidelity-probe.js';
|
|
34
|
+
// ── Create ──
|
|
35
|
+
/** Compose and sign a BehavioralFingerprint envelope.
|
|
36
|
+
*
|
|
37
|
+
* Requires at least one FidelityAttestation. The envelope carries pre-built
|
|
38
|
+
* fidelity attestations as-is — they retain their own measuredBy/signature
|
|
39
|
+
* fields and stay independently verifiable.
|
|
40
|
+
*
|
|
41
|
+
* The signing key is used for the envelope signature only. Inner fidelity
|
|
42
|
+
* attestations were signed earlier by their own measurers; this function
|
|
43
|
+
* does not re-sign them.
|
|
44
|
+
*
|
|
45
|
+
* @throws if fidelity is empty.
|
|
46
|
+
*
|
|
47
|
+
* Reference: Nanook PDR v2.19 §2.2, §8.10. Gap audit §5 rank 2.
|
|
48
|
+
*/
|
|
49
|
+
export function createBehavioralFingerprint(subject, fidelity, opts) {
|
|
50
|
+
if (!Array.isArray(fidelity) || fidelity.length === 0) {
|
|
51
|
+
throw new Error('createBehavioralFingerprint: at least one fidelity attestation is required');
|
|
52
|
+
}
|
|
53
|
+
if (!opts.measurerId || typeof opts.measurerId !== 'string') {
|
|
54
|
+
throw new Error('createBehavioralFingerprint: measurerId must be a non-empty string');
|
|
55
|
+
}
|
|
56
|
+
if (!opts.measurerPublicKey || typeof opts.measurerPublicKey !== 'string') {
|
|
57
|
+
throw new Error('createBehavioralFingerprint: measurerPublicKey must be a non-empty string');
|
|
58
|
+
}
|
|
59
|
+
if (!opts.signingKey || typeof opts.signingKey !== 'string') {
|
|
60
|
+
throw new Error('createBehavioralFingerprint: signingKey must be a non-empty string');
|
|
61
|
+
}
|
|
62
|
+
const signedAt = opts.signedAt ?? new Date().toISOString();
|
|
63
|
+
// Build the unsigned envelope. Canonicalize will sort keys alphabetically
|
|
64
|
+
// and strip null/undefined, so PDR/constraint absence produces the same
|
|
65
|
+
// bytes regardless of property declaration order.
|
|
66
|
+
const unsigned = {
|
|
67
|
+
subject,
|
|
68
|
+
fidelity,
|
|
69
|
+
...(opts.pdr ? { pdr_ref: opts.pdr } : {}),
|
|
70
|
+
...(opts.constraint ? { constraint_ref: opts.constraint } : {}),
|
|
71
|
+
measurerId: opts.measurerId,
|
|
72
|
+
measurerPublicKey: opts.measurerPublicKey,
|
|
73
|
+
signedAt,
|
|
74
|
+
};
|
|
75
|
+
const payload = canonicalize(unsigned);
|
|
76
|
+
const signature = sign(payload, opts.signingKey);
|
|
77
|
+
return {
|
|
78
|
+
...unsigned,
|
|
79
|
+
signature,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// ── Verify ──
|
|
83
|
+
/** Verify a BehavioralFingerprint envelope.
|
|
84
|
+
*
|
|
85
|
+
* Performs two checks:
|
|
86
|
+
* 1. Envelope signature: verify the envelope's own Ed25519 signature
|
|
87
|
+
* against the provided measurerPublicKey.
|
|
88
|
+
* 2. Inner fidelity signatures: for each FidelityAttestation in
|
|
89
|
+
* fp.fidelity, run verifyFidelityAttestation against the SAME
|
|
90
|
+
* measurerPublicKey. The per-attestation result is reported in
|
|
91
|
+
* innerFidelitySignaturesValid.
|
|
92
|
+
*
|
|
93
|
+
* Limitation by design: this function does NOT verify pdr_ref.signature or
|
|
94
|
+
* constraint_ref.signature. Those are external axes whose issuers may use
|
|
95
|
+
* different key schemes, signature formats, or canonicalization rules. If
|
|
96
|
+
* those fields carry signatures, callers must verify them out-of-band with
|
|
97
|
+
* the appropriate issuer's verification logic. The fingerprint envelope's
|
|
98
|
+
* own signature still covers the entire pdr_ref / constraint_ref content
|
|
99
|
+
* as JSON, so tampering with their fields will fail envelope verification.
|
|
100
|
+
*
|
|
101
|
+
* Limitation on multi-measurer fidelity attestations: if the inner
|
|
102
|
+
* attestations were signed by different keys than the envelope, their per-
|
|
103
|
+
* attestation entries in innerFidelitySignaturesValid will be false. The
|
|
104
|
+
* envelope itself is still validly signed; callers can re-verify failed
|
|
105
|
+
* inner attestations against the correct keys via verifyFidelityAttestation.
|
|
106
|
+
*
|
|
107
|
+
* The all-or-nothing valid flag is true iff envelope signature is valid
|
|
108
|
+
* AND every inner fidelity signature is valid under the same key.
|
|
109
|
+
*/
|
|
110
|
+
export function verifyBehavioralFingerprint(fp, measurerPublicKey) {
|
|
111
|
+
const errors = [];
|
|
112
|
+
// Validate input shape
|
|
113
|
+
if (!fp || typeof fp !== 'object') {
|
|
114
|
+
return {
|
|
115
|
+
valid: false,
|
|
116
|
+
envelopeSignatureValid: false,
|
|
117
|
+
innerFidelitySignaturesValid: [],
|
|
118
|
+
errors: ['fingerprint is not an object'],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
if (!Array.isArray(fp.fidelity) || fp.fidelity.length === 0) {
|
|
122
|
+
return {
|
|
123
|
+
valid: false,
|
|
124
|
+
envelopeSignatureValid: false,
|
|
125
|
+
innerFidelitySignaturesValid: [],
|
|
126
|
+
errors: ['fingerprint must carry at least one fidelity attestation'],
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
// Step 1: envelope signature.
|
|
130
|
+
// Reconstruct the canonical payload exactly as createBehavioralFingerprint
|
|
131
|
+
// produced it: every field except `signature`. Note that the spread-with-
|
|
132
|
+
// conditional pattern in create produces no key for absent optional fields,
|
|
133
|
+
// and canonicalize() strips null/undefined, so the two paths agree.
|
|
134
|
+
const unsigned = {
|
|
135
|
+
subject: fp.subject,
|
|
136
|
+
fidelity: fp.fidelity,
|
|
137
|
+
...(fp.pdr_ref !== undefined ? { pdr_ref: fp.pdr_ref } : {}),
|
|
138
|
+
...(fp.constraint_ref !== undefined ? { constraint_ref: fp.constraint_ref } : {}),
|
|
139
|
+
measurerId: fp.measurerId,
|
|
140
|
+
measurerPublicKey: fp.measurerPublicKey,
|
|
141
|
+
signedAt: fp.signedAt,
|
|
142
|
+
};
|
|
143
|
+
const payload = canonicalize(unsigned);
|
|
144
|
+
let envelopeSignatureValid = false;
|
|
145
|
+
try {
|
|
146
|
+
envelopeSignatureValid = verify(payload, fp.signature, measurerPublicKey);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
envelopeSignatureValid = false;
|
|
150
|
+
}
|
|
151
|
+
if (!envelopeSignatureValid) {
|
|
152
|
+
errors.push('envelope signature failed verification');
|
|
153
|
+
}
|
|
154
|
+
// Step 2: each inner fidelity attestation under the SAME public key.
|
|
155
|
+
const innerFidelitySignaturesValid = fp.fidelity.map((att, i) => {
|
|
156
|
+
let ok = false;
|
|
157
|
+
try {
|
|
158
|
+
ok = verifyFidelityAttestation(att, measurerPublicKey);
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
ok = false;
|
|
162
|
+
}
|
|
163
|
+
if (!ok) {
|
|
164
|
+
errors.push(`inner fidelity attestation ${i} (${att.attestationId ?? 'unknown'}) failed verification`);
|
|
165
|
+
}
|
|
166
|
+
return ok;
|
|
167
|
+
});
|
|
168
|
+
const allInnerValid = innerFidelitySignaturesValid.every(Boolean);
|
|
169
|
+
return {
|
|
170
|
+
valid: envelopeSignatureValid && allInnerValid,
|
|
171
|
+
envelopeSignatureValid,
|
|
172
|
+
innerFidelitySignaturesValid,
|
|
173
|
+
errors,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// ── Compose / Project ──
|
|
177
|
+
/** Pure projection helper for a BehavioralFingerprint. Surfaces the top-
|
|
178
|
+
* level scalar from each axis without combining them into a single number.
|
|
179
|
+
*
|
|
180
|
+
* The paper's three-axis orthogonality claim (Nanook PDR v2.19 §2.2) is
|
|
181
|
+
* untested. This SDK deliberately does NOT bake a combinator policy into
|
|
182
|
+
* the projection: callers that want a composite score must compute it
|
|
183
|
+
* themselves with their own weighting choices. The function returns the
|
|
184
|
+
* raw axis scalars and lets the consumer decide.
|
|
185
|
+
*
|
|
186
|
+
* - fidelityMean: arithmetic mean of fp.fidelity[*].fidelity.score.
|
|
187
|
+
* A simple mean is the right default because each FidelityAttestation
|
|
188
|
+
* represents one HBB probe under different conditions (e.g. pre vs
|
|
189
|
+
* post substrate swap). Confidence-weighting is available inside the
|
|
190
|
+
* individual SubstrateFidelity scoring path; the envelope projection
|
|
191
|
+
* treats each attestation as one observation.
|
|
192
|
+
*
|
|
193
|
+
* - pdrOverall: scoreOverall from the optional PDR reference, or undefined
|
|
194
|
+
* if no PDR axis is present.
|
|
195
|
+
*
|
|
196
|
+
* - constraintCompliance: complianceScore from the optional Saebo
|
|
197
|
+
* reference, or undefined if no constraint axis is present.
|
|
198
|
+
*/
|
|
199
|
+
export function composeFingerprintAxes(fp) {
|
|
200
|
+
if (!fp.fidelity || fp.fidelity.length === 0) {
|
|
201
|
+
throw new Error('composeFingerprintAxes: fingerprint has no fidelity attestations');
|
|
202
|
+
}
|
|
203
|
+
const sum = fp.fidelity.reduce((acc, att) => acc + att.fidelity.score, 0);
|
|
204
|
+
const fidelityMean = sum / fp.fidelity.length;
|
|
205
|
+
const result = {
|
|
206
|
+
fidelityMean,
|
|
207
|
+
};
|
|
208
|
+
if (fp.pdr_ref)
|
|
209
|
+
result.pdrOverall = fp.pdr_ref.scoreOverall;
|
|
210
|
+
if (fp.constraint_ref)
|
|
211
|
+
result.constraintCompliance = fp.constraint_ref.complianceScore;
|
|
212
|
+
return result;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=behavioral-fingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"behavioral-fingerprint.js","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CharterCore, CharterSignature, Office, OfficeRegistry, OfficeTransfer, CharterAmendment, CharterVerification, AmendmentVerification, DelegationSurvival, DissolutionPolicy, DisputeVenue, SuccessionRule, SuccessionTrigger, QuorumFailurePolicy } from '../types/charter.js';
|
|
2
2
|
import type { MultiClassThresholdPolicy, ApprovalRequest, ApprovalSignature, ApprovalSubjectType, ApprovalEvaluation, ApprovalPolicy } from '../types/approval.js';
|
|
3
|
+
import type { AttributionReceipt } from '../v2/attribution-consent/index.js';
|
|
3
4
|
export interface CreateCharterOptions {
|
|
4
5
|
name: string;
|
|
5
6
|
offices: Office[];
|
|
@@ -11,6 +12,8 @@ export interface CreateCharterOptions {
|
|
|
11
12
|
founderPublicKey: string;
|
|
12
13
|
founderRole: string;
|
|
13
14
|
version?: string;
|
|
15
|
+
/** Optional AttributionConsent citations. See verifyCharter. */
|
|
16
|
+
citations?: import('../v2/attribution-consent/index.js').ArtifactCitation[];
|
|
14
17
|
}
|
|
15
18
|
/** Create a new charter. The founder signs it as the first founding signatory.
|
|
16
19
|
* Additional signatories can be added with signCharter() until the
|
|
@@ -20,7 +23,7 @@ export declare function createCharter(opts: CreateCharterOptions): CharterCore;
|
|
|
20
23
|
* with the additional signature and a re-signed outer signature. */
|
|
21
24
|
export declare function signCharter(charter: CharterCore, signerPrivateKey: string, signerPublicKey: string, signerRole: string, resignerPrivateKey: string): CharterCore;
|
|
22
25
|
/** Verify a charter's integrity: content hash, signatures, office consistency. */
|
|
23
|
-
export declare function verifyCharter(charter: CharterCore): CharterVerification;
|
|
26
|
+
export declare function verifyCharter(charter: CharterCore, attributionReceipts?: AttributionReceipt[]): CharterVerification;
|
|
24
27
|
/** Evaluate whether a set of signatures satisfies a multi-class threshold policy.
|
|
25
28
|
* All class requirements must be met (conjunction). Consilium Q5. */
|
|
26
29
|
export declare function evaluateThreshold(policy: MultiClassThresholdPolicy, signatures: ApprovalSignature[]): ApprovalEvaluation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,WAAW,EAAiB,gBAAgB,EAC5C,MAAM,EACN,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAC5D,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EACnD,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EACvD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EACvD,kBAAkB,EAAkB,cAAc,EACnD,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/charter.js
CHANGED
|
@@ -10,6 +10,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
10
10
|
import { sign, verify } from '../crypto/keys.js';
|
|
11
11
|
import { canonicalize } from './canonical.js';
|
|
12
12
|
import { createHash } from 'crypto';
|
|
13
|
+
import { checkArtifactCitations } from '../v2/attribution-consent/index.js';
|
|
13
14
|
// ══════════════════════════════════════
|
|
14
15
|
// CONTENT HASHING
|
|
15
16
|
// ══════════════════════════════════════
|
|
@@ -41,6 +42,7 @@ export function createCharter(opts) {
|
|
|
41
42
|
disputeVenue: opts.disputeVenue,
|
|
42
43
|
createdAt: now,
|
|
43
44
|
foundingSignatures: [],
|
|
45
|
+
...(opts.citations ? { citations: opts.citations } : {}),
|
|
44
46
|
};
|
|
45
47
|
// Hash the charter content
|
|
46
48
|
const contentHash = charterHash(canonicalize(charter));
|
|
@@ -84,7 +86,7 @@ export function signCharter(charter, signerPrivateKey, signerPublicKey, signerRo
|
|
|
84
86
|
// VERIFY CHARTER
|
|
85
87
|
// ══════════════════════════════════════
|
|
86
88
|
/** Verify a charter's integrity: content hash, signatures, office consistency. */
|
|
87
|
-
export function verifyCharter(charter) {
|
|
89
|
+
export function verifyCharter(charter, attributionReceipts) {
|
|
88
90
|
const errors = [];
|
|
89
91
|
// 1. Content integrity — strip signature + contentHash + foundingSignatures, re-hash
|
|
90
92
|
const { signature, contentHash, foundingSignatures, ...body } = charter;
|
|
@@ -149,6 +151,18 @@ export function verifyCharter(charter) {
|
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
}
|
|
154
|
+
// 7. AttributionConsent gate — artifacts declaring citations must
|
|
155
|
+
// present valid signed AttributionReceipts at verify time.
|
|
156
|
+
if (charter.citations && charter.citations.length > 0) {
|
|
157
|
+
if (!attributionReceipts) {
|
|
158
|
+
errors.push('citations present but no receipts supplied');
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
const r = checkArtifactCitations({ citations: charter.citations }, attributionReceipts);
|
|
162
|
+
if (!r.valid)
|
|
163
|
+
errors.push(`AttributionConsent: ${r.reason}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
152
166
|
return {
|
|
153
167
|
valid: errors.length === 0,
|
|
154
168
|
errors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charter.js","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"charter.js","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,wDAAwD;AACxD,qEAAqE;AACrE,mEAAmE;AACnE,mEAAmE;AACnE,iDAAiD;AACjD,qEAAqE;AAErE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAcnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAG3E,yCAAyC;AACzC,kBAAkB;AAClB,yCAAyC;AAEzC,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACnE,CAAC;AAqBD;;yCAEyC;AACzC,MAAM,UAAU,aAAa,CAAC,IAA0B;IACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9E,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAmD;QAC9D,SAAS,EAAE,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;QAChC,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,QAAyB;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,GAAG;QACd,kBAAkB,EAAE,EAAE;QACtB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAA;IAED,2BAA2B;IAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IAEtD,iCAAiC;IACjC,MAAM,UAAU,GAAqB;QACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB;QAChC,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACrD,CAAA;IAED,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAA;IAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEzD,OAAO,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAA;AACnC,CAAC;AAED,yCAAyC;AACzC,wCAAwC;AACxC,yCAAyC;AAEzC;qEACqE;AACrE,MAAM,UAAU,WAAW,CACzB,OAAoB,EACpB,gBAAwB,EACxB,eAAuB,EACvB,UAAkB,EAClB,kBAA0B;IAE1B,6BAA6B;IAC7B,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,UAAU,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,iCAAiC,CAAC,CAAA;IACzF,CAAC;IAED,MAAM,MAAM,GAAqB;QAC/B,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACvD,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAA;IAChE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAA;IACjD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAErD,OAAO,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAA;AACnC,CAAC;AAED,yCAAyC;AACzC,iBAAiB;AACjB,yCAAyC;AAEzC,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAC3B,OAAoB,EACpB,mBAA0C;IAE1C,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,qFAAqF;IACrF,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACvE,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,gBAAgB,GAAG,YAAY,KAAK,WAAW,CAAA;IACrD,IAAI,CAAC,gBAAgB;QAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAE3D,6DAA6D;IAC7D,IAAI,eAAe,GAAG,IAAI,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,eAAe,GAAG,KAAK,CAAA;gBACvB,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,GAAG,KAAK,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAG,iBAAiB,CAClC,OAAO,CAAC,eAAe,EACvB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAC1H,CAAA;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAA;IAChC,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;IAEzF,mBAAmB;IACnB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,WAAW,CAAA;IACnD,IAAI,CAAC,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAE5D,+EAA+E;IAC/E,IAAI,YAAY,GAAG,IAAI,CAAA;IACvB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAA;gBACpB,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,QAAQ,yCAAyC,MAAM,EAAE,CAAC,CAAA;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,IAAI,oBAAoB,GAAG,IAAI,CAAA;IAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAA;IACjD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YAC1D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC9B,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM;YAAE,SAAQ;QACjD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YACtD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,oBAAoB,GAAG,KAAK,CAAA;oBAC5B,MAAM,CAAC,IAAI,CACT,UAAU,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mCAAmC,MAAM,CAAC,QAAQ,QAAQ,MAAM,EAAE,CACzG,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,sBAAsB,CAC9B,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,mBAAmB,CACpB,CAAA;YACD,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,gBAAgB;QAChB,eAAe;QACf,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,oBAAoB;KACrB,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,iCAAiC;AACjC,yCAAyC;AAEzC;sEACsE;AACtE,MAAM,UAAU,iBAAiB,CAC/B,MAAiC,EACjC,UAA+B;IAE/B,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,WAAW,GAAqB,EAAE,CAAA;IACxC,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,aAAa,GAAG,CAAC,CAAA;IAErB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACtC,wCAAwC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAClE,CAAA;QACD,2DAA2D;QAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAA;QACpC,MAAM,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC,kBAAkB,CAAA;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,SAAS,IAAI,GAAG,CAAC,kBAAkB,aAAa,CAAC,CAAA;QACvF,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,kBAAkB;YAChC,SAAS;YACT,SAAS;SACV,CAAC,CAAA;QACF,UAAU,IAAI,SAAS,CAAA;QACvB,aAAa,IAAI,GAAG,CAAC,kBAAkB,CAAA;IACzC,CAAC;IAED,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QACxB,WAAW;QACX,oBAAoB,EAAE,UAAU;QAChC,aAAa;QACb,OAAO,EAAE,KAAK,EAAE,uCAAuC;QACvD,MAAM;KACP,CAAA;AACH,CAAC;AAeD;kEACkE;AAClE,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,UAAU,GAAqB;QACnC,SAAS,EAAE,IAAI,CAAC,iBAAiB;QACjC,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;KAC1F,CAAA;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;QACjC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;QACjC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO;QACvC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,UAAU,EAAE,IAAI,CAAC,iBAAiB;QAClC,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,GAAG;QACpC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,MAAM,EAAE,UAAU;KACnB,CAAA;AACH,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAC3B,SAA2B,EAC3B,gBAAwB,EACxB,eAAuB,EACvB,UAAkB;IAElB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,UAAU,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mCAAmC,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,GAAG,GAAqB;QAC5B,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACrF,CAAA;IAED,OAAO,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAA;AACrE,CAAC;AAED,yCAAyC;AACzC,mBAAmB;AACnB,yCAAyC;AAEzC,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAC7B,SAA2B,EAC3B,OAAoB;IAEpB,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,gCAAgC;IAChC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,CAAA;IAC/D,IAAI,CAAC,aAAa;QAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAEvE,qBAAqB;IACrB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,WAAW,CAAA;IAC9D,IAAI,CAAC,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,OAAO,uBAAuB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;IAE7H,kCAAkC;IAClC,IAAI,eAAe,GAAG,IAAI,CAAA;IAC1B,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,WAAW,CAAA;IACpE,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,eAAe,GAAG,KAAK,CAAA;gBACvB,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,GAAG,KAAK,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,aAAa,GAAG,iBAAiB,CACrC,OAAO,CAAC,eAAe,EACvB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,QAAQ,EAAE,CAAC,CAAC,IAAI;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CACJ,CAAA;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAA;IACtC,IAAI,CAAC,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;IAE5F,+CAA+C;IAC/C,MAAM,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACrE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,YAAY;QAC5D,oBAAoB,CAAC,oBAAoB,CAAA;IAE3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CACnD,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,oBAAoB;KACrB,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,kBAAkB;AAClB,yCAAyC;AAEzC,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,eAAiC,EACjC,qBAA4C,EAC5C,gBAAwB;IAExB,MAAM,QAAQ,GAAsD;QAClE,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,OAAO;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,eAAe;QACf,qBAAqB;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAEpF,OAAO,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;AAChD,CAAC;AAiBD,sCAAsC;AACtC,MAAM,UAAU,oBAAoB,CAAC,IAAiC;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3E,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,uBAAuB,CAAC,CAAA;IAE5E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAsC;QAClD,UAAU,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;QACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,GAAG;QAClB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACrE,OAAO,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAA;AACnC,CAAC;AAED,yCAAyC;AACzC,6BAA6B;AAC7B,yCAAyC;AAEzC,2DAA2D;AAC3D,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,OAAe,EACf,WAAgC,EAChC,WAAmB,EACnB,cAAsB;IAEtB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;IAE5E,OAAO;QACL,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9C,QAAQ;QACR,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW,EAAE,GAAG;QAChB,SAAS;QACT,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,SAAS;KAClB,CAAA;AACH,CAAC;AAED;yDACyD;AACzD,MAAM,UAAU,oBAAoB,CAClC,OAAwB,EACxB,gBAAwB,EACxB,eAAuB,EACvB,QAAgB,EAChB,QAAiB;IAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,UAAU,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAA;IAC5D,MAAM,GAAG,GAAsB;QAC7B,SAAS,EAAE,eAAe;QAC1B,QAAQ;QACR,QAAQ;QACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;KAC9C,CAAA;IAED,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;KACzC,CAAA;AACH,CAAC;AAED;;8DAE8D;AAC9D,MAAM,UAAU,uBAAuB,CACrC,OAAwB,EACxB,MAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;IAExD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAC1E,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;QACzC,OAAO;YACL,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE;YAC/B,UAAU;SACX,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAC5D,4DAA4D;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,OAAO,CAAC,UAAU;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAS,CAAC,CACzB,CAAA;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAA;QACrC,MAAM,UAAU,GAAuB;YACrC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO;YACpB,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI;gBACJ,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;aACjC,CAAC,CAAC;YACH,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;YAC/C,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM;YAC1C,OAAO;YACP,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kCAAkC,CAAC,EAAE,CAAC;SACrE,CAAA;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAA;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3D,iDAAiD;QACjD,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,GAAG,GAAG,IAAI,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAChD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC5C,GAAG,GAAG,KAAK,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAuB;YACrC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO;YACpB,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,IAAI;gBACJ,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI;aACpD,CAAC,CAAC;YACH,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;YAC/C,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;YAC5C,OAAO;YACP,MAAM;SACP,CAAA;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAA;IACxD,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAuB;QACrC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO;QAC9C,WAAW,EAAE,EAAE;QACf,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;QAC/C,aAAa,EAAE,CAAC;QAChB,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE;KAC3E,CAAA;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAA;AACxD,CAAC;AAED,yCAAyC;AACzC,iBAAiB;AACjB,yCAAyC;AAEzC,6CAA6C;AAC7C,MAAM,UAAU,UAAU,CAAC,OAAoB,EAAE,QAAgB;IAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;AAC3D,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,mBAAmB,CAAC,OAAoB,EAAE,SAAiB;IACzE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CACjD,CAAA;AACH,CAAC;AAED;gEACgE;AAChE,MAAM,UAAU,gBAAgB,CAAC,OAAoB,EAAE,QAAgB;IACrE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACxC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;6CAC6C;AAC7C,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,QAAgB,EAChB,eAAuB;IAEvB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAA;IAE1E,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAEjE,yEAAyE;IACzE,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,yBAAyB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,yBAAyB,QAAQ,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;AAC1D,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,MAAuC;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,cAAc,IAAI,CAAC,CAAA;IAC5C,OAAO;QACL,SAAS,EAAE,OAAO,IAAI,QAAQ;QAC9B,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,OAAO,OAAO,CAAC,MAAM,KAAK,WAAW,CAAA;AACvC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,oBAAoB,CAAC,QAAwB;IAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAA;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,CAAC;QACH,+DAA+D;QAC/D,OAAO,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
|