@webex/calling 3.10.0 → 3.11.0

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 (221) hide show
  1. package/dist/module/CallHistory/CallHistory.js +20 -11
  2. package/dist/module/CallSettings/UcmBackendConnector.js +21 -8
  3. package/dist/module/CallSettings/WxCallBackendConnector.js +10 -15
  4. package/dist/module/CallingClient/CallingClient.js +83 -123
  5. package/dist/module/CallingClient/calling/call.js +73 -58
  6. package/dist/module/CallingClient/calling/callManager.js +7 -0
  7. package/dist/module/CallingClient/constants.js +3 -0
  8. package/dist/module/CallingClient/registration/register.js +85 -5
  9. package/dist/module/CallingClient/registration/webWorker.js +2 -2
  10. package/dist/module/CallingClient/registration/webWorkerStr.js +2 -2
  11. package/dist/module/Contacts/ContactsClient.js +19 -25
  12. package/dist/module/Events/impl/index.js +1 -1
  13. package/dist/module/Logger/index.js +2 -2
  14. package/dist/module/Voicemail/BroadworksBackendConnector.js +10 -18
  15. package/dist/module/Voicemail/UcmBackendConnector.js +7 -11
  16. package/dist/module/Voicemail/Voicemail.js +42 -68
  17. package/dist/module/Voicemail/WxCallBackendConnector.js +14 -28
  18. package/dist/module/common/Utils.js +31 -5
  19. package/dist/module/common/constants.js +2 -0
  20. package/dist/module/common/testUtil.js +1 -0
  21. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  22. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
  23. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  24. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  25. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  26. package/dist/types/CallingClient/calling/call.d.ts +4 -0
  27. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  28. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  29. package/dist/types/CallingClient/constants.d.ts +3 -0
  30. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  31. package/dist/types/CallingClient/registration/register.d.ts +4 -0
  32. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  33. package/dist/types/CallingClient/registration/types.d.ts +6 -0
  34. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  35. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  36. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  37. package/dist/types/Contacts/ContactsClient.d.ts +1 -0
  38. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  39. package/dist/types/Logger/index.d.ts +1 -2
  40. package/dist/types/Logger/index.d.ts.map +1 -1
  41. package/dist/types/SDKConnector/types.d.ts +16 -0
  42. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  43. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  44. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  45. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  46. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  47. package/dist/types/common/Utils.d.ts +1 -1
  48. package/dist/types/common/Utils.d.ts.map +1 -1
  49. package/dist/types/common/constants.d.ts +2 -0
  50. package/dist/types/common/constants.d.ts.map +1 -1
  51. package/dist/types/common/testUtil.d.ts +1 -0
  52. package/dist/types/common/testUtil.d.ts.map +1 -1
  53. package/package.json +4 -4
  54. package/dist/CallHistory/CallHistory.js +0 -584
  55. package/dist/CallHistory/CallHistory.js.map +0 -1
  56. package/dist/CallHistory/CallHistory.test.js +0 -813
  57. package/dist/CallHistory/CallHistory.test.js.map +0 -1
  58. package/dist/CallHistory/callHistoryFixtures.js +0 -650
  59. package/dist/CallHistory/callHistoryFixtures.js.map +0 -1
  60. package/dist/CallHistory/constants.js +0 -38
  61. package/dist/CallHistory/constants.js.map +0 -1
  62. package/dist/CallHistory/types.js +0 -7
  63. package/dist/CallHistory/types.js.map +0 -1
  64. package/dist/CallSettings/CallSettings.js +0 -312
  65. package/dist/CallSettings/CallSettings.js.map +0 -1
  66. package/dist/CallSettings/CallSettings.test.js +0 -122
  67. package/dist/CallSettings/CallSettings.test.js.map +0 -1
  68. package/dist/CallSettings/UcmBackendConnector.js +0 -261
  69. package/dist/CallSettings/UcmBackendConnector.js.map +0 -1
  70. package/dist/CallSettings/UcmBackendConnector.test.js +0 -321
  71. package/dist/CallSettings/UcmBackendConnector.test.js.map +0 -1
  72. package/dist/CallSettings/WxCallBackendConnector.js +0 -604
  73. package/dist/CallSettings/WxCallBackendConnector.js.map +0 -1
  74. package/dist/CallSettings/WxCallBackendConnector.test.js +0 -905
  75. package/dist/CallSettings/WxCallBackendConnector.test.js.map +0 -1
  76. package/dist/CallSettings/constants.js +0 -31
  77. package/dist/CallSettings/constants.js.map +0 -1
  78. package/dist/CallSettings/testFixtures.js +0 -68
  79. package/dist/CallSettings/testFixtures.js.map +0 -1
  80. package/dist/CallSettings/types.js +0 -7
  81. package/dist/CallSettings/types.js.map +0 -1
  82. package/dist/CallingClient/CallingClient.js +0 -1071
  83. package/dist/CallingClient/CallingClient.js.map +0 -1
  84. package/dist/CallingClient/CallingClient.test.js +0 -1289
  85. package/dist/CallingClient/CallingClient.test.js.map +0 -1
  86. package/dist/CallingClient/callRecordFixtures.js +0 -101
  87. package/dist/CallingClient/callRecordFixtures.js.map +0 -1
  88. package/dist/CallingClient/calling/CallerId/index.js +0 -276
  89. package/dist/CallingClient/calling/CallerId/index.js.map +0 -1
  90. package/dist/CallingClient/calling/CallerId/index.test.js +0 -275
  91. package/dist/CallingClient/calling/CallerId/index.test.js.map +0 -1
  92. package/dist/CallingClient/calling/CallerId/types.js +0 -7
  93. package/dist/CallingClient/calling/CallerId/types.js.map +0 -1
  94. package/dist/CallingClient/calling/call.js +0 -3444
  95. package/dist/CallingClient/calling/call.js.map +0 -1
  96. package/dist/CallingClient/calling/call.test.js +0 -3260
  97. package/dist/CallingClient/calling/call.test.js.map +0 -1
  98. package/dist/CallingClient/calling/callManager.js +0 -456
  99. package/dist/CallingClient/calling/callManager.js.map +0 -1
  100. package/dist/CallingClient/calling/callManager.test.js +0 -741
  101. package/dist/CallingClient/calling/callManager.test.js.map +0 -1
  102. package/dist/CallingClient/calling/index.js +0 -30
  103. package/dist/CallingClient/calling/index.js.map +0 -1
  104. package/dist/CallingClient/calling/types.js +0 -74
  105. package/dist/CallingClient/calling/types.js.map +0 -1
  106. package/dist/CallingClient/callingClientFixtures.js +0 -143
  107. package/dist/CallingClient/callingClientFixtures.js.map +0 -1
  108. package/dist/CallingClient/constants.js +0 -237
  109. package/dist/CallingClient/constants.js.map +0 -1
  110. package/dist/CallingClient/line/index.js +0 -349
  111. package/dist/CallingClient/line/index.js.map +0 -1
  112. package/dist/CallingClient/line/line.test.js +0 -327
  113. package/dist/CallingClient/line/line.test.js.map +0 -1
  114. package/dist/CallingClient/line/types.js +0 -21
  115. package/dist/CallingClient/line/types.js.map +0 -1
  116. package/dist/CallingClient/registration/index.js +0 -19
  117. package/dist/CallingClient/registration/index.js.map +0 -1
  118. package/dist/CallingClient/registration/register.js +0 -1538
  119. package/dist/CallingClient/registration/register.js.map +0 -1
  120. package/dist/CallingClient/registration/register.test.js +0 -1537
  121. package/dist/CallingClient/registration/register.test.js.map +0 -1
  122. package/dist/CallingClient/registration/registerFixtures.js +0 -36
  123. package/dist/CallingClient/registration/registerFixtures.js.map +0 -1
  124. package/dist/CallingClient/registration/types.js +0 -7
  125. package/dist/CallingClient/registration/types.js.map +0 -1
  126. package/dist/CallingClient/registration/webWorker.js +0 -130
  127. package/dist/CallingClient/registration/webWorker.js.map +0 -1
  128. package/dist/CallingClient/registration/webWorker.test.js +0 -303
  129. package/dist/CallingClient/registration/webWorker.test.js.map +0 -1
  130. package/dist/CallingClient/registration/webWorkerStr.js +0 -15
  131. package/dist/CallingClient/registration/webWorkerStr.js.map +0 -1
  132. package/dist/CallingClient/types.js +0 -7
  133. package/dist/CallingClient/types.js.map +0 -1
  134. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +0 -142
  135. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +0 -1
  136. package/dist/Contacts/ContactsClient.js +0 -1215
  137. package/dist/Contacts/ContactsClient.js.map +0 -1
  138. package/dist/Contacts/ContactsClient.test.js +0 -1003
  139. package/dist/Contacts/ContactsClient.test.js.map +0 -1
  140. package/dist/Contacts/constants.js +0 -40
  141. package/dist/Contacts/constants.js.map +0 -1
  142. package/dist/Contacts/contactFixtures.js +0 -430
  143. package/dist/Contacts/contactFixtures.js.map +0 -1
  144. package/dist/Contacts/types.js +0 -43
  145. package/dist/Contacts/types.js.map +0 -1
  146. package/dist/Errors/catalog/CallError.js +0 -92
  147. package/dist/Errors/catalog/CallError.js.map +0 -1
  148. package/dist/Errors/catalog/CallingDeviceError.js +0 -86
  149. package/dist/Errors/catalog/CallingDeviceError.js.map +0 -1
  150. package/dist/Errors/catalog/ExtendedError.js +0 -44
  151. package/dist/Errors/catalog/ExtendedError.js.map +0 -1
  152. package/dist/Errors/catalog/LineError.js +0 -88
  153. package/dist/Errors/catalog/LineError.js.map +0 -1
  154. package/dist/Errors/index.js +0 -28
  155. package/dist/Errors/index.js.map +0 -1
  156. package/dist/Errors/types.js +0 -59
  157. package/dist/Errors/types.js.map +0 -1
  158. package/dist/Events/impl/index.js +0 -81
  159. package/dist/Events/impl/index.js.map +0 -1
  160. package/dist/Events/types.js +0 -107
  161. package/dist/Events/types.js.map +0 -1
  162. package/dist/Logger/index.js +0 -228
  163. package/dist/Logger/index.js.map +0 -1
  164. package/dist/Logger/index.test.js +0 -87
  165. package/dist/Logger/index.test.js.map +0 -1
  166. package/dist/Logger/types.js +0 -34
  167. package/dist/Logger/types.js.map +0 -1
  168. package/dist/Metrics/index.js +0 -535
  169. package/dist/Metrics/index.js.map +0 -1
  170. package/dist/Metrics/index.test.js +0 -463
  171. package/dist/Metrics/index.test.js.map +0 -1
  172. package/dist/Metrics/types.js +0 -64
  173. package/dist/Metrics/types.js.map +0 -1
  174. package/dist/SDKConnector/index.js +0 -103
  175. package/dist/SDKConnector/index.js.map +0 -1
  176. package/dist/SDKConnector/index.test.js +0 -9
  177. package/dist/SDKConnector/index.test.js.map +0 -1
  178. package/dist/SDKConnector/types.js +0 -7
  179. package/dist/SDKConnector/types.js.map +0 -1
  180. package/dist/SDKConnector/utils.js +0 -39
  181. package/dist/SDKConnector/utils.js.map +0 -1
  182. package/dist/SDKConnector/utils.test.js +0 -9
  183. package/dist/SDKConnector/utils.test.js.map +0 -1
  184. package/dist/Voicemail/BroadworksBackendConnector.js +0 -707
  185. package/dist/Voicemail/BroadworksBackendConnector.js.map +0 -1
  186. package/dist/Voicemail/BroadworksBackendConnector.test.js +0 -812
  187. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +0 -1
  188. package/dist/Voicemail/UcmBackendConnector.js +0 -632
  189. package/dist/Voicemail/UcmBackendConnector.js.map +0 -1
  190. package/dist/Voicemail/UcmBackendConnector.test.js +0 -738
  191. package/dist/Voicemail/UcmBackendConnector.test.js.map +0 -1
  192. package/dist/Voicemail/Voicemail.js +0 -500
  193. package/dist/Voicemail/Voicemail.js.map +0 -1
  194. package/dist/Voicemail/Voicemail.test.js +0 -391
  195. package/dist/Voicemail/Voicemail.test.js.map +0 -1
  196. package/dist/Voicemail/WxCallBackendConnector.js +0 -671
  197. package/dist/Voicemail/WxCallBackendConnector.js.map +0 -1
  198. package/dist/Voicemail/WxCallBackendConnector.test.js +0 -1199
  199. package/dist/Voicemail/WxCallBackendConnector.test.js.map +0 -1
  200. package/dist/Voicemail/constants.js +0 -61
  201. package/dist/Voicemail/constants.js.map +0 -1
  202. package/dist/Voicemail/types.js +0 -7
  203. package/dist/Voicemail/types.js.map +0 -1
  204. package/dist/Voicemail/voicemailFixture.js +0 -524
  205. package/dist/Voicemail/voicemailFixture.js.map +0 -1
  206. package/dist/api.js +0 -157
  207. package/dist/api.js.map +0 -1
  208. package/dist/common/Utils.js +0 -1451
  209. package/dist/common/Utils.js.map +0 -1
  210. package/dist/common/Utils.test.js +0 -1744
  211. package/dist/common/Utils.test.js.map +0 -1
  212. package/dist/common/constants.js +0 -60
  213. package/dist/common/constants.js.map +0 -1
  214. package/dist/common/index.js +0 -19
  215. package/dist/common/index.js.map +0 -1
  216. package/dist/common/testUtil.js +0 -982
  217. package/dist/common/testUtil.js.map +0 -1
  218. package/dist/common/types.js +0 -75
  219. package/dist/common/types.js.map +0 -1
  220. package/dist/index.js +0 -321
  221. package/dist/index.js.map +0 -1
