hap-nodejs 1.1.0 → 1.1.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/@types/bonjour-hap.d.ts +50 -53
  2. package/README.md +16 -19
  3. package/dist/accessories/AirConditioner_accessory.js +28 -30
  4. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  5. package/dist/accessories/AppleTVRemote_accessory.js +69 -81
  6. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  7. package/dist/accessories/Camera_accessory.js +159 -144
  8. package/dist/accessories/Camera_accessory.js.map +1 -1
  9. package/dist/accessories/Fan_accessory.js +18 -22
  10. package/dist/accessories/Fan_accessory.js.map +1 -1
  11. package/dist/accessories/GarageDoorOpener_accessory.js +33 -35
  12. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  13. package/dist/accessories/Light-AdaptiveLighting_accessory.js +42 -44
  14. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  15. package/dist/accessories/Light_accessory.js +32 -34
  16. package/dist/accessories/Light_accessory.js.map +1 -1
  17. package/dist/accessories/Lock_accessory.js +25 -26
  18. package/dist/accessories/Lock_accessory.js.map +1 -1
  19. package/dist/accessories/MotionSensor_accessory.js +13 -16
  20. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  21. package/dist/accessories/Outlet_accessory.js +20 -22
  22. package/dist/accessories/Outlet_accessory.js.map +1 -1
  23. package/dist/accessories/SmartSpeaker_accessory.js +18 -20
  24. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  25. package/dist/accessories/Sprinkler_accessory.js +34 -37
  26. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  27. package/dist/accessories/TV_accessory.js +43 -45
  28. package/dist/accessories/TV_accessory.js.map +1 -1
  29. package/dist/accessories/TemperatureSensor_accessory.js +12 -15
  30. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  31. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  32. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  33. package/dist/accessories/Wi-FiRouter_accessory.js +9 -12
  34. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  35. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  36. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  37. package/dist/accessories/Wi-FiSatellite_accessory.js +11 -14
  38. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  39. package/dist/accessories/gstreamer-audioProducer.d.ts +3 -3
  40. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  41. package/dist/accessories/gstreamer-audioProducer.js +45 -46
  42. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  43. package/dist/accessories/types.d.ts +63 -63
  44. package/dist/accessories/types.d.ts.map +1 -1
  45. package/dist/accessories/types.js +83 -87
  46. package/dist/accessories/types.js.map +1 -1
  47. package/dist/index.d.ts +26 -28
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +40 -34
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal-types.d.ts +1 -1
  52. package/dist/internal-types.d.ts.map +1 -1
  53. package/dist/internal-types.js +19 -21
  54. package/dist/internal-types.js.map +1 -1
  55. package/dist/lib/Accessory.d.ts +39 -38
  56. package/dist/lib/Accessory.d.ts.map +1 -1
  57. package/dist/lib/Accessory.js +313 -296
  58. package/dist/lib/Accessory.js.map +1 -1
  59. package/dist/lib/Advertiser.d.ts +16 -13
  60. package/dist/lib/Advertiser.d.ts.map +1 -1
  61. package/dist/lib/Advertiser.js +147 -153
  62. package/dist/lib/Advertiser.js.map +1 -1
  63. package/dist/lib/Bridge.d.ts +1 -1
  64. package/dist/lib/Bridge.d.ts.map +1 -1
  65. package/dist/lib/Bridge.js +2 -6
  66. package/dist/lib/Bridge.js.map +1 -1
  67. package/dist/lib/Characteristic.d.ts +48 -69
  68. package/dist/lib/Characteristic.d.ts.map +1 -1
  69. package/dist/lib/Characteristic.js +212 -236
  70. package/dist/lib/Characteristic.js.map +1 -1
  71. package/dist/lib/HAPServer.d.ts +31 -30
  72. package/dist/lib/HAPServer.d.ts.map +1 -1
  73. package/dist/lib/HAPServer.js +220 -229
  74. package/dist/lib/HAPServer.js.map +1 -1
  75. package/dist/lib/Service.d.ts +22 -30
  76. package/dist/lib/Service.d.ts.map +1 -1
  77. package/dist/lib/Service.js +63 -75
  78. package/dist/lib/Service.js.map +1 -1
  79. package/dist/lib/camera/RTPProxy.d.ts +2 -1
  80. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  81. package/dist/lib/camera/RTPProxy.js +28 -44
  82. package/dist/lib/camera/RTPProxy.js.map +1 -1
  83. package/dist/lib/camera/RTPStreamManagement.d.ts +34 -33
  84. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  85. package/dist/lib/camera/RTPStreamManagement.js +181 -149
  86. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  87. package/dist/lib/camera/RecordingManagement.d.ts +19 -17
  88. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
  89. package/dist/lib/camera/RecordingManagement.js +160 -151
  90. package/dist/lib/camera/RecordingManagement.js.map +1 -1
  91. package/dist/lib/camera/index.d.ts +3 -3
  92. package/dist/lib/camera/index.d.ts.map +1 -1
  93. package/dist/lib/camera/index.js +3 -6
  94. package/dist/lib/camera/index.js.map +1 -1
  95. package/dist/lib/controller/AdaptiveLightingController.d.ts +33 -33
  96. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  97. package/dist/lib/controller/AdaptiveLightingController.js +152 -144
  98. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  99. package/dist/lib/controller/CameraController.d.ts +22 -20
  100. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  101. package/dist/lib/controller/CameraController.js +74 -78
  102. package/dist/lib/controller/CameraController.js.map +1 -1
  103. package/dist/lib/controller/Controller.d.ts +4 -4
  104. package/dist/lib/controller/Controller.d.ts.map +1 -1
  105. package/dist/lib/controller/Controller.js +5 -8
  106. package/dist/lib/controller/Controller.js.map +1 -1
  107. package/dist/lib/controller/DoorbellController.d.ts +5 -4
  108. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  109. package/dist/lib/controller/DoorbellController.js +9 -13
  110. package/dist/lib/controller/DoorbellController.js.map +1 -1
  111. package/dist/lib/controller/RemoteController.d.ts +39 -37
  112. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  113. package/dist/lib/controller/RemoteController.js +208 -197
  114. package/dist/lib/controller/RemoteController.js.map +1 -1
  115. package/dist/lib/controller/index.d.ts +5 -5
  116. package/dist/lib/controller/index.d.ts.map +1 -1
  117. package/dist/lib/controller/index.js +5 -8
  118. package/dist/lib/controller/index.js.map +1 -1
  119. package/dist/lib/datastream/DataStreamManagement.d.ts +2 -2
  120. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  121. package/dist/lib/datastream/DataStreamManagement.js +39 -39
  122. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  123. package/dist/lib/datastream/DataStreamParser.d.ts +1 -0
  124. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  125. package/dist/lib/datastream/DataStreamParser.js +57 -77
  126. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  127. package/dist/lib/datastream/DataStreamServer.d.ts +23 -22
  128. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  129. package/dist/lib/datastream/DataStreamServer.js +154 -164
  130. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  131. package/dist/lib/datastream/index.d.ts +3 -3
  132. package/dist/lib/datastream/index.d.ts.map +1 -1
  133. package/dist/lib/datastream/index.js +3 -6
  134. package/dist/lib/datastream/index.js.map +1 -1
  135. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +15 -60
  136. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  137. package/dist/lib/definitions/CharacteristicDefinitions.js +978 -1317
  138. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  139. package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -15
  140. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  141. package/dist/lib/definitions/ServiceDefinitions.js +621 -726
  142. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  143. package/dist/lib/definitions/generate-definitions.d.ts +3 -3
  144. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  145. package/dist/lib/definitions/generate-definitions.js +246 -251
  146. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  147. package/dist/lib/definitions/generator-configuration.d.ts +1 -1
  148. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  149. package/dist/lib/definitions/generator-configuration.js +160 -354
  150. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  151. package/dist/lib/definitions/index.d.ts +2 -2
  152. package/dist/lib/definitions/index.d.ts.map +1 -1
  153. package/dist/lib/definitions/index.js +2 -5
  154. package/dist/lib/definitions/index.js.map +1 -1
  155. package/dist/lib/model/AccessoryInfo.d.ts +4 -3
  156. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  157. package/dist/lib/model/AccessoryInfo.js +50 -53
  158. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  159. package/dist/lib/model/ControllerStorage.d.ts +3 -3
  160. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  161. package/dist/lib/model/ControllerStorage.js +18 -23
  162. package/dist/lib/model/ControllerStorage.js.map +1 -1
  163. package/dist/lib/model/HAPStorage.d.ts +2 -2
  164. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  165. package/dist/lib/model/HAPStorage.js +4 -11
  166. package/dist/lib/model/HAPStorage.js.map +1 -1
  167. package/dist/lib/model/IdentifierCache.d.ts +1 -1
  168. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  169. package/dist/lib/model/IdentifierCache.js +19 -27
  170. package/dist/lib/model/IdentifierCache.js.map +1 -1
  171. package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
  172. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  173. package/dist/lib/tv/AccessControlManagement.js +27 -29
  174. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  175. package/dist/lib/util/checkName.d.ts +2 -2
  176. package/dist/lib/util/checkName.d.ts.map +1 -1
  177. package/dist/lib/util/checkName.js +6 -9
  178. package/dist/lib/util/checkName.js.map +1 -1
  179. package/dist/lib/util/clone.d.ts.map +1 -1
  180. package/dist/lib/util/clone.js +1 -5
  181. package/dist/lib/util/clone.js.map +1 -1
  182. package/dist/lib/util/color-utils.d.ts +1 -1
  183. package/dist/lib/util/color-utils.d.ts.map +1 -1
  184. package/dist/lib/util/color-utils.js +4 -9
  185. package/dist/lib/util/color-utils.js.map +1 -1
  186. package/dist/lib/util/eventedhttp.d.ts +23 -22
  187. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  188. package/dist/lib/util/eventedhttp.js +109 -116
  189. package/dist/lib/util/eventedhttp.js.map +1 -1
  190. package/dist/lib/util/hapCrypto.d.ts +3 -2
  191. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  192. package/dist/lib/util/hapCrypto.js +31 -40
  193. package/dist/lib/util/hapCrypto.js.map +1 -1
  194. package/dist/lib/util/hapStatusError.d.ts +1 -1
  195. package/dist/lib/util/hapStatusError.d.ts.map +1 -1
  196. package/dist/lib/util/hapStatusError.js +4 -8
  197. package/dist/lib/util/hapStatusError.js.map +1 -1
  198. package/dist/lib/util/net-utils.d.ts +1 -1
  199. package/dist/lib/util/net-utils.js +17 -23
  200. package/dist/lib/util/net-utils.js.map +1 -1
  201. package/dist/lib/util/once.d.ts.map +1 -1
  202. package/dist/lib/util/once.js +2 -6
  203. package/dist/lib/util/once.js.map +1 -1
  204. package/dist/lib/util/promise-utils.d.ts +1 -1
  205. package/dist/lib/util/promise-utils.d.ts.map +1 -1
  206. package/dist/lib/util/promise-utils.js +3 -10
  207. package/dist/lib/util/promise-utils.js.map +1 -1
  208. package/dist/lib/util/request-util.d.ts +3 -2
  209. package/dist/lib/util/request-util.d.ts.map +1 -1
  210. package/dist/lib/util/request-util.js +11 -19
  211. package/dist/lib/util/request-util.js.map +1 -1
  212. package/dist/lib/util/time.d.ts +1 -0
  213. package/dist/lib/util/time.d.ts.map +1 -1
  214. package/dist/lib/util/time.js +6 -11
  215. package/dist/lib/util/time.js.map +1 -1
  216. package/dist/lib/util/tlv.d.ts +1 -0
  217. package/dist/lib/util/tlv.d.ts.map +1 -1
  218. package/dist/lib/util/tlv.js +28 -43
  219. package/dist/lib/util/tlv.js.map +1 -1
  220. package/dist/lib/util/uuid.d.ts +1 -0
  221. package/dist/lib/util/uuid.d.ts.map +1 -1
  222. package/dist/lib/util/uuid.js +26 -38
  223. package/dist/lib/util/uuid.js.map +1 -1
  224. package/dist/types.d.ts +24 -24
  225. package/dist/types.d.ts.map +1 -1
  226. package/dist/types.js +3 -5
  227. package/dist/types.js.map +1 -1
  228. package/package.json +49 -47
  229. package/@types/simple-plist.d.ts +0 -4
  230. package/dist/lib/gen/HomeKit.d.ts +0 -7
  231. package/dist/lib/gen/HomeKit.d.ts.map +0 -1
  232. package/dist/lib/gen/HomeKit.js +0 -8
  233. package/dist/lib/gen/HomeKit.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":";;;;AAAA,6DAA6D;AAC7D,aAAa;AACb,wEAAqD;AAErD;;GAEG;AACH,MAAa,UAAU;IAEb,MAAM,CAAU,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;IAE5C,UAAU,CAAgB;IAC1B,iBAAiB,CAAU;IAE5B,MAAM,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAY;QAC7C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,sBAAO,CAAC,MAAM,EAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;;AArCH,gCAuCC"}
