homebridge-ratgdo 2.3.0 → 2.3.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/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
  </DIV>
15
15
  </SPAN>
16
16
 
17
- `homebridge-ratgdo` is a [Homebridge](https://homebridge.io) plugin that makes Chamberlain, Liftmaster, and other garage door openers that utilize the Ratgdo hardware control board available to [Apple's](https://www.apple.com) [HomeKit](https://www.apple.com/ios/home) smart home platform. You can determine if your garage door opener by checking the [Ratgdo website](https://paulwieland.github.io/ratgdo/).
17
+ `homebridge-ratgdo` is a [Homebridge](https://homebridge.io) plugin that makes Chamberlain, Liftmaster, and other garage door openers that utilize the [Ratgdo hardware control board](https://paulwieland.github.io/ratgdo/) and [commercial variants](https://konnected.io/products/smart-garage-door-opener-blaq-myq-alternative) to [Apple's](https://www.apple.com) [HomeKit](https://www.apple.com/ios/home) smart home platform. You can determine if your garage door opener by checking the [Ratgdo website](https://paulwieland.github.io/ratgdo/).
18
18
 
19
19
  ## Why use this plugin for Ratgdo support in HomeKit?
20
20
  In a nutshell, the aim of this plugin for things to *just work* with minimal required configuration by users. The goal is to provide as close to a streamlined experience as you would expect from a first-party or native HomeKit solution. For the adventurous, those additional granular options are, of course, available to support more esoteric use cases or other unique needs.
@@ -33,6 +33,7 @@ In the interest of the community seeking a solution outside of myQ, I've develop
33
33
  * Ability to lock and unlock the garage door opener through the ability to lockout wireless remotes.
34
34
  * Read-only garage door opener support.
35
35
  * Automation switch and dimmer support, allowing you to set the garage door to any position.
36
+ * Support for Ratgdo variants like [Konnected blaQ](https://konnected.io/products/smart-garage-door-opener-blaq-myq-alternative).
36
37
  * A rich webUI for configuration.
37
38
 
38
39
  ## Installation
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { PLATFORM_NAME, PLUGIN_NAME } from "./settings.js";
6
6
  import { RatgdoPlatform } from "./ratgdo-platform.js";
7
- // Register our platform with homebridge.
7
+ // Register our platform with Homebridge.
8
8
  export default (api) => {
9
9
  api.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, RatgdoPlatform);
10
10
  };
@@ -1,6 +1,6 @@
1
1
  import { PlatformAccessory } from "homebridge";
2
- import { RatgdoDevice } from "./ratgdo-types.js";
3
2
  import { HomebridgePluginLogging } from "homebridge-plugin-utils";
3
+ import { RatgdoDevice } from "./ratgdo-types.js";
4
4
  import { RatgdoPlatform } from "./ratgdo-platform.js";
5
5
  export declare class RatgdoAccessory {
6
6
  private readonly accessory;
@@ -1,4 +1,5 @@
1
1
  import { FetchError, fetch } from "@adobe/fetch";
2
+ import { acquireService, validService } from "homebridge-plugin-utils";
2
3
  import { RATGDO_MOTION_DURATION, RATGDO_OCCUPANCY_DURATION } from "./settings.js";
3
4
  import { RatgdoReservedNames, RatgdoVariant } from "./ratgdo-types.js";
4
5
  import util from "node:util";
@@ -161,136 +162,114 @@ export class RatgdoAccessory {
161
162
  }
162
163
  // Configure the garage door service for HomeKit.
163
164
  configureGarageDoor() {
164
- let garageDoorService = this.accessory.getService(this.hap.Service.GarageDoorOpener);
165
- // Add the garage door opener service to the accessory, if needed.
166
- if (!garageDoorService) {
167
- garageDoorService = new this.hap.Service.GarageDoorOpener(this.name);
168
- garageDoorService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
169
- this.accessory.addService(garageDoorService);
165
+ // Acquire the service.
166
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.GarageDoorOpener, this.name);
167
+ if (!service) {
168
+ this.log.error("Unable to add the garage door.");
169
+ return false;
170
170
  }
171
171
  // Set the initial current and target door states to closed since ratgdo doesn't tell us initial state over MQTT on startup.
172
- garageDoorService.updateCharacteristic(this.hap.Characteristic.CurrentDoorState, this.status.door);
173
- garageDoorService.updateCharacteristic(this.hap.Characteristic.TargetDoorState, this.doorTargetStateBias(this.status.door));
172
+ service.updateCharacteristic(this.hap.Characteristic.CurrentDoorState, this.status.door);
173
+ service.updateCharacteristic(this.hap.Characteristic.TargetDoorState, this.doorTargetStateBias(this.status.door));
174
174
  // Handle HomeKit open and close events.
175
- garageDoorService.getCharacteristic(this.hap.Characteristic.TargetDoorState).onSet((value) => {
175
+ service.getCharacteristic(this.hap.Characteristic.TargetDoorState).onSet((value) => {
176
176
  this.setDoorState(value);
177
177
  });
178
178
  // Inform HomeKit of our current state.
179
- garageDoorService.getCharacteristic(this.hap.Characteristic.CurrentDoorState).onGet(() => this.status.door);
179
+ service.getCharacteristic(this.hap.Characteristic.CurrentDoorState).onGet(() => this.status.door);
180
180
  // Inform HomeKit of any obstructions.
181
- garageDoorService.getCharacteristic(this.hap.Characteristic.ObstructionDetected).onGet(() => this.status.obstruction === true);
181
+ service.getCharacteristic(this.hap.Characteristic.ObstructionDetected).onGet(() => this.status.obstruction === true);
182
182
  // Configure the lock garage door lock current and target state characteristics.
183
- garageDoorService.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet(async (value) => {
183
+ service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet(async (value) => {
184
184
  if (!(await this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock"))) {
185
185
  // Something went wrong. Let's make sure we revert the lock to it's prior state.
186
186
  setTimeout(() => {
187
- garageDoorService?.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
188
- garageDoorService?.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.status.lock);
187
+ service?.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
188
+ service?.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.status.lock);
189
189
  }, 50);
190
190
  }
191
191
  });
192
- garageDoorService.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.status.lock);
193
- garageDoorService.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
194
- garageDoorService.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => this.status.availability);
195
- garageDoorService.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
192
+ service.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.status.lock);
193
+ service.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
194
+ service.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => this.status.availability);
195
+ service.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
196
196
  // Let HomeKit know that this is the primary service on this accessory.
197
- garageDoorService.setPrimaryService(true);
197
+ service.setPrimaryService(true);
198
198
  return true;
199
199
  }
200
200
  // Configure the light for HomeKit.
201
201
  configureLight() {
202
- // Find the service, if it exists.
203
- let lightService = this.accessory.getService(this.hap.Service.Lightbulb);
204
- // Have we disabled the light?
205
- if (!this.hints.light) {
206
- if (lightService) {
207
- this.accessory.removeService(lightService);
208
- this.log.info("Disabling light.");
202
+ // Validate whether we should have this service enabled.
203
+ if (!validService(this.accessory, this.hap.Service.Lightbulb, () => {
204
+ // Have we disabled the light?
205
+ if (!this.hints.light) {
206
+ this.log.info("Disabling the light.");
207
+ return false;
209
208
  }
209
+ return true;
210
+ })) {
210
211
  return false;
211
212
  }
212
- // Add the service to the accessory, if needed.
213
- if (!lightService) {
214
- lightService = new this.hap.Service.Lightbulb(this.name);
215
- if (!lightService) {
216
- this.log.error("Unable to add the light.");
217
- return false;
218
- }
219
- lightService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
220
- lightService.updateCharacteristic(this.hap.Characteristic.Name, this.name);
221
- this.setServiceName(lightService, this.name);
222
- this.accessory.addService(lightService);
223
- this.log.info("Enabling light.");
213
+ // Acquire the service.
214
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
215
+ if (!service) {
216
+ this.log.error("Unable to add the light.");
217
+ return false;
224
218
  }
225
219
  // Initialize the light.
226
- lightService.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
220
+ service.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
227
221
  // Turn the light on or off.
228
- lightService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.light);
229
- lightService.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
230
- void this.command("light", value === true ? "on" : "off");
231
- });
222
+ service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.light);
223
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("light", value === true ? "on" : "off"));
232
224
  return true;
233
225
  }
