@matter/node 0.16.0-alpha.0-20251101-70c8d51d7 → 0.16.0-alpha.0-20251103-b47ffa15b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/cjs/behavior/Behavior.d.ts +2 -2
  2. package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Behavior.js +1 -1
  4. package/dist/cjs/behavior/Behavior.js.map +1 -1
  5. package/dist/cjs/behavior/Events.js.map +1 -1
  6. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +3 -2
  7. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  8. package/dist/cjs/behavior/cluster/ClusterBehavior.js.map +1 -1
  9. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js +1 -1
  10. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  11. package/dist/cjs/behavior/internal/BehaviorBacking.js +1 -1
  12. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  13. package/dist/cjs/behavior/system/mqtt/MqttInterface.js +1 -1
  14. package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +1 -1
  15. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts +2 -2
  16. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
  17. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js +0 -3
  18. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  19. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +1 -1
  20. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
  21. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts +3 -3
  22. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  23. package/dist/cjs/behaviors/color-control/ColorControlServer.js +118 -3
  24. package/dist/cjs/behaviors/color-control/ColorControlServer.js.map +1 -1
  25. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +1 -1
  26. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  27. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  28. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts +1 -1
  29. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  30. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  31. package/dist/cjs/behaviors/groups/GroupsServer.d.ts.map +1 -1
  32. package/dist/cjs/behaviors/groups/GroupsServer.js +9 -1
  33. package/dist/cjs/behaviors/groups/GroupsServer.js.map +1 -1
  34. package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts +5 -5
  35. package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
  36. package/dist/cjs/behaviors/level-control/LevelControlServer.js +54 -27
  37. package/dist/cjs/behaviors/level-control/LevelControlServer.js.map +1 -1
  38. package/dist/cjs/behaviors/on-off/OnOffServer.d.ts +3 -6
  39. package/dist/cjs/behaviors/on-off/OnOffServer.d.ts.map +1 -1
  40. package/dist/cjs/behaviors/on-off/OnOffServer.js +59 -7
  41. package/dist/cjs/behaviors/on-off/OnOffServer.js.map +1 -1
  42. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.d.ts +122 -3
  43. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.d.ts.map +1 -1
  44. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js +909 -1
  45. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js.map +2 -2
  46. package/dist/cjs/behaviors/switch/SwitchServer.d.ts +1 -1
  47. package/dist/cjs/behaviors/switch/SwitchServer.d.ts.map +1 -1
  48. package/dist/cjs/behaviors/switch/SwitchServer.js.map +1 -1
  49. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +2 -2
  50. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  51. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +1 -1
  52. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  53. package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +1 -1
  54. package/dist/cjs/devices/color-temperature-light.d.ts +4 -4
  55. package/dist/cjs/devices/dimmable-light.d.ts +4 -4
  56. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts +4 -4
  57. package/dist/cjs/devices/extended-color-light.d.ts +4 -4
  58. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts +4 -4
  59. package/dist/cjs/devices/mounted-on-off-control.d.ts +4 -4
  60. package/dist/cjs/devices/on-off-light.d.ts +4 -4
  61. package/dist/cjs/devices/on-off-plug-in-unit.d.ts +4 -4
  62. package/dist/cjs/endpoint/Agent.d.ts +5 -0
  63. package/dist/cjs/endpoint/Agent.d.ts.map +1 -1
  64. package/dist/cjs/endpoint/Agent.js +9 -0
  65. package/dist/cjs/endpoint/Agent.js.map +1 -1
  66. package/dist/cjs/endpoint/properties/Behaviors.js +1 -1
  67. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  68. package/dist/cjs/node/integration/ProtocolService.js +1 -1
  69. package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
  70. package/dist/esm/behavior/Behavior.d.ts +2 -2
  71. package/dist/esm/behavior/Behavior.d.ts.map +1 -1
  72. package/dist/esm/behavior/Behavior.js +1 -1
  73. package/dist/esm/behavior/Behavior.js.map +1 -1
  74. package/dist/esm/behavior/Events.js.map +1 -1
  75. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +3 -2
  76. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  77. package/dist/esm/behavior/cluster/ClusterBehavior.js.map +1 -1
  78. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +1 -1
  79. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  80. package/dist/esm/behavior/internal/BehaviorBacking.js +1 -1
  81. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  82. package/dist/esm/behavior/system/mqtt/MqttInterface.js +1 -1
  83. package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +1 -1
  84. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts +2 -2
  85. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
  86. package/dist/esm/behaviors/basic-information/BasicInformationServer.js +1 -4
  87. package/dist/esm/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  88. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +1 -1
  89. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
  90. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts +3 -3
  91. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  92. package/dist/esm/behaviors/color-control/ColorControlServer.js +118 -3
  93. package/dist/esm/behaviors/color-control/ColorControlServer.js.map +1 -1
  94. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +1 -1
  95. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  96. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  97. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts +1 -1
  98. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  99. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  100. package/dist/esm/behaviors/groups/GroupsServer.d.ts.map +1 -1
  101. package/dist/esm/behaviors/groups/GroupsServer.js +9 -1
  102. package/dist/esm/behaviors/groups/GroupsServer.js.map +1 -1
  103. package/dist/esm/behaviors/level-control/LevelControlServer.d.ts +5 -5
  104. package/dist/esm/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
  105. package/dist/esm/behaviors/level-control/LevelControlServer.js +55 -28
  106. package/dist/esm/behaviors/level-control/LevelControlServer.js.map +1 -1
  107. package/dist/esm/behaviors/on-off/OnOffServer.d.ts +3 -6
  108. package/dist/esm/behaviors/on-off/OnOffServer.d.ts.map +1 -1
  109. package/dist/esm/behaviors/on-off/OnOffServer.js +59 -7
  110. package/dist/esm/behaviors/on-off/OnOffServer.js.map +1 -1
  111. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.d.ts +122 -3
  112. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.d.ts.map +1 -1
  113. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js +960 -1
  114. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js.map +2 -2
  115. package/dist/esm/behaviors/switch/SwitchServer.d.ts +1 -1
  116. package/dist/esm/behaviors/switch/SwitchServer.d.ts.map +1 -1
  117. package/dist/esm/behaviors/switch/SwitchServer.js.map +1 -1
  118. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +2 -2
  119. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  120. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +1 -1
  121. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  122. package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +1 -1
  123. package/dist/esm/devices/color-temperature-light.d.ts +4 -4
  124. package/dist/esm/devices/dimmable-light.d.ts +4 -4
  125. package/dist/esm/devices/dimmable-plug-in-unit.d.ts +4 -4
  126. package/dist/esm/devices/extended-color-light.d.ts +4 -4
  127. package/dist/esm/devices/mounted-dimmable-load-control.d.ts +4 -4
  128. package/dist/esm/devices/mounted-on-off-control.d.ts +4 -4
  129. package/dist/esm/devices/on-off-light.d.ts +4 -4
  130. package/dist/esm/devices/on-off-plug-in-unit.d.ts +4 -4
  131. package/dist/esm/endpoint/Agent.d.ts +5 -0
  132. package/dist/esm/endpoint/Agent.d.ts.map +1 -1
  133. package/dist/esm/endpoint/Agent.js +9 -0
  134. package/dist/esm/endpoint/Agent.js.map +1 -1
  135. package/dist/esm/endpoint/properties/Behaviors.js +1 -1
  136. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  137. package/dist/esm/node/integration/ProtocolService.js +1 -1
  138. package/dist/esm/node/integration/ProtocolService.js.map +1 -1
  139. package/package.json +7 -7
  140. package/src/behavior/Behavior.ts +2 -2
  141. package/src/behavior/Events.ts +1 -1
  142. package/src/behavior/cluster/ClusterBehavior.ts +4 -2
  143. package/src/behavior/cluster/ClusterBehaviorUtil.ts +1 -1
  144. package/src/behavior/internal/BehaviorBacking.ts +1 -1
  145. package/src/behavior/system/mqtt/MqttInterface.ts +1 -1
  146. package/src/behaviors/basic-information/BasicInformationServer.ts +3 -7
  147. package/src/behaviors/color-control/ColorControlServer.ts +132 -3
  148. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +1 -1
  149. package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +2 -2
  150. package/src/behaviors/groups/GroupsServer.ts +13 -1
  151. package/src/behaviors/level-control/LevelControlServer.ts +72 -29
  152. package/src/behaviors/on-off/OnOffServer.ts +78 -9
  153. package/src/behaviors/scenes-management/ScenesManagementServer.ts +1123 -3
  154. package/src/behaviors/switch/SwitchServer.ts +1 -1
  155. package/src/behaviors/thermostat/AtomicWriteHandler.ts +4 -4
  156. package/src/behaviors/thermostat/ThermostatServer.ts +1 -1
  157. package/src/endpoint/Agent.ts +10 -0
  158. package/src/endpoint/properties/Behaviors.ts +1 -1
  159. package/src/node/integration/ProtocolService.ts +1 -1
