@chkit/plugin-backfill 0.1.0-beta.14 → 0.1.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/plugin.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import process from 'node:process';
2
2
  import { createInterface } from 'node:readline/promises';
3
+ import { createClickHouseExecutor } from '@chkit/clickhouse';
3
4
  import { wrapPluginRun } from '@chkit/core';
4
5
  import { PLAN_FLAGS, PLAN_ID_FLAGS, RESUME_FLAGS, RUN_FLAGS, parseCancelArgs, parseDoctorArgs, parsePlanArgs, parseResumeArgs, parseRunArgs, parseStatusArgs, } from './args.js';
5
6
  import { loadTimeColumnInfo } from './detect.js';
@@ -62,6 +63,20 @@ async function selectFromCandidates(candidates, target) {
62
63
  rl.close();
63
64
  }
64
65
  }
66
+ function createBackfillCommand(base, input) {
67
+ return async (context) => wrapPluginRun({
68
+ command: input.name,
69
+ label: input.label,
70
+ jsonMode: context.jsonMode,
71
+ print: context.print,
72
+ configErrorClass: BackfillConfigError,
73
+ fn: async () => {
74
+ const effectiveOptions = mergeOptions(base, context.options);
75
+ validateBaseOptions(effectiveOptions);
76
+ return input.run({ context, effectiveOptions });
77
+ },
78
+ });
79
+ }
65
80
  export function createBackfillPlugin(options = {}) {
66
81
  const base = normalizeBackfillOptions(options);
67
82
  validateBaseOptions(base);
@@ -75,237 +90,255 @@ export function createBackfillPlugin(options = {}) {
75
90
  name: 'plan',
76
91
  description: 'Build a deterministic backfill plan and persist immutable plan state',
77
92
  flags: PLAN_FLAGS,
78
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath }) {
79
- return wrapPluginRun({
80
- command: 'plan',
81
- label: 'Backfill plan',
82
- jsonMode,
83
- print,
84
- configErrorClass: BackfillConfigError,
85
- fn: async () => {
86
- const parsed = parsePlanArgs(flags);
87
- const effectiveOptions = mergeOptions(base, runtimeOptions);
88
- validateBaseOptions(effectiveOptions);
89
- const timeColumn = await resolveTimeColumn({
90
- flagValue: parsed.timeColumn,
91
- defaults: effectiveOptions.defaults,
92
- target: parsed.target,
93
- schemaGlobs: config.schema,
94
- configPath,
95
- jsonMode,
96
- });
97
- const output = await buildBackfillPlan({
98
- target: parsed.target,
99
- from: parsed.from,
100
- to: parsed.to,
101
- timeColumn,
102
- config,
103
- configPath,
104
- options: effectiveOptions,
105
- chunkHours: parsed.chunkHours,
106
- forceLargeWindow: parsed.forceLargeWindow,
107
- });
108
- const payload = planPayload(output);
109
- if (jsonMode) {
110
- print(payload);
111
- }
112
- else {
113
- print(`Backfill plan ${payload.planId} for ${payload.target} (${payload.chunkCount} chunks at ${payload.chunkHours}h, time column: ${payload.timeColumn}) -> ${payload.planPath}${payload.existed ? ' [existing]' : ''}`);
114
- }
115
- return 0;
116
- },
117
- });
118
- },
93
+ run: createBackfillCommand(base, {
94
+ name: 'plan',
95
+ label: 'Backfill plan',
96
+ async run({ context, effectiveOptions }) {
97
+ const parsed = parsePlanArgs(context.flags);
98
+ const timeColumn = await resolveTimeColumn({
99
+ flagValue: parsed.timeColumn,
100
+ defaults: effectiveOptions.defaults,
101
+ target: parsed.target,
102
+ schemaGlobs: context.config.schema,
103
+ configPath: context.configPath,
104
+ jsonMode: context.jsonMode,
105
+ });
106
+ const output = await buildBackfillPlan({
107
+ target: parsed.target,
108
+ from: parsed.from,
109
+ to: parsed.to,
110
+ timeColumn,
111
+ config: context.config,
112
+ configPath: context.configPath,
113
+ options: effectiveOptions,
114
+ chunkHours: parsed.chunkHours,
115
+ forceLargeWindow: parsed.forceLargeWindow,
116
+ force: parsed.force,
117
+ clickhouse: context.config.clickhouse,
118
+ });
119
+ const payload = planPayload(output);
120
+ if (context.jsonMode) {
121
+ context.print(payload);
122
+ }
123
+ else {
124
+ context.print(`Backfill plan ${payload.planId} for ${payload.target} (${payload.chunkCount} chunks at ${payload.chunkHours}h, time column: ${payload.timeColumn}) -> ${payload.planPath}${payload.existed ? ' [existing]' : ''}`);
125
+ }
126
+ return 0;
127
+ },
128
+ }),
119
129
  },