234
226
  // Configure the motion sensor for HomeKit.
235
227
  configureMotionSensor() {
236
- // Find the motion sensor service, if it exists.
237
- let motionService = this.accessory.getService(this.hap.Service.MotionSensor);
238
- // Have we disabled the motion sensor?
239
- if (!this.hints.motionSensor) {
240
- if (motionService) {
241
- this.accessory.removeService(motionService);
242
- this.log.info("Disabling motion sensor.");
228
+ // Validate whether we should have this service enabled.
229
+ if (!validService(this.accessory, this.hap.Service.MotionSensor, () => {
230
+ // Have we disabled the motion sensor?
231
+ if (!this.hints.motionSensor) {
232
+ this.log.info("Disabling the motion sensor.");
233
+ return false;
243
234
  }
235
+ return true;
236
+ })) {
244
237
  return false;
245
238
  }
246
- // We don't have a motion sensor, let's add it to the device.
247
- if (!motionService) {
248
- // We don't have it, add the motion sensor to the device.
249
- motionService = new this.hap.Service.MotionSensor(this.name);
250
- if (!motionService) {
251
- this.log.error("Unable to add the motion sensor.");
252
- return false;
253
- }
254
- motionService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
255
- motionService.updateCharacteristic(this.hap.Characteristic.Name, this.name);
256
- this.setServiceName(motionService, this.name);
257
- this.accessory.addService(motionService);
258
- this.log.info("Enabling motion sensor.");
239
+ // Acquire the service.
240
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
241
+ if (!service) {
242
+ this.log.error("Unable to add the motion sensor.");
243
+ return false;
259
244
  }
260
245
  // Initialize the state of the motion sensor.
261
- motionService.updateCharacteristic(this.hap.Characteristic.MotionDetected, false);
262
- motionService.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
263
- motionService.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => this.status.availability);
246
+ service.updateCharacteristic(this.hap.Characteristic.MotionDetected, false);
247
+ service.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
248
+ service.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => this.status.availability);
264
249
  return true;
265
250
  }
266
251
  // Configure a dimmer to automate open and close events in HomeKit beyond what HomeKit might allow for a garage opener service that gets treated as a secure service.
267
252
  configureAutomationDoorPositionDimmer() {
268
- // Find the dimmer service, if it exists.
269
- let dimmerService = this.accessory.getServiceById(this.hap.Service.Lightbulb, RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
270
- // The switch is disabled by default and primarily exists for automation purposes.
271
- if (!this.hints.automationDimmer) {
272
- if (dimmerService) {
273
- this.accessory.removeService(dimmerService);
274
- this.log.info("Disabling automation door position dimmer.");
253
+ // Validate whether we should have this service enabled.
254
+ if (!validService(this.accessory, this.hap.Service.Lightbulb, () => {
255
+ // The door position dimmer is disabled by default and primarily exists for automation purposes.
256
+ if (!this.hints.automationDimmer) {
257
+ return false;
275
258
  }
259
+ return true;
260
+ }, RatgdoReservedNames.DIMMER_OPENER_AUTOMATION)) {
276
261
  return false;
277
262
  }
278
- // Add the dimmer to the opener, if needed.
279
- if (!dimmerService) {
280
- dimmerService = new this.hap.Service.Lightbulb(this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
281
- if (!dimmerService) {
282
- this.log.error("Unable to add automation door position dimmer.");
283
- return false;
284
- }
285
- this.accessory.addService(dimmerService);
263
+ // Acquire the service.
264
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
265
+ if (!service) {
266
+ this.log.error("Unable to add the automation door position dimmer.");
267
+ return false;
286
268
  }
287
- // Return the current state of the opener.
288
- dimmerService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
289
- // We're on if we are in any state other than closed (specifically open or stopped).
290
- return this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED;
291
- });
269
+ // Return the current state of the opener. We're on if we are in any state other than closed (specifically open or stopped).
270
+ service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
292
271
  // Close the opener. Opening is really handled in the brightness event.
293
- dimmerService.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
272
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
294
273
  // We really only want to act when the opener is open. Otherwise, it's handled by the brightness event.
295
274
  if (value) {
296
275
  return;
@@ -302,60 +281,49 @@ export class RatgdoAccessory {
302
281
  // Send the command.
303
282
  if (!this.setDoorState(this.hap.Characteristic.TargetDoorState.CLOSED)) {
304
283
  // Something went wrong. Let's make sure we revert the dimmer to it's prior state.
305
- setTimeout(() => {
306
- dimmerService?.updateCharacteristic(this.hap.Characteristic.On, !value);
307
- }, 50);
284
+ setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
308
285
  }
309
286
  });
310
287
  // Return the door position of the opener.
311
- dimmerService.getCharacteristic(this.hap.Characteristic.Brightness)?.onGet(() => {
312
- return this.status.doorPosition;
313
- });
288
+ service.getCharacteristic(this.hap.Characteristic.Brightness)?.onGet(() => this.status.doorPosition);
314
289
  // Adjust the door position of the opener by adjusting brightness of the light.
315
- dimmerService.getCharacteristic(this.hap.Characteristic.Brightness)?.onSet((value) => {
290
+ service.getCharacteristic(this.hap.Characteristic.Brightness)?.onSet((value) => {
316
291
  if (this.hints.logOpener) {
317
292
  this.log.info("Automation door position dimmer: moving opener to %s%.", value.toFixed(0));
318
293
  }
319
294
  this.setDoorState(value > 0 ?
320
295
  this.hap.Characteristic.TargetDoorState.OPEN : this.hap.Characteristic.TargetDoorState.CLOSED, value);
321
296
  });
322
- // Initialize the switch.
323
- dimmerService.displayName = this.name + " Automation Door Position";
324
- dimmerService.updateCharacteristic(this.hap.Characteristic.Name, this.name + " Automation Door Position");
325
- dimmerService.updateCharacteristic(this.hap.Characteristic.On, this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
326
- dimmerService.updateCharacteristic(this.hap.Characteristic.Brightness, this.status.doorPosition);
327
- this.log.info("Enabling automation door position dimmer.");
297
+ // Initialize the dimmer.
298
+ service.updateCharacteristic(this.hap.Characteristic.On, this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
299
+ service.updateCharacteristic(this.hap.Characteristic.Brightness, this.status.doorPosition);
300
+ service.displayName = this.name + " Automation Door Position";
301
+ service.updateCharacteristic(this.hap.Characteristic.Name, this.name + " Automation Door Position");
302
+ this.log.info("Enabling the automation door position dimmer.");
328
303
  return true;
329
304
  }
330
305
  // Configure a switch to automate open and close events in HomeKit beyond what HomeKit might allow for a garage opener service that gets treated as a secure service.
331
306
  configureAutomationDoorSwitch() {
332
- // Find the switch service, if it exists.
333
- let switchService = this.accessory.getServiceById(this.hap.Service.Switch, RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
334
- // The switch is disabled by default and primarily exists for automation purposes.
335
- if (!this.hints.automationSwitch) {
336
- if (switchService) {
337
- this.accessory.removeService(switchService);
338
- this.log.info("Disabling automation door opener switch.");
307
+ // Validate whether we should have this service enabled.
308
+ if (!validService(this.accessory, this.hap.Service.Switch, () => {
309
+ // Have we disabled the automation switch?
310
+ if (!this.hints.automationSwitch) {
311
+ return false;
339
312
  }
313
+ return true;
314
+ }, RatgdoReservedNames.SWITCH_OPENER_AUTOMATION)) {
340
315
  return false;
341
316
  }
342
- // Add the switch to the opener, if needed.
343
- if (!switchService) {
344
- switchService = new this.hap.Service.Switch(this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
345
- if (!switchService) {
346
- this.log.error("Unable to add automation door opener switch.");
347
- return false;
348
- }
349
- switchService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
350
- this.accessory.addService(switchService);
317
+ // Acquire the service.
318
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
319
+ if (!service) {
320
+ this.log.error("Unable to add the automation door opener switch.");
321
+ return false;
351
322
  }
352
- // Return the current state of the opener.
353
- switchService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
354
- // We're on if we are in any state other than closed (specifically open or stopped).
355
- return this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED;
356
- });
323
+ // Return the current state of the opener. We're on if we are in any state other than closed (specifically open or stopped).
324
+ service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
357
325
  // Open or close the opener.
358
- switchService.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
326
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
359
327
  // Inform the user.
360
328
  if (this.hints.logOpener) {
361
329
  this.log.info("Automation door opener switch: %s.", value ? "open" : "close");
@@ -363,128 +331,102 @@ export class RatgdoAccessory {
363
331
  // Send the command.
364
332
  if (!this.setDoorState(value ? this.hap.Characteristic.TargetDoorState.OPEN : this.hap.Characteristic.TargetDoorState.CLOSED)) {
365
333
  // Something went wrong. Let's make sure we revert the switch to it's prior state.
366
- setTimeout(() => {
367
- switchService?.updateCharacteristic(this.hap.Characteristic.On, !value);
368
- }, 50);
334
+ setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
369
335
  }
370
336
  });
371
337
  // Initialize the switch.
372
- switchService.updateCharacteristic(this.hap.Characteristic.Name, this.name + " Automation Opener");
373
- this.setServiceName(switchService, this.name + " Automation Opener");
374
- switchService.updateCharacteristic(this.hap.Characteristic.On, this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
375
- this.log.info("Enabling automation door opener switch.");
338
+ service.updateCharacteristic(this.hap.Characteristic.On, this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
339
+ service.updateCharacteristic(this.hap.Characteristic.Name, this.name + " Automation Opener");
340
+ this.setServiceName(service, this.name + " Automation Opener");
341
+ this.log.info("Enabling the automation door opener switch.");
376
342
  return true;
377
343
  }
378
344
  // Configure a switch to control the ability to lockout all wireless remotes for the garage door opener, if the feature exists.
379
345
  configureAutomationLockoutSwitch() {
380
- // Find the switch service, if it exists.
381
- let switchService = this.accessory.getServiceById(this.hap.Service.Switch, RatgdoReservedNames.SWITCH_LOCKOUT);
382
- // The switch is disabled by default and primarily exists for automation purposes.
383
- if (!this.hints.lockoutSwitch) {
384
- if (switchService) {
385
- this.accessory.removeService(switchService);
386
- this.log.info("Disabling automation wireless remote lockout switch.");
346
+ // Validate whether we should have this service enabled.
347
+ if (!validService(this.accessory, this.hap.Service.Switch, () => {
348
+ // The wireless lockout switch is disabled by default and primarily exists for automation purposes.
349
+ if (!this.hints.lockoutSwitch) {
350
+ return false;
387
351
  }
352
+ return true;
353
+ }, RatgdoReservedNames.SWITCH_LOCKOUT)) {
388
354
  return false;
389
355
  }
390
- // Add the switch to the opener, if needed.
391
- if (!switchService) {
392
- switchService = new this.hap.Service.Switch(this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
393
- if (!switchService) {
394
- this.log.error("Unable to add automation wireless remote lockout switch.");
395
- return false;
396
- }
397
- switchService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
398
- this.accessory.addService(switchService);
356
+ // Acquire the service.
357
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
358
+ if (!service) {
359
+ this.log.error("Unable to add the automation wireless remote lockout switch.");
360
+ return false;
399
361
  }
400
- // Return the current state of the opener.
401
- switchService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
402
- // We're on if we are in any state other than locked.
403
- return this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED;
404
- });
405
- // Open or close the opener.
406
- switchService.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
362
+ // Return the current state of the opener. We're on if we are in any state other than locked.
363
+ service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
364
+ // Lock or unlock the wireless remotes.
365
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
407
366
  // Inform the user.
408
367
  this.log.info("Automation wireless remote lockout switch: remotes are %s.", value ? "locked out" : "permitted");
409
368
  // Send the command.
410
369
  if (!(await this.command("lock", value ? "lock" : "unlock"))) {
411
370
  // Something went wrong. Let's make sure we revert the switch to it's prior state.
412
- setTimeout(() => {
413
- switchService?.updateCharacteristic(this.hap.Characteristic.On, !value);
414
- }, 50);
371
+ setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
415
372
  }
416
373
  });
417
374
  // Initialize the switch.
418
- switchService.updateCharacteristic(this.hap.Characteristic.Name, this.name + " Lockout");
419
- this.setServiceName(switchService, this.name + " Lockout");
420
- switchService.updateCharacteristic(this.hap.Characteristic.On, this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
421
- this.log.info("Enabling automation wireless remote lockout switch.");
375
+ service.updateCharacteristic(this.hap.Characteristic.Name, this.name + " Lockout");
376
+ this.setServiceName(service, this.name + " Lockout");
377
+ service.updateCharacteristic(this.hap.Characteristic.On, this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
378
+ this.log.info("Enabling the automation wireless remote lockout switch.");
422
379
  return true;
423
380
  }
424
381
  // Configure the door open occupancy sensor for HomeKit.
425
382
  configureDoorOpenOccupancySensor() {
426
- // Find the occupancy sensor service, if it exists.
427
- let occupancyService = this.accessory.getServiceById(this.hap.Service.OccupancySensor, RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
428
- // The occupancy sensor is disabled by default and primarily exists for automation purposes.
429
- if (!this.hints.doorOpenOccupancySensor) {
430
- if (occupancyService) {
431
- this.accessory.removeService(occupancyService);
432
- this.log.info("Disabling door open indicator occupancy sensor.");
383
+ // Validate whether we should have this service enabled.
384
+ if (!validService(this.accessory, this.hap.Service.OccupancySensor, () => {
385
+ // The occupancy sensor is disabled by default and primarily exists for automation purposes.
386
+ if (!this.hints.doorOpenOccupancySensor) {
387
+ return false;
433
388
  }
389
+ return true;
390
+ }, RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN)) {
434
391
  return false;
435
392
  }
436
- // We don't have an occupancy sensor, let's add it to the device.
437
- if (!occupancyService) {
438
- // We don't have it, add the occupancy sensor to the device.
439
- occupancyService = new this.hap.Service.OccupancySensor(this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
440
- if (!occupancyService) {
441
- this.log.error("Unable to add door open occupancy sensor.");
442
- return false;
443
- }
444
- occupancyService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
445
- this.setServiceName(occupancyService, this.name + " Open");
446
- this.accessory.addService(occupancyService);
447
- }
448
- // Initialize the state of the occupancy sensor.
449
- occupancyService.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, false);
450
- occupancyService.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
451
- occupancyService.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => {
452
- return this.status.availability;
453
- });
454
- this.log.info("Enabling door open indicator occupancy sensor. Occupancy will be triggered when the opener has been continuously open for more than %s seconds.", this.hints.doorOpenOccupancyDuration);
393
+ // Acquire the service.
394
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
395
+ if (!service) {
396
+ this.log.error("Unable to add the door open occupancy sensor.");
397
+ return false;
398
+ }
399
+ // Initialize the occupancy sensor.
400
+ service.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, false);
401
+ service.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
402
+ this.setServiceName(service, this.name + " Open");
403
+ service.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => this.status.availability);
404
+ this.log.info("Enabling the door open indicator occupancy sensor. Occupancy will be triggered when the opener has been continuously open for more than %s seconds.", this.hints.doorOpenOccupancyDuration);
455
405
  return true;
456
406
  }
457
407
  // Configure the motion occupancy sensor for HomeKit.
458
408
  configureMotionOccupancySensor() {
459
- // Find the occupancy sensor service, if it exists.
460
- let occupancyService = this.accessory.getServiceById(this.hap.Service.OccupancySensor, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
461
- // The occupancy sensor is disabled by default and primarily exists for automation purposes.
462
- if (!this.hints.motionOccupancySensor) {
463
- if (occupancyService) {
464
- this.accessory.removeService(occupancyService);
465
- this.log.info("Disabling occupancy sensor.");
409
+ // Validate whether we should have this service enabled.
410
+ if (!validService(this.accessory, this.hap.Service.OccupancySensor, () => {
411
+ // The occupancy sensor is disabled by default and primarily exists for automation purposes.
412
+ if (!this.hints.motionOccupancySensor) {
413
+ return false;
466
414
  }
415
+ return true;
416
+ }, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION)) {
467
417
  return false;
468
418
  }
469
- // We don't have an occupancy sensor, let's add it to the device.
470
- if (!occupancyService) {
471
- // We don't have it, add the occupancy sensor to the device.
472
- occupancyService = new this.hap.Service.OccupancySensor(this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
473
- if (!occupancyService) {
474
- this.log.error("Unable to add occupancy sensor.");
475
- return false;
476
- }
477
- occupancyService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
478
- this.setServiceName(occupancyService, this.name);
479
- this.accessory.addService(occupancyService);
480
- }
481
- // Initialize the state of the occupancy sensor.
482
- occupancyService.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, false);
483
- occupancyService.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
484
- occupancyService.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => {
485
- return this.status.availability;
486
- });
487
- this.log.info("Enabling occupancy sensor. Occupancy event duration set to %s seconds.", this.hints.motionOccupancyDuration);
419
+ // Acquire the service.
420
+ const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
421
+ if (!service) {
422
+ this.log.error("Unable to add the occupancy sensor.");
423
+ return false;
424
+ }
425
+ // Initialize the occupancy sensor.
426
+ service.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, false);
427
+ service.updateCharacteristic(this.hap.Characteristic.StatusActive, this.status.availability);
428
+ service.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => this.status.availability);
429
+ this.log.info("Enabling the occupancy sensor. Occupancy event duration set to %s seconds.", this.hints.motionOccupancyDuration);
488
430
  return true;
489
431
  }
490
432
  // Open or close the garage door.
@@ -1 +1 @@
1
- {"version":3,"file":"ratgdo-device.js","sourceRoot":"","sources":["../src/ratgdo-device.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAgB,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIrF,OAAO,IAAI,MAAM,WAAW,CAAC;AAkC7B,MAAM,OAAO,eAAe;IAET,SAAS,CAAoB;IAC7B,GAAG,CAAM;IACT,MAAM,CAAgB;IACvB,MAAM,CAAe;IAC7B,kBAAkB,CAAwB;IACjC,GAAG,CAAM;IACT,KAAK,CAAc;IACpB,GAAG,CAA0B;IACrC,oBAAoB,CAAwB;IAC5C,WAAW,CAAwB;IACnC,gBAAgB,CAAwB;IAC/B,QAAQ,CAAiB;IACzB,MAAM,CAAe;IAEtC,yEAAyE;IACzE,YAAY,QAAwB,EAAE,SAA4B,EAAE,MAAoB;QAEtF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,EAAkB,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,EAAiB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,GAAG,GAAG;YAET,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YAClI,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YACtI,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YACpI,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;SACrI,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,iDAAiD;IACzC,eAAe;QAErB,gCAAgC;QAChC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;QAE5B,uBAAuB;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,qCAAqC,EAAE,CAAC;QAC7C,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACxC,CAAC;IAED,sCAAsC;IAC9B,cAAc;QAEpB,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC;QAChK,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC;QAC9J,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAEzD,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAC;QACzH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IACxC,aAAa;QAEnB,uDAAuD;QACvD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAElJ,gDAAgD;QAChD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhI,4CAA4C;QAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9I,mDAAmD;QACnD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAC7H,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAA2B;IACnB,aAAa;QAEnB,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE;YAElF,0EAA0E;YAC1E,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE;YAE/F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC;YACZ,IAAI,QAAQ,CAAC;YAEb,QAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEjB,KAAK,OAAO;oBAEV,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;oBAEzD,MAAM;gBAER,KAAK,MAAM;oBAET,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;oBAEvD,kCAAkC;oBAClC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEjC,IAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;wBAEzD,QAAQ,GAAG,SAAS,CAAC;oBACvB,CAAC;oBAED,MAAM;gBAER;oBAEE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAEnC,OAAO;YACX,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE;YAEnF,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,IAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,GAAG,EAAE;gBAE3G,OAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,0BAA0B,CAAC;oBACtH,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,OAAO,CAAa,CAAC,QAAQ,EAAE,CAAC;YAC5G,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iDAAiD;QACjD,IAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAEpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;gBAEvE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,IAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAEpC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE;gBAE/E,OAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,uBAAuB,CAAC;oBACnH,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,OAAO,CAAa,CAAC,QAAQ,EAAE,CAAC;YAC5G,CAAC,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,IAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAE3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;gBAEzE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACzC,mBAAmB;QAEzB,IAAI,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAErF,kEAAkE;QAClE,IAAG,CAAC,iBAAiB,EAAE,CAAC;YAEtB,iBAAiB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACpF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC/C,CAAC;QAED,4HAA4H;QAC5H,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnG,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5H,wCAAwC;QACxC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,KAA0B,EAAE,EAAE;YAEhH,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5G,sCAAsC;QACtC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;QAE/H,gFAAgF;QAChF,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE;YAEtH,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAElH,gFAAgF;gBAChF,UAAU,CAAC,GAAG,EAAE;oBAEd,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7H,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtG,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnG,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5H,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChH,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEvG,uEAAuE;QACvE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IAC3B,cAAc;QAEpB,kCAAkC;QAClC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzE,8BAA8B;QAC9B,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAErB,IAAG,YAAY,EAAE,CAAC;gBAEhB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+CAA+C;QAC/C,IAAG,CAAC,YAAY,EAAE,CAAC;YAEjB,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAG,CAAC,YAAY,EAAE,CAAC;gBAEjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAE3C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/E,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;QAED,wBAAwB;QACxB,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjF,4BAA4B;QAC5B,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3F,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAA0B,EAAE,EAAE;YAE/F,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IACnC,qBAAqB;QAE3B,gDAAgD;QAChD,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE7E,sCAAsC;QACtC,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAE5B,IAAG,aAAa,EAAE,CAAC;gBAEjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,yDAAyD;YACzD,aAAa,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7D,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAEnD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAChF,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3C,CAAC;QAED,6CAA6C;QAC7C,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAClF,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEnG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE5G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qKAAqK;IAC7J,qCAAqC;QAE3C,yCAAyC;QACzC,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAE5H,kFAAkF;QAClF,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEhC,IAAG,aAAa,EAAE,CAAC;gBAEjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2CAA2C;QAC3C,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,aAAa,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,2BAA2B,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;YAEtI,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAEjE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAED,0CAA0C;QAC1C,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAEtE,oFAAoF;YACpF,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAA0B,EAAE,EAAE;YAEhG,uGAAuG;YACvG,IAAG,KAAK,EAAE,CAAC;gBAET,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC7D,CAAC;YAED,oBAAoB;YACpB,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBAEtE,kFAAkF;gBAClF,UAAU,CAAC,GAAG,EAAE;oBAEd,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE9E,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,KAA0B,EAAE,EAAE;YAExG,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wDAAwD,EAAG,KAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,CAAC;YAED,IAAI,CAAC,YAAY,CAAE,KAAgB,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,EAAE,KAAe,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACpE,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,CAAC;QAC1G,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChK,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEjG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qKAAqK;IAC7J,6BAA6B;QAEnC,yCAAyC;QACzC,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAEzH,kFAAkF;QAClF,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEhC,IAAG,aAAa,EAAE,CAAC;gBAEjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2CAA2C;QAC3C,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,aAAa,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,oBAAoB,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;YAE5H,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAE/D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAChF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAED,0CAA0C;QAC1C,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAEtE,oFAAoF;YACpF,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAA0B,EAAE,EAAE;YAEhG,mBAAmB;YACnB,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChF,CAAC;YAED,oBAAoB;YACpB,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBAE7H,kFAAkF;gBAClF,UAAU,CAAC,GAAG,EAAE;oBAEd,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;QACnG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;QACrE,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEhK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+HAA+H;IACvH,gCAAgC;QAEtC,yCAAyC;QACzC,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAE/G,kFAAkF;QAClF,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAE7B,IAAG,aAAa,EAAE,CAAC;gBAEjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2CAA2C;QAC3C,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,aAAa,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAExG,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAE3E,OAAO,KAAK,CAAC;YACf,CAAC;YAED,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAChF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAED,0CAA0C;QAC1C,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAEtE,qDAAqD;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE;YAEtG,mBAAmB;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhH,oBAAoB;YACpB,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAE5D,kFAAkF;gBAClF,UAAU,CAAC,GAAG,EAAE;oBAEd,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;QAC3D,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEtI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IAChD,gCAAgC;QAEtC,mDAAmD;QACnD,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAEvI,4FAA4F;QAC5F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAEvC,IAAG,gBAAgB,EAAE,CAAC;gBAEpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iEAAiE;QACjE,IAAG,CAAC,gBAAgB,EAAE,CAAC;YAErB,4DAA4D;YAC5D,gBAAgB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;YAE7H,IAAG,CAAC,gBAAgB,EAAE,CAAC;gBAErB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAE5D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACnF,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,gDAAgD;QAChD,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxF,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAElF,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iJAAiJ,EAC7J,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IAC7C,8BAA8B;QAEpC,mDAAmD;QACnD,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAEpI,4FAA4F;QAC5F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAErC,IAAG,gBAAgB,EAAE,CAAC;gBAEpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iEAAiE;QACjE,IAAG,CAAC,gBAAgB,EAAE,CAAC;YAErB,4DAA4D;YAC5D,gBAAgB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAEhH,IAAG,CAAC,gBAAgB,EAAE,CAAC;gBAErB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAElD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACnF,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,gDAAgD;QAChD,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxF,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAElF,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wEAAwE,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE5H,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACzB,YAAY,CAAC,KAA0B,EAAE,QAAiB;QAEhE,mCAAmC;QACnC,MAAM,YAAY,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAE7F,kDAAkD;QAClD,IAAG,YAAY,KAAK,SAAS,EAAE,CAAC;YAE9B,kEAAkE;YAClE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAEjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gFAAgF;QAChF,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mDAAmD,EAAE,YAAY,CAAC,CAAC;YAEjF,wHAAwH;YACxH,YAAY,CAAC,GAAG,EAAE;gBAEhB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EACxH,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9J,CAAC,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0IAA0I;QAC1I,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAEtJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;YAEnG,4BAA4B;YAC5B,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAElC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wDAAwD;QACxD,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAE9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEnK,uBAAuB;YACvB,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qCAAqC;IAC9B,WAAW,CAAC,KAAa,EAAE,OAAe,EAAE,QAAiB;QAElE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC9H,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC7I,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvF,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAClH,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAC5I,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAE3H,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,cAAc;gBAEjB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,OAAO,KAAK,QAAQ,CAAC;gBAEhD,2BAA2B;gBAC3B,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxG,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3G,sBAAsB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC7G,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEpG,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAErF,MAAM;YAER,KAAK,MAAM;gBAET,8CAA8C;gBAC9C,IAAG,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAE1B,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;oBAEpC,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClG,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBAC9F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBAED,+DAA+D;gBAC/D,IAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;oBAEhE,MAAM;gBACR,CAAC;gBAED,QAAO,OAAO,EAAE,CAAC;oBAEf,KAAK,QAAQ;wBAEX,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;wBAEnE,MAAM;oBAER,KAAK,SAAS;wBAEZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;wBAEpE,MAAM;oBAER,KAAK,MAAM;wBAET,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAEjE,iFAAiF;wBACjF,IAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BAElE,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;gCAExC,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gCAE5F,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oCAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gCACxD,CAAC;gCAED,kDAAkD;gCAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;4BAC5E,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;wBAClD,CAAC;wBAED,MAAM;oBAER,KAAK,SAAS;wBAEZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;wBAEpE,MAAM;oBAER,KAAK,SAAS;wBAEZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;wBAEpE,MAAM;oBAER;wBAEE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;wBAEnE,MAAM;gBACV,CAAC;gBAED,iKAAiK;gBACjK,+IAA+I;gBAC/I,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAEzE,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/H,CAAC;gBAED,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEpG,+CAA+C;gBAC/C,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE7J,mBAAmB;gBACnB,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAED,4HAA4H;gBAC5H,IAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC;oBAEzF,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAE/B,IAAG,oBAAoB,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAgB,EAAE,CAAC;wBAEvG,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;wBAE7F,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;4BAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;wBAClE,CAAC;wBAED,kDAAkD;wBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;gBAED,kDAAkD;gBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBAEpE,MAAM;YAER,KAAK,OAAO;gBAEV,gEAAgE;gBAChE,IAAG,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;oBAE5C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;oBACrC,gBAAgB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEtF,mBAAmB;oBACnB,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAEvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBACtC,CAAC;oBAED,kDAAkD;oBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtF,CAAC;gBAED,MAAM;YAER,KAAK,MAAM;gBAET,+DAA+D;gBAC/D,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAEvJ,MAAM;gBACR,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAEhJ,yBAAyB;gBACzB,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC;oBACrG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACvG,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpG,cAAc,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAExI,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAE7F,kDAAkD;gBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAElF,MAAM;YAER,KAAK,QAAQ;gBAEX,4IAA4I;gBAC5I,IAAG,OAAO,KAAK,UAAU,EAAE,CAAC;oBAE1B,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBAE1B,kCAAkC;gBAClC,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEhG,kKAAkK;gBAClK,4BAA4B;gBAC5B,IAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBAEpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBAEN,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACpC,CAAC;oBAED,kDAAkD;oBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAED,oCAAoC;gBACpC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;oBAEjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;oBAC3B,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAEhG,kDAAkD;oBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxF,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC,CAAC;gBAElC,oEAAoE;gBACpE,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;oBAErC,MAAM;gBACR,CAAC;gBAED,sCAAsC;gBACtC,IAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAE7B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACnC,CAAC;gBAED,2EAA2E;gBAC3E,IAAG,sBAAsB,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAEvG,0CAA0C;oBAC1C,sBAAsB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAE9F,kDAAkD;oBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAElE,iBAAiB;oBACjB,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAED,qDAAqD;gBACrD,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;oBAE1C,8BAA8B;oBAC9B,sBAAsB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBAE/F,kDAAkD;oBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAEnE,iBAAiB;oBACjB,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBACjD,CAAC;oBAED,oBAAoB;oBACpB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACnC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;gBAE9C,MAAM;YAER,KAAK,aAAa;gBAEhB,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC;gBAE/G,gEAAgE;gBAChE,IAAG,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,EAAE,CAAC;oBAE1D,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,KAAK,YAAY,CAAC;oBAEnD,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;wBAE7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBACxF,CAAC;oBAED,kDAAkD;oBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClG,CAAC;gBAED,MAAM;YAER,KAAK,SAAS;gBAEZ,MAAM;QACV,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAO,GAAG,EAAE,EAAE,QAAiB;QAElE,2CAA2C;QAC3C,IAAI,QAAQ,CAAC;QACb,IAAI,MAAM,CAAC;QAEX,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,MAAM;gBAET,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;gBAElG,QAAO,OAAO,EAAE,CAAC;oBAEf,KAAK,QAAQ;wBAEX,MAAM,GAAG,OAAO,CAAC;wBAEjB,MAAM;oBAER,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBAET,MAAM,GAAG,OAAO,CAAC;wBAEjB,MAAM;oBAER,KAAK,KAAK;wBAER,IAAG,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAE1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;4BAE5E,OAAO,KAAK,CAAC;wBACf,CAAC;wBAED,MAAM,GAAG,eAAe,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAEvD,MAAM;oBAER;wBAEE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;wBAE9D,OAAO,KAAK,CAAC;gBACjB,CAAC;gBAED,MAAM;YAER,KAAK,OAAO;gBAEV,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;gBACpG,MAAM,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;gBAErD,MAAM;YAER,KAAK,MAAM;gBAET,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjG,MAAM,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAElD,MAAM;YAER,KAAK,SAAS;gBAEZ,QAAQ,GAAG,qBAAqB,CAAC;gBACjC,MAAM,GAAG,OAAO,CAAC;gBAEjB,MAAM;YAER;gBAEE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAErE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YAEH,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YAE3I,IAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAEjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAErE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,IAAG,KAAK,YAAY,UAAU,EAAE,CAAC;gBAE/B,IAAI,YAAY,CAAC;gBAEjB,QAAO,KAAK,CAAC,IAAI,EAAE,CAAC;oBAElB,KAAK,YAAY;wBAEf,YAAY,GAAG,oDAAoD,CAAC;wBAEpE,MAAM;oBAER,KAAK,WAAW;wBAEd,YAAY,GAAG,oDAAoD,CAAC;wBAEpE,MAAM;oBAER,KAAK,WAAW;wBAEd,YAAY,GAAG,mDAAmD,CAAC;wBAEnE,MAAM;oBAER;wBAEE,YAAY,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;wBAElD,MAAM;gBACV,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,YAAY,CAAC,CAAC;gBAEtE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YAEtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8FAA8F;IACtF,yBAAyB,CAAC,KAA0B;QAE1D,8BAA8B;QAC9B,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM;gBAElD,OAAO,QAAQ,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,SAAS,CAAC;YAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI;gBAEhD,OAAO,MAAM,CAAC;YAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,SAAS,CAAC;YAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,SAAS,CAAC;YAEnB;gBAEE,MAAM;QACV,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6FAA6F;IACrF,wBAAwB,CAAC,KAA0B;QAEzD,8BAA8B;QAC9B,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM;gBAEjD,OAAO,QAAQ,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI;gBAE/C,OAAO,MAAM,CAAC;YAEhB;gBAEE,MAAM;QACV,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yIAAyI;IACjI,oBAAoB,CAAC,KAA0B;QAErD,sKAAsK;QACtK,oFAAoF;QACpF,IAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAE3B,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACvD,CAAC;QAED,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACtD;gBAEE,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,mBAAmB,CAAC,KAA0B;QAEpD,+JAA+J;QAC/J,iKAAiK;QACjK,+JAA+J;QAC/J,IAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAE3B,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;QACtD,CAAC;QAED,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;YAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACtD;gBAEE,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,mBAAmB,CAAC,KAA0B;QAEpD,QAAO,KAAK,EAAE,CAAC;YAEb,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO;gBAEnD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;YAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACtD;gBAEE,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,UAAU,CAAC,MAAc;QAE/B,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,iDAAiD;IACzC,cAAc,CAAC,OAA4B,EAAE,IAAY;QAE/D,IAAG,CAAC,OAAO,EAAE,CAAC;YAEZ,OAAO;QACT,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,sDAAsD;IACtD,IAAY,IAAI;QAEd,oEAAoE;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAe,CAAC;QAE/J,2FAA2F;QAC3F,OAAO,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,wEAAwE;IACxE,IAAY,aAAa;QAEvB,OAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACjK,CAAC;IAED,qEAAqE;IACrE,IAAY,aAAa,CAAC,IAAY;QAEpC,oFAAoF;QACpF,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,GAAG,IAAI,CAAC;QAE1D,qCAAqC;QACrC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7H,CAAC;CACF"}
1
+ {"version":3,"file":"ratgdo-device.js","sourceRoot":"","sources":["../src/ratgdo-device.ts"],"names":[],"mappings":"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"}
@@ -209,7 +209,7 @@ export class RatgdoPlatform {
209
209
  // Our device details.
210
210
  const device = {
211
211
  address: address,
212
- firmwareVersion: deviceInfo.version,
212
+ firmwareVersion: deviceInfo.version ?? deviceInfo.esphome_version,
213
213
  mac: mac.replace(/:/g, ""),
214
214
  name: deviceInfo.friendly_name,
215
215
  variant: deviceInfo.project_name
@@ -1 +1 @@
1
- {"version":3,"file":"ratgdo-platform.js","sourceRoot":"","sources":["../src/ratgdo-platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ratgdo-platform.js","sourceRoot":"","sources":["../src/ratgdo-platform.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,6 @@ export declare enum RatgdoReservedNames {
13
13
  SWITCH_OPENER_AUTOMATION = "Switch.Opener.Automation"
14
14
  }
15
15
  export declare enum RatgdoVariant {
16
- KONNECTED = "konnected.garage-door",
16
+ KONNECTED = "konnected.garage-door-gdov2-q",
17
17
  RATGDO = "ratgdo.esphome"
18
18
  }
@@ -17,7 +17,7 @@ export var RatgdoReservedNames;
17
17
  // Ratgdo device variants.
18
18
  export var RatgdoVariant;
19
19
  (function (RatgdoVariant) {
20
- RatgdoVariant["KONNECTED"] = "konnected.garage-door";
20
+ RatgdoVariant["KONNECTED"] = "konnected.garage-door-gdov2-q";
21
21
  RatgdoVariant["RATGDO"] = "ratgdo.esphome";
22
22
  })(RatgdoVariant || (RatgdoVariant = {}));
23
23
  //# sourceMappingURL=ratgdo-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ratgdo-types.js","sourceRoot":"","sources":["../src/ratgdo-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,yBAAyB;AACzB,MAAM,CAAN,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAE7B,2BAA2B;IAC3B,4EAAqD,CAAA;IAErD,qCAAqC;IACrC,8EAAuD,CAAA;IACvD,yEAAkD,CAAA;IAElD,2BAA2B;IAC3B,wDAAiC,CAAA;IACjC,4EAAqD,CAAA;AACvD,CAAC,EAZW,mBAAmB,KAAnB,mBAAmB,QAY9B;AAED,0BAA0B;AAC1B,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IAEvB,oDAAmC,CAAA;IACnC,0CAAyB,CAAA;AAC3B,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
1
+ {"version":3,"file":"ratgdo-types.js","sourceRoot":"","sources":["../src/ratgdo-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,yBAAyB;AACzB,MAAM,CAAN,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAE7B,2BAA2B;IAC3B,4EAAqD,CAAA;IAErD,qCAAqC;IACrC,8EAAuD,CAAA;IACvD,yEAAkD,CAAA;IAElD,2BAA2B;IAC3B,wDAAiC,CAAA;IACjC,4EAAqD,CAAA;AACvD,CAAC,EAZW,mBAAmB,KAAnB,mBAAmB,QAY9B;AAED,0BAA0B;AAC1B,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IAEvB,4DAA2C,CAAA;IAC3C,0CAAyB,CAAA;AAC3B,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-ratgdo",
3
3
  "displayName": "Homebridge Ratgdo",
4
- "version": "2.3.0",
4
+ "version": "2.3.1",
5
5
  "description": "HomeKit integration for LiftMaster and Chamberlain garage door openers, without requiring myQ.",
6
6
  "license": "ISC",
7
7
  "repository": {
@@ -23,7 +23,7 @@
23
23
  "build-ui": "shx mkdir -p homebridge-ui/public/lib && shx cp \"node_modules/homebridge-plugin-utils/dist/ui/**/*.@(js|mjs){,.map}\" homebridge-ui/public/lib",
24
24
  "clean": "shx rm -rf dist homebridge-ui/public/lib",
25
25
  "prelint": "npm run build-ui",
26
- "lint": "eslint eslint.config.mjs src/**.ts homebridge-ui/*.js homebridge-ui/public/**/*.mjs",
26
+ "lint": "eslint --max-warnings=${ESLINT_MAX_WARNINGS:-\"-1\"} eslint.config.mjs src/**.ts homebridge-ui/*.js homebridge-ui/public/**/*.mjs",
27
27
  "postpublish": "npm run clean",
28
28
  "prepublishOnly": "npm run lint && npm run build"
29
29
  },
@@ -35,7 +35,7 @@
35
35
  "@types/eventsource": "^1.1.15",
36
36
  "@types/node": "^20.14.11",
37
37
  "eslint": "8.57.0",
38
- "homebridge": "^1.8.3",
38
+ "homebridge": "^1.8.4",
39
39
  "shx": "^0.3.4",
40
40
  "typescript": "^5.5.3",
41
41
  "typescript-eslint": "^7.16.1"
@@ -45,6 +45,6 @@
45
45
  "@homebridge/plugin-ui-utils": "^1.0.3",
46
46
  "bonjour-service": "^1.2.1",
47
47
  "eventsource": "^2.0.2",
48
- "homebridge-plugin-utils": "^1.5.0"
48
+ "homebridge-plugin-utils": "^1.6.0"
49
49
  }
50
50
  }