matterbridge-example-dynamic-platform 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,10 +4,25 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  If you like this project and find it useful, please consider giving it a star on GitHub at https://github.com/Luligu/matterbridge-example-dynamic-platform and sponsoring it.
6
6
 
7
+ ## [1.1.3] - 2024-12-16
8
+
9
+ - [package]: Added thermostat Heat only with two external temperature sensors (tagged like Indoor and Outdoor).
10
+ - [package]: Added thermostat Cool only.
11
+ - [package]: Added an airPurifier device with temperature and humidity sensor (supported by Apple Home).
12
+ - [package]: Added a pumpDevice device.
13
+ - [package]: Added a waterValve device.
14
+ - [package]: Require matterbridge 1.6.7.
15
+ - [package]: Updated dependencies.
16
+
17
+ <a href="https://www.buymeacoffee.com/luligugithub">
18
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
19
+ </a>
20
+
7
21
  ## [1.1.2] - 2024-12-12
8
22
 
9
- - [package]: Added the Matter 1.3 airConditioner device.
10
- - [package]: Require matterbridge 1.6.6
23
+ - [package]: Added the Matter 1.3 airConditioner device (not supported by Apple Home).
24
+ - [package]: Require matterbridge 1.6.6.
25
+ - [package]: Added Jest test with 100% coverage.
11
26
  - [package]: Updated package.
12
27
  - [package]: Updated dependencies.
13
28
 
package/README.md CHANGED
@@ -22,20 +22,25 @@ It exposes:
22
22
  - a light with onOff
23
23
  - a light with onOff and levelControl (dimmer)
24
24
  - a light with onOff, levelControl and colorControl (with XY, HS and CT) clusters
25
- - a light with onOff, levelControl and colorControl (with HS only) clusters
26
- - a light with onOff, levelControl and colorControl (with XY only) clusters
25
+ - a light with onOff, levelControl and colorControl (with HS and CT) clusters
26
+ - a light with onOff, levelControl and colorControl (with XY and CT) clusters
27
27
  - a light with onOff, levelControl and colorControl (with CT only) clusters
28
28
  - an outlet (plug) with onOff cluster
29
29
  - a cover with windowCovering cluster
30
30
  - a lock with doorLock cluster
31
- - a thermo with thermostat cluster and 3 sub endpoints with flowMeasurement cluster, temperatureMeasurement cluster
31
+ - a thermo autoMode (i.e. with Auto Heat and Cool features) with thermostat cluster and 3 sub endpoints with flowMeasurement cluster, temperatureMeasurement cluster
32
32
  and relativeHumidityMeasurement cluster (to show how to create a composed device with sub endpoints)
33
- - an airConditioner device
33
+ - a thermo heat only with two external temperature sensors (tagged like Indoor and Outdoor)
34
+ - a thermo cool only
34
35
  - a fan with FanControl cluster
35
36
  - a rainSensor device
36
37
  - a waterFreezeDetector device
37
38
  - a waterLeakDetector device
38
39
  - a smokeCoAlarm device
40
+ - an airConditioner device
41
+ - an airPurifier device with temperature and humidity sensor (supported by Apple Home)
42
+ - a pumpDevice device
43
+ - a waterValve device
39
44
 
40
45
  All these devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices) and how to subscribe to attributes.
41
46
 
@@ -12,7 +12,9 @@ export declare class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDyna
12
12
  outlet: MatterbridgeDevice | undefined;
13
13
  cover: MatterbridgeDevice | undefined;
14
14
  lock: MatterbridgeDevice | undefined;
15
- thermo: MatterbridgeDevice | undefined;
15
+ thermoAuto: MatterbridgeDevice | undefined;
16
+ thermoHeat: MatterbridgeDevice | undefined;
17
+ thermoCool: MatterbridgeDevice | undefined;
16
18
  fan: MatterbridgeDevice | undefined;
17
19
  waterLeak: MatterbridgeDevice | undefined;
18
20
  waterFreeze: MatterbridgeDevice | undefined;
@@ -20,6 +22,9 @@ export declare class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDyna
20
22
  smoke: MatterbridgeDevice | undefined;
21
23
  airQuality: MatterbridgeDevice | undefined;
22
24
  airConditioner: MatterbridgeDevice | undefined;
25
+ airPurifier: MatterbridgeDevice | undefined;
26
+ pump: MatterbridgeDevice | undefined;
27
+ valve: MatterbridgeDevice | undefined;
23
28
  switchInterval: NodeJS.Timeout | undefined;
24
29
  lightInterval: NodeJS.Timeout | undefined;
25
30
  outletInterval: NodeJS.Timeout | undefined;
@@ -34,6 +39,7 @@ export declare class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDyna
34
39
  airQualityInterval: NodeJS.Timeout | undefined;
35
40
  airConditionerInterval: NodeJS.Timeout | undefined;
36
41
  bridgedDevices: Map<string, MatterbridgeDevice>;
42
+ fanModeLookup: string[];
37
43
  createMutableDevice(definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: EndpointOptions, debug?: boolean): Promise<MatterbridgeDevice>;
38
44
  constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig);
39
45
  onStart(reason?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAQV,oBAAoB,EAIpB,eAAe,EAWf,cAAc,EA0Bf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,6BAA6B,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3H,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,kCAAmC,SAAQ,2BAA2B;IACjF,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC3C,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACpC,SAAS,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5C,IAAI,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC3C,cAAc,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAE/C,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC/C,sBAAsB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAEnD,cAAc,kCAAyC;IAEjD,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAE,eAAoB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBAO7J,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAahE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAkyBvB,WAAW;IAiTX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAiB1C"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -1,4 +1,4 @@
1
- import { AirQuality, AirQualityCluster, BooleanStateCluster, BooleanStateConfiguration, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, ColorControl, ColorControlCluster, DeviceTypes, DoorLock, DoorLockCluster, FanControl, FanControlCluster, FlowMeasurement, FlowMeasurementCluster, FormaldehydeConcentrationMeasurement, LevelControlCluster, MatterbridgeEndpoint, NitrogenDioxideConcentrationMeasurement, OnOffCluster, OzoneConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm25ConcentrationMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, SmokeCoAlarm, SmokeCoAlarmCluster, TemperatureMeasurement, TemperatureMeasurementCluster, Thermostat, ThermostatCluster, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, WindowCoveringCluster, airConditioner, airQualitySensor, bridgedNode, onOffSwitch, powerSource, rainSensor, smokeCoAlarm, waterFreezeDetector, waterLeakDetector, } from 'matterbridge';
1
+ import { AirQuality, AirQualityCluster, BooleanStateCluster, BooleanStateConfiguration, CarbonDioxideConcentrationMeasurement, CarbonMonoxideConcentrationMeasurement, ColorControl, ColorControlCluster, DoorLock, DoorLockCluster, FanControl, FanControlCluster, FlowMeasurement, FlowMeasurementCluster, FormaldehydeConcentrationMeasurement, LevelControlCluster, MatterbridgeEndpoint, NitrogenDioxideConcentrationMeasurement, OnOffCluster, OzoneConcentrationMeasurement, Pm10ConcentrationMeasurement, Pm1ConcentrationMeasurement, Pm25ConcentrationMeasurement, RadonConcentrationMeasurement, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, SmokeCoAlarm, SmokeCoAlarmCluster, TemperatureMeasurement, TemperatureMeasurementCluster, Thermostat, ThermostatCluster, TotalVolatileOrganicCompoundsConcentrationMeasurement, WindowCovering, WindowCoveringCluster, airConditioner, airQualitySensor, bridgedNode, colorTemperatureLight, coverDevice, dimmableLight, doorLockDevice, fanDevice, flowSensor, humiditySensor, onOffLight, onOffOutlet, onOffSwitch, powerSource, rainSensor, smokeCoAlarm, temperatureSensor, thermostatDevice, waterFreezeDetector, waterLeakDetector, LocationTag, airPurifier, pumpDevice, waterValve, } from 'matterbridge';
2
2
  import { /* MatterbridgeEndpoint as */ MatterbridgeDevice, MatterbridgeDynamicPlatform } from 'matterbridge';
3
3
  import { isValidBoolean, isValidNumber } from 'matterbridge/utils';
4
4
  export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatform {
@@ -12,7 +12,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
12
12
  outlet;
13
13
  cover;
14
14
  lock;
15
- thermo;
15
+ thermoAuto;
16
+ thermoHeat;
17
+ thermoCool;
16
18
  fan;
17
19
  waterLeak;
18
20
  waterFreeze;
@@ -20,6 +22,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
20
22
  smoke;
21
23
  airQuality;
22
24
  airConditioner;
25
+ airPurifier;
26
+ pump;
27
+ valve;
23
28
  switchInterval;
24
29
  lightInterval;
25
30
  outletInterval;
@@ -34,6 +39,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
34
39
  airQualityInterval;
35
40
  airConditionerInterval;
36
41
  bridgedDevices = new Map();
42
+ fanModeLookup = ['Off', 'Low', 'Medium', 'High', 'On', 'Auto', 'Smart'];
37
43
  async createMutableDevice(definition, options = {}, debug = false) {
38
44
  let device;
39
45
  if (this.matterbridge.edge === true)
@@ -45,8 +51,8 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
45
51
  constructor(matterbridge, log, config) {
46
52
  super(matterbridge, log, config);
47
53
  // Verify that Matterbridge is the correct version
48
- if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('1.6.6')) {
49
- throw new Error(`This plugin requires Matterbridge version >= "1.6.6". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend.`);
54
+ if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('1.6.7')) {
55
+ throw new Error(`This plugin requires Matterbridge version >= "1.6.7". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend.`);
50
56
  }
51
57
  this.log.info('Initializing platform:', this.config.name);
52
58
  }
@@ -76,7 +82,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
76
82
  this.switch?.log.info('Command off called');
77
83
  });
