@homebridge-plugins/homebridge-sharkiq 2.0.0-beta.22 → 2.0.0-beta.23

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.
@@ -25,9 +25,27 @@ import type { SharkIqVacuum } from '../sharkiq-js/sharkiq.js';
25
25
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
26
26
  export declare class RoboticVacuumAccessory extends BaseMatterAccessory {
27
27
  private activeTimers;
28
+ private lastRunMode;
29
+ private lastBatteryLevel;
30
+ private lastChargingStatus;
31
+ private lastOperationalState;
32
+ private lastRssi;
33
+ private lastSelectedAreas;
34
+ private lastCleanMode;
28
35
  private readonly sharkDevice?;
29
36
  private pollInterval?;
30
37
  constructor(api: API, log: Logger, sharkDevice?: SharkIqVacuum, pollIntervalMs?: number);
38
+ /**
39
+ * Initialize cached runtime values from the Shark device wrapper where
40
+ * available, otherwise fall back to persisted accessory state exposed by the API.
41
+ */
42
+ private initCachedState;
43
+ /**
44
+ * Persist a named cache value into accessory context and keep in-memory copy.
45
+ * This centralizes writes so callers only need to update the in-memory field
46
+ * and call this to persist to Homebridge accessory.context.
47
+ */
48
+ private persistCache;
31
49
  private startPolling;
32
50
  private stopPolling;
33
51
  private buildServiceAreaCluster;
@@ -1 +1 @@
1
- {"version":3,"file":"RoboticVacuumAccessory.d.ts","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAe;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAEzB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM;IAuKvF,OAAO,CAAC,YAAY;IA6IpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;YAqCjB,mBAAmB;YAoDnB,qBAAqB;YA4BrB,WAAW;YAaX,UAAU;YAcV,WAAW;YA0BX,YAAY;YA0BZ,YAAY;YAuBZ,iBAAiB;YAsBjB,cAAc;IAQ5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;;;OAIG;IAEI,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAmB3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAsBnC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU9C,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;CAIjF"}
1
+ {"version":3,"file":"RoboticVacuumAccessory.d.ts","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,OAAO,CAAC,oBAAoB,CAAsB;IAElD,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAe;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAEzB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM;IAwLvF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkJvB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IA6JpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;YAqCjB,mBAAmB;YAoDnB,qBAAqB;YA4BrB,WAAW;YAaX,UAAU;YAcV,WAAW;YA0BX,YAAY;YA0BZ,YAAY;YAuBZ,iBAAiB;YAsBjB,cAAc;IAQ5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;;;OAIG;IAEI,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA2B3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmBjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8BnC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAkC5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU9C,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;CAIjF"}
@@ -3,9 +3,24 @@ import { ERROR_MESSAGES, OperatingModes, PowerModes, Properties } from '../shark
3
3
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
4
4
  export class RoboticVacuumAccessory extends BaseMatterAccessory {
5
5
  activeTimers = [];
6
+ // Cache the last known run mode so we only emit info logs when it changes
7
+ lastRunMode = null;
8
+ // Cache battery state so we only emit info logs when battery or charging changes
9
+ lastBatteryLevel = null;
10
+ lastChargingStatus = null;
11
+ // Cache operational state so we only emit info logs when it changes
12
+ lastOperationalState = null;
13
+ // Cache last seen RSSI so we only log when it changes
14
+ lastRssi = null;
15
+ // Cache last selected areas so we only emit info logs when selection changes
16
+ lastSelectedAreas = null;
17
+ // Cache last clean mode so we only emit info logs when it changes
18
+ lastCleanMode = null;
6
19
  sharkDevice;
7
20
  pollInterval;
8
21
  constructor(api, log, sharkDevice, pollIntervalMs) {
22
+ // If possible, initialize lastRunMode from the device or persisted state
23
+ // This is done after super() returns so api and other properties are available.
9
24
  const serialNumber = (sharkDevice && (sharkDevice.serial_number || sharkDevice._dsn)) || 'VACUUM-001';
10
25
  const displayName = (sharkDevice && (sharkDevice.name || sharkDevice._name)) || 'Robot Vacuum';
11
26
  const manufacturer = sharkDevice ? 'Shark' : 'Homebridge Matter';
@@ -65,6 +80,14 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
65
80
  vacSerial: (sharkDevice && (sharkDevice.vac_serial_number || sharkDevice._vac_serial_number)) || null,
66
81
  oemModel: (sharkDevice && (sharkDevice.oem_model_number || sharkDevice._oem_model_number)) || null,
67
82
  pollIntervalMs: typeof pollIntervalMs === 'number' ? pollIntervalMs : null,
83
+ // Cached runtime values persisted so they survive restarts
84
+ lastRunMode: null,
85
+ lastBatteryLevel: null,
86
+ lastChargingStatus: null,
87
+ lastOperationalState: null,
88
+ lastRssi: null,
89
+ lastSelectedAreas: null,
90
+ lastCleanMode: null,
68
91
  },
69
92
  clusters: {
70
93
  // Run Mode: Controls what the vacuum is doing (Idle, Cleaning, Mapping)
@@ -121,6 +144,11 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
121
144
  },
122
145
  // Service Area: Room/zone selection for targeted cleaning
123
146
  serviceArea: serviceAreaCluster,
147
+ // Legacy informational clusters - present so runtime updateState() calls
148
+ // using 'power' and 'diagnostics' will be forwarded to the Matter API
149
+ // during tests and runtime. These clusters are informational only.
150
+ power: {},
151
+ diagnostics: {},
124
152
  },
125
153
  handlers: {
126
154
  rvcRunMode: {
@@ -160,6 +188,185 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
160
188
  }
161
189
  }
162
190
  this.logInfo('initialized and ready.');
191
+ // Initialize cached runtime values (device wrapper preferred; fallback to persisted accessory state)
192
+ this.initCachedState(sharkDevice);
193
+ }
194
+ /**
195
+ * Initialize cached runtime values from the Shark device wrapper where
196
+ * available, otherwise fall back to persisted accessory state exposed by the API.
197
+ */
198
+ initCachedState(sharkDevice) {
199
+ try {
200
+ // Prefer value from Shark device wrapper if available
201
+ if (sharkDevice && typeof sharkDevice.operating_mode === 'function') {
202
+ const op = sharkDevice.operating_mode();
203
+ if (typeof op === 'number') {
204
+ this.persistCache('lastRunMode', op, 'lastRunMode');
205
+ }
206
+ // battery
207
+ if (sharkDevice.battery_capacity && typeof sharkDevice.battery_capacity === 'function') {
208
+ const b = sharkDevice.battery_capacity();
209
+ if (typeof b === 'number') {
210
+ this.persistCache('lastBatteryLevel', Number(b), 'lastBatteryLevel');
211
+ }
212
+ }
213
+ // charging status
214
+ if (sharkDevice.charging_status && typeof sharkDevice.charging_status === 'function') {
215
+ const c = sharkDevice.charging_status();
216
+ if (typeof c !== 'undefined') {
217
+ this.persistCache('lastChargingStatus', c === 1 || c === true, 'lastChargingStatus');
218
+ }
219
+ }
220
+ // clean mode mapping
221
+ if (sharkDevice.power_mode && typeof sharkDevice.power_mode === 'function') {
222
+ try {
223
+ const pm = sharkDevice.power_mode();
224
+ if (typeof pm === 'number') {
225
+ let cleanMode = 0;
226
+ if (pm === PowerModes.ECO) {
227
+ cleanMode = 12; // Eco Vacuum
228
+ }
229
+ else if (pm === PowerModes.MAX) {
230
+ cleanMode = 7; // Max Clean
231
+ }
232
+ this.persistCache('lastCleanMode', cleanMode, 'lastCleanMode');
233
+ }
234
+ }
235
+ catch {
236
+ // ignore
237
+ }
238
+ }
239
+ // docked/operational
240
+ if (sharkDevice.docked_status && typeof sharkDevice.docked_status === 'function') {
241
+ const d = sharkDevice.docked_status();
242
+ if (typeof d === 'number') {
243
+ this.persistCache('lastOperationalState', d === 1 ? 66 : null, 'lastOperationalState');
244
+ }
245
+ }
246
+ if (this.lastOperationalState === null && typeof op === 'number') {
247
+ if (op === OperatingModes.START) {
248
+ this.persistCache('lastOperationalState', 1, 'lastOperationalState');
249
+ }
250
+ else if (op === OperatingModes.PAUSE) {
251
+ this.persistCache('lastOperationalState', 2, 'lastOperationalState');
252
+ }
253
+ else if (op === OperatingModes.RETURN) {
254
+ this.persistCache('lastOperationalState', 64, 'lastOperationalState');
255
+ }
256
+ else if (op === OperatingModes.STOP) {
257
+ this.persistCache('lastOperationalState', 0, 'lastOperationalState');
258
+ }
259
+ }
260
+ // selected areas from device room list
261
+ if (typeof sharkDevice.get_room_list === 'function') {
262
+ try {
263
+ const rooms = sharkDevice.get_room_list() || [];
264
+ const ids = rooms.map((_, idx) => idx);
265
+ const sanitized = Array.from(new Set(ids.filter(n => Number.isInteger(n) && n >= 0 && n < rooms.length)));
266
+ this.persistCache('lastSelectedAreas', sanitized, 'lastSelectedAreas');
267
+ }
268
+ catch {
269
+ // ignore
270
+ }
271
+ }
272
+ }
273
+ else if (this.api.matter && typeof this.api.matter.getAccessoryState === 'function') {
274
+ try {
275
+ const state = this.api.matter.getAccessoryState(this.uuid, 'rvcRunMode');
276
+ if (state && typeof state.currentMode === 'number') {
277
+ this.persistCache('lastRunMode', state.currentMode, 'lastRunMode');
278
+ }
279
+ // persisted power cluster
280
+ try {
281
+ const p = this.api.matter.getAccessoryState(this.uuid, 'power');
282
+ if (p) {
283
+ if (typeof p.batteryLevel === 'number') {
284
+ this.persistCache('lastBatteryLevel', Number(p.batteryLevel), 'lastBatteryLevel');
285
+ }
286
+ if (typeof p.charging !== 'undefined') {
287
+ this.persistCache('lastChargingStatus', p.charging === 1 || p.charging === true, 'lastChargingStatus');
288
+ }
289
+ }
290
+ }
291
+ catch {
292
+ // ignore
293
+ }
294
+ // persisted clean mode
295
+ try {
296
+ const c = this.api.matter.getAccessoryState(this.uuid, 'rvcCleanMode');
297
+ if (c && typeof c.currentMode === 'number') {
298
+ this.persistCache('lastCleanMode', Number(c.currentMode), 'lastCleanMode');
299
+ }
300
+ }
301
+ catch {
302
+ // ignore
303
+ }
304
+ // persisted diagnostics (RSSI)
305
+ try {
306
+ const d = this.api.matter.getAccessoryState(this.uuid, 'diagnostics');
307
+ if (d && typeof d.rssi === 'number') {
308
+ this.persistCache('lastRssi', Number(d.rssi), 'lastRssi');
309
+ }
310
+ }
311
+ catch {
312
+ // ignore
313
+ }
314
+ // persisted operational state
315
+ try {
316
+ const o = this.api.matter.getAccessoryState(this.uuid, 'rvcOperationalState');
317
+ if (o && typeof o.operationalState === 'number') {
318
+ this.persistCache('lastOperationalState', Number(o.operationalState), 'lastOperationalState');
319
+ }
320
+ }
321
+ catch {
322
+ // ignore
323
+ }
324
+ // persisted selected areas
325
+ try {
326
+ const s = this.api.matter.getAccessoryState(this.uuid, 'serviceArea');
327
+ if (s && Array.isArray(s.selectedAreas)) {
328
+ const raw = Array.isArray(s.selectedAreas) ? s.selectedAreas.map((v) => Number(v)).filter((n) => Number.isInteger(n) && n >= 0) : [];
329
+ const sanitized = raw.length > 0 ? Array.from(new Set(raw)) : null;
330
+ this.persistCache('lastSelectedAreas', sanitized, 'lastSelectedAreas');
331
+ }
332
+ }
333
+ catch {
334
+ // ignore
335
+ }
336
+ }
337
+ catch {
338
+ // ignore failures reading accessory state
339
+ }
340
+ }
341
+ }
342
+ catch (e) {
343
+ // Ignore any initialization errors; keep caches as-is
344
+ }
345
+ }
346
+ /**
347
+ * Persist a named cache value into accessory context and keep in-memory copy.
348
+ * This centralizes writes so callers only need to update the in-memory field
349
+ * and call this to persist to Homebridge accessory.context.
350
+ */
351
+ persistCache(key, value, inMemoryKey) {
352
+ try {
353
+ // Update in-memory cache if requested
354
+ if (typeof inMemoryKey === 'string' && inMemoryKey.length > 0) {
355
+ try {
356
+ ;
357
+ this[inMemoryKey] = value;
358
+ }
359
+ catch (e) {
360
+ // ignore failures to set in-memory field
361
+ }
362
+ }
363
+ // Write value into this.context under the same key name
364
+ ;
365
+ this.context[key] = value;
366
+ }
367
+ catch (e) {
368
+ // Best-effort: ignore failures to persist context
369
+ }
163
370
  }
