homebridge-midea-platform 1.0.6-beta.6 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/.husky/pre-commit +0 -0
  2. package/CHANGELOG.md +7 -0
  3. package/dist/accessory/AccessoryFactory.d.ts +10 -10
  4. package/dist/accessory/AccessoryFactory.js +25 -25
  5. package/dist/accessory/AirConditionerAccessory.d.ts +72 -72
  6. package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
  7. package/dist/accessory/AirConditionerAccessory.js +462 -454
  8. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  9. package/dist/accessory/BaseAccessory.d.ts +11 -11
  10. package/dist/accessory/BaseAccessory.js +21 -21
  11. package/dist/accessory/DehumidifierAccessory.d.ts +43 -43
  12. package/dist/accessory/DehumidifierAccessory.js +310 -310
  13. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
  14. package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
  15. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
  16. package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
  17. package/dist/core/MideaCloud.d.ts +35 -35
  18. package/dist/core/MideaCloud.js +342 -342
  19. package/dist/core/MideaConstants.d.ts +46 -46
  20. package/dist/core/MideaConstants.js +54 -54
  21. package/dist/core/MideaDevice.d.ts +76 -76
  22. package/dist/core/MideaDevice.js +409 -409
  23. package/dist/core/MideaDiscover.d.ts +35 -35
  24. package/dist/core/MideaDiscover.js +212 -212
  25. package/dist/core/MideaMessage.d.ts +75 -75
  26. package/dist/core/MideaMessage.js +184 -184
  27. package/dist/core/MideaPacketBuilder.d.ts +10 -10
  28. package/dist/core/MideaPacketBuilder.js +60 -60
  29. package/dist/core/MideaSecurity.d.ts +63 -63
  30. package/dist/core/MideaSecurity.js +242 -242
  31. package/dist/core/MideaUtils.d.ts +32 -32
  32. package/dist/core/MideaUtils.js +181 -181
  33. package/dist/devices/DeviceFactory.d.ts +10 -10
  34. package/dist/devices/DeviceFactory.js +27 -27
  35. package/dist/devices/a1/MideaA1Device.d.ts +76 -76
  36. package/dist/devices/a1/MideaA1Device.js +136 -136
  37. package/dist/devices/a1/MideaA1Message.d.ts +40 -40
  38. package/dist/devices/a1/MideaA1Message.js +198 -198
  39. package/dist/devices/ac/MideaACDevice.d.ts +95 -95
  40. package/dist/devices/ac/MideaACDevice.js +334 -334
  41. package/dist/devices/ac/MideaACMessage.d.ts +90 -90
  42. package/dist/devices/ac/MideaACMessage.js +565 -565
  43. package/dist/devices/e2/MideaE2Device.d.ts +44 -44
  44. package/dist/devices/e2/MideaE2Device.js +119 -119
  45. package/dist/devices/e2/MideaE2Message.d.ts +33 -33
  46. package/dist/devices/e2/MideaE2Message.js +132 -132
  47. package/dist/devices/e3/MideaE3Device.d.ts +43 -43
  48. package/dist/devices/e3/MideaE3Device.js +125 -125
  49. package/dist/devices/e3/MideaE3Message.d.ts +51 -51
  50. package/dist/devices/e3/MideaE3Message.js +136 -136
  51. package/dist/index.d.ts +6 -6
  52. package/dist/index.js +6 -6
  53. package/dist/platform.d.ts +60 -60
  54. package/dist/platform.js +213 -213
  55. package/dist/platformUtils.d.ts +86 -86
  56. package/dist/platformUtils.js +83 -83
  57. package/dist/settings.d.ts +8 -8
  58. package/dist/settings.js +11 -11
  59. package/package.json +1 -1
package/.husky/pre-commit CHANGED
File without changes
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ # v1.0.6
4
+ ## 2024-06-15
5
+ - BREAKING CHANGE: there is a new conifguration option `fanOnlyModeSwitch` which will only turn on fan only mode. There is a possiblity to create an accessory to manage fan only mode using option `fanAccessory`. Setting fan to auto mode can be done from the fan accessory
6
+ - fix: NetHome Plus login
7
+ - minor quality of life improvements
@@ -1,11 +1,11 @@
1
- import { MideaAccessory, MideaPlatform } from '../platform';
2
- import AirConditionerAccessory from './AirConditionerAccessory';
3
- import DehumidifierAccessory from './DehumidifierAccessory';
4
- import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory';
5
- import GasWaterHeaterAccessory from './GasWaterHeaterAccessory';
6
- import MideaDevice from '../core/MideaDevice';
7
- import { DeviceConfig } from '../platformUtils';
8
- export default class AccessoryFactory {
9
- static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory;
10
- }
1
+ import { MideaAccessory, MideaPlatform } from '../platform';
2
+ import AirConditionerAccessory from './AirConditionerAccessory';
3
+ import DehumidifierAccessory from './DehumidifierAccessory';
4
+ import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory';
5
+ import GasWaterHeaterAccessory from './GasWaterHeaterAccessory';
6
+ import MideaDevice from '../core/MideaDevice';
7
+ import { DeviceConfig } from '../platformUtils';
8
+ export default class AccessoryFactory {
9
+ static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory;
10
+ }
11
11
  //# sourceMappingURL=AccessoryFactory.d.ts.map