120
130
  {
121
131
  name: 'run',
122
132
  description: 'Execute a planned backfill with checkpointed chunk progress',
123
133
  flags: RUN_FLAGS,
124
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath }) {
125
- return wrapPluginRun({
126
- command: 'run',
127
- label: 'Backfill run',
128
- jsonMode,
129
- print,
130
- configErrorClass: BackfillConfigError,
131
- fn: async () => {
132
- const parsed = parseRunArgs(flags);
133
- const effectiveOptions = mergeOptions(base, runtimeOptions);
134
- validateBaseOptions(effectiveOptions);
134
+ run: createBackfillCommand(base, {
135
+ name: 'run',
136
+ label: 'Backfill run',
137
+ async run({ context, effectiveOptions }) {
138
+ const parsed = parseRunArgs(context.flags);
139
+ const db = context.config.clickhouse
140
+ ? createClickHouseExecutor(context.config.clickhouse)
141
+ : undefined;
142
+ try {
135
143
  const output = await executeBackfillRun({
136
144
  planId: parsed.planId,
137
- config,
138
- configPath,
145
+ config: context.config,
146
+ configPath: context.configPath,
139
147
  options: effectiveOptions,
140
148
  execution: {
141
149
  replayDone: parsed.replayDone,
142
150
  replayFailed: parsed.replayFailed,
143
151
  forceOverlap: parsed.forceOverlap,
144
152
  forceCompatibility: parsed.forceCompatibility,
153
+ forceEnvironment: parsed.forceEnvironment,
145
154
  simulation: {
146
155
  failChunkId: parsed.simulateFailChunk,
147
156
  failCount: parsed.simulateFailCount,
148
157
  },
149
158
  },
159
+ execute: db ? (sql) => db.execute(sql) : undefined,
160
+ clickhouse: context.config.clickhouse,
150
161
  });
151
162
  const payload = {
152
163
  ...runPayload(output),
153
164
  command: 'run',
154
165
  };
155
- if (jsonMode) {
156
- print(payload);
166
+ if (payload.noop) {
167
+ if (!context.jsonMode) {
168
+ context.print(`Plan ${payload.planId} is already completed (${payload.chunkCounts.done}/${payload.chunkCounts.total} chunks done). Nothing to do.`);
169
+ }
170
+ else {
171
+ context.print(payload);
172
+ }
173
+ return 0;
174
+ }
175
+ if (context.jsonMode) {
176
+ context.print(payload);
157
177
  }
158
178
  else {
159
- print(`Backfill run ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total})`);
179
+ let line = `Backfill run ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total}, ${payload.rowsWritten} rows written)`;
180
+ if (payload.lastError)
181
+ line += ` \u2014 ${payload.lastError}`;
182
+ context.print(line);
183
+ if (payload.status === 'completed' && payload.rowsWritten === 0) {
184
+ context.print('Warning: 0 rows written across all chunks. Verify that source data exists in the time range and passes the query\'s WHERE filters.');
185
+ }
160
186
  }
161
187
  return payload.ok ? 0 : 1;
162
- },
163
- });
164
- },
188
+ }
189
+ finally {
190
+ await db?.close();
191
+ }
192
+ },
193
+ }),
165
194
  },