164
371
  startPolling(intervalMs = 30000) {
165
372
  if (this.pollInterval) {
@@ -251,7 +458,15 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
251
458
  // chargingVal may be boolean-like or numeric
252
459
  const isCharging = chargingVal === 1 || chargingVal === true;
253
460
  await this.updateState('power', { batteryLevel: Math.max(0, Math.min(100, pct)), charging: isCharging });
254
- this.logInfo(`battery updated: ${pct}% (charging: ${isCharging})`);
461
+ this.logDebug(`battery updated: ${pct}% (charging: ${isCharging})`);
462
+ // Only emit info logs when battery level or charging status actually changes
463
+ if (this.lastBatteryLevel !== pct || this.lastChargingStatus !== isCharging) {
464
+ this.logInfo(`battery level: ${pct}%, charging: ${isCharging}`);
465
+ this.lastBatteryLevel = pct;
466
+ this.lastChargingStatus = isCharging;
467
+ this.context.lastBatteryLevel = this.lastBatteryLevel;
468
+ this.context.lastChargingStatus = this.lastChargingStatus;
469
+ }
255
470
  }
256
471
  // RSSI (signal strength) mapping if available
257
472
  try {
@@ -259,8 +474,17 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
259
474
  ? this.sharkDevice.get_property_value(Properties.RSSI)
260
475
  : null;
261
476
  if (rssi !== null && typeof rssi !== 'undefined') {
262
- await this.updateState('diagnostics', { ...null, rssi: Number(rssi) });
263
- this.logInfo(`rssi updated: ${rssi}`);
477
+ const r = Number(rssi);
478
+ await this.updateState('diagnostics', { ...null, rssi: r });
479
+ // Only log when RSSI value actually changes
480
+ if (this.lastRssi !== r) {
481
+ this.logInfo(`rssi updated: ${r}`);
482
+ this.lastRssi = r;
483
+ this.context.lastRssi = this.lastRssi;
484
+ }
485
+ else {
486
+ this.logDebug(`rssi unchanged: ${r}`);
487
+ }
264
488
  }
265
489
  }
266
490
  catch (e) {
@@ -594,12 +818,34 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
594
818
  'Charging',
595
819
  'Docked',
596
820
  ];
597
- this.logInfo(`operational state updated to: ${states[state] || `Unknown (${state})`}`);
821
+ // Only emit info logs when the operational state actually changes
822
+ if (this.lastOperationalState !== state) {
823
+ this.logInfo(`operational state updated to: ${states[state] || `Unknown (${state})`}`);
824
+ this.lastOperationalState = state;
825
+ this.persistCache('lastOperationalState', state);
826
+ }
827
+ else {
828
+ this.logDebug(`operational state unchanged: ${states[state] || `Unknown (${state})`}`);
829
+ }
598
830
  }