@@ -1,463 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
- var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
8
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
9
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
11
- var _testUtil = require("../common/testUtil");
12
- var _index = require("./index");
13
- var _types = require("./types");
14
- var _constants = require("../CallingClient/constants");
15
- var _CallingDeviceError = require("../Errors/catalog/CallingDeviceError");
16
- var _types2 = require("../Errors/types");
17
- var _types3 = require("../common/types");
18
- var _Logger = _interopRequireDefault(require("../Logger"));
19
- var _CallError = require("../Errors/catalog/CallError");
20
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable dot-notation */
22
- var webex = (0, _testUtil.getTestUtilsWebex)();
23
- describe('CALLING: Metric tests', function () {
24
- var metricManager = (0, _index.getMetricManager)(webex, _types3.ServiceIndicator.CALLING);
25
- var mockDeviceInfo = (0, _testUtil.getMockDeviceInfo)();
26
- var submitClientMetricSpy = jest.spyOn(webex.internal.metrics, 'submitClientMetrics');
27
- var MOCK_VERSION_NUMBER = '1.0.0';
28
- var originalEnv = process.env;
29
- var mockCallId = '123456';
30
- var mockCorrelationId = '0931237';
31
- var mockCallAction = 'S_SEND_CALL_SETUP';
32
- var mockMediaAction = 'S_SEND_ROAP_OFFER';
33
- beforeEach(function () {
34
- submitClientMetricSpy.mockClear();
35
- process.env = _objectSpread(_objectSpread({}, originalEnv), {}, {
36
- CALLING_SDK_VERSION: MOCK_VERSION_NUMBER
37
- });
38
- });
39
- it('initialize metric manager', function () {
40
- expect(metricManager).not.toBeNull();
41
- expect(metricManager['deviceInfo']).toBeUndefined();
42
- });
43
- it('update deviceInfo in metric manager', function () {
44
- expect(metricManager['deviceInfo']).toBeUndefined();
45
- metricManager.setDeviceInfo(mockDeviceInfo);
46
- expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);
47
- });
48
- describe('CallingClient metric tests', function () {
49
- it('submit registration success metric', function () {
50
- metricManager.setDeviceInfo(mockDeviceInfo);
51
- var expectedData = {
52
- tags: {
53
- action: _types.REG_ACTION.REGISTER,
54
- device_id: mockDeviceInfo.device.deviceId,
55
- service_indicator: _types3.ServiceIndicator.CALLING
56
- },
57
- fields: {
58
- device_url: mockDeviceInfo.device.clientDeviceUri,
59
- mobius_url: mockDeviceInfo.device.uri,
60
- calling_sdk_version: MOCK_VERSION_NUMBER,
61
- reg_source: _constants.REGISTRATION_UTIL,
62
- server_type: 'PRIMARY',
63
- trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15'
64
- },
65
- type: _types.METRIC_TYPE.BEHAVIORAL
66
- };
67
- metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, _constants.REGISTRATION_UTIL, 'PRIMARY', 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15', undefined, undefined);
68
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION, expectedData);
69
- });
70
- it('submit registration failure metric', function () {
71
- metricManager.setDeviceInfo(mockDeviceInfo);
72
- var clientError = (0, _CallingDeviceError.createClientError)('', {}, _types2.ERROR_TYPE.DEFAULT, _types3.RegistrationStatus.INACTIVE);
73
- var err = {};
74
- err.context = {};
75
- err.message = 'Unknown Error';
76
- err.type = _types2.ERROR_TYPE.SERVICE_UNAVAILABLE;
77
- clientError.setError(err);
78
- var expectedData = {
79
- tags: {
80
- action: _types.REG_ACTION.REGISTER,
81
- device_id: mockDeviceInfo.device.deviceId,
82
- service_indicator: _types3.ServiceIndicator.CALLING
83
- },
84
- fields: {
85
- device_url: mockDeviceInfo.device.clientDeviceUri,
86
- mobius_url: mockDeviceInfo.device.uri,
87
- calling_sdk_version: MOCK_VERSION_NUMBER,
88
- reg_source: _constants.REGISTRATION_UTIL,
89
- server_type: 'BACKUP',
90
- trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',
91
- error: clientError.getError().message,
92
- error_type: clientError.getError().type
93
- },
94
- type: _types.METRIC_TYPE.BEHAVIORAL
95
- };
96
- metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, _constants.REGISTRATION_UTIL, 'BACKUP', 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15', undefined, clientError);
97
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION_ERROR, expectedData);
98
- });
99
- it('submit keepalive failure metric', function () {
100
- metricManager.setDeviceInfo(mockDeviceInfo);
101
- var clientError = (0, _CallingDeviceError.createClientError)('', {}, _types2.ERROR_TYPE.DEFAULT, _types3.RegistrationStatus.INACTIVE);
102
- var err = {};
103
- err.context = {};
104
- err.message = 'Unknown Error';
105
- err.type = _types2.ERROR_TYPE.NOT_FOUND;
106
- clientError.setError(err);
107
- var expectedData = {
108
- tags: {
109
- action: _types.REG_ACTION.KEEPALIVE_FAILURE,
110
- device_id: mockDeviceInfo.device.deviceId,
111
- service_indicator: _types3.ServiceIndicator.CALLING
112
- },
113
- fields: {
114
- device_url: mockDeviceInfo.device.clientDeviceUri,
115
- mobius_url: mockDeviceInfo.device.uri,
116
- calling_sdk_version: MOCK_VERSION_NUMBER,
117
- reg_source: _constants.REGISTRATION_UTIL,
118
- server_type: 'BACKUP',
119
- trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',
120
- keepalive_count: 1,
121
- error: clientError.getError().message,
122
- error_type: clientError.getError().type
123
- },
124
- type: _types.METRIC_TYPE.BEHAVIORAL
125
- };
126
- metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants.REGISTRATION_UTIL, 'BACKUP', 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15', 1, clientError);
127
- expect(submitClientMetricSpy).toHaveBeenCalledWith(_types.METRIC_EVENT.KEEPALIVE_ERROR, expectedData);
128
- });
129
- it('submit unknown registration metric', function () {
130
- var logSpy = jest.spyOn(_Logger.default, 'warn');
131
- metricManager.submitRegistrationMetric('invalidMetricName', _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.OPERATIONAL, _constants.REGISTRATION_UTIL, 'PRIMARY', undefined, undefined, undefined);
132
- expect(submitClientMetricSpy).not.toBeCalled();
133
- expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
134
- file: 'metric',
135
- method: 'submitRegistrationMetric'
136
- });
137
- });
138
- });
139
- describe('Call Metric tests', function () {
140
- beforeAll(function () {
141
- metricManager.setDeviceInfo(mockDeviceInfo);
142
- });
143
- it('submit call success metric', function () {
144
- var expectedData = {
145
- tags: {
146
- action: mockCallAction,
147
- device_id: mockDeviceInfo.device.deviceId,
148
- service_indicator: _types3.ServiceIndicator.CALLING
149
- },
150
- fields: {
151
- device_url: mockDeviceInfo.device.clientDeviceUri,
152
- mobius_url: mockDeviceInfo.device.uri,
153
- calling_sdk_version: MOCK_VERSION_NUMBER,
154
- call_id: mockCallId,
155
- correlation_id: mockCorrelationId
156
- },
157
- type: _types.METRIC_TYPE.BEHAVIORAL
158
- };
159
- metricManager.submitCallMetric(_types.METRIC_EVENT.CALL, mockCallAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
160
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.CALL, expectedData);
161
- });
162
- it('submit call failure metric', function () {
163
- var callError = (0, _CallError.createCallError)('', {}, _types2.ERROR_TYPE.DEFAULT, mockCorrelationId, _types2.ERROR_LAYER.CALL_CONTROL);
164
- var err = {};
165
- err.context = {};
166
- err.message = 'An invalid status update has been received for the call. Wait a moment and try again.';
167
- err.type = _types2.ERROR_TYPE.FORBIDDEN_ERROR;
168
- callError.setCallError(err);
169
- var expectedData = {
170
- tags: {
171
- action: mockCallAction,
172
- device_id: mockDeviceInfo.device.deviceId,
173
- service_indicator: _types3.ServiceIndicator.CALLING
174
- },
175
- fields: {
176
- device_url: mockDeviceInfo.device.clientDeviceUri,
177
- mobius_url: mockDeviceInfo.device.uri,
178
- calling_sdk_version: MOCK_VERSION_NUMBER,
179
- call_id: mockCallId,
180
- correlation_id: mockCorrelationId,
181
- error: callError.getCallError().message,
182
- error_type: callError.getCallError().type
183
- },
184
- type: _types.METRIC_TYPE.BEHAVIORAL
185
- };
186
- metricManager.submitCallMetric(_types.METRIC_EVENT.CALL_ERROR, mockCallAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, callError);
187
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.CALL_ERROR, expectedData);
188
- });
189
- it('submit unknown call metric', function () {
190
- var logSpy = jest.spyOn(_Logger.default, 'warn');
191
- metricManager.submitCallMetric('invalidMetricName', mockCallAction, _types.METRIC_TYPE.OPERATIONAL, mockCallId, mockCorrelationId);
192
- expect(submitClientMetricSpy).not.toBeCalled();
193
- expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
194
- file: 'metric',
195
- method: 'submitCallMetric'
196
- });
197
- });
198
- });
199
- describe('Media Metric tests', function () {
200
- var mockSdp = 'sdpInformation';
201
- beforeAll(function () {
202
- metricManager.setDeviceInfo(mockDeviceInfo);
203
- });
204
- it('submit media success metric', function () {
205
- var expectedData = {
206
- tags: {
207
- action: mockMediaAction,
208
- device_id: mockDeviceInfo.device.deviceId,
209
- service_indicator: _types3.ServiceIndicator.CALLING
210
- },
211
- fields: {
212
- device_url: mockDeviceInfo.device.clientDeviceUri,
213
- mobius_url: mockDeviceInfo.device.uri,
214
- calling_sdk_version: MOCK_VERSION_NUMBER,
215
- call_id: mockCallId,
216
- correlation_id: mockCorrelationId,
217
- local_media_details: mockSdp,
218
- remote_media_details: mockSdp
219
- },
220
- type: _types.METRIC_TYPE.BEHAVIORAL
221
- };
222
- metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp);
223
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA, expectedData);
224
- });
225
- it('submit media failure metric', function () {
226
- var callError = (0, _CallError.createCallError)('', {}, _types2.ERROR_TYPE.DEFAULT, mockCorrelationId, _types2.ERROR_LAYER.MEDIA);
227
- var err = {};
228
- err.context = {};
229
- err.message = 'An error occurred while parsing the provided information. Wait a moment and try again.';
230
- err.type = _types2.ERROR_TYPE.SERVICE_UNAVAILABLE;
231
- callError.setCallError(err);
232
- var expectedData = {
233
- tags: {
234
- action: mockMediaAction,
235
- device_id: mockDeviceInfo.device.deviceId,
236
- service_indicator: _types3.ServiceIndicator.CALLING
237
- },
238
- fields: {
239
- device_url: mockDeviceInfo.device.clientDeviceUri,
240
- mobius_url: mockDeviceInfo.device.uri,
241
- calling_sdk_version: MOCK_VERSION_NUMBER,
242
- call_id: mockCallId,
243
- correlation_id: mockCorrelationId,
244
- local_media_details: mockSdp,
245
- remote_media_details: mockSdp,
246
- error: callError.getCallError().message,
247
- error_type: callError.getCallError().type
248
- },
249
- type: _types.METRIC_TYPE.BEHAVIORAL
250
- };
251
- metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA_ERROR, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp, callError);
252
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA_ERROR, expectedData);
253
- });
254
- it('submit unknown media metric', function () {
255
- var logSpy = jest.spyOn(_Logger.default, 'warn');
256
- metricManager.submitMediaMetric('invalidMetricName', mockMediaAction, _types.METRIC_TYPE.OPERATIONAL, mockCallId, mockCorrelationId, mockSdp, mockSdp);
257
- expect(submitClientMetricSpy).not.toBeCalled();
258
- expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
259
- file: 'metric',
260
- method: 'submitMediaMetric'
261
- });
262
- });
263
- });
264
- describe('BNR metric tests', function () {
265
- beforeAll(function () {
266
- metricManager.setDeviceInfo(mockDeviceInfo);
267
- });
268
- it('submit bnr enabled metric', function () {
269
- var expectedData = {
270
- tags: {
271
- device_id: mockDeviceInfo.device.deviceId,
272
- service_indicator: _types3.ServiceIndicator.CALLING
273
- },
274
- fields: {
275
- device_url: mockDeviceInfo.device.clientDeviceUri,
276
- mobius_url: mockDeviceInfo.device.uri,
277
- calling_sdk_version: MOCK_VERSION_NUMBER,
278
- call_id: mockCallId,
279
- correlation_id: mockCorrelationId
280
- },
281
- type: _types.METRIC_TYPE.BEHAVIORAL
282
- };
283
- metricManager.submitBNRMetric(_types.METRIC_EVENT.BNR_ENABLED, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
284
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.BNR_ENABLED, expectedData);
285
- });
286
- it('submit bnr disabled metric', function () {
287
- var expectedData = {
288
- tags: {
289
- device_id: mockDeviceInfo.device.deviceId,
290
- service_indicator: _types3.ServiceIndicator.CALLING
291
- },
292
- fields: {
293
- device_url: mockDeviceInfo.device.clientDeviceUri,
294
- mobius_url: mockDeviceInfo.device.uri,
295
- calling_sdk_version: MOCK_VERSION_NUMBER,
296
- call_id: mockCallId,
297
- correlation_id: mockCorrelationId
298
- },
299
- type: _types.METRIC_TYPE.BEHAVIORAL
300
- };
301
- metricManager.submitBNRMetric(_types.METRIC_EVENT.BNR_DISABLED, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
302
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.BNR_DISABLED, expectedData);
303
- });
304
- it('submit unknown bnr metric', function () {
305
- var logSpy = jest.spyOn(_Logger.default, 'warn');
306
- metricManager.submitBNRMetric('invalidMetricName', _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
307
- expect(submitClientMetricSpy).not.toBeCalled();
308
- expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
309
- file: 'metric',
310
- method: 'submitBNRMetric'
311
- });
312
- });
313
- });
314
- describe('Voicemail metric tests', function () {
315
- beforeAll(function () {
316
- return metricManager.setDeviceInfo(mockDeviceInfo);
317
- });
318
- it('submit voicemail success metric', function () {
319
- var expectedData1 = {
320
- tags: {
321
- action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
322
- device_id: mockDeviceInfo.device.deviceId
323
- },
324
- fields: {
325
- device_url: mockDeviceInfo.device.clientDeviceUri,
326
- calling_sdk_version: MOCK_VERSION_NUMBER
327
- },
328
- type: _types.METRIC_TYPE.BEHAVIORAL
329
- };
330
- metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
331
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData1);
332
- submitClientMetricSpy.mockClear();
333
- var expectedData2 = _objectSpread(_objectSpread({}, expectedData1), {}, {
334
- tags: _objectSpread(_objectSpread({}, expectedData1.tags), {}, {
335
- message_id: 'messageId',
336
- action: _types.VOICEMAIL_ACTION.DELETE
337
- })
338
- });
339
- metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId');
340
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData2);
341
- });
342
- it('submit voicemail failure metric', function () {
343
- var errorMessage = 'User is not authenticated';
344
- var expectedData1 = {
345
- tags: {
346
- action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
347
- device_id: mockDeviceInfo.device.deviceId,
348
- message_id: undefined,
349
- error: errorMessage,
350
- status_code: 401
351
- },
352
- fields: {
353
- device_url: mockDeviceInfo.device.clientDeviceUri,
354
- calling_sdk_version: MOCK_VERSION_NUMBER
355
- },
356
- type: _types.METRIC_TYPE.BEHAVIORAL
357
- };
358
- metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL, undefined, errorMessage, 401);
359
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);
360
- submitClientMetricSpy.mockClear();
361
- var expectedData2 = _objectSpread(_objectSpread({}, expectedData1), {}, {
362
- tags: _objectSpread(_objectSpread({}, expectedData1.tags), {}, {
363
- message_id: 'messageId',
364
- action: _types.VOICEMAIL_ACTION.DELETE
365
- })
366
- });
367
- metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId', errorMessage, 401);
368
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);
369
- });
370
- it('submit unknown voicemail metric', function () {
371
- var logSpy = jest.spyOn(_Logger.default, 'warn');
372
- metricManager.submitVoicemailMetric('invalidMetricName', _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
373
- expect(submitClientMetricSpy).not.toBeCalled();
374
- expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
375
- file: 'metric',
376
- method: 'submitVoicemailMetric'
377
- });
378
- });
379
- });
380
- describe('Calling_Sdk_Version fallback test', function () {
381
- it('submit metric with fallback version', function () {
382
- process.env = {};
383
- metricManager.setDeviceInfo(mockDeviceInfo);
384
- var expectedData = {
385
- tags: {
386
- device_id: mockDeviceInfo.device.deviceId,
387
- service_indicator: _types3.ServiceIndicator.CALLING
388
- },
389
- fields: {
390
- device_url: mockDeviceInfo.device.clientDeviceUri,
391
- mobius_url: mockDeviceInfo.device.uri,
392
- calling_sdk_version: _constants.VERSION,
393
- call_id: mockCallId,
394
- correlation_id: mockCorrelationId
395
- },
396
- type: _types.METRIC_TYPE.BEHAVIORAL
397
- };
398
- metricManager.submitBNRMetric(_types.METRIC_EVENT.BNR_ENABLED, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
399
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.BNR_ENABLED, expectedData);
400
- });
401
- });
402
- describe('Upload Logs metric tests', function () {
403
- beforeAll(function () {
404
- return metricManager.setDeviceInfo(mockDeviceInfo);
405
- });
406
- it('submit upload logs success metric includes broadworksCorrelationInfo', function () {
407
- var trackingId = 'track-123';
408
- var feedbackId = 'feed-456';
409
- var correlationId = 'corr-789';
410
- var callId = 'call-123';
411
- var broadworksCorrelationInfo = 'bw-corr-abc';
412
- var expectedData = {
413
- tags: {
414
- action: _types.UPLOAD_LOGS_ACTION,
415
- device_id: mockDeviceInfo.device.deviceId,
416
- service_indicator: _types3.ServiceIndicator.CALLING
417
- },
418
- fields: {
419
- device_url: mockDeviceInfo.device.clientDeviceUri,
420
- mobius_url: mockDeviceInfo.device.uri,
421
- calling_sdk_version: MOCK_VERSION_NUMBER,
422
- correlation_id: correlationId,
423
- broadworksCorrelationInfo: broadworksCorrelationInfo,
424
- tracking_id: trackingId,
425
- feedback_id: feedbackId,
426
- call_id: callId
427
- },
428
- type: _types.METRIC_TYPE.BEHAVIORAL
429
- };
430
- metricManager.submitUploadLogsMetric(_types.METRIC_EVENT.UPLOAD_LOGS_SUCCESS, _types.UPLOAD_LOGS_ACTION, _types.METRIC_TYPE.BEHAVIORAL, trackingId, feedbackId, correlationId, undefined, callId, broadworksCorrelationInfo);
431
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.UPLOAD_LOGS_SUCCESS, expectedData);
432
- });
433
- it('submit upload logs failure metric includes error and broadworksCorrelationInfo', function () {
434
- var feedbackId = 'feed-456';
435
- var correlationId = 'corr-789';
436
- var callId = 'call-123';
437
- var broadworksCorrelationInfo = 'bw-corr-abc';
438
- var errorStack = 'some error stack';
439
- var expectedData = {
440
- tags: {
441
- action: _types.UPLOAD_LOGS_ACTION,
442
- device_id: mockDeviceInfo.device.deviceId,
443
- service_indicator: _types3.ServiceIndicator.CALLING
444
- },
445
- fields: {
446
- device_url: mockDeviceInfo.device.clientDeviceUri,
447
- mobius_url: mockDeviceInfo.device.uri,
448
- calling_sdk_version: MOCK_VERSION_NUMBER,
449
- correlation_id: correlationId,
450
- broadworksCorrelationInfo: broadworksCorrelationInfo,
451
- tracking_id: undefined,
452
- feedback_id: feedbackId,
453
- call_id: callId,
454
- error: errorStack
455
- },
456
- type: _types.METRIC_TYPE.BEHAVIORAL
457
- };
458
- metricManager.submitUploadLogsMetric(_types.METRIC_EVENT.UPLOAD_LOGS_FAILED, _types.UPLOAD_LOGS_ACTION, _types.METRIC_TYPE.BEHAVIORAL, undefined, feedbackId, correlationId, errorStack, callId, broadworksCorrelationInfo);
459
- expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.UPLOAD_LOGS_FAILED, expectedData);
460
- });
461
- });
462
- });
463
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","submitClientMetricSpy","jest","spyOn","internal","metrics","MOCK_VERSION_NUMBER","originalEnv","process","env","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","reg_source","REGISTRATION_UTIL","server_type","trackingId","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","NOT_FOUND","KEEPALIVE_FAILURE","keepalive_count","KEEPALIVE_ERROR","toHaveBeenCalledWith","logSpy","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION","feedbackId","correlationId","callId","broadworksCorrelationInfo","UPLOAD_LOGS_ACTION","tracking_id","feedback_id","submitUploadLogsMetric","UPLOAD_LOGS_SUCCESS","errorStack","UPLOAD_LOGS_FAILED"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION, UPLOAD_LOGS_ACTION} from './types';\nimport {REGISTRATION_UTIL, VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const submitClientMetricSpy = jest.spyOn(webex.internal.metrics, 'submitClientMetrics');\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n submitClientMetricSpy.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'PRIMARY',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n undefined\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n clientError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit keepalive failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.NOT_FOUND;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.KEEPALIVE_FAILURE,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n keepalive_count: 1,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.KEEPALIVE_ERROR,\n REG_ACTION.KEEPALIVE_FAILURE,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n 1,\n clientError\n );\n expect(submitClientMetricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.KEEPALIVE_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n undefined,\n undefined,\n undefined\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n\n describe('Upload Logs metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit upload logs success metric includes broadworksCorrelationInfo', () => {\n const trackingId = 'track-123';\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n trackingId,\n feedbackId,\n correlationId,\n undefined,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n expectedData\n );\n });\n\n it('submit upload logs failure metric includes error and broadworksCorrelationInfo', () => {\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n const errorStack = 'some error stack';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: undefined,\n feedback_id: feedbackId,\n call_id: callId,\n error: errorStack,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n feedbackId,\n correlationId,\n errorStack,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n expectedData\n );\n });\n });\n});\n"],"mappings":";;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAA4D,SAAAU,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAT5D;AAWA,IAAMqB,KAAK,GAAG,IAAAC,2BAAiB,EAAC,CAAC;AAEjCC,QAAQ,CAAC,uBAAuB,EAAE,YAAM;EACtC,IAAMC,aAAa,GAAG,IAAAC,uBAAgB,EAACJ,KAAK,EAAEK,wBAAgB,CAACC,OAAO,CAAC;EACvE,IAAMC,cAAc,GAAG,IAAAC,2BAAiB,EAAC,CAAC;EAC1C,IAAMC,qBAAqB,GAAGC,IAAI,CAACC,KAAK,CAACX,KAAK,CAACY,QAAQ,CAACC,OAAO,EAAE,qBAAqB,CAAC;EACvF,IAAMC,mBAAmB,GAAG,OAAO;EACnC,IAAMC,WAAW,GAAGC,OAAO,CAACC,GAAG;EAE/B,IAAMC,UAAU,GAAG,QAAQ;EAC3B,IAAMC,iBAAiB,GAAG,SAAS;EACnC,IAAMC,cAAc,GAAG,mBAAmB;EAC1C,IAAMC,eAAe,GAAG,mBAAmB;EAE3CC,UAAU,CAAC,YAAM;IACfb,qBAAqB,CAACc,SAAS,CAAC,CAAC;IACjCP,OAAO,CAACC,GAAG,GAAA3B,aAAA,CAAAA,aAAA,KACNyB,WAAW;MACdS,mBAAmB,EAAEV;IAAmB,EACzC;EACH,CAAC,CAAC;EAEFW,EAAE,CAAC,2BAA2B,EAAE,YAAM;IACpCC,MAAM,CAACvB,aAAa,CAAC,CAACwB,GAAG,CAACC,QAAQ,CAAC,CAAC;IACpCF,MAAM,CAACvB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC0B,aAAa,CAAC,CAAC;EACrD,CAAC,CAAC;EAEFJ,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC9CC,MAAM,CAACvB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC0B,aAAa,CAAC,CAAC;IACnD1B,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC3CmB,MAAM,CAACvB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC4B,OAAO,CAACxB,cAAc,CAAC;EAC7D,CAAC,CAAC;EAEFL,QAAQ,CAAC,4BAA4B,EAAE,YAAM;IAC3CuB,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7CtB,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAE3C,IAAMyB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCiC,UAAU,EAAEC,4BAAiB;UAC7BC,WAAW,EAAE,SAAS;UACtBC,UAAU,EAAE;QACd,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACmD,wBAAwB,CACpCC,mBAAY,CAACC,YAAY,EACzBrB,iBAAU,CAACC,QAAQ,EACnBgB,kBAAW,CAACC,UAAU,EACtBL,4BAAiB,EACjB,SAAS,EACT,sDAAsD,EACtDS,SAAS,EACTA,SACF,CAAC;MACD/B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACC,YAAY,EAAExB,YAAY,CAAC;IAC3F,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7CtB,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAE3C,IAAMoD,WAAW,GAAG,IAAAC,qCAAiB,EACnC,EAAE,EACF,CAAC,CAAC,EACFC,kBAAU,CAACC,OAAO,EAClBC,0BAAkB,CAACC,QACrB,CAAC;MACD,IAAMC,GAAG,GAAgB,CAAC,CAAC;MAE3BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GAAG,eAAe;MAC7BF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACO,mBAAmB;MAEzCT,WAAW,CAACU,QAAQ,CAACJ,GAAG,CAAC;MAEzB,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCiC,UAAU,EAAEC,4BAAiB;UAC7BC,WAAW,EAAE,QAAQ;UACrBC,UAAU,EAAE,sDAAsD;UAClEoB,KAAK,EAAEX,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACJ,OAAO;UACrCK,UAAU,EAAEb,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACpB;QACrC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACmD,wBAAwB,CACpCC,mBAAY,CAACkB,kBAAkB,EAC/BtC,iBAAU,CAACC,QAAQ,EACnBgB,kBAAW,CAACC,UAAU,EACtBL,4BAAiB,EACjB,QAAQ,EACR,sDAAsD,EACtDS,SAAS,EACTE,WACF,CAAC;MACDjC,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACkB,kBAAkB,EAC/BzC,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1CtB,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAE3C,IAAMoD,WAAW,GAAG,IAAAC,qCAAiB,EACnC,EAAE,EACF,CAAC,CAAC,EACFC,kBAAU,CAACC,OAAO,EAClBC,0BAAkB,CAACC,QACrB,CAAC;MACD,IAAMC,GAAG,GAAgB,CAAC,CAAC;MAE3BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GAAG,eAAe;MAC7BF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACa,SAAS;MAE/Bf,WAAW,CAACU,QAAQ,CAACJ,GAAG,CAAC;MAEzB,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACwC,iBAAiB;UACpCtC,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCiC,UAAU,EAAEC,4BAAiB;UAC7BC,WAAW,EAAE,QAAQ;UACrBC,UAAU,EAAE,sDAAsD;UAClE0B,eAAe,EAAE,CAAC;UAClBN,KAAK,EAAEX,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACJ,OAAO;UACrCK,UAAU,EAAEb,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACpB;QACrC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACmD,wBAAwB,CACpCC,mBAAY,CAACsB,eAAe,EAC5B1C,iBAAU,CAACwC,iBAAiB,EAC5BvB,kBAAW,CAACC,UAAU,EACtBL,4BAAiB,EACjB,QAAQ,EACR,sDAAsD,EACtD,CAAC,EACDW,WACF,CAAC;MACDjC,MAAM,CAACjB,qBAAqB,CAAC,CAACqE,oBAAoB,CAChDvB,mBAAY,CAACsB,eAAe,EAC5B7C,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7C,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACmD,wBAAwB,CACpC,mBAAmB,EACnBnB,iBAAU,CAACC,QAAQ,EACnBgB,kBAAW,CAAC6B,WAAW,EACvBjC,4BAAiB,EACjB,SAAS,EACTS,SAAS,EACTA,SAAS,EACTA,SACF,CAAC;MAED/B,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,mBAAmB,EAAE,YAAM;IAClCmF,SAAS,CAAC,YAAM;MACdlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFkB,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEd,cAAc;UACtBiB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqF,gBAAgB,CAC5BjC,mBAAY,CAACkC,IAAI,EACjBrE,cAAc,EACdgC,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MACDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACkC,IAAI,EAAEzD,YAAY,CAAC;IACnF,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMiE,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACF9B,kBAAU,CAACC,OAAO,EAClB3C,iBAAiB,EACjByE,mBAAW,CAACC,YACd,CAAC;MAED,IAAM5B,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,uFAAuF;MACzFF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACiC,eAAe;MAErCJ,SAAS,CAACK,YAAY,CAAC9B,GAAG,CAAC;MAE3B,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEd,cAAc;UACtBiB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE,iBAAiB;UACjCmD,KAAK,EAAEoB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7B,OAAO;UACvCK,UAAU,EAAEkB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7C;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqF,gBAAgB,CAC5BjC,mBAAY,CAAC0C,UAAU,EACvB7E,cAAc,EACdgC,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBAAiB,EACjBuE,SACF,CAAC;MACDhE,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC0C,UAAU,EAAEjE,YAAY,CAAC;IACzF,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACqF,gBAAgB,CAC5B,mBAAmB,EACnBpE,cAAc,EACdgC,kBAAW,CAAC6B,WAAW,EACvB/D,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,oBAAoB,EAAE,YAAM;IACnC,IAAMgG,OAAO,GAAG,gBAAgB;IAEhCb,SAAS,CAAC,YAAM;MACdlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFkB,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,eAAe;UACvBgB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE,iBAAiB;UACjCgF,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF;QACxB,CAAC;QACD/C,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACkG,iBAAiB,CAC7B9C,mBAAY,CAAC+C,KAAK,EAClBjF,eAAe,EACf+B,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBAAiB,EACjB+E,OAAO,EACPA,OACF,CAAC;MACDxE,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC+C,KAAK,EAAEtE,YAAY,CAAC;IACpF,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMiE,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACF9B,kBAAU,CAACC,OAAO,EAClB3C,iBAAiB,EACjByE,mBAAW,CAACU,KACd,CAAC;MAED,IAAMrC,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,wFAAwF;MAC1FF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACO,mBAAmB;MAEzCsB,SAAS,CAACK,YAAY,CAAC9B,GAAG,CAAC;MAE3B,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,eAAe;UACvBgB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE,iBAAiB;UACjCgF,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF,OAAO;UAC7B5B,KAAK,EAAEoB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7B,OAAO;UACvCK,UAAU,EAAEkB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7C;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACkG,iBAAiB,CAC7B9C,mBAAY,CAACgD,WAAW,EACxBlF,eAAe,EACf+B,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBAAiB,EACjB+E,OAAO,EACPA,OAAO,EACPR,SACF,CAAC;MACDhE,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACgD,WAAW,EAAEvE,YAAY,CAAC;IAC1F,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACkG,iBAAiB,CAC7B,mBAAmB,EACnBhF,eAAe,EACf+B,kBAAW,CAAC6B,WAAW,EACvB/D,UAAU,EACVC,iBAAiB,EACjB+E,OAAO,EACPA,OACF,CAAC;MAEDxE,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,kBAAkB,EAAE,YAAM;IACjCmF,SAAS,CAAC,YAAM;MACdlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFkB,EAAE,CAAC,2BAA2B,EAAE,YAAM;MACpC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqG,eAAe,CAC3BjD,mBAAY,CAACkD,WAAW,EACxBrD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACkD,WAAW,EAAEzE,YAAY,CAAC;IAC1F,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqG,eAAe,CAC3BjD,mBAAY,CAACmD,YAAY,EACzBtD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACmD,YAAY,EAAE1E,YAAY,CAAC;IAC3F,CAAC,CAAC;IAEFP,EAAE,CAAC,2BAA2B,EAAE,YAAM;MACpC,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACqG,eAAe,CAC3B,mBAAmB,EACnBpD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,wBAAwB,EAAE,YAAM;IACvCmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAMkF,aAAa,GAAG;QACpB1E,IAAI,EAAE;UACJC,MAAM,EAAE0E,uBAAgB,CAACC,cAAc;UACvCxE,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC;QACnC,CAAC;QACDE,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEhC;QACvB,CAAC;QACDqC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC2G,qBAAqB,CACjCvD,mBAAY,CAACwD,SAAS,EACtBH,uBAAgB,CAACC,cAAc,EAC/BzD,kBAAW,CAACC,UACd,CAAC;MACD3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACwD,SAAS,EAAEJ,aAAa,CAAC;MAEvFlG,qBAAqB,CAACc,SAAS,CAAC,CAAC;MAEjC,IAAMyF,aAAa,GAAA1H,aAAA,CAAAA,aAAA,KACdqH,aAAa;QAChB1E,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMqH,aAAa,CAAC1E,IAAI;UAAEgF,UAAU,EAAE,WAAW;UAAE/E,MAAM,EAAE0E,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAED/G,aAAa,CAAC2G,qBAAqB,CACjCvD,mBAAY,CAACwD,SAAS,EACtBH,uBAAgB,CAACM,MAAM,EACvB9D,kBAAW,CAACC,UAAU,EACtB,WACF,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACwD,SAAS,EAAEC,aAAa,CAAC;IACzF,CAAC,CAAC;IAEFvF,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAM0F,YAAY,GAAG,2BAA2B;MAChD,IAAMR,aAAa,GAAG;QACpB1E,IAAI,EAAE;UACJC,MAAM,EAAE0E,uBAAgB,CAACC,cAAc;UACvCxE,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzC0E,UAAU,EAAExD,SAAS;UACrBa,KAAK,EAAE6C,YAAY;UACnBC,WAAW,EAAE;QACf,CAAC;QACD3E,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEhC;QACvB,CAAC;QACDqC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC2G,qBAAqB,CACjCvD,mBAAY,CAAC8D,eAAe,EAC5BT,uBAAgB,CAACC,cAAc,EAC/BzD,kBAAW,CAACC,UAAU,EACtBI,SAAS,EACT0D,YAAY,EACZ,GACF,CAAC;MACDzF,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC8D,eAAe,EAAEV,aAAa,CAAC;MAE7FlG,qBAAqB,CAACc,SAAS,CAAC,CAAC;MAEjC,IAAMyF,aAAa,GAAA1H,aAAA,CAAAA,aAAA,KACdqH,aAAa;QAChB1E,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMqH,aAAa,CAAC1E,IAAI;UAAEgF,UAAU,EAAE,WAAW;UAAE/E,MAAM,EAAE0E,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAED/G,aAAa,CAAC2G,qBAAqB,CACjCvD,mBAAY,CAAC8D,eAAe,EAC5BT,uBAAgB,CAACM,MAAM,EACvB9D,kBAAW,CAACC,UAAU,EACtB,WAAW,EACX8D,YAAY,EACZ,GACF,CAAC;MAEDzF,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC8D,eAAe,EAAEL,aAAa,CAAC;IAC/F,CAAC,CAAC;IAEFvF,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAAC2G,qBAAqB,CACjC,mBAAmB,EACnBF,uBAAgB,CAACC,cAAc,EAC/BzD,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,mCAAmC,EAAE,YAAM;IAClDuB,EAAE,CAAC,qCAAqC,EAAE,YAAM;MAC9CT,OAAO,CAACC,GAAG,GAAG,CAAC,CAAC;MAChBd,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAC3C,IAAMyB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEwE,kBAAO;UAC5BhC,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqG,eAAe,CAC3BjD,mBAAY,CAACkD,WAAW,EACxBrD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACkD,WAAW,EAAEzE,YAAY,CAAC;IAC1F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9B,QAAQ,CAAC,0BAA0B,EAAE,YAAM;IACzCmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,sEAAsE,EAAE,YAAM;MAC/E,IAAMyB,UAAU,GAAG,WAAW;MAC9B,IAAMqE,UAAU,GAAG,UAAU;MAC7B,IAAMC,aAAa,GAAG,UAAU;MAChC,IAAMC,MAAM,GAAG,UAAU;MACzB,IAAMC,yBAAyB,GAAG,aAAa;MAE/C,IAAM1F,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEyF,yBAAkB;UAC1BtF,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyE,cAAc,EAAEiC,aAAa;UAC7BE,yBAAyB,EAAzBA,yBAAyB;UACzBE,WAAW,EAAE1E,UAAU;UACvB2E,WAAW,EAAEN,UAAU;UACvBjC,OAAO,EAAEmC;QACX,CAAC;QACDtE,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC2H,sBAAsB,CAClCvE,mBAAY,CAACwE,mBAAmB,EAChCJ,yBAAkB,EAClBvE,kBAAW,CAACC,UAAU,EACtBH,UAAU,EACVqE,UAAU,EACVC,aAAa,EACb/D,SAAS,EACTgE,MAAM,EACNC,yBACF,CAAC;MAEDhG,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACwE,mBAAmB,EAChC/F,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,gFAAgF,EAAE,YAAM;MACzF,IAAM8F,UAAU,GAAG,UAAU;MAC7B,IAAMC,aAAa,GAAG,UAAU;MAChC,IAAMC,MAAM,GAAG,UAAU;MACzB,IAAMC,yBAAyB,GAAG,aAAa;MAC/C,IAAMM,UAAU,GAAG,kBAAkB;MAErC,IAAMhG,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEyF,yBAAkB;UAC1BtF,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyE,cAAc,EAAEiC,aAAa;UAC7BE,yBAAyB,EAAzBA,yBAAyB;UACzBE,WAAW,EAAEnE,SAAS;UACtBoE,WAAW,EAAEN,UAAU;UACvBjC,OAAO,EAAEmC,MAAM;UACfnD,KAAK,EAAE0D;QACT,CAAC;QACD7E,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC2H,sBAAsB,CAClCvE,mBAAY,CAAC0E,kBAAkB,EAC/BN,yBAAkB,EAClBvE,kBAAW,CAACC,UAAU,EACtBI,SAAS,EACT8D,UAAU,EACVC,aAAa,EACbQ,UAAU,EACVP,MAAM,EACNC,yBACF,CAAC;MAEDhG,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAAC0E,kBAAkB,EAC/BjG,YACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
- _Object$defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.VOICEMAIL_ACTION = exports.UPLOAD_LOGS_ACTION = exports.TRANSFER_ACTION = exports.REG_ACTION = exports.MOBIUS_SERVER_ACTION = exports.METRIC_TYPE = exports.METRIC_EVENT = exports.CONNECTION_ACTION = void 0;
8
- var METRIC_TYPE = exports.METRIC_TYPE = /*#__PURE__*/function (METRIC_TYPE) {
9
- METRIC_TYPE["OPERATIONAL"] = "operational";
10
- METRIC_TYPE["BEHAVIORAL"] = "behavioral";
11
- return METRIC_TYPE;
12
- }({});
13
- var METRIC_EVENT = exports.METRIC_EVENT = /*#__PURE__*/function (METRIC_EVENT) {
14
- METRIC_EVENT["BNR_ENABLED"] = "web-calling-sdk-bnr-enabled";
15
- METRIC_EVENT["BNR_DISABLED"] = "web-calling-sdk-bnr-disabled";
16
- METRIC_EVENT["CALL"] = "web-calling-sdk-callcontrol";
17
- METRIC_EVENT["CALL_ERROR"] = "web-calling-sdk-callcontrol-error";
18
- METRIC_EVENT["CONNECTION_ERROR"] = "web-calling-sdk-connection";
19
- METRIC_EVENT["MEDIA"] = "web-calling-sdk-media";
20
- METRIC_EVENT["MEDIA_ERROR"] = "web-calling-sdk-media-error";
21
- METRIC_EVENT["REGISTRATION"] = "web-calling-sdk-registration";
22
- METRIC_EVENT["REGISTRATION_ERROR"] = "web-calling-sdk-registration-error";
23
- METRIC_EVENT["KEEPALIVE_ERROR"] = "web-calling-sdk-keepalive-error";
24
- METRIC_EVENT["VOICEMAIL"] = "web-calling-sdk-voicemail";
25
- METRIC_EVENT["VOICEMAIL_ERROR"] = "web-calling-sdk-voicemail-error";
26
- METRIC_EVENT["UPLOAD_LOGS_SUCCESS"] = "web-calling-sdk-upload-logs-success";
27
- METRIC_EVENT["UPLOAD_LOGS_FAILED"] = "web-calling-sdk-upload-logs-failed";
28
- METRIC_EVENT["MOBIUS_DISCOVERY"] = "web-calling-sdk-mobius-discovery";
29
- return METRIC_EVENT;
30
- }({});
31
- var MOBIUS_SERVER_ACTION = exports.MOBIUS_SERVER_ACTION = /*#__PURE__*/function (MOBIUS_SERVER_ACTION) {
32
- MOBIUS_SERVER_ACTION["REGION_INFO"] = "region-info";
33
- MOBIUS_SERVER_ACTION["MOBIUS_SERVERS"] = "mobius-servers";
34
- return MOBIUS_SERVER_ACTION;
35
- }({});
36
- var REG_ACTION = exports.REG_ACTION = /*#__PURE__*/function (REG_ACTION) {
37
- REG_ACTION["REGISTER"] = "register";
38
- REG_ACTION["DEREGISTER"] = "deregister";
39
- REG_ACTION["KEEPALIVE_FAILURE"] = "keepaliveFailure";
40
- return REG_ACTION;
41
- }({});
42
- var TRANSFER_ACTION = exports.TRANSFER_ACTION = /*#__PURE__*/function (TRANSFER_ACTION) {
43
- TRANSFER_ACTION["BLIND"] = "TRANSFER_BLIND";
44
- TRANSFER_ACTION["CONSULT"] = "TRANSFER_CONSULT";
45
- return TRANSFER_ACTION;
46
- }({});
47
- var VOICEMAIL_ACTION = exports.VOICEMAIL_ACTION = /*#__PURE__*/function (VOICEMAIL_ACTION) {
48
- VOICEMAIL_ACTION["GET_VOICEMAILS"] = "get_voicemails";
49
- VOICEMAIL_ACTION["GET_VOICEMAIL_CONTENT"] = "get_voicemail_content";
50
- VOICEMAIL_ACTION["GET_VOICEMAIL_SUMMARY"] = "get_voicemail_summary";
51
- VOICEMAIL_ACTION["MARK_READ"] = "mark_read";
52
- VOICEMAIL_ACTION["MARK_UNREAD"] = "mark_unread";
53
- VOICEMAIL_ACTION["DELETE"] = "delete";
54
- VOICEMAIL_ACTION["TRANSCRIPT"] = "transcript";
55
- return VOICEMAIL_ACTION;
56
- }({});
57
- var UPLOAD_LOGS_ACTION = exports.UPLOAD_LOGS_ACTION = 'upload_logs';
58
- var CONNECTION_ACTION = exports.CONNECTION_ACTION = /*#__PURE__*/function (CONNECTION_ACTION) {
59
- CONNECTION_ACTION["NETWORK_FLAP"] = "network_flap";
60
- CONNECTION_ACTION["MERCURY_DOWN"] = "mercury_down";
61
- CONNECTION_ACTION["MERCURY_UP"] = "mercury_up";
62
- return CONNECTION_ACTION;
63
- }({});
64
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["METRIC_TYPE","exports","METRIC_EVENT","MOBIUS_SERVER_ACTION","REG_ACTION","TRANSFER_ACTION","VOICEMAIL_ACTION","UPLOAD_LOGS_ACTION","CONNECTION_ACTION"],"sources":["types.ts"],"sourcesContent":["import {LineError} from '../Errors/catalog/LineError';\nimport {CallError, CallingClientError} from '../Errors';\nimport {CallId, CorrelationId, IDeviceInfo, MobiusServers} from '../common/types';\n\nexport enum METRIC_TYPE {\n OPERATIONAL = 'operational',\n BEHAVIORAL = 'behavioral',\n}\n\nexport enum METRIC_EVENT {\n BNR_ENABLED = 'web-calling-sdk-bnr-enabled',\n BNR_DISABLED = 'web-calling-sdk-bnr-disabled',\n CALL = 'web-calling-sdk-callcontrol',\n CALL_ERROR = 'web-calling-sdk-callcontrol-error',\n CONNECTION_ERROR = 'web-calling-sdk-connection',\n MEDIA = 'web-calling-sdk-media',\n MEDIA_ERROR = 'web-calling-sdk-media-error',\n REGISTRATION = 'web-calling-sdk-registration',\n REGISTRATION_ERROR = 'web-calling-sdk-registration-error',\n KEEPALIVE_ERROR = 'web-calling-sdk-keepalive-error',\n VOICEMAIL = 'web-calling-sdk-voicemail',\n VOICEMAIL_ERROR = 'web-calling-sdk-voicemail-error',\n UPLOAD_LOGS_SUCCESS = 'web-calling-sdk-upload-logs-success',\n UPLOAD_LOGS_FAILED = 'web-calling-sdk-upload-logs-failed',\n MOBIUS_DISCOVERY = 'web-calling-sdk-mobius-discovery',\n}\n\nexport enum MOBIUS_SERVER_ACTION {\n REGION_INFO = 'region-info',\n MOBIUS_SERVERS = 'mobius-servers',\n}\n\nexport enum REG_ACTION {\n REGISTER = 'register',\n DEREGISTER = 'deregister',\n KEEPALIVE_FAILURE = 'keepaliveFailure',\n}\n\nexport enum TRANSFER_ACTION {\n BLIND = 'TRANSFER_BLIND',\n CONSULT = 'TRANSFER_CONSULT',\n}\n\nexport enum VOICEMAIL_ACTION {\n GET_VOICEMAILS = 'get_voicemails',\n GET_VOICEMAIL_CONTENT = 'get_voicemail_content',\n GET_VOICEMAIL_SUMMARY = 'get_voicemail_summary',\n MARK_READ = 'mark_read',\n MARK_UNREAD = 'mark_unread',\n DELETE = 'delete',\n TRANSCRIPT = 'transcript',\n}\n\nexport type SERVER_TYPE = 'PRIMARY' | 'BACKUP' | 'UNKNOWN';\n\nexport const UPLOAD_LOGS_ACTION = 'upload_logs';\n\nexport enum CONNECTION_ACTION {\n NETWORK_FLAP = 'network_flap',\n MERCURY_DOWN = 'mercury_down',\n MERCURY_UP = 'mercury_up',\n}\n\nexport interface IMetricManager {\n setDeviceInfo: (deviceInfo: IDeviceInfo) => void;\n\n submitRegistrationMetric: (\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n caller: string,\n serverType: SERVER_TYPE,\n trackingId: string,\n keepaliveCount?: number,\n error?: LineError | CallingClientError\n ) => void;\n\n submitBNRMetric: (\n name: METRIC_EVENT,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId\n ) => void;\n\n submitCallMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) => void;\n\n submitMediaMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) => void;\n\n submitConnectionMetrics: (\n name: METRIC_EVENT,\n metricAction: CONNECTION_ACTION,\n type: METRIC_TYPE,\n downTimestamp: string,\n upTimestamp: string\n ) => void;\n\n submitVoicemailMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) => void;\n\n submitUploadLogsMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n trackingId?: string,\n feedbackId?: string,\n correlationId?: string,\n stack?: string,\n callId?: string,\n broadworksCorrelationInfo?: string\n ) => void;\n\n submitRegionInfoMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n mobiusHost: string,\n clientRegion: string,\n countryCode: string,\n trackingId: string\n ) => void;\n\n submitMobiusServersMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n mobiusServers: MobiusServers,\n trackingId: string\n ) => void;\n}\n"],"mappings":";;;;;;;IAIYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAKXE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAkBZC,oBAAoB,GAAAF,OAAA,CAAAE,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAKpBC,UAAU,GAAAH,OAAA,CAAAG,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAMVC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAKfC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAYrB,IAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,aAAa;AAAC,IAEpCC,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}