166
195
  {
167
196
  name: 'resume',
168
197
  description: 'Resume a backfill run from last checkpoint',
169
198
  flags: RESUME_FLAGS,
170
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath }) {
171
- return wrapPluginRun({
172
- command: 'resume',
173
- label: 'Backfill resume',
174
- jsonMode,
175
- print,
176
- configErrorClass: BackfillConfigError,
177
- fn: async () => {
178
- const parsed = parseResumeArgs(flags);
179
- const effectiveOptions = mergeOptions(base, runtimeOptions);
180
- validateBaseOptions(effectiveOptions);
199
+ run: createBackfillCommand(base, {
200
+ name: 'resume',
201
+ label: 'Backfill resume',
202
+ async run({ context, effectiveOptions }) {
203
+ const parsed = parseResumeArgs(context.flags);
204
+ const db = context.config.clickhouse
205
+ ? createClickHouseExecutor(context.config.clickhouse)
206
+ : undefined;
207
+ try {
181
208
  const output = await resumeBackfillRun({
182
209
  planId: parsed.planId,
183
- config,
184
- configPath,
210
+ config: context.config,
211
+ configPath: context.configPath,
185
212
  options: effectiveOptions,
186
213
  execution: {
187
214
  replayDone: parsed.replayDone,
188
215
  replayFailed: parsed.replayFailed,
189
216
  forceOverlap: parsed.forceOverlap,
190
217
  forceCompatibility: parsed.forceCompatibility,
218
+ forceEnvironment: parsed.forceEnvironment,
191
219
  },
220
+ execute: db ? (sql) => db.execute(sql) : undefined,
221
+ clickhouse: context.config.clickhouse,
192
222
  });
193
223
  const payload = {
194
224
  ...runPayload(output),
195
225
  command: 'resume',
196
226
  };
197
- if (jsonMode) {
198
- print(payload);
227
+ if (payload.noop) {
228
+ if (!context.jsonMode) {
229
+ context.print(`Plan ${payload.planId} is already completed (${payload.chunkCounts.done}/${payload.chunkCounts.total} chunks done). Nothing to do.`);
230
+ }
231
+ else {
232
+ context.print(payload);
233
+ }
234
+ return 0;
235
+ }
236
+ if (context.jsonMode) {
237
+ context.print(payload);
199
238
  }
200
239
  else {
201
- print(`Backfill resume ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total})`);
240
+ let line = `Backfill resume ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total}, ${payload.rowsWritten} rows written)`;
241
+ if (payload.lastError)
242
+ line += ` \u2014 ${payload.lastError}`;
243
+ context.print(line);
244
+ if (payload.status === 'completed' && payload.rowsWritten === 0) {
245
+ context.print('Warning: 0 rows written across all chunks. Verify that source data exists in the time range and passes the query\'s WHERE filters.');
246
+ }
202
247
  }
203
248
  return payload.ok ? 0 : 1;
204
- },
205
- });
206
- },
249
+ }
250
+ finally {
251
+ await db?.close();
252
+ }
253
+ },
254
+ }),
207
255
  },