599
831
  updateRunMode(mode) {
600
832
  this.updateState('rvcRunMode', { currentMode: mode });
601
833
  const modes = ['Idle', 'Cleaning', 'Mapping'];
602
- this.logInfo(`run mode updated to: ${modes[mode] || `Unknown (${mode})`}`);
834
+ this.logDebug(`run mode updated to: ${modes[mode] || `Unknown (${mode})`}`);
835
+ // Only emit informational logs when the run mode actually changes
836
+ if (this.lastRunMode !== mode) {
837
+ if (mode === 0) {
838
+ this.logInfo('vacuum is now idle.');
839
+ }
840
+ else if (mode === 1) {
841
+ this.logInfo('vacuum is now cleaning.');
842
+ }
843
+ else if (mode === 2) {
844
+ this.logInfo('vacuum is now mapping.');
845
+ }
846
+ this.lastRunMode = mode;
847
+ this.persistCache('lastRunMode', mode);
848
+ }
603
849
  }
604
850
  updateCleanMode(mode) {
605
851
  this.updateState('rvcCleanMode', { currentMode: mode });
@@ -620,12 +866,45 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
620
866
  'Eco Mop',
621
867
  'Auto',
622
868
  ];
623
- this.logInfo(`clean mode updated to: ${modes[mode] || `Unknown (${mode})`}`);
869
+ // Only emit info logs when the clean mode actually changes
870
+ if (this.lastCleanMode !== mode) {
871
+ this.logInfo(`clean mode updated to: ${modes[mode] || `Unknown (${mode})`}`);
872
+ this.lastCleanMode = mode;
873
+ this.persistCache('lastCleanMode', mode);
874
+ }
875
+ else {
876
+ this.logDebug(`clean mode unchanged: ${modes[mode] || `Unknown (${mode})`}`);
877
+ }
624
878
  }
