craftvault 1.0.2 → 1.2.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/api/server.d.ts.map +1 -1
- package/dist/api/server.js +184 -0
- package/dist/api/server.js.map +1 -1
- package/package.json +1 -1
- package/ui/dist/assets/index-0cd4eab3.css +1 -0
- package/ui/dist/assets/index-ad9a8468.js +40 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-88bd6e26.js +0 -40
- package/ui/dist/assets/index-d3d4c4f4.css +0 -1
package/dist/api/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAG5C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,EAAE,aAAa;IAmBlC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAG5C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,EAAE,aAAa;IAmBlC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,WAAW;IAocnB,OAAO,CAAC,sBAAsB;IAsG9B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,gBAAgB;YAkBV,UAAU;IAqBxB,OAAO,CAAC,SAAS;IASX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAe5B"}
|
package/dist/api/server.js
CHANGED
|
@@ -164,6 +164,190 @@ class CraftVaultServer {
|
|
|
164
164
|
return c.json({ error: error.message }, 500);
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
|
+
// Get commit details with tree contents
|
|
168
|
+
this.app.get('/api/commits/:hash', async (c) => {
|
|
169
|
+
try {
|
|
170
|
+
const hash = c.req.param('hash');
|
|
171
|
+
const commit = await this.commitHistory.getCommit(hash);
|
|
172
|
+
if (!commit) {
|
|
173
|
+
return c.json({ error: 'Commit not found' }, 404);
|
|
174
|
+
}
|
|
175
|
+
// Read the tree to get file list using the storage from diffEngine
|
|
176
|
+
const storage = this.diffEngine.storage;
|
|
177
|
+
const tree = await storage.readTree(commit.tree);
|
|
178
|
+
const files = [];
|
|
179
|
+
// Recursively collect all files from tree
|
|
180
|
+
const collectFiles = async (treeObj, prefix = '') => {
|
|
181
|
+
for (const entry of treeObj.entries) {
|
|
182
|
+
const fullPath = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
183
|
+
if (entry.mode === '40000') {
|
|
184
|
+
// Directory - recurse
|
|
185
|
+
const subTree = await storage.readTree(entry.hash);
|
|
186
|
+
await collectFiles(subTree, fullPath);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// File - add to list
|
|
190
|
+
files.push({
|
|
191
|
+
path: fullPath,
|
|
192
|
+
hash: entry.hash,
|
|
193
|
+
mode: entry.mode
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
await collectFiles(tree);
|
|
199
|
+
return c.json({
|
|
200
|
+
commit: {
|
|
201
|
+
hash: commit.hash,
|
|
202
|
+
tree: commit.tree,
|
|
203
|
+
parent: commit.parent,
|
|
204
|
+
author: commit.author,
|
|
205
|
+
timestamp: commit.timestamp,
|
|
206
|
+
message: commit.message,
|
|
207
|
+
date: commit.date.toISOString()
|
|
208
|
+
},
|
|
209
|
+
files: files.sort((a, b) => a.path.localeCompare(b.path))
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
return c.json({ error: error.message }, 500);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
// Get commit diff (changes compared to parent)
|
|
217
|
+
this.app.get('/api/commits/:hash/diff', async (c) => {
|
|
218
|
+
try {
|
|
219
|
+
const hash = c.req.param('hash');
|
|
220
|
+
const commit = await this.commitHistory.getCommit(hash);
|
|
221
|
+
if (!commit) {
|
|
222
|
+
return c.json({ error: 'Commit not found' }, 404);
|
|
223
|
+
}
|
|
224
|
+
let diffs = [];
|
|
225
|
+
let totalAdditions = 0;
|
|
226
|
+
let totalDeletions = 0;
|
|
227
|
+
if (commit.parent) {
|
|
228
|
+
// Compare with parent commit
|
|
229
|
+
const fileDiffs = await this.diffEngine.diffCommits(commit.parent, hash);
|
|
230
|
+
diffs = fileDiffs.map(diff => {
|
|
231
|
+
const stats = this.diffEngine.getDiffStats(diff);
|
|
232
|
+
totalAdditions += stats.additions;
|
|
233
|
+
totalDeletions += stats.deletions;
|
|
234
|
+
return {
|
|
235
|
+
oldPath: diff.oldPath,
|
|
236
|
+
newPath: diff.newPath,
|
|
237
|
+
oldHash: diff.oldHash,
|
|
238
|
+
newHash: diff.newHash,
|
|
239
|
+
hunks: diff.hunks,
|
|
240
|
+
isNew: diff.isNew,
|
|
241
|
+
isDeleted: diff.isDeleted,
|
|
242
|
+
isBinary: diff.isBinary,
|
|
243
|
+
stats
|
|
244
|
+
};
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
// First commit - all files are new
|
|
249
|
+
const storage = this.diffEngine.storage;
|
|
250
|
+
const tree = await storage.readTree(commit.tree);
|
|
251
|
+
const collectNewFiles = async (treeObj, prefix = '') => {
|
|
252
|
+
for (const entry of treeObj.entries) {
|
|
253
|
+
const fullPath = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
254
|
+
if (entry.mode === '40000') {
|
|
255
|
+
const subTree = await storage.readTree(entry.hash);
|
|
256
|
+
await collectNewFiles(subTree, fullPath);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
const blob = await storage.readBlob(entry.hash);
|
|
260
|
+
const lines = blob.content.split('\n');
|
|
261
|
+
totalAdditions += lines.length;
|
|
262
|
+
diffs.push({
|
|
263
|
+
oldPath: fullPath,
|
|
264
|
+
newPath: fullPath,
|
|
265
|
+
oldHash: null,
|
|
266
|
+
newHash: entry.hash,
|
|
267
|
+
hunks: [{
|
|
268
|
+
oldStart: 0,
|
|
269
|
+
oldLines: 0,
|
|
270
|
+
newStart: 1,
|
|
271
|
+
newLines: lines.length,
|
|
272
|
+
lines: lines.map((line) => ({ type: 'added', content: line }))
|
|
273
|
+
}],
|
|
274
|
+
isNew: true,
|
|
275
|
+
isDeleted: false,
|
|
276
|
+
isBinary: false,
|
|
277
|
+
stats: {
|
|
278
|
+
additions: lines.length,
|
|
279
|
+
deletions: 0,
|
|
280
|
+
changes: lines.length
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
await collectNewFiles(tree);
|
|
287
|
+
}
|
|
288
|
+
return c.json({
|
|
289
|
+
commit: {
|
|
290
|
+
hash: commit.hash,
|
|
291
|
+
message: commit.message,
|
|
292
|
+
author: commit.author,
|
|
293
|
+
timestamp: commit.timestamp,
|
|
294
|
+
parent: commit.parent
|
|
295
|
+
},
|
|
296
|
+
diffs,
|
|
297
|
+
summary: {
|
|
298
|
+
filesChanged: diffs.length,
|
|
299
|
+
additions: totalAdditions,
|
|
300
|
+
deletions: totalDeletions
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
return c.json({ error: error.message }, 500);
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
// Get file content from a commit
|
|
309
|
+
this.app.get('/api/commits/:hash/files/*', async (c) => {
|
|
310
|
+
try {
|
|
311
|
+
const hash = c.req.param('hash');
|
|
312
|
+
const filePath = c.req.path.replace(`/api/commits/${hash}/files/`, '');
|
|
313
|
+
const commit = await this.commitHistory.getCommit(hash);
|
|
314
|
+
if (!commit) {
|
|
315
|
+
return c.json({ error: 'Commit not found' }, 404);
|
|
316
|
+
}
|
|
317
|
+
// Read the tree using storage from diffEngine
|
|
318
|
+
const storage = this.diffEngine.storage;
|
|
319
|
+
const tree = await storage.readTree(commit.tree);
|
|
320
|
+
// Find the file in the tree
|
|
321
|
+
const findFile = async (treeObj, targetPath, currentPath = '') => {
|
|
322
|
+
for (const entry of treeObj.entries) {
|
|
323
|
+
const fullPath = currentPath ? `${currentPath}/${entry.name}` : entry.name;
|
|
324
|
+
if (fullPath === targetPath && entry.mode !== '40000') {
|
|
325
|
+
// Found the file
|
|
326
|
+
const blob = await storage.readBlob(entry.hash);
|
|
327
|
+
return blob.content;
|
|
328
|
+
}
|
|
329
|
+
else if (entry.mode === '40000' && targetPath.startsWith(fullPath + '/')) {
|
|
330
|
+
// Directory in path - recurse
|
|
331
|
+
const subTree = await storage.readTree(entry.hash);
|
|
332
|
+
return await findFile(subTree, targetPath, fullPath);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return null;
|
|
336
|
+
};
|
|
337
|
+
const content = await findFile(tree, filePath);
|
|
338
|
+
if (content === null) {
|
|
339
|
+
return c.json({ error: 'File not found in commit' }, 404);
|
|
340
|
+
}
|
|
341
|
+
return c.json({
|
|
342
|
+
path: filePath,
|
|
343
|
+
content,
|
|
344
|
+
hash
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
catch (error) {
|
|
348
|
+
return c.json({ error: error.message }, 500);
|
|
349
|
+
}
|
|
350
|
+
});
|
|
167
351
|
// Get branches
|
|
168
352
|
this.app.get('/api/branches', (c) => {
|
|
169
353
|
try {
|
package/dist/api/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,+BAA4B;AAC5B,oCAAiC;AACjC,mDAA0C;AAC1C,2BAAgD;AAChD,gDAAwB;AACxB,kCASiB;AAoBjB,MAAa,gBAAgB;IAoB3B,YAAY,OAAsB;QAf1B,QAAG,GAA2B,IAAI,CAAC;QACnC,YAAO,GAAuB,IAAI,CAAC;QACnC,YAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;QAWpC,WAAM,GAAQ,IAAI,CAAC;QAGzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACxC,IAAI,CAAC,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;QAEtB,6BAA6B;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,eAAe;QACrB,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAA,WAAI,EAAC;YACtB,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;YACzD,YAAY,EAAE,CAAC,cAAc,CAAC;SAC/B,CAAC,CAAC,CAAC;QAEJ,kBAAkB;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBAEpD,MAAM,QAAQ,GAAmB;oBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,IAAI,iBAAiB;oBACnC,WAAW;oBACX,OAAO;iBACR,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAgB,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3D,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;oBAC/C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,UAAU,OAAO,CAAC,IAAI,UAAU;oBACzC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;iBACzB,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAkB,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEzC,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,UAAU;iBAC9B,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAiB,CAAC;gBAE/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACjF,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBACvD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBACpD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,gBAAgB;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;iBACR,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAElD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpE,MAAM,QAAQ,GAAgB;oBAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;qBAChC,CAAC,CAAC;iBACJ,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAEzD,MAAM,QAAQ,GAAqB;oBACjC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC9D,IAAI;wBACJ,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,IAAI,KAAK,aAAa;qBAClC,CAAC,CAAC;oBACH,OAAO,EAAE,aAAa;iBACvB,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAyC,CAAC;gBACvE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEpD,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,WAAW,IAAI,CAAC,IAAI,WAAW;iBACtB,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAsB,CAAC;gBACpD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE1C,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;oBACpD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,uBAAuB,IAAI,CAAC,MAAM,GAAG;iBAC5B,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC,qDAAqD;gBAE5G,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBAC3E,CAAC;gBAED,IAAI,IAAI,CAAC;gBACT,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,mBAAmB;wBACtB,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,gBAAgB;wBACnB,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBACxD,MAAM;oBACR,KAAK,iBAAiB,CAAC;oBACvB;wBACE,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;wBACzD,MAAM;gBACV,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,QAAQ,GAAiB;oBAC7B,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB;oBACD,KAAK;iBACN,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,sBAAsB;QAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzB,kFAAkF;QAClF,kEAAkE;QAClE,MAAM,aAAa,GAAG;YACpB,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAY,6BAA6B;YAC9E,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAS,cAAc;YAC/D,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAM,2BAA2B;YAC5E,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAS,oBAAoB;SACtE,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC;YAC1F,aAAa,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,eAAe;QACjB,CAAC;QAED,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;oBAC9C,UAAU,GAAG,CAAC,CAAC;oBACf,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,IAAI,CAAC;;;;;;;;kBAQJ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;SAMtE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,SAAS,GAA8B;wBAC3C,KAAK,EAAE,wBAAwB;wBAC/B,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,WAAW;wBACpB,OAAO,EAAE,kBAAkB;wBAC3B,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,eAAe;qBACxB,CAAC;oBAEF,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;wBAC3B,OAAO,EAAE;4BACP,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,0BAA0B;yBAC7D;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,eAAe;YACjB,CAAC;YAED,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,UAAe;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAErB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,EAAa;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAElD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM;iBACP;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAc;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,MAAM,CAAC,UAAU,KAAK,cAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,oBAAoB;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAiC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAK,EAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;aACpB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEnF,mCAAmC;gBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEjC,qBAAqB;gBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAExB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;CACF;AAtgBD,4CAsgBC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,+BAA4B;AAC5B,oCAAiC;AACjC,mDAA0C;AAC1C,2BAAgD;AAChD,gDAAwB;AACxB,kCASiB;AAoBjB,MAAa,gBAAgB;IAoB3B,YAAY,OAAsB;QAf1B,QAAG,GAA2B,IAAI,CAAC;QACnC,YAAO,GAAuB,IAAI,CAAC;QACnC,YAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;QAWpC,WAAM,GAAQ,IAAI,CAAC;QAGzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACxC,IAAI,CAAC,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;QAEtB,6BAA6B;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,eAAe;QACrB,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAA,WAAI,EAAC;YACtB,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;YACzD,YAAY,EAAE,CAAC,cAAc,CAAC;SAC/B,CAAC,CAAC,CAAC;QAEJ,kBAAkB;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBAEpD,MAAM,QAAQ,GAAmB;oBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,IAAI,iBAAiB;oBACnC,WAAW;oBACX,OAAO;iBACR,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAgB,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3D,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;oBAC/C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,UAAU,OAAO,CAAC,IAAI,UAAU;oBACzC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;iBACzB,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAkB,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEzC,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,UAAU;iBAC9B,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAiB,CAAC;gBAE/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACjF,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBACvD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBACpD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,gBAAgB;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;iBACR,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAElD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpE,MAAM,QAAQ,GAAgB;oBAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;qBAChC,CAAC,CAAC;iBACJ,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACrE,CAAC;gBAED,mEAAmE;gBACnE,MAAM,OAAO,GAAI,IAAI,CAAC,UAAkB,CAAC,OAAO,CAAC;gBACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAwD,EAAE,CAAC;gBAEtE,0CAA0C;gBAC1C,MAAM,YAAY,GAAG,KAAK,EAAE,OAAY,EAAE,SAAiB,EAAE,EAAE,EAAE;oBAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAEjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC3B,sBAAsB;4BACtB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACnD,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACxC,CAAC;6BAAM,CAAC;4BACN,qBAAqB;4BACrB,KAAK,CAAC,IAAI,CAAC;gCACT,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,IAAI,EAAE,KAAK,CAAC,IAAI;6BACjB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC;gBAEF,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;gBAEzB,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;qBAChC;oBACD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC1D,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACrE,CAAC;gBAED,IAAI,KAAK,GAAU,EAAE,CAAC;gBACtB,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,IAAI,cAAc,GAAG,CAAC,CAAC;gBAEvB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,6BAA6B;oBAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAEzE,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACjD,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC;wBAClC,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC;wBAElC,OAAO;4BACL,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,KAAK;yBACN,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,mCAAmC;oBACnC,MAAM,OAAO,GAAI,IAAI,CAAC,UAAkB,CAAC,OAAO,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAEjD,MAAM,eAAe,GAAG,KAAK,EAAE,OAAY,EAAE,SAAiB,EAAE,EAAE,EAAE;wBAClE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;4BAEjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCACnD,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;4BAC3C,CAAC;iCAAM,CAAC;gCACN,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCACvC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;gCAE/B,KAAK,CAAC,IAAI,CAAC;oCACT,OAAO,EAAE,QAAQ;oCACjB,OAAO,EAAE,QAAQ;oCACjB,OAAO,EAAE,IAAI;oCACb,OAAO,EAAE,KAAK,CAAC,IAAI;oCACnB,KAAK,EAAE,CAAC;4CACN,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,KAAK,CAAC,MAAM;4CACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;yCACvE,CAAC;oCACF,KAAK,EAAE,IAAI;oCACX,SAAS,EAAE,KAAK;oCAChB,QAAQ,EAAE,KAAK;oCACf,KAAK,EAAE;wCACL,SAAS,EAAE,KAAK,CAAC,MAAM;wCACvB,SAAS,EAAE,CAAC;wCACZ,OAAO,EAAE,KAAK,CAAC,MAAM;qCACtB;iCACF,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC;oBAEF,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBAED,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB;oBACD,KAAK;oBACL,OAAO,EAAE;wBACP,YAAY,EAAE,KAAK,CAAC,MAAM;wBAC1B,SAAS,EAAE,cAAc;wBACzB,SAAS,EAAE,cAAc;qBAC1B;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;gBAEvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACrE,CAAC;gBAED,8CAA8C;gBAC9C,MAAM,OAAO,GAAI,IAAI,CAAC,UAAkB,CAAC,OAAO,CAAC;gBACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEjD,4BAA4B;gBAC5B,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAY,EAAE,UAAkB,EAAE,cAAsB,EAAE,EAA0B,EAAE;oBAC5G,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAE3E,IAAI,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACtD,iBAAiB;4BACjB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAChD,OAAO,IAAI,CAAC,OAAO,CAAC;wBACtB,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;4BAC3E,8BAA8B;4BAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACnD,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAmB,EAAE,GAAG,CAAC,CAAC;gBAC7E,CAAC;gBAED,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO;oBACP,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAEzD,MAAM,QAAQ,GAAqB;oBACjC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC9D,IAAI;wBACJ,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,IAAI,KAAK,aAAa;qBAClC,CAAC,CAAC;oBACH,OAAO,EAAE,aAAa;iBACvB,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAyC,CAAC;gBACvE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEpD,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,WAAW,IAAI,CAAC,IAAI,WAAW;iBACtB,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAsB,CAAC;gBACpD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE1C,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;oBACpD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,uBAAuB,IAAI,CAAC,MAAM,GAAG;iBAC5B,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC,qDAAqD;gBAE5G,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAmB,EAAE,GAAG,CAAC,CAAC;gBAC3E,CAAC;gBAED,IAAI,IAAI,CAAC;gBACT,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,mBAAmB;wBACtB,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,gBAAgB;wBACnB,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBACxD,MAAM;oBACR,KAAK,iBAAiB,CAAC;oBACvB;wBACE,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;wBACzD,MAAM;gBACV,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,QAAQ,GAAiB;oBAC7B,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB;oBACD,KAAK;iBACN,CAAC;gBAEF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAmB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,sBAAsB;QAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzB,kFAAkF;QAClF,kEAAkE;QAClE,MAAM,aAAa,GAAG;YACpB,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAY,6BAA6B;YAC9E,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAS,cAAc;YAC/D,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAM,2BAA2B;YAC5E,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAS,oBAAoB;SACtE,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC;YAC1F,aAAa,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,eAAe;QACjB,CAAC;QAED,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;oBAC9C,UAAU,GAAG,CAAC,CAAC;oBACf,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,IAAI,CAAC;;;;;;;;kBAQJ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;SAMtE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,SAAS,GAA8B;wBAC3C,KAAK,EAAE,wBAAwB;wBAC/B,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,WAAW;wBACpB,OAAO,EAAE,kBAAkB;wBAC3B,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,eAAe;qBACxB,CAAC;oBAEF,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;wBAC3B,OAAO,EAAE;4BACP,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,0BAA0B;yBAC7D;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,eAAe;YACjB,CAAC;YAED,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,UAAe;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAErB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,EAAa;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAElD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM;iBACP;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAc;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,MAAM,CAAC,UAAU,KAAK,cAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,oBAAoB;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAiC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAK,EAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;aACpB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEnF,mCAAmC;gBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEjC,qBAAqB;gBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAExB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;CACF;AAjtBD,4CAitBC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{margin:0;padding:0;box-sizing:border-box}:root{--cream: #F5F3EE;--cream-dark: #EBE8E1;--cream-darker: #DDD9D0;--text-primary: #1A1A1A;--text-secondary: #5A5A5A;--text-tertiary: #8A8A8A;--border: #D4CFC4;--border-light: #E8E5DD;--accent: #2D2D2D;--success: #4A7C59;--warning: #B8860B;--danger: #8B4513;--info: #4A6572;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 4px 16px rgba(0,0,0,.08)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--cream);color:var(--text-primary);line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--cream)}.header{background:var(--cream);border-bottom:1px solid var(--border);padding:1.5rem 2rem;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(245,243,238,.95)}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem;font-family:Crimson Text,Georgia,serif}.header-info{display:flex;align-items:center;gap:1.25rem;font-size:.875rem;color:var(--text-secondary)}.branch-badge{display:flex;align-items:center;gap:.375rem;background:var(--cream-dark);padding:.375rem .875rem;border-radius:6px;font-weight:500;border:1px solid var(--border-light);color:var(--text-primary);font-size:.8125rem}.branch-icon{font-size:.875rem;opacity:.7}.divider{color:var(--border)}.commit-count{color:var(--text-secondary);font-weight:400}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.status-badge.clean{background:#E8F4E8;color:var(--success);border:1px solid #D0E8D0}.status-badge.dirty{background:#FFF4E6;color:var(--warning);border:1px solid #FFE6CC}.error-banner{background:#FDEAEA;color:var(--danger);padding:.875rem 2rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;border-bottom:1px solid #F5D5D5}.error-banner button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0 .5rem;opacity:.6;transition:opacity .2s}.error-banner button:hover{opacity:1}.main{display:flex;flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem;gap:2rem}.sidebar{flex:0 0 360px;display:flex;flex-direction:column;gap:1.5rem}.content{flex:1;display:flex;flex-direction:column;gap:1.5rem;min-width:0}.card{background:white;border-radius:12px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card-header{font-size:1rem;font-weight:600;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:var(--cream);color:var(--text-primary);font-family:Crimson Text,Georgia,serif;letter-spacing:-.01em}.status-section{padding:1rem 0;border-bottom:1px solid var(--border-light)}.status-section:last-child{border-bottom:none}.status-section h3{font-size:.6875rem;font-weight:700;color:var(--text-tertiary);margin:0 1.5rem .75rem;text-transform:uppercase;letter-spacing:.08em}.file-list{list-style:none}.file-item{padding:.75rem 1.5rem;font-size:.875rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .15s ease;border-left:2px solid transparent;background:white}.file-item:hover{background:var(--cream);border-left-color:var(--text-tertiary)}.file-item.selected{background:var(--cream-dark);border-left-color:var(--accent)}.file-status-icon{flex-shrink:0;width:1.5rem;text-align:center;font-weight:600;font-size:.875rem}.file-item.staged .file-status-icon{color:var(--success)}.file-item.unstaged .file-status-icon{color:var(--warning)}.file-item.untracked .file-status-icon{color:var(--text-tertiary)}.file-item.deleted .file-status-icon{color:var(--danger)}.file-name{flex:1;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.file-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .15s}.file-item:hover .file-actions{opacity:1}.btn{padding:.5rem 1.125rem;border:1px solid var(--border);border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background:white;color:var(--text-primary)}.btn:hover:not(:disabled){background:var(--cream-dark);border-color:var(--border)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#1A1A1A;border-color:#1a1a1a}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover:not(:disabled){background:#3D6649;border-color:#3d6649}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.btn-block{width:100%}.commit-card{position:sticky;top:6.5rem}.commit-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.625rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-family:inherit;background:white;color:var(--text-primary);transition:all .15s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:var(--cream);box-shadow:0 0 0 3px #2d2d2d0d}.form-group textarea{resize:vertical;min-height:90px;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.staged-badge{background:var(--success);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.help-text{font-size:.75rem;color:var(--text-tertiary);margin-top:-.5rem;font-style:italic}.tabs{display:flex;gap:.5rem;background:white;border:1px solid var(--border-light);border-radius:10px;padding:.375rem}.tab{flex:1;padding:.75rem 1.25rem;border:none;background:transparent;border-radius:7px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab:hover{background:var(--cream);color:var(--text-primary)}.tab.active{background:var(--accent);color:#fff}.tab-icon{font-size:1rem}.badge{background:rgba(255,255,255,.2);padding:.125rem .5rem;border-radius:12px;font-size:.6875rem;font-weight:700}.tab.active .badge{background:rgba(255,255,255,.25)}.tab-content{flex:1}.commit-list{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.commit-item{padding:1.25rem 1.5rem;border-left:3px solid var(--accent);background:var(--cream);border-radius:10px;transition:all .2s ease;border:1px solid var(--border-light);cursor:pointer;position:relative}.commit-item:before{content:"→";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);opacity:0;transition:all .2s ease;color:var(--accent);font-weight:600}.commit-item:hover{background:white;box-shadow:var(--shadow-md);transform:translate(4px);border-left-width:4px}.commit-item:hover:before{opacity:1;transform:translateY(-50%) translate(4px)}.commit-hash{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;color:var(--text-tertiary);margin-bottom:.625rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.commit-message{font-size:1.0625rem;font-weight:500;color:var(--text-primary);margin-bottom:.625rem;line-height:1.5;font-family:Crimson Text,Georgia,serif;letter-spacing:-.01em}.commit-meta{font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.commit-detail-view{display:flex;flex-direction:column;height:100%;gap:2rem}.commit-detail-header{display:flex;flex-direction:column;gap:1.5rem}.btn-back{display:inline-flex;align-items:center;gap:.625rem;background:transparent;border:none;color:var(--text-secondary);font-size:.9375rem;cursor:pointer;padding:.5rem 0;transition:all .2s;align-self:flex-start;font-weight:500}.btn-back:hover{color:var(--text-primary);transform:translate(-4px)}.back-arrow{font-size:1.25rem;transition:transform .2s}.btn-back:hover .back-arrow{transform:translate(-2px)}.commit-info-card{background:white;border:1px solid var(--border-light);border-radius:16px;padding:2rem 2.5rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.commit-info-main{flex:1;display:flex;flex-direction:column;gap:1rem}.commit-title{font-size:1.875rem;font-weight:500;color:var(--text-primary);line-height:1.3;font-family:Crimson Text,Georgia,serif;letter-spacing:-.02em;margin:0}.commit-metadata{display:flex;align-items:center;gap:.875rem;font-size:.9375rem;color:var(--text-secondary)}.commit-author{font-weight:500;color:var(--text-primary)}.metadata-divider{color:var(--border)}.commit-date{color:var(--text-secondary)}.commit-hash-full{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;background:var(--cream);padding:.25rem .75rem;border-radius:6px;color:var(--text-tertiary);font-weight:600;letter-spacing:.02em}.commit-stats{display:flex;gap:2rem;padding-left:2rem;border-left:1px solid var(--border-light)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.375rem}.stat-number{font-size:2rem;font-weight:600;color:var(--accent);line-height:1;font-family:Crimson Text,Georgia,serif}.stat-icon{font-size:1.5rem;color:var(--text-tertiary)}.stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.commit-content-layout{display:flex;gap:2rem;flex:1;min-height:0}.file-list-sidebar{flex:0 0 340px;display:flex;flex-direction:column;background:white;border:1px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);max-height:calc(100vh - 26rem);position:sticky;top:8rem}.sidebar-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:var(--cream)}.sidebar-header h3{font-size:.875rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0}.file-count{background:var(--accent);color:#fff;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:700}.file-tree{overflow-y:auto;flex:1}.file-tree-item{padding:1rem 1.5rem;display:flex;align-items:flex-start;gap:.875rem;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent;border-bottom:1px solid var(--border-light)}.file-tree-item:last-child{border-bottom:none}.file-tree-item:hover{background:var(--cream);border-left-color:var(--text-tertiary)}.file-tree-item.selected{background:var(--cream-dark);border-left-color:var(--accent)}.file-icon{font-size:1.125rem;flex-shrink:0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.875rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-path{font-size:.6875rem;color:var(--text-tertiary);font-family:SF Mono,Monaco,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-content-main{flex:1;display:flex;flex-direction:column;min-width:0}.empty-state-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem;background:white;border:1px solid var(--border-light);border-radius:12px;height:100%}.empty-state-detail h3{font-size:1.25rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-family:Crimson Text,Georgia,serif}.empty-state-detail p{font-size:.9375rem;color:var(--text-secondary);max-width:28rem}.file-viewer{display:flex;flex-direction:column;background:white;border:1px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);height:fit-content}.file-viewer-header{padding:1.25rem 1.5rem;background:var(--cream);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.file-viewer-title{display:flex;align-items:center;gap:.75rem;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.file-path-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-language{font-size:.6875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-weight:700;background:var(--cream-dark);padding:.375rem .75rem;border-radius:6px}.file-viewer-content{overflow-x:auto;max-height:70vh}.loading-file{padding:3rem 2rem;text-align:center;color:var(--text-tertiary);font-size:.875rem;font-style:italic}.code-block{margin:0;padding:1.5rem;background:#FAFAF9;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.6;color:var(--text-primary);overflow-x:auto;-moz-tab-size:2;tab-size:2}.code-block code{font-family:inherit;white-space:pre;display:block}.diff-viewer{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem}.diff-header{padding:1rem 1.5rem;background:var(--cream);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.diff-file-path{font-weight:600;color:var(--text-primary);font-family:SF Mono,Monaco,monospace;font-size:.875rem}.diff-type{font-size:.6875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.diff-content{padding:1rem 0}.diff-hunk{margin-bottom:1.5rem}.hunk-header{background:var(--cream-dark);color:var(--text-secondary);padding:.5rem 1.5rem;font-size:.75rem;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);font-weight:500}.diff-line{display:flex;padding:.25rem 0;line-height:1.6}.line-marker{flex-shrink:0;width:2.5rem;text-align:center;-webkit-user-select:none;user-select:none;font-size:.75rem}.line-content{flex:1;padding-right:1.5rem;white-space:pre;overflow-x:auto}.diff-line.added{background:#F0F9F1;color:var(--success)}.diff-line.added .line-marker{background:#E1F3E3;color:var(--success);font-weight:600}.diff-line.removed{background:#FFF5F5;color:var(--danger)}.diff-line.removed .line-marker{background:#FFEAEA;color:var(--danger);font-weight:600}.diff-line.context{color:var(--text-secondary)}.diff-line.context .line-marker{color:var(--text-tertiary);opacity:.5}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-tertiary);font-size:.875rem;font-style:italic}.loading{text-align:center;padding:4rem 2rem;color:var(--text-tertiary);font-size:.875rem}.error{background:#FDEAEA;color:var(--danger);padding:1rem 1.5rem;border-radius:8px;font-size:.875rem;border-left:3px solid var(--danger);border:1px solid #F5D5D5}.changes-view{display:flex;flex-direction:column}@media (max-width: 1024px){.main{flex-direction:column}.sidebar{flex:1;max-width:none}.commit-card{position:static}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.diff-summary-bar{background:var(--cream-dark);border:1px solid var(--border-light);border-radius:8px;padding:1rem 1.5rem;font-size:.9375rem;color:var(--text-secondary);margin-top:1rem}.diff-summary-text{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.text-success{color:var(--success);font-weight:600}.text-danger{color:var(--danger);font-weight:600}.file-stats{display:flex;gap:.625rem;margin-top:.375rem;font-size:.75rem;font-weight:600;font-family:SF Mono,Monaco,monospace}.stat-additions{color:var(--success)}.stat-deletions{color:var(--danger)}.file-tree-item.added{border-left-color:var(--success)}.file-tree-item.deleted{border-left-color:var(--danger)}.file-tree-item.modified{border-left-color:#b8860b}.file-status-badge{font-size:.6875rem;padding:.25rem .625rem;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-left:.5rem}.file-status-badge.added{background:#E8F4E8;color:var(--success)}.file-status-badge.deleted{background:#FDEAEA;color:var(--danger)}.file-status-badge.modified{background:#FFF4E6;color:#b8860b}.file-diff-stats{display:flex;gap:.5rem;align-items:center}.stat-badge{font-size:.75rem;font-weight:700;padding:.25rem .625rem;border-radius:12px;font-family:SF Mono,Monaco,monospace}.stat-badge.additions{background:#E8F4E8;color:var(--success)}.stat-badge.deletions{background:#FDEAEA;color:var(--danger)}.diff-viewer-container{background:white;border:1px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.diff-viewer-container .file-viewer-header{background:#F6F8FA;border-bottom:1px solid #D8DEE4;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.diff-viewer-container .file-viewer-title{display:flex;align-items:center;gap:.75rem}.diff-content{background:white}.diff-hunk{margin-bottom:1.5rem;border:1px solid #D8DEE4;border-radius:6px;overflow:hidden;margin:1rem 1.5rem}.hunk-header{background:#F6F8FA;color:#57606a;padding:.5rem 1rem;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;font-weight:600;border-bottom:1px solid #D8DEE4}.hunk-lines{background:white}.diff-line{display:flex;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.5;min-height:1.5rem}.line-marker{flex-shrink:0;width:3rem;text-align:center;-webkit-user-select:none;user-select:none;font-weight:600;padding:.125rem 0;border-right:1px solid transparent}.line-content{flex:1;padding:.125rem 1rem;white-space:pre;overflow-x:auto}.diff-line.added{background:#E6FFEC}.diff-line.added .line-marker{background:#CCF4DB;color:#116329;border-right-color:#acf2bd}.diff-line.added .line-content{color:#116329}.diff-line.removed{background:#FFEBE9}.diff-line.removed .line-marker{background:#FFD7D5;color:#82071e;border-right-color:#ffc1bc}.diff-line.removed .line-content{color:#82071e}.diff-line.context{background:white}.diff-line.context .line-marker{background:#F6F8FA;color:#57606a;opacity:.6}.diff-line.context .line-content{color:#24292f}.binary-notice{text-align:center;padding:3rem 2rem;color:var(--text-tertiary);font-size:.9375rem;font-style:italic;background:#F6F8FA}.stat-item.additions .stat-number{color:var(--success)}.stat-item.deletions .stat-number{color:var(--danger)}.diff-line:hover{background-color:#00000005}.diff-line.added:hover{background:#D1F4DD}.diff-line.removed:hover{background:#FFD8D3}.diff-content{max-height:70vh;overflow-y:auto}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}
|