78
84
  // Create a on off light device
79
- this.lightOnOff = await this.createMutableDevice([DeviceTypes.ON_OFF_LIGHT, bridgedNode], { uniqueStorageKey: 'Light (on/off)' }, this.config.debug);
85
+ this.lightOnOff = await this.createMutableDevice([onOffLight, bridgedNode], { uniqueStorageKey: 'Light (on/off)' }, this.config.debug);
80
86
  this.lightOnOff.log.logName = 'Light (on/off)';
81
87
  this.lightOnOff.createDefaultIdentifyClusterServer();
82
88
  this.lightOnOff.createDefaultGroupsClusterServer();
@@ -99,7 +105,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
99
105
  this.lightOnOff?.log.info('Command off called');
100
106
  });
101
107
  // Create a dimmer device
102
- this.dimmer = await this.createMutableDevice([DeviceTypes.DIMMABLE_LIGHT, bridgedNode], { uniqueStorageKey: 'Dimmer' }, this.config.debug);
108
+ this.dimmer = await this.createMutableDevice([dimmableLight, bridgedNode], { uniqueStorageKey: 'Dimmer' }, this.config.debug);
103
109
  this.dimmer.log.logName = 'Dimmer';
104
110
  this.dimmer.createDefaultIdentifyClusterServer();
105
111
  this.dimmer.createDefaultGroupsClusterServer();
@@ -131,7 +137,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
131
137
  this.dimmer?.log.debug(`Command moveToLevelWithOnOff called request: ${level}`);
132
138
  });
133
139
  // Create a light device
134
- this.light = await this.createMutableDevice([DeviceTypes.COLOR_TEMPERATURE_LIGHT, bridgedNode], { uniqueStorageKey: 'Light (XY, HS and CT)' }, this.config.debug);
140
+ this.light = await this.createMutableDevice([colorTemperatureLight, bridgedNode], { uniqueStorageKey: 'Light (XY, HS and CT)' }, this.config.debug);
135
141
  this.light.log.logName = 'Light (XY, HS and CT)';
136
142
  this.light.createDefaultIdentifyClusterServer();
137
143
  this.light.createDefaultGroupsClusterServer();
@@ -186,7 +192,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
186
192
  this.light?.log.debug(`Command moveToColorTemperature called request: ${request.colorTemperatureMireds} attributes: ${attributes.colorTemperatureMireds?.getLocal()}`);
187
193
  });
188
194
  // Create a light device with HS color control
189
- this.lightHS = await this.createMutableDevice([DeviceTypes.COLOR_TEMPERATURE_LIGHT, bridgedNode], { uniqueStorageKey: 'Light (HS)' }, this.config.debug);
195
+ this.lightHS = await this.createMutableDevice([colorTemperatureLight, bridgedNode], { uniqueStorageKey: 'Light (HS)' }, this.config.debug);
190
196
  this.lightHS.log.logName = 'Light (HS, CT)';
191
197
  this.lightHS.createDefaultIdentifyClusterServer();
192
198
  this.lightHS.createDefaultGroupsClusterServer();
@@ -237,7 +243,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
237
243
  this.light?.log.debug(`Command moveToColorTemperature called request: ${request.colorTemperatureMireds} attributes: ${attributes.colorTemperatureMireds?.getLocal()}`);
238
244
  });
239
245
  // Create a light device with XY color control
240
- this.lightXY = await this.createMutableDevice([DeviceTypes.COLOR_TEMPERATURE_LIGHT, bridgedNode], { uniqueStorageKey: 'Light (XY)' }, this.config.debug);
246
+ this.lightXY = await this.createMutableDevice([colorTemperatureLight, bridgedNode], { uniqueStorageKey: 'Light (XY)' }, this.config.debug);
241
247
  this.lightXY.log.logName = 'Light (XY, CT)';
242
248
  this.lightXY.createDefaultIdentifyClusterServer();
243
249
  this.lightXY.createDefaultGroupsClusterServer();
@@ -246,7 +252,6 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
246
252
  this.lightXY.createDefaultOnOffClusterServer();
247
253
  this.lightXY.createDefaultLevelControlClusterServer();
248
254
  this.lightXY.createXyColorControlClusterServer();
249
- // await this.lightXY.configureColorControlCluster(false, true, false, ColorControl.ColorMode.CurrentXAndCurrentY);
250
255
  this.lightXY.addDeviceType(powerSource);
251
256
  this.lightXY.createDefaultPowerSourceWiredClusterServer();
252
257
  await this.registerDevice(this.lightXY);
@@ -280,7 +285,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
280
285
  this.light?.log.debug(`Command moveToColorTemperature called request: ${request.colorTemperatureMireds} attributes: ${attributes.colorTemperatureMireds?.getLocal()}`);
281
286
  });
282
287
  // Create a light device with CT color control
283
- this.lightCT = await this.createMutableDevice([DeviceTypes.COLOR_TEMPERATURE_LIGHT, bridgedNode], { uniqueStorageKey: 'Light (CT)' }, this.config.debug);
288
+ this.lightCT = await this.createMutableDevice([colorTemperatureLight, bridgedNode], { uniqueStorageKey: 'Light (CT)' }, this.config.debug);
284
289
  this.lightCT.log.logName = 'Light (CT)';
285
290
  this.lightCT.createDefaultIdentifyClusterServer();
286
291
  this.lightCT.createDefaultGroupsClusterServer();
@@ -318,7 +323,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
318
323
  this.lightCT?.log.debug(`Command moveToColorTemperature called request: ${request.colorTemperatureMireds}`);
319
324
  });
320
325
  // Create an outlet device
321
- this.outlet = await this.createMutableDevice([DeviceTypes.ON_OFF_PLUGIN_UNIT, bridgedNode], { uniqueStorageKey: 'Outlet' }, this.config.debug);
326
+ this.outlet = await this.createMutableDevice([onOffOutlet, bridgedNode], { uniqueStorageKey: 'Outlet' }, this.config.debug);
322
327
  this.outlet.log.logName = 'Outlet';
323
328
  this.outlet.createDefaultIdentifyClusterServer();
324
329
  this.outlet.createDefaultGroupsClusterServer();
@@ -342,7 +347,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
342
347
  });
343
348
  // Create a window covering device
344
349
  // Matter uses 10000 = fully closed 0 = fully opened
345
- this.cover = await this.createMutableDevice([DeviceTypes.WINDOW_COVERING, bridgedNode], { uniqueStorageKey: 'Cover' }, this.config.debug);
350
+ this.cover = await this.createMutableDevice([coverDevice, bridgedNode], { uniqueStorageKey: 'Cover' }, this.config.debug);
346
351
  this.cover.log.logName = 'Cover';
347
352
  this.cover.createDefaultIdentifyClusterServer();
348
353
  this.cover.createDefaultGroupsClusterServer();
@@ -376,7 +381,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
376
381
  this.cover?.log.info(`Command goToLiftPercentage ${liftPercent100thsValue} called`);
377
382
  });
378
383
  // Create a lock device
379
- this.lock = await this.createMutableDevice([DeviceTypes.DOOR_LOCK, bridgedNode], { uniqueStorageKey: 'Lock' }, this.config.debug);
384
+ this.lock = await this.createMutableDevice([doorLockDevice, bridgedNode], { uniqueStorageKey: 'Lock' }, this.config.debug);
380
385
  this.lock.log.logName = 'Lock';
381
386
  this.lock.createDefaultIdentifyClusterServer();