625
879
  updateSelectedAreas(areaIds) {
626
880
  this.updateState('serviceArea', { selectedAreas: areaIds });
881
+ // Determine if the selection actually changed (order-insensitive)
882
+ const incoming = Array.isArray(areaIds) ? areaIds.slice().sort((a, b) => a - b) : [];
883
+ const previous = Array.isArray(this.lastSelectedAreas) ? this.lastSelectedAreas.slice().sort((a, b) => a - b) : null;
884
+ let changed = false;
885
+ if (previous === null) {
886
+ changed = true;
887
+ }
888
+ else if (previous.length !== incoming.length) {
889
+ changed = true;
890
+ }
891
+ else {
892
+ for (let i = 0; i < incoming.length; i++) {
893
+ if (incoming[i] !== previous[i]) {
894
+ changed = true;
895
+ break;
896
+ }
897
+ }
898
+ }
627
899
  const areaNames = areaIds.map(id => ['Living Room', 'Kitchen', 'Bedroom', 'Bathroom'][id] || `Area ${id}`);
628
- this.logInfo(`selected areas updated to: ${areaNames.join(', ') || 'All Areas'}`);
900
+ if (changed) {
901
+ this.logInfo(`selected areas updated to: ${areaNames.join(', ') || 'All Areas'}`);
902
+ this.lastSelectedAreas = Array.isArray(areaIds) ? areaIds.slice() : [];
903
+ this.persistCache('lastSelectedAreas', this.lastSelectedAreas);
904
+ }
905
+ else {
906
+ this.logDebug(`selected areas unchanged: ${areaNames.join(', ') || 'All Areas'}`);
907
+ }
629
908
  }
