mcp-grampsweb 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.
Files changed (55) hide show
  1. package/dist/client.d.ts.map +1 -1
  2. package/dist/client.js +4 -0
  3. package/dist/client.js.map +1 -1
  4. package/dist/constants.d.ts +7 -0
  5. package/dist/constants.d.ts.map +1 -1
  6. package/dist/constants.js +8 -0
  7. package/dist/constants.js.map +1 -1
  8. package/dist/index.js +28 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/prompts/index.d.ts +26 -0
  11. package/dist/prompts/index.d.ts.map +1 -0
  12. package/dist/prompts/index.js +310 -0
  13. package/dist/prompts/index.js.map +1 -0
  14. package/dist/schemas/common.d.ts +67 -4
  15. package/dist/schemas/common.d.ts.map +1 -1
  16. package/dist/schemas/common.js +13 -2
  17. package/dist/schemas/common.js.map +1 -1
  18. package/dist/schemas/entities.d.ts +154 -36
  19. package/dist/schemas/entities.d.ts.map +1 -1
  20. package/dist/tools/analysis.d.ts.map +1 -1
  21. package/dist/tools/analysis.js +134 -56
  22. package/dist/tools/analysis.js.map +1 -1
  23. package/dist/tools/convenience.d.ts +59 -0
  24. package/dist/tools/convenience.d.ts.map +1 -0
  25. package/dist/tools/convenience.js +131 -0
  26. package/dist/tools/convenience.js.map +1 -0
  27. package/dist/tools/create.d.ts +35 -0
  28. package/dist/tools/create.d.ts.map +1 -1
  29. package/dist/tools/create.js +216 -44
  30. package/dist/tools/create.js.map +1 -1
  31. package/dist/tools/index.d.ts +253 -1
  32. package/dist/tools/index.d.ts.map +1 -1
  33. package/dist/tools/index.js +7 -1
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/list.d.ts +88 -0
  36. package/dist/tools/list.d.ts.map +1 -0
  37. package/dist/tools/list.js +222 -0
  38. package/dist/tools/list.js.map +1 -0
  39. package/dist/tools/search.d.ts.map +1 -1
  40. package/dist/tools/search.js +67 -24
  41. package/dist/tools/search.js.map +1 -1
  42. package/dist/tools/update.d.ts +662 -0
  43. package/dist/tools/update.d.ts.map +1 -0
  44. package/dist/tools/update.js +383 -0
  45. package/dist/tools/update.js.map +1 -0
  46. package/dist/types.d.ts +11 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/utils/formatting.d.ts.map +1 -1
  49. package/dist/utils/formatting.js +23 -2
  50. package/dist/utils/formatting.js.map +1 -1
  51. package/dist/utils/response.d.ts +34 -0
  52. package/dist/utils/response.d.ts.map +1 -0
  53. package/dist/utils/response.js +71 -0
  54. package/dist/utils/response.js.map +1 -0
  55. package/package.json +1 -1
@@ -4,6 +4,8 @@
4
4
  import { grampsClient } from "../client.js";
5
5
  import { API_ENDPOINTS } from "../constants.js";
6
6
  import { createPersonSchema, createFamilySchema, createEventSchema, createPlaceSchema, createSourceSchema, createCitationSchema, createNoteSchema, createMediaSchema, createRepositorySchema, } from "../schemas/entities.js";
7
+ import { formatCreatedEntity } from "../utils/response.js";
8
+ import { formatPersonName } from "../utils/formatting.js";
7
9
  // Gender string to number mapping
8
10
  function mapGender(gender) {
9
11
  if (!gender)
@@ -17,6 +19,23 @@ function mapGender(gender) {
17
19
  return 2;
18
20
  }
19
21
  }
22
+ // Map a name object with proper class markers for surnames
23
+ function mapNameWithClasses(name) {
24
+ if (!name)
25
+ return undefined;
26
+ const mapped = {
27
+ _class: "Name",
28
+ ...name,
29
+ };
30
+ // Map surname_list items with Surname class
31
+ if (name.surname_list && Array.isArray(name.surname_list)) {
32
+ mapped.surname_list = name.surname_list.map((s) => ({
33
+ _class: "Surname",
34
+ ...s,
35
+ }));
36
+ }
37
+ return mapped;
38
+ }
20
39
  /**
21
40
  * Create a person
22
41
  */