382
387
  this.lock.createDefaultBridgedDeviceBasicInformationClusterServer('Lock', '0x96352164', 0xfff1, 'Matterbridge', 'Matterbridge Lock', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
@@ -396,63 +401,169 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
396
401
  await this.lock?.setAttribute(DoorLockCluster.id, 'lockState', DoorLock.LockState.Unlocked, this.lock?.log, this.lock);
397
402
  this.lock?.log.info('Command unlockDoor called');
398
403
  });
399
- // Create a thermostat device
400
- this.thermo = await this.createMutableDevice([DeviceTypes.THERMOSTAT, bridgedNode], { uniqueStorageKey: 'Thermostat' }, this.config.debug);
401
- this.thermo.log.logName = 'Thermostat';
402
- this.thermo.createDefaultIdentifyClusterServer();
403
- this.thermo.createDefaultGroupsClusterServer();
404
- this.thermo.createDefaultScenesClusterServer();
405
- this.thermo.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat', '0x96382164', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
406
- this.thermo.createDefaultThermostatClusterServer(20, 18, 22);
407
- this.thermo.addDeviceType(powerSource);
408
- this.thermo.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
409
- const flowChild = this.thermo.addChildDeviceTypeWithClusterServer('Flow', [DeviceTypes.FLOW_SENSOR], [FlowMeasurement.Cluster.id]);
404
+ // Create a thermostat with AutoMode device
405
+ this.thermoAuto = await this.createMutableDevice([thermostatDevice, bridgedNode], { uniqueStorageKey: 'ThermostatAuto' }, this.config.debug);
406
+ this.thermoAuto.log.logName = 'Thermostat (AutoMode)';
407
+ this.thermoAuto.createDefaultIdentifyClusterServer();
408
+ this.thermoAuto.createDefaultGroupsClusterServer();
409
+ this.thermoAuto.createDefaultScenesClusterServer();
410
+ this.thermoAuto.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (AutoMode)', '0x96382164A', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
411
+ this.thermoAuto.createDefaultThermostatClusterServer(20, 18, 22);
412
+ this.thermoAuto.addDeviceType(powerSource);
413
+ this.thermoAuto.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
414
+ const flowChild = this.thermoAuto.addChildDeviceTypeWithClusterServer('Flow', [flowSensor], [FlowMeasurement.Cluster.id]);
410
415
  flowChild.getClusterServer(FlowMeasurement.Cluster)?.setMeasuredValueAttribute(1 * 10);
411
- const tempChild = this.thermo.addChildDeviceTypeWithClusterServer('Temperature', [DeviceTypes.TEMPERATURE_SENSOR], [TemperatureMeasurement.Cluster.id]);
416
+ const tempChild = this.thermoAuto.addChildDeviceTypeWithClusterServer('Temperature', [temperatureSensor], [TemperatureMeasurement.Cluster.id]);
412
417
  tempChild.getClusterServer(TemperatureMeasurement.Cluster)?.setMeasuredValueAttribute(41 * 100);
413
- const humidityChild = this.thermo.addChildDeviceTypeWithClusterServer('Humidity', [DeviceTypes.HUMIDITY_SENSOR], [RelativeHumidityMeasurement.Cluster.id]);
418
+ const humidityChild = this.thermoAuto.addChildDeviceTypeWithClusterServer('Humidity', [humiditySensor], [RelativeHumidityMeasurement.Cluster.id]);
414
419
  humidityChild.getClusterServer(RelativeHumidityMeasurement.Cluster)?.setMeasuredValueAttribute(80 * 100);
415
- await this.registerDevice(this.thermo);
416
- this.bridgedDevices.set(this.thermo.deviceName ?? '', this.thermo);
417
- this.thermo.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
418
- this.thermo?.log.info(`Command identify called identifyTime:${identifyTime}`);
420
+ await this.registerDevice(this.thermoAuto);
421
+ this.bridgedDevices.set(this.thermoAuto.deviceName ?? '', this.thermoAuto);
422
+ this.thermoAuto.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
423
+ this.thermoAuto?.log.info(`Command identify called identifyTime ${identifyTime}`);
419
424
  });