630
909
  updateCurrentArea(areaId) {
631
910
  this.updateState('serviceArea', { currentArea: areaId });
@@ -1 +1 @@
1
- {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAAA,mBAAmB;AA6BnB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IACrD,YAAY,GAAqB,EAAE,CAAA;IAC1B,WAAW,CAAgB;IACpC,YAAY,CAAiB;IAErC,YAAY,GAAQ,EAAE,GAAW,EAAE,WAA2B,EAAE,cAAuB;QACrF,MAAM,YAAY,GAAG,CAAC,WAAW,IAAI,CAAE,WAAmB,CAAC,aAAa,IAAK,WAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,CAAA;QACvH,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,CAAE,WAAmB,CAAC,IAAI,IAAK,WAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,cAAc,CAAA;QAChH,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAA;QAChE,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAE,WAAmB,CAAC,gBAAgB,IAAK,WAAmB,CAAC,iBAAiB,CAAC,CAAC,IAAI,0BAA0B,CAAA;QAC9I,MAAM,gBAAgB,GAAG,CAAC,WAAW,IAAI,CAAE,WAAmB,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,IAAI,OAAO,CAAA;QAE1G,iGAAiG;QACjG,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,WAAW,IAAI,OAAQ,WAAmB,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAC7E,OAAO;oBACL,aAAa,EAAE,EAAE;oBACjB,cAAc,EAAE,EAAE;oBAClB,aAAa,EAAE,EAAE;iBAClB,CAAA;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAc,WAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;gBAClE,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE;wBACR,YAAY,EAAE;4BACZ,YAAY,EAAE,QAAQ;4BACtB,WAAW,EAAE,CAAC;4BACd,QAAQ,EAAE,CAAC;yBACZ;wBACD,YAAY,EAAE,IAAI;qBACnB;iBACF,CAAC,CAAC,CAAA;gBACH,OAAO;oBACL,aAAa,EAAE,EAAE;oBACjB,cAAc;oBACd,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBACjD,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,aAAa,EAAE,EAAE;oBACjB,cAAc,EAAE,EAAE;oBAClB,aAAa,EAAE,EAAE;iBAClB,CAAA;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB;YACvD,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB,EAAE,OAAO;YACzB,2FAA2F;YAC3F,OAAO,EAAE;gBACP,YAAY;gBACZ,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,CAAC,WAAW,IAAI,CAAE,WAAmB,CAAC,iBAAiB,IAAK,WAAmB,CAAC,kBAAkB,CAAC,CAAC,IAAI,IAAI;gBACvH,QAAQ,EAAE,CAAC,WAAW,IAAI,CAAE,WAAmB,CAAC,gBAAgB,IAAK,WAAmB,CAAC,iBAAiB,CAAC,CAAC,IAAI,IAAI;gBACpH,cAAc,EAAE,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;aAC3E;YAED,QAAQ,EAAE;gBACR,wEAAwE;gBACxE,UAAU,EAAE;oBACV,cAAc,EAAE;wBACd,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,0BAA0B;wBACpF,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,8BAA8B;wBAC5F,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,6BAA6B;qBAC3F;oBACD,WAAW,EAAE,CAAC;iBACf;gBACD,6CAA6C;gBAC7C,yEAAyE;gBACzE,mGAAmG;gBACnG,oDAAoD;gBACpD,YAAY,EAAE;oBACZ,cAAc,EAAE;wBACd,yBAAyB;wBACzB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS;wBACrE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM;wBAC/D,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO;wBAE3F,mBAAmB;wBACnB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY;wBAC5E,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,qBAAqB;wBACxG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,kBAAkB;wBAElG,kBAAkB;wBAClB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,iBAAiB;wBAChG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,eAAe;wBAC5F,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,eAAe;wBAE5F,cAAc;wBACd,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,iBAAiB;wBACjG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,cAAc;wBAC5F,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,iBAAiB;wBAEhG,mBAAmB;wBACnB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,qBAAqB;wBACpG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,kBAAkB;wBAE9F,YAAY;wBACZ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,gBAAgB;qBAC1F;oBACD,WAAW,EAAE,CAAC,EAAE,0BAA0B;iBAC3C;gBACD,2EAA2E;gBAC3E,mBAAmB,EAAE;oBACnB,oBAAoB,EAAE;wBACpB,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,4CAA4C;wBACvE,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,UAAU;wBACrC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,SAAS;wBACpC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,QAAQ;wBACnC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,kBAAkB;wBAC9C,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,WAAW;wBACvC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,SAAS;qBACtC;oBACD,gBAAgB,EAAE,EAAE,EAAE,eAAe;iBACtC;gBACD,0DAA0D;gBAC1D,WAAW,EAAE,kBAAkB;aAChC;YAED,QAAQ,EAAE;gBACR,UAAU,EAAE;oBACV,YAAY,EAAE,KAAK,EAAE,OAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;iBAChG;gBACD,YAAY,EAAE;oBACZ,YAAY,EAAE,KAAK,EAAE,OAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;iBAClG;gBACD,mBAAmB,EAAE;oBACnB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;oBACnC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;oBACvC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;iBACxC;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAC3F,QAAQ,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;iBACnF;gBACD,yEAAyE;gBACzE,yEAAyE;gBACzE,yEAAyE;gBACzE,sEAAsE;gBACtE,qEAAqE;gBACrE,gEAAgE;aACjE;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAE9B,8EAA8E;QAC9E,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3F,+CAA+C;YAC/C,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACxC,CAAC;IAEO,YAAY,CAAC,UAAU,GAAG,KAAK;QACrC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC;gBACH,wBAAwB;gBACxB,MAAO,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAE1C,4BAA4B;gBAC5B,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,CAAA;gBACnE,MAAM,SAAS,GAAI,IAAI,CAAC,WAAmB,CAAC,UAAU,EAAE,EAAE,IAAI,IAAI,CAAA;gBAClE,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAA;gBAElE,qDAAqD;gBACrD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpC,SAAS;oBACT,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;oBAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;gBACvB,CAAC;qBAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC3B,IAAI,MAAM,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;wBACpC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;wBACrB,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;oBAChC,CAAC;yBAAM,IAAI,MAAM,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;wBAC3C,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;wBAC9B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;oBACvB,CAAC;yBAAM,IAAI,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;wBAC5C,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;wBAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;oBACvB,CAAC;yBAAM,IAAI,MAAM,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;wBAC1C,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;wBAC9B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;oBACvB,CAAC;gBACH,CAAC;gBAED,qDAAqD;gBACrD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,SAAS,GAAG,CAAC,CAAA,CAAC,SAAS;oBAC3B,IAAI,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;wBACjC,SAAS,GAAG,EAAE,CAAA,CAAC,aAAa;oBAC9B,CAAC;yBAAM,IAAI,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;wBACxC,SAAS,GAAG,CAAC,CAAA,CAAC,YAAY;oBAC5B,CAAC;yBAAM,CAAC;wBACN,SAAS,GAAG,CAAC,CAAA;oBACf,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;gBACjC,CAAC;gBAED,uDAAuD;gBACvD,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBAClE,MAAM,KAAK,GAAc,IAAI,CAAC,WAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;oBACvE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;oBACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;gBAC/B,CAAC;gBAED,uFAAuF;gBACvF,IAAI,CAAC;oBACH,0DAA0D;oBAC1D,IAAI,UAAU,GAAQ,IAAI,CAAA;oBAC1B,IAAI,WAAW,GAAQ,IAAI,CAAA;oBAC3B,IAAI,MAAM,GAAQ,IAAI,CAAA;oBACtB,IAAI,OAAO,GAAkB,IAAI,CAAA;oBAEjC,IAAK,IAAI,CAAC,WAAmB,CAAC,gBAAgB,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;wBACnH,UAAU,GAAI,IAAI,CAAC,WAAmB,CAAC,gBAAgB,EAAE,CAAA;oBAC3D,CAAC;yBAAM,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;wBAC9E,UAAU,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;oBACxF,CAAC;oBAED,IAAK,IAAI,CAAC,WAAmB,CAAC,eAAe,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;wBACjH,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,eAAe,EAAE,CAAA;oBAC3D,CAAC;yBAAM,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;wBAC9E,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;oBACxF,CAAC;oBAED,oBAAoB;oBACpB,IAAK,IAAI,CAAC,WAAmB,CAAC,UAAU,KAAK,SAAS,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;wBACrH,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,UAAU,EAAE,CAAA;wBAC/C,IAAK,IAAI,CAAC,WAAmB,CAAC,UAAU,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;4BACvG,OAAO,GAAI,IAAI,CAAC,WAAmB,CAAC,UAAU,EAAE,CAAA;wBAClD,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;wBAC9E,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;oBAC9E,CAAC;oBAED,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;wBAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;wBACnC,6CAA6C;wBAC7C,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,IAAI,CAAA;wBAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;wBACxG,IAAI,CAAC,OAAO,CAAC,oBAAoB,GAAG,gBAAgB,UAAU,GAAG,CAAC,CAAA;oBACpE,CAAC;oBAED,8CAA8C;oBAC9C,IAAI,CAAC;wBACH,MAAM,IAAI,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB;4BACvD,CAAC,CAAE,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC;4BAC/D,CAAC,CAAC,IAAI,CAAA;wBACR,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;4BACjD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,GAAI,IAAY,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;4BAC/E,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;wBACvC,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;oBAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;wBAC9B,6DAA6D;wBAC7D,MAAM,IAAI,GAAG,OAAO,IAAK,cAAsB,CAAC,OAAO,CAAC,IAAI,SAAS,OAAO,EAAE,CAAA;wBAC9E,kFAAkF;wBAClF,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;wBACpG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,QAAQ;wBACvC,IAAI,CAAC,OAAO,CAAC,iBAAiB,OAAO,MAAM,IAAI,EAAE,CAAC,CAAA;oBACpD,CAAC;yBAAM,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC5E,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;oBACxF,CAAC;oBAED,+EAA+E;oBAC/E,IAAI,CAAC;wBACH,MAAM,aAAa,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB;4BAChE,CAAC,CAAE,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC;4BACzE,CAAC,CAAC,IAAI,CAAA;wBACR,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BAClD,2EAA2E;4BAC3E,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;4BACrB,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;4BAC9B,IAAI,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAA;wBACpF,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,QAAQ,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAA;YACrD,CAAC;QACH,CAAC,EAAE,UAAU,CAAC,CAAA;IAChB,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,uBAAuB,CAAC,WAA2B;QACzD,IAAI,CAAC,WAAW,IAAI,OAAQ,WAAmB,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YAC7E,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,EAAE;aAClB,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAc,WAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;YAClE,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE;oBACR,YAAY,EAAE;wBACZ,YAAY,EAAE,QAAQ;wBACtB,WAAW,EAAE,CAAC;wBACd,QAAQ,EAAE,CAAC;qBACZ;oBACD,YAAY,EAAE,IAAI;iBACnB;aACF,CAAC,CAAC,CAAA;YACH,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,cAAc;gBACd,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aACjD,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,EAAE;aAClB,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAoC;QACpE,IAAI,CAAC,OAAO,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC3B,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,iBAAiB,OAAO,GAAG,CAAA;QACvF,IAAI,CAAC,OAAO,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;QAChD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClB,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;gBAC1E,CAAC;qBAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBACzE,CAAC;qBAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBACzB,mCAAmC;oBACnC,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,gDAAgD;YAChD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,UAAU;YAEzC,gDAAgD;YAChD,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;gBACtD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA,CAAC,wCAAwC;gBAC9D,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC,EAAE,KAAK,CAAC,CAAA;YAET,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACzB,0CAA0C;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACzB,4CAA4C;YAC5C,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,UAAU;YAEzC,+CAA+C;YAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAA;gBACrD,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC,EAAE,KAAK,CAAC,CAAA;YAET,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,OAAoC;QACtE,IAAI,CAAC,OAAO,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACjF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC3B,MAAM,KAAK,GAAG;YACZ,QAAQ;YACR,KAAK;YACL,cAAc;YACd,YAAY;YACZ,aAAa;YACb,UAAU;YACV,aAAa;YACb,WAAW;YACX,WAAW;YACX,cAAc;YACd,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,SAAS;YACT,MAAM;SACP,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,iBAAiB,OAAO,GAAG,CAAA;QAC7D,IAAI,CAAC,OAAO,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;QAClD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,sFAAsF;YACtF,IAAI,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAA;QAChG,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAA,CAAC,kCAAkC;QACrD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,SAAS;IAC1C,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA,CAAC,gBAAgB;QACtC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,UAAU;IAC3C,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA,CAAC,sEAAsE;QAC5F,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,UAAU;QAEzC,gDAAgD;QAChD,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;YACtD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA,CAAC,wCAAwC;YAC9D,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC,EAAE,KAAK,CAAC,CAAA;QAET,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA,CAAC,uBAAuB;QAC7C,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA,CAAC,UAAU;QAEzC,yEAAyE;QACzE,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;YACtD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA,CAAC,wCAAwC;YAC9D,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC,EAAE,KAAK,CAAC,CAAA;QAET,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAO,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,wDAAwD;QACxD,YAAY,CAAC,GAAG,EAAE;YAChB,2DAA2D;YAC3D,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;YAErB,mCAAmC;YACnC,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAmC;QACjE,IAAI,CAAC,OAAO,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACxE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAC5B,IAAI,IAAI,CAAC,WAAW,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACtF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAc,IAAI,CAAC,WAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;gBACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAO,IAAI,CAAC,WAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAC5C,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,EAAE,CACtE,CAAA;YACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAgC;QAC3D,IAAI,CAAC,OAAO,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACrE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;QAC/B,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,QAAQ,WAAW,EAAE,CAAA;QACxG,IAAI,CAAC,OAAO,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAA;QAC1C,0FAA0F;IAC5F,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;IACxB,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;QAEnD,4DAA4D;QAC5D,YAAY,CAAC,GAAG,EAAE;YAChB,mEAAmE;YACnE,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA,CAAC,kBAAkB;YAElD,kCAAkC;YAClC,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAA;gBAC3C,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA,CAAC,WAAW;gBAE3C,qCAAqC;gBACrC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;oBAClC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;oBACzC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA,CAAC,SAAS;gBAC3C,CAAC,EAAE,IAAI,CAAC,CAAA;gBAER,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACrC,CAAC,EAAE,IAAI,CAAC,CAAA;YAER,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IAEI,sBAAsB,CAAC,KAAa;QACzC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG;YACb,SAAS;YACT,SAAS;YACT,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,iBAAiB;YACjB,UAAU;YACV,QAAQ;SACT,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,iCAAiC,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,KAAK,GAAG,EAAE,CAAC,CAAA;IACxF,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC,CAAA;IAC5E,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG;YACZ,QAAQ;YACR,KAAK;YACL,cAAc;YACd,YAAY;YACZ,aAAa;YACb,UAAU;YACV,aAAa;YACb,WAAW;YACX,WAAW;YACX,cAAc;YACd,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,SAAS;YACT,MAAM;SACP,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC,CAAA;IAC9E,CAAC;IAEM,mBAAmB,CAAC,OAAiB;QAC1C,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACjC,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,EAAE,CACtE,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,8BAA8B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;IACnF,CAAC;IAEM,iBAAiB,CAAC,MAAqB;QAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,QAAQ,MAAM,EAAE,CAAA;YAC9F,IAAI,CAAC,OAAO,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,QAAmD;QACvE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,qBAAqB,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAA;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @homebridge-plugins/homebridge-sharkiq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-sharkiq"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@homebridge-plugins/homebridge-sharkiq</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">default</a></li></ul><h1>Variable default</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">default</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>This method registers the platform with Homebridge</p>
2
- </div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-sharkiq/blob/5b44e2dcd269cff0166b6cd1d3c29e3fa5b1b1ba/src/index.ts#L9">index.ts:9</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-sharkiq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
2
+ </div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-sharkiq/blob/985a47641d0c3c9f252e7f83e66387f47bf8f748/src/index.ts#L9">index.ts:9</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-sharkiq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@homebridge-plugins/homebridge-sharkiq",
3
3
  "displayName": "SharkIQ Plugin",
4
4
  "type": "module",
5
- "version": "2.0.0-beta.22",
5
+ "version": "2.0.0-beta.23",
6
6
  "description": "A Homebridge plugin to connect your Shark Vacuum to homebridge.",
7
7
  "author": {
8
8
  "name": "Bubba8291",
@@ -0,0 +1,61 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest'
2
+
3
+ import { RoboticVacuumAccessory } from '../src/devices/RoboticVacuumAccessory.js'
4
+
5
+ // Minimal mock logger matching Homebridge Logger
6
+ function createLogger() {
7
+ const info = vi.fn()
8
+ const debug = vi.fn()
9
+ const warn = vi.fn()
10
+ const error = vi.fn()
11
+ return { info, debug, warn, error }
12
+ }
13
+
14
+ // Minimal API mock with matter helpers used in constructor
15
+ function createApi() {
16
+ return {
17
+ matter: {
18
+ uuid: { generate: () => 'UUID-1' },
19
+ deviceTypes: { RoboticVacuumCleaner: 1 },
20
+ updateAccessoryState: async () => {},
21
+ getAccessoryState: (uuid: string, cluster: string) => {
22
+ void uuid
23
+ void cluster
24
+ return null
25
+ },
26
+ },
27
+ } as any
28
+ }
29
+
30
+ describe('roboticVacuumAccessory.updateRunMode', () => {
31
+ let log: any
32
+ let api: any
33
+ let acc: RoboticVacuumAccessory
34
+
35
+ beforeEach(() => {
36
+ log = createLogger()
37
+ api = createApi()
38
+ acc = new RoboticVacuumAccessory(api, log as any, undefined, 0)
39
+ // clear any persisted context written during constructor
40
+ acc.context.lastRunMode = null
41
+ })
42
+
43
+ it('should emit info only when run mode changes and persist to context', () => {
44
+ // Initially lastRunMode is null
45
+ acc.updateRunMode(1)
46
+ expect(log.info).toHaveBeenCalled()
47
+ expect(acc.context.lastRunMode).toBe(1)
48
+
49
+ // Calling again with same mode should not call info again (only debug)
50
+ log.info.mockClear()
51
+ acc.updateRunMode(1)
52
+ expect(log.info).not.toHaveBeenCalled()
53
+ expect(log.debug).toHaveBeenCalled()
54
+
55
+ // Change to Idle
56
+ log.info.mockClear()
57
+ acc.updateRunMode(0)
58
+ expect(log.info).toHaveBeenCalled()
59
+ expect(acc.context.lastRunMode).toBe(0)
60
+ })
61
+ })
@@ -0,0 +1,59 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest'
2
+
3
+ import { RoboticVacuumAccessory } from '../src/devices/RoboticVacuumAccessory.js'
4
+
5
+ function createLogger() {
6
+ const info = vi.fn()
7
+ const debug = vi.fn()
8
+ const warn = vi.fn()
9
+ const error = vi.fn()
10
+ return { info, debug, warn, error }
11
+ }
12
+
13
+ function createApi() {
14
+ return {
15
+ matter: {
16
+ uuid: { generate: () => 'UUID-1' },
17
+ deviceTypes: { RoboticVacuumCleaner: 1 },
18
+ updateAccessoryState: async () => {},
19
+ getAccessoryState: (uuid: string, cluster: string) => {
20
+ void uuid
21
+ void cluster
22
+ return null
23
+ },
24
+ },
25
+ } as any
26
+ }
27
+
28
+ describe('roboticVacuumAccessory.updateSelectedAreas', () => {
29
+ let log: any
30
+ let api: any
31
+ let acc: RoboticVacuumAccessory
32
+
33
+ beforeEach(() => {
34
+ log = createLogger()
35
+ api = createApi()
36
+ acc = new RoboticVacuumAccessory(api, log as any, undefined, 0)
37
+ acc.context.lastSelectedAreas = null
38
+ })
39
+
40
+ it('should persist selection and only info-log on real changes (order-insensitive)', () => {
41
+ // initial set
42
+ acc.updateSelectedAreas([1, 2])
43
+ expect(log.info).toHaveBeenCalled()
44
+ expect(acc.context.lastSelectedAreas).toEqual([1, 2])
45
+
46
+ // same selection different order => no info
47
+ log.info.mockClear()
48
+ log.debug.mockClear()
49
+ acc.updateSelectedAreas([2, 1])
50
+ expect(log.info).not.toHaveBeenCalled()
51
+ expect(log.debug).toHaveBeenCalled()
52
+
53
+ // change selection
54
+ log.info.mockClear()
55
+ acc.updateSelectedAreas([0, 2])
56
+ expect(log.info).toHaveBeenCalled()
57
+ expect(acc.context.lastSelectedAreas).toEqual([0, 2])
58
+ })
59
+ })