homebridge-easy-mqtt 1.4.0-beta.1 → 1.4.0-beta.10

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 (66) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/README.md +170 -25
  3. package/config.schema.json +985 -38
  4. package/dist/accessory/abstract/base.js +1 -1
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/common.d.ts +38 -0
  7. package/dist/accessory/abstract/common.js +159 -0
  8. package/dist/accessory/abstract/common.js.map +1 -0
  9. package/dist/accessory/abstract/helper.js +9 -0
  10. package/dist/accessory/abstract/helper.js.map +1 -1
  11. package/dist/accessory/abstract/mqtt.d.ts +6 -24
  12. package/dist/accessory/abstract/mqtt.js +13 -148
  13. package/dist/accessory/abstract/mqtt.js.map +1 -1
  14. package/dist/accessory/addons/addon.d.ts +12 -0
  15. package/dist/accessory/addons/addon.js +23 -0
  16. package/dist/accessory/addons/addon.js.map +1 -0
  17. package/dist/accessory/addons/filter.d.ts +11 -0
  18. package/dist/accessory/addons/filter.js +36 -0
  19. package/dist/accessory/addons/filter.js.map +1 -0
  20. package/dist/accessory/climate/active.d.ts +11 -0
  21. package/dist/accessory/climate/active.js +44 -0
  22. package/dist/accessory/climate/active.js.map +1 -0
  23. package/dist/accessory/climate/heaterCooler.d.ts +2 -6
  24. package/dist/accessory/climate/heaterCooler.js +5 -37
  25. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  26. package/dist/accessory/climate/purifier.d.ts +19 -0
  27. package/dist/accessory/climate/purifier.js +114 -0
  28. package/dist/accessory/climate/purifier.js.map +1 -0
  29. package/dist/accessory/climate/{climate.d.ts → temperatureControl.d.ts} +3 -2
  30. package/dist/accessory/climate/{climate.js → temperatureControl.js} +7 -5
  31. package/dist/accessory/climate/temperatureControl.js.map +1 -0
  32. package/dist/accessory/climate/thermostat.d.ts +2 -2
  33. package/dist/accessory/climate/thermostat.js +5 -2
  34. package/dist/accessory/climate/thermostat.js.map +1 -1
  35. package/dist/accessory/sensor/light.d.ts +9 -0
  36. package/dist/accessory/sensor/light.js +13 -0
  37. package/dist/accessory/sensor/light.js.map +1 -0
  38. package/dist/accessory/sensor/sensor.js +2 -2
  39. package/dist/accessory/sensor/sensor.js.map +1 -1
  40. package/dist/accessory/valve.d.ts +14 -0
  41. package/dist/accessory/valve.js +71 -0
  42. package/dist/accessory/valve.js.map +1 -0
  43. package/dist/homebridge/platform.js +1 -1
  44. package/dist/homebridge/platform.js.map +1 -1
  45. package/dist/homebridge-ui/public/index.html +1 -1
  46. package/dist/homebridge-ui/public/ui.js +1 -1
  47. package/dist/i18n/en.d.ts +72 -0
  48. package/dist/i18n/en.js +72 -0
  49. package/dist/i18n/en.js.map +1 -1
  50. package/dist/i18n/fr.d.ts +72 -0
  51. package/dist/i18n/i18n.d.ts +74 -1
  52. package/dist/i18n/i18n.js +6 -0
  53. package/dist/i18n/i18n.js.map +1 -1
  54. package/dist/i18n/ro.d.ts +758 -0
  55. package/dist/i18n/ro.js +381 -0
  56. package/dist/i18n/ro.js.map +1 -0
  57. package/dist/i18n/template.d.ts +72 -0
  58. package/dist/model/enums.d.ts +25 -2
  59. package/dist/model/enums.js +25 -0
  60. package/dist/model/enums.js.map +1 -1
  61. package/dist/model/mqtt.d.ts +5 -4
  62. package/dist/model/mqtt.js +38 -22
  63. package/dist/model/mqtt.js.map +1 -1
  64. package/dist/model/types.d.ts +69 -23
  65. package/package.json +1 -1
  66. package/dist/accessory/climate/climate.js.map +0 -1