420
- this.thermo.addCommandHandler('setpointRaiseLower', async ({ request: { mode, amount } }) => {
425
+ this.thermoAuto.addCommandHandler('triggerEffect', async ({ request: { effectIdentifier, effectVariant } }) => {
426
+ this.thermoAuto?.log.info(`Command identify called effectIdentifier ${effectIdentifier} effectVariant ${effectVariant}`);
427
+ });
428
+ this.thermoAuto.addCommandHandler('setpointRaiseLower', async ({ request: { mode, amount } }) => {
421
429
  const lookupSetpointAdjustMode = ['Heat', 'Cool', 'Both'];
422
- this.thermo?.log.info(`Command setpointRaiseLower called with mode: ${lookupSetpointAdjustMode[mode]} amount: ${amount / 10}`);
430
+ this.thermoAuto?.log.info(`Command setpointRaiseLower called with mode: ${lookupSetpointAdjustMode[mode]} amount: ${amount / 10}`);
423
431
  if (mode === Thermostat.SetpointRaiseLowerMode.Heat || mode === Thermostat.SetpointRaiseLowerMode.Both) {
424
- const setpoint = this.thermo?.getAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', this.thermo?.log) / 100 + amount / 10;
425
- await this.thermo?.setAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', setpoint * 100, this.thermo?.log);
426
- this.thermo?.log.info('Set occupiedHeatingSetpoint:', setpoint);
432
+ const setpoint = this.thermoAuto?.getAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', this.thermoAuto?.log) / 100 + amount / 10;
433
+ await this.thermoAuto?.setAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', setpoint * 100, this.thermoAuto?.log);
434
+ this.thermoAuto?.log.info('Set occupiedHeatingSetpoint:', setpoint);
427
435
  }
428
436
  if (mode === Thermostat.SetpointRaiseLowerMode.Cool || mode === Thermostat.SetpointRaiseLowerMode.Both) {
429
- const setpoint = this.thermo?.getAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', this.thermo?.log) / 100 + amount / 10;
430
- await this.thermo?.setAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', setpoint * 100, this.thermo?.log);
431
- this.thermo?.log.info('Set occupiedCoolingSetpoint:', setpoint);
437
+ const setpoint = this.thermoAuto?.getAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', this.thermoAuto?.log) / 100 + amount / 10;
438
+ await this.thermoAuto?.setAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', setpoint * 100, this.thermoAuto?.log);
439
+ this.thermoAuto?.log.info('Set occupiedCoolingSetpoint:', setpoint);
432
440
  }
433
441
  });
434
- this.thermo.subscribeAttribute(ThermostatCluster.id, 'systemMode', async (value) => {
442
+ this.thermoAuto.subscribeAttribute(ThermostatCluster.id, 'systemMode', async (value) => {
443
+ const lookupSystemMode = ['Off', 'Auto', '', 'Cool', 'Heat', 'EmergencyHeat', 'Precooling', 'FanOnly', 'Dry', 'Sleep'];
444
+ this.thermoAuto?.log.info('Subscribe systemMode called with:', lookupSystemMode[value]);
445
+ }, this.thermoAuto.log, this.thermoAuto);
446
+ this.thermoAuto.subscribeAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', async (value) => {
447
+ this.thermoAuto?.log.info('Subscribe occupiedHeatingSetpoint called with:', value / 100);
448
+ }, this.thermoAuto.log, this.thermoAuto);
449
+ this.thermoAuto.subscribeAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', async (value) => {
450
+ this.thermoAuto?.log.info('Subscribe occupiedCoolingSetpoint called with:', value / 100);
451
+ }, this.thermoAuto.log, this.thermoAuto);
452
+ // Create a thermostat with Heat device
453
+ this.thermoHeat = await this.createMutableDevice([thermostatDevice, bridgedNode], { uniqueStorageKey: 'ThermostatHeat' }, this.config.debug);
454
+ this.thermoHeat.log.logName = 'Thermostat (Heat)';
455
+ this.thermoHeat.createDefaultIdentifyClusterServer();
456
+ this.thermoHeat.createDefaultGroupsClusterServer();
457
+ this.thermoHeat.createDefaultScenesClusterServer();
458
+ this.thermoHeat.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (Heat)', '0x96382164H', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
459
+ this.thermoHeat.createDefaultHeatingThermostatClusterServer(20, 18, 5, 35);
460
+ this.thermoHeat.addDeviceType(powerSource);
461
+ this.thermoHeat.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
462
+ const heatTempIN = this.thermoHeat.addChildDeviceType('TemperatureIN', [temperatureSensor], {
463
+ tagList: [{ mfgCode: null, namespaceId: LocationTag.Indoor.namespaceId, tag: LocationTag.Indoor.tag, label: null }],
464
+ });
465
+ heatTempIN.createDefaultIdentifyClusterServer();
466
+ heatTempIN.createDefaultTemperatureMeasurementClusterServer(21 * 100);
467
+ const heatTempOUT = this.thermoHeat.addChildDeviceType('TemperatureOUT', [temperatureSensor], {
468
+ tagList: [{ mfgCode: null, namespaceId: LocationTag.Outdoor.namespaceId, tag: LocationTag.Outdoor.tag, label: null }],
469
+ });
470
+ heatTempOUT.createDefaultIdentifyClusterServer();
471
+ heatTempOUT.createDefaultTemperatureMeasurementClusterServer(15 * 100);
472
+ await this.registerDevice(this.thermoHeat);
473
+ this.bridgedDevices.set(this.thermoHeat.deviceName ?? '', this.thermoHeat);
474
+ this.thermoHeat.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
475
+ this.thermoHeat?.log.info(`Command identify called identifyTime ${identifyTime}`);
476
+ });
477
+ this.thermoHeat.addCommandHandler('triggerEffect', async ({ request: { effectIdentifier, effectVariant } }) => {
478
+ this.thermoHeat?.log.info(`Command identify called effectIdentifier ${effectIdentifier} effectVariant ${effectVariant}`);
479
+ });
480
+ this.thermoHeat.subscribeAttribute(ThermostatCluster.id, 'systemMode', async (value) => {
481
+ const lookupSystemMode = ['Off', 'Auto', '', 'Cool', 'Heat', 'EmergencyHeat', 'Precooling', 'FanOnly', 'Dry', 'Sleep'];
482
+ this.thermoHeat?.log.info('Subscribe systemMode called with:', lookupSystemMode[value]);
483
+ }, this.thermoHeat.log);
484
+ this.thermoHeat.subscribeAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', async (value) => {
485
+ this.thermoHeat?.log.info('Subscribe occupiedHeatingSetpoint called with:', value / 100);
486
+ }, this.thermoHeat.log);
487
+ // Create a thermostat with Cool device
488
+ this.thermoCool = await this.createMutableDevice([thermostatDevice, bridgedNode], { uniqueStorageKey: 'ThermostatCool' }, this.config.debug);
489
+ this.thermoCool.log.logName = 'Thermostat (Cool)';
490
+ this.thermoCool.createDefaultIdentifyClusterServer();
491
+ this.thermoCool.createDefaultGroupsClusterServer();
492
+ this.thermoCool.createDefaultScenesClusterServer();
493
+ this.thermoCool.createDefaultBridgedDeviceBasicInformationClusterServer('Thermostat (Cool)', '0x96382164C', 0xfff1, 'Matterbridge', 'Matterbridge Thermostat', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
494
+ this.thermoCool.createDefaultCoolingThermostatClusterServer(20, 18, 22);
495
+ this.thermoCool.addDeviceType(powerSource);
496
+ this.thermoCool.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
497
+ await this.registerDevice(this.thermoCool);
498
+ this.bridgedDevices.set(this.thermoCool.deviceName ?? '', this.thermoCool);
499
+ this.thermoCool.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
500
+ this.thermoCool?.log.info(`Command identify called identifyTime ${identifyTime}`);
501
+ });
502
+ this.thermoCool.addCommandHandler('triggerEffect', async ({ request: { effectIdentifier, effectVariant } }) => {
503
+ this.thermoCool?.log.info(`Command identify called effectIdentifier ${effectIdentifier} effectVariant ${effectVariant}`);
504
+ });
505
+ this.thermoCool.subscribeAttribute(ThermostatCluster.id, 'systemMode', async (value) => {
435
506
  const lookupSystemMode = ['Off', 'Auto', '', 'Cool', 'Heat', 'EmergencyHeat', 'Precooling', 'FanOnly', 'Dry', 'Sleep'];
436
- this.thermo?.log.info('Subscribe systemMode called with:', lookupSystemMode[value]);
437
- }, this.thermo.log, this.thermo);
438
- this.thermo.subscribeAttribute(ThermostatCluster.id, 'occupiedHeatingSetpoint', async (value) => {
439
- this.thermo?.log.info('Subscribe occupiedHeatingSetpoint called with:', value / 100);
440
- }, this.thermo.log, this.thermo);
441
- this.thermo.subscribeAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', async (value) => {
442
- this.thermo?.log.info('Subscribe occupiedCoolingSetpoint called with:', value / 100);
443
- }, this.thermo.log, this.thermo);
444
- // Create a airConditioning device
445
- this.airConditioner = await this.createMutableDevice([airConditioner, bridgedNode], { uniqueStorageKey: 'Air conditioner' }, this.config.debug);
507
+ this.thermoCool?.log.info('Subscribe systemMode called with:', lookupSystemMode[value]);
508
+ }, this.thermoCool.log);
509
+ this.thermoCool.subscribeAttribute(ThermostatCluster.id, 'occupiedCoolingSetpoint', async (value) => {
510
+ this.thermoCool?.log.info('Subscribe occupiedCoolingSetpoint called with:', value / 100);
511
+ }, this.thermoCool.log);
512
+ // Create a airPurifier device
513
+ this.airPurifier = await this.createMutableDevice([airPurifier, temperatureSensor, humiditySensor, bridgedNode], { uniqueStorageKey: 'Air purifier' }, this.config.debug);
514
+ this.airPurifier.log.logName = 'Air purifier';
515
+ this.airPurifier.createDefaultBridgedDeviceBasicInformationClusterServer('Air purifier', '0x96584864AP', 0xfff1, 'Matterbridge', 'Matterbridge Air purifier', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
516
+ this.airPurifier.createDefaultIdentifyClusterServer();
517
+ this.airPurifier.createDefaultFanControlClusterServer();
518
+ this.airPurifier.createDefaultTemperatureMeasurementClusterServer(20 * 100);
519
+ this.airPurifier.createDefaultRelativeHumidityMeasurementClusterServer(50 * 100);
520
+ this.airPurifier.addDeviceType(powerSource);
521
+ this.airPurifier.createDefaultPowerSourceWiredClusterServer();
522
+ await this.registerDevice(this.airPurifier);
523
+ this.bridgedDevices.set(this.airPurifier.deviceName ?? '', this.airPurifier);
524
+ this.airPurifier.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
525
+ this.airPurifier?.log.info(`Command identify called identifyTime:${identifyTime}`);
526
+ });
527
+ // Apple sends Off and High
528
+ this.airPurifier.subscribeAttribute(FanControlCluster.id, 'fanMode', async (newValue, oldValue) => {
529
+ this.fan?.log.info(`Fan mode changed from ${this.fanModeLookup[oldValue]} to ${this.fanModeLookup[newValue]}`);
530
+ if (newValue === FanControl.FanMode.Off) {
531
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', 0, this.airPurifier?.log);
532
+ }
533
+ else if (newValue === FanControl.FanMode.Low) {
534
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', 33, this.airPurifier?.log);
535
+ }
536
+ else if (newValue === FanControl.FanMode.Medium) {
537
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', 66, this.airPurifier?.log);
538
+ }
539
+ else if (newValue === FanControl.FanMode.High) {
540
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', 100, this.airPurifier?.log);
541
+ }
542
+ else if (newValue === FanControl.FanMode.On) {
543
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', 100, this.airPurifier?.log);
544
+ }
545
+ else if (newValue === FanControl.FanMode.Auto) {
546
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', 50, this.airPurifier?.log);
547
+ }
548
+ }, this.airPurifier.log);
549
+ this.airPurifier.subscribeAttribute(FanControlCluster.id, 'percentSetting', async (newValue, oldValue) => {
550
+ this.fan?.log.info(`Percent setting changed from ${oldValue} to ${newValue}`);
551
+ if (isValidNumber(newValue, 0, 100))
552
+ await this.airPurifier?.setAttribute(FanControlCluster.id, 'percentCurrent', newValue, this.airPurifier?.log);
553
+ }, this.airPurifier.log);
554
+ // Create a airConditioner device
555
+ this.airConditioner = await this.createMutableDevice([airConditioner, /* fanDevice, temperatureSensor, humiditySensor,*/ bridgedNode], { uniqueStorageKey: 'Air conditioner' }, this.config.debug);
446
556
  this.airConditioner.log.logName = 'Air conditioner';