@@ -1,26 +1,26 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const MideaConstants_1 = require("../core/MideaConstants");
7
- const AirConditionerAccessory_1 = __importDefault(require("./AirConditionerAccessory"));
8
- const DehumidifierAccessory_1 = __importDefault(require("./DehumidifierAccessory"));
9
- const ElectricWaterHeaterAccessory_1 = __importDefault(require("./ElectricWaterHeaterAccessory"));
10
- const GasWaterHeaterAccessory_1 = __importDefault(require("./GasWaterHeaterAccessory"));
11
- class AccessoryFactory {
12
- static createAccessory(platform, accessory, device, configDev) {
13
- switch (device.type) {
14
- case MideaConstants_1.DeviceType.AIR_CONDITIONER:
15
- return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
16
- case MideaConstants_1.DeviceType.DEHUMIDIFIER:
17
- return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
18
- case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
19
- return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
20
- case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
21
- return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
22
- }
23
- }
24
- }
25
- exports.default = AccessoryFactory;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const MideaConstants_1 = require("../core/MideaConstants");
7
+ const AirConditionerAccessory_1 = __importDefault(require("./AirConditionerAccessory"));
8
+ const DehumidifierAccessory_1 = __importDefault(require("./DehumidifierAccessory"));
9
+ const ElectricWaterHeaterAccessory_1 = __importDefault(require("./ElectricWaterHeaterAccessory"));
10
+ const GasWaterHeaterAccessory_1 = __importDefault(require("./GasWaterHeaterAccessory"));
11
+ class AccessoryFactory {
12
+ static createAccessory(platform, accessory, device, configDev) {
13
+ switch (device.type) {
14
+ case MideaConstants_1.DeviceType.AIR_CONDITIONER:
15
+ return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
16
+ case MideaConstants_1.DeviceType.DEHUMIDIFIER:
17
+ return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
18
+ case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
19
+ return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
20
+ case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
21
+ return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
22
+ }
23
+ }
24
+ }
25
+ exports.default = AccessoryFactory;
26
26
  //# sourceMappingURL=AccessoryFactory.js.map
