@opendatalabs/personal-server-ts-server 1.33.8 → 1.34.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/dist/__fixtures__/bound-record-store.d.ts +19 -0
- package/dist/__fixtures__/bound-record-store.d.ts.map +1 -0
- package/dist/__fixtures__/bound-record-store.js +60 -0
- package/dist/__fixtures__/bound-record-store.js.map +1 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.d.ts +41 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.d.ts.map +1 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.js +34 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.js.map +1 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.d.ts +112 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.d.ts.map +1 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.js +226 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.js.map +1 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-types.d.ts +135 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-types.d.ts.map +1 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-types.js +21 -0
- package/dist/__fixtures__/cg-pdpp-client/pdpp-types.js.map +1 -0
- package/dist/api-auth.d.ts +18 -2
- package/dist/api-auth.d.ts.map +1 -1
- package/dist/api-auth.js +114 -22
- package/dist/api-auth.js.map +1 -1
- package/dist/app.d.ts +60 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +139 -1
- package/dist/app.js.map +1 -1
- package/dist/bootstrap.d.ts +10 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +358 -7
- package/dist/bootstrap.js.map +1 -1
- package/dist/enclave-main.d.ts +4 -0
- package/dist/enclave-main.d.ts.map +1 -1
- package/dist/enclave-main.js +152 -1
- package/dist/enclave-main.js.map +1 -1
- package/dist/middleware/body-limit.d.ts +1 -1
- package/dist/middleware/body-limit.d.ts.map +1 -1
- package/dist/middleware/body-limit.js +8 -3
- package/dist/middleware/body-limit.js.map +1 -1
- package/dist/middleware/cors.d.ts.map +1 -1
- package/dist/middleware/cors.js +1 -0
- package/dist/middleware/cors.js.map +1 -1
- package/dist/package.json +9 -1
- package/dist/pdpp/bootstrap.d.ts +72 -0
- package/dist/pdpp/bootstrap.d.ts.map +1 -0
- package/dist/pdpp/bootstrap.js +270 -0
- package/dist/pdpp/bootstrap.js.map +1 -0
- package/dist/pdpp/chain-enforcement.d.ts +95 -0
- package/dist/pdpp/chain-enforcement.d.ts.map +1 -0
- package/dist/pdpp/chain-enforcement.js +145 -0
- package/dist/pdpp/chain-enforcement.js.map +1 -0
- package/dist/pdpp/client-document-fetch.d.ts +63 -0
- package/dist/pdpp/client-document-fetch.d.ts.map +1 -0
- package/dist/pdpp/client-document-fetch.js +254 -0
- package/dist/pdpp/client-document-fetch.js.map +1 -0
- package/dist/pdpp/declaration-registry.d.ts +83 -0
- package/dist/pdpp/declaration-registry.d.ts.map +1 -0
- package/dist/pdpp/declaration-registry.js +251 -0
- package/dist/pdpp/declaration-registry.js.map +1 -0
- package/dist/pdpp/deployment.d.ts +70 -0
- package/dist/pdpp/deployment.d.ts.map +1 -0
- package/dist/pdpp/deployment.js +104 -0
- package/dist/pdpp/deployment.js.map +1 -0
- package/dist/pdpp/record-schema.d.ts +2 -0
- package/dist/pdpp/record-schema.d.ts.map +1 -0
- package/dist/pdpp/record-schema.js +2 -0
- package/dist/pdpp/record-schema.js.map +1 -0
- package/dist/pdpp/records-bootstrap.d.ts +111 -0
- package/dist/pdpp/records-bootstrap.d.ts.map +1 -0
- package/dist/pdpp/records-bootstrap.js +353 -0
- package/dist/pdpp/records-bootstrap.js.map +1 -0
- package/dist/pdpp/source-id-compat.d.ts +5 -0
- package/dist/pdpp/source-id-compat.d.ts.map +1 -0
- package/dist/pdpp/source-id-compat.js +16 -0
- package/dist/pdpp/source-id-compat.js.map +1 -0
- package/dist/pdpp/test-connections.d.ts +6 -0
- package/dist/pdpp/test-connections.d.ts.map +1 -0
- package/dist/pdpp/test-connections.js +37 -0
- package/dist/pdpp/test-connections.js.map +1 -0
- package/dist/routes/auth-device.d.ts.map +1 -1
- package/dist/routes/auth-device.js +3 -0
- package/dist/routes/auth-device.js.map +1 -1
- package/dist/routes/chunked-scope-import.d.ts +41 -0
- package/dist/routes/chunked-scope-import.d.ts.map +1 -0
- package/dist/routes/chunked-scope-import.js +901 -0
- package/dist/routes/chunked-scope-import.js.map +1 -0
- package/dist/routes/data.d.ts +23 -1
- package/dist/routes/data.d.ts.map +1 -1
- package/dist/routes/data.js +112 -1
- package/dist/routes/data.js.map +1 -1
- package/dist/routes/grants.d.ts.map +1 -1
- package/dist/routes/grants.js +2 -0
- package/dist/routes/grants.js.map +1 -1
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +3 -0
- package/dist/routes/mcp.js.map +1 -1
- package/dist/routes/pdpp-auth.d.ts +157 -0
- package/dist/routes/pdpp-auth.d.ts.map +1 -0
- package/dist/routes/pdpp-auth.js +953 -0
- package/dist/routes/pdpp-auth.js.map +1 -0
- package/dist/routes/pdpp-blobs.d.ts +26 -0
- package/dist/routes/pdpp-blobs.d.ts.map +1 -0
- package/dist/routes/pdpp-blobs.js +179 -0
- package/dist/routes/pdpp-blobs.js.map +1 -0
- package/dist/routes/pdpp-connections.d.ts +28 -0
- package/dist/routes/pdpp-connections.d.ts.map +1 -0
- package/dist/routes/pdpp-connections.js +144 -0
- package/dist/routes/pdpp-connections.js.map +1 -0
- package/dist/routes/pdpp-declarations.d.ts +58 -0
- package/dist/routes/pdpp-declarations.d.ts.map +1 -0
- package/dist/routes/pdpp-declarations.js +94 -0
- package/dist/routes/pdpp-declarations.js.map +1 -0
- package/dist/routes/pdpp-instance-bindings.d.ts +26 -0
- package/dist/routes/pdpp-instance-bindings.d.ts.map +1 -0
- package/dist/routes/pdpp-instance-bindings.js +124 -0
- package/dist/routes/pdpp-instance-bindings.js.map +1 -0
- package/dist/routes/pdpp-records.d.ts +158 -0
- package/dist/routes/pdpp-records.d.ts.map +1 -0
- package/dist/routes/pdpp-records.js +1537 -0
- package/dist/routes/pdpp-records.js.map +1 -0
- package/dist/routes/pdpp-well-known.d.ts +13 -0
- package/dist/routes/pdpp-well-known.d.ts.map +1 -0
- package/dist/routes/pdpp-well-known.js +20 -0
- package/dist/routes/pdpp-well-known.js.map +1 -0
- package/dist/storage/declaration-witness.d.ts +56 -0
- package/dist/storage/declaration-witness.d.ts.map +1 -0
- package/dist/storage/declaration-witness.js +273 -0
- package/dist/storage/declaration-witness.js.map +1 -0
- package/dist/storage/hierarchy.d.ts +25 -1
- package/dist/storage/hierarchy.d.ts.map +1 -1
- package/dist/storage/hierarchy.js +210 -16
- package/dist/storage/hierarchy.js.map +1 -1
- package/dist/storage/import-operations.d.ts +11 -0
- package/dist/storage/import-operations.d.ts.map +1 -0
- package/dist/storage/import-operations.js +261 -0
- package/dist/storage/import-operations.js.map +1 -0
- package/dist/storage/index-manager.d.ts +24 -2
- package/dist/storage/index-manager.d.ts.map +1 -1
- package/dist/storage/index-manager.js +279 -30
- package/dist/storage/index-manager.js.map +1 -1
- package/dist/storage/index-schema.d.ts +1 -1
- package/dist/storage/index-schema.d.ts.map +1 -1
- package/dist/storage/index-schema.js +189 -8
- package/dist/storage/index-schema.js.map +1 -1
- package/dist/storage/legacy-scope-authority.d.ts +14 -0
- package/dist/storage/legacy-scope-authority.d.ts.map +1 -0
- package/dist/storage/legacy-scope-authority.js +298 -0
- package/dist/storage/legacy-scope-authority.js.map +1 -0
- package/dist/storage/node-data-storage.d.ts +6 -0
- package/dist/storage/node-data-storage.d.ts.map +1 -1
- package/dist/storage/node-data-storage.js +161 -2
- package/dist/storage/node-data-storage.js.map +1 -1
- package/dist/storage/pdpp-grant-binding-sqlite-store.d.ts +17 -0
- package/dist/storage/pdpp-grant-binding-sqlite-store.d.ts.map +1 -0
- package/dist/storage/pdpp-grant-binding-sqlite-store.js +159 -0
- package/dist/storage/pdpp-grant-binding-sqlite-store.js.map +1 -0
- package/dist/storage/pdpp-records-sqlite-store.d.ts +112 -0
- package/dist/storage/pdpp-records-sqlite-store.d.ts.map +1 -0
- package/dist/storage/pdpp-records-sqlite-store.js +1440 -0
- package/dist/storage/pdpp-records-sqlite-store.js.map +1 -0
- package/dist/storage/pdpp-stream-completion.d.ts +5 -0
- package/dist/storage/pdpp-stream-completion.d.ts.map +1 -0
- package/dist/storage/pdpp-stream-completion.js +10 -0
- package/dist/storage/pdpp-stream-completion.js.map +1 -0
- package/dist/storage/scope-deletion-history.d.ts +8 -0
- package/dist/storage/scope-deletion-history.d.ts.map +1 -0
- package/dist/storage/scope-deletion-history.js +40 -0
- package/dist/storage/scope-deletion-history.js.map +1 -0
- package/dist/ui/ps-lite-debug.js +3644 -869
- package/package.json +12 -4
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDPP Core v0.1.0 Authorization Server HTTP surface.
|
|
3
|
+
*
|
|
4
|
+
* The endpoints under `/pdpp/v1`:
|
|
5
|
+
*
|
|
6
|
+
* POST /authorize — accept an RFC 9396 selection request
|
|
7
|
+
* GET /authorize/:session_id/review — the owner's consent review model
|
|
8
|
+
* POST /authorize/:session_id/approve — authenticated owner approval
|
|
9
|
+
* POST /authorize/:session_id/deny — authenticated owner denial
|
|
10
|
+
* POST /token — code redemption + refresh rotation
|
|
11
|
+
* POST /introspect — RFC 7662 introspection
|
|
12
|
+
* GET /grants — the owner's grants, with status
|
|
13
|
+
* POST /revoke — owner-initiated grant revocation
|
|
14
|
+
*
|
|
15
|
+
* This is deliberately a NEW surface rather than an extension of
|
|
16
|
+
* `oauth-token.ts`. That endpoint serves the control-plane and CLI device
|
|
17
|
+
* flows against the legacy `TokenStore`; PDPP tokens are grant-bound and live
|
|
18
|
+
* in their own store with their own lifecycle. Mixing them would mean one
|
|
19
|
+
* endpoint with two token authorities, which §8 explicitly warns against
|
|
20
|
+
* ("do not query or create a second grant authority"). Existing clients of
|
|
21
|
+
* `/oauth/token` are untouched.
|
|
22
|
+
*
|
|
23
|
+
* Every response carries `Cache-Control: no-store` and `Pragma: no-cache`
|
|
24
|
+
* (RFC 6749 §5.1 for token responses; delivery scope §1 requires it on every
|
|
25
|
+
* token response specifically).
|
|
26
|
+
*
|
|
27
|
+
* Two things that cost integrators a debug cycle, so stated plainly:
|
|
28
|
+
*
|
|
29
|
+
* - **Content types differ by endpoint.** `/authorize`, `/approve` and
|
|
30
|
+
* `/deny` take JSON. `/token`, `/introspect` and `/revoke` take
|
|
31
|
+
* `application/x-www-form-urlencoded`, because they follow the RFC 6749 /
|
|
32
|
+
* 7662 / 7009 wire conventions a standard OAuth client library already
|
|
33
|
+
* speaks. Sending JSON to the form endpoints parses to an empty body and
|
|
34
|
+
* reads as a missing parameter.
|
|
35
|
+
* - **The review digest is nested.** `GET /authorize/:id/review` returns
|
|
36
|
+
* `{ session_id, review, expires_at }`, so the digest is at
|
|
37
|
+
* `review.review_digest`, not at the top level. The envelope also carries
|
|
38
|
+
* `instance_choice_required` instead of `review` when the owner still has
|
|
39
|
+
* an instance to pick.
|
|
40
|
+
*/
|
|
41
|
+
import { Hono, type Context } from "hono";
|
|
42
|
+
import type { Logger } from "pino";
|
|
43
|
+
import type { ClientIdentityResult } from "@opendatalabs/personal-server-ts-core/pdpp";
|
|
44
|
+
import type { AuthorizationSessionStore, PdppTokenService } from "@opendatalabs/personal-server-ts-core/pdpp";
|
|
45
|
+
import { type DeclarationSnapshot, type InstanceInventory, type PdppAuthStore, type RecipientTerms, type RegisteredRedirectPolicy, type SelectionRequest } from "@opendatalabs/personal-server-ts-core/pdpp";
|
|
46
|
+
import type { TokenStore } from "../token-store.js";
|
|
47
|
+
/** Owner tokens are short-lived: they authorize consent decisions. */
|
|
48
|
+
export declare const OWNER_TOKEN_TTL_SECONDS: number;
|
|
49
|
+
export interface PdppAuthRouteDeps {
|
|
50
|
+
logger: Logger;
|
|
51
|
+
store: PdppAuthStore;
|
|
52
|
+
tokens: PdppTokenService;
|
|
53
|
+
sessions: AuthorizationSessionStore;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve the retained declaration snapshot for a source. The AS resolves
|
|
56
|
+
* only against this snapshot — never a live re-fetch at approval time.
|
|
57
|
+
*/
|
|
58
|
+
resolveDeclaration(sourceId: string): DeclarationSnapshot | null;
|
|
59
|
+
/** Resolve an owner-token source from the independent connection registry. */
|
|
60
|
+
resolveConnectionSourceId?(sourceId: string): string | undefined;
|
|
61
|
+
/** The owner's connected instances, read fresh at review and approval. */
|
|
62
|
+
inventoryFor(subjectId: string, sourceId: string): InstanceInventory;
|
|
63
|
+
connectionState?(instanceId: string): {
|
|
64
|
+
sourceId: string | null;
|
|
65
|
+
deleted: boolean;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The authenticated owner for an incoming authorization request. Returns
|
|
69
|
+
* null when no owner session is present.
|
|
70
|
+
*/
|
|
71
|
+
currentSubjectId(c: Context): string | null;
|
|
72
|
+
/**
|
|
73
|
+
* Resolve the PDPP subject for a request that already passed the PS owner
|
|
74
|
+
* proof (`web3-auth` + `owner-check`). Used only by
|
|
75
|
+
* `POST /owner/token`. Defaults to `currentSubjectId` when a deployment
|
|
76
|
+
* uses one notion of owner identity for both.
|
|
77
|
+
*/
|
|
78
|
+
ownerSubjectId?(c: Context): string | null;
|
|
79
|
+
/**
|
|
80
|
+
* Owner-proof wiring. When supplied, `POST /owner/token` is guarded by the
|
|
81
|
+
* PS's existing `web3-auth` + `owner-check` middleware — the same wallet
|
|
82
|
+
* signature chain every other owner route uses — and the verified signer
|
|
83
|
+
* becomes the PDPP subject. Absent, the route falls back to
|
|
84
|
+
* `ownerSubjectId`/`currentSubjectId`, which is how the unit tests drive it.
|
|
85
|
+
*/
|
|
86
|
+
ownerAuth?: {
|
|
87
|
+
serverOrigin: string | (() => string);
|
|
88
|
+
serverOwner?: `0x${string}`;
|
|
89
|
+
devToken?: string;
|
|
90
|
+
accessToken?: string;
|
|
91
|
+
tokenStore?: TokenStore;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Registered metadata for a client, used to validate `redirect_uri` by
|
|
95
|
+
* exact match (RFC 6749 §3.1.2.2). Returning null means the client is
|
|
96
|
+
* unregistered, and an unregistered client cannot receive an authorization
|
|
97
|
+
* code — the AS fails closed rather than trusting the requested target.
|
|
98
|
+
*/
|
|
99
|
+
registeredClient?(clientId: string): RegisteredRedirectPolicy | null;
|
|
100
|
+
/**
|
|
101
|
+
* Resolve a URL-hosted client identity (§6) when a client is not locally
|
|
102
|
+
* registered. Optional: leaving it unset preserves registration-only
|
|
103
|
+
* behavior exactly, and performs no outbound fetch.
|
|
104
|
+
*/
|
|
105
|
+
resolveClientIdentity?(clientId: string): Promise<ClientIdentityResult>;
|
|
106
|
+
/**
|
|
107
|
+
* AS-policy grant expiry, when the deployment sets one.
|
|
108
|
+
*
|
|
109
|
+
* `clientId` is the second argument (not folded into `request`) because it
|
|
110
|
+
* is authorization-request context, not part of the RFC 9396 selection
|
|
111
|
+
* request itself — Core's `SelectionRequest` stays binding-neutral and
|
|
112
|
+
* carries no client identity. `request` remains first for compatibility
|
|
113
|
+
* with any existing caller that only closed over it.
|
|
114
|
+
*/
|
|
115
|
+
grantExpiryFor?(request: SelectionRequest, clientId: string): string | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Require PKCE on the authorization code flow. Defaults to true and should
|
|
118
|
+
* stay true: PDPP clients are public clients, so without a verifier an
|
|
119
|
+
* intercepted code is redeemable by whoever intercepted it.
|
|
120
|
+
*/
|
|
121
|
+
requirePkce?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Standing terms this client has authorized, when the deployment tracks
|
|
124
|
+
* them.
|
|
125
|
+
*
|
|
126
|
+
* Absent means the AS knows of no standing terms, which is the safe default
|
|
127
|
+
* rather than a gap: with no terms, only conditions the client's own request
|
|
128
|
+
* already covers can become commitments, and anything else refuses. v0.2 is
|
|
129
|
+
* explicit that a capability advertisement is not acceptance, so an AS that
|
|
130
|
+
* cannot evidence acceptance must not assume it.
|
|
131
|
+
*/
|
|
132
|
+
standingTermsFor?(clientId: string): RecipientTerms | null;
|
|
133
|
+
/**
|
|
134
|
+
* This authorization server's issuer identifier, used to build the absolute
|
|
135
|
+
* endpoint URLs in its metadata document. Absent omits the document
|
|
136
|
+
* entirely rather than publishing relative or guessed URLs — a client that
|
|
137
|
+
* cannot resolve the endpoints is worse off than one that finds no document
|
|
138
|
+
* and falls back to configuration.
|
|
139
|
+
*/
|
|
140
|
+
issuer?: string | (() => string);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The PDPP AS metadata document, as a handler both of its locations share.
|
|
144
|
+
*
|
|
145
|
+
* Exported because the two URLs it is served at live in different routers: the
|
|
146
|
+
* path-first one inside `/pdpp/v1`, and the RFC 8414 §3 one
|
|
147
|
+
* (`/.well-known/oauth-authorization-server/pdpp/v1`) at the app root, outside
|
|
148
|
+
* this prefix. One handler rather than two so the documents can never drift --
|
|
149
|
+
* a client discovering through either must find the same authority.
|
|
150
|
+
*
|
|
151
|
+
* `issuer` is accepted as a thunk for deployments that resolve their own origin
|
|
152
|
+
* late (a bound port unknown at construction). It is resolved per request so
|
|
153
|
+
* the document never advertises a stale origin.
|
|
154
|
+
*/
|
|
155
|
+
export declare function pdppAsMetadataHandler(issuerSource: PdppAuthRouteDeps["issuer"]): (c: Context) => Response;
|
|
156
|
+
export declare function pdppAuthRoutes(deps: PdppAuthRouteDeps): Hono;
|
|
157
|
+
//# sourceMappingURL=pdpp-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdpp-auth.d.ts","sourceRoot":"","sources":["../../src/routes/pdpp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAYL,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EAEtB,MAAM,4CAA4C,CAAC;AAIpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,QAAU,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,yBAAyB,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACjE,8EAA8E;IAC9E,yBAAyB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjE,0EAA0E;IAC1E,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACrE,eAAe,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG;QACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF;;;OAGG;IACH,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5C;;;;;OAKG;IACH,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE;QACV,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;QACtC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,CAAC;IACF;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAAC;IACrE;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE;;;;;;;;OAQG;IACH,cAAc,CAAC,CACb,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAC3D;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CAClC;AA8HD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACxC,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQ,CAoC1B;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAy6B5D"}
|