447
- this.airConditioner.createDefaultBridgedDeviceBasicInformationClusterServer('Air conditioner', '0x96382864', 0xfff1, 'Matterbridge', 'Matterbridge Air conditioner', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
557
+ this.airConditioner.createDefaultBridgedDeviceBasicInformationClusterServer('Air conditioner', '0x96382864AC', 0xfff1, 'Matterbridge', 'Matterbridge Air conditioner', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
448
558
  this.airConditioner.createDefaultIdentifyClusterServer();
449
- this.airConditioner.createDefaultOnOffClusterServer(true);
559
+ this.airConditioner.createDeadFrontOnOffClusterServer(true);
450
560
  this.airConditioner.createDefaultThermostatClusterServer(20, 18, 22);
451
- this.airConditioner.createDefaultFanControlClusterServer();
452
- this.airConditioner.createDefaultTemperatureMeasurementClusterServer(20);
453
- this.airConditioner.createDefaultRelativeHumidityMeasurementClusterServer(50);
561
+ this.airConditioner.createDefaultFanControlClusterServer(FanControl.FanMode.Auto);
562
+ this.airConditioner.createDefaultTemperatureMeasurementClusterServer(20 * 100);
563
+ this.airConditioner.createDefaultRelativeHumidityMeasurementClusterServer(50 * 100);
454
564
  this.airConditioner.addDeviceType(powerSource);
455
565
  this.airConditioner.createDefaultPowerSourceWiredClusterServer();
566
+ this.airConditioner.addRequiredClusterServers(this.airConditioner);
456
567
  await this.registerDevice(this.airConditioner);
457
568
  this.bridgedDevices.set(this.airConditioner.deviceName ?? '', this.airConditioner);
458
569
  this.airConditioner.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
@@ -460,22 +571,67 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
460
571
  });
461
572
  this.airConditioner.addCommandHandler('on', async () => {
462
573
  await this.airConditioner?.setAttribute(OnOffCluster.id, 'onOff', true, this.airConditioner?.log);
463
- this.outlet?.log.info('Command on called');
574
+ this.airConditioner?.log.info('Command on called');
575
+ await this.airConditioner?.setAttribute(OnOffCluster.id, 'onOff', true, this.airConditioner?.log);
576
+ await this.airConditioner?.setAttribute(ThermostatCluster.id, 'localTemperature', 20 * 100, this.airConditioner?.log);
577
+ await this.airConditioner?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', 20 * 100, this.airConditioner?.log);
578
+ await this.airConditioner?.setAttribute(RelativeHumidityMeasurementCluster.id, 'measuredValue', 50 * 100, this.airConditioner?.log);
579
+ await this.airConditioner?.setAttribute(FanControlCluster.id, 'speedSetting', 50, this.airConditioner?.log);
580
+ await this.airConditioner?.setAttribute(FanControlCluster.id, 'percentSetting', 50, this.airConditioner?.log);
464
581
  });
465
582
  this.airConditioner.addCommandHandler('off', async () => {
466
583
  await this.airConditioner?.setAttribute(OnOffCluster.id, 'onOff', false, this.airConditioner?.log);
467
- this.outlet?.log.info('Command off called');
584
+ await this.airConditioner?.setAttribute(ThermostatCluster.id, 'localTemperature', null, this.airConditioner?.log);
585
+ await this.airConditioner?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', null, this.airConditioner?.log);
586
+ await this.airConditioner?.setAttribute(RelativeHumidityMeasurementCluster.id, 'measuredValue', null, this.airConditioner?.log);
587
+ await this.airConditioner?.setAttribute(FanControlCluster.id, 'speedSetting', null, this.airConditioner?.log);
588
+ await this.airConditioner?.setAttribute(FanControlCluster.id, 'percentSetting', null, this.airConditioner?.log);
589
+ this.airConditioner?.log.info('Command off called');
590
+ });
591
+ // Create a pumpDevice device
592
+ this.pump = await this.createMutableDevice([pumpDevice, bridgedNode], { uniqueStorageKey: 'Pump' }, this.config.debug);
593
+ this.pump.log.logName = 'Pump';
594
+ this.pump.createDefaultBridgedDeviceBasicInformationClusterServer('Pump', '0x96382864PUMP', 0xfff1, 'Matterbridge', 'Matterbridge Pump', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
595
+ this.pump.createDefaultIdentifyClusterServer();
596
+ this.pump.createDefaultOnOffClusterServer(true);
597
+ this.pump.createDefaultPumpConfigurationAndControlClusterServer();
598
+ this.pump.addDeviceType(powerSource);
599
+ this.pump.createDefaultPowerSourceWiredClusterServer();
600
+ await this.registerDevice(this.pump);
601
+ this.bridgedDevices.set(this.pump.deviceName ?? '', this.pump);
602
+ this.pump.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
603
+ this.pump?.log.info(`Command identify called identifyTime:${identifyTime}`);
604
+ });
605
+ this.pump.addCommandHandler('on', async () => {
606
+ await this.pump?.setAttribute(OnOffCluster.id, 'onOff', true, this.pump?.log);
607
+ this.pump?.log.info('Command on called');
608
+ });
609
+ this.pump.addCommandHandler('off', async () => {
610
+ await this.pump?.setAttribute(OnOffCluster.id, 'onOff', false, this.pump?.log);
611
+ this.pump?.log.info('Command off called');
612
+ });
613
+ // Create a waterValve device
614
+ this.valve = await this.createMutableDevice([waterValve, bridgedNode], { uniqueStorageKey: 'Water valve' }, this.config.debug);
615
+ this.valve.log.logName = 'Water valve';
616
+ this.valve.createDefaultBridgedDeviceBasicInformationClusterServer('Water valve', '0x96382864WV', 0xfff1, 'Matterbridge', 'Matterbridge Water valve', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
617
+ this.valve.createDefaultIdentifyClusterServer();
618
+ this.valve.createDefaultValveConfigurationAndControlClusterServer();
619
+ this.valve.addDeviceType(powerSource);
620
+ this.valve.createDefaultPowerSourceWiredClusterServer();
621
+ await this.registerDevice(this.valve);
622
+ this.bridgedDevices.set(this.valve.deviceName ?? '', this.valve);
623
+ this.valve.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
624
+ this.valve?.log.info(`Command identify called identifyTime:${identifyTime}`);
468
625
  });
469
626
  // Create a fan device
470
- this.fan = await this.createMutableDevice([DeviceTypes.FAN, bridgedNode], { uniqueStorageKey: 'Fan' }, this.config.debug);
627
+ this.fan = await this.createMutableDevice([fanDevice, bridgedNode], { uniqueStorageKey: 'Fan' }, this.config.debug);
471
628
  this.fan.log.logName = 'Fan';
472
629
  this.fan.createDefaultBridgedDeviceBasicInformationClusterServer('Fan', 'serial_980545631228', 0xfff1, 'Matterbridge', 'Matterbridge Fan', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
473
- this.fan.addDeviceTypeWithClusterServer([DeviceTypes.FAN], []);
630
+ this.fan.addDeviceTypeWithClusterServer([fanDevice], []);
474
631
  await this.registerDevice(this.fan);
475
632
  this.bridgedDevices.set(this.fan.deviceName ?? '', this.fan);
476
- const fanModeLookup = ['Off', 'Low', 'Medium', 'High', 'On', 'Auto', 'Smart'];
477
633
  this.fan.subscribeAttribute(FanControlCluster.id, 'fanMode', async (newValue, oldValue) => {
478
- this.fan?.log.info(`Fan mode changed from ${fanModeLookup[oldValue]} to ${fanModeLookup[newValue]}`);
634
+ this.fan?.log.info(`Fan mode changed from ${this.fanModeLookup[oldValue]} to ${this.fanModeLookup[newValue]}`);
479
635
  if (newValue === FanControl.FanMode.Off) {
480
636
  await this.fan?.setAttribute(FanControlCluster.id, 'percentCurrent', 0, this.fan?.log);
481
637
  }
@@ -499,18 +655,21 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
499
655
  this.fan?.log.info(`Percent setting changed from ${oldValue} to ${newValue}`);
500
656
  if (isValidNumber(newValue, 0, 100))
501
657
  await this.fan?.setAttribute(FanControlCluster.id, 'percentCurrent', newValue, this.fan?.log);
502
- }, this.fan.log, this.fan);
658
+ }, this.fan.log);
503
659
  this.fan.subscribeAttribute(FanControlCluster.id, 'speedSetting', async (newValue, oldValue) => {
504
660
  this.fan?.log.info(`Speed setting changed from ${oldValue} to ${newValue}`);
505
661
  if (isValidNumber(newValue, 0, 100))
506
662
  await this.fan?.setAttribute(FanControlCluster.id, 'speedCurrent', newValue, this.fan?.log);
507
- }, this.fan.log, this.fan);
663
+ }, this.fan.log);
664
+ /** ********************* Create a waterLeakDetector device ***********************/
508
665
  this.waterLeak = await this.createMutableDevice([waterLeakDetector, bridgedNode], { uniqueStorageKey: 'Water leak detector' }, this.config.debug);