@@ -1,73 +1,73 @@
1
- /***********************************************************************
2
- * Midea Platform Air Conditioner Accessory class
3
- *
4
- * Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
5
- *
6
- * Based on https://github.com/homebridge/homebridge-plugin-template
7
- *
8
- * An instance of this class is created for each accessory the platform registers.
9
- *
10
- */
11
- import { CharacteristicValue } from 'homebridge';
12
- import { MideaAccessory, MideaPlatform } from '../platform';
13
- import BaseAccessory from './BaseAccessory';
14
- import { DeviceConfig } from '../platformUtils';
15
- import MideaACDevice, { ACAttributes } from '../devices/ac/MideaACDevice';
16
- export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
17
- protected readonly device: MideaACDevice;
18
- protected readonly configDev: DeviceConfig;
19
- private service;
20
- private outDoorTemperatureService?;
21
- private displayService?;
22
- private fanOnlyService?;
23
- private fanService?;
24
- private ecoModeService?;
25
- private breezeAwayService?;
26
- private dryModeService?;
27
- private auxService?;
28
- private auxHeatingService?;
29
- /*********************************************************************
30
- * Constructor registers all the service types with Homebridge, registers
31
- * a callback function with the MideaDevice class, and requests device status.
32
- */
33
- constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
34
- /*********************************************************************
35
- * Callback function called by MideaDevice whenever there is a change to
36
- * any attribute value.
37
- */
38
- protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
39
- /*********************************************************************
40
- * Callback functions for each Homebridge/HomeKit service
41
- *
42
- */
43
- getActive(): Promise<CharacteristicValue>;
44
- setActive(value: CharacteristicValue): Promise<void>;
45
- getCurrentHeaterCoolerState(): CharacteristicValue;
46
- getTargetHeaterCoolerState(): CharacteristicValue;
47
- setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
48
- getCurrentTemperature(): CharacteristicValue;
49
- getTargetTemperature(): CharacteristicValue;
50
- getFanOnlyMode(): CharacteristicValue;
51
- setFanOnlyMode(value: CharacteristicValue): Promise<void>;
52
- getFanState(): CharacteristicValue;
53
- setFanState(value: CharacteristicValue): Promise<void>;
54
- setTargetTemperature(value: CharacteristicValue): Promise<void>;
55
- getSwingMode(): CharacteristicValue;
56
- setSwingMode(value: CharacteristicValue): Promise<void>;
57
- getRotationSpeed(): CharacteristicValue;
58
- setRotationSpeed(value: CharacteristicValue): Promise<void>;
59
- getOutdoorTemperature(): CharacteristicValue;
60
- getDisplayActive(): CharacteristicValue;
61
- setDisplayActive(value: CharacteristicValue): Promise<void>;
62
- getEcoMode(): CharacteristicValue;
63
- setEcoMode(value: CharacteristicValue): Promise<void>;
64
- getBreezeAway(): CharacteristicValue;
65
- setBreezeAway(value: CharacteristicValue): Promise<void>;
66
- getDryMode(): CharacteristicValue;
67
- setDryMode(value: CharacteristicValue): Promise<void>;
68
- getAux(): CharacteristicValue;
69
- setAux(value: CharacteristicValue): Promise<void>;
70
- getAuxHeating(): CharacteristicValue;
71
- setAuxHeating(value: CharacteristicValue): Promise<void>;
72
- }
1
+ /***********************************************************************
2
+ * Midea Platform Air Conditioner Accessory class
3
+ *
4
+ * Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
5
+ *
6
+ * Based on https://github.com/homebridge/homebridge-plugin-template
7
+ *
8
+ * An instance of this class is created for each accessory the platform registers.
9
+ *
10
+ */
11
+ import { CharacteristicValue } from 'homebridge';
12
+ import { MideaAccessory, MideaPlatform } from '../platform';
13
+ import BaseAccessory from './BaseAccessory';
14
+ import { DeviceConfig } from '../platformUtils';
15
+ import MideaACDevice, { ACAttributes } from '../devices/ac/MideaACDevice';
16
+ export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
17
+ protected readonly device: MideaACDevice;
18
+ protected readonly configDev: DeviceConfig;
19
+ private service;
20
+ private outDoorTemperatureService?;
21
+ private displayService?;
22
+ private fanOnlyService?;
23
+ private fanService?;
24
+ private ecoModeService?;
25
+ private breezeAwayService?;
26
+ private dryModeService?;
27
+ private auxService?;
28
+ private auxHeatingService?;
29
+ /*********************************************************************
30
+ * Constructor registers all the service types with Homebridge, registers
31
+ * a callback function with the MideaDevice class, and requests device status.
32
+ */
33
+ constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
34
+ /*********************************************************************
35
+ * Callback function called by MideaDevice whenever there is a change to
36
+ * any attribute value.
37
+ */
38
+ protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
39
+ /*********************************************************************
40
+ * Callback functions for each Homebridge/HomeKit service
41
+ *
42
+ */
43
+ getActive(): CharacteristicValue;
44
+ setActive(value: CharacteristicValue): Promise<void>;
45
+ getCurrentHeaterCoolerState(): CharacteristicValue;
46
+ getTargetHeaterCoolerState(): CharacteristicValue;
47
+ setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
48
+ getCurrentTemperature(): CharacteristicValue;
49
+ getTargetTemperature(): CharacteristicValue;
50
+ getFanOnlyMode(): CharacteristicValue;
51
+ setFanOnlyMode(value: CharacteristicValue): Promise<void>;
52
+ getFanState(): CharacteristicValue;
53
+ setFanState(value: CharacteristicValue): Promise<void>;
54
+ setTargetTemperature(value: CharacteristicValue): Promise<void>;
55
+ getSwingMode(): CharacteristicValue;
56
+ setSwingMode(value: CharacteristicValue): Promise<void>;
57
+ getRotationSpeed(): CharacteristicValue;
58
+ setRotationSpeed(value: CharacteristicValue): Promise<void>;
59
+ getOutdoorTemperature(): CharacteristicValue;
60
+ getDisplayActive(): CharacteristicValue;
61
+ setDisplayActive(value: CharacteristicValue): Promise<void>;
62
+ getEcoMode(): CharacteristicValue;
63
+ setEcoMode(value: CharacteristicValue): Promise<void>;
64
+ getBreezeAway(): CharacteristicValue;
65
+ setBreezeAway(value: CharacteristicValue): Promise<void>;
66
+ getDryMode(): CharacteristicValue;
67
+ setDryMode(value: CharacteristicValue): Promise<void>;
68
+ getAux(): CharacteristicValue;
69
+ setAux(value: CharacteristicValue): Promise<void>;
70
+ getAuxHeating(): CharacteristicValue;
71
+ setAuxHeating(value: CharacteristicValue): Promise<void>;
72
+ }
73
73
  //# sourceMappingURL=AirConditionerAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,mBAAmB,EAAW,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAa,MAAM,kBAAkB,CAAC;AAC3D,OAAO,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAmB7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAnB5C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,yBAAyB,CAAC,CAAU;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAU;IAEpC;;;OAGG;gBAED,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACN,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,YAAY;IAuN5C;;;OAGG;cACa,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;IAsEvE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKzC,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAM1C,2BAA2B,IAAI,mBAAmB;IAsBlD,0BAA0B,IAAI,mBAAmB;IAU3C,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAc3D,qBAAqB,IAAI,mBAAmB;IAI5C,oBAAoB,IAAI,mBAAmB;IAO3C,cAAc,IAAI,mBAAmB;IAI/B,cAAc,CAAC,KAAK,EAAE,mBAAmB;IAQ/C,WAAW,IAAI,mBAAmB;IAI5B,WAAW,CAAC,KAAK,EAAE,mBAAmB;IAItC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAKrD,YAAY,IAAI,mBAAmB;IAM7B,YAAY,CAAC,KAAK,EAAE,mBAAmB;IAc7C,gBAAgB,IAAI,mBAAmB;IAIjC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAIjD,qBAAqB,IAAI,mBAAmB;IAI5C,gBAAgB,IAAI,mBAAmB;IAIjC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAMjD,UAAU,IAAI,mBAAmB;IAI3B,UAAU,CAAC,KAAK,EAAE,mBAAmB;IAI3C,aAAa,IAAI,mBAAmB;IAI9B,aAAa,CAAC,KAAK,EAAE,mBAAmB;IAI9C,UAAU,IAAI,mBAAmB;IAI3B,UAAU,CAAC,KAAK,EAAE,mBAAmB;IAQ3C,MAAM,IAAI,mBAAmB;IAIvB,MAAM,CAAC,KAAK,EAAE,mBAAmB;IAQvC,aAAa,IAAI,mBAAmB;IAI9B,aAAa,CAAC,KAAK,EAAE,mBAAmB;CAO/C"}
