@bsb/registry 1.0.1
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 +133 -0
- package/bsb-plugin.json +47 -0
- package/lib/.bsb/clients/service-bsb-registry.d.ts +1118 -0
- package/lib/.bsb/clients/service-bsb-registry.d.ts.map +1 -0
- package/lib/.bsb/clients/service-bsb-registry.js +393 -0
- package/lib/.bsb/clients/service-bsb-registry.js.map +1 -0
- package/lib/plugins/service-bsb-registry/auth.d.ts +87 -0
- package/lib/plugins/service-bsb-registry/auth.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry/auth.js +197 -0
- package/lib/plugins/service-bsb-registry/auth.js.map +1 -0
- package/lib/plugins/service-bsb-registry/db/file.d.ts +73 -0
- package/lib/plugins/service-bsb-registry/db/file.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry/db/file.js +588 -0
- package/lib/plugins/service-bsb-registry/db/file.js.map +1 -0
- package/lib/plugins/service-bsb-registry/db/index.d.ts +75 -0
- package/lib/plugins/service-bsb-registry/db/index.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry/db/index.js +24 -0
- package/lib/plugins/service-bsb-registry/db/index.js.map +1 -0
- package/lib/plugins/service-bsb-registry/index.d.ts +1228 -0
- package/lib/plugins/service-bsb-registry/index.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry/index.js +661 -0
- package/lib/plugins/service-bsb-registry/index.js.map +1 -0
- package/lib/plugins/service-bsb-registry/types.d.ts +559 -0
- package/lib/plugins/service-bsb-registry/types.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry/types.js +235 -0
- package/lib/plugins/service-bsb-registry/types.js.map +1 -0
- package/lib/plugins/service-bsb-registry-ui/http-server.d.ts +138 -0
- package/lib/plugins/service-bsb-registry-ui/http-server.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry-ui/http-server.js +1660 -0
- package/lib/plugins/service-bsb-registry-ui/http-server.js.map +1 -0
- package/lib/plugins/service-bsb-registry-ui/index.d.ts +62 -0
- package/lib/plugins/service-bsb-registry-ui/index.d.ts.map +1 -0
- package/lib/plugins/service-bsb-registry-ui/index.js +101 -0
- package/lib/plugins/service-bsb-registry-ui/index.js.map +1 -0
- package/lib/plugins/service-bsb-registry-ui/static/assets/images/apple-touch-icon.png +0 -0
- package/lib/plugins/service-bsb-registry-ui/static/assets/images/favicon-16x16.png +0 -0
- package/lib/plugins/service-bsb-registry-ui/static/assets/images/favicon-32x32.png +0 -0
- package/lib/plugins/service-bsb-registry-ui/static/assets/images/favicon.ico +0 -0
- package/lib/plugins/service-bsb-registry-ui/static/css/style.css +1849 -0
- package/lib/plugins/service-bsb-registry-ui/static/js/app.js +336 -0
- package/lib/plugins/service-bsb-registry-ui/templates/layouts/main.hbs +39 -0
- package/lib/plugins/service-bsb-registry-ui/templates/pages/error.hbs +13 -0
- package/lib/plugins/service-bsb-registry-ui/templates/pages/home.hbs +62 -0
- package/lib/plugins/service-bsb-registry-ui/templates/pages/not-found.hbs +13 -0
- package/lib/plugins/service-bsb-registry-ui/templates/pages/plugin-detail.hbs +537 -0
- package/lib/plugins/service-bsb-registry-ui/templates/pages/plugins.hbs +40 -0
- package/lib/plugins/service-bsb-registry-ui/templates/partials/pagination.hbs +41 -0
- package/lib/plugins/service-bsb-registry-ui/templates/partials/plugin-card.hbs +40 -0
- package/lib/plugins/service-bsb-registry-ui/templates/partials/search-form.hbs +31 -0
- package/lib/schemas/service-bsb-registry-ui.json +57 -0
- package/lib/schemas/service-bsb-registry-ui.plugin.json +73 -0
- package/lib/schemas/service-bsb-registry.json +1883 -0
- package/lib/schemas/service-bsb-registry.plugin.json +68 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bsb-registry.d.ts","sourceRoot":"","sources":["../../../src/.bsb/clients/service-bsb-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BsbRegistryClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Auto-generated BSB virtual client for BSB Registry Core
|
|
6
|
+
* DO NOT EDIT - Regenerated on every build
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
const base_1 = require("@bsb/base");
|
|
10
|
+
const base_2 = require("@bsb/base");
|
|
11
|
+
const _registryPluginPublishSchema = base_1.bsb.object({
|
|
12
|
+
org: base_1.bsb.string({ min: 1, max: 100, description: "Organization name" }),
|
|
13
|
+
name: base_1.bsb.string({ min: 1, max: 100, description: "Plugin name" }),
|
|
14
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semantic version" }),
|
|
15
|
+
language: base_1.bsb.enum(["nodejs", "csharp", "go", "java", "python"], "Programming language"),
|
|
16
|
+
metadata: base_1.bsb.object({
|
|
17
|
+
displayName: base_1.bsb.string({ min: 1, max: 200, description: "Human-readable name" }),
|
|
18
|
+
description: base_1.bsb.string({ min: 1, max: 1000, description: "Short description" }),
|
|
19
|
+
category: base_1.bsb.enum(["service", "observable", "events", "config"], "Plugin category"),
|
|
20
|
+
tags: base_1.bsb.array(base_1.bsb.string({ max: 50 }), { description: "Searchable keywords" }),
|
|
21
|
+
author: (0, base_1.optional)(base_1.bsb.union([base_1.bsb.string({ max: 200, description: "Author name as a string" }), base_1.bsb.object({
|
|
22
|
+
name: base_1.bsb.string({ max: 200, description: "Author name" }),
|
|
23
|
+
email: (0, base_1.optional)(base_1.bsb.string({ max: 200, description: "Author email" })),
|
|
24
|
+
url: (0, base_1.optional)(base_1.bsb.uri("Author homepage"))
|
|
25
|
+
}, "Author as an object (npm-style)")], "Author - either a string or { name, email?, url? }")),
|
|
26
|
+
license: (0, base_1.optional)(base_1.bsb.string({ max: 50 })),
|
|
27
|
+
homepage: (0, base_1.optional)(base_1.bsb.uri()),
|
|
28
|
+
repository: (0, base_1.optional)(base_1.bsb.uri())
|
|
29
|
+
}, "Plugin metadata"),
|
|
30
|
+
eventSchema: base_1.bsb.unknown("EventSchemaExport object (parsed at HTTP boundary, transported as object)"),
|
|
31
|
+
capabilities: (0, base_1.optional)(base_1.bsb.unknown("Plugin capabilities object (parsed at HTTP boundary, optional top-level override)")),
|
|
32
|
+
configSchema: (0, base_1.optional)(base_1.bsb.unknown("Configuration JSON Schema object (parsed at HTTP boundary)")),
|
|
33
|
+
typeDefinitions: (0, base_1.optional)(base_1.bsb.object({
|
|
34
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "TypeScript .d.ts definitions" })),
|
|
35
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "C# interface definitions" })),
|
|
36
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go type definitions" })),
|
|
37
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java interface definitions" }))
|
|
38
|
+
}, "Language-specific type definitions")),
|
|
39
|
+
documentation: base_1.bsb.array(base_1.bsb.string({ description: "Markdown file content (title extracted from first # heading)" }), { min: 1, description: "Array of markdown documentation files (at least 1 required)" }),
|
|
40
|
+
dependencies: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
41
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Plugin ID (org/name or just name for _ org)" }),
|
|
42
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semver range constraint (e.g. ^1.0.0, ~2.1, >=3.0.0)" })
|
|
43
|
+
}, "Plugin dependency declaration"), { description: "Plugin dependencies" })),
|
|
44
|
+
package: (0, base_1.optional)(base_1.bsb.object({
|
|
45
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "NPM package name" })),
|
|
46
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "NuGet package name" })),
|
|
47
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go module path" })),
|
|
48
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Maven coordinates" })),
|
|
49
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "PyPI package name" }))
|
|
50
|
+
}, "Language-specific package information")),
|
|
51
|
+
runtime: (0, base_1.optional)(base_1.bsb.object({
|
|
52
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "Node.js version requirement" })),
|
|
53
|
+
dotnet: (0, base_1.optional)(base_1.bsb.string({ description: ".NET version requirement" })),
|
|
54
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go version requirement" })),
|
|
55
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java version requirement" })),
|
|
56
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "Python version requirement" }))
|
|
57
|
+
}, "Runtime version requirements")),
|
|
58
|
+
visibility: (0, base_1.optional)(base_1.bsb.enum(["public", "private"], "Visibility level (default: public)")),
|
|
59
|
+
publishedBy: (0, base_1.optional)(base_1.bsb.string({ max: 200, description: "User ID of the publisher (set by HTTP layer)" }))
|
|
60
|
+
}, "Request body for publishing a plugin");
|
|
61
|
+
const _registryPluginPublishOutputSchema = base_1.bsb.object({
|
|
62
|
+
success: base_1.bsb.boolean("Operation success status"),
|
|
63
|
+
pluginId: base_1.bsb.string({ description: "Full plugin ID (org/name)" }),
|
|
64
|
+
version: base_1.bsb.string({ description: "Published version" }),
|
|
65
|
+
message: (0, base_1.optional)(base_1.bsb.string({ description: "Success or error message" }))
|
|
66
|
+
}, "Response for publish operation");
|
|
67
|
+
const _registryPluginGetSchema = base_1.bsb.object({
|
|
68
|
+
org: base_1.bsb.string({ description: "Organization name" }),
|
|
69
|
+
name: base_1.bsb.string({ description: "Plugin name" }),
|
|
70
|
+
version: (0, base_1.optional)(base_1.bsb.string({ description: "Version (defaults to latest)" }))
|
|
71
|
+
});
|
|
72
|
+
const _registryPluginGetOutputSchema = base_1.bsb.object({
|
|
73
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Full ID: org/plugin-name" }),
|
|
74
|
+
org: base_1.bsb.string({ min: 1, max: 100, description: "Organization or user name" }),
|
|
75
|
+
name: base_1.bsb.string({ min: 1, max: 100, description: "Plugin name" }),
|
|
76
|
+
displayName: base_1.bsb.string({ min: 1, max: 200, description: "Human-readable name" }),
|
|
77
|
+
description: base_1.bsb.string({ min: 1, max: 1000, description: "Short description" }),
|
|
78
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semantic version (1.0.0)" }),
|
|
79
|
+
majorMinor: base_1.bsb.string({ min: 1, max: 20, description: "Major.minor only (1.0)" }),
|
|
80
|
+
language: base_1.bsb.enum(["nodejs", "csharp", "go", "java", "python"], "Programming language"),
|
|
81
|
+
package: (0, base_1.optional)(base_1.bsb.object({
|
|
82
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "NPM package name" })),
|
|
83
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "NuGet package name" })),
|
|
84
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go module path" })),
|
|
85
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Maven coordinates" })),
|
|
86
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "PyPI package name" }))
|
|
87
|
+
}, "Language-specific package information")),
|
|
88
|
+
category: base_1.bsb.enum(["service", "observable", "events", "config"], "Plugin category"),
|
|
89
|
+
tags: base_1.bsb.array(base_1.bsb.string({ max: 50 }), { description: "Searchable keywords" }),
|
|
90
|
+
author: (0, base_1.optional)(base_1.bsb.union([base_1.bsb.string({ max: 200, description: "Author name as a string" }), base_1.bsb.object({
|
|
91
|
+
name: base_1.bsb.string({ max: 200, description: "Author name" }),
|
|
92
|
+
email: (0, base_1.optional)(base_1.bsb.string({ max: 200, description: "Author email" })),
|
|
93
|
+
url: (0, base_1.optional)(base_1.bsb.uri("Author homepage"))
|
|
94
|
+
}, "Author as an object (npm-style)")], "Author - either a string or { name, email?, url? }")),
|
|
95
|
+
license: (0, base_1.optional)(base_1.bsb.string({ max: 50, description: "License identifier" })),
|
|
96
|
+
homepage: (0, base_1.optional)(base_1.bsb.uri("Documentation URL")),
|
|
97
|
+
repository: (0, base_1.optional)(base_1.bsb.uri("Source repository URL")),
|
|
98
|
+
visibility: base_1.bsb.enum(["public", "private"], "Visibility level"),
|
|
99
|
+
eventSchema: base_1.bsb.unknown("Events map (Record<eventName, EventExportEntry>)"),
|
|
100
|
+
capabilities: (0, base_1.optional)(base_1.bsb.unknown("Plugin capabilities object")),
|
|
101
|
+
configSchema: (0, base_1.optional)(base_1.bsb.unknown("Configuration JSON Schema object")),
|
|
102
|
+
typeDefinitions: (0, base_1.optional)(base_1.bsb.object({
|
|
103
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "TypeScript .d.ts definitions" })),
|
|
104
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "C# interface definitions" })),
|
|
105
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go type definitions" })),
|
|
106
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java interface definitions" }))
|
|
107
|
+
}, "Language-specific type definitions")),
|
|
108
|
+
documentation: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.string({ description: "Markdown file content (title extracted from first # heading)" }), { min: 1, description: "Array of markdown documentation files (at least 1 required)" })),
|
|
109
|
+
dependencies: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
110
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Plugin ID (org/name or just name for _ org)" }),
|
|
111
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semver range constraint (e.g. ^1.0.0, ~2.1, >=3.0.0)" })
|
|
112
|
+
}, "Plugin dependency declaration"), { description: "Plugins this plugin depends on" })),
|
|
113
|
+
permissions: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
114
|
+
userId: base_1.bsb.uuid("User ID"),
|
|
115
|
+
permission: base_1.bsb.enum(["read", "write"], "Resource-level permission")
|
|
116
|
+
}, "Per-package permission entry (overrides org-level)"), { description: "Per-package user permissions" })),
|
|
117
|
+
eventCount: base_1.bsb.int32({ description: "Total event count" }),
|
|
118
|
+
emitEventCount: base_1.bsb.int32({ description: "Fire-and-forget emit events" }),
|
|
119
|
+
onEventCount: base_1.bsb.int32({ description: "Fire-and-forget on events" }),
|
|
120
|
+
returnableEventCount: base_1.bsb.int32({ description: "Returnable events" }),
|
|
121
|
+
broadcastEventCount: base_1.bsb.int32({ description: "Broadcast events" }),
|
|
122
|
+
publishedBy: base_1.bsb.string({ max: 200, description: "User ID who published" }),
|
|
123
|
+
publishedAt: base_1.bsb.datetime("First publish timestamp"),
|
|
124
|
+
updatedAt: base_1.bsb.datetime("Last update timestamp"),
|
|
125
|
+
downloads: (0, base_1.optional)(base_1.bsb.int32({ description: "Download count" })),
|
|
126
|
+
runtime: (0, base_1.optional)(base_1.bsb.object({
|
|
127
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "Node.js version requirement" })),
|
|
128
|
+
dotnet: (0, base_1.optional)(base_1.bsb.string({ description: ".NET version requirement" })),
|
|
129
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go version requirement" })),
|
|
130
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java version requirement" })),
|
|
131
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "Python version requirement" }))
|
|
132
|
+
}, "Runtime version requirements"))
|
|
133
|
+
}, "Registry entry for a plugin");
|
|
134
|
+
const _registryPluginListSchema = base_1.bsb.object({
|
|
135
|
+
org: (0, base_1.optional)(base_1.bsb.string({ max: 100, description: "Filter by organization" })),
|
|
136
|
+
language: (0, base_1.optional)(base_1.bsb.enum(["nodejs", "csharp", "go", "java", "python"], "Filter by language")),
|
|
137
|
+
category: (0, base_1.optional)(base_1.bsb.enum(["service", "observable", "events", "config"], "Filter by category")),
|
|
138
|
+
limit: (0, base_1.optional)(base_1.bsb.int32({ description: "Results per page (default: 50)" })),
|
|
139
|
+
offset: (0, base_1.optional)(base_1.bsb.int32({ description: "Pagination offset (default: 0)" }))
|
|
140
|
+
}, "Query parameters for listing plugins");
|
|
141
|
+
const _registryPluginListOutputSchema = base_1.bsb.object({
|
|
142
|
+
results: base_1.bsb.array(base_1.bsb.object({
|
|
143
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Full ID: org/plugin-name" }),
|
|
144
|
+
org: base_1.bsb.string({ min: 1, max: 100, description: "Organization or user name" }),
|
|
145
|
+
name: base_1.bsb.string({ min: 1, max: 100, description: "Plugin name" }),
|
|
146
|
+
displayName: base_1.bsb.string({ min: 1, max: 200, description: "Human-readable name" }),
|
|
147
|
+
description: base_1.bsb.string({ min: 1, max: 1000, description: "Short description" }),
|
|
148
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semantic version (1.0.0)" }),
|
|
149
|
+
majorMinor: base_1.bsb.string({ min: 1, max: 20, description: "Major.minor only (1.0)" }),
|
|
150
|
+
language: base_1.bsb.enum(["nodejs", "csharp", "go", "java", "python"], "Programming language"),
|
|
151
|
+
package: (0, base_1.optional)(base_1.bsb.object({
|
|
152
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "NPM package name" })),
|
|
153
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "NuGet package name" })),
|
|
154
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go module path" })),
|
|
155
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Maven coordinates" })),
|
|
156
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "PyPI package name" }))
|
|
157
|
+
}, "Language-specific package information")),
|
|
158
|
+
category: base_1.bsb.enum(["service", "observable", "events", "config"], "Plugin category"),
|
|
159
|
+
tags: base_1.bsb.array(base_1.bsb.string({ max: 50 }), { description: "Searchable keywords" }),
|
|
160
|
+
author: (0, base_1.optional)(base_1.bsb.union([base_1.bsb.string({ max: 200, description: "Author name as a string" }), base_1.bsb.object({
|
|
161
|
+
name: base_1.bsb.string({ max: 200, description: "Author name" }),
|
|
162
|
+
email: (0, base_1.optional)(base_1.bsb.string({ max: 200, description: "Author email" })),
|
|
163
|
+
url: (0, base_1.optional)(base_1.bsb.uri("Author homepage"))
|
|
164
|
+
}, "Author as an object (npm-style)")], "Author - either a string or { name, email?, url? }")),
|
|
165
|
+
license: (0, base_1.optional)(base_1.bsb.string({ max: 50, description: "License identifier" })),
|
|
166
|
+
homepage: (0, base_1.optional)(base_1.bsb.uri("Documentation URL")),
|
|
167
|
+
repository: (0, base_1.optional)(base_1.bsb.uri("Source repository URL")),
|
|
168
|
+
visibility: base_1.bsb.enum(["public", "private"], "Visibility level"),
|
|
169
|
+
eventSchema: base_1.bsb.unknown("Events map (Record<eventName, EventExportEntry>)"),
|
|
170
|
+
capabilities: (0, base_1.optional)(base_1.bsb.unknown("Plugin capabilities object")),
|
|
171
|
+
configSchema: (0, base_1.optional)(base_1.bsb.unknown("Configuration JSON Schema object")),
|
|
172
|
+
typeDefinitions: (0, base_1.optional)(base_1.bsb.object({
|
|
173
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "TypeScript .d.ts definitions" })),
|
|
174
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "C# interface definitions" })),
|
|
175
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go type definitions" })),
|
|
176
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java interface definitions" }))
|
|
177
|
+
}, "Language-specific type definitions")),
|
|
178
|
+
documentation: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.string({ description: "Markdown file content (title extracted from first # heading)" }), { min: 1, description: "Array of markdown documentation files (at least 1 required)" })),
|
|
179
|
+
dependencies: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
180
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Plugin ID (org/name or just name for _ org)" }),
|
|
181
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semver range constraint (e.g. ^1.0.0, ~2.1, >=3.0.0)" })
|
|
182
|
+
}, "Plugin dependency declaration"), { description: "Plugins this plugin depends on" })),
|
|
183
|
+
permissions: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
184
|
+
userId: base_1.bsb.uuid("User ID"),
|
|
185
|
+
permission: base_1.bsb.enum(["read", "write"], "Resource-level permission")
|
|
186
|
+
}, "Per-package permission entry (overrides org-level)"), { description: "Per-package user permissions" })),
|
|
187
|
+
eventCount: base_1.bsb.int32({ description: "Total event count" }),
|
|
188
|
+
emitEventCount: base_1.bsb.int32({ description: "Fire-and-forget emit events" }),
|
|
189
|
+
onEventCount: base_1.bsb.int32({ description: "Fire-and-forget on events" }),
|
|
190
|
+
returnableEventCount: base_1.bsb.int32({ description: "Returnable events" }),
|
|
191
|
+
broadcastEventCount: base_1.bsb.int32({ description: "Broadcast events" }),
|
|
192
|
+
publishedBy: base_1.bsb.string({ max: 200, description: "User ID who published" }),
|
|
193
|
+
publishedAt: base_1.bsb.datetime("First publish timestamp"),
|
|
194
|
+
updatedAt: base_1.bsb.datetime("Last update timestamp"),
|
|
195
|
+
downloads: (0, base_1.optional)(base_1.bsb.int32({ description: "Download count" })),
|
|
196
|
+
runtime: (0, base_1.optional)(base_1.bsb.object({
|
|
197
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "Node.js version requirement" })),
|
|
198
|
+
dotnet: (0, base_1.optional)(base_1.bsb.string({ description: ".NET version requirement" })),
|
|
199
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go version requirement" })),
|
|
200
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java version requirement" })),
|
|
201
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "Python version requirement" }))
|
|
202
|
+
}, "Runtime version requirements"))
|
|
203
|
+
}, "Registry entry for a plugin"), { description: "Plugin list" }),
|
|
204
|
+
total: base_1.bsb.int32({ description: "Total count" }),
|
|
205
|
+
page: base_1.bsb.int32({ description: "Current page number" })
|
|
206
|
+
}, "List results response");
|
|
207
|
+
const _registryPluginSearchSchema = base_1.bsb.object({
|
|
208
|
+
query: base_1.bsb.string({ min: 1, max: 200, description: "Search query string" }),
|
|
209
|
+
language: (0, base_1.optional)(base_1.bsb.enum(["nodejs", "csharp", "go", "java", "python"], "Filter by language")),
|
|
210
|
+
category: (0, base_1.optional)(base_1.bsb.enum(["service", "observable", "events", "config"], "Filter by category")),
|
|
211
|
+
limit: (0, base_1.optional)(base_1.bsb.int32({ description: "Results per page (default: 20)" })),
|
|
212
|
+
offset: (0, base_1.optional)(base_1.bsb.int32({ description: "Pagination offset (default: 0)" }))
|
|
213
|
+
}, "Query parameters for searching plugins");
|
|
214
|
+
const _registryPluginSearchOutputSchema = base_1.bsb.object({
|
|
215
|
+
results: base_1.bsb.array(base_1.bsb.object({
|
|
216
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Full ID: org/plugin-name" }),
|
|
217
|
+
org: base_1.bsb.string({ min: 1, max: 100, description: "Organization or user name" }),
|
|
218
|
+
name: base_1.bsb.string({ min: 1, max: 100, description: "Plugin name" }),
|
|
219
|
+
displayName: base_1.bsb.string({ min: 1, max: 200, description: "Human-readable name" }),
|
|
220
|
+
description: base_1.bsb.string({ min: 1, max: 1000, description: "Short description" }),
|
|
221
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semantic version (1.0.0)" }),
|
|
222
|
+
majorMinor: base_1.bsb.string({ min: 1, max: 20, description: "Major.minor only (1.0)" }),
|
|
223
|
+
language: base_1.bsb.enum(["nodejs", "csharp", "go", "java", "python"], "Programming language"),
|
|
224
|
+
package: (0, base_1.optional)(base_1.bsb.object({
|
|
225
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "NPM package name" })),
|
|
226
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "NuGet package name" })),
|
|
227
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go module path" })),
|
|
228
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Maven coordinates" })),
|
|
229
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "PyPI package name" }))
|
|
230
|
+
}, "Language-specific package information")),
|
|
231
|
+
category: base_1.bsb.enum(["service", "observable", "events", "config"], "Plugin category"),
|
|
232
|
+
tags: base_1.bsb.array(base_1.bsb.string({ max: 50 }), { description: "Searchable keywords" }),
|
|
233
|
+
author: (0, base_1.optional)(base_1.bsb.union([base_1.bsb.string({ max: 200, description: "Author name as a string" }), base_1.bsb.object({
|
|
234
|
+
name: base_1.bsb.string({ max: 200, description: "Author name" }),
|
|
235
|
+
email: (0, base_1.optional)(base_1.bsb.string({ max: 200, description: "Author email" })),
|
|
236
|
+
url: (0, base_1.optional)(base_1.bsb.uri("Author homepage"))
|
|
237
|
+
}, "Author as an object (npm-style)")], "Author - either a string or { name, email?, url? }")),
|
|
238
|
+
license: (0, base_1.optional)(base_1.bsb.string({ max: 50, description: "License identifier" })),
|
|
239
|
+
homepage: (0, base_1.optional)(base_1.bsb.uri("Documentation URL")),
|
|
240
|
+
repository: (0, base_1.optional)(base_1.bsb.uri("Source repository URL")),
|
|
241
|
+
visibility: base_1.bsb.enum(["public", "private"], "Visibility level"),
|
|
242
|
+
eventSchema: base_1.bsb.unknown("Events map (Record<eventName, EventExportEntry>)"),
|
|
243
|
+
capabilities: (0, base_1.optional)(base_1.bsb.unknown("Plugin capabilities object")),
|
|
244
|
+
configSchema: (0, base_1.optional)(base_1.bsb.unknown("Configuration JSON Schema object")),
|
|
245
|
+
typeDefinitions: (0, base_1.optional)(base_1.bsb.object({
|
|
246
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "TypeScript .d.ts definitions" })),
|
|
247
|
+
csharp: (0, base_1.optional)(base_1.bsb.string({ description: "C# interface definitions" })),
|
|
248
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go type definitions" })),
|
|
249
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java interface definitions" }))
|
|
250
|
+
}, "Language-specific type definitions")),
|
|
251
|
+
documentation: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.string({ description: "Markdown file content (title extracted from first # heading)" }), { min: 1, description: "Array of markdown documentation files (at least 1 required)" })),
|
|
252
|
+
dependencies: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
253
|
+
id: base_1.bsb.string({ min: 1, max: 200, description: "Plugin ID (org/name or just name for _ org)" }),
|
|
254
|
+
version: base_1.bsb.string({ min: 1, max: 50, description: "Semver range constraint (e.g. ^1.0.0, ~2.1, >=3.0.0)" })
|
|
255
|
+
}, "Plugin dependency declaration"), { description: "Plugins this plugin depends on" })),
|
|
256
|
+
permissions: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.object({
|
|
257
|
+
userId: base_1.bsb.uuid("User ID"),
|
|
258
|
+
permission: base_1.bsb.enum(["read", "write"], "Resource-level permission")
|
|
259
|
+
}, "Per-package permission entry (overrides org-level)"), { description: "Per-package user permissions" })),
|
|
260
|
+
eventCount: base_1.bsb.int32({ description: "Total event count" }),
|
|
261
|
+
emitEventCount: base_1.bsb.int32({ description: "Fire-and-forget emit events" }),
|
|
262
|
+
onEventCount: base_1.bsb.int32({ description: "Fire-and-forget on events" }),
|
|
263
|
+
returnableEventCount: base_1.bsb.int32({ description: "Returnable events" }),
|
|
264
|
+
broadcastEventCount: base_1.bsb.int32({ description: "Broadcast events" }),
|
|
265
|
+
publishedBy: base_1.bsb.string({ max: 200, description: "User ID who published" }),
|
|
266
|
+
publishedAt: base_1.bsb.datetime("First publish timestamp"),
|
|
267
|
+
updatedAt: base_1.bsb.datetime("Last update timestamp"),
|
|
268
|
+
downloads: (0, base_1.optional)(base_1.bsb.int32({ description: "Download count" })),
|
|
269
|
+
runtime: (0, base_1.optional)(base_1.bsb.object({
|
|
270
|
+
nodejs: (0, base_1.optional)(base_1.bsb.string({ description: "Node.js version requirement" })),
|
|
271
|
+
dotnet: (0, base_1.optional)(base_1.bsb.string({ description: ".NET version requirement" })),
|
|
272
|
+
go: (0, base_1.optional)(base_1.bsb.string({ description: "Go version requirement" })),
|
|
273
|
+
java: (0, base_1.optional)(base_1.bsb.string({ description: "Java version requirement" })),
|
|
274
|
+
python: (0, base_1.optional)(base_1.bsb.string({ description: "Python version requirement" }))
|
|
275
|
+
}, "Runtime version requirements"))
|
|
276
|
+
}, "Registry entry for a plugin"), { description: "Matching plugins" }),
|
|
277
|
+
total: base_1.bsb.int32({ description: "Total result count" }),
|
|
278
|
+
query: base_1.bsb.string({ description: "Search query used" })
|
|
279
|
+
}, "Search results response");
|
|
280
|
+
const _registryPluginDeleteSchema = base_1.bsb.object({
|
|
281
|
+
org: base_1.bsb.string({ description: "Organization name" }),
|
|
282
|
+
name: base_1.bsb.string({ description: "Plugin name" }),
|
|
283
|
+
version: (0, base_1.optional)(base_1.bsb.string({ description: "Version (or all if not provided)" }))
|
|
284
|
+
});
|
|
285
|
+
const _registryPluginDeleteOutputSchema = base_1.bsb.object({
|
|
286
|
+
success: base_1.bsb.boolean("Success status"),
|
|
287
|
+
deleted: base_1.bsb.int32({ description: "Number of versions deleted" })
|
|
288
|
+
});
|
|
289
|
+
const _registryPluginVersionsSchema = base_1.bsb.object({
|
|
290
|
+
org: base_1.bsb.string({ description: "Organization name" }),
|
|
291
|
+
name: base_1.bsb.string({ description: "Plugin name" }),
|
|
292
|
+
majorMinor: (0, base_1.optional)(base_1.bsb.string({ description: "Filter by major.minor" }))
|
|
293
|
+
});
|
|
294
|
+
const _registryPluginVersionsOutputSchema = base_1.bsb.object({
|
|
295
|
+
versions: base_1.bsb.array(base_1.bsb.object({
|
|
296
|
+
version: base_1.bsb.string({ description: "Full semantic version" }),
|
|
297
|
+
majorMinor: base_1.bsb.string({ description: "Major.minor version" }),
|
|
298
|
+
publishedAt: base_1.bsb.datetime("Publication timestamp")
|
|
299
|
+
}, "Version information"), { description: "All available versions" }),
|
|
300
|
+
latest: base_1.bsb.string({ description: "Latest version" }),
|
|
301
|
+
latestForMajorMinor: base_1.bsb.string({ description: "JSON map of major.minor to latest patch" })
|
|
302
|
+
}, "Version list response");
|
|
303
|
+
const _registryStatsGetSchema = base_1.bsb.object({}, '');
|
|
304
|
+
const _registryStatsGetOutputSchema = base_1.bsb.object({
|
|
305
|
+
totalPlugins: base_1.bsb.int32({ description: "Total plugin count" }),
|
|
306
|
+
byLanguage: base_1.bsb.string({ description: "JSON map of language to count" }),
|
|
307
|
+
byCategory: base_1.bsb.string({ description: "JSON map of category to count" }),
|
|
308
|
+
totalDownloads: base_1.bsb.int32({ description: "Total downloads across all plugins" })
|
|
309
|
+
}, "Registry statistics");
|
|
310
|
+
const _registryAuthLoginSchema = base_1.bsb.object({
|
|
311
|
+
username: base_1.bsb.string({ description: "Username" }),
|
|
312
|
+
password: base_1.bsb.string({ description: "Encrypted password" })
|
|
313
|
+
});
|
|
314
|
+
const _registryAuthLoginOutputSchema = base_1.bsb.object({
|
|
315
|
+
success: base_1.bsb.boolean("Login success"),
|
|
316
|
+
token: (0, base_1.optional)(base_1.bsb.string({ description: "Auth token" })),
|
|
317
|
+
expiresAt: (0, base_1.optional)(base_1.bsb.datetime("Expiration")),
|
|
318
|
+
message: (0, base_1.optional)(base_1.bsb.string({ description: "Error message" }))
|
|
319
|
+
});
|
|
320
|
+
const _registryAuthVerifySchema = base_1.bsb.object({
|
|
321
|
+
token: base_1.bsb.string({ description: "Token to verify" })
|
|
322
|
+
});
|
|
323
|
+
const _registryAuthVerifyOutputSchema = base_1.bsb.object({
|
|
324
|
+
valid: base_1.bsb.boolean("Token validity"),
|
|
325
|
+
userId: (0, base_1.optional)(base_1.bsb.string({ description: "User ID" })),
|
|
326
|
+
permissions: (0, base_1.optional)(base_1.bsb.array(base_1.bsb.string()))
|
|
327
|
+
});
|
|
328
|
+
// --- Event Schemas (typed, follows ServiceClientEventSchemas flip) ---
|
|
329
|
+
const _EventSchemas = (0, base_2.createEventSchemas)({
|
|
330
|
+
onReturnableEvents: {
|
|
331
|
+
'registry.plugin.publish': (0, base_2.createReturnableEvent)(_registryPluginPublishSchema, _registryPluginPublishOutputSchema, "Publish a new plugin or version"),
|
|
332
|
+
'registry.plugin.get': (0, base_2.createReturnableEvent)(_registryPluginGetSchema, _registryPluginGetOutputSchema, "Get plugin details by org/name"),
|
|
333
|
+
'registry.plugin.list': (0, base_2.createReturnableEvent)(_registryPluginListSchema, _registryPluginListOutputSchema, "List plugins with filtering"),
|
|
334
|
+
'registry.plugin.search': (0, base_2.createReturnableEvent)(_registryPluginSearchSchema, _registryPluginSearchOutputSchema, "Search plugins by query"),
|
|
335
|
+
'registry.plugin.delete': (0, base_2.createReturnableEvent)(_registryPluginDeleteSchema, _registryPluginDeleteOutputSchema, "Delete a plugin or specific version"),
|
|
336
|
+
'registry.plugin.versions': (0, base_2.createReturnableEvent)(_registryPluginVersionsSchema, _registryPluginVersionsOutputSchema, "Get all versions of a plugin"),
|
|
337
|
+
'registry.stats.get': (0, base_2.createReturnableEvent)(_registryStatsGetSchema, _registryStatsGetOutputSchema, "Get registry statistics"),
|
|
338
|
+
'registry.auth.login': (0, base_2.createReturnableEvent)(_registryAuthLoginSchema, _registryAuthLoginOutputSchema, "Authenticate user and get token"),
|
|
339
|
+
'registry.auth.verify': (0, base_2.createReturnableEvent)(_registryAuthVerifySchema, _registryAuthVerifyOutputSchema, "Verify authentication token"),
|
|
340
|
+
},
|
|
341
|
+
});
|
|
342
|
+
// --- Internal: Plugin reference for ServiceClient wiring ---
|
|
343
|
+
const _PLUGIN_CLIENT = {
|
|
344
|
+
name: "service-bsb-registry",
|
|
345
|
+
};
|
|
346
|
+
class _PluginRef {
|
|
347
|
+
static PLUGIN_CLIENT = _PLUGIN_CLIENT;
|
|
348
|
+
}
|
|
349
|
+
// --- Exported Client ---
|
|
350
|
+
class BsbRegistryClient extends base_1.ServiceClient {
|
|
351
|
+
constructor(context) {
|
|
352
|
+
super(_PluginRef, context);
|
|
353
|
+
}
|
|
354
|
+
/** Publish a new plugin or version (default timeout: 5s) */
|
|
355
|
+
async registryPluginPublish(obs, input, timeout = 5) {
|
|
356
|
+
return this.events.emitEventAndReturn("registry.plugin.publish", obs, input, timeout);
|
|
357
|
+
}
|
|
358
|
+
/** Get plugin details by org/name (default timeout: 5s) */
|
|
359
|
+
async registryPluginGet(obs, input, timeout = 5) {
|
|
360
|
+
return this.events.emitEventAndReturn("registry.plugin.get", obs, input, timeout);
|
|
361
|
+
}
|
|
362
|
+
/** List plugins with filtering (default timeout: 5s) */
|
|
363
|
+
async registryPluginList(obs, input, timeout = 5) {
|
|
364
|
+
return this.events.emitEventAndReturn("registry.plugin.list", obs, input, timeout);
|
|
365
|
+
}
|
|
366
|
+
/** Search plugins by query (default timeout: 5s) */
|
|
367
|
+
async registryPluginSearch(obs, input, timeout = 5) {
|
|
368
|
+
return this.events.emitEventAndReturn("registry.plugin.search", obs, input, timeout);
|
|
369
|
+
}
|
|
370
|
+
/** Delete a plugin or specific version (default timeout: 5s) */
|
|
371
|
+
async registryPluginDelete(obs, input, timeout = 5) {
|
|
372
|
+
return this.events.emitEventAndReturn("registry.plugin.delete", obs, input, timeout);
|
|
373
|
+
}
|
|
374
|
+
/** Get all versions of a plugin (default timeout: 5s) */
|
|
375
|
+
async registryPluginVersions(obs, input, timeout = 5) {
|
|
376
|
+
return this.events.emitEventAndReturn("registry.plugin.versions", obs, input, timeout);
|
|
377
|
+
}
|
|
378
|
+
/** Get registry statistics (default timeout: 5s) */
|
|
379
|
+
async registryStatsGet(obs, input, timeout = 5) {
|
|
380
|
+
return this.events.emitEventAndReturn("registry.stats.get", obs, input, timeout);
|
|
381
|
+
}
|
|
382
|
+
/** Authenticate user and get token (default timeout: 5s) */
|
|
383
|
+
async registryAuthLogin(obs, input, timeout = 5) {
|
|
384
|
+
return this.events.emitEventAndReturn("registry.auth.login", obs, input, timeout);
|
|
385
|
+
}
|
|
386
|
+
/** Verify authentication token (default timeout: 5s) */
|
|
387
|
+
async registryAuthVerify(obs, input, timeout = 5) {
|
|
388
|
+
return this.events.emitEventAndReturn("registry.auth.verify", obs, input, timeout);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
exports.default = BsbRegistryClient;
|
|
392
|
+
exports.BsbRegistryClient = BsbRegistryClient;
|
|
393
|
+
//# sourceMappingURL=service-bsb-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bsb-registry.js","sourceRoot":"","sources":["../../../src/.bsb/clients/service-bsb-registry.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,oCAAqE;AACrE,oCAAsH;AAGtH,MAAM,4BAA4B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACvE,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAClE,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IACzE,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IACxF,QAAQ,EAAE,UAAG,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACjF,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAChF,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QACpF,IAAI,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAChF,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,EAAE,UAAG,CAAC,MAAM,CAAC;gBACzG,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;gBAC1D,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;gBACtE,GAAG,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aAC1C,EAAE,iCAAiC,CAAC,CAAC,EAAE,oDAAoD,CAAC,CAAC;QAC5F,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,EAAE,CAAC;QAC7B,UAAU,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,EAAE,CAAC;KAChC,EAAE,iBAAiB,CAAC;IACnB,WAAW,EAAE,UAAG,CAAC,OAAO,CAAC,2EAA2E,CAAC;IACrG,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAC;IACxH,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC;IACjG,eAAe,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;KAC1E,EAAE,oCAAoC,CAAC,CAAC;IACvC,aAAa,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,6DAA6D,EAAE,CAAC;IAC7M,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;QAC5C,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;QAChG,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;KAC9G,EAAE,+BAA+B,CAAC,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACnE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;KACnE,EAAE,uCAAuC,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC5E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;KAC5E,EAAE,8BAA8B,CAAC,CAAC;IACjC,UAAU,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAC3F,WAAW,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC,CAAC;CAC7G,EAAE,sCAAsC,CAAC,CAAC;AAC7C,MAAM,kCAAkC,GAAG,UAAG,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,UAAG,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAChD,QAAQ,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAClE,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACzD,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;CAC3E,EAAE,gCAAgC,CAAC,CAAC;AACvC,MAAM,wBAAwB,GAAG,UAAG,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACrD,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAChD,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;CAC/E,CAAC,CAAC;AACL,MAAM,8BAA8B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC7E,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAC/E,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAClE,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACjF,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAChF,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IACjF,UAAU,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IAClF,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IACxF,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACnE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;KACnE,EAAE,uCAAuC,CAAC,CAAC;IAC1C,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACpF,IAAI,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAChF,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,EAAE,UAAG,CAAC,MAAM,CAAC;YACzG,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;YAC1D,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;YACtE,GAAG,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;SAC1C,EAAE,iCAAiC,CAAC,CAAC,EAAE,oDAAoD,CAAC,CAAC;IAC5F,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAChD,UAAU,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACtD,UAAU,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/D,WAAW,EAAE,UAAG,CAAC,OAAO,CAAC,kDAAkD,CAAC;IAC5E,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACjE,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACvE,eAAe,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;KAC1E,EAAE,oCAAoC,CAAC,CAAC;IACvC,aAAa,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,6DAA6D,EAAE,CAAC,CAAC;IACvN,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;QAC5C,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;QAChG,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;KAC9G,EAAE,+BAA+B,CAAC,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;IACtF,WAAW,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;QAC3C,MAAM,EAAE,UAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,UAAU,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,CAAC;KACrE,EAAE,oDAAoD,CAAC,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;IACzG,UAAU,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAC3D,cAAc,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACzE,YAAY,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IACrE,oBAAoB,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACrE,mBAAmB,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IACnE,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IAC3E,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,SAAS,EAAE,UAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAChD,SAAS,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACjE,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC5E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;KAC5E,EAAE,8BAA8B,CAAC,CAAC;CAClC,EAAE,6BAA6B,CAAC,CAAC;AACpC,MAAM,yBAAyB,GAAG,UAAG,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAC9E,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAChG,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACjG,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC7E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;CAC/E,EAAE,sCAAsC,CAAC,CAAC;AAC7C,MAAM,+BAA+B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;QAC9B,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QAC7E,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QAC/E,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;QAClE,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACjF,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAChF,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QACjF,UAAU,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;QAClF,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QACxF,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACnE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;SACnE,EAAE,uCAAuC,CAAC,CAAC;QAC1C,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QACpF,IAAI,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAChF,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,EAAE,UAAG,CAAC,MAAM,CAAC;gBACzG,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;gBAC1D,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;gBACtE,GAAG,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aAC1C,EAAE,iCAAiC,CAAC,CAAC,EAAE,oDAAoD,CAAC,CAAC;QAC5F,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC7E,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChD,UAAU,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACtD,UAAU,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC;QAC/D,WAAW,EAAE,UAAG,CAAC,OAAO,CAAC,kDAAkD,CAAC;QAC5E,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACjE,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACvE,eAAe,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAC7E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;SAC1E,EAAE,oCAAoC,CAAC,CAAC;QACvC,aAAa,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,6DAA6D,EAAE,CAAC,CAAC;QACvN,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;YAC5C,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;YAChG,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;SAC9G,EAAE,+BAA+B,CAAC,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACtF,WAAW,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;YAC3C,MAAM,EAAE,UAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,UAAU,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,CAAC;SACrE,EAAE,oDAAoD,CAAC,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACzG,UAAU,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAC3D,cAAc,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;QACzE,YAAY,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QACrE,oBAAoB,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACrE,mBAAmB,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QACnE,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;QAC3E,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,SAAS,EAAE,UAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAChD,SAAS,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC5E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACvE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;SAC5E,EAAE,8BAA8B,CAAC,CAAC;KAClC,EAAE,6BAA6B,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAChE,KAAK,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAChD,IAAI,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACxD,EAAE,uBAAuB,CAAC,CAAC;AAC9B,MAAM,2BAA2B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAC3E,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAChG,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACjG,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC7E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;CAC/E,EAAE,wCAAwC,CAAC,CAAC;AAC/C,MAAM,iCAAiC,GAAG,UAAG,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;QAC9B,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QAC7E,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QAC/E,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;QAClE,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACjF,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAChF,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QACjF,UAAU,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;QAClF,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QACxF,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACnE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;SACnE,EAAE,uCAAuC,CAAC,CAAC;QAC1C,QAAQ,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QACpF,IAAI,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAChF,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,EAAE,UAAG,CAAC,MAAM,CAAC;gBACzG,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;gBAC1D,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;gBACtE,GAAG,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aAC1C,EAAE,iCAAiC,CAAC,CAAC,EAAE,oDAAoD,CAAC,CAAC;QAC5F,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC7E,QAAQ,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChD,UAAU,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACtD,UAAU,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC;QAC/D,WAAW,EAAE,UAAG,CAAC,OAAO,CAAC,kDAAkD,CAAC;QAC5E,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACjE,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACvE,eAAe,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAC7E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;SAC1E,EAAE,oCAAoC,CAAC,CAAC;QACvC,aAAa,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,6DAA6D,EAAE,CAAC,CAAC;QACvN,YAAY,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;YAC5C,EAAE,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;YAChG,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;SAC9G,EAAE,+BAA+B,CAAC,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACtF,WAAW,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;YAC3C,MAAM,EAAE,UAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,UAAU,EAAE,UAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,CAAC;SACrE,EAAE,oDAAoD,CAAC,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACzG,UAAU,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAC3D,cAAc,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;QACzE,YAAY,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QACrE,oBAAoB,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACrE,mBAAmB,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QACnE,WAAW,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;QAC3E,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,SAAS,EAAE,UAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAChD,SAAS,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC5E,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACzE,EAAE,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACvE,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;SAC5E,EAAE,8BAA8B,CAAC,CAAC;KAClC,EAAE,6BAA6B,CAAC,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IACrE,KAAK,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACvD,KAAK,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACxD,EAAE,yBAAyB,CAAC,CAAC;AAChC,MAAM,2BAA2B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACrD,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAChD,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC,CAAC;CACnF,CAAC,CAAC;AACL,MAAM,iCAAiC,GAAG,UAAG,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,UAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACtC,OAAO,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;CAClE,CAAC,CAAC;AACL,MAAM,6BAA6B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACrD,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAChD,UAAU,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;CAC3E,CAAC,CAAC;AACL,MAAM,mCAAmC,GAAG,UAAG,CAAC,MAAM,CAAC;IACnD,QAAQ,EAAE,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;QAC7D,UAAU,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAC9D,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACnD,EAAE,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACnE,MAAM,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACrD,mBAAmB,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;CAC5F,EAAE,uBAAuB,CAAC,CAAC;AAC9B,MAAM,uBAAuB,GAAG,UAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACnD,MAAM,6BAA6B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAC9D,UAAU,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACxE,UAAU,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACxE,cAAc,EAAE,UAAG,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;CACjF,EAAE,qBAAqB,CAAC,CAAC;AAC5B,MAAM,wBAAwB,GAAG,UAAG,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACjD,QAAQ,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;CAC5D,CAAC,CAAC;AACL,MAAM,8BAA8B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,UAAG,CAAC,OAAO,CAAC,eAAe,CAAC;IACrC,KAAK,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;CAChE,CAAC,CAAC;AACL,MAAM,yBAAyB,GAAG,UAAG,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;CACtD,CAAC,CAAC;AACL,MAAM,+BAA+B,GAAG,UAAG,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,UAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,MAAM,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,WAAW,EAAE,IAAA,eAAQ,EAAC,UAAG,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C,CAAC,CAAC;AAEL,wEAAwE;AACxE,MAAM,aAAa,GAAG,IAAA,yBAAkB,EAAC;IACvC,kBAAkB,EAAE;QAClB,yBAAyB,EAAE,IAAA,4BAAqB,EAAC,4BAA4B,EAAE,kCAAkC,EAAE,iCAAiC,CAAC;QACrJ,qBAAqB,EAAE,IAAA,4BAAqB,EAAC,wBAAwB,EAAE,8BAA8B,EAAE,gCAAgC,CAAC;QACxI,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,yBAAyB,EAAE,+BAA+B,EAAE,6BAA6B,CAAC;QACxI,wBAAwB,EAAE,IAAA,4BAAqB,EAAC,2BAA2B,EAAE,iCAAiC,EAAE,yBAAyB,CAAC;QAC1I,wBAAwB,EAAE,IAAA,4BAAqB,EAAC,2BAA2B,EAAE,iCAAiC,EAAE,qCAAqC,CAAC;QACtJ,0BAA0B,EAAE,IAAA,4BAAqB,EAAC,6BAA6B,EAAE,mCAAmC,EAAE,8BAA8B,CAAC;QACrJ,oBAAoB,EAAE,IAAA,4BAAqB,EAAC,uBAAuB,EAAE,6BAA6B,EAAE,yBAAyB,CAAC;QAC9H,qBAAqB,EAAE,IAAA,4BAAqB,EAAC,wBAAwB,EAAE,8BAA8B,EAAE,iCAAiC,CAAC;QACzI,sBAAsB,EAAE,IAAA,4BAAqB,EAAC,yBAAyB,EAAE,+BAA+B,EAAE,6BAA6B,CAAC;KACzI;CACF,CAAC,CAAC;AAsBH,8DAA8D;AAC9D,MAAM,cAAc,GAA+B;IACjD,IAAI,EAAE,sBAAsB;CAC7B,CAAC;AAEF,MAAM,UAAU;IACd,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC;;AAGxC,0BAA0B;AAC1B,MAAqB,iBAAkB,SAAQ,oBAA2D;IACxG,YAAY,OAAmB;QAC7B,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,qBAAqB,CAAC,GAAe,EAAE,KAAiC,EAAE,UAAkB,CAAC;QACjG,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,iBAAiB,CAAC,GAAe,EAAE,KAA6B,EAAE,UAAkB,CAAC;QACzF,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,kBAAkB,CAAC,GAAe,EAAE,KAA8B,EAAE,UAAkB,CAAC;QAC3F,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,oBAAoB,CAAC,GAAe,EAAE,KAAgC,EAAE,UAAkB,CAAC;QAC/F,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,oBAAoB,CAAC,GAAe,EAAE,KAAgC,EAAE,UAAkB,CAAC;QAC/F,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,sBAAsB,CAAC,GAAe,EAAE,KAAkC,EAAE,UAAkB,CAAC;QACnG,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzF,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,gBAAgB,CAAC,GAAe,EAAE,KAA4B,EAAE,UAAkB,CAAC;QACvF,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,iBAAiB,CAAC,GAAe,EAAE,KAA6B,EAAE,UAAkB,CAAC;QACzF,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,kBAAkB,CAAC,GAAe,EAAE,KAA8B,EAAE,UAAkB,CAAC;QAC3F,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;CACF;AAjDD,oCAiDC;AACQ,8CAAiB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Observable } from '@bsb/base';
|
|
2
|
+
import type { RegistryDB } from './db';
|
|
3
|
+
import type { User, AuthToken, UserPermission, ResourcePermission, OrgMember, PackagePermission } from './types';
|
|
4
|
+
export interface AuthConfig {
|
|
5
|
+
requireAuth: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Result of resolving a bearer token to a user.
|
|
9
|
+
* `effectivePermissions` is the intersection of user permissions and token permissions.
|
|
10
|
+
*/
|
|
11
|
+
export interface ResolvedAuth {
|
|
12
|
+
userId: string;
|
|
13
|
+
user: User;
|
|
14
|
+
token: AuthToken;
|
|
15
|
+
effectivePermissions: UserPermission[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Authentication and user management for the registry.
|
|
19
|
+
*
|
|
20
|
+
* All persistence is delegated to the RegistryDB instance.
|
|
21
|
+
* AuthManager owns the business logic (permission checks, token
|
|
22
|
+
* construction, permission clamping) but never touches the filesystem.
|
|
23
|
+
*/
|
|
24
|
+
export declare class AuthManager {
|
|
25
|
+
private readonly db;
|
|
26
|
+
readonly requireAuth: boolean;
|
|
27
|
+
constructor(config: AuthConfig, db: RegistryDB);
|
|
28
|
+
init(obs: Observable): Promise<void>;
|
|
29
|
+
createUser(obs: Observable, name: string, email: string, permissions: UserPermission[]): Promise<User>;
|
|
30
|
+
getUser(obs: Observable, userId: string): Promise<User | null>;
|
|
31
|
+
getUserByEmail(obs: Observable, email: string): Promise<User | null>;
|
|
32
|
+
listUsers(obs: Observable): Promise<User[]>;
|
|
33
|
+
updateUser(obs: Observable, userId: string, updates: Partial<Pick<User, 'name' | 'email' | 'active' | 'permissions'>>): Promise<User | null>;
|
|
34
|
+
deactivateUser(obs: Observable, userId: string): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new API token for a user.
|
|
37
|
+
*
|
|
38
|
+
* `tokenPermissions` if provided must be a subset of the user's permissions.
|
|
39
|
+
* Any permission in `tokenPermissions` that the user does not have is silently
|
|
40
|
+
* dropped. If omitted, the token inherits all user permissions at resolve time.
|
|
41
|
+
*/
|
|
42
|
+
createToken(obs: Observable, userId: string, label: string, tokenPermissions?: UserPermission[], expiresAt?: string): Promise<AuthToken | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Resolve a bearer token string to the owning user.
|
|
45
|
+
*
|
|
46
|
+
* Returns null if the token is invalid, expired, or the user is inactive.
|
|
47
|
+
* `effectivePermissions` is the intersection of user and token permissions.
|
|
48
|
+
* If the token has no explicit permissions, user permissions are inherited.
|
|
49
|
+
*/
|
|
50
|
+
resolveToken(obs: Observable, tokenString: string): Promise<ResolvedAuth | null>;
|
|
51
|
+
/**
|
|
52
|
+
* Get all tokens belonging to a user.
|
|
53
|
+
*/
|
|
54
|
+
getTokensForUser(obs: Observable, userId: string): Promise<AuthToken[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Revoke (delete) a specific token.
|
|
57
|
+
*/
|
|
58
|
+
revokeToken(obs: Observable, tokenString: string): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Revoke all tokens belonging to a user.
|
|
61
|
+
*/
|
|
62
|
+
revokeAllTokensForUser(obs: Observable, userId: string): Promise<number>;
|
|
63
|
+
/**
|
|
64
|
+
* Check if the resolved auth has a specific user-level permission.
|
|
65
|
+
* Uses `effectivePermissions` (intersection of user + token perms).
|
|
66
|
+
*/
|
|
67
|
+
hasUserPermission(auth: ResolvedAuth, required: UserPermission): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Check if a user has the required resource-level permission on a package.
|
|
70
|
+
*
|
|
71
|
+
* Resolution order:
|
|
72
|
+
* 1. Package-level permissions (if any) -- explicit grant wins
|
|
73
|
+
* 2. Org-level membership -- inherited from org members list
|
|
74
|
+
* 3. Deny
|
|
75
|
+
*
|
|
76
|
+
* The caller must also separately check that the auth token has the
|
|
77
|
+
* user-level 'write' permission for write operations.
|
|
78
|
+
*/
|
|
79
|
+
hasResourcePermission(userId: string, requiredLevel: ResourcePermission, packagePermissions: PackagePermission[] | undefined, orgMembers: OrgMember[] | undefined): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Check if the granted resource permission satisfies the required level.
|
|
82
|
+
* 'write' satisfies both 'read' and 'write'.
|
|
83
|
+
* 'read' only satisfies 'read'.
|
|
84
|
+
*/
|
|
85
|
+
private resourcePermSatisfies;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-bsb-registry/auth.ts"],"names":[],"mappings":"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"}
|