208
256
  {
209
257
  name: 'status',
210
258
  description: 'Show checkpoint and chunk progress for a backfill run',
211
259
  flags: PLAN_ID_FLAGS,
212
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath }) {
213
- return wrapPluginRun({
214
- command: 'status',
215
- label: 'Backfill status',
216
- jsonMode,
217
- print,
218
- configErrorClass: BackfillConfigError,
219
- fn: async () => {
220
- const parsed = parseStatusArgs(flags);
221
- const effectiveOptions = mergeOptions(base, runtimeOptions);
222
- validateBaseOptions(effectiveOptions);
223
- const summary = await getBackfillStatus({
224
- planId: parsed.planId,
225
- config,
226
- configPath,
227
- options: effectiveOptions,
228
- });
229
- const payload = statusPayload(summary);
230
- if (jsonMode) {
231
- print(payload);
232
- }
233
- else {
234
- print(`Backfill status ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total}, failed=${payload.chunkCounts.failed})`);
260
+ run: createBackfillCommand(base, {
261
+ name: 'status',
262
+ label: 'Backfill status',
263
+ async run({ context, effectiveOptions }) {
264
+ const parsed = parseStatusArgs(context.flags);
265
+ const summary = await getBackfillStatus({
266
+ planId: parsed.planId,
267
+ config: context.config,
268
+ configPath: context.configPath,
269
+ options: effectiveOptions,
270
+ });
271
+ const payload = statusPayload(summary);
272
+ if (context.jsonMode) {
273
+ context.print(payload);
274
+ }
275
+ else {
276
+ let line = `Backfill status ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total}, failed=${payload.chunkCounts.failed}, ${payload.rowsWritten} rows written)`;
277
+ if (payload.lastError)
278
+ line += ` \u2014 ${payload.lastError}`;
279
+ context.print(line);
280
+ if (payload.status === 'completed' && payload.rowsWritten === 0) {
281
+ context.print('Warning: 0 rows written across all chunks. Verify that source data exists in the time range and passes the query\'s WHERE filters.');
235
282
  }
236
- return payload.ok ? 0 : 1;
237
- },
238
- });
239
- },
283
+ }
284
+ return payload.ok ? 0 : 1;
285
+ },
286
+ }),
240
287
  },
241
288
  {
242
289
  name: 'cancel',
243
290
  description: 'Cancel an in-progress backfill run and prevent further chunk execution',
244
291
  flags: PLAN_ID_FLAGS,
245
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath }) {
246
- return wrapPluginRun({
247
- command: 'cancel',
248
- label: 'Backfill cancel',
249
- jsonMode,
250
- print,
251
- configErrorClass: BackfillConfigError,
252
- fn: async () => {
253
- const parsed = parseCancelArgs(flags);
254
- const effectiveOptions = mergeOptions(base, runtimeOptions);
255
- validateBaseOptions(effectiveOptions);
256
- const summary = await cancelBackfillRun({
257
- planId: parsed.planId,
258
- config,
259
- configPath,
260
- options: effectiveOptions,
261
- });
262
- const payload = cancelPayload(summary);
263
- if (jsonMode) {
264
- print(payload);
265
- }
266
- else {
267
- print(`Backfill cancel ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total})`);
268
- }
269
- return payload.ok ? 0 : 1;
270
- },
271
- });
272
- },
292
+ run: createBackfillCommand(base, {
293
+ name: 'cancel',
294
+ label: 'Backfill cancel',
295
+ async run({ context, effectiveOptions }) {
296
+ const parsed = parseCancelArgs(context.flags);
297
+ const summary = await cancelBackfillRun({
298
+ planId: parsed.planId,
299
+ config: context.config,
300
+ configPath: context.configPath,
301
+ options: effectiveOptions,
302
+ });
303
+ const payload = cancelPayload(summary);
304
+ if (context.jsonMode) {
305
+ context.print(payload);
306
+ }
307
+ else {
308
+ context.print(`Backfill cancel ${payload.planId}: ${payload.status} (done=${payload.chunkCounts.done}/${payload.chunkCounts.total})`);
309
+ }
310
+ return payload.ok ? 0 : 1;
311
+ },
312
+ }),
273
313
  },
