@opensumi/ide-file-service 3.7.1-next-1736321498.0 → 3.7.1-next-1736420958.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/browser/file-service-client.js +4 -4
  2. package/lib/browser/file-service-client.js.map +1 -1
  3. package/lib/browser/file-service-provider-client.d.ts +2 -2
  4. package/lib/browser/file-service-provider-client.d.ts.map +1 -1
  5. package/lib/browser/file-service-provider-client.js +2 -2
  6. package/lib/browser/file-service-provider-client.js.map +1 -1
  7. package/lib/common/files.d.ts +2 -2
  8. package/lib/common/files.d.ts.map +1 -1
  9. package/lib/common/watcher.d.ts +2 -3
  10. package/lib/common/watcher.d.ts.map +1 -1
  11. package/lib/common/watcher.js.map +1 -1
  12. package/lib/node/disk-file-system.provider.d.ts +2 -3
  13. package/lib/node/disk-file-system.provider.d.ts.map +1 -1
  14. package/lib/node/disk-file-system.provider.js +2 -3
  15. package/lib/node/disk-file-system.provider.js.map +1 -1
  16. package/lib/node/hosted/recursive/file-service-watcher.d.ts +13 -13
  17. package/lib/node/hosted/recursive/file-service-watcher.d.ts.map +1 -1
  18. package/lib/node/hosted/recursive/file-service-watcher.js +94 -139
  19. package/lib/node/hosted/recursive/file-service-watcher.js.map +1 -1
  20. package/lib/node/hosted/un-recursive/file-service-watcher.d.ts +11 -5
  21. package/lib/node/hosted/un-recursive/file-service-watcher.d.ts.map +1 -1
  22. package/lib/node/hosted/un-recursive/file-service-watcher.js +31 -16
  23. package/lib/node/hosted/un-recursive/file-service-watcher.js.map +1 -1
  24. package/lib/node/hosted/watcher.host.service.d.ts +2 -7
  25. package/lib/node/hosted/watcher.host.service.d.ts.map +1 -1
  26. package/lib/node/hosted/watcher.host.service.js +28 -55
  27. package/lib/node/hosted/watcher.host.service.js.map +1 -1
  28. package/lib/node/hosted/watcher.process.js +1 -1
  29. package/lib/node/hosted/watcher.process.js.map +1 -1
  30. package/lib/node/watcher-process-manager.d.ts +2 -3
  31. package/lib/node/watcher-process-manager.d.ts.map +1 -1
  32. package/lib/node/watcher-process-manager.js +3 -4
  33. package/lib/node/watcher-process-manager.js.map +1 -1
  34. package/package.json +9 -9
  35. package/src/browser/file-service-client.ts +4 -4
  36. package/src/browser/file-service-provider-client.ts +2 -3
  37. package/src/common/files.ts +2 -2
  38. package/src/common/watcher.ts +3 -10
  39. package/src/node/disk-file-system.provider.ts +3 -8
  40. package/src/node/hosted/recursive/file-service-watcher.ts +105 -170
  41. package/src/node/hosted/un-recursive/file-service-watcher.ts +45 -24
  42. package/src/node/hosted/watcher.host.service.ts +33 -95
  43. package/src/node/hosted/watcher.process.ts +1 -1
  44. package/src/node/watcher-process-manager.ts +5 -13
@@ -1,24 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RecursiveFileSystemWatcher = void 0;
3
+ exports.FileSystemWatcherServer = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const os_1 = require("os");
6
- const path_1 = tslib_1.__importStar(require("path"));
5
+ const path_1 = tslib_1.__importDefault(require("path"));
7
6
  const watcher_1 = tslib_1.__importDefault(require("@parcel/watcher"));
8
7
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
9
8
  const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
10
9
  const uniqBy_1 = tslib_1.__importDefault(require("lodash/uniqBy"));
11
- const ide_core_common_1 = require("@opensumi/ide-core-common");
12
10
  const utils_1 = require("@opensumi/ide-core-common/lib/utils");
13
- const watcher_2 = require("../../../common/watcher");
11
+ const common_1 = require("../../../common");
14
12
  const file_change_collection_1 = require("../../file-change-collection");
15
13
  const shared_1 = require("../shared");
16
- class RecursiveFileSystemWatcher extends utils_1.Disposable {
17
- constructor(excludes = [], logger, backend = ide_core_common_1.RecursiveWatcherBackend.NSFW) {
14
+ const watcherPlaceHolder = {
15
+ disposable: {
16
+ dispose: () => { },
17
+ },
18
+ handlers: [],
19
+ };
20
+ class FileSystemWatcherServer extends utils_1.Disposable {
21
+ constructor(excludes = [], logger) {
18
22
  super();
19
23
  this.excludes = excludes;
20
24
  this.logger = logger;
21
- this.backend = backend;
22
25
  this.WATCHER_HANDLERS = new Map();
23
26
  this.watcherOptions = new Map();
24
27
  this.changes = new file_change_collection_1.FileChangeCollection();
@@ -31,6 +34,17 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
31
34
  this.WATCHER_HANDLERS.clear();
32
35
  }));
33
36
  }
