@webex/calling 3.10.0-next.8 → 3.10.0-webex-services-ready.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 (115) hide show
  1. package/dist/CallHistory/CallHistory.js +118 -124
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +189 -201
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallSettings/CallSettings.js +17 -18
  6. package/dist/CallSettings/CallSettings.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.test.js +14 -14
  8. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +71 -24
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +135 -137
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallingClient/CallingClient.js +198 -201
  18. package/dist/CallingClient/CallingClient.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.test.js +168 -168
  20. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  21. package/dist/CallingClient/calling/CallerId/index.js +7 -8
  22. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  23. package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
  24. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +654 -610
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +701 -556
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +15 -18
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +113 -113
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/constants.js +5 -1
  34. package/dist/CallingClient/constants.js.map +1 -1
  35. package/dist/CallingClient/line/index.js +57 -74
  36. package/dist/CallingClient/line/index.js.map +1 -1
  37. package/dist/CallingClient/line/line.test.js +22 -22
  38. package/dist/CallingClient/line/line.test.js.map +1 -1
  39. package/dist/CallingClient/registration/register.js +657 -526
  40. package/dist/CallingClient/registration/register.js.map +1 -1
  41. package/dist/CallingClient/registration/register.test.js +657 -309
  42. package/dist/CallingClient/registration/register.test.js.map +1 -1
  43. package/dist/CallingClient/registration/types.js.map +1 -1
  44. package/dist/CallingClient/registration/webWorker.js +24 -24
  45. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.test.js +20 -20
  47. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  48. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
  49. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
  50. package/dist/Contacts/ContactsClient.js +250 -253
  51. package/dist/Contacts/ContactsClient.js.map +1 -1
  52. package/dist/Contacts/ContactsClient.test.js +60 -60
  53. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  54. package/dist/Errors/catalog/CallError.js +7 -10
  55. package/dist/Errors/catalog/CallError.js.map +1 -1
  56. package/dist/Errors/catalog/CallingDeviceError.js +6 -9
  57. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  58. package/dist/Errors/catalog/ExtendedError.js +6 -8
  59. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  60. package/dist/Errors/catalog/LineError.js +6 -9
  61. package/dist/Errors/catalog/LineError.js.map +1 -1
  62. package/dist/Events/impl/index.js +11 -13
  63. package/dist/Events/impl/index.js.map +1 -1
  64. package/dist/Metrics/index.js +1 -2
  65. package/dist/Metrics/index.js.map +1 -1
  66. package/dist/SDKConnector/index.js +1 -2
  67. package/dist/SDKConnector/index.js.map +1 -1
  68. package/dist/SDKConnector/types.js.map +1 -1
  69. package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
  70. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  71. package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
  72. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  73. package/dist/Voicemail/UcmBackendConnector.js +84 -85
  74. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  75. package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
  76. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  77. package/dist/Voicemail/Voicemail.js +58 -61
  78. package/dist/Voicemail/Voicemail.js.map +1 -1
  79. package/dist/Voicemail/Voicemail.test.js +20 -20
  80. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  81. package/dist/Voicemail/WxCallBackendConnector.js +116 -117
  82. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  83. package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
  84. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  85. package/dist/common/Utils.js +195 -165
  86. package/dist/common/Utils.js.map +1 -1
  87. package/dist/common/Utils.test.js +432 -183
  88. package/dist/common/Utils.test.js.map +1 -1
  89. package/dist/common/constants.js +3 -1
  90. package/dist/common/constants.js.map +1 -1
  91. package/dist/common/testUtil.js +3 -3
  92. package/dist/common/testUtil.js.map +1 -1
  93. package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
  94. package/dist/module/CallingClient/calling/call.js +59 -38
  95. package/dist/module/CallingClient/constants.js +3 -0
  96. package/dist/module/CallingClient/registration/register.js +82 -2
  97. package/dist/module/common/Utils.js +27 -3
  98. package/dist/module/common/constants.js +2 -0
  99. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
  100. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  101. package/dist/types/CallingClient/calling/call.d.ts +4 -0
  102. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  103. package/dist/types/CallingClient/constants.d.ts +3 -0
  104. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  105. package/dist/types/CallingClient/registration/register.d.ts +4 -0
  106. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  107. package/dist/types/CallingClient/registration/types.d.ts +6 -0
  108. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  109. package/dist/types/SDKConnector/types.d.ts +6 -0
  110. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  111. package/dist/types/common/Utils.d.ts +1 -1
  112. package/dist/types/common/Utils.d.ts.map +1 -1
  113. package/dist/types/common/constants.d.ts +2 -0
  114. package/dist/types/common/constants.d.ts.map +1 -1
  115. package/package.json +4 -4