274
314
  {
275
315
  name: 'doctor',
276
316
  description: 'Provide actionable remediation steps for failed or pending backfill runs',
277
317
  flags: PLAN_ID_FLAGS,
278
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath }) {
279
- return wrapPluginRun({
280
- command: 'doctor',
281
- label: 'Backfill doctor',
282
- jsonMode,
283
- print,
284
- configErrorClass: BackfillConfigError,
285
- fn: async () => {
286
- const parsed = parseDoctorArgs(flags);
287
- const effectiveOptions = mergeOptions(base, runtimeOptions);
288
- validateBaseOptions(effectiveOptions);
289
- const report = await getBackfillDoctorReport({
290
- planId: parsed.planId,
291
- config,
292
- configPath,
293
- options: effectiveOptions,
294
- });
295
- const payload = doctorPayload(report);
296
- if (jsonMode) {
297
- print(payload);
318
+ run: createBackfillCommand(base, {
319
+ name: 'doctor',
320
+ label: 'Backfill doctor',
321
+ async run({ context, effectiveOptions }) {
322
+ const parsed = parseDoctorArgs(context.flags);
323
+ const report = await getBackfillDoctorReport({
324
+ planId: parsed.planId,
325
+ config: context.config,
326
+ configPath: context.configPath,
327
+ options: effectiveOptions,
328
+ });
329
+ const payload = doctorPayload(report);
330
+ if (context.jsonMode) {
331
+ context.print(payload);
332
+ }
333
+ else {
334
+ context.print(`Backfill doctor ${payload.planId}: ${payload.issueCodes.length === 0 ? 'ok' : payload.issueCodes.join(', ')}`);
335
+ for (const recommendation of payload.recommendations) {
336
+ context.print(`- ${recommendation}`);
298
337
  }
299
- else {
300
- print(`Backfill doctor ${payload.planId}: ${payload.issueCodes.length === 0 ? 'ok' : payload.issueCodes.join(', ')}`);
301
- for (const recommendation of payload.recommendations) {
302
- print(`- ${recommendation}`);
303
- }
304
- }
305
- return payload.ok ? 0 : 1;
306
- },
307
- });
308
- },
338
+ }
339
+ return payload.ok ? 0 : 1;
340
+ },
341
+ }),
309
342
  },
310
343
  ],
311
344
  hooks: {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -11,6 +11,13 @@ export declare function executeBackfillRun(input: {
11
11
  config: Pick<ResolvedChxConfig, 'metaDir'>;
12
12
  options: NormalizedBackfillPluginOptions;
13
13
  execution?: BackfillExecutionOptions;
14
+ execute?: (sql: string) => Promise<void | {
15
+ rowsWritten?: number;
16
+ }>;
17
+ clickhouse?: {
18
+ url: string;
19
+ database: string;
20
+ };
14
21
  }): Promise<ExecuteBackfillRunOutput>;
15
22
  export declare function resumeBackfillRun(input: {
16
23
  planId: string;
@@ -18,6 +25,13 @@ export declare function resumeBackfillRun(input: {
18
25
  config: Pick<ResolvedChxConfig, 'metaDir'>;
19
26
  options: NormalizedBackfillPluginOptions;
20
27
  execution?: BackfillExecutionOptions;
28
+ execute?: (sql: string) => Promise<void | {
29
+ rowsWritten?: number;
30
+ }>;
31
+ clickhouse?: {
32
+ url: string;
33
+ database: string;
34
+ };
21
35
  }): Promise<ExecuteBackfillRunOutput>;
22
36
  export declare function getBackfillStatus(input: {
23
37
  planId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAgBpD,OAAO,KAAK,EACV,oBAAoB,EAEpB,wBAAwB,EACxB,yBAAyB,EAGzB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAEnB,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAgFrC;AAkOD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;CACrC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAmDpC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;CACrC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyCpC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA+BjC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0CjC;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2ChC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAiBpD,OAAO,KAAK,EACV,oBAAoB,EAEpB,wBAAwB,EACxB,yBAAyB,EAGzB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAEnB,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAgFrC;AAmSD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;IACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnE,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgEpC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;IACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnE,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyDpC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgCjC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0CjC;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2ChC"}