package/dist/i18n/fr.d.ts CHANGED
@@ -26,11 +26,14 @@ declare const fr: {
26
26
  support: string;
27
27
  thankYou: string;
28
28
  description: {
29
+ broker: string;
29
30
  options: string;
30
31
  topics: string;
32
+ values: string;
31
33
  verbose: string;
32
34
  };
33
35
  enumNames: {
36
+ airPurifier: string;
34
37
  carbonDioxideSensor: string;
35
38
  carbonMonoxideSensor: string;
36
39
  celsius: string;
@@ -40,6 +43,7 @@ declare const fr: {
40
43
  humiditySensor: string;
41
44
  leakSensor: string;
42
45
  lightbulb: string;
46
+ lightSensor: string;
43
47
  lockMechanism: string;
44
48
  motionSensor: string;
45
49
  occupancySensor: string;
@@ -49,6 +53,11 @@ declare const fr: {
49
53
  switch: string;
50
54
  temperatureSensor: string;
51
55
  thermostat: string;
56
+ valve: string;
57
+ valveGeneric: string;
58
+ valveIrrigation: string;
59
+ valveShower: string;
60
+ valveFaucet: string;
52
61
  };
53
62
  title: {
54
63
  accessory: string;
@@ -72,13 +81,17 @@ declare const fr: {
72
81
  topicGetColorTemperature: string;
73
82
  topicGetContactSensorState: string;
74
83
  topicGetCoolingThresholdTemperature: string;
84
+ topicGetCurrentAmbientLightLevel: string;
75
85
  topicGetCurrentHeaterCoolerState: string;
76
86
  topicGetCurrentHeatingCoolingState: string;
87
+ topicGetCurrentPurifierState: string;
77
88
  topicGetCurrentLockState: string;
78
89
  topicGetCurrentRelativeHumidity: string;
79
90
  topicGetCurrentRelativeHumidityOptional: string;
80
91
  topicGetCurrentSecurityState: string;
81
92
  topicGetCurrentTemperature: string;
93
+ topicGetFilterChangeIndication: string;
94
+ topicGetFilterLifeLevel: string;
82
95
  topicGetHeatingThresholdTemperature: string;
83
96
  topicGetHue: string;
84
97
  topicGetLeakDetected: string;
@@ -96,10 +109,17 @@ declare const fr: {
96
109
  topicGetStatusTampered: string;
97
110
  topicGetTargetHeaterCoolerState: string;
98
111
  topicGetTargetHeatingCoolingState: string;
112
+ topicGetTargetPurifierState: string;
99
113
  topicGetTargetLockState: string;
100
114
  topicGetTargetRelativeHumidity: string;
101
115
  topicGetTargetSecurityState: string;
102
116
  topicGetTargetTemperature: string;
117
+ topicGetValveActive: string;
118
+ topicGetValveInUse: string;
119
+ topicGetValveIsConfigured: string;
120
+ topicGetValveRemainingDuration: string;
121
+ topicGetValveSetDuration: string;
122
+ topicResetFilterIndication: string;
103
123
  topicSetActive: string;
104
124
  topicSetBrightness: string;
105
125
  topicSetColorTemperature: string;
@@ -113,13 +133,19 @@ declare const fr: {
113
133
  topicSetSwingMode: string;
114
134
  topicSetTargetHeaterCoolerState: string;
115
135
  topicSetTargetHeatingCoolingState: string;
136
+ topicSetTargetPurifierState: string;
116
137
  topicSetTargetLockState: string;
117
138
  topicSetTargetRelativeHumidity: string;
118
139
  topicSetTargetSecurityState: string;
119
140
  topicSetTargetTemperature: string;
141
+ topicSetValveActive: string;
142
+ topicSetValveIsConfigured: string;
143
+ topicSetValveSetDuration: string;
120
144
  topics: string;
121
145
  type: string;
122
146
  username: string;
147
+ valveType: string;
148
+ valueActive: string;
123
149
  valueAlarmTriggered: string;
124
150
  valueArmAway: string;
125
151
  valueArmNight: string;
@@ -127,11 +153,16 @@ declare const fr: {
127
153
  valueBatteryLow: string;
128
154
  valueCarbonDioxideDetected: string;
129
155
  valueCarbonMonoxideDetected: string;
156
+ valueConfigured: string;
130
157
  valueContactDetected: string;
131
158
  valueControlLock: string;
132
159
  valueControlUnlock: string;
133
160
  valueDisarm: string;
134
161
  valueFault: string;
162
+ valueFilterChange: string;
163
+ valueFilterReset: string;
164
+ valueInactive: string;
165
+ valueInUse: string;
135
166
  valueLeakDetected: string;
136
167
  valueLockStateJammed: string;
137
168
  valueLockStateSecured: string;
@@ -141,8 +172,11 @@ declare const fr: {
141
172
  valueModeHeat: string;
142
173
  valueModeIdle: string;
143
174
  valueModeInactive: string;
175
+ valueModeManual: string;
144
176
  valueModeOff: string;
177
+ valueModePurifying: string;
145
178
  valueMotionDetected: string;
179
+ valueNotConfigured: string;
146
180
  valueOccupancyDetected: string;
147
181
  valueOff: string;
148
182
  valueOn: string;
@@ -165,6 +199,12 @@ declare const fr: {
165
199
  noFault: string;
166
200
  notTampered: string;
167
201
  };
202
+ filter: {
203
+ change: string;
204
+ level: string;
205
+ ok: string;
206
+ reset: string;
207
+ };
168
208
  heaterCooler: {
169
209
  active: string;
170
210
  activeSet: string;
@@ -213,6 +253,7 @@ declare const fr: {
213
253
  };
214
254
  mqttClient: {
215
255
  badOptions: string;
256
+ badMessages: string;
216
257
  connected: string;
217
258
  connectionClosed: string;
218
259
  error: string;
@@ -238,6 +279,18 @@ declare const fr: {
238
279
  inUse: string;
239
280
  notInUse: string;
240
281
  };
282
+ purifier: {
283
+ badValue: string;
284
+ noCurrentStateValues: string;
285
+ noTargetStateValues: string;
286
+ stateAuto: string;
287
+ stateIdle: string;
288
+ stateInactive: string;
289
+ stateManual: string;
290
+ statePurifying: string;
291
+ stateUnknown: string;
292
+ unknownValue: string;
293
+ };
241
294
  security: {
242
295
  badValue: string;
243
296
  noStateValues: string;
@@ -274,6 +327,9 @@ declare const fr: {
274
327
  active: string;
275
328
  inactive: string;
276
329
  };
330
+ light: {
331
+ level: string;
332
+ };
277
333
  motion: {
278
334
  active: string;
279
335
  inactive: string;
@@ -311,6 +367,22 @@ declare const fr: {
311
367
  temperatureTargetFuture: string;
312
368
  unknownValue: string;
313
369
  };
370
+ valve: {
371
+ active: string;
372
+ activeSet: string;
373
+ badValveType: string;
374
+ configured: string;
375
+ configuredFuture: string;
376
+ durationRemaining: string;
377
+ inactive: string;
378
+ inactiveSet: string;
379
+ inUse: string;
380
+ notConfigured: string;
381
+ notConfiguredFuture: string;
382
+ notInUse: string;
383
+ setDuration: string;
384
+ setDurationFuture: string;
385
+ };
314
386
  } & {
315
387
  accessory: {
316
388
  batteryLevel: string;
@@ -1,7 +1,8 @@
1
1
  import en from './en.js';
2
2
  export declare enum Language {
3
3
  EN = "en",
4
- FR = "fr"
4
+ FR = "fr",
5
+ RO = "ro"
5
6
  }
6
7
  export type Translation = typeof en;
7
8
  export declare function getLanguage(): Language;
@@ -35,11 +36,14 @@ declare const translations: {
35
36
  support: string;
36
37
  thankYou: string;
37
38
  description: {
39
+ broker: string;
38
40
  options: string;
39
41
  topics: string;
42
+ values: string;
40
43
  verbose: string;
41
44
  };
42
45
  enumNames: {
46
+ airPurifier: string;
43
47
  carbonDioxideSensor: string;
44
48
  carbonMonoxideSensor: string;
45
49
  celsius: string;
@@ -49,6 +53,7 @@ declare const translations: {
49
53
  humiditySensor: string;
50
54
  leakSensor: string;
51
55
  lightbulb: string;
56
+ lightSensor: string;
52
57
  lockMechanism: string;
53
58
  motionSensor: string;
54
59
  occupancySensor: string;
@@ -58,6 +63,11 @@ declare const translations: {
58
63
  switch: string;
59
64
  temperatureSensor: string;
60
65
  thermostat: string;
66
+ valve: string;
67
+ valveGeneric: string;
68
+ valveIrrigation: string;
69
+ valveShower: string;
70
+ valveFaucet: string;
61
71
  };
62
72
  title: {
63
73
  accessory: string;
@@ -81,13 +91,17 @@ declare const translations: {
81
91
  topicGetColorTemperature: string;
82
92
  topicGetContactSensorState: string;
83
93
  topicGetCoolingThresholdTemperature: string;
94
+ topicGetCurrentAmbientLightLevel: string;
84
95
  topicGetCurrentHeaterCoolerState: string;
85
96
  topicGetCurrentHeatingCoolingState: string;
97
+ topicGetCurrentPurifierState: string;
86
98
  topicGetCurrentLockState: string;
87
99
  topicGetCurrentRelativeHumidity: string;
88
100
  topicGetCurrentRelativeHumidityOptional: string;
89
101
  topicGetCurrentSecurityState: string;
90
102
  topicGetCurrentTemperature: string;
103
+ topicGetFilterChangeIndication: string;
104
+ topicGetFilterLifeLevel: string;
91
105
  topicGetHeatingThresholdTemperature: string;
92
106
  topicGetHue: string;
93
107
  topicGetLeakDetected: string;
@@ -105,10 +119,17 @@ declare const translations: {
105
119
  topicGetStatusTampered: string;
106
120
  topicGetTargetHeaterCoolerState: string;
107
121
  topicGetTargetHeatingCoolingState: string;
122
+ topicGetTargetPurifierState: string;
108
123
  topicGetTargetLockState: string;
109
124
  topicGetTargetRelativeHumidity: string;
110
125
  topicGetTargetSecurityState: string;
111
126
  topicGetTargetTemperature: string;
127
+ topicGetValveActive: string;
128
+ topicGetValveInUse: string;
129
+ topicGetValveIsConfigured: string;
130
+ topicGetValveRemainingDuration: string;
131
+ topicGetValveSetDuration: string;
132
+ topicResetFilterIndication: string;
112
133
  topicSetActive: string;
113
134
  topicSetBrightness: string;
114
135
  topicSetColorTemperature: string;
@@ -122,13 +143,19 @@ declare const translations: {
122
143
  topicSetSwingMode: string;
123
144
  topicSetTargetHeaterCoolerState: string;
124
145
  topicSetTargetHeatingCoolingState: string;
146
+ topicSetTargetPurifierState: string;
125
147
  topicSetTargetLockState: string;
126
148
  topicSetTargetRelativeHumidity: string;
127
149
  topicSetTargetSecurityState: string;
128
150
  topicSetTargetTemperature: string;
151
+ topicSetValveActive: string;
152
+ topicSetValveIsConfigured: string;
153
+ topicSetValveSetDuration: string;
129
154
  topics: string;
130
155
  type: string;
131
156
  username: string;
157
+ valveType: string;
158
+ valueActive: string;
132
159
  valueAlarmTriggered: string;
133
160
  valueArmAway: string;
134
161
  valueArmNight: string;
@@ -136,11 +163,16 @@ declare const translations: {
136
163
  valueBatteryLow: string;
137
164
  valueCarbonDioxideDetected: string;
138
165
  valueCarbonMonoxideDetected: string;
166
+ valueConfigured: string;
139
167
  valueContactDetected: string;
140
168
  valueControlLock: string;
141
169
  valueControlUnlock: string;
142
170
  valueDisarm: string;
143
171
  valueFault: string;
172
+ valueFilterChange: string;
173
+ valueFilterReset: string;
174
+ valueInactive: string;
175
+ valueInUse: string;
144
176
  valueLeakDetected: string;
145
177
  valueLockStateJammed: string;
146
178
  valueLockStateSecured: string;
@@ -150,8 +182,11 @@ declare const translations: {
150
182
  valueModeHeat: string;
151
183
  valueModeIdle: string;
152
184
  valueModeInactive: string;
185
+ valueModeManual: string;
153
186
  valueModeOff: string;
187
+ valueModePurifying: string;
154
188
  valueMotionDetected: string;
189
+ valueNotConfigured: string;
155
190
  valueOccupancyDetected: string;
156
191
  valueOff: string;
157
192
  valueOn: string;
@@ -174,6 +209,12 @@ declare const translations: {
174
209
  noFault: string;
175
210
  notTampered: string;
176
211
  };
212
+ filter: {
213
+ change: string;
214
+ level: string;
215
+ ok: string;
216
+ reset: string;
217
+ };
177
218
  heaterCooler: {
178
219
  active: string;
179
220
  activeSet: string;
@@ -222,6 +263,7 @@ declare const translations: {
222
263
  };
223
264
  mqttClient: {
224
265
  badOptions: string;
266
+ badMessages: string;
225
267
  connected: string;
226
268
  connectionClosed: string;
227
269
  error: string;
@@ -247,6 +289,18 @@ declare const translations: {
247
289
  inUse: string;
248
290
  notInUse: string;
249
291
  };
292
+ purifier: {
293
+ badValue: string;
294
+ noCurrentStateValues: string;
295
+ noTargetStateValues: string;
296
+ stateAuto: string;
297
+ stateIdle: string;
298
+ stateInactive: string;
299
+ stateManual: string;
300
+ statePurifying: string;
301
+ stateUnknown: string;
302
+ unknownValue: string;
303
+ };
250
304
  security: {
251
305
  badValue: string;
252
306
  noStateValues: string;
@@ -283,6 +337,9 @@ declare const translations: {
283
337
  active: string;
284
338
  inactive: string;
285
339
  };
340
+ light: {
341
+ level: string;
342
+ };
286
343
  motion: {
287
344
  active: string;
288
345
  inactive: string;
@@ -320,5 +377,21 @@ declare const translations: {
320
377
  temperatureTargetFuture: string;
321
378
  unknownValue: string;
322
379
  };
380
+ valve: {
381
+ active: string;
382
+ activeSet: string;
383
+ badValveType: string;
384
+ configured: string;
385
+ configuredFuture: string;
386
+ durationRemaining: string;
387
+ inactive: string;
388
+ inactiveSet: string;
389
+ inUse: string;
390
+ notConfigured: string;
391
+ notConfiguredFuture: string;
392
+ notInUse: string;
393
+ setDuration: string;
394
+ setDurationFuture: string;
395
+ };
323
396
  };
324
397
  export { translations as strings };
package/dist/i18n/i18n.js CHANGED
@@ -1,13 +1,16 @@
1
1
  import en from './en.js';
2
2
  import fr from './fr.js';
3
+ import ro from './ro.js';
3
4
  export var Language;
4
5
  (function (Language) {
5
6
  Language["EN"] = "en";
6
7
  Language["FR"] = "fr";
8
+ Language["RO"] = "ro";
7
9
  })(Language || (Language = {}));
8
10
  const Translations = {
9
11
  [Language.EN]: en,
10
12
  [Language.FR]: fr,
13
+ [Language.RO]: ro,
11
14
  };
12
15
  let currentLanguage = Language.EN;
13
16
  export function getLanguage() {
@@ -22,6 +25,9 @@ export function setLanguage(i18nLang) {
22
25
  case Language.FR:
23
26
  language = Language.FR;
24
27
  break;
28
+ case Language.RO:
29
+ language = Language.RO;
30
+ break;
25
31
  }
26
32
  currentLanguage = Translations[language] ? language : Language.EN;
27
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;AACX,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,YAAY,GAAkC;IAClD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC;AAIF,IAAI,eAAe,GAAa,QAAQ,CAAC,EAAE,CAAC;AAE5C,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAE1C,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC3B,QAAO,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;IACR,CAAC;IAED,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,EAAiB,EAAE;IAChD,GAAG,CAAC,OAAO,EAAE,IAAY;QACvB,OAAO,CACL,YAAY,CAAC,eAAe,CAAC,CAAC,IAAyB,CAAC;YACxD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAyB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;AACX,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,YAAY,GAAkC;IAClD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC;AAIF,IAAI,eAAe,GAAa,QAAQ,CAAC,EAAE,CAAC;AAE5C,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAE1C,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC3B,QAAO,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;IACR,CAAC;IAED,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,EAAiB,EAAE;IAChD,GAAG,CAAC,OAAO,EAAE,IAAY;QACvB,OAAO,CACL,YAAY,CAAC,eAAe,CAAC,CAAC,IAAyB,CAAC;YACxD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAyB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC"}