@@ -92,7 +92,7 @@ describe('CallerId tests', function () {
92
92
  */
93
93
  it(' When PA-ID, From header is present along with x-broad-works, ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
94
94
  var dummyCallerId, output;
95
- return _regenerator.default.wrap(function _callee$(_context) {
95
+ return _regenerator.default.wrap(function (_context) {
96
96
  while (1) switch (_context.prev = _context.next) {
97
97
  case 0:
98
98
  dummyCallerId = {
@@ -104,15 +104,15 @@ describe('CallerId tests', function () {
104
104
  /* PAI should be preferred */
105
105
  expect(output.name).toStrictEqual("John O'Connor - ( Guest )");
106
106
  expect(output.num).toStrictEqual('5888');
107
- _context.next = 6;
107
+ _context.next = 1;
108
108
  return waitForMsecs(50);
109
- case 6:
109
+ case 1:
110
110
  /* Should be overwritten by x-broadworks */
111
111
  expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
112
112
  expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
113
113
  expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
114
114
  expect(callerId['callerInfo'].num).toStrictEqual('5008');
115
- case 10:
115
+ case 2:
116
116
  case "end":
117
117
  return _context.stop();
118
118
  }
@@ -120,7 +120,7 @@ describe('CallerId tests', function () {
120
120
  })));
121
121
  it(' When PA-ID ,From header is present along with x-broad-works , but name in PAI is missing', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
122
122
  var dummyCallerId, output;
123
- return _regenerator.default.wrap(function _callee2$(_context2) {
123
+ return _regenerator.default.wrap(function (_context2) {
124
124
  while (1) switch (_context2.prev = _context2.next) {
125
125
  case 0:
126
126
  dummyCallerId = {
@@ -133,15 +133,15 @@ describe('CallerId tests', function () {
133
133
  /* PAI name is ignored and From's name should be taken, but number is taken from PAI */
134
134
  expect(output.name).toStrictEqual('Alice');
135
135
  expect(output.num).toStrictEqual('5888');
136
- _context2.next = 7;
136
+ _context2.next = 1;
137
137
  return waitForMsecs(50);
138
- case 7:
138
+ case 1:
139
139
  /* Should be overwritten by x-broadworks */
140
140
  expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
141
141
  expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
142
142
  expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
143
143
  expect(callerId['callerInfo'].num).toStrictEqual('5008');
144
- case 11:
144
+ case 2:
145
145
  case "end":
146
146
  return _context2.stop();
147
147
  }
@@ -149,7 +149,7 @@ describe('CallerId tests', function () {
149
149
  })));
150
150
  it(' When PA-ID ,From header is present along with x-broad-works , but name, number in PAI is missing', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
151
151
  var dummyCallerId, output;
152
- return _regenerator.default.wrap(function _callee3$(_context3) {
152
+ return _regenerator.default.wrap(function (_context3) {
153
153
  while (1) switch (_context3.prev = _context3.next) {
154
154
  case 0:
155
155
  dummyCallerId = {
@@ -162,15 +162,15 @@ describe('CallerId tests', function () {
162
162
  /* PAI name and number is ignored and From's name, number should be taken */
163
163
  expect(output.name).toStrictEqual('Alice');
164
164
  expect(output.num).toStrictEqual('5889');
165
- _context3.next = 7;
165
+ _context3.next = 1;
166
166
  return waitForMsecs(50);
167
- case 7:
167
+ case 1:
168
168
  /* Should be overwritten by x-broadworks */
169
169
  expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
170
170
  expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
171
171
  expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
172
172
  expect(callerId['callerInfo'].num).toStrictEqual('5008');
173
- case 11:
173
+ case 2:
174
174
  case "end":
175
175
  return _context3.stop();
176
176
  }
@@ -178,7 +178,7 @@ describe('CallerId tests', function () {
178
178
  })));
179
179
  it(' When PA-ID is present but From header is absent', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
180
180
  var dummyCallerId, output;
181
- return _regenerator.default.wrap(function _callee4$(_context4) {
181
+ return _regenerator.default.wrap(function (_context4) {
182
182
  while (1) switch (_context4.prev = _context4.next) {
183
183
  case 0:
184
184
  dummyCallerId = {
@@ -190,15 +190,15 @@ describe('CallerId tests', function () {
190
190
  /* PAI name and number is taken */
191
191
  expect(output.name).toStrictEqual('Bob Marley');
192
192
  expect(output.num).toStrictEqual('5888');
193
- _context4.next = 7;
193
+ _context4.next = 1;
194
194
  return waitForMsecs(50);
195
- case 7:
195
+ case 1:
196
196
  /* Should be overwritten by x-broadworks */
197
197
  expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
198
198
  expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
199
199
  expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
200
200
  expect(callerId['callerInfo'].num).toStrictEqual('5008');
201
- case 11:
201
+ case 2:
202
202
  case "end":
203
203
  return _context4.stop();
204
204
  }
@@ -206,7 +206,7 @@ describe('CallerId tests', function () {
206
206
  })));
207
207
  it(' When PA-ID, From header is present but x-broad-works does not have externalId, ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
208
208
  var dummyCallerId, output;
209
- return _regenerator.default.wrap(function _callee5$(_context5) {
209
+ return _regenerator.default.wrap(function (_context5) {
210
210
  while (1) switch (_context5.prev = _context5.next) {
211
211
  case 0:
212
212
  dummyCallerId = {
@@ -219,15 +219,15 @@ describe('CallerId tests', function () {
219
219
  /* PAI should be preferred */
220
220
  expect(output.name).toStrictEqual('Bob Marley');
221
221
  expect(output.num).toStrictEqual('5888');
222
- _context5.next = 7;
222
+ _context5.next = 1;
223
223
  return waitForMsecs(50);
224
- case 7:
224
+ case 1:
225
225
  /* Since x-broadworks is not present , intermediary details should be retained */
226
226
  expect(callerId['callerInfo'].avatarSrc).toBeFalsy();
227
227
  expect(callerId['callerInfo'].id).toBeFalsy();
228
228
  expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');
229
229
  expect(callerId['callerInfo'].num).toStrictEqual('5888');
230
- case 11:
230
+ case 2:
231
231
  case "end":
232
232
  return _context5.stop();
233
233
  }
@@ -235,7 +235,7 @@ describe('CallerId tests', function () {
235
235
  })));
236
236
  it(' When PA-ID, From header is present along with x-broad-works but SCIM query fails, ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
237
237
  var dummyCallerId, warnSpy, output;
238
- return _regenerator.default.wrap(function _callee6$(_context6) {
238
+ return _regenerator.default.wrap(function (_context6) {
239
239
  while (1) switch (_context6.prev = _context6.next) {
240
240
  case 0:
241
241
  dummyCallerId = {
@@ -252,9 +252,9 @@ describe('CallerId tests', function () {
252
252
  /* PAI should be preferred */
253
253
  expect(output.name).toStrictEqual('Bob Marley');
254
254
  expect(output.num).toStrictEqual('5888');
255
- _context6.next = 8;
255
+ _context6.next = 1;
256
256
  return waitForMsecs(50);
257
- case 8:
257
+ case 1:
258
258
  expect(warnSpy).toHaveBeenCalledWith('Error response: - 404', {
259
259
  file: _constants.UTILS_FILE,
260
260
  method: 'resolveCallerIdDisplay'
@@ -265,7 +265,7 @@ describe('CallerId tests', function () {
265
265
  expect(callerId['callerInfo'].id).toBe(undefined);
266
266
  expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');
267
267
  expect(callerId['callerInfo'].num).toStrictEqual('5888');
268
- case 13:
268
+ case 2:
269
269
  case "end":
270
270
  return _context6.stop();
271
271
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_testUtil","require","_","_Logger","_interopRequireDefault","_constants","waitForMsecs","msec","_promise","default","resolve","setTimeout","webex","getTestUtilsWebex","describe","dummyAvatar","dummyScimResponse","totalResults","itemsPerPage","startIndex","schemas","Resources","userName","emails","primary","type","value","name","givenName","familyName","phoneNumbers","entitlements","cisSyncSource","photos","id","meta","created","lastModified","lastLoginTime","version","location","organizationID","creator","modifier","displayName","active","licenseID","userSettings","sipAddresses","isTeamsOnJabberEnabled","isUCCallOnJabberEnabled","userType","mfaEnabled","teamsClusterId","request","mockResolvedValue","statusCode","body","callerId","it","createCallerId","log","expect","toBeTruthy","_asyncToGenerator2","_regenerator","mark","_callee","dummyCallerId","output","wrap","_callee$","_context","prev","next","from","fetchCallerDetails","toStrictEqual","num","avatarSrc","stop","_callee2","_callee2$","_context2","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","_callee5","_callee5$","_context5","toBeFalsy","_callee6","warnSpy","_callee6$","_context6","mockRejectedValue","jest","spyOn","toHaveBeenCalledWith","file","UTILS_FILE","method","toBe","undefined"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {DisplayInformation} from '../../../common/types';\nimport {getTestUtilsWebex} from '../../../common/testUtil';\nimport {createCallerId} from '.';\nimport log from '../../../Logger';\nimport {ICallerId} from './types';\nimport {UTILS_FILE} from '../../constants';\n\nconst waitForMsecs = (msec: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, msec);\n });\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CallerId tests', () => {\n const dummyAvatar =\n 'https://avatar-int-us-east-1.webexcontent.com/Avtr~V1~1704d30d-a131-4bc7-9449-948487643793/V1~bf911e86a1561896d7d0053b46a8d0c9ed82a7bc434a1f84621c2c45cc825f37~3720694b1e4340818a3d12d70eb2b6e1~80';\n\n const dummyScimResponse = {\n totalResults: '1',\n itemsPerPage: '1',\n startIndex: '1',\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n Resources: [\n {\n userName: 'atlas.test.wxcwebrtc+user8@gmail.com',\n emails: [\n {\n primary: true,\n type: 'work',\n value: 'atlas.test.wxcwebrtc+user8@gmail.com',\n },\n ],\n name: {\n givenName: 'Cathy',\n familyName: 'James',\n },\n phoneNumbers: [\n {\n primary: true,\n type: 'work',\n value: '5008',\n },\n ],\n entitlements: [\n 'basic-meeting',\n 'basic-message',\n 'bc-sp-standard',\n 'screen-share',\n 'spark',\n 'spark-test-account',\n 'squared-call-initiation',\n 'webex-squared',\n ],\n cisSyncSource: 'SCIM',\n photos: [\n {\n type: 'photo',\n value: dummyAvatar,\n },\n {\n type: 'thumbnail',\n value: dummyAvatar,\n },\n ],\n id: '652fe0c7-05ce-4acd-8bda-9a080830187f',\n meta: {\n created: '2022-03-16T16:13:53.847Z',\n lastModified: '2022-05-31T14:39:12.782Z',\n lastLoginTime: '2022-05-31T14:39:12.780Z',\n version: 'W/\"66025591113\"',\n location:\n 'https://identitybts.webex.com/identity/scim/1704d30d-a131-4bc7-9449-948487643793/v1/Users/652fe0c7-05ce-4acd-8bda-9a080830187f',\n organizationID: '1704d30d-a131-4bc7-9449-948487643793',\n creator: '97fe25e3-d3e8-400e-856b-5b0cd5b0c790',\n modifier: '8c7abf2f-0c8e-49cf-b8e4-693d4ec7daee',\n },\n displayName: 'Cathy',\n active: true,\n licenseID: ['BCSTD_8c81f40c-e848-484e-8ca8-0fb6dabc75a5'],\n userSettings: ['{\"spark.signUpDate\":\"1648547902173\"}', '{\"user-origin\":\"admin-invited\"}'],\n sipAddresses: [\n {\n type: 'cloud-calling',\n value: 'atlas.test.wxcwebrtc+user8@webrtcmobius.call.wbx2.com',\n primary: true,\n },\n ],\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n userType: 'user',\n mfaEnabled: false,\n teamsClusterId: 'urn:TEAM:us-east-1_int13',\n },\n ],\n };\n\n webex.request.mockResolvedValue({\n statusCode: 200,\n body: dummyScimResponse,\n });\n\n let callerId: ICallerId;\n\n it('create callerId Object', () => {\n callerId = createCallerId(webex, () => log.log('dummy print', {}));\n expect(callerId).toBeTruthy();\n });\n\n /* Follow tests will follow different combinations of the headers.\n * We will check whether the priority order is followed or not.\n */\n it(' When PA-ID, From header is present along with x-broad-works, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"John O\\'Connor - ( Guest )\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual(\"John O'Connor - ( Guest )\");\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name is ignored and From's name should be taken, but number is taken from PAI */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name, number in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:69fde5ad-fb8b-4a1b-9998-b0999e95719b@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is ignored and From's name, number should be taken */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5889');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID is present but From header is absent', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is taken */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID, From header is present but x-broad-works does not have externalId, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Since x-broadworks is not present , intermediary details should be retained */\n expect(callerId['callerInfo'].avatarSrc).toBeFalsy();\n expect(callerId['callerInfo'].id).toBeFalsy();\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n\n it(' When PA-ID, From header is present along with x-broad-works but SCIM query fails, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n webex.request.mockRejectedValue({\n statusCode: 404,\n body: dummyScimResponse,\n });\n\n const warnSpy = jest.spyOn(log, 'warn');\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n expect(warnSpy).toHaveBeenCalledWith('Error response: - 404', {\n file: UTILS_FILE,\n method: 'resolveCallerIdDisplay',\n });\n\n /* Should not be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toBe(undefined);\n expect(callerId['callerInfo'].id).toBe(undefined);\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_testUtil","require","_","_Logger","_interopRequireDefault","_constants","waitForMsecs","msec","_promise","default","resolve","setTimeout","webex","getTestUtilsWebex","describe","dummyAvatar","dummyScimResponse","totalResults","itemsPerPage","startIndex","schemas","Resources","userName","emails","primary","type","value","name","givenName","familyName","phoneNumbers","entitlements","cisSyncSource","photos","id","meta","created","lastModified","lastLoginTime","version","location","organizationID","creator","modifier","displayName","active","licenseID","userSettings","sipAddresses","isTeamsOnJabberEnabled","isUCCallOnJabberEnabled","userType","mfaEnabled","teamsClusterId","request","mockResolvedValue","statusCode","body","callerId","it","createCallerId","log","expect","toBeTruthy","_asyncToGenerator2","_regenerator","mark","_callee","dummyCallerId","output","wrap","_context","prev","next","from","fetchCallerDetails","toStrictEqual","num","avatarSrc","stop","_callee2","_context2","_callee3","_context3","_callee4","_context4","_callee5","_context5","toBeFalsy","_callee6","warnSpy","_context6","mockRejectedValue","jest","spyOn","toHaveBeenCalledWith","file","UTILS_FILE","method","toBe","undefined"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {DisplayInformation} from '../../../common/types';\nimport {getTestUtilsWebex} from '../../../common/testUtil';\nimport {createCallerId} from '.';\nimport log from '../../../Logger';\nimport {ICallerId} from './types';\nimport {UTILS_FILE} from '../../constants';\n\nconst waitForMsecs = (msec: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, msec);\n });\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CallerId tests', () => {\n const dummyAvatar =\n 'https://avatar-int-us-east-1.webexcontent.com/Avtr~V1~1704d30d-a131-4bc7-9449-948487643793/V1~bf911e86a1561896d7d0053b46a8d0c9ed82a7bc434a1f84621c2c45cc825f37~3720694b1e4340818a3d12d70eb2b6e1~80';\n\n const dummyScimResponse = {\n totalResults: '1',\n itemsPerPage: '1',\n startIndex: '1',\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n Resources: [\n {\n userName: 'atlas.test.wxcwebrtc+user8@gmail.com',\n emails: [\n {\n primary: true,\n type: 'work',\n value: 'atlas.test.wxcwebrtc+user8@gmail.com',\n },\n ],\n name: {\n givenName: 'Cathy',\n familyName: 'James',\n },\n phoneNumbers: [\n {\n primary: true,\n type: 'work',\n value: '5008',\n },\n ],\n entitlements: [\n 'basic-meeting',\n 'basic-message',\n 'bc-sp-standard',\n 'screen-share',\n 'spark',\n 'spark-test-account',\n 'squared-call-initiation',\n 'webex-squared',\n ],\n cisSyncSource: 'SCIM',\n photos: [\n {\n type: 'photo',\n value: dummyAvatar,\n },\n {\n type: 'thumbnail',\n value: dummyAvatar,\n },\n ],\n id: '652fe0c7-05ce-4acd-8bda-9a080830187f',\n meta: {\n created: '2022-03-16T16:13:53.847Z',\n lastModified: '2022-05-31T14:39:12.782Z',\n lastLoginTime: '2022-05-31T14:39:12.780Z',\n version: 'W/\"66025591113\"',\n location:\n 'https://identitybts.webex.com/identity/scim/1704d30d-a131-4bc7-9449-948487643793/v1/Users/652fe0c7-05ce-4acd-8bda-9a080830187f',\n organizationID: '1704d30d-a131-4bc7-9449-948487643793',\n creator: '97fe25e3-d3e8-400e-856b-5b0cd5b0c790',\n modifier: '8c7abf2f-0c8e-49cf-b8e4-693d4ec7daee',\n },\n displayName: 'Cathy',\n active: true,\n licenseID: ['BCSTD_8c81f40c-e848-484e-8ca8-0fb6dabc75a5'],\n userSettings: ['{\"spark.signUpDate\":\"1648547902173\"}', '{\"user-origin\":\"admin-invited\"}'],\n sipAddresses: [\n {\n type: 'cloud-calling',\n value: 'atlas.test.wxcwebrtc+user8@webrtcmobius.call.wbx2.com',\n primary: true,\n },\n ],\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n userType: 'user',\n mfaEnabled: false,\n teamsClusterId: 'urn:TEAM:us-east-1_int13',\n },\n ],\n };\n\n webex.request.mockResolvedValue({\n statusCode: 200,\n body: dummyScimResponse,\n });\n\n let callerId: ICallerId;\n\n it('create callerId Object', () => {\n callerId = createCallerId(webex, () => log.log('dummy print', {}));\n expect(callerId).toBeTruthy();\n });\n\n /* Follow tests will follow different combinations of the headers.\n * We will check whether the priority order is followed or not.\n */\n it(' When PA-ID, From header is present along with x-broad-works, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"John O\\'Connor - ( Guest )\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual(\"John O'Connor - ( Guest )\");\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name is ignored and From's name should be taken, but number is taken from PAI */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name, number in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:69fde5ad-fb8b-4a1b-9998-b0999e95719b@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is ignored and From's name, number should be taken */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5889');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID is present but From header is absent', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is taken */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID, From header is present but x-broad-works does not have externalId, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Since x-broadworks is not present , intermediary details should be retained */\n expect(callerId['callerInfo'].avatarSrc).toBeFalsy();\n expect(callerId['callerInfo'].id).toBeFalsy();\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n\n it(' When PA-ID, From header is present along with x-broad-works but SCIM query fails, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n webex.request.mockRejectedValue({\n statusCode: 404,\n body: dummyScimResponse,\n });\n\n const warnSpy = jest.spyOn(log, 'warn');\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n expect(warnSpy).toHaveBeenCalledWith('Error response: - 404', {\n file: UTILS_FILE,\n method: 'resolveCallerIdDisplay',\n });\n\n /* Should not be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toBe(undefined);\n expect(callerId['callerInfo'].id).toBe(undefined);\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n});\n"],"mappings":";;;;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AANA;;AAQA,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAY;EAAA,OAChC,IAAAC,QAAA,CAAAC,OAAA,CAAY,UAACC,OAAO,EAAK;IACvBC,UAAU,CAACD,OAAO,EAAEH,IAAI,CAAC;EAC3B,CAAC,CAAC;AAAA;AAEJ,IAAMK,KAAK,GAAG,IAAAC,2BAAiB,EAAC,CAAC;AAEjCC,QAAQ,CAAC,gBAAgB,EAAE,YAAM;EAC/B,IAAMC,WAAW,GACf,oMAAoM;EAEtM,IAAMC,iBAAiB,GAAG;IACxBC,YAAY,EAAE,GAAG;IACjBC,YAAY,EAAE,GAAG;IACjBC,UAAU,EAAE,GAAG;IACfC,OAAO,EAAE,CAAC,2BAA2B,EAAE,qDAAqD,CAAC;IAC7FC,SAAS,EAAE,CACT;MACEC,QAAQ,EAAE,sCAAsC;MAChDC,MAAM,EAAE,CACN;QACEC,OAAO,EAAE,IAAI;QACbC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE;MACT,CAAC,CACF;MACDC,IAAI,EAAE;QACJC,SAAS,EAAE,OAAO;QAClBC,UAAU,EAAE;MACd,CAAC;MACDC,YAAY,EAAE,CACZ;QACEN,OAAO,EAAE,IAAI;QACbC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE;MACT,CAAC,CACF;MACDK,YAAY,EAAE,CACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,oBAAoB,EACpB,yBAAyB,EACzB,eAAe,CAChB;MACDC,aAAa,EAAE,MAAM;MACrBC,MAAM,EAAE,CACN;QACER,IAAI,EAAE,OAAO;QACbC,KAAK,EAAEX;MACT,CAAC,EACD;QACEU,IAAI,EAAE,WAAW;QACjBC,KAAK,EAAEX;MACT,CAAC,CACF;MACDmB,EAAE,EAAE,sCAAsC;MAC1CC,IAAI,EAAE;QACJC,OAAO,EAAE,0BAA0B;QACnCC,YAAY,EAAE,0BAA0B;QACxCC,aAAa,EAAE,0BAA0B;QACzCC,OAAO,EAAE,iBAAiB;QAC1BC,QAAQ,EACN,gIAAgI;QAClIC,cAAc,EAAE,sCAAsC;QACtDC,OAAO,EAAE,sCAAsC;QAC/CC,QAAQ,EAAE;MACZ,CAAC;MACDC,WAAW,EAAE,OAAO;MACpBC,MAAM,EAAE,IAAI;MACZC,SAAS,EAAE,CAAC,4CAA4C,CAAC;MACzDC,YAAY,EAAE,CAAC,sCAAsC,EAAE,iCAAiC,CAAC;MACzFC,YAAY,EAAE,CACZ;QACEvB,IAAI,EAAE,eAAe;QACrBC,KAAK,EAAE,uDAAuD;QAC9DF,OAAO,EAAE;MACX,CAAC,CACF;MACDyB,sBAAsB,EAAE,KAAK;MAC7BC,uBAAuB,EAAE,KAAK;MAC9BC,QAAQ,EAAE,MAAM;MAChBC,UAAU,EAAE,KAAK;MACjBC,cAAc,EAAE;IAClB,CAAC;EAEL,CAAC;EAEDzC,KAAK,CAAC0C,OAAO,CAACC,iBAAiB,CAAC;IAC9BC,UAAU,EAAE,GAAG;IACfC,IAAI,EAAEzC;EACR,CAAC,CAAC;EAEF,IAAI0C,QAAmB;EAEvBC,EAAE,CAAC,wBAAwB,EAAE,YAAM;IACjCD,QAAQ,GAAG,IAAAE,gBAAc,EAAChD,KAAK,EAAE;MAAA,OAAMiD,eAAG,CAACA,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAAA,EAAC;IAClEC,MAAM,CAACJ,QAAQ,CAAC,CAACK,UAAU,CAAC,CAAC;EAC/B,CAAC,CAAC;;EAEF;AACF;AACA;EACEJ,EAAE,CAAC,gEAAgE,mBAAAK,kBAAA,CAAAvD,OAAA,eAAAwD,YAAA,CAAAxD,OAAA,CAAAyD,IAAA,CAAE,SAAAC,QAAA;IAAA,IAAAC,aAAA,EAAAC,MAAA;IAAA,OAAAJ,YAAA,CAAAxD,OAAA,CAAA6D,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC7DL,aAAa,GAAG;YACpB,gCAAgC,EAC9B,qJAAqJ;YACvJ,qBAAqB,EAAE,+DAA+D;YACtFM,IAAI,EAAE;UACR,CAAC;UAEKL,MAAM,GAAGX,QAAQ,CAACiB,kBAAkB,CAACP,aAAa,CAAC;UAEzD;UACAN,MAAM,CAACO,MAAM,CAAC1C,IAAI,CAAC,CAACiD,aAAa,CAAC,2BAA2B,CAAC;UAC9Dd,MAAM,CAACO,MAAM,CAACQ,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;UAACL,QAAA,CAAAE,IAAA;UAAA,OACnCnE,YAAY,CAAC,EAAE,CAAC;QAAA;UAEtB;UACAwD,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACoB,SAAS,CAAC,CAACF,aAAa,CAAC7D,WAAW,CAAC;UACnE+C,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACxB,EAAE,CAAC,CAAC0C,aAAa,CAAC5D,iBAAiB,CAACK,SAAS,CAAC,CAAC,CAAC,CAACa,EAAE,CAAC;UAClF4B,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAAC/B,IAAI,CAAC,CAACiD,aAAa,CAAC,OAAO,CAAC;UAC1Dd,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACmB,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAL,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAZ,OAAA;EAAA,CAC1D,GAAC;EAEFR,EAAE,CAAC,2FAA2F,mBAAAK,kBAAA,CAAAvD,OAAA,eAAAwD,YAAA,CAAAxD,OAAA,CAAAyD,IAAA,CAAE,SAAAc,SAAA;IAAA,IAAAZ,aAAA,EAAAC,MAAA;IAAA,OAAAJ,YAAA,CAAAxD,OAAA,CAAA6D,IAAA,WAAAW,SAAA;MAAA,kBAAAA,SAAA,CAAAT,IAAA,GAAAS,SAAA,CAAAR,IAAA;QAAA;UACxFL,aAAa,GAAG;YACpB,gCAAgC,EAC9B,qJAAqJ;YACvJ,qBAAqB,EAAE,kCAAkC;YACzDM,IAAI,EAAE;UACR,CAAC;UAEDhB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAuB;UAC3CW,MAAM,GAAGX,QAAQ,CAACiB,kBAAkB,CAACP,aAAa,CAAC;UAEzD;UACAN,MAAM,CAACO,MAAM,CAAC1C,IAAI,CAAC,CAACiD,aAAa,CAAC,OAAO,CAAC;UAC1Cd,MAAM,CAACO,MAAM,CAACQ,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;UAACK,SAAA,CAAAR,IAAA;UAAA,OACnCnE,YAAY,CAAC,EAAE,CAAC;QAAA;UAEtB;UACAwD,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACoB,SAAS,CAAC,CAACF,aAAa,CAAC7D,WAAW,CAAC;UACnE+C,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACxB,EAAE,CAAC,CAAC0C,aAAa,CAAC5D,iBAAiB,CAACK,SAAS,CAAC,CAAC,CAAC,CAACa,EAAE,CAAC;UAClF4B,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAAC/B,IAAI,CAAC,CAACiD,aAAa,CAAC,OAAO,CAAC;UAC1Dd,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACmB,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAK,SAAA,CAAAF,IAAA;MAAA;IAAA,GAAAC,QAAA;EAAA,CAC1D,GAAC;EAEFrB,EAAE,CAAC,mGAAmG,mBAAAK,kBAAA,CAAAvD,OAAA,eAAAwD,YAAA,CAAAxD,OAAA,CAAAyD,IAAA,CAAE,SAAAgB,SAAA;IAAA,IAAAd,aAAA,EAAAC,MAAA;IAAA,OAAAJ,YAAA,CAAAxD,OAAA,CAAA6D,IAAA,WAAAa,SAAA;MAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;QAAA;UAChGL,aAAa,GAAG;YACpB,gCAAgC,EAC9B,qJAAqJ;YACvJ,qBAAqB,EAAE,kEAAkE;YACzFM,IAAI,EAAE;UACR,CAAC;UAEDhB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAuB;UAC3CW,MAAM,GAAGX,QAAQ,CAACiB,kBAAkB,CAACP,aAAa,CAAC;UAEzD;UACAN,MAAM,CAACO,MAAM,CAAC1C,IAAI,CAAC,CAACiD,aAAa,CAAC,OAAO,CAAC;UAC1Cd,MAAM,CAACO,MAAM,CAACQ,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;UAACO,SAAA,CAAAV,IAAA;UAAA,OACnCnE,YAAY,CAAC,EAAE,CAAC;QAAA;UAEtB;UACAwD,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACoB,SAAS,CAAC,CAACF,aAAa,CAAC7D,WAAW,CAAC;UACnE+C,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACxB,EAAE,CAAC,CAAC0C,aAAa,CAAC5D,iBAAiB,CAACK,SAAS,CAAC,CAAC,CAAC,CAACa,EAAE,CAAC;UAClF4B,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAAC/B,IAAI,CAAC,CAACiD,aAAa,CAAC,OAAO,CAAC;UAC1Dd,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACmB,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAO,SAAA,CAAAJ,IAAA;MAAA;IAAA,GAAAG,QAAA;EAAA,CAC1D,GAAC;EAEFvB,EAAE,CAAC,kDAAkD,mBAAAK,kBAAA,CAAAvD,OAAA,eAAAwD,YAAA,CAAAxD,OAAA,CAAAyD,IAAA,CAAE,SAAAkB,SAAA;IAAA,IAAAhB,aAAA,EAAAC,MAAA;IAAA,OAAAJ,YAAA,CAAAxD,OAAA,CAAA6D,IAAA,WAAAe,SAAA;MAAA,kBAAAA,SAAA,CAAAb,IAAA,GAAAa,SAAA,CAAAZ,IAAA;QAAA;UAC/CL,aAAa,GAAG;YACpB,gCAAgC,EAC9B,qJAAqJ;YACvJ,qBAAqB,EAAE;UACzB,CAAC;UAEDV,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAuB;UAC3CW,MAAM,GAAGX,QAAQ,CAACiB,kBAAkB,CAACP,aAAa,CAAC;UAEzD;UACAN,MAAM,CAACO,MAAM,CAAC1C,IAAI,CAAC,CAACiD,aAAa,CAAC,YAAY,CAAC;UAC/Cd,MAAM,CAACO,MAAM,CAACQ,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;UAACS,SAAA,CAAAZ,IAAA;UAAA,OACnCnE,YAAY,CAAC,EAAE,CAAC;QAAA;UAEtB;UACAwD,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACoB,SAAS,CAAC,CAACF,aAAa,CAAC7D,WAAW,CAAC;UACnE+C,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACxB,EAAE,CAAC,CAAC0C,aAAa,CAAC5D,iBAAiB,CAACK,SAAS,CAAC,CAAC,CAAC,CAACa,EAAE,CAAC;UAClF4B,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAAC/B,IAAI,CAAC,CAACiD,aAAa,CAAC,OAAO,CAAC;UAC1Dd,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACmB,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAS,SAAA,CAAAN,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CAC1D,GAAC;EAEFzB,EAAE,CAAC,kFAAkF,mBAAAK,kBAAA,CAAAvD,OAAA,eAAAwD,YAAA,CAAAxD,OAAA,CAAAyD,IAAA,CAAE,SAAAoB,SAAA;IAAA,IAAAlB,aAAA,EAAAC,MAAA;IAAA,OAAAJ,YAAA,CAAAxD,OAAA,CAAA6D,IAAA,WAAAiB,SAAA;MAAA,kBAAAA,SAAA,CAAAf,IAAA,GAAAe,SAAA,CAAAd,IAAA;QAAA;UAC/EL,aAAa,GAAG;YACpB,gCAAgC,EAC9B,sGAAsG;YACxG,qBAAqB,EAAE,+CAA+C;YACtEM,IAAI,EAAE;UACR,CAAC;UAEDhB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAuB;UAC3CW,MAAM,GAAGX,QAAQ,CAACiB,kBAAkB,CAACP,aAAa,CAAC;UAEzD;UACAN,MAAM,CAACO,MAAM,CAAC1C,IAAI,CAAC,CAACiD,aAAa,CAAC,YAAY,CAAC;UAC/Cd,MAAM,CAACO,MAAM,CAACQ,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;UAACW,SAAA,CAAAd,IAAA;UAAA,OACnCnE,YAAY,CAAC,EAAE,CAAC;QAAA;UAEtB;UACAwD,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACoB,SAAS,CAAC,CAACU,SAAS,CAAC,CAAC;UACpD1B,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACxB,EAAE,CAAC,CAACsD,SAAS,CAAC,CAAC;UAC7C1B,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAAC/B,IAAI,CAAC,CAACiD,aAAa,CAAC,YAAY,CAAC;UAC/Dd,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACmB,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAW,SAAA,CAAAR,IAAA;MAAA;IAAA,GAAAO,QAAA;EAAA,CAC1D,GAAC;EAEF3B,EAAE,CAAC,qFAAqF,mBAAAK,kBAAA,CAAAvD,OAAA,eAAAwD,YAAA,CAAAxD,OAAA,CAAAyD,IAAA,CAAE,SAAAuB,SAAA;IAAA,IAAArB,aAAA,EAAAsB,OAAA,EAAArB,MAAA;IAAA,OAAAJ,YAAA,CAAAxD,OAAA,CAAA6D,IAAA,WAAAqB,SAAA;MAAA,kBAAAA,SAAA,CAAAnB,IAAA,GAAAmB,SAAA,CAAAlB,IAAA;QAAA;UAClFL,aAAa,GAAG;YACpB,gCAAgC,EAC9B,qJAAqJ;YACvJ,qBAAqB,EAAE,+CAA+C;YACtEM,IAAI,EAAE;UACR,CAAC;UAED9D,KAAK,CAAC0C,OAAO,CAACsC,iBAAiB,CAAC;YAC9BpC,UAAU,EAAE,GAAG;YACfC,IAAI,EAAEzC;UACR,CAAC,CAAC;UAEI0E,OAAO,GAAGG,IAAI,CAACC,KAAK,CAACjC,eAAG,EAAE,MAAM,CAAC;UACjCQ,MAAM,GAAGX,QAAQ,CAACiB,kBAAkB,CAACP,aAAa,CAAC;UAEzD;UACAN,MAAM,CAACO,MAAM,CAAC1C,IAAI,CAAC,CAACiD,aAAa,CAAC,YAAY,CAAC;UAC/Cd,MAAM,CAACO,MAAM,CAACQ,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;UAACe,SAAA,CAAAlB,IAAA;UAAA,OACnCnE,YAAY,CAAC,EAAE,CAAC;QAAA;UAEtBwD,MAAM,CAAC4B,OAAO,CAAC,CAACK,oBAAoB,CAAC,uBAAuB,EAAE;YAC5DC,IAAI,EAAEC,qBAAU;YAChBC,MAAM,EAAE;UACV,CAAC,CAAC;;UAEF;UACApC,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACoB,SAAS,CAAC,CAACqB,IAAI,CAACC,SAAS,CAAC;UACxDtC,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACxB,EAAE,CAAC,CAACiE,IAAI,CAACC,SAAS,CAAC;UACjDtC,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAAC/B,IAAI,CAAC,CAACiD,aAAa,CAAC,YAAY,CAAC;UAC/Dd,MAAM,CAACJ,QAAQ,CAAC,YAAY,CAAC,CAACmB,GAAG,CAAC,CAACD,aAAa,CAAC,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAe,SAAA,CAAAZ,IAAA;MAAA;IAAA,GAAAU,QAAA;EAAA,CAC1D,GAAC;AACJ,CAAC,CAAC","ignoreList":[]}