37
+ /**
38
+ * 查找某个路径是否已被监听
39
+ * @param watcherPath
40
+ */
41
+ checkIsAlreadyWatched(watcherPath) {
42
+ for (const [watcherId, watcher] of this.WATCHER_HANDLERS) {
43
+ if (watcherPath.indexOf(watcher.path) === 0) {
44
+ return watcherId;
45
+ }
46
+ }
47
+ }
34
48
  /**
35
49
  * 如果监听路径不存在,则会监听父目录
36
50
  * @param uri 要监听的路径
@@ -38,25 +52,16 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
38
52
  * @returns
39
53
  */
40
54
  async watchFileChanges(uri, options) {
41
- return new Promise((resolve, rej) => {
42
- const timer = setTimeout(() => {
43
- rej(`Watch ${uri} Timeout`);
44
- // FIXME:暂时写死3秒
45
- }, 3000);
46
- this.doWatchFileChange(uri, options).then(() => {
47
- resolve(void 0);
48
- if (timer) {
49
- clearTimeout(timer);
50
- }
51
- });
52
- });
53
- }
54
- async doWatchFileChange(uri, options) {
55
- if (this.WATCHER_HANDLERS.has(uri)) {
56
- return;
57
- }
58
55
  const basePath = utils_1.FileUri.fsPath(uri);
59
- this.logger.log('[Recursive] watch file changes: ', uri);
56
+ let watcherId = this.checkIsAlreadyWatched(basePath);
57
+ if (watcherId) {
58
+ return watcherId;
59
+ }
60
+ watcherId = FileSystemWatcherServer.WATCHER_SEQUENCE++;
61
+ this.WATCHER_HANDLERS.set(watcherId, {
62
+ ...watcherPlaceHolder,
63
+ path: basePath,
64
+ });
60
65
  const toDisposeWatcher = new utils_1.DisposableCollection();
61
66
  let watchPath;
62
67
  const exist = await fs_extra_1.default.pathExists(basePath);
@@ -72,9 +77,10 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
72
77
  else {
73
78
  watchPath = await this.lookup(basePath);
74
79
  }
80
+ this.logger.log('Starting watching:', watchPath, options);
75
81
  const handler = (err, events) => {
76
82
  if (err) {
77
- this.logger.error(`[Recursive] Watching ${watchPath} error: `, err);
83
+ this.logger.error(`Watching ${watchPath} error: `, err);
78
84
  return;
79
85
  }
80
86
  events = this.trimChangeEvent(events);
@@ -92,14 +98,15 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
92
98
  }
93
99
  }
94
100
  };