1
+ {"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,MAAM,CAAU,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAA;IAE3C,UAAU,CAAe;IACzB,iBAAiB,CAAS;IAE3B,MAAM,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAY;QAC7C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;YAElC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC/B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { MacAddress } from "../../types";
1
+ import type { MacAddress } from '../../types';
2
2
  /**
3
3
  * IdentifierCache is a model class that manages a system of associating HAP "Accessory IDs" and "Instance IDs"
4
4
  * with other values that don't usually change. HomeKit Clients use Accessory/Instance IDs as a primary key of
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierCache.d.ts","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKP,QAAQ,EAAE,UAAU;IAJvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAQ;IACjD,eAAe,SAAM;gBAEF,QAAQ,EAAE,UAAU;IAGvC,kBAAkB,IAAI,IAAI;IAI1B,gCAAgC,IAAI,IAAI;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS5C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOrC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM;IAUhH,UAAU,IAAI,MAAM;IAOpB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOzC,IAAI,IAAI,IAAI;IAYZ;;OAEG;IAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI;IAczD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAI1C"}
1
+ {"version":3,"file":"IdentifierCache.d.ts","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAO7C;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKP,QAAQ,EAAE,UAAU;IAJvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAChD,eAAe,SAAK;gBAED,QAAQ,EAAE,UAAU;IAGvC,kBAAkB,IAAI,IAAI;IAI1B,gCAAgC,IAAI,IAAI;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS5C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOrC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM;IAUhH,UAAU,IAAI,MAAM;IAOpB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOzC,IAAI,IAAI,IAAI;IAYZ;;OAEG;IAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI;IAczD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAI1C"}
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IdentifierCache = void 0;
4
- const tslib_1 = require("tslib");
5
- const crypto_1 = tslib_1.__importDefault(require("crypto"));
6
- const util_1 = tslib_1.__importDefault(require("util"));
7
- const HAPStorage_1 = require("./HAPStorage");
1
+ import { createHash } from 'node:crypto';
2
+ import { format } from 'node:util';
3
+ import { HAPStorage } from './HAPStorage.js';
8
4
  /**
9
5
  * IdentifierCache is a model class that manages a system of associating HAP "Accessory IDs" and "Instance IDs"
10
6
  * with other values that don't usually change. HomeKit Clients use Accessory/Instance IDs as a primary key of
@@ -14,11 +10,11 @@ const HAPStorage_1 = require("./HAPStorage");
14
10
  * the scene will stop working.
15
11
  * @group Model
16
12
  */
17
- class IdentifierCache {
13
+ export class IdentifierCache {
18
14
  username;
19
15
  _cache = {}; // cache[key:string] = id:number
20
16
  _usedCache = null; // for usage tracking and expiring old keys
21
- _savedCacheHash = ""; // for checking if new cache need to be saved
17
+ _savedCacheHash = ''; // for checking if new cache need to be saved
22
18
  constructor(username) {
23
19
  this.username = username;
24
20
  }
@@ -33,7 +29,7 @@ class IdentifierCache {
33
29
  getCache(key) {
34
30
  const value = this._cache[key];
35
31
  // track this cache item if needed
36
- if (this._usedCache && typeof value !== "undefined") {
32
+ if (this._usedCache && typeof value !== 'undefined') {
37
33
  this._usedCache[key] = value;
38
34
  }
39
35
  return value;
@@ -49,39 +45,36 @@ class IdentifierCache {
49
45
  getAID(accessoryUUID) {
50
46
  const key = accessoryUUID;
51
47
  // ensure that our "next AID" field is not expired
52
- this.getCache("|nextAID");
48
+ this.getCache('|nextAID');
53
49
  return this.getCache(key) || this.setCache(key, this.getNextAID());
54
50
  }
55
51
  getIID(accessoryUUID, serviceUUID, serviceSubtype, characteristicUUID) {
56
- const key = accessoryUUID
57
- + "|" + serviceUUID
58
- + (serviceSubtype ? "|" + serviceSubtype : "")
59
- + (characteristicUUID ? "|" + characteristicUUID : "");
52
+ const key = `${accessoryUUID}|${serviceUUID}${serviceSubtype ? `|${serviceSubtype}` : ''}${characteristicUUID ? `|${characteristicUUID}` : ''}`;
60
53
  // ensure that our "next IID" field for this accessory is not expired
61
- this.getCache(accessoryUUID + "|nextIID");
54
+ this.getCache(`${accessoryUUID}|nextIID`);
62
55
  return this.getCache(key) || this.setCache(key, this.getNextIID(accessoryUUID));
63
56
  }
64
57
  getNextAID() {
65
- const key = "|nextAID";
58
+ const key = '|nextAID';
66
59
  const nextAID = this.getCache(key) || 2; // start at 2 because the root Accessory or Bridge must be 1
67
60
  this.setCache(key, nextAID + 1); // increment
68
61
  return nextAID;
69
62
  }
70
63
  getNextIID(accessoryUUID) {
71
- const key = accessoryUUID + "|nextIID";
64
+ const key = `${accessoryUUID}|nextIID`;
72
65
  const nextIID = this.getCache(key) || 2; // iid 1 is reserved for the Accessory Information service
73
66
  this.setCache(key, nextIID + 1); // increment
74
67
  return nextIID;
75
68
  }
76
69
  save() {
77
- const newCacheHash = crypto_1.default.createHash("sha1").update(JSON.stringify(this._cache)).digest("hex"); //calculate hash of new cache
78
- if (newCacheHash !== this._savedCacheHash) { //check if cache need to be saved and proceed accordingly
70
+ const newCacheHash = createHash('sha1').update(JSON.stringify(this._cache)).digest('hex'); // calculate hash of new cache
71
+ if (newCacheHash !== this._savedCacheHash) { // check if cache need to be saved and proceed accordingly
79
72
  const saved = {
80
73
  cache: this._cache,
81
74
  };
82
75
  const key = IdentifierCache.persistKey(this.username);
83
- HAPStorage_1.HAPStorage.storage().setItemSync(key, saved);
84
- this._savedCacheHash = newCacheHash; //update hash of saved cache for future use
76
+ HAPStorage.storage().setItemSync(key, saved);
77
+ this._savedCacheHash = newCacheHash; // update hash of saved cache for future use
85
78
  }
86
79
  }
87
80
  /**
@@ -89,16 +82,16 @@ class IdentifierCache {
89
82
  */
90
83
  // Gets a key for storing this IdentifierCache in the filesystem, like "IdentifierCache.CC223DE3CEF3.json"
91
84
  static persistKey(username) {
92
- return util_1.default.format("IdentifierCache.%s.json", username.replace(/:/g, "").toUpperCase());
85
+ return format('IdentifierCache.%s.json', username.replace(/:/g, '').toUpperCase());
93
86
  }
94
87
  static load(username) {
95
88
  const key = IdentifierCache.persistKey(username);
96
- const saved = HAPStorage_1.HAPStorage.storage().getItem(key);
89
+ const saved = HAPStorage.storage().getItem(key);
97
90
  if (saved) {
98
91
  const info = new IdentifierCache(username);
99
92
  info._cache = saved.cache;
100
93
  // calculate hash of the saved hash to decide in future if saving of new cache is needed
101
- info._savedCacheHash = crypto_1.default.createHash("sha1").update(JSON.stringify(info._cache)).digest("hex");
94
+ info._savedCacheHash = createHash('sha1').update(JSON.stringify(info._cache)).digest('hex');
102
95
  return info;
103
96
  }
104
97
  else {
@@ -107,8 +100,7 @@ class IdentifierCache {
107
100
  }
108
101
  static remove(username) {
109
102
  const key = this.persistKey(username);
110
- HAPStorage_1.HAPStorage.storage().removeItemSync(key);
103
+ HAPStorage.storage().removeItemSync(key);
111
104
  }
112
105
  }
113
- exports.IdentifierCache = IdentifierCache;
114
106
  //# sourceMappingURL=IdentifierCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierCache.js","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdentifierCache.js","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IAKP;IAJnB,MAAM,GAA2B,EAAE,CAAA,CAAC,gCAAgC;IACpE,UAAU,GAAkC,IAAI,CAAA,CAAC,2CAA2C;IAC5F,eAAe,GAAG,EAAE,CAAA,CAAC,6CAA6C;IAElE,YAAmB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IACvC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,gCAAgC;QAC9B,kFAAkF;QAClF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC9B,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC9B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACxB,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC9B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,aAAqB;QAC1B,MAAM,GAAG,GAAG,aAAa,CAAA;QACzB,kDAAkD;QAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,CAAC,aAAqB,EAAE,WAAmB,EAAE,cAAuB,EAAE,kBAA2B;QACrG,MAAM,GAAG,GAAG,GAAG,aACf,IAAI,WACJ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,EAC3C,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACvD,qEAAqE;QACrE,IAAI,CAAC,QAAQ,CAAC,GAAG,aAAa,UAAU,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IACjF,CAAC;IAED,UAAU;QACR,MAAM,GAAG,GAAG,UAAU,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAC,4DAA4D;QACpG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA,CAAC,YAAY;QAC5C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,UAAU,CAAC,aAAqB;QAC9B,MAAM,GAAG,GAAG,GAAG,aAAa,UAAU,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAC,0DAA0D;QAClG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA,CAAC,YAAY;QAC5C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI;QACF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,8BAA8B;QACxH,IAAI,YAAY,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,0DAA0D;YACrG,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB,CAAA;YACD,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrD,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC5C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAA,CAAC,4CAA4C;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,0GAA0G;IAC1G,MAAM,CAAC,UAAU,CAAC,QAAoB;QACpC,OAAO,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAoB;QAC9B,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAA;YACzB,wFAAwF;YACxF,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3F,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,QAAoB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACrC,UAAU,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC1C,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { EventEmitter } from "events";
2
- import type { AccessControl } from "../definitions";
1
+ import type { AccessControl } from '../definitions';
2
+ import { EventEmitter } from 'node:events';
3
3
  /**
4
4
  * This defines the Access Level for TVs and Speakers. It is pretty much only used for the AirPlay 2 protocol
5
5
  * so this information is not really useful.
@@ -8,15 +8,15 @@ import type { AccessControl } from "../definitions";
8
8
  */
9
9
  export declare const enum AccessLevel {
10
10
  /**
11
- * This access level is set when the users selects "Anyone" or "Anyone On The Same Network"
11
+ * This access level is set when the user selects "Anyone" or "Anyone On The Same Network"
12
12
  * in the Access Control settings.
13
13
  */
14
14
  ANYONE = 0,
15
15
  /**
16
- * This access level is set when the users selects "Only People Sharing this Home" in the
16
+ * This access level is set when the user selects "Only People Sharing this Home" in the
17
17
  * Access Control settings.
18
18
  * On this level password setting is ignored.
19
- * Requests to the HAPServer can only come from Home members anyways, so there is no real use to it.
19
+ * Requests to the HAPServer can only come from Home members anyway, so there is no real use to it.
20
20
  * This is pretty much only used for the AirPlay 2 protocol.
21
21
  */
22
22
  HOME_MEMBERS_ONLY = 1
@@ -32,10 +32,10 @@ export declare const enum AccessControlEvent {
32
32
  * @group Television
33
33
  */
34
34
  export declare interface AccessControlManagement {
35
- on(event: "update-control-level", listener: (accessLevel: AccessLevel) => void): this;
36
- on(event: "update-password", listener: (password: string | undefined, passwordRequired: boolean) => void): this;
37
- emit(event: "update-control-level", accessLevel: AccessLevel): boolean;
38
- emit(event: "update-password", password: string | undefined, passwordRequired: boolean): boolean;
35
+ on(event: 'update-control-level', listener: (accessLevel: AccessLevel) => void): this;
36
+ on(event: 'update-password', listener: (password: string | undefined, passwordRequired: boolean) => void): this;
37
+ emit(event: 'update-control-level', accessLevel: AccessLevel): boolean;
38
+ emit(event: 'update-password', password: string | undefined, passwordRequired: boolean): boolean;
39
39
  }
40
40
  /**
41
41
  * @group Television
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControlManagement.d.ts","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD;;;;;GAKG;AACH,0BAAkB,WAAW;IAE3B;;;OAGG;IACH,MAAM,IAAI;IACV;;;;;;OAMG;IACH,iBAAiB,IAAI;CAItB;AAED;;GAEG;AACH,0BAAkB,kBAAkB;IAClC,oBAAoB,yBAAyB;IAC7C,wBAAwB,oBAAoB;CAC7C;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC9C,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IACtF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAEhH,IAAI,CAAC,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;CAClG;AAED;;GAEG;AAEH,qBAAa,uBAAwB,SAAQ,YAAY;IAEvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAErD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B;;;;OAIG;gBACS,QAAQ,CAAC,EAAE,OAAO;IAC9B;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAQvD;;OAEG;IACI,UAAU,IAAI,aAAa;IAIlC;;OAEG;IACI,cAAc,IAAI,WAAW;IAIpC;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;;OAIG;IACI,OAAO,IAAI,IAAI;IAStB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;CAc7B"}
1
+ {"version":3,"file":"AccessControlManagement.d.ts","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAY1C;;;;;GAKG;AAEH,0BAAkB,WAAW;IAC3B;;;OAGG;IACH,MAAM,IAAI;IACV;;;;;;OAMG;IACH,iBAAiB,IAAI;CAItB;AAED;;GAEG;AAEH,0BAAkB,kBAAkB;IAClC,oBAAoB,yBAAyB;IAC7C,wBAAwB,oBAAoB;CAC7C;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAE9C,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAA;IACrF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC/G,IAAI,CAAC,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAA;IACtE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CAEjG;AAED;;GAEG;AAEH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IAEpD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;OAIG;gBACS,QAAQ,CAAC,EAAE,OAAO;IAC9B;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAQvD;;OAEG;IACI,UAAU,IAAI,aAAa;IAIlC;;OAEG;IACI,cAAc,IAAI,WAAW;IAIpC;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;;OAIG;IACI,OAAO,IAAI,IAAI;IAStB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;CAa7B"}
@@ -1,11 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccessControlManagement = exports.AccessControlEvent = exports.AccessLevel = void 0;
4
- const tslib_1 = require("tslib");
5
- const events_1 = require("events");
6
- const Characteristic_1 = require("../Characteristic");
7
- const Service_1 = require("../Service");
8
- const tlv = tslib_1.__importStar(require("../util/tlv"));
1
+ import { Buffer } from 'node:buffer';
2
+ import { EventEmitter } from 'node:events';
3
+ import { Characteristic } from '../Characteristic.js';
4
+ import { Service } from '../Service.js';
5
+ import { decode } from '../util/tlv.js';
6
+ // eslint-disable-next-line no-restricted-syntax
9
7
  var AccessControlTypes;
10
8
  (function (AccessControlTypes) {
11
9
  AccessControlTypes[AccessControlTypes["PASSWORD"] = 1] = "PASSWORD";
@@ -17,38 +15,39 @@ var AccessControlTypes;
17
15
  *
18
16
  * @group Television
19
17
  */
20
- var AccessLevel;
18
+ // eslint-disable-next-line no-restricted-syntax
19
+ export var AccessLevel;
21
20
  (function (AccessLevel) {
22
- // noinspection JSUnusedGlobalSymbols
23
21
  /**
24
- * This access level is set when the users selects "Anyone" or "Anyone On The Same Network"
22
+ * This access level is set when the user selects "Anyone" or "Anyone On The Same Network"
25
23
  * in the Access Control settings.
26
24
  */
27
25
  AccessLevel[AccessLevel["ANYONE"] = 0] = "ANYONE";
28
26
  /**
29
- * This access level is set when the users selects "Only People Sharing this Home" in the
27
+ * This access level is set when the user selects "Only People Sharing this Home" in the
30
28
  * Access Control settings.
31
29
  * On this level password setting is ignored.
32
- * Requests to the HAPServer can only come from Home members anyways, so there is no real use to it.
30
+ * Requests to the HAPServer can only come from Home members anyway, so there is no real use to it.
33
31
  * This is pretty much only used for the AirPlay 2 protocol.
34
32
  */
35
33
  AccessLevel[AccessLevel["HOME_MEMBERS_ONLY"] = 1] = "HOME_MEMBERS_ONLY";
36
34
  // 2 seems to be also a valid value in the range, but never encountered it.
37
35
  // so don't know what's the use of it.
38
- })(AccessLevel || (exports.AccessLevel = AccessLevel = {}));
36
+ })(AccessLevel || (AccessLevel = {}));
39
37
  /**
40
38
  * @group Television
41
39
  */
42
- var AccessControlEvent;
40
+ // eslint-disable-next-line no-restricted-syntax
41
+ export var AccessControlEvent;
43
42
  (function (AccessControlEvent) {
44
43
  AccessControlEvent["ACCESS_LEVEL_UPDATED"] = "update-control-level";
45
44
  AccessControlEvent["PASSWORD_SETTING_UPDATED"] = "update-password";
46
- })(AccessControlEvent || (exports.AccessControlEvent = AccessControlEvent = {}));
45
+ })(AccessControlEvent || (AccessControlEvent = {}));
47
46
  /**
48
47
  * @group Television
49
48
  */
50
- // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
51
- class AccessControlManagement extends events_1.EventEmitter {
49
+ // eslint-disable-next-line ts/no-unsafe-declaration-merging
50
+ export class AccessControlManagement extends EventEmitter {
52
51
  accessControlService;
53
52
  /**
54
53
  * The current access level set for the Home
@@ -58,7 +57,7 @@ class AccessControlManagement extends events_1.EventEmitter {
58
57
  password; // undefined if passwordRequired = false
59
58
  constructor(password, service) {
60
59
  super();
61
- this.accessControlService = service || new Service_1.Service.AccessControl();
60
+ this.accessControlService = service || new Service.AccessControl();
62
61
  this.setupServiceHandlers(password);
63
62
  }
64
63
  /**
@@ -86,9 +85,9 @@ class AccessControlManagement extends events_1.EventEmitter {
86
85
  */
87
86
  destroy() {
88
87
  this.removeAllListeners();
89
- this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.AccessControlLevel).removeOnSet();
90
- if (this.accessControlService.testCharacteristic(Characteristic_1.Characteristic.PasswordSetting)) {
91
- this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.PasswordSetting).removeOnSet();
88
+ this.accessControlService.getCharacteristic(Characteristic.AccessControlLevel).removeOnSet();
89
+ if (this.accessControlService.testCharacteristic(Characteristic.PasswordSetting)) {
90
+ this.accessControlService.getCharacteristic(Characteristic.PasswordSetting).removeOnSet();
92
91
  }
93
92
  }
94
93
  handleAccessLevelChange(value) {
@@ -98,10 +97,10 @@ class AccessControlManagement extends events_1.EventEmitter {
98
97
  }, 0).unref();
99
98
  }
100
99
  handlePasswordChange(value) {
101
- const data = Buffer.from(value, "base64");
102
- const objects = tlv.decode(data);
100
+ const data = Buffer.from(value, 'base64');
101
+ const objects = decode(data);
103
102
  if (objects[1 /* AccessControlTypes.PASSWORD */]) {
104
- this.password = objects[1 /* AccessControlTypes.PASSWORD */].toString("utf8");
103
+ this.password = objects[1 /* AccessControlTypes.PASSWORD */].toString('utf8');
105
104
  }
106
105
  else {
107
106
  this.password = undefined;
@@ -113,15 +112,14 @@ class AccessControlManagement extends events_1.EventEmitter {
113
112
  }
114
113
  setupServiceHandlers(enabledPasswordCharacteristics) {
115
114
  // perms: [Perms.NOTIFY, Perms.PAIRED_READ, Perms.PAIRED_WRITE],
116
- this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.AccessControlLevel)
115
+ this.accessControlService.getCharacteristic(Characteristic.AccessControlLevel)
117
116
  .onSet(value => this.handleAccessLevelChange(value))
118
117
  .updateValue(0);
119
118
  if (enabledPasswordCharacteristics) {
120
- this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.PasswordSetting)
119
+ this.accessControlService.getCharacteristic(Characteristic.PasswordSetting)
121
120
  .onSet(value => this.handlePasswordChange(value))
122
- .updateValue("");
121
+ .updateValue('');
123
122
  }
124
123
  }
125
124
  }
126
- exports.AccessControlManagement = AccessControlManagement;
127
125
  //# sourceMappingURL=AccessControlManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControlManagement.js","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccessControlManagement.js","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { CharacteristicValue, Nullable } from "../../types";
1
+ import type { CharacteristicValue, Nullable } from '../../types';
2
2
  /**
3
3
  * Checks that supplied field meets Apple HomeKit naming rules
4
4
  * https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names
5
- * @private Private API
5
+ * @private
6
6
  */
7
7
  export declare function checkName(displayName: string, name: string, value: Nullable<CharacteristicValue>): void;
8
8
  //# sourceMappingURL=checkName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkName.d.ts","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;GAIG;AAEH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAQvG"}
1
+ {"version":3,"file":"checkName.d.ts","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEhE;;;;GAIG;AAEH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAOvG"}
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkName = checkName;
4
1
  /**
5
2
  * Checks that supplied field meets Apple HomeKit naming rules
6
3
  * https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names
7
- * @private Private API
4
+ * @private
8
5
  */
9
- function checkName(displayName, name, value) {
6
+ export function checkName(displayName, name, value) {
10
7
  // Ensure the string starts and ends with a Unicode letter or number and allow any combination of letters, numbers, spaces, and apostrophes in the middle.
11
- if (typeof value === "string" && !(new RegExp(/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u)).test(value)) {
12
- console.warn("HAP-NodeJS WARNING: The accessory '" + displayName + "' has an invalid '" + name + "' characteristic ('" + value + "'). Please use only " +
13
- "alphanumeric, space, and apostrophe characters. Ensure it starts and ends with an alphabetic or numeric character, and avoid emojis. This may prevent " +
14
- "the accessory from being added in the Home App or cause unresponsiveness.");
8
+ if (typeof value === 'string' && !/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(value)) {
9
+ console.warn(`HAP-NodeJS WARNING: The accessory '${displayName}' has an invalid '${name}' characteristic ('${value}'). Please use only `
10
+ + `alphanumeric, space, and apostrophe characters. Ensure it starts and ends with an alphabetic or numeric character, and avoid emojis. This may prevent `
11
+ + `the accessory from being added in the Home App or cause unresponsiveness.`);
15
12
  }
16
13
  }
17
14
  //# sourceMappingURL=checkName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkName.js","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":";;AAQA,8BAQC;AAdD;;;;GAIG;AAEH,SAAgB,SAAS,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAoC;IAE/F,0JAA0J;IAC1J,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,qCAAqC,GAAG,WAAW,GAAG,oBAAoB,GAAG,IAAI,GAAG,qBAAqB,GAAG,KAAK,GAAG,sBAAsB;YACrJ,wJAAwJ;YACxJ,2EAA2E,CAAC,CAAC;IACjF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"checkName.js","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAoC;IAC/F,0JAA0J;IAC1J,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,sCAAsC,WAAW,qBAAqB,IAAI,sBAAsB,KAAK,sBAAsB;cACtI,wJAAwJ;cACxJ,2EAA2E,CAAC,CAAA;IAChF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAevE"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAcvE"}
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clone = clone;
4
1
  /**
5
2
  * A simple clone function that also allows you to pass an "extend" object whose properties will be
6
3
  * added to the cloned copy of the original object passed.
7
4
  * @group Utils
8
5
  */
9
- function clone(object, extend) {
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ export function clone(object, extend) {
11
7
  const cloned = {};
12
8
  for (const [key, value] of Object.entries(object)) {
13
9
  cloned[key] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":";;AAKA,sBAeC;AApBD;;;;GAIG;AACH,SAAgB,KAAK,CAAsB,MAAS,EAAE,MAAU;IAC9D,8DAA8D;IAC9D,MAAM,MAAM,GAAG,EAAsB,CAAC;IAEtC,KAAK,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAsB,MAAS,EAAE,MAAU;IAC9D,MAAM,MAAM,GAAG,EAAsB,CAAA;IAErC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -7,7 +7,7 @@ export declare class ColorUtils {
7
7
  *
8
8
  * @param colorTemperature - The color temperature in mired.
9
9
  * @param roundResults - The lookup table has a precision of .1 decimal places. The given characteristics only have a step value of 1.
10
- * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
10
+ * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
11
11
  * @returns An number array of length 2 with the first element being the saturation and the second argument being the hue.
12
12
  */
13
13
  static colorTemperatureToHueAndSaturation(colorTemperature: number, roundResults?: boolean): {
@@ -1 +1 @@
1
- {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/util/color-utils.ts"],"names":[],"mappings":"AAsZA;;GAEG;AACH,qBAAa,UAAU;IAErB;;;;;;;OAOG;WACW,kCAAkC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAqBrI"}
1
+ {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/util/color-utils.ts"],"names":[],"mappings":"AAsZA;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;;;;OAOG;WACW,kCAAkC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAoBrI"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ColorUtils = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
1
+ import assert from 'node:assert';
6
2
  const lookupTable = new Map([
7
3
  [100, [19, 222.1]],
8
4
  [101, [18.7, 222.2]],
@@ -409,13 +405,13 @@ const lookupTable = new Map([
409
405
  /**
410
406
  * @group Utils
411
407
  */
412
- class ColorUtils {
408
+ export class ColorUtils {
413
409
  /**
414
410
  * Returns the Hue and Saturation representation of the given color temperature in mired.
415
411
  *
416
412
  * @param colorTemperature - The color temperature in mired.
417
413
  * @param roundResults - The lookup table has a precision of .1 decimal places. The given characteristics only have a step value of 1.
418
- * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
414
+ * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
419
415
  * @returns An number array of length 2 with the first element being the saturation and the second argument being the hue.
420
416
  */
421
417
  static colorTemperatureToHueAndSaturation(colorTemperature, roundResults = true) {
@@ -427,7 +423,7 @@ class ColorUtils {
427
423
  }
428
424
  colorTemperature = Math.round(colorTemperature); // ensure integer
429
425
  const hueAndTemperature = lookupTable.get(colorTemperature);
430
- (0, assert_1.default)(colorTemperature != null, "lookup for temperature " + colorTemperature + " did not yield any results");
426
+ assert(colorTemperature != null, `lookup for temperature ${colorTemperature} did not yield any results`);
431
427
  if (roundResults) {
432
428
  hueAndTemperature[0] = Math.round(hueAndTemperature[0]);
433
429
  hueAndTemperature[1] = Math.round(hueAndTemperature[1]);
@@ -438,5 +434,4 @@ class ColorUtils {
438
434
  };
439
435
  }
440
436
  }
441
- exports.ColorUtils = ColorUtils;
442
437
  //# sourceMappingURL=color-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-utils.js","sourceRoot":"","sources":["../../../src/lib/util/color-utils.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAE5B,MAAM,WAAW,GAAkC,IAAI,GAAG,CAAC;IACzD,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAa,UAAU;IAErB;;;;;;;OAOG;IACI,MAAM,CAAC,kCAAkC,CAAC,gBAAwB,EAAE,YAAY,GAAG,IAAI;QAC5F,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAC3B,gBAAgB,GAAG,GAAG,CAAC;QACzB,CAAC;aAAM,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAClC,gBAAgB,GAAG,GAAG,CAAC;QACzB,CAAC;QAED,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB;QAClE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAA,gBAAM,EAAC,gBAAgB,IAAI,IAAI,EAAE,yBAAyB,GAAG,gBAAgB,GAAG,4BAA4B,CAAC,CAAC;QAC9G,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,iBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,UAAU,EAAE,iBAAkB,CAAC,CAAC,CAAC;YACjC,GAAG,EAAE,iBAAkB,CAAC,CAAC,CAAC;SAC3B,CAAC;IACJ,CAAC;CAEF;AA/BD,gCA+BC"}
1
+ {"version":3,"file":"color-utils.js","sourceRoot":"","sources":["../../../src/lib/util/color-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,MAAM,WAAW,GAAkC,IAAI,GAAG,CAAC;IACzD,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CACpB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,OAAO,UAAU;IACrB;;;;;;;OAOG;IACI,MAAM,CAAC,kCAAkC,CAAC,gBAAwB,EAAE,YAAY,GAAG,IAAI;QAC5F,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAC3B,gBAAgB,GAAG,GAAG,CAAA;QACxB,CAAC;aAAM,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAClC,gBAAgB,GAAG,GAAG,CAAA;QACxB,CAAC;QAED,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA,CAAC,iBAAiB;QACjE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC3D,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE,0BAA0B,gBAAgB,4BAA4B,CAAC,CAAA;QACxG,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;YACzD,iBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO;YACL,UAAU,EAAE,iBAAkB,CAAC,CAAC,CAAC;YACjC,GAAG,EAAE,iBAAkB,CAAC,CAAC,CAAC;SAC3B,CAAA;IACH,CAAC;CACF"}