@@ -3,11 +3,130 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- /*** THIS FILE WILL BE REGENERATED IF YOU DO NOT REMOVE THIS MESSAGE ***/
7
- import { ScenesManagementBehavior } from "./ScenesManagementBehavior.js";
6
+ import { ClusterBehavior } from "#behavior/cluster/ClusterBehavior.js";
7
+ import { ScenesManagement } from "#clusters/scenes-management";
8
+ import { BasicSet, ObserverGroup } from "#general";
9
+ import { Val } from "#protocol";
10
+ import { AttributeId, ClusterId, FabricIndex, GroupId, TlvSchema } from "#types";
11
+ import { MaybePromise } from "@matter/general";
12
+ /** Internal meta information for sceneable attributes on the endpoint */
13
+ type AttributeDetails = {
14
+ id: AttributeId;
15
+ name: string;
16
+ schema: TlvSchema<any>;
17
+ type: string;
18
+ mappedType: AttributeValuePairDataFields;
19
+ nullable: boolean;
20
+ };
21
+ /** Enum for the allowed fields in AttributeValuePair */
22
+ declare const enum AttributeValuePairDataFields {
23
+ ValueUnsigned8 = "valueUnsigned8",
24
+ ValueSigned8 = "valueSigned8",
25
+ ValueUnsigned16 = "valueUnsigned16",
26
+ ValueSigned16 = "valueSigned16",
27
+ ValueUnsigned32 = "valueUnsigned32",
28
+ ValueSigned32 = "valueSigned32",
29
+ ValueUnsigned64 = "valueUnsigned64",
30
+ ValueSigned64 = "valueSigned64"
31
+ }
32
+ /** Mapping from Datatypes to the AttributeValuePair field to use and expect */
33
+ export declare const DataTypeToSceneAttributeDataMap: Record<string, AttributeValuePairDataFields | undefined>;
34
+ declare const ScenesManagementBase: ClusterBehavior.Type<import("#types").ClusterComposer.WithFeatures<ScenesManagement.Cluster, readonly [ScenesManagement.Feature]>, import("./ScenesManagementBehavior.js").ScenesManagementBehaviorConstructor, import("./ScenesManagementInterface.js").ScenesManagementInterface>;
8
35
  /**
9
36
  * This is the default server implementation of {@link ScenesManagementBehavior}.
37
+ * We implement the full Scenes Management cluster as specified in the Matter Spec.
38
+ * The SceneName feature is enabled by default.
39
+ *
40
+ * When a scene is applied/recalled then the relevant clusters are informed via the "applySceneValues" event they need
41
+ * to implement. If they do not implement the scene is not applied for that cluster.
10
42
  */