95
- this.WATCHER_HANDLERS.set(uri, {
101
+ this.WATCHER_HANDLERS.set(watcherId, {
96
102
  path: watchPath,
97
103
  disposable: toDisposeWatcher,
98
104
  handlers: [handler],
99
105
  });
100
- toDisposeWatcher.push(utils_1.Disposable.create(() => this.WATCHER_HANDLERS.delete(uri)));
101
- toDisposeWatcher.push(await this.start(watchPath, options));
106
+ toDisposeWatcher.push(utils_1.Disposable.create(() => this.WATCHER_HANDLERS.delete(watcherId)));
107
+ toDisposeWatcher.push(await this.start(watcherId, watchPath, options));
102
108
  this.addDispose(toDisposeWatcher);
109
+ return watcherId;
103
110
  }
104
111
  /**
105
112
  * 向上查找存在的目录
@@ -133,48 +140,12 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
133
140
  async updateWatcherFileExcludes(excludes) {
134
141
  this.excludes = excludes;
135
142
  }
136
- async start(basePath, rawOptions) {
137
- this.logger.log('[Recursive] Start watching', basePath);
143
+ async start(watcherId, basePath, rawOptions) {
144
+ const disposables = new utils_1.DisposableCollection();
138
145
  if (!(await fs_extra_1.default.pathExists(basePath))) {
139
- return new utils_1.DisposableCollection();
146
+ return disposables;
140
147
  }
141
148
  const realPath = await fs_extra_1.default.realpath(basePath);
142
- if (this.isEnableNSFW()) {
143
- return this.watchWithNsfw(realPath, rawOptions);
144
- }
145
- else {
146
- // polling
147
- if (rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.pollingWatch) {
148
- this.logger.log('[Recursive] Start polling watch:', realPath);
149
- return this.pollingWatch(realPath, rawOptions);
150
- }
151
- return this.watchWithParcel(realPath, rawOptions);
152
- }
153
- }
154
- async watchWithNsfw(realPath, rawOptions) {
155
- const disposables = new utils_1.DisposableCollection();
156
- const nsfw = await this.withNSFWModule();
157
- const watcher = await nsfw(realPath, (events) => this.handleNSFWEvents(events, realPath), {
158
- errorCallback: (err) => {
159
- this.logger.error('[Recursive] NSFW watcher encountered an error and will stop watching.', err);
160
- // see https://github.com/atom/github/issues/342
161
- this.unwatchFileChanges(realPath);
162
- },
163
- });
164
- await watcher.start();
165
- disposables.push(utils_1.Disposable.create(async () => {
166
- this.watcherOptions.delete(realPath);
167
- await watcher.stop();
168
- }));
169
- const excludes = this.excludes.concat((rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) || []);
170
- this.watcherOptions.set(realPath, {
171
- excludesPattern: excludes.map((pattern) => (0, utils_1.parseGlob)(pattern)),
172
- excludes,
173
- });
174
- return disposables;
175
- }
176
- async watchWithParcel(realPath, rawOptions) {
177
- const disposables = new utils_1.DisposableCollection();
178
149
  const tryWatchDir = async (maxRetries = 3, retryDelay = 1000) => {
179
150
  var _a;
180
151
  for (let times = 0; times < maxRetries; times++) {
@@ -186,83 +157,67 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
186
157
  // FIXME: 研究此处屏蔽的影响,考虑下阈值应该设置多少,或者更加优雅的方式
187
158
  return;
188
159
  }
189
- const handlers = (_a = this.WATCHER_HANDLERS.get(realPath)) === null || _a === void 0 ? void 0 : _a.handlers;
160
+ const handlers = (_a = this.WATCHER_HANDLERS.get(watcherId)) === null || _a === void 0 ? void 0 : _a.handlers;
190
161
  if (!handlers) {
191
- this.logger.log('[Recursive] No handler found for watcher', realPath);
192
- return;
193
- }
194
- this.logger.log('[Recursive] Received events:', events);
195
- if (events.length === 0) {
196
162
  return;
197
163
  }
198
164
  for (const handler of handlers) {
199
165
  handler(err, events);
200
166
  }
201
167
  }, {
202
- backend: RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND,
168
+ backend: FileSystemWatcherServer.PARCEL_WATCHER_BACKEND,
203
169
  ignore: this.excludes.concat((_a = rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) !== null && _a !== void 0 ? _a : []),
204
170
  });
205
171
  }
206
172
  catch (e) {
207
173
  // Watcher 启动失败,尝试重试
208
- this.logger.error('[Recursive] watcher subscribe failed ', e, ' try times ', times);
174
+ this.logger.error('watcher subscribe failed ', e, ' try times ', times);
209
175
  await new Promise((resolve) => {
210
176
  setTimeout(resolve, retryDelay);
211
177
  });
212
178
  }
213
179
  }
214
180
  // 经过若干次的尝试后,Parcel Watcher 依然启动失败,此时就不再尝试重试
215
- this.logger.error(`[Recursive] watcher subscribe finally failed after ${maxRetries} times`);
181
+ this.logger.error(`watcher subscribe finally failed after ${maxRetries} times`);
216
182
  return undefined; // watch 失败则返回 undefined
217
183
  };
218
- const hanlder = await tryWatchDir();
219
- if (hanlder) {
220
- // watch 成功才加入 disposables,否则也就无需 dispose
184
+ if (this.isEnableNSFW()) {
185
+ const nsfw = await this.withNSFWModule();
186
+ const watcher = await nsfw(realPath, (events) => this.handleNSFWEvents(events, watcherId), {
187
+ errorCallback: (err) => {
188
+ this.logger.error('NSFW watcher encountered an error and will stop watching.', err);
189
+ // see https://github.com/atom/github/issues/342
190
+ this.unwatchFileChanges(watcherId);
191
+ },
192
+ });
193
+ await watcher.start();
221
194
  disposables.push(utils_1.Disposable.create(async () => {
222
- if (hanlder) {
223
- await hanlder.unsubscribe();
224
- }
195
+ this.watcherOptions.delete(watcherId);
196
+ await watcher.stop();
225
197
  }));
198
+ const excludes = this.excludes.concat((rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) || []);
199
+ this.watcherOptions.set(watcherId, {
200
+ excludesPattern: excludes.map((pattern) => (0, utils_1.parseGlob)(pattern)),
201
+ excludes,
202
+ });
226
203
  }
227
- return disposables;
228
- }
229
- async pollingWatch(realPath, rawOptions) {
230
- const disposables = new utils_1.DisposableCollection();
231
- const snapshotFile = (0, path_1.join)((0, os_1.tmpdir)(), `watcher-snapshot-${realPath}`);
232
- let counter = 0;
233
- const pollingWatcher = new utils_1.RunOnceScheduler(async () => {
234
- var _a;
235
- counter++;
236
- if (counter > 1) {
237
- const parcelEvents = await watcher_1.default.getEventsSince(realPath, snapshotFile, {
238
- ignore: rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes,
239
- backend: RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND,
240
- });
241
- const handlers = (_a = this.WATCHER_HANDLERS.get(realPath)) === null || _a === void 0 ? void 0 : _a.handlers;
242
- if (!handlers) {
243
- this.logger.log('[Recursive] No handler found for watcher', realPath);
244
- return;
245
- }
246
- this.logger.log('[Recursive] Received events:', parcelEvents);
247
- for (const handler of handlers) {
248
- handler(null, parcelEvents);
249
- }
204
+ else {
205
+ const hanlder = await tryWatchDir();
206
+ if (hanlder) {
207
+ // watch 成功才加入 disposables,否则也就无需 dispose
208
+ disposables.push(utils_1.Disposable.create(async () => {
209
+ if (hanlder) {
210
+ await hanlder.unsubscribe();
211
+ }
212
+ }));
250
213
  }
251
- await watcher_1.default.writeSnapshot(realPath, snapshotFile, {
252
- ignore: rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes,
253
- backend: RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND,
254
- });
255
- pollingWatcher.schedule();
256
- }, RecursiveFileSystemWatcher.DEFAULT_POLLING_INTERVAL);
257
- pollingWatcher.schedule(0);
258
- disposables.push(pollingWatcher);
214
+ }
259
215
  return disposables;
260
216
  }
261
- unwatchFileChanges(uri) {
262
- this.logger.log('[Recursive] Un watch: ', uri);
263
- const watcher = this.WATCHER_HANDLERS.get(uri);
217
+ unwatchFileChanges(watcherId) {
218
+ const watcher = this.WATCHER_HANDLERS.get(watcherId);
264
219
  if (watcher) {
265
- this.WATCHER_HANDLERS.delete(uri);
220
+ this.WATCHER_HANDLERS.delete(watcherId);
266
221
  watcher.disposable.dispose();
267
222
  }
268
223
  return Promise.resolve();
@@ -278,14 +233,14 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
278
233
  * 社区相关 issue: https://github.com/parcel-bundler/watcher/issues/49
279
234
  */
280
235
  isEnableNSFW() {
281
- return this.backend === ide_core_common_1.RecursiveWatcherBackend.NSFW || utils_1.isLinux;
236
+ return utils_1.isLinux;
282
237
  }
283
- async handleNSFWEvents(events, realPath) {
238
+ async handleNSFWEvents(events, watcherId) {
284
239
  if (events.length > 5000) {
285
240
  return;
286
241
  }
287
- const isIgnored = (realPath, path) => {
288
- const options = this.watcherOptions.get(realPath);
242
+ const isIgnored = (watcherId, path) => {
243
+ const options = this.watcherOptions.get(watcherId);
289
244
  if (!options || !options.excludes || options.excludes.length < 1) {
290
245
  return false;
291
246
  }
@@ -293,13 +248,13 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
293
248
  };
294
249
  const filterEvents = events.filter((event) => {
295
250
  // 如果是 RENAME,不会产生临时文件
296
- if (event.action === watcher_2.INsfw.actions.RENAMED) {
251
+ if (event.action === common_1.INsfw.actions.RENAMED) {
297
252
  return true;
298
253
  }
299
254
  return !(0, shared_1.shouldIgnorePath)(event.file);
300
255
  });
301
256
  const mergedEvents = (0, uniqBy_1.default)(filterEvents, (event) => {
302
- if (event.action === watcher_2.INsfw.actions.RENAMED) {
257
+ if (event.action === common_1.INsfw.actions.RENAMED) {
303
258
  const deletedPath = path_1.default.join(event.directory, event.oldFile);
304
259
  const newPath = path_1.default.join(event.newDirectory || event.directory, event.newFile);
305
260
  return deletedPath + newPath;
@@ -308,23 +263,23 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
308
263
  });
309
264
  await Promise.all(mergedEvents.map(async (event) => {
310
265
  switch (event.action) {
311
- case watcher_2.INsfw.actions.RENAMED:
266
+ case common_1.INsfw.actions.RENAMED:
312
267
  {
313
268
  const deletedPath = await this.resolvePath(event.directory, event.oldFile);
314
- if (isIgnored(realPath, deletedPath)) {
269
+ if (isIgnored(watcherId, deletedPath)) {
315
270
  return;
316
271
  }
317
272
  this.pushDeleted(deletedPath);
318
273
  if (event.newDirectory) {
319
274
  const path = await this.resolvePath(event.newDirectory, event.newFile);
320
- if (isIgnored(realPath, path)) {
275
+ if (isIgnored(watcherId, path)) {
321
276
  return;
322
277
  }
323
278
  this.pushAdded(path);
324
279
  }
325
280
  else {
326
281
  const path = await this.resolvePath(event.directory, event.newFile);
327
- if (isIgnored(realPath, path)) {
282
+ if (isIgnored(watcherId, path)) {
328
283
  return;
329
284
  }
330
285
  this.pushAdded(path);
@@ -334,17 +289,17 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
334
289
  default:
335
290
  {
336
291
  const path = await this.resolvePath(event.directory, event.file);
337
- if (isIgnored(realPath, path)) {
292
+ if (isIgnored(watcherId, path)) {
338
293
  return;
339
294
  }
340
295
  switch (event.action) {
341
- case watcher_2.INsfw.actions.CREATED:
296
+ case common_1.INsfw.actions.CREATED:
342
297
  this.pushAdded(path);
343
298
  break;
344
- case watcher_2.INsfw.actions.DELETED:
299
+ case common_1.INsfw.actions.DELETED:
345
300
  this.pushDeleted(path);
346
301
  break;
347
- case watcher_2.INsfw.actions.MODIFIED:
302
+ case common_1.INsfw.actions.MODIFIED:
348
303
  this.pushUpdated(path);
349
304
  break;
350
305
  }
@@ -357,13 +312,13 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
357
312
  return require('nsfw');
358
313
  }
359
314
  pushAdded(path) {
360
- this.pushFileChange(path, ide_core_common_1.FileChangeType.ADDED);
315
+ this.pushFileChange(path, common_1.FileChangeType.ADDED);
361
316
  }
362
317
  pushUpdated(path) {
363
- this.pushFileChange(path, ide_core_common_1.FileChangeType.UPDATED);
318
+ this.pushFileChange(path, common_1.FileChangeType.UPDATED);
364
319
  }
365
320
  pushDeleted(path) {
366
- this.pushFileChange(path, ide_core_common_1.FileChangeType.DELETED);
321
+ this.pushFileChange(path, common_1.FileChangeType.DELETED);
367
322
  }
368
323
  pushFileChange(path, type) {
369
324
  const uri = utils_1.FileUri.create(path).toString();
@@ -399,7 +354,7 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
399
354
  }
400
355
  }
401
356
  }
402
- exports.RecursiveFileSystemWatcher = RecursiveFileSystemWatcher;
403
- RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND = utils_1.isWindows ? 'windows' : utils_1.isLinux ? 'inotify' : 'fs-events';
404
- RecursiveFileSystemWatcher.DEFAULT_POLLING_INTERVAL = 100;
357
+ exports.FileSystemWatcherServer = FileSystemWatcherServer;
358
+ FileSystemWatcherServer.PARCEL_WATCHER_BACKEND = utils_1.isWindows ? 'windows' : utils_1.isLinux ? 'inotify' : 'fs-events';
359
+ FileSystemWatcherServer.WATCHER_SEQUENCE = 1;
405
360
  //# sourceMappingURL=file-service-watcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-service-watcher.js","sourceRoot":"","sources":["../../../../src/node/hosted/recursive/file-service-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-service-watcher.js","sourceRoot":"","sources":["../../../../src/node/hosted/recursive/file-service-watcher.ts"],"names":[],"mappings":";;;;AAAA,wDAAyB;AAEzB,sEAA4C;AAC5C,gEAA0B;AAC1B,uEAAuC;AACvC,mEAAmC;AAGnC,+DAS6C;AAE7C,4CAMyB;AACzB,yEAAoE;AACpE,sCAA6C;AAO7C,MAAM,kBAAkB,GAAG;IACzB,UAAU,EAAE;QACV,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAWF,MAAa,uBAAwB,SAAQ,kBAAU;IAcrD,YAAoB,WAAqB,EAAE,EAAmB,MAAmB;QAC/E,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAe;QAAmB,WAAM,GAAN,MAAM,CAAa;QAXzE,qBAAgB,GAAG,IAAI,GAAG,EAG/B,CAAC;QAEM,mBAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;QAInD,YAAO,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAoX/C;;;WAGG;QACgB,wBAAmB,GAAe,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,CAAC,CAAC;QApXrG,IAAI,CAAC,UAAU,CACb,kBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAmB;QACvC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,OAAsB;QACxD,MAAM,QAAQ,GAAG,eAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,SAAS,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;YACnC,GAAG,kBAAkB;YACrB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,4BAAoB,EAAE,CAAC;QACpD,IAAI,SAAiB,CAAC;QAEtB,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,SAAS,GAAG,QAAQ,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAA6B,EAAE,EAAE;YACrD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,UAAU,EAAE,GAAG,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,QAAQ;wBACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3B,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC,CAAC;QACH,gBAAgB,CAAC,IAAI,CAAC,kBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAmB,CAAC,CAAC,CAAC,CAAC;QAClG,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;QAC5C,IAAI,GAAG,GAAG,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YACpD,GAAG,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC;QACV,CAAC;QACD,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,MAA6B;QACrD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,EAAE,CAAC,CAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAkB;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,KAAK,CACnB,SAAiB,EACjB,QAAgB,EAChB,UAAoC;QAEpC,MAAM,WAAW,GAAG,IAAI,4BAAoB,EAAE,CAAC;QAC/C,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,KAAK,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;;YAC9D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,OAAO,MAAM,iBAAa,CAAC,SAAS,CAClC,QAAQ,EACR,CAAC,GAAG,EAAE,MAA6B,EAAE,EAAE;;wBACrC,uCAAuC;wBACvC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;4BACzB,yCAAyC;4BACzC,OAAO;wBACT,CAAC;wBACD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,QAAQ,CAAC;wBAEhE,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,OAAO;wBACT,CAAC;wBACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC9B,OAA2C,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC,EACD;wBACE,OAAO,EAAE,uBAAuB,CAAC,sBAAsB;wBACvD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,mCAAI,EAAE,CAAC;qBACzD,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,oBAAoB;oBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;oBACxE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC5B,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,QAAQ,CAAC,CAAC;YAChF,OAAO,SAAS,CAAC,CAAC,wBAAwB;QAC5C,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,MAAM,OAAO,GAAe,MAAM,IAAI,CACpC,QAAQ,EACR,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,EACzE;gBACE,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,GAAG,CAAC,CAAC;oBACpF,gDAAgD;oBAChD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;aACF,CACF,CAAC;YAEF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,WAAW,CAAC,IAAI,CACd,kBAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;gBAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,KAAI,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;gBACjC,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;gBAC9D,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAgD,MAAM,WAAW,EAAE,CAAC;YAEjF,IAAI,OAAO,EAAE,CAAC;gBACZ,yCAAyC;gBACzC,WAAW,CAAC,IAAI,CACd,kBAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;oBAC3B,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,MAA2C;QACnD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,OAAO,eAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAA2B,EAAE,SAAiB;QAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAW,EAAE;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,sBAAsB;YACtB,IAAI,KAAK,CAAC,MAAM,KAAK,cAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,gBAAM,EAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,cAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;gBAChE,MAAM,OAAO,GAAG,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;gBAClF,OAAO,WAAW,GAAG,OAAO,CAAC;YAC/B,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,GAAG,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,cAAK,CAAC,OAAO,CAAC,OAAO;oBACxB,CAAC;wBACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;wBAC5E,IAAI,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;4BACtC,OAAO;wBACT,CAAC;wBAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBAE9B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;4BACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;4BACxE,IAAI,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gCAC/B,OAAO;4BACT,CAAC;4BAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACvB,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;4BACrE,IAAI,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gCAC/B,OAAO;4BACT,CAAC;4BAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR;oBACE,CAAC;wBACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAK,CAAC,CAAC;wBAClE,IAAI,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;4BAC/B,OAAO;wBACT,CAAC;wBAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;4BACrB,KAAK,cAAK,CAAC,OAAO,CAAC,OAAO;gCACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gCACrB,MAAM;4BACR,KAAK,cAAK,CAAC,OAAO,CAAC,OAAO;gCACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gCACvB,MAAM;4BACR,KAAK,cAAK,CAAC,OAAO,CAAC,QAAQ;gCACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gCACvB,MAAM;wBACV,CAAC;oBACH,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAES,SAAS,CAAC,IAAY;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAc,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAES,cAAc,CAAC,IAAY,EAAE,IAAoB;QACzD,MAAM,GAAG,GAAG,eAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,IAAY;QACzD,MAAM,IAAI,GAAG,cAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,uCAAuC;QACvC,IAAI,eAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,kBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,+CAA+C;oBAC/C,OAAO,cAAK,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,gDAAgD;oBAChD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAOS,qBAAqB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;;AA5YH,0DA6YC;AA5YyB,8CAAsB,GAAG,iBAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,AAA5D,CAA6D;AAM5F,wCAAgB,GAAG,CAAC,AAAJ,CAAK"}
@@ -1,20 +1,26 @@
1
1
  import { ILogService } from '@opensumi/ide-core-common/lib/log';
2
2
  import { DisposableCollection } from '@opensumi/ide-utils/lib';
3
- import { FileChangeType, FileSystemWatcherClient, IWatcher } from '../../../common/index';
3
+ import { FileChangeType, FileSystemWatcherClient, IFileSystemWatcherServer } from '../../../common/index';
4
4
  import { FileChangeCollection } from '../../file-change-collection';
5
- export declare class UnRecursiveFileSystemWatcher implements IWatcher {
5
+ export declare class UnRecursiveFileSystemWatcher implements IFileSystemWatcherServer {
6
6
  private readonly logger;
7
- private watcherCollections;
7
+ private WATCHER_HANDLERS;
8
+ private static WATCHER_SEQUENCE;
8
9
  private static readonly FILE_DELETE_HANDLER_DELAY;
9
10
  protected changes: FileChangeCollection;
10
11
  protected readonly toDispose: DisposableCollection;
11
12
  protected client: FileSystemWatcherClient | undefined;
12
13
  constructor(logger: ILogService);
13
14
  dispose(): void;
15
+ /**
16
+ * 查找某个路径是否已被监听
17
+ * @param watcherPath
18
+ */
19
+ checkIsAlreadyWatched(watcherPath: string): number | undefined;
14
20
  private doWatch;
15
- watchFileChanges(uri: string): Promise<void>;
21
+ watchFileChanges(uri: string): Promise<number>;
16
22
  protected start(basePath: string): Promise<DisposableCollection>;
17
- unwatchFileChanges(uri: string): Promise<void>;
23
+ unwatchFileChanges(watcherId: number): Promise<void>;
18
24
  protected pushAdded(path: string): void;
19
25
  protected pushUpdated(path: string): void;
20
26
  protected pushDeleted(path: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"file-service-watcher.d.ts","sourceRoot":"","sources":["../../../../src/node/hosted/un-recursive/file-service-watcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAc,oBAAoB,EAA2C,MAAM,yBAAyB,CAAC;AAEpH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,qBAAa,4BAA6B,YAAW,QAAQ;IAY/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXnC,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IAGxD,SAAS,CAAC,OAAO,uBAA8B;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAAgF;IAE5G,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC;gBAEzB,MAAM,EAAE,WAAW;IAEhD,OAAO,IAAI,IAAI;YAID,OAAO;IAyFf,gBAAgB,CAAC,GAAG,EAAE,MAAM;cAoBlB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyBhE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAMlE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAqD;IAEvG,SAAS,CAAC,qBAAqB,IAAI,IAAI;IASvC,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS;CAMtD"}
1
+ {"version":3,"file":"file-service-watcher.d.ts","sourceRoot":"","sources":["../../../../src/node/hosted/un-recursive/file-service-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAc,oBAAoB,EAA2C,MAAM,yBAAyB,CAAC;AAEpH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,qBAAa,4BAA6B,YAAW,wBAAwB;IAqB/D,OAAO,CAAC,QAAQ,CAAC,MAAM;IApBnC,OAAO,CAAC,gBAAgB,CAOpB;IAEJ,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAK;IAEpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IAGxD,SAAS,CAAC,OAAO,uBAA8B;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAAgF;IAE5G,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC;gBAEzB,MAAM,EAAE,WAAW;IAEhD,OAAO,IAAI,IAAI;IAKf;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;YAQhD,OAAO;IAqFf,gBAAgB,CAAC,GAAG,EAAE,MAAM;cA6BlB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoBtE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAMlE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAqD;IAEvG,SAAS,CAAC,qBAAqB,IAAI,IAAI;IASvC,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS;CAMtD"}
@@ -12,7 +12,7 @@ const { join, basename, normalize } = lib_1.path;
12
12
  class UnRecursiveFileSystemWatcher {
13
13
  constructor(logger) {
14
14
  this.logger = logger;
15
- this.watcherCollections = new Map();
15
+ this.WATCHER_HANDLERS = new Map();
16
16
  // 收集发生改变的文件
17
17
  this.changes = new file_change_collection_1.FileChangeCollection();
18
18
  this.toDispose = new lib_1.DisposableCollection(lib_1.Disposable.create(() => this.setClient(undefined)));
@@ -24,12 +24,23 @@ class UnRecursiveFileSystemWatcher {
24
24
  }
25
25
  dispose() {
26
26
  this.toDispose.dispose();
27
+ this.WATCHER_HANDLERS.clear();
28
+ }
29
+ /**
30
+ * 查找某个路径是否已被监听
31
+ * @param watcherPath
32
+ */
33
+ checkIsAlreadyWatched(watcherPath) {
34
+ for (const [watcherId, watcher] of this.WATCHER_HANDLERS) {
35
+ if (watcherPath.indexOf(watcher.path) === 0) {
36
+ return watcherId;
37
+ }
38
+ }
27
39
  }
28
40
  async doWatch(basePath) {
29
41
  try {
30
42
  const watcher = (0, fs_extra_1.watch)(basePath);
31
- this.watcherCollections.set(basePath, watcher);
32
- this.logger.log('[Un-Recursive] start watching', basePath);
43
+ this.logger.log('start watching', basePath);
33
44
  const isDirectory = fs_extra_1.default.lstatSync(basePath).isDirectory();
34
45
  const docChildren = new Set();
35
46
  let signalDoc = '';
@@ -51,7 +62,7 @@ class UnRecursiveFileSystemWatcher {
51
62
  }
52
63
  // 开始走监听流程
53
64
  watcher.on('error', (code, signal) => {
54
- this.logger.error(`[Un-Recursive] Failed to watch ${basePath} for changes using fs.watch() (${code}, ${signal})`);
65
+ this.logger.error(`Failed to watch ${basePath} for changes using fs.watch() (${code}, ${signal})`);
55
66
  watcher.close();
56
67
  });
57
68
  watcher.on('change', (type, filename) => {
@@ -109,25 +120,31 @@ class UnRecursiveFileSystemWatcher {
109
120
  });
110
121
  }
111
122
  catch (error) {
112
- this.logger.error(`[Un-Recursive] Failed to watch ${basePath} for change using fs.watch() (${error.toString()})`);
123
+ this.logger.error(`Failed to watch ${basePath} for change using fs.watch() (${error.toString()})`);
113
124
  }
114
125
  }
115
126
  async watchFileChanges(uri) {
116
127
  const basePath = lib_1.FileUri.fsPath(uri);
117
128
  const exist = await fs_extra_1.default.pathExists(basePath);
129
+ let watcherId = this.checkIsAlreadyWatched(basePath);
130
+ if (watcherId) {
131
+ return watcherId;
132
+ }
133
+ watcherId = UnRecursiveFileSystemWatcher.WATCHER_SEQUENCE++;
118
134
  const disposables = new lib_1.DisposableCollection(); // 管理可释放的资源
119
135
  let watchPath = '';
120
136
  if (exist) {
121
- const stat = await fs_extra_1.default.lstat(basePath);
137
+ const stat = await fs_extra_1.default.lstatSync(basePath);
122
138
  if (stat) {
123
139
  watchPath = basePath;
124
140
  }
125
141
  }
126
142
  else {
127
- this.logger.warn('[Un-Recursive] This path does not exist. Please try again');
143
+ this.logger.warn('This path does not exist. Please try again');
128
144
  }
129
145
  disposables.push(await this.start(watchPath));
130
146
  this.toDispose.push(disposables);
147
+ return watcherId;
131
148
  }
132
149
  async start(basePath) {
133
150
  const disposables = new lib_1.DisposableCollection();
@@ -135,9 +152,6 @@ class UnRecursiveFileSystemWatcher {
135
152
  return disposables;
136
153
  }
137
154
  const realPath = await fs_extra_1.default.realpath(basePath);
138
- if (this.watcherCollections.has(realPath)) {
139
- return disposables;
140
- }
141
155
  const tryWatchDir = async (retryDelay = 1000) => {
142
156
  try {
143
157
  this.doWatch(realPath);
@@ -152,13 +166,13 @@ class UnRecursiveFileSystemWatcher {
152
166
  await tryWatchDir();
153
167
  return disposables;
154
168
  }
155
- async unwatchFileChanges(uri) {
156
- const basePath = lib_1.FileUri.fsPath(uri);
157
- if (this.watcherCollections.has(basePath)) {
158
- const watcher = this.watcherCollections.get(basePath);
159
- watcher === null || watcher === void 0 ? void 0 : watcher.close();
160
- this.watcherCollections.delete(basePath);
169
+ unwatchFileChanges(watcherId) {
170
+ const watcher = this.WATCHER_HANDLERS.get(watcherId);
171
+ if (watcher) {
172
+ this.WATCHER_HANDLERS.delete(watcherId);
173
+ watcher.disposable.dispose();
161
174
  }
175
+ return Promise.resolve();
162
176
  }
163
177
  pushAdded(path) {
164
178
  this.pushFileChange(path, index_1.FileChangeType.ADDED);
@@ -190,5 +204,6 @@ class UnRecursiveFileSystemWatcher {
190
204
  }
191
205
  }
192
206
  exports.UnRecursiveFileSystemWatcher = UnRecursiveFileSystemWatcher;
207
+ UnRecursiveFileSystemWatcher.WATCHER_SEQUENCE = 1;
193
208
  UnRecursiveFileSystemWatcher.FILE_DELETE_HANDLER_DELAY = 500;
194
209
  //# sourceMappingURL=file-service-watcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-service-watcher.js","sourceRoot":"","sources":["../../../../src/node/hosted/un-recursive/file-service-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-service-watcher.js","sourceRoot":"","sources":["../../../../src/node/hosted/un-recursive/file-service-watcher.ts"],"names":[],"mappings":";;;;AAAA,6DAAqC;AACrC,uEAAuC;AAGvC,iDAAoH;AAEpH,iDAA0G;AAC1G,yEAAoE;AACpE,sCAA6C;AAC7C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,UAAI,CAAC;AAE3C,MAAa,4BAA4B;IAqBvC,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QApBxC,qBAAgB,GAAG,IAAI,GAAG,EAO/B,CAAC;QAMJ,YAAY;QACF,YAAO,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAE5B,cAAS,GAAG,IAAI,0BAAoB,CAAC,gBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAwL5G;;;WAGG;QACgB,wBAAmB,GAAe,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,CAAC,CAAC;IAxLpD,CAAC;IAEpD,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAmB;QACvC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,QAAgB;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,kBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,KAAK,MAAM,KAAK,IAAI,kBAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC3C,IAAI,CAAC,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;4BACtC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACzB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YAED,UAAU;YACV,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,kCAAkC,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;gBACnG,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAY,EAAE,QAAyB,EAAE,EAAE;gBAC/D,IAAI,IAAA,yBAAgB,EAAC,QAAkB,CAAC,EAAE,CAAC;oBACzC,OAAO;gBACT,CAAC;gBAED,iBAAiB;gBACjB,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,GAAG,QAAkB,CAAC;oBACpC,IAAI,iBAAW,EAAE,CAAC;wBAChB,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAC1D,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE,CAAC;oBAChB,UAAU,CAAC,KAAK,IAAI,EAAE;wBACpB,+BAA+B;wBAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;4BACpC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;gCAC5E,MAAM,UAAU,GAAG,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gCAC7C,IAAI,UAAU,EAAE,CAAC;oCACf,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gCAC/B,CAAC;qCAAM,CAAC;oCACN,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oCACnC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gCAC/B,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,IAAI,kBAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;4BACzC,IAAI,CAAC,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gCAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gCAC3B,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,KAAK,IAAI,EAAE;wBACpB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BACjC,IAAI,kBAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAChC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAC7B,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gCAC3B,SAAS,GAAG,EAAE,CAAC;4BACjB,CAAC;wBACH,CAAC;oBACH,CAAC,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,iCAAiC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,QAAQ,GAAG,aAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,SAAS,GAAG,4BAA4B,CAAC,gBAAgB,EAAE,CAAC;QAE5D,MAAM,WAAW,GAAG,IAAI,0BAAoB,EAAE,CAAC,CAAC,WAAW;QAE3D,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,GAAG,QAAQ,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,QAAgB;QACpC,MAAM,WAAW,GAAG,IAAI,0BAAoB,EAAE,CAAC;QAC/C,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;YAC9C,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5B,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,kBAAkB,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAES,SAAS,CAAC,IAAY;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAc,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAES,cAAc,CAAC,IAAY,EAAE,IAAoB;QACzD,MAAM,GAAG,GAAG,aAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAQS,qBAAqB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAA2C;QACnD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;;AA7NH,oEA8NC;AApNgB,6CAAgB,GAAG,CAAC,AAAJ,CAAK;AAEZ,sDAAyB,GAAG,GAAG,AAAN,CAAO"}