@portel/photon 1.0.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/LICENSE +21 -0
- package/README.md +952 -0
- package/dist/base.d.ts +58 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +92 -0
- package/dist/base.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1441 -0
- package/dist/cli.js.map +1 -0
- package/dist/dependency-manager.d.ts +49 -0
- package/dist/dependency-manager.d.ts.map +1 -0
- package/dist/dependency-manager.js +165 -0
- package/dist/dependency-manager.js.map +1 -0
- package/dist/loader.d.ts +86 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +612 -0
- package/dist/loader.js.map +1 -0
- package/dist/marketplace-manager.d.ts +261 -0
- package/dist/marketplace-manager.d.ts.map +1 -0
- package/dist/marketplace-manager.js +767 -0
- package/dist/marketplace-manager.js.map +1 -0
- package/dist/path-resolver.d.ts +21 -0
- package/dist/path-resolver.d.ts.map +1 -0
- package/dist/path-resolver.js +71 -0
- package/dist/path-resolver.js.map +1 -0
- package/dist/photon-doc-extractor.d.ts +89 -0
- package/dist/photon-doc-extractor.d.ts.map +1 -0
- package/dist/photon-doc-extractor.js +228 -0
- package/dist/photon-doc-extractor.js.map +1 -0
- package/dist/readme-syncer.d.ts +33 -0
- package/dist/readme-syncer.d.ts.map +1 -0
- package/dist/readme-syncer.js +93 -0
- package/dist/readme-syncer.js.map +1 -0
- package/dist/registry-manager.d.ts +76 -0
- package/dist/registry-manager.d.ts.map +1 -0
- package/dist/registry-manager.js +220 -0
- package/dist/registry-manager.js.map +1 -0
- package/dist/schema-extractor.d.ts +83 -0
- package/dist/schema-extractor.d.ts.map +1 -0
- package/dist/schema-extractor.js +396 -0
- package/dist/schema-extractor.js.map +1 -0
- package/dist/security-scanner.d.ts +52 -0
- package/dist/security-scanner.d.ts.map +1 -0
- package/dist/security-scanner.js +172 -0
- package/dist/security-scanner.js.map +1 -0
- package/dist/server.d.ts +73 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +474 -0
- package/dist/server.js.map +1 -0
- package/dist/template-manager.d.ts +56 -0
- package/dist/template-manager.d.ts.map +1 -0
- package/dist/template-manager.js +509 -0
- package/dist/template-manager.js.map +1 -0
- package/dist/test-client.d.ts +52 -0
- package/dist/test-client.d.ts.map +1 -0
- package/dist/test-client.js +168 -0
- package/dist/test-client.js.map +1 -0
- package/dist/test-marketplace-sources.d.ts +5 -0
- package/dist/test-marketplace-sources.d.ts.map +1 -0
- package/dist/test-marketplace-sources.js +53 -0
- package/dist/test-marketplace-sources.js.map +1 -0
- package/dist/types.d.ts +108 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/version-checker.d.ts +48 -0
- package/dist/version-checker.d.ts.map +1 -0
- package/dist/version-checker.js +128 -0
- package/dist/version-checker.js.map +1 -0
- package/dist/watcher.d.ts +26 -0
- package/dist/watcher.d.ts.map +1 -0
- package/dist/watcher.js +72 -0
- package/dist/watcher.js.map +1 -0
- package/package.json +79 -0
- package/templates/photon.template.ts +55 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marketplace Manager - Manage multiple MCP marketplaces
|
|
3
|
+
*/
|
|
4
|
+
export type MarketplaceSourceType = 'github' | 'git-ssh' | 'url' | 'local';
|
|
5
|
+
export interface Marketplace {
|
|
6
|
+
name: string;
|
|
7
|
+
repo: string;
|
|
8
|
+
url: string;
|
|
9
|
+
sourceType: MarketplaceSourceType;
|
|
10
|
+
source: string;
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
lastUpdated?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface MarketplaceConfig {
|
|
15
|
+
marketplaces: Marketplace[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Photon metadata from photons.json manifest
|
|
19
|
+
*/
|
|
20
|
+
export interface PhotonMetadata {
|
|
21
|
+
name: string;
|
|
22
|
+
version: string;
|
|
23
|
+
description: string;
|
|
24
|
+
author?: string;
|
|
25
|
+
homepage?: string;
|
|
26
|
+
repository?: string;
|
|
27
|
+
license?: string;
|
|
28
|
+
tags?: string[];
|
|
29
|
+
category?: string;
|
|
30
|
+
source: string;
|
|
31
|
+
hash?: string;
|
|
32
|
+
tools?: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Local installation metadata for tracking Photon origins
|
|
36
|
+
*/
|
|
37
|
+
export interface PhotonInstallMetadata {
|
|
38
|
+
marketplace: string;
|
|
39
|
+
marketplaceRepo: string;
|
|
40
|
+
version: string;
|
|
41
|
+
originalHash: string;
|
|
42
|
+
installedAt: string;
|
|
43
|
+
lastChecked?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Local metadata file structure
|
|
47
|
+
*/
|
|
48
|
+
export interface LocalMetadata {
|
|
49
|
+
photons: Record<string, PhotonInstallMetadata>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Marketplace manifest (.marketplace/photons.json)
|
|
53
|
+
*/
|
|
54
|
+
export interface MarketplaceManifest {
|
|
55
|
+
name: string;
|
|
56
|
+
version?: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
owner?: {
|
|
59
|
+
name: string;
|
|
60
|
+
email?: string;
|
|
61
|
+
url?: string;
|
|
62
|
+
};
|
|
63
|
+
photons: PhotonMetadata[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Calculate SHA-256 hash of file content
|
|
67
|
+
*/
|
|
68
|
+
export declare function calculateFileHash(filePath: string): Promise<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Calculate SHA-256 hash of string content
|
|
71
|
+
*/
|
|
72
|
+
export declare function calculateHash(content: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Read local installation metadata
|
|
75
|
+
*/
|
|
76
|
+
export declare function readLocalMetadata(): Promise<LocalMetadata>;
|
|
77
|
+
/**
|
|
78
|
+
* Write local installation metadata
|
|
79
|
+
*/
|
|
80
|
+
export declare function writeLocalMetadata(metadata: LocalMetadata): Promise<void>;
|
|
81
|
+
export declare class MarketplaceManager {
|
|
82
|
+
private config;
|
|
83
|
+
initialize(): Promise<void>;
|
|
84
|
+
save(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Get all marketplaces
|
|
87
|
+
*/
|
|
88
|
+
getAll(): Marketplace[];
|
|
89
|
+
/**
|
|
90
|
+
* Get enabled marketplaces
|
|
91
|
+
*/
|
|
92
|
+
getEnabled(): Marketplace[];
|
|
93
|
+
/**
|
|
94
|
+
* Get marketplace by name
|
|
95
|
+
*/
|
|
96
|
+
get(name: string): Marketplace | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Parse marketplace source into structured info
|
|
99
|
+
* Supports:
|
|
100
|
+
* 1. GitHub shorthand: username/repo
|
|
101
|
+
* 2. GitHub HTTPS: https://github.com/username/repo[.git]
|
|
102
|
+
* 3. GitHub SSH: git@github.com:username/repo.git
|
|
103
|
+
* 4. Direct URL: https://example.com/photons.json
|
|
104
|
+
* 5. Local path: ./path/to/marketplace or /absolute/path
|
|
105
|
+
*/
|
|
106
|
+
private parseMarketplaceSource;
|
|
107
|
+
/**
|
|
108
|
+
* Get next available name with numeric suffix if name already exists
|
|
109
|
+
* e.g., if 'photon-mcps' exists, returns 'photon-mcps-2'
|
|
110
|
+
* if 'photon-mcps' and 'photon-mcps-2' exist, returns 'photon-mcps-3'
|
|
111
|
+
*/
|
|
112
|
+
private getUniqueName;
|
|
113
|
+
/**
|
|
114
|
+
* Check if a marketplace with the same source already exists
|
|
115
|
+
*/
|
|
116
|
+
private findBySource;
|
|
117
|
+
/**
|
|
118
|
+
* Add a new marketplace
|
|
119
|
+
* Supports:
|
|
120
|
+
* - GitHub: username/repo, https://github.com/username/repo, git@github.com:username/repo.git
|
|
121
|
+
* - Direct URL: https://example.com/photons.json
|
|
122
|
+
* - Local path: ./path/to/marketplace, /absolute/path
|
|
123
|
+
*
|
|
124
|
+
* If a marketplace with the same name already exists, automatically appends a numeric suffix (-2, -3, etc.)
|
|
125
|
+
* If the exact same source already exists, returns the existing marketplace without creating a duplicate.
|
|
126
|
+
*
|
|
127
|
+
* @returns Object with marketplace info and 'added' flag (false if already existed)
|
|
128
|
+
*/
|
|
129
|
+
add(source: string): Promise<{
|
|
130
|
+
marketplace: Omit<Marketplace, 'enabled' | 'lastUpdated'>;
|
|
131
|
+
added: boolean;
|
|
132
|
+
}>;
|
|
133
|
+
/**
|
|
134
|
+
* Remove a marketplace
|
|
135
|
+
*/
|
|
136
|
+
remove(name: string): Promise<boolean>;
|
|
137
|
+
/**
|
|
138
|
+
* Enable/disable a marketplace
|
|
139
|
+
*/
|
|
140
|
+
setEnabled(name: string, enabled: boolean): Promise<boolean>;
|
|
141
|
+
/**
|
|
142
|
+
* Get cache file path for marketplace
|
|
143
|
+
*/
|
|
144
|
+
private getCacheFile;
|
|
145
|
+
/**
|
|
146
|
+
* Fetch photons.json manifest from various sources
|
|
147
|
+
*/
|
|
148
|
+
fetchManifest(marketplace: Marketplace): Promise<MarketplaceManifest | null>;
|
|
149
|
+
/**
|
|
150
|
+
* Update marketplace cache (fetch and save photons.json manifest)
|
|
151
|
+
*/
|
|
152
|
+
updateMarketplaceCache(name: string): Promise<boolean>;
|
|
153
|
+
/**
|
|
154
|
+
* Update all enabled marketplace caches
|
|
155
|
+
*/
|
|
156
|
+
updateAllCaches(): Promise<Map<string, boolean>>;
|
|
157
|
+
/**
|
|
158
|
+
* Get cached marketplace manifest
|
|
159
|
+
*/
|
|
160
|
+
getCachedManifest(marketplaceName: string): Promise<MarketplaceManifest | null>;
|
|
161
|
+
/**
|
|
162
|
+
* Get Photon metadata from cached manifest
|
|
163
|
+
*/
|
|
164
|
+
getPhotonMetadata(photonName: string): Promise<{
|
|
165
|
+
metadata: PhotonMetadata;
|
|
166
|
+
marketplace: Marketplace;
|
|
167
|
+
} | null>;
|
|
168
|
+
/**
|
|
169
|
+
* Get all Photons with metadata from all enabled marketplaces
|
|
170
|
+
*/
|
|
171
|
+
getAllPhotons(): Promise<Map<string, {
|
|
172
|
+
metadata: PhotonMetadata;
|
|
173
|
+
marketplace: Marketplace;
|
|
174
|
+
}>>;
|
|
175
|
+
/**
|
|
176
|
+
* Get count of available Photons per marketplace
|
|
177
|
+
*/
|
|
178
|
+
getMarketplaceCounts(): Promise<Map<string, number>>;
|
|
179
|
+
/**
|
|
180
|
+
* Check if marketplace cache is stale
|
|
181
|
+
*/
|
|
182
|
+
private isCacheStale;
|
|
183
|
+
/**
|
|
184
|
+
* Auto-update stale caches
|
|
185
|
+
* Returns true if any updates were performed
|
|
186
|
+
*/
|
|
187
|
+
autoUpdateStaleCaches(): Promise<boolean>;
|
|
188
|
+
/**
|
|
189
|
+
* Try to fetch MCP from all enabled marketplaces
|
|
190
|
+
* Returns content, marketplace info, and metadata (version, hash)
|
|
191
|
+
*/
|
|
192
|
+
fetchMCP(mcpName: string): Promise<{
|
|
193
|
+
content: string;
|
|
194
|
+
marketplace: Marketplace;
|
|
195
|
+
metadata?: PhotonMetadata;
|
|
196
|
+
} | null>;
|
|
197
|
+
/**
|
|
198
|
+
* Fetch version from all enabled marketplaces
|
|
199
|
+
*/
|
|
200
|
+
fetchVersion(mcpName: string): Promise<{
|
|
201
|
+
version: string;
|
|
202
|
+
marketplace: Marketplace;
|
|
203
|
+
} | null>;
|
|
204
|
+
/**
|
|
205
|
+
* Search for Photon in all marketplaces
|
|
206
|
+
* Searches in name, description, tags, and author fields
|
|
207
|
+
*/
|
|
208
|
+
search(query: string): Promise<Map<string, {
|
|
209
|
+
metadata?: PhotonMetadata;
|
|
210
|
+
marketplace: Marketplace;
|
|
211
|
+
}[]>>;
|
|
212
|
+
/**
|
|
213
|
+
* List all available MCPs from a marketplace
|
|
214
|
+
* Note: Requires marketplace to have a .marketplace/photons.json file
|
|
215
|
+
*/
|
|
216
|
+
listFromMarketplace(marketplaceName: string): Promise<string[]>;
|
|
217
|
+
/**
|
|
218
|
+
* Save installation metadata for a Photon
|
|
219
|
+
*/
|
|
220
|
+
savePhotonMetadata(fileName: string, marketplace: Marketplace, metadata: PhotonMetadata, contentHash: string): Promise<void>;
|
|
221
|
+
/**
|
|
222
|
+
* Get local installation metadata for a Photon
|
|
223
|
+
*/
|
|
224
|
+
getPhotonInstallMetadata(fileName: string): Promise<PhotonInstallMetadata | null>;
|
|
225
|
+
/**
|
|
226
|
+
* Check if a Photon file has been modified since installation
|
|
227
|
+
*/
|
|
228
|
+
isPhotonModified(filePath: string, fileName: string): Promise<boolean>;
|
|
229
|
+
/**
|
|
230
|
+
* Find all marketplaces that have a specific MCP (for conflict detection)
|
|
231
|
+
*/
|
|
232
|
+
findAllSources(mcpName: string): Promise<Array<{
|
|
233
|
+
marketplace: Marketplace;
|
|
234
|
+
metadata?: PhotonMetadata;
|
|
235
|
+
content?: string;
|
|
236
|
+
}>>;
|
|
237
|
+
/**
|
|
238
|
+
* Detect all MCP conflicts across marketplaces
|
|
239
|
+
*/
|
|
240
|
+
detectAllConflicts(): Promise<Map<string, Array<{
|
|
241
|
+
marketplace: Marketplace;
|
|
242
|
+
metadata?: PhotonMetadata;
|
|
243
|
+
}>>>;
|
|
244
|
+
/**
|
|
245
|
+
* Check if adding/upgrading an MCP would create a conflict
|
|
246
|
+
*/
|
|
247
|
+
checkConflict(mcpName: string, targetMarketplace?: string): Promise<{
|
|
248
|
+
hasConflict: boolean;
|
|
249
|
+
sources: Array<{
|
|
250
|
+
marketplace: Marketplace;
|
|
251
|
+
metadata?: PhotonMetadata;
|
|
252
|
+
}>;
|
|
253
|
+
recommendation?: string;
|
|
254
|
+
}>;
|
|
255
|
+
/**
|
|
256
|
+
* Compare two semver versions
|
|
257
|
+
* Returns: positive if v1 > v2, negative if v1 < v2, 0 if equal
|
|
258
|
+
*/
|
|
259
|
+
private compareVersions;
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=marketplace-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace-manager.d.ts","sourceRoot":"","sources":["../src/marketplace-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAmBD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAUhE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/E;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA2C;IAEnD,UAAU;IAgBV,IAAI;IAIV;;OAEG;IACH,MAAM,IAAI,WAAW,EAAE;IAIvB;;OAEG;IACH,UAAU,IAAI,WAAW,EAAE;IAI3B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IA4F9B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAgDjH;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlE;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAmClF;;OAEG;IACG,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB5D;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAYtD;;OAEG;IACG,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAerF;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI,CAAC;IAiBnH;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IAoBnG;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAY1D;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;;OAGG;IACG,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB/C;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAwCzH;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI,CAAC;IAuClG;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,EAAE,CAAC,CAAC;IA2C5G;;;OAGG;IACG,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBrE;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAchB;;OAEG;IACG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAKvF;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc5E;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA6ChI;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,CAAC;IAqChH;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxE,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,WAAW,CAAC;YAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC,CAAC;QACxE,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IAgDF;;;OAGG;IACH,OAAO,CAAC,eAAe;CAcxB"}
|