11
- export declare class ScenesManagementServer extends ScenesManagementBehavior {
43
+ export declare class ScenesManagementServer extends ScenesManagementBase {
44
+ #private;
45
+ state: ScenesManagementServer.State;
46
+ protected internal: ScenesManagementServer.Internal;
47
+ initialize(): void;
48
+ /**
49
+ * Handles removal of one group in a fabric.
50
+ * This method is called by the GroupsServer implementation and also internally by this cluster.
51
+ */
52
+ removeScenesForGroupOnFabric(fabricIndex: FabricIndex, groupId: GroupId): void;
53
+ /** Handles removal of all groups in a fabric. This method is called by the GroupsServer implementation. */
54
+ removeScenesForAllGroupsForFabric(fabricIndex: FabricIndex): void;
55
+ /** Implements the AddScene command */
56
+ addScene({ groupId: reqGroupId, sceneId, sceneName, transitionTime, extensionFieldSetStructs, }: ScenesManagement.AddSceneRequest): ScenesManagement.AddSceneResponse;
57
+ /** Implements the ViewScene command */
58
+ viewScene({ groupId: reqGroupId, sceneId, }: ScenesManagement.ViewSceneRequest): ScenesManagement.ViewSceneResponse;
59
+ /** Implements the RemoveScene command */
60
+ removeScene({ groupId: reqGroupId, sceneId, }: ScenesManagement.RemoveSceneRequest): ScenesManagement.RemoveSceneResponse;
61
+ /** Implements the RemoveAllScenes command */
62
+ removeAllScenes({ groupId: reqGroupId, }: ScenesManagement.RemoveAllScenesRequest): ScenesManagement.RemoveAllScenesResponse;
63
+ /** Implements the StoreScene command */
64
+ storeScene({ groupId: reqGroupId, sceneId, }: ScenesManagement.StoreSceneRequest): ScenesManagement.StoreSceneResponse;
65
+ /** Implements the RecallScene command */
66
+ recallScene({ groupId: reqGroupId, sceneId, transitionTime }: ScenesManagement.RecallSceneRequest): Promise<void>;
67
+ /** Implements the GetSceneMembership command */
68
+ getSceneMembership({ groupId: reqGroupId, }: ScenesManagement.GetSceneMembershipRequest): ScenesManagement.GetSceneMembershipResponse;
69
+ /** Implements the CopyScene command */
70
+ copyScene({ mode, groupIdentifierFrom, sceneIdentifierFrom, groupIdentifierTo, sceneIdentifierTo, }: ScenesManagement.CopySceneRequest): ScenesManagement.CopySceneResponse;
71
+ /** Close the observers */
72
+ [Symbol.asyncDispose](): Promise<void>;
73
+ /** Method used by the OnOff cluster to recall the global scene */
74
+ recallGlobalScene(fabricIndex: FabricIndex): Promise<void>;
75
+ /** Method used by the OnOff cluster to store the global scene */
76
+ storeGlobalScene(fabricIndex: FabricIndex): void;
77
+ /**
78
+ * Main method for Clusters to Register themselves with their "Apply Scenes Callback".
79
+ *
80
+ * @param behavior ClusterBehavior implementing a cluster with sceneable attributes
81
+ * @param applyFunc Function that applies scene values for that cluster
82
+ */
83
+ implementScenes<T extends ClusterBehavior>(behavior: T, applyFunc: ScenesManagementServer.ApplySceneValuesFunc<T>): void;
84
+ /**
85
+ * Invalidate all fabric scene info entries.
86
+ * Method will be called by relevant clusters when commands change the state.
87
+ */
88
+ makeAllFabricSceneInfoEntriesInvalid(): void;
89
+ }
90
+ export declare namespace ScenesManagementServer {
91
+ /** Scene Attribute Data format used internally to store scene attribute values */
92
+ type SceneAttributeData = {
93
+ [key: string]: {
94
+ [key: string]: boolean | number | bigint | null;
95
+ };
96
+ };
97
+ /** Scene Table Entry as decorated class for persistence */
98
+ class ScenesTableEntry implements Omit<ScenesManagement.LogicalSceneTable, "extensionFields"> {
99
+ sceneGroupId: GroupId;
100
+ sceneId: number;
101
+ sceneName?: string;
102
+ sceneTransitionTime: number;
103
+ sceneValues: SceneAttributeData;
104
+ fabricIndex: FabricIndex;
105
+ }
106
+ class State extends ScenesManagementBase.State {
107
+ sceneTable: ScenesTableEntry[];
108
+ }
109
+ type ApplySceneValuesFunc<T extends ClusterBehavior> = (this: T, values: Val.Struct, transitionTime: number) => MaybePromise;
110
+ class Internal {
111
+ /** ObserverGroup for all $Changed events of sceneable attributes */
112
+ endpointSceneAttributeObservers: ObserverGroup;
113
+ /** Fabric index where a scene is currently valid, if any */
114
+ monitorSceneAttributesForFabric: FabricIndex | null;
115
+ /** Map of sceneable behaviors/clusters and their sceneable attributes on the endpoint */
116
+ endpointSceneableBehaviors: BasicSet<{
117
+ id: ClusterId;
118
+ name: string;
119
+ attributes: BasicSet<AttributeDetails>;
120
+ clusterBehaviorType: ClusterBehavior.Type;
121
+ applyFunc: ApplySceneValuesFunc<any>;
122
+ }, {
123
+ id: ClusterId;
124
+ name: string;
125
+ attributes: BasicSet<AttributeDetails>;
126
+ clusterBehaviorType: ClusterBehavior.Type;
127
+ applyFunc: ApplySceneValuesFunc<any>;
128
+ }>;
129
+ }
12
130
  }
131
+ export {};
13
132
  //# sourceMappingURL=ScenesManagementServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScenesManagementServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/scenes-management/ScenesManagementServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yEAAyE;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;CAAG"}
1
+ {"version":3,"file":"ScenesManagementServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/scenes-management/ScenesManagementServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAA6C,aAAa,EAAa,MAAM,UAAU,CAAC;AAgCzG,OAAO,EAA0D,GAAG,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EACH,WAAW,EACX,SAAS,EAET,WAAW,EACX,OAAO,EAWP,SAAS,EAKZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C,yEAAyE;AACzE,KAAK,gBAAgB,GAAG;IACpB,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,4BAA4B,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wDAAwD;AACxD,mBAAW,4BAA4B;IACnC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;CAClC;AAED,+EAA+E;AAC/E,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,CAqBpG,CAAC;AAuEF,QAAA,MAAM,oBAAoB,qRAAqE,CAAC;AAEhG;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,oBAAoB;;IACpD,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC;IAC5C,UAAkB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC;IAEnD,UAAU;IAenB;;;OAGG;IACH,4BAA4B,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;IAiBvE,2GAA2G;IAC3G,iCAAiC,CAAC,WAAW,EAAE,WAAW;IAwD1D,sCAAsC;IAC7B,QAAQ,CAAC,EACd,OAAO,EAAE,UAAU,EACnB,OAAO,EACP,SAAS,EACT,cAAc,EACd,wBAAwB,GAC3B,EAAE,gBAAgB,CAAC,eAAe,GAAG,gBAAgB,CAAC,gBAAgB;IA4BvE,uCAAuC;IAC9B,SAAS,CAAC,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,GACV,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,iBAAiB;IAyBzE,yCAAyC;IAChC,WAAW,CAAC,EACjB,OAAO,EAAE,UAAU,EACnB,OAAO,GACV,EAAE,gBAAgB,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,mBAAmB;IA6B7E,6CAA6C;IACpC,eAAe,CAAC,EACrB,OAAO,EAAE,UAAU,GACtB,EAAE,gBAAgB,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,uBAAuB;IAWrF,wCAAwC;IAC/B,UAAU,CAAC,EAChB,OAAO,EAAE,UAAU,EACnB,OAAO,GACV,EAAE,gBAAgB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,kBAAkB;IAyC3E,yCAAyC;IAC1B,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB,CAAC,kBAAkB;IAsBhH,gDAAgD;IACvC,kBAAkB,CAAC,EACxB,OAAO,EAAE,UAAU,GACtB,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,0BAA0B;IAwB3F,uCAAuC;IAC9B,SAAS,CAAC,EACf,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GACpB,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,iBAAiB;IAyDzE,0BAA0B;IACX,CAAC,MAAM,CAAC,YAAY,CAAC;IAIpC,kEAAkE;IAC5D,iBAAiB,CAAC,WAAW,EAAE,WAAW;IAUhD,iEAAiE;IACjE,gBAAgB,CAAC,WAAW,EAAE,WAAW;IA4PzC;;;;;OAKG;IACH,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC;IA4IjH;;;OAGG;IACH,oCAAoC;CAyFvC;AAED,yBAAiB,sBAAsB,CAAC;IACpC,kFAAkF;IAClF,KAAY,kBAAkB,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;IAExG,2DAA2D;IAC3D,MAAa,gBAAiB,YAAW,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;QAEhG,YAAY,EAAG,OAAO,CAAC;QAGvB,OAAO,EAAG,MAAM,CAAC;QAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;QAGnB,mBAAmB,EAAG,MAAM,CAAC;QAG7B,WAAW,EAAG,kBAAkB,CAAC;QAGjC,WAAW,EAAG,WAAW,CAAC;KAC7B;IAED,MAAa,KAAM,SAAQ,oBAAoB,CAAC,KAAK;QAEjD,UAAU,qBAAiC;KAC9C;IAED,KAAY,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAC1D,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,cAAc,EAAE,MAAM,KACrB,YAAY,CAAC;IAElB,MAAa,QAAQ;QACjB,oEAAoE;QACpE,+BAA+B,gBAAuB;QAEtD,4DAA4D;QAC5D,+BAA+B,EAAE,WAAW,GAAG,IAAI,CAAQ;QAE3D,yFAAyF;QACzF,0BAA0B;gBAClB,SAAS;kBACP,MAAM;wBACA,QAAQ,CAAC,gBAAgB,CAAC;iCACjB,eAAe,CAAC,IAAI;uBAC9B,oBAAoB,CAAC,GAAG,CAAC;;gBAJhC,SAAS;kBACP,MAAM;wBACA,QAAQ,CAAC,gBAAgB,CAAC;iCACjB,eAAe,CAAC,IAAI;uBAC9B,oBAAoB,CAAC,GAAG,CAAC;WACnC;KACR;CACJ"}