convex-feedback 0.1.3 → 0.1.5
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 +33 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/client/api.d.ts +7 -1
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +12 -1
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +4 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +27 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/comments.d.ts +8 -8
- package/dist/component/comments.d.ts.map +1 -1
- package/dist/component/comments.js +2 -1
- package/dist/component/comments.js.map +1 -1
- package/dist/component/crons.d.ts +3 -0
- package/dist/component/crons.d.ts.map +1 -0
- package/dist/component/crons.js +8 -0
- package/dist/component/crons.js.map +1 -0
- package/dist/component/entries.d.ts +53 -26
- package/dist/component/entries.d.ts.map +1 -1
- package/dist/component/entries.js +116 -9
- package/dist/component/entries.js.map +1 -1
- package/dist/component/helpers.d.ts +2 -1
- package/dist/component/helpers.d.ts.map +1 -1
- package/dist/component/helpers.js +46 -1
- package/dist/component/helpers.js.map +1 -1
- package/dist/component/migrations.d.ts +11 -0
- package/dist/component/migrations.d.ts.map +1 -0
- package/dist/component/migrations.js +35 -0
- package/dist/component/migrations.js.map +1 -0
- package/dist/component/model.d.ts +74 -3
- package/dist/component/model.d.ts.map +1 -1
- package/dist/component/model.js +11 -0
- package/dist/component/model.js.map +1 -1
- package/dist/component/schema.d.ts +19 -2
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +12 -2
- package/dist/component/schema.js.map +1 -1
- package/dist/react/index.d.ts +27 -3
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +6 -0
- package/dist/react/index.js.map +1 -1
- package/dist/test.d.ts +19 -2
- package/dist/test.d.ts.map +1 -1
- package/package.json +6 -2
- package/src/client/api.ts +11 -0
- package/src/client/index.ts +16 -0
- package/src/component/README.md +2 -0
- package/src/component/_generated/api.ts +4 -0
- package/src/component/_generated/component.ts +31 -1
- package/src/component/comments.ts +2 -0
- package/src/component/crons.ts +16 -0
- package/src/component/entries.ts +158 -7
- package/src/component/helpers.ts +70 -0
- package/src/component/migrations.ts +44 -0
- package/src/component/model.ts +44 -0
- package/src/component/schema.ts +17 -2
- package/src/react/index.ts +13 -0
|
@@ -3,8 +3,8 @@ import { paginationOptsValidator, paginationResultValidator, } from "convex/serv
|
|
|
3
3
|
import { ConvexError, v } from "convex/values";
|
|
4
4
|
import { mergedStream, stream } from "convex-helpers/server/stream";
|
|
5
5
|
import { mutation, query } from "./_generated/server.js";
|
|
6
|
-
import { assertActorId, normalizeRequiredText, normalizeTitle, serializeEntry, } from "./helpers.js";
|
|
7
|
-
import { actorValidator, entryKindValidator, entrySortValidator, entryStatusValidator, publicEntryValidator, similarEntriesValidator, } from "./model.js";
|
|
6
|
+
import { assertActorId, normalizeRequiredText, normalizeTitle, serializeEntry, validateFeedbackMetadata, } from "./helpers.js";
|
|
7
|
+
import { actorValidator, entryKindValidator, entrySortValidator, entryStatusFilterForStatus, entryStatusFilterValidator, entryStatusValidator, feedbackMetadataValidator, publicEntryValidator, similarEntriesValidator, } from "./model.js";
|
|
8
8
|
import schema from "./schema.js";
|
|
9
9
|
const allEntryKinds = [
|
|
10
10
|
"feedback",
|
|
@@ -31,6 +31,7 @@ export const list = query({
|
|
|
31
31
|
paginationOpts: paginationOptsValidator,
|
|
32
32
|
kinds: v.optional(v.array(entryKindValidator)),
|
|
33
33
|
status: v.optional(entryStatusValidator),
|
|
34
|
+
statusFilter: v.optional(entryStatusFilterValidator),
|
|
34
35
|
sort: entrySortValidator,
|
|
35
36
|
viewerActorId: v.optional(v.string()),
|
|
36
37
|
},
|
|
@@ -38,9 +39,60 @@ export const list = query({
|
|
|
38
39
|
handler: async (ctx, args) => {
|
|
39
40
|
const db = paginator(ctx.db, schema);
|
|
40
41
|
const kinds = normalizeKindFilter(args.kinds);
|
|
41
|
-
const { status } = args;
|
|
42
|
+
const { status, statusFilter } = args;
|
|
43
|
+
if (status !== undefined && statusFilter !== undefined) {
|
|
44
|
+
throw new ConvexError("`status` and `statusFilter` cannot be used together.");
|
|
45
|
+
}
|
|
42
46
|
let result;
|
|
43
|
-
if (
|
|
47
|
+
if (statusFilter !== undefined) {
|
|
48
|
+
if (kinds === undefined) {
|
|
49
|
+
result =
|
|
50
|
+
args.sort === "top"
|
|
51
|
+
? await db
|
|
52
|
+
.query("entries")
|
|
53
|
+
.withIndex("by_status_filter_upvotes", (q) => q.eq("statusFilter", statusFilter))
|
|
54
|
+
.order("desc")
|
|
55
|
+
.paginate(args.paginationOpts)
|
|
56
|
+
: await db
|
|
57
|
+
.query("entries")
|
|
58
|
+
.withIndex("by_status_filter", (q) => q.eq("statusFilter", statusFilter))
|
|
59
|
+
.order("desc")
|
|
60
|
+
.paginate(args.paginationOpts);
|
|
61
|
+
}
|
|
62
|
+
else if (kinds.length === 1) {
|
|
63
|
+
const kind = kinds[0];
|
|
64
|
+
if (kind === undefined) {
|
|
65
|
+
throw new ConvexError("Invalid kind filter.");
|
|
66
|
+
}
|
|
67
|
+
result =
|
|
68
|
+
args.sort === "top"
|
|
69
|
+
? await db
|
|
70
|
+
.query("entries")
|
|
71
|
+
.withIndex("by_kind_status_filter_upvotes", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
|
|
72
|
+
.order("desc")
|
|
73
|
+
.paginate(args.paginationOpts)
|
|
74
|
+
: await db
|
|
75
|
+
.query("entries")
|
|
76
|
+
.withIndex("by_kind_status_filter", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
|
|
77
|
+
.order("desc")
|
|
78
|
+
.paginate(args.paginationOpts);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const streams = kinds.map((kind) => args.sort === "top"
|
|
82
|
+
? stream(ctx.db, schema)
|
|
83
|
+
.query("entries")
|
|
84
|
+
.withIndex("by_kind_status_filter_upvotes", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
|
|
85
|
+
.order("desc")
|
|
86
|
+
: stream(ctx.db, schema)
|
|
87
|
+
.query("entries")
|
|
88
|
+
.withIndex("by_kind_status_filter", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
|
|
89
|
+
.order("desc"));
|
|
90
|
+
result = await mergedStream(streams, args.sort === "top"
|
|
91
|
+
? ["upvoteCount", "_creationTime"]
|
|
92
|
+
: ["_creationTime"]).paginate(args.paginationOpts);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (kinds === undefined) {
|
|
44
96
|
result =
|
|
45
97
|
args.sort === "top"
|
|
46
98
|
? status === undefined
|
|
@@ -141,13 +193,14 @@ export const get = query({
|
|
|
141
193
|
args: {
|
|
142
194
|
entryId: v.id("entries"),
|
|
143
195
|
viewerActorId: v.optional(v.string()),
|
|
196
|
+
viewerIsModerator: v.optional(v.boolean()),
|
|
144
197
|
},
|
|
145
198
|
returns: v.union(publicEntryValidator, v.null()),
|
|
146
199
|
handler: async (ctx, args) => {
|
|
147
200
|
const entry = await ctx.db.get("entries", args.entryId);
|
|
148
201
|
return entry === null
|
|
149
202
|
? null
|
|
150
|
-
: serializeEntry(ctx, entry, args.viewerActorId);
|
|
203
|
+
: serializeEntry(ctx, entry, args.viewerActorId, args.viewerIsModerator === true);
|
|
151
204
|
},
|
|
152
205
|
});
|
|
153
206
|
export const search = query({
|
|
@@ -155,6 +208,7 @@ export const search = query({
|
|
|
155
208
|
searchQuery: v.string(),
|
|
156
209
|
kinds: v.optional(v.array(entryKindValidator)),
|
|
157
210
|
status: v.optional(entryStatusValidator),
|
|
211
|
+
statusFilter: v.optional(entryStatusFilterValidator),
|
|
158
212
|
limit: v.number(),
|
|
159
213
|
viewerActorId: v.optional(v.string()),
|
|
160
214
|
},
|
|
@@ -165,9 +219,50 @@ export const search = query({
|
|
|
165
219
|
return [];
|
|
166
220
|
}
|
|
167
221
|
const kinds = normalizeKindFilter(args.kinds);
|
|
168
|
-
const { status } = args;
|
|
222
|
+
const { status, statusFilter } = args;
|
|
223
|
+
if (status !== undefined && statusFilter !== undefined) {
|
|
224
|
+
throw new ConvexError("`status` and `statusFilter` cannot be used together.");
|
|
225
|
+
}
|
|
169
226
|
let entries;
|
|
170
|
-
if (
|
|
227
|
+
if (statusFilter !== undefined) {
|
|
228
|
+
if (kinds === undefined) {
|
|
229
|
+
entries = await ctx.db
|
|
230
|
+
.query("entries")
|
|
231
|
+
.withSearchIndex("search", (q) => q
|
|
232
|
+
.search("searchText", searchQuery)
|
|
233
|
+
.eq("statusFilter", statusFilter))
|
|
234
|
+
.take(args.limit);
|
|
235
|
+
}
|
|
236
|
+
else if (kinds.length === 1) {
|
|
237
|
+
const kind = kinds[0];
|
|
238
|
+
if (kind === undefined) {
|
|
239
|
+
throw new ConvexError("Invalid kind filter.");
|
|
240
|
+
}
|
|
241
|
+
entries = await ctx.db
|
|
242
|
+
.query("entries")
|
|
243
|
+
.withSearchIndex("search", (q) => q
|
|
244
|
+
.search("searchText", searchQuery)
|
|
245
|
+
.eq("kind", kind)
|
|
246
|
+
.eq("statusFilter", statusFilter))
|
|
247
|
+
.take(args.limit);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
const firstKind = kinds[0];
|
|
251
|
+
const secondKind = kinds[1];
|
|
252
|
+
if (firstKind === undefined || secondKind === undefined) {
|
|
253
|
+
throw new ConvexError("Invalid kind filter.");
|
|
254
|
+
}
|
|
255
|
+
entries = await ctx.db
|
|
256
|
+
.query("entries")
|
|
257
|
+
.withSearchIndex("search", (q) => q
|
|
258
|
+
.search("searchText", searchQuery)
|
|
259
|
+
.eq("statusFilter", statusFilter))
|
|
260
|
+
// eslint-disable-next-line @convex-dev/no-filter-in-query
|
|
261
|
+
.filter((q) => q.or(q.eq(q.field("kind"), firstKind), q.eq(q.field("kind"), secondKind)))
|
|
262
|
+
.take(args.limit);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
else if (kinds === undefined) {
|
|
171
266
|
entries =
|
|
172
267
|
status === undefined
|
|
173
268
|
? await ctx.db
|
|
@@ -304,6 +399,7 @@ export const create = mutation({
|
|
|
304
399
|
enabledKinds: v.array(entryKindValidator),
|
|
305
400
|
maxTitleLength: v.number(),
|
|
306
401
|
maxBodyLength: v.number(),
|
|
402
|
+
metadata: v.optional(feedbackMetadataValidator),
|
|
307
403
|
},
|
|
308
404
|
returns: v.id("entries"),
|
|
309
405
|
handler: async (ctx, args) => {
|
|
@@ -313,16 +409,19 @@ export const create = mutation({
|
|
|
313
409
|
}
|
|
314
410
|
const title = normalizeRequiredText(args.title, "Title", args.maxTitleLength);
|
|
315
411
|
const body = normalizeRequiredText(args.body, "Body", args.maxBodyLength);
|
|
412
|
+
validateFeedbackMetadata(args.metadata);
|
|
316
413
|
const entry = await ctx.db.insert("entries", {
|
|
317
414
|
actorId: args.actorId,
|
|
318
415
|
kind: args.kind,
|
|
319
416
|
status: args.defaultStatus,
|
|
417
|
+
statusFilter: entryStatusFilterForStatus(args.defaultStatus),
|
|
320
418
|
title,
|
|
321
419
|
body,
|
|
322
420
|
normalizedTitle: normalizeTitle(title),
|
|
323
421
|
searchText: `${title}\n${body}`,
|
|
324
422
|
upvoteCount: 1,
|
|
325
423
|
commentCount: 0,
|
|
424
|
+
...(args.metadata === undefined ? {} : { metadata: args.metadata }),
|
|
326
425
|
});
|
|
327
426
|
await ctx.db.insert("reactions", {
|
|
328
427
|
actorId: args.actorId,
|
|
@@ -358,6 +457,7 @@ export const update = mutation({
|
|
|
358
457
|
body,
|
|
359
458
|
normalizedTitle: normalizeTitle(title),
|
|
360
459
|
searchText: `${title}\n${body}`,
|
|
460
|
+
statusFilter: entryStatusFilterForStatus(entry.status),
|
|
361
461
|
updatedAt: Date.now(),
|
|
362
462
|
});
|
|
363
463
|
return null;
|
|
@@ -379,6 +479,7 @@ export const setStatus = mutation({
|
|
|
379
479
|
}
|
|
380
480
|
await ctx.db.patch("entries", args.entryId, {
|
|
381
481
|
status: args.status,
|
|
482
|
+
statusFilter: entryStatusFilterForStatus(args.status),
|
|
382
483
|
updatedAt: Date.now(),
|
|
383
484
|
});
|
|
384
485
|
return null;
|
|
@@ -406,13 +507,19 @@ export const setUpvote = mutation({
|
|
|
406
507
|
entryId: args.entryId,
|
|
407
508
|
});
|
|
408
509
|
const upvoteCount = entry.upvoteCount + 1;
|
|
409
|
-
await ctx.db.patch("entries", args.entryId, {
|
|
510
|
+
await ctx.db.patch("entries", args.entryId, {
|
|
511
|
+
upvoteCount,
|
|
512
|
+
statusFilter: entryStatusFilterForStatus(entry.status),
|
|
513
|
+
});
|
|
410
514
|
return { active: true, upvoteCount };
|
|
411
515
|
}
|
|
412
516
|
if (!args.desiredState && existing !== null) {
|
|
413
517
|
await ctx.db.delete("reactions", existing._id);
|
|
414
518
|
const upvoteCount = Math.max(0, entry.upvoteCount - 1);
|
|
415
|
-
await ctx.db.patch("entries", args.entryId, {
|
|
519
|
+
await ctx.db.patch("entries", args.entryId, {
|
|
520
|
+
upvoteCount,
|
|
521
|
+
statusFilter: entryStatusFilterForStatus(entry.status),
|
|
522
|
+
});
|
|
416
523
|
return { active: false, upvoteCount };
|
|
417
524
|
}
|
|
418
525
|
return { active: args.desiredState, upvoteCount: entry.upvoteCount };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,YAAY,CAAC;AACpB,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,aAAa,GAAyB;IAC1C,UAAU;IACV,iBAAiB;IACjB,YAAY;CACb,CAAC;AAEF,SAAS,mBAAmB,CAC1B,KAAuC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CACnB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,0BAA0B;IAC1B,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC;IACxB,IAAI,EAAE;QACJ,cAAc,EAAE,uBAAuB;QACvC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxC,IAAI,EAAE,kBAAkB;QACxB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,yBAAyB,CAAC,oBAAoB,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,IAAI,MAAwC,CAAC;QAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM;gBACJ,IAAI,CAAC,IAAI,KAAK,KAAK;oBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,YAAY,CAAC;6BACvB,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;6BAC7D,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;oBACpC,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;6BACrD,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM;gBACJ,IAAI,CAAC,IAAI,KAAK,KAAK;oBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BACvD,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;oBACpC,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BAC/C,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;qBACvD,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;gBAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;oBACnC,aAAa;oBACb,eAAe;iBAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;qBACA,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;gBAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;oBACnC,aAAa;oBACb,eAAe;iBAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;iBACnB,KAAK,CAAC,SAAS,CAAC;iBAChB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBAC/C,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;YAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAC9D,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;iBACnB,KAAK,CAAC,SAAS,CAAC;iBAChB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;iBACA,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;YAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAC9D,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAC/C,CACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC;IACvB,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,KAAK,KAAK,IAAI;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;IAC1B,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACtC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,IAAI,OAAyB,CAAC;QAE9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CACpC;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACzD;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,OAAO;gBACL,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CACrD;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC;yBACE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;yBACjC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;yBAChB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxB;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,aAAa,GACjB,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,GAAG,CAAC,EAAE;qBACH,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CACpC;gBACL,CAAC,CAAC,GAAG,CAAC,EAAE;qBACH,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACzD,CAAC;YAEV,OAAO,GAAG,MAAM,aAAa;gBAC3B,0DAA0D;iBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAClC,CACF;iBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CACvE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAE9C,2EAA2E;QAC3E,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;qBACT,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,CACzC;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;qBACT,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAC1D;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CACzE,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAErD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEtD,MAAM,WAAW,GACf,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;iBACT,KAAK,CAAC,SAAS,CAAC;iBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CACnC;iBACA,IAAI,CAAC,cAAc,CAAC;YACzB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;iBACT,KAAK,CAAC,SAAS,CAAC;iBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CACpD;iBACA,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9B,MAAM,8BAA8B,GAAG,WAAW;aAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAE5B,OAAO;YACL,KAAK;YACL,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,8BAA8B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3C,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAC/C,CACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,aAAa,EAAE,oBAAoB;QACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B;IACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,WAAW,CAAC,eAAe,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CACjC,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,KAAK;YACL,IAAI;YACJ,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,GAAG,KAAK,KAAK,IAAI,EAAE;YAC/B,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;QAC7B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,OAAO,GACX,IAAI,CAAC,KAAK,CAAC,WAAW;YACtB,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,WAAW,CAAC,oCAAoC,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,qBAAqB,CACjC,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1E,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1C,KAAK;YACL,IAAI;YACJ,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,GAAG,KAAK,KAAK,IAAI,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,oBAAoB;KAC7B;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;KAC1B;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC1B,KAAK,CAAC,WAAW,CAAC;aAClB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAC1D;aACA,MAAM,EAAE,CAAC;QAEZ,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;IACvE,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,YAAY,CAAC;AACpB,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,aAAa,GAAyB;IAC1C,UAAU;IACV,iBAAiB;IACjB,YAAY;CACb,CAAC;AAEF,SAAS,mBAAmB,CAC1B,KAAuC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CACnB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,0BAA0B;IAC1B,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC;IACxB,IAAI,EAAE;QACJ,cAAc,EAAE,uBAAuB;QACvC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpD,IAAI,EAAE,kBAAkB;QACxB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,yBAAyB,CAAC,oBAAoB,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAEtC,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,WAAW,CACnB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,MAAwC,CAAC;QAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM;oBACJ,IAAI,CAAC,IAAI,KAAK,KAAK;wBACjB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACnC;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CACnC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACnC;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAChD,CAAC;gBAED,MAAM;oBACJ,IAAI,CAAC,IAAI,KAAK,KAAK;wBACjB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpD;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpD;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,IAAI,CAAC,IAAI,KAAK,KAAK;oBACjB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;yBACnB,KAAK,CAAC,SAAS,CAAC;yBAChB,SAAS,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpD;yBACA,KAAK,CAAC,MAAM,CAAC;oBAClB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;yBACnB,KAAK,CAAC,SAAS,CAAC;yBAChB,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpD;yBACA,KAAK,CAAC,MAAM,CAAC,CACrB,CAAC;gBAEF,MAAM,GAAG,MAAM,YAAY,CACzB,OAAO,EACP,IAAI,CAAC,IAAI,KAAK,KAAK;oBACjB,CAAC,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC;oBAClC,CAAC,CAAC,CAAC,eAAe,CAAC,CACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM;gBACJ,IAAI,CAAC,IAAI,KAAK,KAAK;oBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,YAAY,CAAC;6BACvB,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;6BAC7D,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;oBACpC,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;6BACrD,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM;gBACJ,IAAI,CAAC,IAAI,KAAK,KAAK;oBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BACvD,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;oBACpC,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BAC/C,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClC,CAAC,CAAC,MAAM,EAAE;6BACL,KAAK,CAAC,SAAS,CAAC;6BAChB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;6BACA,KAAK,CAAC,MAAM,CAAC;6BACb,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;qBACvD,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;gBAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;oBACnC,aAAa;oBACb,eAAe;iBAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;qBACA,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;gBAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;oBACnC,aAAa;oBACb,eAAe;iBAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;iBACnB,KAAK,CAAC,SAAS,CAAC;iBAChB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBAC/C,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;YAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAC9D,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;iBACnB,KAAK,CAAC,SAAS,CAAC;iBAChB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC;iBACA,KAAK,CAAC,MAAM,CAAC,CACjB,CAAC;YAEF,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAC9D,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAC/C,CACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC;IACvB,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACrC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3C;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,KAAK,KAAK,IAAI;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,cAAc,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAChC,CAAC;IACR,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;IAC1B,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACtC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAEtC,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,WAAW,CACnB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,OAAyB,CAAC;QAE9B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC;qBACE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;qBACjC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpC;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC;qBACE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;qBACjC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;qBAChB,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpC;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;qBACnB,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC;qBACE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;qBACjC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CACpC;oBACD,0DAA0D;qBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAClC,CACF;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CACpC;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACzD;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,OAAO;gBACL,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CACrD;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;yBACT,KAAK,CAAC,SAAS,CAAC;yBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC;yBACE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;yBACjC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;yBAChB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxB;yBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,aAAa,GACjB,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,GAAG,CAAC,EAAE;qBACH,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CACpC;gBACL,CAAC,CAAC,GAAG,CAAC,EAAE;qBACH,KAAK,CAAC,SAAS,CAAC;qBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CACzD,CAAC;YAEV,OAAO,GAAG,MAAM,aAAa;gBAC3B,0DAA0D;iBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAClC,CACF;iBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CACvE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAE9C,2EAA2E;QAC3E,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;qBACT,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,CACzC;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;qBACT,KAAK,CAAC,SAAS,CAAC;qBAChB,SAAS,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAC1D;qBACA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CACzE,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAErD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEtD,MAAM,WAAW,GACf,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;iBACT,KAAK,CAAC,SAAS,CAAC;iBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CACnC;iBACA,IAAI,CAAC,cAAc,CAAC;YACzB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;iBACT,KAAK,CAAC,SAAS,CAAC;iBAChB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CACpD;iBACA,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9B,MAAM,8BAA8B,GAAG,WAAW;aAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAE5B,OAAO;YACL,KAAK;YACL,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,8BAA8B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3C,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAC/C,CACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,aAAa,EAAE,oBAAoB;QACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAChD;IACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,WAAW,CAAC,eAAe,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CACjC,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1E,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,YAAY,EAAE,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC;YAC5D,KAAK;YACL,IAAI;YACJ,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,GAAG,KAAK,KAAK,IAAI,EAAE;YAC/B,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SACpE,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;QAC7B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,OAAO,GACX,IAAI,CAAC,KAAK,CAAC,WAAW;YACtB,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,WAAW,CAAC,oCAAoC,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,qBAAqB,CACjC,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1E,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1C,KAAK;YACL,IAAI;YACJ,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,GAAG,KAAK,KAAK,IAAI,EAAE;YAC/B,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,oBAAoB;KAC7B;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC;YACrD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;KAC1B;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC1B,KAAK,CAAC,WAAW,CAAC;aAClB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAC1D;aACA,MAAM,EAAE,CAAC;QAEZ,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC1C,WAAW;gBACX,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC;aACvD,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC1C,WAAW;gBACX,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC;aACvD,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;IACvE,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { DataModel } from "./_generated/dataModel.js";
|
|
2
2
|
import type { QueryCtx } from "./types.js";
|
|
3
3
|
import type { FeedbackComment, FeedbackEntry } from "./model.js";
|
|
4
|
+
export declare function validateFeedbackMetadata(metadata: DataModel["entries"]["document"]["metadata"]): void;
|
|
4
5
|
export declare function normalizeTitle(value: string): string;
|
|
5
6
|
export declare function normalizeRequiredText(value: string, field: string, maximumLength: number): string;
|
|
6
7
|
export declare function assertPositiveInteger(value: number, field: string): void;
|
|
7
8
|
export declare function assertActorId(actorId: string): void;
|
|
8
|
-
export declare function serializeEntry(ctx: QueryCtx, entry: DataModel["entries"]["document"], viewerActorId: string | undefined): Promise<FeedbackEntry>;
|
|
9
|
+
export declare function serializeEntry(ctx: QueryCtx, entry: DataModel["entries"]["document"], viewerActorId: string | undefined, includeMetadata?: boolean): Promise<FeedbackEntry>;
|
|
9
10
|
export declare function serializeComment(ctx: QueryCtx, comment: DataModel["comments"]["document"], viewerActorId: string | undefined): Promise<FeedbackComment>;
|
|
10
11
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYjE,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GACrD,IAAI,CAoDN;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,MAAM,CAWR;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EACvC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,eAAe,UAAQ,GACtB,OAAO,CAAC,aAAa,CAAC,CA2BxB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,eAAe,CAAC,CA+B1B"}
|
|
@@ -1,4 +1,46 @@
|
|
|
1
1
|
import { ConvexError } from "convex/values";
|
|
2
|
+
const metadataMaximumKeysPerSection = 32;
|
|
3
|
+
const metadataMaximumKeyLength = 64;
|
|
4
|
+
const metadataMaximumStringLength = 1_024;
|
|
5
|
+
const metadataMaximumEncodedBytes = 16 * 1_024;
|
|
6
|
+
const forbiddenMetadataKeys = new Set([
|
|
7
|
+
"__proto__",
|
|
8
|
+
"constructor",
|
|
9
|
+
"prototype",
|
|
10
|
+
]);
|
|
11
|
+
export function validateFeedbackMetadata(metadata) {
|
|
12
|
+
if (metadata === undefined)
|
|
13
|
+
return;
|
|
14
|
+
for (const [sectionName, section] of Object.entries(metadata)) {
|
|
15
|
+
if (section === undefined)
|
|
16
|
+
continue;
|
|
17
|
+
const entries = Object.entries(section);
|
|
18
|
+
if (entries.length > metadataMaximumKeysPerSection) {
|
|
19
|
+
throw new ConvexError(`Metadata section '${sectionName}' must contain ${metadataMaximumKeysPerSection} keys or fewer.`);
|
|
20
|
+
}
|
|
21
|
+
for (const [key, value] of entries) {
|
|
22
|
+
if (key.length === 0) {
|
|
23
|
+
throw new ConvexError(`Metadata section '${sectionName}' contains an empty key.`);
|
|
24
|
+
}
|
|
25
|
+
if (key.length > metadataMaximumKeyLength) {
|
|
26
|
+
throw new ConvexError(`Metadata key '${key}' in section '${sectionName}' must be ${metadataMaximumKeyLength} characters or fewer.`);
|
|
27
|
+
}
|
|
28
|
+
if (key.startsWith("_") ||
|
|
29
|
+
key.startsWith("$") ||
|
|
30
|
+
forbiddenMetadataKeys.has(key)) {
|
|
31
|
+
throw new ConvexError(`Metadata key '${key}' in section '${sectionName}' is reserved and cannot be used.`);
|
|
32
|
+
}
|
|
33
|
+
if (typeof value === "string" &&
|
|
34
|
+
value.length > metadataMaximumStringLength) {
|
|
35
|
+
throw new ConvexError(`Metadata value for '${sectionName}.${key}' must be ${metadataMaximumStringLength} characters or fewer.`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const encodedBytes = new TextEncoder().encode(JSON.stringify(metadata)).length;
|
|
40
|
+
if (encodedBytes > metadataMaximumEncodedBytes) {
|
|
41
|
+
throw new ConvexError(`Metadata must be ${metadataMaximumEncodedBytes} UTF-8 bytes or fewer; received ${encodedBytes} bytes.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
2
44
|
export function normalizeTitle(value) {
|
|
3
45
|
return value.trim().replace(/\s+/g, " ").toLocaleLowerCase("en-US");
|
|
4
46
|
}
|
|
@@ -22,7 +64,7 @@ export function assertActorId(actorId) {
|
|
|
22
64
|
throw new ConvexError("Actor id must not be empty.");
|
|
23
65
|
}
|
|
24
66
|
}
|
|
25
|
-
export async function serializeEntry(ctx, entry, viewerActorId) {
|
|
67
|
+
export async function serializeEntry(ctx, entry, viewerActorId, includeMetadata = false) {
|
|
26
68
|
const reaction = viewerActorId !== undefined
|
|
27
69
|
? await ctx.db
|
|
28
70
|
.query("reactions")
|
|
@@ -41,6 +83,9 @@ export async function serializeEntry(ctx, entry, viewerActorId) {
|
|
|
41
83
|
commentCount: entry.commentCount,
|
|
42
84
|
...(entry.updatedAt === undefined ? {} : { updatedAt: entry.updatedAt }),
|
|
43
85
|
viewerHasUpvoted: reaction !== null,
|
|
86
|
+
...(includeMetadata && entry.metadata !== undefined
|
|
87
|
+
? { metadata: entry.metadata }
|
|
88
|
+
: {}),
|
|
44
89
|
};
|
|
45
90
|
}
|
|
46
91
|
export async function serializeComment(ctx, comment, viewerActorId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,KAAa,EACb,aAAqB;IAErB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,WAAW,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,WAAW,CACnB,GAAG,KAAK,YAAY,aAAa,uBAAuB,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,KAAa;IAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,WAAW,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,WAAW,CAAC,6BAA6B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAa,EACb,KAAuC,EACvC,aAAiC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,MAAM,6BAA6B,GAAG,EAAE,CAAC;AACzC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,MAAM,2BAA2B,GAAG,EAAE,GAAG,KAAK,CAAC;AAC/C,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,WAAW;IACX,aAAa;IACb,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CACtC,QAAsD;IAEtD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IAEnC,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,OAAO,CAAC,MAAM,GAAG,6BAA6B,EAAE,CAAC;YACnD,MAAM,IAAI,WAAW,CACnB,qBAAqB,WAAW,kBAAkB,6BAA6B,iBAAiB,CACjG,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,WAAW,CACnB,qBAAqB,WAAW,0BAA0B,CAC3D,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;gBAC1C,MAAM,IAAI,WAAW,CACnB,iBAAiB,GAAG,iBAAiB,WAAW,aAAa,wBAAwB,uBAAuB,CAC7G,CAAC;YACJ,CAAC;YACD,IACE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBACnB,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9B,CAAC;gBACD,MAAM,IAAI,WAAW,CACnB,iBAAiB,GAAG,iBAAiB,WAAW,mCAAmC,CACpF,CAAC;YACJ,CAAC;YACD,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,MAAM,GAAG,2BAA2B,EAC1C,CAAC;gBACD,MAAM,IAAI,WAAW,CACnB,uBAAuB,WAAW,IAAI,GAAG,aAAa,2BAA2B,uBAAuB,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzB,CAAC,MAAM,CAAC;IACT,IAAI,YAAY,GAAG,2BAA2B,EAAE,CAAC;QAC/C,MAAM,IAAI,WAAW,CACnB,oBAAoB,2BAA2B,mCAAmC,YAAY,SAAS,CACxG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,KAAa,EACb,aAAqB;IAErB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,WAAW,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,WAAW,CACnB,GAAG,KAAK,YAAY,aAAa,uBAAuB,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,KAAa;IAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,WAAW,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,WAAW,CAAC,6BAA6B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAa,EACb,KAAuC,EACvC,aAAiC,EACjC,eAAe,GAAG,KAAK;IAEvB,MAAM,QAAQ,GACZ,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;aACT,KAAK,CAAC,WAAW,CAAC;aAClB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CACxD;aACA,MAAM,EAAE;QACb,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG;QACb,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACxE,gBAAgB,EAAE,QAAQ,KAAK,IAAI;QACnC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC9B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAa,EACb,OAA0C,EAC1C,aAAiC;IAEjC,MAAM,QAAQ,GACZ,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;aACT,KAAK,CAAC,WAAW,CAAC;aAClB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CACnC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAC5D;aACA,MAAM,EAAE;QACb,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,GAAG;QACf,YAAY,EAAE,OAAO,CAAC,aAAa;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QACjD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAC3D,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QACrC,cAAc,EAAE,QAAQ,KAAK,IAAI;KAClC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backfills one bounded batch of legacy entries and schedules the next batch.
|
|
3
|
+
*
|
|
4
|
+
* The indexed undefined lookup and deterministic status mapping make this
|
|
5
|
+
* safe to run concurrently, retry, or invoke again after completion.
|
|
6
|
+
*/
|
|
7
|
+
export declare const backfillStatusFilter: import("convex/server").RegisteredMutation<"internal", {}, Promise<{
|
|
8
|
+
updated: number;
|
|
9
|
+
hasMore: boolean;
|
|
10
|
+
}>>;
|
|
11
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/component/migrations.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;GA6B/B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { v } from "convex/values";
|
|
2
|
+
import { internal } from "./_generated/api.js";
|
|
3
|
+
import { internalMutation } from "./_generated/server.js";
|
|
4
|
+
import { entryStatusFilterForStatus } from "./model.js";
|
|
5
|
+
const statusFilterMigrationBatchSize = 100;
|
|
6
|
+
/**
|
|
7
|
+
* Backfills one bounded batch of legacy entries and schedules the next batch.
|
|
8
|
+
*
|
|
9
|
+
* The indexed undefined lookup and deterministic status mapping make this
|
|
10
|
+
* safe to run concurrently, retry, or invoke again after completion.
|
|
11
|
+
*/
|
|
12
|
+
export const backfillStatusFilter = internalMutation({
|
|
13
|
+
args: {},
|
|
14
|
+
returns: v.object({
|
|
15
|
+
updated: v.number(),
|
|
16
|
+
hasMore: v.boolean(),
|
|
17
|
+
}),
|
|
18
|
+
handler: async (ctx) => {
|
|
19
|
+
const entries = await ctx.db
|
|
20
|
+
.query("entries")
|
|
21
|
+
.withIndex("by_status_filter", (q) => q.eq("statusFilter", undefined))
|
|
22
|
+
.take(statusFilterMigrationBatchSize);
|
|
23
|
+
for (const entry of entries) {
|
|
24
|
+
await ctx.db.patch("entries", entry._id, {
|
|
25
|
+
statusFilter: entryStatusFilterForStatus(entry.status),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const hasMore = entries.length === statusFilterMigrationBatchSize;
|
|
29
|
+
if (hasMore) {
|
|
30
|
+
await ctx.scheduler.runAfter(0, internal.migrations.backfillStatusFilter, {});
|
|
31
|
+
}
|
|
32
|
+
return { updated: entries.length, hasMore };
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/component/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;IACnD,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;KACrB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,SAAS,CAAC;aAChB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;aACrE,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE;gBACvC,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,8BAA8B,CAAC;QAClE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAC1B,CAAC,EACD,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EACxC,EAAE,CACH,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
|