1
+ {"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,mBAAmB,EAAW,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAa,MAAM,kBAAkB,CAAC;AAC3D,OAAO,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAmB7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAnB5C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,yBAAyB,CAAC,CAAU;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAU;IAEpC;;;OAGG;gBAED,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACN,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,YAAY;IAuN5C;;;OAGG;cACa,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;IA4EvE;;;OAGG;IACH,SAAS,IAAI,mBAAmB;IAK1B,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAM1C,2BAA2B,IAAI,mBAAmB;IAsBlD,0BAA0B,IAAI,mBAAmB;IAU3C,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAc3D,qBAAqB,IAAI,mBAAmB;IAI5C,oBAAoB,IAAI,mBAAmB;IAO3C,cAAc,IAAI,mBAAmB;IAI/B,cAAc,CAAC,KAAK,EAAE,mBAAmB;IAQ/C,WAAW,IAAI,mBAAmB;IAI5B,WAAW,CAAC,KAAK,EAAE,mBAAmB;IAItC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAKrD,YAAY,IAAI,mBAAmB;IAM7B,YAAY,CAAC,KAAK,EAAE,mBAAmB;IAc7C,gBAAgB,IAAI,mBAAmB;IAIjC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAIjD,qBAAqB,IAAI,mBAAmB;IAI5C,gBAAgB,IAAI,mBAAmB;IAIjC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAMjD,UAAU,IAAI,mBAAmB;IAI3B,UAAU,CAAC,KAAK,EAAE,mBAAmB;IAI3C,aAAa,IAAI,mBAAmB;IAI9B,aAAa,CAAC,KAAK,EAAE,mBAAmB;IAI9C,UAAU,IAAI,mBAAmB;IAI3B,UAAU,CAAC,KAAK,EAAE,mBAAmB;IAQ3C,MAAM,IAAI,mBAAmB;IAIvB,MAAM,CAAC,KAAK,EAAE,mBAAmB;IAQvC,aAAa,IAAI,mBAAmB;IAI9B,aAAa,CAAC,KAAK,EAAE,mBAAmB;CAO/C"}