@agentteams/runner 0.0.92 → 0.0.94
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/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +26 -0
- package/dist/config.test.js.map +1 -1
- package/dist/handlers/trigger-handler.js +12 -4
- package/dist/handlers/trigger-handler.js.map +1 -1
- package/dist/handlers/trigger-handler.test.js +115 -0
- package/dist/handlers/trigger-handler.test.js.map +1 -1
- package/dist/poller.d.ts +2 -2
- package/dist/poller.js +53 -13
- package/dist/poller.js.map +1 -1
- package/dist/poller.test.js +187 -53
- package/dist/poller.test.js.map +1 -1
- package/dist/runners/amp.d.ts +1 -0
- package/dist/runners/amp.js +6 -1
- package/dist/runners/amp.js.map +1 -1
- package/dist/runners/amp.test.d.ts +1 -0
- package/dist/runners/amp.test.js +40 -0
- package/dist/runners/amp.test.js.map +1 -0
- package/dist/runners/antigravity.d.ts +2 -2
- package/dist/runners/antigravity.js +10 -11
- package/dist/runners/antigravity.js.map +1 -1
- package/dist/runners/antigravity.test.js +5 -2
- package/dist/runners/antigravity.test.js.map +1 -1
- package/dist/runners/capabilities.d.ts +18 -0
- package/dist/runners/capabilities.js +45 -0
- package/dist/runners/capabilities.js.map +1 -0
- package/dist/runners/capabilities.test.d.ts +1 -0
- package/dist/runners/capabilities.test.js +48 -0
- package/dist/runners/capabilities.test.js.map +1 -0
- package/dist/runners/index.js +9 -3
- package/dist/runners/index.js.map +1 -1
- package/dist/runners/index.test.js +12 -0
- package/dist/runners/index.test.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +2 -1
package/dist/poller.test.js
CHANGED
|
@@ -9,6 +9,7 @@ const config = {
|
|
|
9
9
|
daemonToken: 'daemon-token',
|
|
10
10
|
apiUrl: 'https://api.example',
|
|
11
11
|
pollingIntervalMs: 5000,
|
|
12
|
+
maxPollingIntervalMs: 12_000,
|
|
12
13
|
timeoutMs: 1000,
|
|
13
14
|
idleTimeoutMs: 500,
|
|
14
15
|
runnerCmd: 'opencode',
|
|
@@ -61,6 +62,21 @@ const makeClient = (overrides = {}) => ({
|
|
|
61
62
|
notifyUpdate: overrides.notifyUpdate ?? (async () => undefined),
|
|
62
63
|
ackRestartRequest: overrides.ackRestartRequest ?? (async () => undefined),
|
|
63
64
|
});
|
|
65
|
+
// setTimeout 주입 목: 예약된 폴 콜백과 delay를 캡처해 수동으로 구동한다.
|
|
66
|
+
// 자기예약 루프는 매 cycle 완료 후 새 timeout을 예약하므로, 다음 폴은 scheduled의
|
|
67
|
+
// 마지막 항목을 fire하면 된다.
|
|
68
|
+
const createTimeoutRecorder = () => {
|
|
69
|
+
const scheduled = [];
|
|
70
|
+
const cleared = [];
|
|
71
|
+
const setTimeoutMock = ((callback, delayMs) => {
|
|
72
|
+
scheduled.push({ callback, delayMs: delayMs ?? 0 });
|
|
73
|
+
return { ref() { }, unref() { } };
|
|
74
|
+
});
|
|
75
|
+
const clearTimeoutMock = ((handle) => {
|
|
76
|
+
cleared.push(handle);
|
|
77
|
+
});
|
|
78
|
+
return { scheduled, cleared, setTimeoutMock, clearTimeoutMock };
|
|
79
|
+
};
|
|
64
80
|
const createRecordingBlocker = () => {
|
|
65
81
|
const events = [];
|
|
66
82
|
return {
|
|
@@ -79,7 +95,7 @@ test('startPolling handles a claimed trigger, registers auth paths, and runs sch
|
|
|
79
95
|
infos.push({ message, meta });
|
|
80
96
|
});
|
|
81
97
|
const signals = new Map();
|
|
82
|
-
const
|
|
98
|
+
const timeouts = createTimeoutRecorder();
|
|
83
99
|
const cleanupCalls = [];
|
|
84
100
|
const handledTriggers = [];
|
|
85
101
|
const savedAuthPaths = [];
|
|
@@ -101,11 +117,8 @@ test('startPolling handles a claimed trigger, registers auth paths, and runs sch
|
|
|
101
117
|
cleanupCalls.push(authPath);
|
|
102
118
|
},
|
|
103
119
|
runConventionSync: async () => undefined,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return { ref() { }, unref() { } };
|
|
107
|
-
}),
|
|
108
|
-
clearInterval: (() => undefined),
|
|
120
|
+
setTimeout: timeouts.setTimeoutMock,
|
|
121
|
+
clearTimeout: timeouts.clearTimeoutMock,
|
|
109
122
|
processOn: ((event, listener) => {
|
|
110
123
|
signals.set(event, listener);
|
|
111
124
|
}),
|
|
@@ -125,9 +138,11 @@ test('startPolling handles a claimed trigger, registers auth paths, and runs sch
|
|
|
125
138
|
await new Promise((resolve) => setImmediate(resolve));
|
|
126
139
|
assert.deepEqual(handledTriggers, ['trigger-1']);
|
|
127
140
|
assert.deepEqual(cleanupCalls, []);
|
|
128
|
-
assert.equal(
|
|
141
|
+
assert.equal(timeouts.scheduled.length, 1);
|
|
142
|
+
// 부트스트랩 cycle에서 트리거를 처리했으므로 다음 폴은 base 간격으로 예약된다.
|
|
143
|
+
assert.equal(timeouts.scheduled[0]?.delayMs, config.pollingIntervalMs);
|
|
129
144
|
nowValue = 24 * 60 * 60 * 1000 + 1;
|
|
130
|
-
|
|
145
|
+
timeouts.scheduled[0]?.callback();
|
|
131
146
|
await new Promise((resolve) => setImmediate(resolve));
|
|
132
147
|
assert.deepEqual(cleanupCalls, ['/auth/path']);
|
|
133
148
|
assert.deepEqual(savedAuthPaths, ['/auth/path']);
|
|
@@ -186,8 +201,8 @@ test('startPolling processes orphaned cancel, worktree removal, and pending clai
|
|
|
186
201
|
// 워크트리 경로가 매칭되지 않도록 존재하지 않는 authPath를 사용 → 멱등 제거 완료 경로.
|
|
187
202
|
loadAuthPaths: () => ['/nonexistent/auth/path'],
|
|
188
203
|
saveAuthPath: () => '/tmp/auth-paths.json',
|
|
189
|
-
|
|
190
|
-
|
|
204
|
+
setTimeout: (() => ({ ref() { }, unref() { } })),
|
|
205
|
+
clearTimeout: (() => undefined),
|
|
191
206
|
processOn: (() => undefined),
|
|
192
207
|
processExit: (() => {
|
|
193
208
|
throw new Error('should not exit');
|
|
@@ -211,7 +226,7 @@ test('startPolling processes orphaned cancel, worktree removal, and pending clai
|
|
|
211
226
|
await pollingPromise;
|
|
212
227
|
});
|
|
213
228
|
test('startPolling runs convention sync per auth path every 6 hours', async () => {
|
|
214
|
-
const
|
|
229
|
+
const timeouts = createTimeoutRecorder();
|
|
215
230
|
const conventionSyncCalls = [];
|
|
216
231
|
let nowValue = 6 * 60 * 60 * 1000 + 1;
|
|
217
232
|
let keepAliveResolve = null;
|
|
@@ -222,11 +237,8 @@ test('startPolling runs convention sync per auth path every 6 hours', async () =
|
|
|
222
237
|
conventionSyncCalls.push(authPath);
|
|
223
238
|
},
|
|
224
239
|
maybeAutoUpdate: async () => ({ cliUpdated: false, runnerUpdated: false }),
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return { ref() { }, unref() { } };
|
|
228
|
-
}),
|
|
229
|
-
clearInterval: (() => undefined),
|
|
240
|
+
setTimeout: timeouts.setTimeoutMock,
|
|
241
|
+
clearTimeout: timeouts.clearTimeoutMock,
|
|
230
242
|
processOn: (() => undefined),
|
|
231
243
|
processExit: (() => {
|
|
232
244
|
throw new Error('should not exit');
|
|
@@ -240,13 +252,13 @@ test('startPolling runs convention sync per auth path every 6 hours', async () =
|
|
|
240
252
|
});
|
|
241
253
|
await new Promise((resolve) => setImmediate(resolve));
|
|
242
254
|
assert.deepEqual(conventionSyncCalls, ['/auth/path']);
|
|
243
|
-
assert.equal(
|
|
255
|
+
assert.equal(timeouts.scheduled.length, 1);
|
|
244
256
|
nowValue += 6 * 60 * 60 * 1000 - 1;
|
|
245
|
-
|
|
257
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
246
258
|
await new Promise((resolve) => setImmediate(resolve));
|
|
247
259
|
assert.deepEqual(conventionSyncCalls, ['/auth/path']);
|
|
248
260
|
nowValue += 1;
|
|
249
|
-
|
|
261
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
250
262
|
await new Promise((resolve) => setImmediate(resolve));
|
|
251
263
|
assert.deepEqual(conventionSyncCalls, ['/auth/path', '/auth/path']);
|
|
252
264
|
const resolveKeepAlive = keepAliveResolve ??
|
|
@@ -256,30 +268,36 @@ test('startPolling runs convention sync per auth path every 6 hours', async () =
|
|
|
256
268
|
resolveKeepAlive();
|
|
257
269
|
await pollingPromise;
|
|
258
270
|
});
|
|
259
|
-
test('startPolling logs conflicts and suppresses overlapping polling cycles', async () => {
|
|
271
|
+
test('startPolling logs conflicts and suppresses overlapping polling cycles without double-scheduling', async () => {
|
|
260
272
|
const infos = [];
|
|
261
273
|
mock.method(logger, 'info', (message, meta) => {
|
|
262
274
|
infos.push({ message, meta });
|
|
263
275
|
});
|
|
276
|
+
// 부트스트랩 cycle은 즉시 idle로 완료시키고, 두 번째 cycle의 fetch를 행 걸어
|
|
277
|
+
// 그 사이 재진입(pollOnce 중복 호출)이 억제되는지 확인한다.
|
|
278
|
+
let fetchCalls = 0;
|
|
264
279
|
let releaseFetch = null;
|
|
265
280
|
const client = makeClient({
|
|
266
|
-
fetchPollState: async () =>
|
|
267
|
-
|
|
268
|
-
|
|
281
|
+
fetchPollState: async () => {
|
|
282
|
+
fetchCalls += 1;
|
|
283
|
+
if (fetchCalls === 1) {
|
|
284
|
+
return pollState();
|
|
285
|
+
}
|
|
286
|
+
return await new Promise((resolve) => {
|
|
287
|
+
releaseFetch = () => resolve(pollState({ pendingTrigger: trigger }));
|
|
288
|
+
});
|
|
289
|
+
},
|
|
269
290
|
claimTrigger: async () => ({ ok: false, conflict: true }),
|
|
270
291
|
});
|
|
271
|
-
const
|
|
292
|
+
const timeouts = createTimeoutRecorder();
|
|
272
293
|
let keepAliveResolve = null;
|
|
273
294
|
const pollingPromise = startPolling(config, () => async () => {
|
|
274
295
|
throw new Error('handler should not run');
|
|
275
296
|
}, {
|
|
276
297
|
createClient: () => client,
|
|
277
298
|
runCleanup: async () => undefined,
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
return {};
|
|
281
|
-
}),
|
|
282
|
-
clearInterval: (() => undefined),
|
|
299
|
+
setTimeout: timeouts.setTimeoutMock,
|
|
300
|
+
clearTimeout: timeouts.clearTimeoutMock,
|
|
283
301
|
processOn: (() => undefined),
|
|
284
302
|
processExit: (() => {
|
|
285
303
|
throw new Error('should not exit');
|
|
@@ -292,7 +310,13 @@ test('startPolling logs conflicts and suppresses overlapping polling cycles', as
|
|
|
292
310
|
}),
|
|
293
311
|
});
|
|
294
312
|
await new Promise((resolve) => setImmediate(resolve));
|
|
295
|
-
|
|
313
|
+
assert.equal(timeouts.scheduled.length, 1, 'bootstrap cycle should schedule the next poll');
|
|
314
|
+
// 두 번째 cycle 시작(fetch 행) 후 같은 콜백을 한 번 더 fire → 재진입 억제.
|
|
315
|
+
timeouts.scheduled[0]?.callback();
|
|
316
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
317
|
+
timeouts.scheduled[0]?.callback();
|
|
318
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
319
|
+
assert.equal(timeouts.scheduled.length, 1, 'suppressed overlapping cycle must not schedule another poll');
|
|
296
320
|
const releasePendingFetch = releaseFetch ??
|
|
297
321
|
(() => {
|
|
298
322
|
throw new Error('fetch release was not registered');
|
|
@@ -300,6 +324,9 @@ test('startPolling logs conflicts and suppresses overlapping polling cycles', as
|
|
|
300
324
|
releasePendingFetch();
|
|
301
325
|
await new Promise((resolve) => setImmediate(resolve));
|
|
302
326
|
assert.equal(infos.some((entry) => entry.message === 'Trigger already claimed by another daemon'), true);
|
|
327
|
+
// 행 걸렸던 cycle이 완료되면서 다음 폴 1개만 예약되고, pending 트리거를 봤으므로 base 간격이다.
|
|
328
|
+
assert.equal(timeouts.scheduled.length, 2, 'the in-flight cycle owns scheduling the next poll');
|
|
329
|
+
assert.equal(timeouts.scheduled[1]?.delayMs, config.pollingIntervalMs);
|
|
303
330
|
const resolveKeepAlive = keepAliveResolve ??
|
|
304
331
|
(() => {
|
|
305
332
|
throw new Error('keepAlive resolver was not registered');
|
|
@@ -307,17 +334,17 @@ test('startPolling logs conflicts and suppresses overlapping polling cycles', as
|
|
|
307
334
|
resolveKeepAlive();
|
|
308
335
|
await pollingPromise;
|
|
309
336
|
});
|
|
310
|
-
test('startPolling clears the
|
|
337
|
+
test('startPolling clears the pending poll timer and exits on shutdown signals', async () => {
|
|
311
338
|
const signals = new Map();
|
|
312
339
|
const cleared = [];
|
|
313
340
|
let keepAliveResolve = null;
|
|
314
341
|
let exitCode = null;
|
|
315
|
-
const
|
|
342
|
+
const timeoutHandle = {};
|
|
316
343
|
const pollingPromise = startPolling(config, () => async () => undefined, {
|
|
317
344
|
createClient: () => makeClient(),
|
|
318
345
|
runCleanup: async () => undefined,
|
|
319
|
-
|
|
320
|
-
|
|
346
|
+
setTimeout: (() => timeoutHandle),
|
|
347
|
+
clearTimeout: ((handle) => {
|
|
321
348
|
cleared.push(handle);
|
|
322
349
|
}),
|
|
323
350
|
processOn: ((event, listener) => {
|
|
@@ -344,7 +371,7 @@ test('startPolling clears the interval and exits on shutdown signals', async ()
|
|
|
344
371
|
assert.ok(sigterm);
|
|
345
372
|
sigterm();
|
|
346
373
|
assert.equal(exitCode, 0);
|
|
347
|
-
assert.deepEqual(cleared, [
|
|
374
|
+
assert.deepEqual(cleared, [timeoutHandle]);
|
|
348
375
|
const resolveKeepAlive = keepAliveResolve ??
|
|
349
376
|
(() => {
|
|
350
377
|
throw new Error('keepAlive resolver was not registered');
|
|
@@ -364,8 +391,8 @@ test('startPolling delegates auto-update via injected dependency', async () => {
|
|
|
364
391
|
autoUpdateCallCount++;
|
|
365
392
|
return { cliUpdated: false, runnerUpdated: false };
|
|
366
393
|
},
|
|
367
|
-
|
|
368
|
-
|
|
394
|
+
setTimeout: (() => ({})),
|
|
395
|
+
clearTimeout: (() => undefined),
|
|
369
396
|
processOn: (() => undefined),
|
|
370
397
|
processExit: (() => undefined),
|
|
371
398
|
now: () => 0,
|
|
@@ -411,8 +438,8 @@ test('startPolling restores persisted auth paths for worktree removals after res
|
|
|
411
438
|
removeWorktree: (authPath, worktreePath, worktreeId) => {
|
|
412
439
|
removedWorktrees.push({ authPath, worktreePath, worktreeId });
|
|
413
440
|
},
|
|
414
|
-
|
|
415
|
-
|
|
441
|
+
setTimeout: (() => ({ ref() { }, unref() { } })),
|
|
442
|
+
clearTimeout: (() => undefined),
|
|
416
443
|
processOn: (() => undefined),
|
|
417
444
|
processExit: (() => {
|
|
418
445
|
throw new Error('should not exit');
|
|
@@ -462,8 +489,8 @@ test('startPolling reports REMOVED when no persisted auth path matches the workt
|
|
|
462
489
|
removeWorktree: () => {
|
|
463
490
|
throw new Error('removeWorktree should not be called');
|
|
464
491
|
},
|
|
465
|
-
|
|
466
|
-
|
|
492
|
+
setTimeout: (() => ({ ref() { }, unref() { } })),
|
|
493
|
+
clearTimeout: (() => undefined),
|
|
467
494
|
processOn: (() => undefined),
|
|
468
495
|
processExit: (() => {
|
|
469
496
|
throw new Error('should not exit');
|
|
@@ -516,8 +543,8 @@ test('startPolling reports FAILED when worktree removal throws after matching a
|
|
|
516
543
|
removeWorktree: () => {
|
|
517
544
|
throw new Error('permission denied');
|
|
518
545
|
},
|
|
519
|
-
|
|
520
|
-
|
|
546
|
+
setTimeout: (() => ({ ref() { }, unref() { } })),
|
|
547
|
+
clearTimeout: (() => undefined),
|
|
521
548
|
processOn: (() => undefined),
|
|
522
549
|
processExit: (() => {
|
|
523
550
|
throw new Error('should not exit');
|
|
@@ -563,8 +590,8 @@ test('startPolling acks and runs restart when meta.restartRequested is true with
|
|
|
563
590
|
executeRestartRequest: () => {
|
|
564
591
|
restartCalled += 1;
|
|
565
592
|
},
|
|
566
|
-
|
|
567
|
-
|
|
593
|
+
setTimeout: (() => ({})),
|
|
594
|
+
clearTimeout: (() => undefined),
|
|
568
595
|
processOn: (() => undefined),
|
|
569
596
|
processExit: (() => undefined),
|
|
570
597
|
now: () => 0,
|
|
@@ -606,8 +633,8 @@ test('startPolling restarts even when a pending trigger is present, ignoring the
|
|
|
606
633
|
executeRestartRequest: () => {
|
|
607
634
|
restartCalled += 1;
|
|
608
635
|
},
|
|
609
|
-
|
|
610
|
-
|
|
636
|
+
setTimeout: (() => ({})),
|
|
637
|
+
clearTimeout: (() => undefined),
|
|
611
638
|
processOn: (() => undefined),
|
|
612
639
|
processExit: (() => undefined),
|
|
613
640
|
now: () => 0,
|
|
@@ -642,8 +669,8 @@ test('startPolling skips restart and leaves the flag for retry when ack fails',
|
|
|
642
669
|
executeRestartRequest: () => {
|
|
643
670
|
restartCalled += 1;
|
|
644
671
|
},
|
|
645
|
-
|
|
646
|
-
|
|
672
|
+
setTimeout: (() => ({})),
|
|
673
|
+
clearTimeout: (() => undefined),
|
|
647
674
|
processOn: (() => undefined),
|
|
648
675
|
processExit: (() => undefined),
|
|
649
676
|
now: () => 0,
|
|
@@ -669,8 +696,8 @@ test('startPolling acquires the power save blocker on start and releases it on s
|
|
|
669
696
|
const pollingPromise = startPolling(config, () => async () => undefined, {
|
|
670
697
|
createClient: () => makeClient(),
|
|
671
698
|
runCleanup: async () => undefined,
|
|
672
|
-
|
|
673
|
-
|
|
699
|
+
setTimeout: (() => ({})),
|
|
700
|
+
clearTimeout: (() => undefined),
|
|
674
701
|
processOn: ((event, listener) => {
|
|
675
702
|
signals.set(event, listener);
|
|
676
703
|
}),
|
|
@@ -702,8 +729,8 @@ test('startPolling releases the power save blocker when keepAlive resolves', asy
|
|
|
702
729
|
const pollingPromise = startPolling(config, () => async () => undefined, {
|
|
703
730
|
createClient: () => makeClient(),
|
|
704
731
|
runCleanup: async () => undefined,
|
|
705
|
-
|
|
706
|
-
|
|
732
|
+
setTimeout: (() => ({})),
|
|
733
|
+
clearTimeout: (() => undefined),
|
|
707
734
|
processOn: (() => undefined),
|
|
708
735
|
processExit: (() => undefined),
|
|
709
736
|
now: () => 0,
|
|
@@ -724,4 +751,111 @@ test('startPolling releases the power save blocker when keepAlive resolves', asy
|
|
|
724
751
|
await pollingPromise;
|
|
725
752
|
assert.deepEqual(events, ['acquire:daemon-polling', 'release:daemon-polling'], 'blocker should be released after keepAlive resolves');
|
|
726
753
|
});
|
|
754
|
+
// idle 백오프 테스트 공통 의존성. 폴 스케줄만 관찰하고 나머지는 no-op으로 둔다.
|
|
755
|
+
const backoffDependencies = (timeouts, keepAlive) => ({
|
|
756
|
+
runCleanup: async () => undefined,
|
|
757
|
+
runConventionSync: async () => undefined,
|
|
758
|
+
maybeAutoUpdate: async () => ({ cliUpdated: false, runnerUpdated: false }),
|
|
759
|
+
setTimeout: timeouts.setTimeoutMock,
|
|
760
|
+
clearTimeout: timeouts.clearTimeoutMock,
|
|
761
|
+
processOn: (() => undefined),
|
|
762
|
+
processExit: (() => {
|
|
763
|
+
throw new Error('should not exit');
|
|
764
|
+
}),
|
|
765
|
+
now: () => 0,
|
|
766
|
+
loadAuthPaths: () => [],
|
|
767
|
+
saveAuthPath: () => '/tmp/auth-paths.json',
|
|
768
|
+
keepAlive,
|
|
769
|
+
});
|
|
770
|
+
test('startPolling backs off the poll interval while idle and clamps at maxPollingIntervalMs', async () => {
|
|
771
|
+
const timeouts = createTimeoutRecorder();
|
|
772
|
+
let keepAliveResolve = null;
|
|
773
|
+
const pollingPromise = startPolling(config, () => async () => undefined, {
|
|
774
|
+
createClient: () => makeClient(),
|
|
775
|
+
...backoffDependencies(timeouts, () => new Promise((resolve) => {
|
|
776
|
+
keepAliveResolve = resolve;
|
|
777
|
+
})),
|
|
778
|
+
});
|
|
779
|
+
// base 5000 / max 12000: idle 연속 시 5000×(1+n×0.5) → 7500, 10000, 12500→12000 clamp.
|
|
780
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
781
|
+
assert.equal(timeouts.scheduled.length, 1);
|
|
782
|
+
assert.equal(timeouts.scheduled[0]?.delayMs, 7500);
|
|
783
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
784
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
785
|
+
assert.equal(timeouts.scheduled[1]?.delayMs, 10_000);
|
|
786
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
787
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
788
|
+
assert.equal(timeouts.scheduled[2]?.delayMs, 12_000, 'delay should clamp at maxPollingIntervalMs');
|
|
789
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
790
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
791
|
+
assert.equal(timeouts.scheduled[3]?.delayMs, 12_000, 'delay should stay clamped while idle continues');
|
|
792
|
+
const resolveKeepAlive = keepAliveResolve ??
|
|
793
|
+
(() => {
|
|
794
|
+
throw new Error('keepAlive resolver was not registered');
|
|
795
|
+
});
|
|
796
|
+
resolveKeepAlive();
|
|
797
|
+
await pollingPromise;
|
|
798
|
+
});
|
|
799
|
+
test('startPolling resets the poll interval to base after an active cycle', async () => {
|
|
800
|
+
const timeouts = createTimeoutRecorder();
|
|
801
|
+
let keepAliveResolve = null;
|
|
802
|
+
// 폴 순서: idle → idle → pending 트리거(활동) → idle.
|
|
803
|
+
const responses = [pollState(), pollState(), pollState({ pendingTrigger: trigger }), pollState()];
|
|
804
|
+
const client = makeClient({
|
|
805
|
+
fetchPollState: async () => responses.shift() ?? pollState(),
|
|
806
|
+
});
|
|
807
|
+
const pollingPromise = startPolling(config, () => async () => undefined, {
|
|
808
|
+
createClient: () => client,
|
|
809
|
+
...backoffDependencies(timeouts, () => new Promise((resolve) => {
|
|
810
|
+
keepAliveResolve = resolve;
|
|
811
|
+
})),
|
|
812
|
+
});
|
|
813
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
814
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
815
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
816
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
817
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
818
|
+
timeouts.scheduled.at(-1)?.callback();
|
|
819
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
820
|
+
assert.deepEqual(timeouts.scheduled.map((entry) => entry.delayMs),
|
|
821
|
+
// idle 백오프(7500→10000) → 활동 시 base(5000) 리셋 → idle streak 처음부터(7500).
|
|
822
|
+
[7500, 10_000, 5000, 7500]);
|
|
823
|
+
const resolveKeepAlive = keepAliveResolve ??
|
|
824
|
+
(() => {
|
|
825
|
+
throw new Error('keepAlive resolver was not registered');
|
|
826
|
+
});
|
|
827
|
+
resolveKeepAlive();
|
|
828
|
+
await pollingPromise;
|
|
829
|
+
});
|
|
830
|
+
test('startPolling stops scheduling new polls after shutdown', async () => {
|
|
831
|
+
const timeouts = createTimeoutRecorder();
|
|
832
|
+
const signals = new Map();
|
|
833
|
+
let keepAliveResolve = null;
|
|
834
|
+
const pollingPromise = startPolling(config, () => async () => undefined, {
|
|
835
|
+
createClient: () => makeClient(),
|
|
836
|
+
...backoffDependencies(timeouts, () => new Promise((resolve) => {
|
|
837
|
+
keepAliveResolve = resolve;
|
|
838
|
+
})),
|
|
839
|
+
processOn: ((event, listener) => {
|
|
840
|
+
signals.set(event, listener);
|
|
841
|
+
}),
|
|
842
|
+
processExit: (() => undefined),
|
|
843
|
+
});
|
|
844
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
845
|
+
assert.equal(timeouts.scheduled.length, 1);
|
|
846
|
+
const sigterm = signals.get('SIGTERM');
|
|
847
|
+
assert.ok(sigterm);
|
|
848
|
+
sigterm();
|
|
849
|
+
assert.equal(timeouts.cleared.length, 1, 'pending poll timer should be cleared on shutdown');
|
|
850
|
+
// 셧다운 이후 잔여 타이머 콜백이 fire되어도 새 폴을 예약하지 않는다.
|
|
851
|
+
timeouts.scheduled[0]?.callback();
|
|
852
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
853
|
+
assert.equal(timeouts.scheduled.length, 1, 'no new poll may be scheduled after shutdown');
|
|
854
|
+
const resolveKeepAlive = keepAliveResolve ??
|
|
855
|
+
(() => {
|
|
856
|
+
throw new Error('keepAlive resolver was not registered');
|
|
857
|
+
});
|
|
858
|
+
resolveKeepAlive();
|
|
859
|
+
await pollingPromise;
|
|
860
|
+
});
|
|
727
861
|
//# sourceMappingURL=poller.test.js.map
|
package/dist/poller.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poller.test.js","sourceRoot":"","sources":["../src/poller.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poller.test.js","sourceRoot":"","sources":["../src/poller.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,MAAM,GAAkB;IAC5B,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,qBAAqB;IAC7B,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,MAAM;IAC5B,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,UAAU;IACrB,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,OAAO;IACf,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,SAAS;IACxB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,UAAU;IAC7B,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,0BAA0B;CACtC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;IAClB,IAAI,CAAC,UAAU,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,SAAS,GAAG,CAChB,YAAgD,EAAE,EAClD,IAAgC,EACb,EAAE,CAAC,CAAC;IACvB,IAAI,EAAE;QACJ,iCAAiC,EAAE,EAAE;QACrC,uBAAuB,EAAE,EAAE;QAC3B,cAAc,EAAE,IAAI;QACpB,GAAG,SAAS;KACb;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAC1B,CAAC,CAAC;AAWH,mDAAmD;AACnD,MAAM,UAAU,GAAG,CAAC,YAAiC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;IACrE,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC7E,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC/E,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC/D,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;CAC1E,CAAC,CAAC;AAEH,mDAAmD;AACnD,2DAA2D;AAC3D,qBAAqB;AACrB,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,SAAS,GAAqD,EAAE,CAAC;IACvE,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,CAAC,CAAC,QAAoB,EAAE,OAAgB,EAAE,EAAE;QACjE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,GAAG,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAA+B,CAAC;IAC/D,CAAC,CAAiC,CAAC;IACnC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAsB,EAAE,EAAE;QACnD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAwB,CAAC;IAC1B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAClE,CAAC,CAAC;AAIF,MAAM,sBAAsB,GAAG,GAAkB,EAAE;IACjD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,OAAO;QACL,MAAM;QACN,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE;gBAC1B,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;IAC1G,MAAM,KAAK,GAA+D,EAAE,CAAC;IAC7E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;KACnF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,oBAAgD,EAAE,EAAE;QACzE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACnC,OAAO,KAAK,EAAE,KAAoB,EAAE,EAAE;YACpC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE;QACzD,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM;QAC1B,UAAU,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACrC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACxC,UAAU,EAAE,QAAQ,CAAC,cAAc;QACnC,YAAY,EAAE,QAAQ,CAAC,gBAAgB;QACvC,SAAS,EAAE,CAAC,CAAC,KAAqB,EAAE,QAAoB,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAA0D;QAC3D,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ;QACnB,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE;YACjC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,kDAAkD;IAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEvE,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CACV,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,wBAAwB,CAAC,EACjE,IAAI,CACL,CAAC;IAEF,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4GAA4G,EAAE,KAAK,IAAI,EAAE;IAC5H,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,MAAM,sBAAsB,GAAkB;QAC5C,GAAG,OAAO;QACV,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,SAAS,CAAC;YACR,iCAAiC,EAAE,CAAC,UAAU,CAAC;YAC/C,uBAAuB,EAAE,CAAC,sBAAsB,CAAC;YACjD,cAAc,EAAE,OAAO;SACxB,CAAC;QACF,SAAS,EAAE;KACZ,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,cAAc,EAAE,KAAK,IAAI,EAAE;YACzB,cAAc,IAAI,CAAC,CAAC;YACpB,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;QACxC,CAAC;QACD,mBAAmB,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE;YAC/C,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,SAAiB,EAAE,MAAc,EAAE,EAAE;YAChE,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACvC,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CACjC,MAAM,EACN,GAAG,EAAE,CAAC,KAAK,EAAE,KAAoB,EAAE,EAAE;QACnC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EACD;QACE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM;QAC1B,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACxC,wDAAwD;QACxD,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC;QAC/C,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,CAA8B,CAAiC;QAC3G,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CACF,CAAC;IAEF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,wCAAwC;IACxC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,6DAA6D,CAAC,CAAC;IAC/F,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACrG,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjD,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAC/E,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,IAAI,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IACtC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,iBAAiB,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YAC5C,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC1E,UAAU,EAAE,QAAQ,CAAC,cAAc;QACnC,YAAY,EAAE,QAAQ,CAAC,gBAAgB;QACvC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ;QACnB,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC;QACnC,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE3C,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEtD,QAAQ,IAAI,CAAC,CAAC;IACd,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEpE,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;IACjH,MAAM,KAAK,GAA+D,EAAE,CAAC;IAC7E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,wCAAwC;IACxC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAwB,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,cAAc,EAAE,KAAK,IAAI,EAAE;YACzB,UAAU,IAAI,CAAC,CAAC;YAChB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,EAAE;gBACtD,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1D,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CACjC,MAAM,EACN,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC,EACD;QACE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM;QAC1B,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,UAAU,EAAE,QAAQ,CAAC,cAAc;QACnC,YAAY,EAAE,QAAQ,CAAC,gBAAgB;QACvC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CACF,CAAC;IAEF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,+CAA+C,CAAC,CAAC;IAE5F,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,6DAA6D,CAAC,CAAC;IAE1G,MAAM,mBAAmB,GACvB,YAAY;QACZ,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,mBAAmB,EAAE,CAAC;IACtB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,KAAK,CACV,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,2CAA2C,CAAC,EACpF,IAAI,CACL,CAAC;IACF,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,mDAAmD,CAAC,CAAC;IAChG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEvE,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,MAAM,aAAa,GAAG,EAAoB,CAAC;IAC3C,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,CAAiC;QACjE,YAAY,EAAE,CAAC,CAAC,MAAsB,EAAE,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAwB;QACzB,SAAS,EAAE,CAAC,CAAC,KAAqB,EAAE,QAAoB,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAA0D;QAC3D,WAAW,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;YAC7B,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,SAAkB,CAAC;QAC5B,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACxB,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC;IACV,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC5E,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;SACrG,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC1B,mBAAmB,EAAE,CAAC;YACtB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB,CAAiC;QAC1E,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,mDAAmD,CAAC,CAAC;IAE1F,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,gBAAgB,GAA0E,EAAE,CAAC;IACnG,MAAM,gBAAgB,GAAyE,EAAE,CAAC;IAClG,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7E,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,sBAAsB,GAAkB;QAC5C,GAAG,OAAO;QACV,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5F,oBAAoB,EAAE,KAAK,EAAE,SAAiB,EAAE,MAAc,EAAE,aAAsB,EAAE,EAAE;gBACxF,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,cAAc,EAAE,CAAC,QAAgB,EAAE,YAAoB,EAAE,UAAkB,EAAE,EAAE;YAC7E,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,CAA8B,CAAiC;QAC3G,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;QAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE;QACjC;YACE,QAAQ;YACR,YAAY;YACZ,UAAU,EAAE,YAAY;SACzB;KACF,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnH,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;IAC/F,MAAM,gBAAgB,GAAyE,EAAE,CAAC;IAClG,MAAM,sBAAsB,GAAkB;QAC5C,GAAG,OAAO;QACV,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,kBAAkB;QAC9B,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5F,oBAAoB,EAAE,KAAK,EAAE,SAAiB,EAAE,MAAc,EAAE,aAAsB,EAAE,EAAE;gBACxF,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,cAAc,EAAE,GAAG,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,CAA8B,CAAiC;QAC3G,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC;QAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE;QACjC;YACE,SAAS,EAAE,wBAAwB;YACnC,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,SAAS;SACzB;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,gBAAgB,GAAyE,EAAE,CAAC;IAClG,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IAClF,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,sBAAsB,GAAkB;QAC5C,GAAG,OAAO;QACV,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5F,oBAAoB,EAAE,KAAK,EAAE,SAAiB,EAAE,MAAc,EAAE,aAAsB,EAAE,EAAE;gBACxF,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,cAAc,EAAE,GAAG,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,CAA8B,CAAiC;QAC3G,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA4B;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;QAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE;QACjC;YACE,SAAS,EAAE,uBAAuB;YAClC,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,mBAAmB;SACnC;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;IAC/G,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CACzB,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAC9F,iBAAiB,EAAE,KAAK,IAAI,EAAE;gBAC5B,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;SACF,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,qBAAqB,EAAE,GAAG,EAAE;YAC1B,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB,CAAiC;QAC1E,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,qDAAqD,CAAC,CAAC;IAEtF,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACpG,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CACjC,MAAM,EACN,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC,EACD;QACE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CACzB,SAAS,CACP,EAAE,cAAc,EAAE,OAAO,EAAE,EAC3B,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC9E;YACH,YAAY,EAAE,KAAK,IAAI,EAAE;gBACvB,WAAW,IAAI,CAAC,CAAC;gBACjB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvC,CAAC;YACD,iBAAiB,EAAE,KAAK,IAAI,EAAE;gBAC5B,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;SACF,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,qBAAqB,EAAE,GAAG,EAAE;YAC1B,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB,CAAiC;QAC1E,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CACF,CAAC;IAEF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;IACjF,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,8CAA8C,CAAC,CAAC;IAE7E,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IACzF,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CACjB,UAAU,CAAC;YACT,cAAc,EAAE,KAAK,IAAI,EAAE,CACzB,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAC9F,iBAAiB,EAAE,KAAK,IAAI,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;QACJ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,qBAAqB,EAAE,GAAG,EAAE;YAC1B,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB,CAAiC;QAC1E,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAEtE,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;IACnG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB,CAAiC;QAC1E,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,CAAC,KAAqB,EAAE,QAAoB,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAA0D;QAC3D,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,gBAAgB,EAAE,OAAO;QACzB,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAEzG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC;IACV,MAAM,CAAC,SAAS,CACd,MAAM,EACN,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,EACpD,wCAAwC,CACzC,CAAC;IAEF,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;IACtF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACrD,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACjC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB,CAAiC;QAC1E,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwB;QACtD,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;QACrF,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC1C,gBAAgB,EAAE,OAAO;QACzB,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAErD,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;IAErB,MAAM,CAAC,SAAS,CACd,MAAM,EACN,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,EACpD,qDAAqD,CACtD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,mBAAmB,GAAG,CAAC,QAAkD,EAAE,SAA8B,EAAE,EAAE,CAAC,CAAC;IACnH,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IACjC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IACxC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC1E,UAAU,EAAE,QAAQ,CAAC,cAAc;IACnC,YAAY,EAAE,QAAQ,CAAC,gBAAgB;IACvC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA0D;IACrF,WAAW,EAAE,CAAC,GAAG,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC,CAA4B;IAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACZ,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;IACvB,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB;IAC1C,SAAS;CACV,CAAC,CAAC;AAEH,IAAI,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;IACxG,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,GAAG,mBAAmB,CACpB,QAAQ,EACR,GAAG,EAAE,CACH,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CACL;KACF,CAAC,CAAC;IAEH,oFAAoF;IACpF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAErD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,4CAA4C,CAAC,CAAC;IAEnG,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gDAAgD,CAAC,CAAC;IAEvG,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,8CAA8C;IAC9C,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,SAAS,EAAE;KAC7D,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM;QAC1B,GAAG,mBAAmB,CACpB,QAAQ,EACR,GAAG,EAAE,CACH,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CACL;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,SAAS,CACd,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAChD,sEAAsE;IACtE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAC3B,CAAC;IAEF,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;IACxE,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE;QACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,GAAG,mBAAmB,CACpB,QAAQ,EACR,GAAG,EAAE,CACH,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,gBAAgB,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CACL;QACD,SAAS,EAAE,CAAC,CAAC,KAAqB,EAAE,QAAoB,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAA0D;QAC3D,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,SAAkB,CAA4B;KACnE,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC;IACV,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAE7F,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,6CAA6C,CAAC,CAAC;IAE1F,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,gBAAgB,EAAE,CAAC;IACnB,MAAM,cAAc,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/dist/runners/amp.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Runner, RunnerOptions, RunResult } from './types.js';
|
|
2
2
|
export declare const buildAmpExecArgs: (prompt: string, model?: string | null) => string[];
|
|
3
|
+
export declare const toPowerShellEncodedCommand: (resolvedExecutablePath: string, prompt: string, model?: string | null) => string;
|
|
3
4
|
export declare class AmpCodeRunner implements Runner {
|
|
4
5
|
run(opts: RunnerOptions): Promise<RunResult>;
|
|
5
6
|
}
|
package/dist/runners/amp.js
CHANGED
|
@@ -11,11 +11,16 @@ import { setupCloseWatchdog, terminateRunnerChild } from './process-control.js';
|
|
|
11
11
|
const PROMPT_PREVIEW_MAX = 500;
|
|
12
12
|
const OUTPUT_PREVIEW_MAX = 400;
|
|
13
13
|
const OUTPUT_CAPTURE_MAX = 200_000;
|
|
14
|
+
// Amp CLI에는 `--model` 플래그가 없고 `-m, --mode`가 모델/프롬프트/도구 구성을 고르는
|
|
15
|
+
// agent mode 계약이다(`deep`/`rush`/`smart`). AgentTeams의 `model` 필드는 러너별 실행 프로필
|
|
16
|
+
// 스냅샷이므로, AmpCode 러너만 이 값을 `--mode`로 전달한다. 다른 러너의 `--model` 전달 방식과
|
|
17
|
+
// 혼동해 `--model`로 바꾸지 않도록 스냅샷 테스트로 고정한다.
|
|
14
18
|
export const buildAmpExecArgs = (prompt, model) => {
|
|
15
19
|
const modeArgs = model ? ['--mode', model] : [];
|
|
16
20
|
return ['--execute', prompt, '--dangerously-allow-all', '--stream-json-thinking', ...modeArgs];
|
|
17
21
|
};
|
|
18
|
-
|
|
22
|
+
// 위 buildAmpExecArgs와 동일하게, Windows PowerShell 경로에서도 AmpCode만 `model`을 `--mode`로 전달한다.
|
|
23
|
+
export const toPowerShellEncodedCommand = (resolvedExecutablePath, prompt, model) => {
|
|
19
24
|
const modelSegment = model ? ` '--mode' '${model.replaceAll("'", "''")}'` : '';
|
|
20
25
|
const scriptContent = [
|
|
21
26
|
"$ErrorActionPreference = 'Stop'",
|