homebridge-gree-ac 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.1] - 2024-04-21
4
+
5
+ - Fixed error on setting Threshold Temperature minimum and maximum values
6
+ - Improved debug logging
7
+ - Updated dependencies (Homebridge 1.8.0 or later required)
8
+
3
9
  ## [2.0.0] - 2023-10-26
4
10
 
5
11
  Homebridge platform plugin. **_homebridge-gee-ac_**
package/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
1
2
  [![npm](https://badgen.net/npm/v/homebridge-gree-ac/latest?icon=npm&label)](https://www.npmjs.com/package/homebridge-gree-ac)
2
3
  [![npm](https://badgen.net/npm/dt/homebridge-gree-ac?label=downloads)](https://www.npmjs.com/package/homebridge-gree-ac)
3
4
  [![Donate](https://badgen.net/badge/donate/paypal/yellow)](https://paypal.me/eibenp)
@@ -29,7 +30,7 @@ This plugin is designed to be as simple and clear as possible and supports prima
29
30
  ## Requirements
30
31
 
31
32
  * Node.js (>= 18.15.0 || >= 20.8.0) with NPM
32
- * Homebridge (>= 1.6.0)
33
+ * Homebridge (>= 1.8.0)
33
34
 
34
35
  You need to specify the local network broadcast address (192.168.1.255 in many home environments) and it's also recommended to add the device and specify its MAC address (Serial Number) in the configuration file.
35
36
 
@@ -39,6 +40,13 @@ It is highly recommended to use static IP addresses for connected devices. Using
39
40
 
40
41
  * GREE Air Conditioners with WiFi support
41
42
  * May work with other GREE compatible AC units
43
+ > _*** Not all GREE devices are supported ***_
44
+ >
45
+ > There are some newer GREE devices which use a different network protocol. They are not supported. Currently only GREE Wifi Modules are known in this problem but other devices may be affected also. Known unsupported devices:
46
+ > * GREE GRJ532-J14 Wifi Modul
47
+ > * GREE CS532AE Wifi Modul
48
+ >
49
+ > If you get _"error:1C80006B:Provider routines::wrong final block length"_ error message then your device is not supported.
42
50
 
43
51
  ## Known limitations
44
52
 
@@ -51,6 +59,7 @@ This plugin was designed to support the Home App's Heater Cooler functionality u
51
59
  * GREE AC units are not able to display decimals of temperature values (if set to half a degree, e.g. 21.5 °C, then unit display may not be in sync with temperature set in Home App).
52
60
  * Not all half a degree values are supported in °C mode (GREE AC units are designed to support only integer °C and °F values). Unsupported values are automatically updated to the nearest supported values.
53
61
  * There is no way to get current heating-cooling state from the AC unit in auto mode, so displayed state in the Home App is based on temperature measurement, but internal sensor is not precise enough to always display the correct state.
62
+ * Cooling / Heating temperature threshold limits (minimum and maximum values) can only be set in active cooling / heating mode. So the gauge in Home App may show invalid minimum and maximum values for the first use of cooling and heating modes. If so please restart Home App. Next time the correct values will be displayed.
54
63
 
55
64
  ## Installation instructions
56
65
 
@@ -177,4 +186,4 @@ Special thanks to [tomikaa87](https://github.com/tomikaa87) and [kongkx](https:/
177
186
  - [gree-remote](https://github.com/tomikaa87/gree-remote)
178
187
  - [homebridge-gree-heatercooler](https://github.com/ddenisyuk/homebridge-gree-heatercooler)
179
188
  - [Homebridge API](https://developers.homebridge.io/)
180
- - [Homebridge Platform Plugin Template](https://github.com/homebridge/homebridge-plugin-template)
189
+ - [Homebridge Platform Plugin Template](https://github.com/homebridge/homebridge-plugin-template)
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAGxI,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,cAAe,YAAW,qBAAqB;aAaxC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAd1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;gBAGR,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAqB1B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAgB/C;;;OAGG;IACH,eAAe;IA6Bf,aAAa,iCAkBX;IAEF,cAAc,sDAqFZ;IAEF,aAAa;CASd"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAGxI,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,cAAe,YAAW,qBAAqB;aAaxC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAd1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;gBAGR,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAqB1B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAgB/C;;;OAGG;IACH,eAAe;IA6Bf,aAAa,iCAoBX;IAEF,cAAc,sDAqFZ;IAEF,aAAa;CASd"}
package/dist/platform.js CHANGED
@@ -26,9 +26,11 @@ class GreeACPlatform {
26
26
  try {
27
27
  const message = JSON.parse(msg.toString());
28
28
  if (message.i !== 1 || message.t !== 'pack') {
29
+ this.log.debug('handleMessage - unknown response');
29
30
  return;
30
31
  }
31
32
  const pack = crypto_1.default.decrypt(message.pack);
33
+ this.log.debug('handleMessage - Package -> %j', pack);
32
34
  if (pack.t === 'dev') {
33
35
  this.registerDevice({
34
36
  ...pack,
@@ -38,7 +40,7 @@ class GreeACPlatform {
38
40
  }
39
41
  }
40
42
  catch (err) {
41
- this.log.error('handleMessage Error:', err);
43
+ this.log.error('handleMessage', err);
42
44
  }
43
45
  };
44
46
  this.registerDevice = (deviceInfo) => {
@@ -142,7 +144,7 @@ class GreeACPlatform {
142
144
  */
143
145
  configureAccessory(accessory) {
144
146
  var _a;
145
- this.log.info('Loading accessory from cache: ', accessory.displayName, accessory.context.device);
147
+ this.log.debug('Loading accessory from cache: ', accessory.displayName, accessory.context.device);
146
148
  // add the restored accessory to the accessories cache so we can track if it has already been registered
147
149
  if ((_a = accessory.context.device) === null || _a === void 0 ? void 0 : _a.mac) {
148
150
  if (accessory.context.deviceType === undefined || accessory.context.deviceType === 'HeaterCooler') {
@@ -194,7 +196,7 @@ class GreeACPlatform {
194
196
  this.socket.send(message, 0, message.length, settings_1.UDP_SCAN_PORT, this.config.scanAddress, (error) => {
195
197
  this.log.debug(`Broadcast '${message}' ${this.config.scanAddress}:${settings_1.UDP_SCAN_PORT}`);
196
198
  if (error) {
197
- this.log.error('Error:', error.message);
199
+ this.log.error('broadcastScan', error.message);
198
200
  }
199
201
  });
200
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ export declare class GreeAirConditioner {
56
56
  getTemperatureDisplayUnits(): Promise<CharacteristicValue>;
57
57
  getSwingMode(): Promise<CharacteristicValue>;
58
58
  getRotationSpeed(): Promise<CharacteristicValue>;
59
+ initThresholdTemperature(HeaterCoolerState: number): void;
59
60
  getDeviceLabel(): string;
60
61
  getCols(): string[];
61
62
  getKeyName(obj: any, value: any, subkey?: any): string;
@@ -1 +1 @@
1
- {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
@@ -27,12 +27,14 @@ class GreeAirConditioner {
27
27
  const message = JSON.parse(msg.toString());
28
28
  this.platform.log.debug(`[${this.getDeviceLabel()}] handleMessage -> %j`, message);
29
29
  const pack = crypto_1.default.decrypt(message.pack, message.i === 1 ? undefined : this.key);
30
+ this.platform.log.debug(`[${this.getDeviceLabel()}] handleMessage - Package -> %j`, pack);
30
31
  switch (pack.t) {
31
32
  case 'bindok': // package type is binding confirmation
33
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Device binding`);
32
34
  this.key = pack.key;
33
35
  this.bound = true;
34
- this.platform.log.debug(`[${this.getDeviceLabel()}] Package (Device binding) -> %j`, pack);
35
- this.platform.log.info(`[${this.getDeviceLabel()}] Device is bound -> ${this.key}`);
36
+ this.platform.log.info(`[${this.getDeviceLabel()}] Device is bound -> ${pack.mac}`);
37
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Device key -> ${this.key}`);
36
38
  if (this.updateTimer) {
37
39
  clearInterval(this.updateTimer);
38
40
  }
@@ -44,7 +46,7 @@ class GreeAirConditioner {
44
46
  pack.cols.forEach((col, i) => {
45
47
  this.status[col] = pack.dat[i];
46
48
  });
47
- this.platform.log.debug(`[${this.getDeviceLabel()}] Package (Device status) -> %j`, pack);
49
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Device status -> %j`, this.status);
48
50
  if (!pack.cols.includes(commands_1.default.temperature.code) &&
49
51
  pack.cols.includes(commands_1.default.targetTemperature.code)) {
50
52
  // temperature is not accessible -> use targetTemperature
@@ -60,7 +62,7 @@ class GreeAirConditioner {
60
62
  break;
61
63
  case 'res': // package type is response
62
64
  if (this.bound) {
63
- this.platform.log.debug(`[${this.getDeviceLabel()}] Package (Device response) -> %j`, pack);
65
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Device response`);
64
66
  const updatedParams = [];
65
67
  pack.opt.forEach((opt, i) => {
66
68
  const value = pack.p !== undefined ? pack.p[i] : pack.val[i];
@@ -101,7 +103,7 @@ class GreeAirConditioner {
101
103
  }
102
104
  else {
103
105
  const ts = this.accessory.getService(this.platform.Service.TemperatureSensor);
104
- this.platform.log.debug(`[${this.getDeviceLabel()}] Temperature Sensor child service not allowed (%s)`, ts === null || ts === void 0 ? void 0 : ts.displayName);
106
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Temperature Sensor child service not allowed%s`, (ts === null || ts === void 0 ? void 0 : ts.displayName) !== undefined ? ' (' + (ts === null || ts === void 0 ? void 0 : ts.displayName) + ')' : '');
105
107
  if (ts !== undefined) {
106
108
  this.platform.log.debug(`[${this.getDeviceLabel()}] Remove Temperature Sensor child service (%s)`, ts.displayName);
107
109
  this.accessory.removeService(ts);
@@ -127,21 +129,15 @@ class GreeAirConditioner {
127
129
  .onGet(this.getCurrentTemperature.bind(this, 'Heater Cooler'));
128
130
  (_c = this.TemperatureSensor) === null || _c === void 0 ? void 0 : _c.getCharacteristic(this.platform.Characteristic.CurrentTemperature).onGet(this.getCurrentTemperature.bind(this, 'Temperature Sensor'));
129
131
  // register handlers for the Cooling Threshold Temperature Characteristic
132
+ // (minValue and maxValue can't be set here, they need an active accessory in cooling sate to set)
130
133
  this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature)
131
- .setProps({
132
- minValue: this.deviceConfig.minimumTargetTemperature,
133
- maxValue: this.deviceConfig.maximumTargetTemperature,
134
- minStep: 0.5
135
- })
134
+ .setProps({ minStep: 0.5 })
136
135
  .onGet(this.getTargetTemperature.bind(this, 'CoolingThresholdTemperature'))
137
136
  .onSet(this.setTargetTemperature.bind(this));
138
137
  // register handlers for the Heating Threshold Temperature Characteristic
138
+ // (minValue and maxValue can't be set here, they need an active accessory in heating sate to set)
139
139
  this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
140
- .setProps({
141
- minValue: this.deviceConfig.minimumTargetTemperature,
142
- maxValue: this.deviceConfig.maximumTargetTemperature,
143
- minStep: 0.5
144
- })
140
+ .setProps({ minStep: 0.5 })
145
141
  .onGet(this.getTargetTemperature.bind(this, 'HeatingThresholdTemperature'))
146
142
  .onSet(this.setTargetTemperature.bind(this));
147
143
  // register handlers for the Temperature Display Units Characteristic
@@ -166,7 +162,7 @@ class GreeAirConditioner {
166
162
  this.bound = false;
167
163
  this.socket = dgram_1.default.createSocket({ type: 'udp4', reuseAddr: true });
168
164
  this.socket.on('error', (err) => {
169
- this.platform.log.error(`[${this.getDeviceLabel()}] Network error:`, err.message);
165
+ this.platform.log.error(`[${this.getDeviceLabel()}] Network`, err.message);
170
166
  });
171
167
  this.socket.on('message', this.handleMessage);
172
168
  this.socket.bind(this.port + parseInt(this.accessory.context.device.address.split('.')[3]) + 1, '0.0.0.0', () => {
@@ -296,41 +292,45 @@ class GreeAirConditioner {
296
292
  if (this.power) {
297
293
  switch (this.mode) {
298
294
  case commands_1.default.mode.value.cool:
299
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'COOLING');
295
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> COOLING`);
296
+ setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.COOLING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
300
297
  return this.platform.Characteristic.CurrentHeaterCoolerState.COOLING;
301
298
  case commands_1.default.mode.value.heat:
302
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'HEATING');
299
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> HEATING`);
300
+ setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.HEATING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
303
301
  return this.platform.Characteristic.CurrentHeaterCoolerState.HEATING;
304
302
  case commands_1.default.mode.value.fan:
305
303
  case commands_1.default.mode.value.dry:
306
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'IDLE');
304
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> IDLE`);
307
305
  return this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
308
306
  case commands_1.default.mode.value.auto:
309
307
  if (this.currentTemperature > this.status[commands_1.default.targetTemperature.code]) {
310
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'COOLING');
308
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> COOLING`);
309
+ setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.COOLING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
311
310
  return this.platform.Characteristic.CurrentHeaterCoolerState.COOLING;
312
311
  }
313
312
  if (this.currentTemperature < this.status[commands_1.default.targetTemperature.code]) {
314
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'HEATING');
313
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> HEATING`);
314
+ setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.HEATING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
315
315
  return this.platform.Characteristic.CurrentHeaterCoolerState.HEATING;
316
316
  }
317
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'IDLE');
317
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> IDLE`);
318
318
  return this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
319
319
  }
320
320
  }
321
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState ->`, 'INACTIVE');
321
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> INACTIVE`);
322
322
  return this.platform.Characteristic.CurrentHeaterCoolerState.INACTIVE;
323
323
  }
324
324
  async getTargetHeaterCoolerState() {
325
325
  switch (this.mode) {
326
326
  case commands_1.default.mode.value.cool:
327
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState ->`, 'COOL');
327
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState -> COOL`);
328
328
  return this.platform.Characteristic.TargetHeaterCoolerState.COOL;
329
329
  case commands_1.default.mode.value.heat:
330
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState ->`, 'HEAT');
330
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState -> HEAT`);
331
331
  return this.platform.Characteristic.TargetHeaterCoolerState.HEAT;
332
332
  }
333
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState ->`, 'AUTO');
333
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState -> AUTO`);
334
334
  return this.platform.Characteristic.TargetHeaterCoolerState.AUTO;
335
335
  }
336
336
  async getCurrentTemperature(service) {
@@ -357,10 +357,10 @@ class GreeAirConditioner {
357
357
  case commands_1.default.swingVertical.value.fixedMiddle:
358
358
  case commands_1.default.swingVertical.value.fixedLower:
359
359
  case commands_1.default.swingVertical.value.fixedLowest:
360
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode ->`, 'DISABLED');
360
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode -> DISABLED`);
361
361
  return this.platform.Characteristic.SwingMode.SWING_DISABLED;
362
362
  }
363
- this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode ->`, 'ENABLED');
363
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode -> ENABLED`);
364
364
  return this.platform.Characteristic.SwingMode.SWING_ENABLED;
365
365
  }
366
366
  async getRotationSpeed() {
@@ -400,6 +400,36 @@ class GreeAirConditioner {
400
400
  return value;
401
401
  }
402
402
  // helper functions
403
+ initThresholdTemperature(HeaterCoolerState) {
404
+ switch (HeaterCoolerState) {
405
+ case this.platform.Characteristic.CurrentHeaterCoolerState.COOLING:
406
+ if (this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.minValue !==
407
+ this.deviceConfig.minimumTargetTemperature ||
408
+ this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.maxValue !==
409
+ this.deviceConfig.maximumTargetTemperature) {
410
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Set CoolingThresholdTemperature minValue -> %i, maxValue -> %i`, this.deviceConfig.minimumTargetTemperature, this.deviceConfig.maximumTargetTemperature);
411
+ this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature)
412
+ .setProps({
413
+ minValue: this.deviceConfig.minimumTargetTemperature,
414
+ maxValue: this.deviceConfig.maximumTargetTemperature
415
+ });
416
+ }
417
+ break;
418
+ case this.platform.Characteristic.CurrentHeaterCoolerState.HEATING:
419
+ if (this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.minValue !==
420
+ this.deviceConfig.minimumTargetTemperature ||
421
+ this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.maxValue !==
422
+ this.deviceConfig.maximumTargetTemperature) {
423
+ this.platform.log.debug(`[${this.getDeviceLabel()}] Set HeatingThresholdTemperature minValue -> %i, maxValue -> %i`, this.deviceConfig.minimumTargetTemperature, this.deviceConfig.maximumTargetTemperature);
424
+ this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
425
+ .setProps({
426
+ minValue: this.deviceConfig.minimumTargetTemperature,
427
+ maxValue: this.deviceConfig.maximumTargetTemperature
428
+ });
429
+ }
430
+ break;
431
+ }
432
+ }
403
433
  getDeviceLabel() {
404
434
  return `${this.accessory.displayName} -- ${this.accessory.context.device.address}:${this.accessory.context.device.port}`;
405
435
  }
@@ -532,7 +562,19 @@ class GreeAirConditioner {
532
562
  return this.status[commands_1.default.temperature.code] - (this.deviceConfig.sensorOffset) || 25;
533
563
  }
534
564
  get targetTemperature() {
535
- return Math.max(Math.min(this.getTargetTempFromDevice(this.status[commands_1.default.targetTemperature.code] || 25, this.status[commands_1.default.temperatureOffset.code] || 0), (this.deviceConfig.maximumTargetTemperature)), (this.deviceConfig.minimumTargetTemperature));
565
+ let minValue = this.deviceConfig.minimumTargetTemperature;
566
+ let maxValue = this.deviceConfig.maximumTargetTemperature;
567
+ switch (this.status[commands_1.default.mode.code]) {
568
+ case commands_1.default.mode.value.cool:
569
+ minValue = Math.max(this.deviceConfig.minimumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.minValue || 10);
570
+ maxValue = Math.min(this.deviceConfig.maximumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.maxValue || 35);
571
+ break;
572
+ case commands_1.default.mode.value.heat:
573
+ minValue = Math.max(this.deviceConfig.minimumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.minValue || 0);
574
+ maxValue = Math.min(this.deviceConfig.maximumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.maxValue || 25);
575
+ break;
576
+ }
577
+ return Math.max(Math.min(this.getTargetTempFromDevice(this.status[commands_1.default.targetTemperature.code] || 25, this.status[commands_1.default.temperatureOffset.code] || 0), (maxValue)), (minValue));
536
578
  }
537
579
  set targetTemperature(value) {
538
580
  if (value === this.targetTemperature) {
@@ -818,6 +860,7 @@ class GreeAirConditioner {
818
860
  }
819
861
  }
820
862
  sendMessage(message) {
863
+ this.platform.log.debug(`[${this.getDeviceLabel()}] sendMessage - Package -> %j`, message);
821
864
  const pack = crypto_1.default.encrypt(message, this.key);
822
865
  const payload = {
823
866
  cid: 'app',
@@ -828,10 +871,12 @@ class GreeAirConditioner {
828
871
  pack,
829
872
  };
830
873
  try {
831
- this.socket.send(JSON.stringify(payload), this.accessory.context.device.port, this.accessory.context.device.address);
874
+ const msg = JSON.stringify(payload);
875
+ this.platform.log.debug(`[${this.getDeviceLabel()}] sendMessage`, msg);
876
+ this.socket.send(msg, this.accessory.context.device.port, this.accessory.context.device.address);
832
877
  }
833
878
  catch (err) {
834
- this.platform.log.error('Error:', err.message);
879
+ this.platform.log.error('sendMessage', err.message);
835
880
  }
836
881
  }
837
882
  sendBindRequest() {
@@ -1 +1 @@
1
- {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAI1B,yCAA6D;AAE7D,sDAA8B;AAC9B,0DAAkC;AAElC;;;;GAIG;AACH,MAAa,kBAAkB;IAU7B,YACmB,QAAwB,EACxB,SAA4B,EAC5B,YAA0B,EAC1B,IAAY,EACZ,WAAiC;;QAJjC,aAAQ,GAAR,QAAQ,CAAgB;QACxB,cAAS,GAAT,SAAS,CAAmB;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAsB;QAwyBpD,iCAAiC;QACjC,kBAAa,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE;gBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,IAAI,GAAG,gBAAM,CAAC,OAAO,CACzB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CACvC,CAAC;gBACF,QAAQ,IAAI,CAAC,CAAC,EAAE;oBACd,KAAK,QAAQ,EAAE,uCAAuC;wBACpD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;wBACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;wBAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EAAE,IAAI,CAAC,CAAC;wBAC3F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACpF,IAAI,IAAI,CAAC,WAAW,EAAC;4BACnB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;yBACjC;wBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAChE,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,CAAC,kCAAkC;wBACpF,MAAM;oBACR,KAAK,KAAK,EAAE,gCAAgC;wBAC1C,IAAI,IAAI,CAAC,KAAK,EAAC;4BACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gCAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACjC,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,iCAAiC,EAAE,IAAI,CAAC,CAAC;4BAC1F,IAAI,CAAE,IAAI,CAAC,IAAiB,CAAC,QAAQ,CAAC,kBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gCAC7D,IAAI,CAAC,IAAiB,CAAC,QAAQ,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;gCACnE,yDAAyD;gCACzD,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gCACvH,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;oCACxC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oCACrD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;oCACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,+DAA+D,CAAC,CAAC;iCACnH;6BACF;4BACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAgB,CAAC,CAAC;yBAC1C;wBACD,MAAM;oBACR,KAAK,KAAK,EAAE,2BAA2B;wBACrC,IAAI,IAAI,CAAC,KAAK,EAAC;4BACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAAE,IAAI,CAAC,CAAC;4BAC5F,MAAM,aAAa,GAAG,EAAmB,CAAC;4BAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gCAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gCAC7D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oCAC9B,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;iCAClG;gCACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC3B,CAAC,CAAC,CAAC;4BACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;6BACzF;yBACF;wBACD,MAAM;iBACT;aACF;QACH,CAAC,CAAC;QAj2BA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC;QACvF,4BAA4B;QAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;aAC3G,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EACnD,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,KAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAC;aAC5H,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;aAC/F,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAC9D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5F,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAChG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAC9D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAErH,0FAA0F;QAC1F,sEAAsE;QACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACvG,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAE3D,IAAI,YAAY,CAAC,iBAAiB,KAAK,OAAO,EAAE;YAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wCAAwC,CAAC,CAAC;YAC3F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBACzF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACtI,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAC3F;aAAM;YACL,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,qDAAqD,EAAE,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,WAAW,CAAC,CAAC;YACzH,IAAI,EAAE,KAAK,SAAS,EAAE;gBACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,gDAAgD,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;gBACnH,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aAClC;SACF;QAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAA,IAAI,CAAC,iBAAiB,0CAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEjD,mGAAmG;QACnG,8DAA8D;QAE9D,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;aACrE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpC,uEAAuE;QACvE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;aACvF,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,sEAAsE;QACtE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACtF,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,+DAA+D;QAC/D,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;aACjF,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;QACjE,MAAA,IAAI,CAAC,iBAAiB,0CAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EACtF,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAEtE,yEAAyE;QACzE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;aAC1F,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB;YACpD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB;YACpD,OAAO,EAAE,GAAG;SAAE,CAAC;aAChB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;aAC1E,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,yEAAyE;QACzE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;aAC1F,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB;YACpD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB;YACpD,OAAO,EAAE,GAAG;SAAE,CAAC;aAChB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;aAC1E,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,qEAAqE;QACrE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACtF,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,sDAAsD;QACtD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;aACxE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvC,0DAA0D;QAC1D,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aAC5E,QAAQ,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC;YAC1C,OAAO,EAAE,CAAC;SAAE,CAAC;aACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,uCAAuC;QACvC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAC5F,SAAS,EAAE,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACxG,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAA0B;QACzD,IAAI,SAAS,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzC,IAAI,QAAQ,GAAG,MAAM,CAAC;QACtB,QAAQ,KAAK,EAAE;YACb,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBAC5D,SAAS,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,QAAQ,GAAG,MAAM,CAAC;gBAClB,MAAM;YACR,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBAC5D,SAAS,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,QAAQ,GAAG,MAAM,CAAC;gBAClB,MAAM;SACT;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EAAE,QAAQ,CAAC,CAAC;QAC/F,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA0B;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACzF,IAAI,CAAC,iBAAiB,GAAG,KAAe,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAA0B;QACzD,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QACrH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EAAE,QAAQ,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;YACrF,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA0B;QAC3C,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YACjF,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAC/C,QAAQ,KAAK,EAAE;YACb,KAAK,CAAC,EAAE,QAAQ;gBACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;gBAC/F,IAAI,CAAC,SAAS,GAAG,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM;YACR,KAAK,CAAC,EAAE,OAAO;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK;oBAC9E,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,KAAK,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvC,MAAM;YACR,KAAK,CAAC,EAAE,MAAM;gBACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK;oBAC9E,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBACtC,MAAM;YACR,KAAK,CAAC,EAAE,qBAAqB;gBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK,GAAG,IAAI;oBACrF,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAClC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChH,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBACjH,MAAM;YACR,KAAK,CAAC,EAAE,gBAAgB;gBACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK,GAAG,IAAI;oBACrF,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAClC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC3G,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC5G,MAAM;YACR,KAAK,CAAC,EAAE,wBAAwB;gBAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,EAAE;oBACtC,aAAa;oBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK;wBAC9E,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;oBACvF,IAAI,CAAC,KAAK,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;iBAC9C;qBAAM;oBACL,WAAW;oBACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC;oBAClG,IAAI,CAAC,YAAY,GAAG,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;iBACpD;gBACD,MAAM;YACR,KAAK,CAAC,EAAE,OAAO;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK;oBAC9E,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,KAAK,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvC,MAAM;YACR,KAAK,CAAC,EAAE,WAAW;gBACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC;gBAClG,IAAI,CAAC,YAAY,GAAG,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM;YACR,SAAS,OAAO;gBACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK;oBAC9E,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,KAAK,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvC,MAAM;SACT;IACH,CAAC;IAED;;;;;;;;;;;;;;;MAeE;IACF,KAAK,CAAC,SAAS;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAChE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,YAAY,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;oBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,SAAS,CAAC,CAAC;oBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;gBACvE,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;oBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,SAAS,CAAC,CAAC;oBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;gBACvE,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC7B,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;oBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,MAAM,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBACpE,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;oBAC3B,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBAC1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,SAAS,CAAC,CAAC;wBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;qBACtE;oBACD,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBAC1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,SAAS,CAAC,CAAC;wBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;qBACtE;oBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,MAAM,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;aACrE;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAClF,UAAU,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EACjF,MAAM,CAAC,CAAC;gBACV,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACnE,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EACjF,MAAM,CAAC,CAAC;gBACV,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;SACpE;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EACjF,MAAM,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAe;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,OAAO,wBAAwB,EACvF,YAAY,CAAC,CAAC;QAChB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,MAAM,KAAK,EACnE,YAAY,CAAC,CAAC;QAChB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC;QACjI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,EACjF,CAAC,YAAY,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9G,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,QAAQ,IAAI,CAAC,SAAS,IAAI,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE;YAC9D,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YAC1C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;YAC/C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW;gBAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC;gBACnF,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC;SAChE;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,kCAAkC,CAAC,CAAC;YACrF,OAAO,CAAC,CAAC;SACV;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE;YACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;SACzC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,kBAAkB;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;gBAC3B,KAAK,GAAG,CAAC,CAAC;gBACV,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;gBACjC,KAAK,GAAG,CAAC,CAAC;gBACV,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAC7C,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvG,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;gBAC9B,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClC,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAC7C,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxG,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBAC5B,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5E,MAAM;SACT;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC1G,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB;IACnB,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3H,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,MAAO;QAC5B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;gBACtC,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,IAAI,GAAG,GAAG,CAAC;oBACX,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,GAAqB,CAAC;gBAChC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;oBACvB,IAAI,GAAG,GAAG,CAAC;oBACX,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,yBAAyB,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,CAAC,yBAAyB,IAAI,IAAI,IAAI,yBAAyB,GAAG,IAAI,CAAC;YACxF,CAAC,yBAAyB,IAAI,IAAI,IAAI,yBAAyB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,QAAQ,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,IAAI,IAAI,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,CAAC;SACV;QACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,yBAAyB,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9E,OAAO,CAAC,CAAC,CAAC,yBAAyB,IAAI,IAAI,IAAI,yBAAyB,GAAG,IAAI,CAAC;YAC9E,CAAC,yBAAyB,IAAI,IAAI,IAAI,yBAAyB,GAAG,IAAI,CAAC;YACvE,CAAC,yBAAyB,IAAI,IAAI,IAAI,yBAAyB,GAAG,IAAI,CAAC;YACvE,CAAC,yBAAyB,IAAI,IAAI,IAAI,yBAAyB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,uBAAuB,CAAC,IAAI,EAAE,MAAM;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,4BAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,EAAE,CAAC,CAAC,qDAAqD;SACjE;QACD,kFAAkF;QAClF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,KAAK;YACrH,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,KAAK,CAAC;QACtG,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACxC,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACtC,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1G,OAAO,WAAW,CAAC;SACpB;QACD,uCAAuC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK;QACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;YACxB,OAAO;SACR;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QAC9E,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QAC/E,IAAI,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/E,IAAI,UAAU,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE;YAC1C,QAAQ,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE;gBACvG,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;oBAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAChE,OAAO,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACvD,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1F,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;4BAC5H,+DAA+D;4BAC/D,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BACxF,OAAO,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;yBACtD;qBACF;oBACD,MAAM;gBACR,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;oBAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAChE,OAAO,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACvD,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC3F;oBACD,MAAM;gBACR,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;oBAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAChE,OAAO,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACvD,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC3F;oBACD,MAAM;aACT;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK;QACZ,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE;YACvB,OAAO;SACR;QACD,IAAI,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACzE,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC1H,CAAC,KAAK,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3E,uEAAuE;YACvE,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxF,OAAO,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SACtD;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CACtB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACnI,CAAC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,iBAAiB,CAAC,KAAK;QACzB,IAAI,KAAK,KAAK,IAAI,CAAC,iBAAiB,EAAE;YACpC,OAAO;SACR;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;QAC1F,IAAI,QAAQ,GAAG,uBAAuB,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QACtD,QAAQ,IAAI,yBAAyB,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC;QACrH,MAAM,kBAAkB,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1G,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QACjE,IAAI,kBAAkB,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;YAC1D,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;SAC1E;aAAM;YACL,QAAQ,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;SACjD;QACD,IAAI,kBAAkB,KAAK,IAAI,CAAC,KAAK,EAAE;YACrC,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;YAClD,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;SACvF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;YACxB,OAAO;SACR;QACD,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;IAC1F,CAAC;IAED,IAAI,SAAS,CAAC,KAAK;QACjB,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5H,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IACvE,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;YACxB,OAAO;SACR;QACD,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QAC1E,OAAO,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;QAChE,OAAO,CAAC,kBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;YACxG,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAC3F,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9E,CAAC;IAED,IAAI,SAAS,CAAC,KAAK;QACjB,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9E,IAAI,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClF,IAAI,KAAK,KAAK,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,kBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;YACtE,QAAQ,IAAI,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjH,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YACxD,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC7F;aAAM;YACL,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACzD,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9F;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;IACpF,CAAC;IAED,IAAI,YAAY,CAAC,KAAK;QACpB,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,QAAQ,GAAG,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxF,MAAM,OAAO,GAA4B,EAAE,CAAC,kBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACjF,IAAI,KAAK,KAAK,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE;YAC5C,OAAO,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAChE,QAAQ,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxG,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACzD,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9F;aAAM;YACL,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACzD,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9F;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,KAAe;;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAChF,SAAS;QACT,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACnH,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;iBACrE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAChG;QACD,8BAA8B;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,QAAQ,IAAI,CAAC,IAAI,EAAE;oBACjB,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;wBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,yDAAyD,CAAC,CAAC;wBAC5G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;6BACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;wBAC9E,MAAM;oBACR,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;wBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,yDAAyD,CAAC,CAAC;wBAC5G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;6BACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;wBAC9E,MAAM;oBACR,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC7B,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;wBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,sDAAsD,CAAC,CAAC;wBACzG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;6BACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;wBAC3E,MAAM;oBACR,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;wBAC3B,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,GAAG,GAAG,EAAE;4BAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,yDAAyD,CAAC,CAAC;4BAC5G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;iCACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;yBAC/E;6BAAM,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,GAAG,GAAG,EAAE;4BACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,yDAAyD,CAAC,CAAC;4BAC5G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;iCACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;yBAC/E;6BAAM;4BACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,sDAAsD,CAAC,CAAC;4BACzG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;iCACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;yBAC5E;wBACD,MAAM;iBACT;aACF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,0DAA0D,CAAC,CAAC;gBAC7G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;qBACvF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;aAChF;SACF;QACD,6BAA6B;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YACpD,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;oBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,qDAAqD,CAAC,CAAC;oBACxG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;yBACtF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBAC1E,MAAM;gBACR,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;oBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,qDAAqD,CAAC,CAAC;oBACxG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;yBACtF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBAC1E,MAAM;gBACR;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,qDAAqD,CAAC,CAAC;oBACxG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;yBACtF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;aAC7E;SACF;QACD,sBAAsB;QACtB,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,yCAAyC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrH,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;iBACjF,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EACtF,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxC,MAAA,IAAI,CAAC,WAAW,0CAAE,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjE,MAAA,IAAI,CAAC,WAAW,0CAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAClG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACzC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;YAClG,oFAAoF;YACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,yCAAyC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrH,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;iBACjF,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACzC;QACD,gCAAgC;QAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAC/D,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mDAAmD,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9H,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;iBAC1F,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACxC;QACD,gCAAgC;QAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAC/D,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,mDAAmD,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9H,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;iBAC1F,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACxC;QACD,4BAA4B;QAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,+CAA+C,EAC9F,IAAI,CAAC,KAAK,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;iBACtF,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;SACrI;QACD,aAAa;QACb,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7D,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC;YACjE,IAAI,QAAQ,GAAG,SAAS,CAAC;YACzB,QAAQ,IAAI,CAAC,SAAS,EAAC;gBACrB,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC1C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC/C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC9C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC9C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC7C,KAAK,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW;oBAC3C,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC;oBAC9D,QAAQ,GAAG,UAAU,CAAC;oBACtB,MAAM;aACT;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,gCAAgC,EAAE,QAAQ,CAAC,CAAC;YAC7F,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;iBACxE,WAAW,CAAC,KAAK,CAAC,CAAC;SACvB;QACD,iBAAiB;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,QAAQ,GAAG,UAAU,CAAC;YAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,kBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE;gBAC7F,kBAAkB;gBAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,8CAA8C,CAAC,CAAC;gBACjG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;qBAC5E,WAAW,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,kBAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE;gBAC7G,qBAAqB;gBACrB,QAAQ,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,aAAa,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,oCAAoC,EAAE,QAAQ,CAAC,CAAC;gBACjG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;qBAC5E,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;aAClD;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC9C,QAAQ;gBACR,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,gBAAgB;gBACpC,QAAQ,IAAI,CAAC,KAAK,EAAE;oBAClB,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;wBAC3B,QAAQ,GAAG,SAAS,CAAC;wBACrB,UAAU,GAAG,CAAC,CAAC;wBACf,MAAM;oBACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;wBACjC,QAAQ,GAAG,eAAe,CAAC;wBAC3B,UAAU,GAAG,CAAC,CAAC;wBACf,MAAM;oBACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;wBAC9B,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;wBAC5E,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1D,MAAM;oBACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;wBAClC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;wBAChF,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1D,MAAM;oBACR,KAAK,kBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;wBAC5B,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;wBAC1E,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1D,MAAM;iBACT;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,oCAAoC,EAAE,QAAQ,CAAC,CAAC;gBACjG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;qBAC5E,WAAW,CAAC,UAAU,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IA+DD,WAAW,CAAC,OAAO;QACjB,MAAM,IAAI,GAAG,gBAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,KAAK;YACV,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,EAAE,MAAM;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACvC,IAAI;SACL,CAAC;QACF,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CACtC,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;SAC3D;IACH,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACtC,CAAC,EAAE,MAAM;YACT,GAAG,EAAE,CAAC;SACP,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,GAAG;QACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,KAAK;YACR,GAAG,EAAE,IAAI;YACT,CAAC,EAAE,MAAM;SACV,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,mBAAmB;QACjB,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACtC,CAAC,EAAE,QAAQ;YACX,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;CACF;AAv6BD,gDAu6BC"}
1
+ {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
@@ -48,4 +48,5 @@ export declare const TEMPERATURE_TABLE: {
48
48
  '29,1': number;
49
49
  '30,0': number;
50
50
  };
51
+ export declare const INIT_TEMP_TRESHOLD_TIMEOUT = 100;
51
52
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAAM,CAAC"}
package/dist/settings.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPERATURE_TABLE = exports.UDP_SCAN_PORT = exports.DEFAULT_DEVICE_CONFIG = exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
3
+ exports.INIT_TEMP_TRESHOLD_TIMEOUT = exports.TEMPERATURE_TABLE = exports.UDP_SCAN_PORT = exports.DEFAULT_DEVICE_CONFIG = exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
4
4
  /**
5
5
  * This is the name of the platform that users will use to register the plugin in the Homebridge config.json
6
6
  */
@@ -47,4 +47,5 @@ exports.TEMPERATURE_TABLE = {
47
47
  '29,1': 29.5,
48
48
  '30,0': 30,
49
49
  };
50
+ exports.INIT_TEMP_TRESHOLD_TIMEOUT = 100;
50
51
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD;;GAEG;AACU,QAAA,WAAW,GAAG,oBAAoB,CAAC;AAenC,QAAA,qBAAqB,GAAiB;IACjD,UAAU,EAAE,CAAC;IACb,oBAAoB,EAAE,EAAE;IACxB,YAAY,EAAE,EAAE;IAChB,wBAAwB,EAAE,EAAE;IAC5B,wBAAwB,EAAE,EAAE;IAC5B,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,UAAU;CAC9B,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,CAAC;AAErB,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;CACX,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD;;GAEG;AACU,QAAA,WAAW,GAAG,oBAAoB,CAAC;AAenC,QAAA,qBAAqB,GAAiB;IACjD,UAAU,EAAE,CAAC;IACb,oBAAoB,EAAE,EAAE;IACxB,YAAY,EAAE,EAAE;IAChB,wBAAwB,EAAE,EAAE;IAC5B,wBAAwB,EAAE,EAAE;IAC5B,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,UAAU;CAC9B,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,CAAC;AAErB,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;CACX,CAAC;AAEW,QAAA,0BAA0B,GAAG,GAAG,CAAC"}
package/package.json CHANGED
@@ -2,19 +2,19 @@
2
2
  "private": false,
3
3
  "displayName": "GREE Air Conditioner",
4
4
  "name": "homebridge-gree-ac",
5
- "version": "2.0.0",
5
+ "version": "2.0.1",
6
6
  "description": "Control GREE Air Conditioners from Homebridge",
7
7
  "license": "Apache-2.0",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/eibenp/homebridge-gree-airconditioner.git"
10
+ "url": "git+https://github.com/eibenp/homebridge-gree-airconditioner.git"
11
11
  },
12
12
  "bugs": {
13
13
  "url": "https://github.com/eibenp/homebridge-gree-airconditioner/issues"
14
14
  },
15
15
  "engines": {
16
16
  "node": "^18.15.0 || ^20.8.0",
17
- "homebridge": "^1.6.0"
17
+ "homebridge": "^1.8.0"
18
18
  },
19
19
  "main": "dist/index.js",
20
20
  "scripts": {