509
666
  this.waterLeak.log.logName = 'Water leak detector';
510
667
  this.waterLeak.createDefaultBridgedDeviceBasicInformationClusterServer('Water leak detector', 'serial_98745631222', 0xfff1, 'Matterbridge', 'Matterbridge WaterLeakDetector', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
511
668
  this.waterLeak.addDeviceTypeWithClusterServer([waterLeakDetector], [BooleanStateConfiguration.Cluster.id]);
512
669
  await this.registerDevice(this.waterLeak);
670
+ this.bridgedDevices.set(this.waterLeak.deviceName ?? '', this.waterLeak);
513
671
  await this.waterLeak.setAttribute(BooleanStateCluster.id, 'stateValue', false, this.waterLeak.log);
672
+ /** ********************* Create a waterFreezeDetector device ***********************/
514
673
  this.waterFreeze = await this.createMutableDevice([waterFreezeDetector, bridgedNode], { uniqueStorageKey: 'Water freeze detector' }, this.config.debug);
515
674
  this.waterFreeze.log.logName = 'Water freeze detector';
516
675
  this.waterFreeze.createDefaultBridgedDeviceBasicInformationClusterServer('Water freeze detector', 'serial_98745631223', 0xfff1, 'Matterbridge', 'Matterbridge WaterFreezeDetector', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
@@ -518,6 +677,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
518
677
  await this.registerDevice(this.waterFreeze);
519
678
  this.bridgedDevices.set(this.waterFreeze.deviceName ?? '', this.waterFreeze);
520
679
  await this.waterFreeze.setAttribute(BooleanStateCluster.id, 'stateValue', false, this.waterFreeze.log);
680
+ /** ********************* Create a rainSensor device ***********************/
521
681
  this.rain = await this.createMutableDevice([rainSensor, bridgedNode], { uniqueStorageKey: 'Rain sensor' }, this.config.debug);
522
682
  this.rain.log.logName = 'Rain sensor';
523
683
  this.rain.createDefaultBridgedDeviceBasicInformationClusterServer('Rain sensor', 'serial_98745631224', 0xfff1, 'Matterbridge', 'Matterbridge RainSensor', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
@@ -525,6 +685,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
525
685
  await this.registerDevice(this.rain);
526
686
  this.bridgedDevices.set(this.rain.deviceName ?? '', this.rain);
527
687
  await this.rain.setAttribute(BooleanStateCluster.id, 'stateValue', false, this.rain.log);
688
+ /** ********************* Create a smokeCoAlarm device ***********************/
528
689
  this.smoke = await this.createMutableDevice([smokeCoAlarm, bridgedNode], { uniqueStorageKey: 'Smoke alarm sensor' }, this.config.debug);
529
690
  this.smoke.log.logName = 'Smoke alarm sensor';
530
691
  this.smoke.createDefaultBridgedDeviceBasicInformationClusterServer('Smoke alarm sensor', 'serial_94745631225', 0xfff1, 'Matterbridge', 'Matterbridge SmokeCoAlarm', parseInt(this.version.replace(/\D/g, '')), this.version === '' ? 'Unknown' : this.version, parseInt(this.matterbridge.matterbridgeVersion.replace(/\D/g, '')), this.matterbridge.matterbridgeVersion);
@@ -652,6 +813,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
652
813
  this.log.info(`Set lights currentLevel to ${level}`);
653
814
  }
654
815
  }
816
+ else {
817
+ this.log.error(`Invalid state ${state} or level ${level}`);
818
+ }
655
819
  }, 60 * 1000 + 200);
656
820
  // Set outlet to off
657
821
  await this.outlet?.setAttribute(OnOffCluster.id, 'onOff', false, this.outlet.log);
@@ -690,29 +854,37 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
690
854
  }
691
855
  }, 60 * 1000 + 500);
692
856
  // Set local to 16°C
693
- await this.thermo?.setAttribute(ThermostatCluster.id, 'localTemperature', 16 * 100, this.thermo.log);
694
- await this.thermo?.setAttribute(ThermostatCluster.id, 'systemMode', Thermostat.SystemMode.Auto, this.thermo.log);
695
- this.thermo?.log.info('Set thermostat initial localTemperature to 16°C and mode Auto');
696
- const temperature = this.thermo?.getChildEndpointByName('Temperature');
697
- await this.thermo?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', 16 * 100, this.thermo.log, temperature);
698
- const humidity = this.thermo?.getChildEndpointByName('Humidity');
699
- await this.thermo?.setAttribute(RelativeHumidityMeasurementCluster.id, 'measuredValue', 50 * 100, this.thermo.log, humidity);
700
- const flow = this.thermo?.getChildEndpointByName('Flow');
701
- await this.thermo?.setAttribute(FlowMeasurementCluster.id, 'measuredValue', 10, this.thermo.log, flow);
702
- this.thermo?.log.info('Set thermostat ext temperature to 16°C, ext humidity to 50% and ext valve flow to 10');
857
+ await this.thermoAuto?.setAttribute(ThermostatCluster.id, 'localTemperature', 16 * 100, this.thermoAuto.log);
858
+ await this.thermoAuto?.setAttribute(ThermostatCluster.id, 'systemMode', Thermostat.SystemMode.Auto, this.thermoAuto.log);
859
+ this.thermoAuto?.log.info('Set thermostat initial localTemperature to 16°C and mode Auto');
860
+ const temperature = this.thermoAuto?.getChildEndpointByName('Temperature');
861
+ await this.thermoAuto?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', 16 * 100, this.thermoAuto.log, temperature);
862
+ const humidity = this.thermoAuto?.getChildEndpointByName('Humidity');
863
+ await this.thermoAuto?.setAttribute(RelativeHumidityMeasurementCluster.id, 'measuredValue', 50 * 100, this.thermoAuto.log, humidity);
864
+ const flow = this.thermoAuto?.getChildEndpointByName('Flow');
865
+ await this.thermoAuto?.setAttribute(FlowMeasurementCluster.id, 'measuredValue', 10, this.thermoAuto.log, flow);
866
+ this.thermoAuto?.log.info('Set thermostat ext temperature to 16°C, ext humidity to 50% and ext valve flow to 10');
703
867
  // Increment localTemperature every minute
704
868
  this.thermoInterval = setInterval(async () => {
705
- let temperature = this.thermo?.getAttribute(ThermostatCluster.id, 'localTemperature', this.thermo.log);
869
+ let temperature = this.thermoAuto?.getAttribute(ThermostatCluster.id, 'localTemperature', this.thermoAuto.log);
706
870
  if (isValidNumber(temperature, 1600, 2400)) {
707
871
  temperature = temperature + 100 > 2400 ? 1600 : temperature + 100;
708
- await this.thermo?.setAttribute(ThermostatCluster.id, 'localTemperature', temperature, this.thermo.log);
709
- const temp = this.thermo?.getChildEndpointByName('Temperature');
710
- await this.thermo?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', temperature, this.thermo.log, temp);
711
- const humidity = this.thermo?.getChildEndpointByName('Humidity');
712
- await this.thermo?.setAttribute(RelativeHumidityMeasurementCluster.id, 'measuredValue', 50 * 100, this.thermo.log, humidity);
713
- const flow = this.thermo?.getChildEndpointByName('Flow');
714
- await this.thermo?.setAttribute(FlowMeasurementCluster.id, 'measuredValue', 10, this.thermo.log, flow);
715
- this.thermo?.log.info(`Set thermostat localTemperature to ${temperature / 100}°C`);
872
+ await this.thermoAuto?.setAttribute(ThermostatCluster.id, 'localTemperature', temperature, this.thermoAuto.log);
873
+ await this.thermoHeat?.setAttribute(ThermostatCluster.id, 'localTemperature', temperature, this.thermoHeat.log);
874
+ const tempIn = this.thermoHeat?.getChildEndpointByName('TemperatureIN');
875
+ await tempIn?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', temperature - 50, this.thermoHeat?.log);
876
+ const tempOut = this.thermoHeat?.getChildEndpointByName('TemperatureOUT');
877
+ await tempOut?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', temperature - 400, this.thermoHeat?.log);
878
+ await this.thermoCool?.setAttribute(ThermostatCluster.id, 'localTemperature', temperature, this.thermoCool.log);
879
+ const temp = this.thermoAuto?.getChildEndpointByName('Temperature');
880
+ await this.thermoAuto?.setAttribute(TemperatureMeasurementCluster.id, 'measuredValue', temperature, this.thermoAuto.log, temp);
881
+ const humidity = this.thermoAuto?.getChildEndpointByName('Humidity');
882
+ await this.thermoAuto?.setAttribute(RelativeHumidityMeasurementCluster.id, 'measuredValue', 50 * 100, this.thermoAuto.log, humidity);
883
+ const flow = this.thermoAuto?.getChildEndpointByName('Flow');
884
+ await this.thermoAuto?.setAttribute(FlowMeasurementCluster.id, 'measuredValue', 10, this.thermoAuto.log, flow);
885
+ this.thermoAuto?.log.info(`Set thermostat localTemperature to ${temperature / 100}°C`);
886
+ this.thermoHeat?.log.info(`Set thermostat localTemperature to ${temperature / 100}°C`);
887
+ this.thermoCool?.log.info(`Set thermostat localTemperature to ${temperature / 100}°C`);
716
888
  }
717
889
  }, 60 * 1000 + 600);