@@ -26,13 +45,8 @@ export async function grampsCreatePerson(params) {
26
45
  const person = {
27
46
  _class: "Person",
28
47
  gramps_id: validated.gramps_id,
29
- primary_name: validated.primary_name
30
- ? { _class: "Name", ...validated.primary_name }
31
- : undefined,
32
- alternate_names: validated.alternate_names?.map((n) => ({
33
- _class: "Name",
34
- ...n,
35
- })),
48
+ primary_name: mapNameWithClasses(validated.primary_name),
49
+ alternate_names: validated.alternate_names?.map((n) => mapNameWithClasses(n)),
36
50
  gender: mapGender(validated.gender),
37
51
  event_ref_list: validated.event_ref_list?.map((e) => ({
38
52
  _class: "EventRef",
@@ -50,8 +64,26 @@ export async function grampsCreatePerson(params) {
50
64
  tag_list: validated.tag_list,
51
65
  private: validated.private,
52
66
  };
53
- const response = await grampsClient.post(API_ENDPOINTS.PEOPLE, person);
54
- return `Created person: ${response.gramps_id} (handle: ${response.handle})`;
67
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.PEOPLE, person);
68
+ // API returns an array of change records - extract the first one
69
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
70
+ // Validate that API returned a handle
71
+ if (!response?.handle) {
72
+ throw new Error(`API did not return entity handle after creating person. Response: ${JSON.stringify(rawResponse)}`);
73
+ }
74
+ const genderMap = {
75
+ 0: "female",
76
+ 1: "male",
77
+ 2: "unknown",
78
+ };
79
+ const mappedGender = mapGender(validated.gender);
80
+ const genderStr = mappedGender !== undefined ? genderMap[mappedGender] : "unknown";
81
+ return formatCreatedEntity("person", formatPersonName(validated.primary_name), {
82
+ handle: response.handle,
83
+ gramps_id: response.gramps_id,
84
+ name: formatPersonName(validated.primary_name),
85
+ gender: genderStr,
86
+ }, `Use handle "${response.handle}" to link this person to families or events with gramps_create_family.`);
55
87
  }
56
88
  /**
57
89
  * Create a family
@@ -82,8 +114,35 @@ export async function grampsCreateFamily(params) {
82
114
  tag_list: validated.tag_list,
83
115
  private: validated.private,
84
116
  };
85
- const response = await grampsClient.post(API_ENDPOINTS.FAMILIES, family);
86
- return `Created family: ${response.gramps_id} (handle: ${response.handle})`;
117
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.FAMILIES, family);
118
+ // API returns an array of change records - find the Family entry
119
+ let response;
120
+ if (Array.isArray(rawResponse)) {
121
+ response = rawResponse.find((r) => r._class === "Family") || rawResponse[0];
122
+ }
123
+ else {
124
+ response = rawResponse;
125
+ }
126
+ if (!response?.handle) {
127
+ throw new Error(`API did not return entity handle after creating family. Response: ${JSON.stringify(rawResponse)}`);
128
+ }
129
+ const members = [];
130
+ if (validated.father_handle)
131
+ members.push("father");
132
+ if (validated.mother_handle)
133
+ members.push("mother");
134
+ if (validated.child_ref_list?.length)
135
+ members.push(`${validated.child_ref_list.length} child(ren)`);
136
+ return formatCreatedEntity("family", response.gramps_id, {
137
+ handle: response.handle,
138
+ gramps_id: response.gramps_id,
139
+ father_handle: validated.father_handle || null,
140
+ mother_handle: validated.mother_handle || null,
141
+ children_count: validated.child_ref_list?.length || 0,
142
+ type: validated.type || "Unknown",
143
+ }, members.length > 0
144
+ ? `Family links ${members.join(", ")}. Add marriage/events with gramps_create_event.`
145
+ : "Add family members by updating with person handles.");
87
146
  }
88
147
  /**
89
148
  * Create an event
@@ -107,8 +166,19 @@ export async function grampsCreateEvent(params) {
107
166
  tag_list: validated.tag_list,
108
167
  private: validated.private,
109
168
  };
110
- const response = await grampsClient.post(API_ENDPOINTS.EVENTS, event);
111
- return `Created event: ${response.gramps_id} (handle: ${response.handle})`;
169
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.EVENTS, event);
170
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
171
+ if (!response?.handle) {
172
+ throw new Error(`API did not return entity handle after creating event. Response: ${JSON.stringify(rawResponse)}`);
173
+ }
174
+ return formatCreatedEntity("event", `${validated.type} (${response.gramps_id})`, {
175
+ handle: response.handle,
176
+ gramps_id: response.gramps_id,
177
+ type: validated.type,
178
+ date: validated.date || null,
179
+ place_handle: validated.place || null,
180
+ description: validated.description || null,
181
+ }, `Link this event to a person or family using event_ref_list with handle "${response.handle}".`);
112
182
  }
113
183
  /**
114
184
  * Create a place
@@ -136,8 +206,19 @@ export async function grampsCreatePlace(params) {
136
206
  tag_list: validated.tag_list,
137
207
  private: validated.private,
138
208
  };
139
- const response = await grampsClient.post(API_ENDPOINTS.PLACES, place);
140
- return `Created place: ${response.gramps_id} (handle: ${response.handle})`;
209
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.PLACES, place);
210
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
211
+ if (!response?.handle) {
212
+ throw new Error(`API did not return entity handle after creating place. Response: ${JSON.stringify(rawResponse)}`);
213
+ }
214
+ const placeName = validated.name?.value || validated.title || response.gramps_id;
215
+ return formatCreatedEntity("place", placeName, {
216
+ handle: response.handle,
217
+ gramps_id: response.gramps_id,
218
+ name: placeName,
219
+ type: validated.place_type || null,
220
+ coordinates: validated.lat && validated.long ? { lat: validated.lat, long: validated.long } : null,
221
+ }, `Use handle "${response.handle}" when creating events to link them to this place.`);
141
222
  }
142
223
  /**
143
224
  * Create a source
@@ -160,8 +241,18 @@ export async function grampsCreateSource(params) {
160
241
  tag_list: validated.tag_list,
161
242
  private: validated.private,
162
243
  };
163
- const response = await grampsClient.post(API_ENDPOINTS.SOURCES, source);
164
- return `Created source: ${response.gramps_id} (handle: ${response.handle})`;
244
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.SOURCES, source);
245
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
246
+ if (!response?.handle) {
247
+ throw new Error(`API did not return entity handle after creating source. Response: ${JSON.stringify(rawResponse)}`);
248
+ }
249
+ return formatCreatedEntity("source", validated.title, {
250
+ handle: response.handle,
251
+ gramps_id: response.gramps_id,
252
+ title: validated.title,
253
+ author: validated.author || null,
254
+ publication: validated.pubinfo || null,
255
+ }, `Create citations referencing this source with gramps_create_citation using source_handle "${response.handle}".`);
165
256
  }
166
257
  /**
167
258
  * Create a citation
@@ -180,8 +271,25 @@ export async function grampsCreateCitation(params) {
180
271
  tag_list: validated.tag_list,
181
272
  private: validated.private,
182
273
  };
183
- const response = await grampsClient.post(API_ENDPOINTS.CITATIONS, citation);
184
- return `Created citation: ${response.gramps_id} (handle: ${response.handle})`;
274
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.CITATIONS, citation);
275
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
276
+ if (!response?.handle) {
277
+ throw new Error(`API did not return entity handle after creating citation. Response: ${JSON.stringify(rawResponse)}`);
278
+ }
279
+ const confidenceMap = {
280
+ 0: "Very Low",
281
+ 1: "Low",
282
+ 2: "Normal",
283
+ 3: "High",
284
+ 4: "Very High",
285
+ };
286
+ return formatCreatedEntity("citation", response.gramps_id, {
287
+ handle: response.handle,
288
+ gramps_id: response.gramps_id,
289
+ source_handle: validated.source_handle,
290
+ page: validated.page || null,
291
+ confidence: validated.confidence !== undefined ? confidenceMap[validated.confidence] || "Normal" : "Normal",
292
+ }, `Add this citation to entities using citation_list with handle "${response.handle}".`);
185
293
  }
186
294
  /**
187
295
  * Create a note
@@ -197,8 +305,18 @@ export async function grampsCreateNote(params) {
197
305
  tag_list: validated.tag_list,
198
306
  private: validated.private,
199
307
  };
200
- const response = await grampsClient.post(API_ENDPOINTS.NOTES, note);
201
- return `Created note: ${response.gramps_id} (handle: ${response.handle})`;
308
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.NOTES, note);
309
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
310
+ if (!response?.handle) {
311
+ throw new Error(`API did not return entity handle after creating note. Response: ${JSON.stringify(rawResponse)}`);
312
+ }
313
+ const preview = validated.text.length > 50 ? validated.text.substring(0, 50) + "..." : validated.text;
314
+ return formatCreatedEntity("note", response.gramps_id, {
315
+ handle: response.handle,
316
+ gramps_id: response.gramps_id,
317
+ type: validated.type || "General",
318
+ preview,
319
+ }, `Attach this note to entities using note_list with handle "${response.handle}".`);
202
320
  }
203
321
  /**
204
322
  * Create a media object
@@ -221,8 +339,19 @@ export async function grampsCreateMedia(params) {
221
339
  tag_list: validated.tag_list,
222
340
  private: validated.private,
223
341
  };
224
- const response = await grampsClient.post(API_ENDPOINTS.MEDIA, media);
225
- return `Created media: ${response.gramps_id} (handle: ${response.handle})`;
342
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.MEDIA, media);
343
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
344
+ if (!response?.handle) {
345
+ throw new Error(`API did not return entity handle after creating media. Response: ${JSON.stringify(rawResponse)}`);
346
+ }
347
+ const displayName = validated.desc || validated.path;
348
+ return formatCreatedEntity("media", displayName, {
349
+ handle: response.handle,
350
+ gramps_id: response.gramps_id,
351
+ path: validated.path,
352
+ mime_type: validated.mime || null,
353
+ description: validated.desc || null,
354
+ }, `Link this media to entities using media_list with handle "${response.handle}".`);
226
355
  }
227
356
  /**
228
357
  * Create a repository
@@ -243,15 +372,26 @@ export async function grampsCreateRepository(params) {
243
372
  tag_list: validated.tag_list,
244
373
  private: validated.private,
245
374
  };
246
- const response = await grampsClient.post(API_ENDPOINTS.REPOSITORIES, repository);
247
- return `Created repository: ${response.gramps_id} (handle: ${response.handle})`;
375
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.REPOSITORIES, repository);
376
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
377
+ if (!response?.handle) {
378
+ throw new Error(`API did not return entity handle after creating repository. Response: ${JSON.stringify(rawResponse)}`);
379
+ }
380
+ return formatCreatedEntity("repository", validated.name, {
381
+ handle: response.handle,
382
+ gramps_id: response.gramps_id,
383
+ name: validated.name,
384
+ type: validated.type || null,
385
+ }, `Link sources to this repository using reporef_list with handle "${response.handle}".`);
248
386
  }
249
387
  // Tool definitions for MCP
250
388
  export const createTools = {
251
389
  gramps_create_person: {
252
390
  name: "gramps_create_person",
253
- description: "Create a new person record in Gramps. " +
254
- "Provide name information and optionally gender, events, family links, etc.",
391
+ description: "Create a new person record. " +
392
+ "REQUIRED: primary_name with first_name or surname. " +
393
+ "RETURNS: handle (for linking) and gramps_id (display ID). " +
394
+ "NEXT STEP: Use handle with gramps_create_family to add relationships.",
255
395
  inputSchema: {
256
396
  type: "object",
257
397
  properties: {
@@ -264,9 +404,25 @@ export const createTools = {
264
404
  description: "Primary name",
265
405
  properties: {
266
406
  first_name: { type: "string" },
267
- surname: { type: "string" },
407
+ call_name: { type: "string", description: "Nickname or call name" },
408
+ surname: { type: "string", description: "Simple surname" },
409
+ surname_list: {
410
+ type: "array",
411
+ description: "Multiple surnames with origin types (use instead of surname for complex names)",
412
+ items: {
413
+ type: "object",
414
+ properties: {
415
+ surname: { type: "string", description: "The surname" },
416
+ prefix: { type: "string", description: "Prefix (e.g., 'von', 'de')" },
417
+ primary: { type: "boolean", description: "Is this the primary surname?" },
418
+ origintype: { type: "string", description: "Origin: Inherited, Married, Taken, Given" },
419
+ },
420
+ required: ["surname"],
421
+ },
422
+ },
268
423
  suffix: { type: "string" },
269
424
  title: { type: "string" },
425
+ type: { type: "string", description: "Name type: Birth Name, Married Name, Also Known As" },
270
426
  },
271
427
  },
272
428
  gender: {
@@ -285,8 +441,10 @@ export const createTools = {
285
441
  },
286
442
  gramps_create_family: {
287
443
  name: "gramps_create_family",
288
- description: "Create a new family record in Gramps. " +
289
- "Link father, mother, and children by their person handles.",
444
+ description: "Create a family linking parents and children. " +
445
+ "USE FOR: Connecting existing people into family relationships. " +
446
+ "REQUIRED: At least one of father_handle, mother_handle, or child_ref_list. " +
447
+ "NEXT STEP: Add marriage event with gramps_create_event.",
290
448
  inputSchema: {
291
449
  type: "object",
292
450
  properties: {
@@ -326,8 +484,10 @@ export const createTools = {
326
484
  },
327
485
  gramps_create_event: {
328
486
  name: "gramps_create_event",
329
- description: "Create a new event record in Gramps. " +
330
- "Events include births, deaths, marriages, baptisms, etc.",
487
+ description: "Create a life event (Birth, Death, Marriage, Burial, Baptism, etc.). " +
488
+ "REQUIRED: type (event type string). " +
489
+ "OPTIONAL: date, place handle, description. " +
490
+ "NEXT STEP: Link to person/family via their event_ref_list.",
331
491
  inputSchema: {
332
492
  type: "object",
333
493
  properties: {
@@ -366,8 +526,10 @@ export const createTools = {
366
526
  },
367
527
  gramps_create_place: {
368
528
  name: "gramps_create_place",
369
- description: "Create a new place record in Gramps. " +
370
- "Places can be cities, countries, addresses, cemeteries, etc.",
529
+ description: "Create a location (city, country, address, cemetery, etc.). " +
530
+ "OPTIONAL: title, name, coordinates (lat/long), place_type. " +
531
+ "USE FOR: Linking to events via place handle. " +
532
+ "RETURNS: handle to use when creating events.",
371
533
  inputSchema: {
372
534
  type: "object",
373
535
  properties: {
@@ -405,8 +567,10 @@ export const createTools = {
405
567
  },
406
568
  gramps_create_source: {
407
569
  name: "gramps_create_source",
408
- description: "Create a new source record in Gramps. " +
409
- "Sources document where genealogical information comes from.",
570
+ description: "Create a source documenting where information comes from (books, websites, records). " +
571
+ "REQUIRED: title. " +
572
+ "OPTIONAL: author, pubinfo, abbrev. " +
573
+ "NEXT STEP: Create citations referencing this source.",
410
574
  inputSchema: {
411
575
  type: "object",
412
576
  properties: {
@@ -437,8 +601,10 @@ export const createTools = {
437
601
  },
438
602
  gramps_create_citation: {
439
603
  name: "gramps_create_citation",
440
- description: "Create a new citation record in Gramps. " +
441
- "Citations reference specific parts of sources.",
604
+ description: "Create a citation pointing to a specific location within a source. " +
605
+ "REQUIRED: source_handle (from gramps_create_source). " +
606
+ "OPTIONAL: page, confidence level. " +
607
+ "USE FOR: Attaching proof to facts via entity citation_list.",
442
608
  inputSchema: {
443
609
  type: "object",
444
610
  properties: {
@@ -465,8 +631,10 @@ export const createTools = {
465
631
  },
466
632
  gramps_create_note: {
467
633
  name: "gramps_create_note",
468
- description: "Create a new note in Gramps. " +
469
- "Notes contain textual information that can be attached to other records.",
634
+ description: "Create a text note that can be attached to any entity. " +
635
+ "REQUIRED: text content. " +
636
+ "OPTIONAL: type (General, Research, Transcript), format. " +
637
+ "USE FOR: Adding research notes, transcripts, or comments to records.",
470
638
  inputSchema: {
471
639
  type: "object",
472
640
  properties: {
@@ -493,8 +661,10 @@ export const createTools = {
493
661
  },
494
662
  gramps_create_media: {
495
663
  name: "gramps_create_media",
496
- description: "Create a new media object in Gramps. " +
497
- "Media includes photos, documents, audio, video files.",
664
+ description: "Create a media object reference (photo, document, audio, video). " +
665
+ "REQUIRED: path (file path or URL). " +
666
+ "OPTIONAL: mime type, description. " +
667
+ "USE FOR: Attaching images/documents to people, events, etc.",
498
668
  inputSchema: {
499
669
  type: "object",
500
670
  properties: {
@@ -521,8 +691,10 @@ export const createTools = {
521
691
  },
522
692
  gramps_create_repository: {
523
693
  name: "gramps_create_repository",
524
- description: "Create a new repository in Gramps. " +
525
- "Repositories are places where sources are stored (libraries, archives, websites).",
694
+ description: "Create a repository where sources are stored (library, archive, website). " +
695
+ "REQUIRED: name. " +
696
+ "OPTIONAL: type (Library, Archive, Website). " +
697
+ "USE FOR: Organizing sources by their holding institution.",
526
698
  inputSchema: {
527
699
  type: "object",
528
700
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,kCAAkC;AAClC,SAAS,SAAS,CAAC,MAAe;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0C;IAE1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnD,oDAAoD;IACpD,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,YAAY,EAAE,SAAS,CAAC,YAAY;YAClC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,EAAE;YAC/C,CAAC,CAAC,SAAS;QACb,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,EAAE,MAAM;YACd,GAAG,CAAC;SACL,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;QACnC,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,WAAW;YACnB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,MAAM,EACpB,MAAM,CACP,CAAC;IACF,OAAO,mBAAmB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0C;IAE1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,WAAW;YACnB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,QAAQ,EACtB,MAAM,CACP,CAAC;IACF,OAAO,mBAAmB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAyC;IAEzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QACxE,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,WAAW;YACnB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,MAAM,EACpB,KAAK,CACN,CAAC;IACF,OAAO,kBAAkB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAyC;IAEzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;YAClB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE;YAC5C,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3E,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,MAAM,EACpB,KAAK,CACN,CAAC;IACF,OAAO,kBAAkB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0C;IAE1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,EAAE,SAAS;YACjB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,OAAO,EACrB,MAAM,CACP,CAAC;IACF,OAAO,mBAAmB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA4C;IAE5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QACxE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,SAAS,EACvB,QAAQ,CACT,CAAC;IACF,OAAO,qBAAqB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAwC;IAExC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,KAAK,EACnB,IAAI,CACL,CAAC;IACF,OAAO,iBAAiB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAyC;IAEzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QACxE,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,WAAW;YACnB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,KAAK,EACnB,KAAK,CACN,CAAC;IACF,OAAO,kBAAkB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAA8C;IAE9C,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,EAAE,SAAS;YACjB,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,aAAa,CAAC,YAAY,EAC1B,UAAU,CACX,CAAC;IACF,OAAO,uBAAuB,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;AAClF,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,oBAAoB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,wCAAwC;YACxC,4EAA4E;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;oBAC3B,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACnC,WAAW,EAAE,QAAQ;iBACtB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,iBAAiB;iBAC/B;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;QACD,OAAO,EAAE,kBAAkB;KAC5B;IAED,oBAAoB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,wCAAwC;YACxC,4DAA4D;QAC9D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;4BAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;4BACjE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;yBAClE;wBACD,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;oBACD,WAAW,EAAE,0BAA0B;iBACxC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gDAAgD;iBAC9D;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,kBAAkB;KAC5B;IAED,mBAAmB,EAAE;QACnB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,uCAAuC;YACvC,0DAA0D;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2DAA2D;iBACzE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,WAAW,EAAE,4BAA4B;yBAC1C;wBACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;qBACtD;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;iBAC5B;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mBAAmB;iBACjC;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,OAAO,EAAE,iBAAiB;KAC3B;IAED,mBAAmB,EAAE;QACnB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,uCAAuC;YACvC,8DAA8D;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;iBAC3B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;qBACrD;oBACD,WAAW,EAAE,oBAAoB;iBAClC;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,UAAU;iBACxB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC7D;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,iBAAiB;KAC3B;IAED,oBAAoB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,wCAAwC;YACxC,6DAA6D;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;iBAC5B;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,QAAQ;iBACtB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;iBAC5B;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,kBAAkB;KAC5B;IAED,sBAAsB,EAAE;QACtB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,0CAA0C;YAC1C,gDAAgD;QAClD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,eAAe;iBAC7B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;aACF;YACD,QAAQ,EAAE,CAAC,eAAe,CAAC;SAC5B;QACD,OAAO,EAAE,oBAAoB;KAC9B;IAED,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,+BAA+B;YAC/B,0EAA0E;QAC5E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mBAAmB;iBACjC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,OAAO,EAAE,gBAAgB;KAC1B;IAED,mBAAmB,EAAE;QACnB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,uCAAuC;YACvC,uDAAuD;QACzD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kBAAkB;iBAChC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;iBAC3B;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,OAAO,EAAE,iBAAiB;KAC3B;IAED,wBAAwB,EAAE;QACxB,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,qCAAqC;YACrC,mFAAmF;QACrF,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;iBACvE;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,OAAO,EAAE,sBAAsB;KAChC;CACF,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"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"}