@getpaseo/server 0.1.35 → 0.1.37

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 (153) hide show
  1. package/dist/scripts/daemon-runner.js +31 -1
  2. package/dist/scripts/daemon-runner.js.map +1 -1
  3. package/dist/scripts/supervisor.js +16 -6
  4. package/dist/scripts/supervisor.js.map +1 -1
  5. package/dist/server/client/daemon-client.d.ts +175 -0
  6. package/dist/server/client/daemon-client.d.ts.map +1 -1
  7. package/dist/server/client/daemon-client.js +235 -0
  8. package/dist/server/client/daemon-client.js.map +1 -1
  9. package/dist/server/server/agent/agent-manager.d.ts +13 -0
  10. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  11. package/dist/server/server/agent/agent-manager.js +53 -0
  12. package/dist/server/server/agent/agent-manager.js.map +1 -1
  13. package/dist/server/server/agent/agent-storage.d.ts +10 -10
  14. package/dist/server/server/agent/agent-storage.js +9 -4
  15. package/dist/server/server/agent/agent-storage.js.map +1 -1
  16. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
  17. package/dist/server/server/agent/provider-launch-config.js +38 -1
  18. package/dist/server/server/agent/provider-launch-config.js.map +1 -1
  19. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  20. package/dist/server/server/agent/providers/claude-agent.js +24 -5
  21. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  22. package/dist/server/server/agent-attention-policy.d.ts +1 -1
  23. package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
  24. package/dist/server/server/bootstrap.d.ts.map +1 -1
  25. package/dist/server/server/bootstrap.js +57 -18
  26. package/dist/server/server/bootstrap.js.map +1 -1
  27. package/dist/server/server/chat/chat-mentions.d.ts +31 -0
  28. package/dist/server/server/chat/chat-mentions.d.ts.map +1 -0
  29. package/dist/server/server/chat/chat-mentions.js +71 -0
  30. package/dist/server/server/chat/chat-mentions.js.map +1 -0
  31. package/dist/server/server/chat/chat-rpc-schemas.d.ts +728 -0
  32. package/dist/server/server/chat/chat-rpc-schemas.d.ts.map +1 -0
  33. package/dist/server/server/chat/chat-rpc-schemas.js +103 -0
  34. package/dist/server/server/chat/chat-rpc-schemas.js.map +1 -0
  35. package/dist/server/server/chat/chat-service.d.ts +74 -0
  36. package/dist/server/server/chat/chat-service.d.ts.map +1 -0
  37. package/dist/server/server/chat/chat-service.js +330 -0
  38. package/dist/server/server/chat/chat-service.js.map +1 -0
  39. package/dist/server/server/chat/chat-types.d.ts +75 -0
  40. package/dist/server/server/chat/chat-types.d.ts.map +1 -0
  41. package/dist/server/server/chat/chat-types.js +22 -0
  42. package/dist/server/server/chat/chat-types.js.map +1 -0
  43. package/dist/server/server/checkout-diff-manager.d.ts +41 -0
  44. package/dist/server/server/checkout-diff-manager.d.ts.map +1 -0
  45. package/dist/server/server/checkout-diff-manager.js +272 -0
  46. package/dist/server/server/checkout-diff-manager.js.map +1 -0
  47. package/dist/server/server/checkout-git-utils.d.ts +9 -0
  48. package/dist/server/server/checkout-git-utils.d.ts.map +1 -0
  49. package/dist/server/server/checkout-git-utils.js +37 -0
  50. package/dist/server/server/checkout-git-utils.js.map +1 -0
  51. package/dist/server/server/loop/rpc-schemas.d.ts +2937 -0
  52. package/dist/server/server/loop/rpc-schemas.d.ts.map +1 -0
  53. package/dist/server/server/loop/rpc-schemas.js +159 -0
  54. package/dist/server/server/loop/rpc-schemas.js.map +1 -0
  55. package/dist/server/server/loop-service.d.ts +520 -0
  56. package/dist/server/server/loop-service.d.ts.map +1 -0
  57. package/dist/server/server/loop-service.js +741 -0
  58. package/dist/server/server/loop-service.js.map +1 -0
  59. package/dist/server/server/persisted-config.d.ts +10 -10
  60. package/dist/server/server/schedule/cron.d.ts +4 -0
  61. package/dist/server/server/schedule/cron.d.ts.map +1 -0
  62. package/dist/server/server/schedule/cron.js +103 -0
  63. package/dist/server/server/schedule/cron.js.map +1 -0
  64. package/dist/server/server/schedule/rpc-schemas.d.ts +2773 -0
  65. package/dist/server/server/schedule/rpc-schemas.d.ts.map +1 -0
  66. package/dist/server/server/schedule/rpc-schemas.js +112 -0
  67. package/dist/server/server/schedule/rpc-schemas.js.map +1 -0
  68. package/dist/server/server/schedule/service.d.ts +39 -0
  69. package/dist/server/server/schedule/service.d.ts.map +1 -0
  70. package/dist/server/server/schedule/service.js +397 -0
  71. package/dist/server/server/schedule/service.js.map +1 -0
  72. package/dist/server/server/schedule/store.d.ts +13 -0
  73. package/dist/server/server/schedule/store.d.ts.map +1 -0
  74. package/dist/server/server/schedule/store.js +56 -0
  75. package/dist/server/server/schedule/store.js.map +1 -0
  76. package/dist/server/server/schedule/types.d.ts +710 -0
  77. package/dist/server/server/schedule/types.d.ts.map +1 -0
  78. package/dist/server/server/schedule/types.js +73 -0
  79. package/dist/server/server/schedule/types.js.map +1 -0
  80. package/dist/server/server/session.d.ts +40 -19
  81. package/dist/server/server/session.d.ts.map +1 -1
  82. package/dist/server/server/session.js +778 -567
  83. package/dist/server/server/session.js.map +1 -1
  84. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts.map +1 -1
  85. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js +19 -3
  86. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +1 -1
  87. package/dist/server/server/websocket-server.d.ts +12 -1
  88. package/dist/server/server/websocket-server.d.ts.map +1 -1
  89. package/dist/server/server/websocket-server.js +71 -14
  90. package/dist/server/server/websocket-server.js.map +1 -1
  91. package/dist/server/shared/messages.d.ts +37933 -16895
  92. package/dist/server/shared/messages.d.ts.map +1 -1
  93. package/dist/server/shared/messages.js +41 -0
  94. package/dist/server/shared/messages.js.map +1 -1
  95. package/dist/server/terminal/terminal-manager.js +2 -2
  96. package/dist/server/terminal/terminal-manager.js.map +1 -1
  97. package/dist/server/utils/checkout-git.d.ts +12 -0
  98. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  99. package/dist/server/utils/checkout-git.js +73 -3
  100. package/dist/server/utils/checkout-git.js.map +1 -1
  101. package/dist/server/utils/directory-suggestions.js +20 -4
  102. package/dist/server/utils/directory-suggestions.js.map +1 -1
  103. package/dist/src/server/agent/agent-manager.js +53 -0
  104. package/dist/src/server/agent/agent-manager.js.map +1 -1
  105. package/dist/src/server/agent/agent-storage.js +9 -4
  106. package/dist/src/server/agent/agent-storage.js.map +1 -1
  107. package/dist/src/server/agent/provider-launch-config.js +38 -1
  108. package/dist/src/server/agent/provider-launch-config.js.map +1 -1
  109. package/dist/src/server/agent/providers/claude-agent.js +24 -5
  110. package/dist/src/server/agent/providers/claude-agent.js.map +1 -1
  111. package/dist/src/server/bootstrap.js +57 -18
  112. package/dist/src/server/bootstrap.js.map +1 -1
  113. package/dist/src/server/chat/chat-mentions.js +71 -0
  114. package/dist/src/server/chat/chat-mentions.js.map +1 -0
  115. package/dist/src/server/chat/chat-rpc-schemas.js +103 -0
  116. package/dist/src/server/chat/chat-rpc-schemas.js.map +1 -0
  117. package/dist/src/server/chat/chat-service.js +330 -0
  118. package/dist/src/server/chat/chat-service.js.map +1 -0
  119. package/dist/src/server/chat/chat-types.js +22 -0
  120. package/dist/src/server/chat/chat-types.js.map +1 -0
  121. package/dist/src/server/checkout-diff-manager.js +272 -0
  122. package/dist/src/server/checkout-diff-manager.js.map +1 -0
  123. package/dist/src/server/checkout-git-utils.js +37 -0
  124. package/dist/src/server/checkout-git-utils.js.map +1 -0
  125. package/dist/src/server/loop/rpc-schemas.js +159 -0
  126. package/dist/src/server/loop/rpc-schemas.js.map +1 -0
  127. package/dist/src/server/loop-service.js +741 -0
  128. package/dist/src/server/loop-service.js.map +1 -0
  129. package/dist/src/server/schedule/cron.js +103 -0
  130. package/dist/src/server/schedule/cron.js.map +1 -0
  131. package/dist/src/server/schedule/rpc-schemas.js +112 -0
  132. package/dist/src/server/schedule/rpc-schemas.js.map +1 -0
  133. package/dist/src/server/schedule/service.js +397 -0
  134. package/dist/src/server/schedule/service.js.map +1 -0
  135. package/dist/src/server/schedule/store.js +56 -0
  136. package/dist/src/server/schedule/store.js.map +1 -0
  137. package/dist/src/server/schedule/types.js +73 -0
  138. package/dist/src/server/schedule/types.js.map +1 -0
  139. package/dist/src/server/session.js +778 -567
  140. package/dist/src/server/session.js.map +1 -1
  141. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js +19 -3
  142. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +1 -1
  143. package/dist/src/server/websocket-server.js +71 -14
  144. package/dist/src/server/websocket-server.js.map +1 -1
  145. package/dist/src/shared/messages.js +41 -0
  146. package/dist/src/shared/messages.js.map +1 -1
  147. package/dist/src/terminal/terminal-manager.js +2 -2
  148. package/dist/src/terminal/terminal-manager.js.map +1 -1
  149. package/dist/src/utils/checkout-git.js +73 -3
  150. package/dist/src/utils/checkout-git.js.map +1 -1
  151. package/dist/src/utils/directory-suggestions.js +20 -4
  152. package/dist/src/utils/directory-suggestions.js.map +1 -1
  153. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-service.js","sourceRoot":"","sources":["../../../src/server/loop-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ function buildValueSet(values) {
2
+ return new Set(values);
3
+ }
4
+ function createRange(start, end, step) {
5
+ const values = [];
6
+ for (let value = start; value <= end; value += step) {
7
+ values.push(value);
8
+ }
9
+ return values;
10
+ }
11
+ function parseField(source, bounds) {
12
+ const trimmed = source.trim();
13
+ if (!trimmed) {
14
+ throw new Error(`Invalid cron ${bounds.name} field`);
15
+ }
16
+ const values = new Set();
17
+ for (const rawPart of trimmed.split(",")) {
18
+ const part = rawPart.trim();
19
+ if (!part) {
20
+ throw new Error(`Invalid cron ${bounds.name} field`);
21
+ }
22
+ const [base, stepSource] = part.split("/");
23
+ const step = stepSource === undefined ? 1 : Number.parseInt(stepSource, 10);
24
+ if (!Number.isInteger(step) || step <= 0) {
25
+ throw new Error(`Invalid cron ${bounds.name} step`);
26
+ }
27
+ if (base === "*") {
28
+ for (const value of createRange(bounds.min, bounds.max, step)) {
29
+ values.add(value);
30
+ }
31
+ continue;
32
+ }
33
+ const rangeMatch = base.match(/^(\d+)-(\d+)$/);
34
+ if (rangeMatch) {
35
+ const start = Number.parseInt(rangeMatch[1], 10);
36
+ const end = Number.parseInt(rangeMatch[2], 10);
37
+ if (start > end || start < bounds.min || end > bounds.max) {
38
+ throw new Error(`Invalid cron ${bounds.name} range`);
39
+ }
40
+ for (const value of createRange(start, end, step)) {
41
+ values.add(value);
42
+ }
43
+ continue;
44
+ }
45
+ const value = Number.parseInt(base, 10);
46
+ if (!Number.isInteger(value) || value < bounds.min || value > bounds.max) {
47
+ throw new Error(`Invalid cron ${bounds.name} value`);
48
+ }
49
+ values.add(value);
50
+ }
51
+ const allowed = buildValueSet(values);
52
+ return {
53
+ matches(value) {
54
+ return allowed.has(value);
55
+ },
56
+ };
57
+ }
58
+ function parseCronExpression(expression) {
59
+ const parts = expression.trim().split(/\s+/);
60
+ if (parts.length !== 5) {
61
+ throw new Error("Cron expressions must have 5 fields");
62
+ }
63
+ return {
64
+ minute: parseField(parts[0], { min: 0, max: 59, name: "minute" }),
65
+ hour: parseField(parts[1], { min: 0, max: 23, name: "hour" }),
66
+ dayOfMonth: parseField(parts[2], { min: 1, max: 31, name: "day-of-month" }),
67
+ month: parseField(parts[3], { min: 1, max: 12, name: "month" }),
68
+ dayOfWeek: parseField(parts[4], { min: 0, max: 6, name: "day-of-week" }),
69
+ };
70
+ }
71
+ function startOfNextMinute(date) {
72
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes() + 1, 0, 0));
73
+ }
74
+ export function validateScheduleCadence(cadence) {
75
+ if (cadence.type === "cron") {
76
+ parseCronExpression(cadence.expression);
77
+ }
78
+ }
79
+ export function computeNextRunAt(cadence, after) {
80
+ if (cadence.type === "every") {
81
+ return new Date(after.getTime() + cadence.everyMs);
82
+ }
83
+ const cron = parseCronExpression(cadence.expression);
84
+ const limit = 366 * 24 * 60;
85
+ let cursor = startOfNextMinute(after);
86
+ for (let index = 0; index < limit; index += 1) {
87
+ const minute = cursor.getUTCMinutes();
88
+ const hour = cursor.getUTCHours();
89
+ const dayOfMonth = cursor.getUTCDate();
90
+ const month = cursor.getUTCMonth() + 1;
91
+ const dayOfWeek = cursor.getUTCDay();
92
+ if (cron.minute.matches(minute) &&
93
+ cron.hour.matches(hour) &&
94
+ cron.dayOfMonth.matches(dayOfMonth) &&
95
+ cron.month.matches(month) &&
96
+ cron.dayOfWeek.matches(dayOfWeek)) {
97
+ return cursor;
98
+ }
99
+ cursor = new Date(cursor.getTime() + 60000);
100
+ }
101
+ throw new Error(`Unable to compute next run time for cron expression: ${cadence.expression}`);
102
+ }
103
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../../../src/server/schedule/cron.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import { z } from "zod";
2
+ import { ScheduleCadenceSchema, ScheduleRunSchema, ScheduleSummarySchema, StoredScheduleSchema, ScheduleTargetSchema, } from "./types.js";
3
+ const ScheduleCreateTargetSchema = z.discriminatedUnion("type", [
4
+ z.object({
5
+ type: z.literal("self"),
6
+ agentId: z.string().uuid(),
7
+ }),
8
+ z.object({
9
+ type: z.literal("agent"),
10
+ agentId: z.string().uuid(),
11
+ }),
12
+ z.object({
13
+ type: z.literal("new-agent"),
14
+ config: ScheduleTargetSchema.options[1].shape.config,
15
+ }),
16
+ ]);
17
+ export const ScheduleCreateRequestSchema = z.object({
18
+ type: z.literal("schedule/create"),
19
+ requestId: z.string(),
20
+ prompt: z.string().min(1),
21
+ name: z.string().optional(),
22
+ cadence: ScheduleCadenceSchema,
23
+ target: ScheduleCreateTargetSchema,
24
+ maxRuns: z.number().int().positive().optional(),
25
+ expiresAt: z.string().optional(),
26
+ });
27
+ export const ScheduleListRequestSchema = z.object({
28
+ type: z.literal("schedule/list"),
29
+ requestId: z.string(),
30
+ });
31
+ export const ScheduleInspectRequestSchema = z.object({
32
+ type: z.literal("schedule/inspect"),
33
+ requestId: z.string(),
34
+ scheduleId: z.string(),
35
+ });
36
+ export const ScheduleLogsRequestSchema = z.object({
37
+ type: z.literal("schedule/logs"),
38
+ requestId: z.string(),
39
+ scheduleId: z.string(),
40
+ });
41
+ export const SchedulePauseRequestSchema = z.object({
42
+ type: z.literal("schedule/pause"),
43
+ requestId: z.string(),
44
+ scheduleId: z.string(),
45
+ });
46
+ export const ScheduleResumeRequestSchema = z.object({
47
+ type: z.literal("schedule/resume"),
48
+ requestId: z.string(),
49
+ scheduleId: z.string(),
50
+ });
51
+ export const ScheduleDeleteRequestSchema = z.object({
52
+ type: z.literal("schedule/delete"),
53
+ requestId: z.string(),
54
+ scheduleId: z.string(),
55
+ });
56
+ export const ScheduleCreateResponseSchema = z.object({
57
+ type: z.literal("schedule/create/response"),
58
+ payload: z.object({
59
+ requestId: z.string(),
60
+ schedule: ScheduleSummarySchema.nullable(),
61
+ error: z.string().nullable(),
62
+ }),
63
+ });
64
+ export const ScheduleListResponseSchema = z.object({
65
+ type: z.literal("schedule/list/response"),
66
+ payload: z.object({
67
+ requestId: z.string(),
68
+ schedules: z.array(ScheduleSummarySchema),
69
+ error: z.string().nullable(),
70
+ }),
71
+ });
72
+ export const ScheduleInspectResponseSchema = z.object({
73
+ type: z.literal("schedule/inspect/response"),
74
+ payload: z.object({
75
+ requestId: z.string(),
76
+ schedule: StoredScheduleSchema.nullable(),
77
+ error: z.string().nullable(),
78
+ }),
79
+ });
80
+ export const ScheduleLogsResponseSchema = z.object({
81
+ type: z.literal("schedule/logs/response"),
82
+ payload: z.object({
83
+ requestId: z.string(),
84
+ runs: z.array(ScheduleRunSchema),
85
+ error: z.string().nullable(),
86
+ }),
87
+ });
88
+ export const SchedulePauseResponseSchema = z.object({
89
+ type: z.literal("schedule/pause/response"),
90
+ payload: z.object({
91
+ requestId: z.string(),
92
+ schedule: ScheduleSummarySchema.nullable(),
93
+ error: z.string().nullable(),
94
+ }),
95
+ });
96
+ export const ScheduleResumeResponseSchema = z.object({
97
+ type: z.literal("schedule/resume/response"),
98
+ payload: z.object({
99
+ requestId: z.string(),
100
+ schedule: ScheduleSummarySchema.nullable(),
101
+ error: z.string().nullable(),
102
+ }),
103
+ });
104
+ export const ScheduleDeleteResponseSchema = z.object({
105
+ type: z.literal("schedule/delete/response"),
106
+ payload: z.object({
107
+ requestId: z.string(),
108
+ scheduleId: z.string(),
109
+ error: z.string().nullable(),
110
+ }),
111
+ });
112
+ //# sourceMappingURL=rpc-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-schemas.js","sourceRoot":"","sources":["../../../../src/server/schedule/rpc-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,0BAA0B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC9D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;KAC3B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;KAC3B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;KACrD,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,qBAAqB;IAC9B,MAAM,EAAE,0BAA0B;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;QAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;QACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;QAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;QAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;CACH,CAAC,CAAC"}