718
890
  // Set airConditioner to on
@@ -800,7 +972,7 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
800
972
  if (isValidNumber(value, AirQuality.AirQualityEnum.Good, AirQuality.AirQualityEnum.ExtremelyPoor)) {
801
973
  value = value >= AirQuality.AirQualityEnum.ExtremelyPoor ? AirQuality.AirQualityEnum.Good : value + 1;
802
974
  await this.airQuality?.setAttribute(AirQualityCluster.id, 'airQuality', value, this.airQuality.log);
803
- this.smoke?.log.info(`Set air quality to ${value}`);
975
+ this.airQuality?.log.info(`Set air quality to ${value}`);
804
976
  }
805
977
  }, 60 * 1000 + 1100);
806
978
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,iBAAiB,EAGjB,mBAAmB,EACnB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,YAAY,EACZ,mBAAmB,EAEnB,WAAW,EACX,QAAQ,EACR,eAAe,EAEf,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,oCAAoC,EACpC,mBAAmB,EACnB,oBAAoB,EACpB,uCAAuC,EACvC,YAAY,EACZ,6BAA6B,EAE7B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,UAAU,EACV,iBAAiB,EACjB,qDAAqD,EAErD,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAgB,6BAA6B,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3H,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnE,MAAM,OAAO,kCAAmC,SAAQ,2BAA2B;IACjF,MAAM,CAAiC;IACvC,UAAU,CAAiC;IAC3C,MAAM,CAAiC;IACvC,KAAK,CAAiC;IACtC,OAAO,CAAiC;IACxC,OAAO,CAAiC;IACxC,OAAO,CAAiC;IACxC,MAAM,CAAiC;IACvC,KAAK,CAAiC;IACtC,IAAI,CAAiC;IACrC,MAAM,CAAiC;IACvC,GAAG,CAAiC;IACpC,SAAS,CAAiC;IAC1C,WAAW,CAAiC;IAC5C,IAAI,CAAiC;IACrC,KAAK,CAAiC;IACtC,UAAU,CAAiC;IAC3C,cAAc,CAAiC;IAE/C,cAAc,CAA6B;IAC3C,aAAa,CAA6B;IAC1C,cAAc,CAA6B;IAC3C,aAAa,CAA6B;IAC1C,YAAY,CAA6B;IACzC,cAAc,CAA6B;IAC3C,WAAW,CAA6B;IACxC,iBAAiB,CAA6B;IAC9C,mBAAmB,CAA6B;IAChD,YAAY,CAA6B;IACzC,aAAa,CAA6B;IAC1C,kBAAkB,CAA6B;IAC/C,sBAAsB,CAA6B;IAEnD,cAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEvD,KAAK,CAAC,mBAAmB,CAAC,UAAmE,EAAE,UAA2B,EAAE,EAAE,KAAK,GAAG,KAAK;QACzI,IAAI,MAA0B,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,IAAI;YAAE,MAAM,GAAG,IAAI,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAkC,CAAC;;YAC/H,MAAM,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,kDAAkD;QAClD,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrJ,MAAM,IAAI,KAAK,CACb,yFAAyF,IAAI,CAAC,YAAY,CAAC,mBAAmB,yCAAyC,CACxK,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAe;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC;QAE/D,yBAAyB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACvI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,kCAAkC,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,uDAAuD,CACjE,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,+BAA+B,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAChF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/F,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAChK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,uDAAuD,CACrE,gBAAgB,EAChB,cAAc,EACd,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,0CAA0C,EAAE,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3E,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YACpF,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACtG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACtJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,kCAAkC,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,uDAAuD,CACjE,QAAQ,EACR,aAAa,EACb,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,+BAA+B,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,sCAAsC,EAAE,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,uDAAuD,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAChF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/F,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5E,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7G,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrF,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7G,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAC7K,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,uBAAuB,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAChE,uBAAuB,EACvB,YAAY,EACZ,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7F,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3E,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3G,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACpF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3G,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YACpF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxG,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,yCAAyC,MAAM,GAAG,KAAK,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YAC/I,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACvG,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrH,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CACnB,sDAAsD,GAAG,eAAe,UAAU,oBAAoB,UAAU,EAAE,QAAQ,EAAE,eAAe,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAC3K,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YACtH,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACvG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,oBAAoB,UAAU,EAAE,QAAQ,EAAE,eAAe,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9J,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YACpI,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrH,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CACnB,uDAAuD,UAAU,oBAAoB,UAAU,EAAE,QAAQ,EAAE,eAAe,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAC1J,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;YACvF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,wBAAwB,EAAE,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9I,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,kDAAkD,OAAO,CAAC,sBAAsB,gBAAgB,UAAU,CAAC,sBAAsB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzK,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACpK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAClE,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC;QACjD,8HAA8H;QAC9H,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,0CAA0C,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YACjF,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAClG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAC3G,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,gBAAgB,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YACpH,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,gDAAgD,KAAK,gBAAgB,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YACjJ,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7G,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3H,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CACrB,sDAAsD,GAAG,eAAe,UAAU,oBAAoB,UAAU,EAAE,QAAQ,EAAE,eAAe,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAC3K,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YACxH,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7G,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,oBAAoB,UAAU,EAAE,QAAQ,EAAE,eAAe,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChK,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YACtI,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3H,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CACrB,uDAAuD,UAAU,oBAAoB,UAAU,EAAE,QAAQ,EAAE,eAAe,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAC1J,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;YACzF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,wBAAwB,EAAE,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9I,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,kDAAkD,OAAO,CAAC,sBAAsB,gBAAgB,UAAU,CAAC,sBAAsB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzK,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACpK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAClE,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC;QACjD,mHAAmH;QACnH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,0CAA0C,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YACjF,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAClG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC7E,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YACtF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1G,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1G,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,yCAAyC,MAAM,GAAG,KAAK,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;YACzF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,wBAAwB,EAAE,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9I,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,kDAAkD,OAAO,CAAC,sBAAsB,gBAAgB,UAAU,CAAC,sBAAsB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzK,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACpK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAClE,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC;QACjD,sHAAsH;QACtH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YACjF,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAClG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC7E,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7E,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,wBAAwB,EAAE,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpJ,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,kDAAkD,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAC1J,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,kCAAkC,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,uDAAuD,CACjE,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,+BAA+B,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,0CAA0C,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAChF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/F,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,sDAAsD;QACtD,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACrJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAChE,OAAO,EACP,YAAY,EACZ,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAC3B,qBAAqB,CAAC,EAAE,EACxB,MAAM,EACN,CACE,QAKE,EACF,QAKE,EACF,EAAE;YACF,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAClB,+BAA+B,QAAQ,OAAO,QAAQ,cAAc,QAAQ,CAAC,sBAAsB,kBAAkB,QAAQ,CAAC,eAAe,kBAAkB,QAAQ,CAAC,eAAe,UAAU,QAAQ,CAAC,WAAW,EAAE,CACxN,CAAC;QACJ,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,GAAG,CACf,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,IAAI,CAAC,KAAK,EAAE,0CAA0C,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,IAAI,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5G,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,IAAI,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,EAAE;YACnG,MAAM,IAAI,CAAC,KAAK,EAAE,oCAAoC,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9I,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,8BAA8B,sBAAsB,SAAS,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAC7I,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAC/D,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAC9E,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrH,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvH,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACtJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,YAAY,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,kCAAkC,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,uDAAuD,CACjE,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,yBAAyB,EACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACnI,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAEvF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACxJ,SAAS,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAEhG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3J,aAAa,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAEzG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAChF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC1F,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,gDAAgD,wBAAwB,CAAC,IAAI,CAAC,YAAY,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/H,IAAI,IAAI,KAAK,UAAU,CAAC,sBAAsB,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC;gBAClI,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,yBAAyB,EAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnH,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,IAAI,KAAK,UAAU,CAAC,sBAAsB,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC;gBAClI,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,yBAAyB,EAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnH,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC5B,iBAAiB,CAAC,EAAE,EACpB,YAAY,EACZ,KAAK,EAAE,KAAK,EAAE,EAAE;YACd,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACvH,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC5B,iBAAiB,CAAC,EAAE,EACpB,yBAAyB,EACzB,KAAK,EAAE,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;QACvF,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC5B,iBAAiB,CAAC,EAAE,EACpB,yBAAyB,EACzB,KAAK,EAAE,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;QACvF,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAC3J,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,GAAG,iBAAiB,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,uDAAuD,CACzE,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,cAAc,EACd,8BAA8B,EAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,kCAAkC,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,oCAAoC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,oCAAoC,EAAE,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,0CAA0C,EAAE,CAAC;QAEjE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAEnF,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YACxF,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACnG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACrI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,uDAAuD,CAC9D,KAAK,EACL,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7D,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,CAAC,kBAAkB,CACzB,iBAAiB,CAAC,EAAE,EACpB,SAAS,EACT,KAAK,EAAE,QAA4B,EAAE,QAA4B,EAAE,EAAE;YACnE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,aAAa,CAAC,QAAQ,CAAC,OAAO,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrG,IAAI,QAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzF,CAAC;iBAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1F,CAAC;iBAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1F,CAAC;iBAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3F,CAAC;iBAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3F,CAAC;iBAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,GAAG,EACZ,IAAI,CAAC,GAAG,CACT,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,kBAAkB,CACzB,iBAAiB,CAAC,EAAE,EACpB,gBAAgB,EAChB,KAAK,EAAE,QAAuB,EAAE,QAAuB,EAAE,EAAE;YACzD,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,gCAAgC,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;YAC9E,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrI,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,GAAG,EACZ,IAAI,CAAC,GAAG,CACT,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,kBAAkB,CACzB,iBAAiB,CAAC,EAAE,EACpB,cAAc,EACd,KAAK,EAAE,QAAuB,EAAE,QAAuB,EAAE,EAAE;YACzD,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,8BAA8B,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;YAC5E,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnI,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,GAAG,EACZ,IAAI,CAAC,GAAG,CACT,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAC7J,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,uDAAuD,CACpE,qBAAqB,EACrB,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,gCAAgC,EAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3G,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEnG,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACnK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,uDAAuD,CACtE,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,kCAAkC,EAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE7E,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvG,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACzI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAC/D,aAAa,EACb,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,yBAAyB,EACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzF,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QACnJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAChE,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,sCAAsC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,sCAAsC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvH,8BAA8B;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAC5J,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,uDAAuD,CACrE,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,iCAAiC,EACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACtC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAC5C,CAAC,gBAAgB,CAAC,EAClB;YACE,sBAAsB,CAAC,OAAO,CAAC,EAAE;YACjC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACtC,sCAAsC,CAAC,OAAO,CAAC,EAAE;YACjD,qCAAqC,CAAC,OAAO,CAAC,EAAE;YAChD,uCAAuC,CAAC,OAAO,CAAC,EAAE;YAClD,6BAA6B,CAAC,OAAO,CAAC,EAAE;YACxC,oCAAoC,CAAC,OAAO,CAAC,EAAE;YAC/C,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACtC,4BAA4B,CAAC,OAAO,CAAC,EAAE;YACvC,4BAA4B,CAAC,OAAO,CAAC,EAAE;YACvC,6BAA6B,CAAC,OAAO,CAAC,EAAE;YACxC,qDAAqD,CAAC,OAAO,CAAC,EAAE;SACjE,CACF,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7H,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,sCAAsC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChI,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,qCAAqC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChI,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,uCAAuC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChI,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7H,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,qDAAqD,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAClJ,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEpC,oBAAoB;QACpB,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC3D,mCAAmC;QACnC,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,0BAA0B;QAC1B,MAAM,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAE/D,0BAA0B;QAC1B,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAE/E,+EAA+E;QAC/E,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjG,MAAM,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACnG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QAE7G,oDAAoD;QACpD,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;QAEhH,kFAAkF;QAClF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9F,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5F,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QAElH,uEAAuE;QACvE,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1G,MAAM,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QAElH,IAAI,CAAC,aAAa,GAAG,WAAW,CAC9B,KAAK,IAAI,EAAE;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjF,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7F,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1D,KAAK,IAAI,EAAE,CAAC;gBACZ,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;oBACjB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC1F,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACpF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACpF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACpF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChG,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9F,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;oBAC1F,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjF,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/E,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnF,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;oBAC1C,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChG,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9F,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClG,MAAM,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,oBAAoB;QACpB,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC3D,mCAAmC;QACnC,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,KAAK,IAAI,EAAE;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnF,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,8GAA8G;QAC9G,MAAM,IAAI,CAAC,KAAK,EAAE,0CAA0C,EAAE,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,wHAAwH,CAAC,CAAC;QAC/I,wCAAwC;QACxC,IAAI,CAAC,aAAa,GAAG,WAAW,CAC9B,KAAK,IAAI,EAAE;YACT,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAE,EAAE,kCAAkC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtH,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACtC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACjD,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAE,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtH,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAE,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvH,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAC5B,qBAAqB,CAAC,EAAE,EACxB,mBAAmB,EACnB,EAAE,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,EAC3I,IAAI,CAAC,KAAK,CAAC,GAAG,CACf,CAAC;gBACF,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,6DAA6D,QAAQ,mCAAmC,CAAC,CAAC;YACjI,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,qBAAqB;QACrB,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC5D,2BAA2B;QAC3B,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvF,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAC3B,eAAe,CAAC,EAAE,EAClB,WAAW,EACX,MAAM,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAC9F,IAAI,CAAC,IAAI,CAAC,GAAG,CACd,CAAC;gBACF,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,MAAM,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,oBAAoB;QACpB,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjH,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,6BAA6B,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC3H,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,kCAAkC,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7H,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,sBAAsB,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QAE9G,0CAA0C;QAC1C,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,KAAK,IAAI,EAAE;YACT,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvG,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;gBAClE,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,6BAA6B,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,kCAAkC,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC7H,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,sBAAsB,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,sCAAsC,WAAW,GAAG,GAAG,IAAI,CAAC,CAAC;YACrF,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,2BAA2B;QAC3B,MAAM,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjG,yDAAyD;QACzD,IAAI,CAAC,sBAAsB,GAAG,WAAW,CACvC,KAAK,IAAI,EAAE;YACT,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvH,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;gBAClE,MAAM,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACxH,MAAM,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,6BAA6B,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjI,MAAM,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,kCAAkC,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACnI,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,0CAA0C,WAAW,GAAG,GAAG,IAAI,CAAC,CAAC;YACjG,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,kBAAkB;QAClB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;QACvI,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrF,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrF,4CAA4C;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAC5B,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnF,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzF,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7I,KAAK,GAAG,KAAK,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1F,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1F,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,yBAAyB;QACzB,MAAM,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpG,gCAAgC;QAChC,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAClC,KAAK,IAAI,EAAE;YACT,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnG,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,GAAG,CAAC,KAAK,CAAC;gBACf,MAAM,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACpG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,2BAA2B;QAC3B,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxG,kCAAkC;QAClC,IAAI,CAAC,mBAAmB,GAAG,WAAW,CACpC,KAAK,IAAI,EAAE;YACT,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvG,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,GAAG,CAAC,KAAK,CAAC;gBACf,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACxG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,GAAG,CAChB,CAAC;QAEF,oBAAoB;QACpB,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,2BAA2B;QAC3B,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,KAAK,IAAI,EAAE;YACT,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzF,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,GAAG,CAAC,KAAK,CAAC;gBACf,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,IAAI,CACjB,CAAC;QAEF,sBAAsB;QACtB,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrH,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClH,4BAA4B;QAC5B,IAAI,CAAC,aAAa,GAAG,WAAW,CAC9B,KAAK,IAAI,EAAE;YACT,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3F,IAAI,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3F,KAAK,GAAG,KAAK,KAAK,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;gBACrH,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5F,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzF,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,IAAI,CACjB,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvH,kCAAkC;QAClC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CACnC,KAAK,IAAI,EAAE;YACT,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACpG,IAAI,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClG,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtG,MAAM,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,EACD,EAAE,GAAG,IAAI,GAAG,IAAI,CACjB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAe;QACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,IAAI;YAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACnF,CAAC;CACF"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge-example-dynamic-platform",
9
- "version": "1.1.2",
9
+ "version": "1.1.3",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "node-ansi-logger": "3.0.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Matterbridge dynamic plugin",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "MIT",