@wppconnect/server 1.8.4 → 2.0.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 (92) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/config/upload.js +4 -4
  3. package/dist/config.js +78 -0
  4. package/dist/controller/catalogController.js +127 -22
  5. package/dist/controller/deviceController.js +324 -114
  6. package/dist/controller/encryptController.js +4 -2
  7. package/dist/controller/groupController.js +157 -44
  8. package/dist/controller/labelsController.js +46 -8
  9. package/dist/controller/messageController.js +104 -39
  10. package/dist/controller/orderController.js +19 -7
  11. package/dist/controller/sessionController.js +100 -35
  12. package/dist/controller/statusController.js +18 -10
  13. package/dist/index.js +47 -25
  14. package/dist/mapper/index.js +7 -5
  15. package/dist/mapper/tagone-chat.js +1 -1
  16. package/dist/mapper/tagone-device.js +1 -1
  17. package/dist/mapper/tagone-message-document.js +1 -1
  18. package/dist/mapper/tagone-message-image.js +1 -1
  19. package/dist/mapper/tagone-message-location.js +1 -1
  20. package/dist/mapper/tagone-message-video.js +1 -1
  21. package/dist/mapper/tagone-message.js +1 -1
  22. package/dist/mapper/tagone-onack.js +1 -1
  23. package/dist/mapper/tagone-return.js +4 -2
  24. package/dist/middleware/auth.js +29 -9
  25. package/dist/middleware/healthCheck.js +1 -1
  26. package/dist/middleware/statusConnection.js +9 -3
  27. package/dist/routes/index.js +618 -112
  28. package/dist/server.js +2 -2
  29. package/dist/swagger.json +76 -0
  30. package/dist/types/Request.js +2 -0
  31. package/dist/types/ServerOptions.js +2 -0
  32. package/dist/types/WhatsAppServer.js +2 -0
  33. package/dist/util/chatWootClient.js +55 -22
  34. package/dist/util/createSessionUtil.js +65 -17
  35. package/dist/util/db/mongodb/db.js +10 -7
  36. package/dist/util/db/redis/db.js +7 -5
  37. package/dist/util/functions.js +81 -37
  38. package/dist/util/getAllTokens.js +1 -1
  39. package/dist/util/logger.js +2 -3
  40. package/dist/util/sessionUtil.js +5 -4
  41. package/dist/util/tokenStore/FileTokenStore/FileTokenStore.js +178 -0
  42. package/dist/util/tokenStore/factory.js +8 -11
  43. package/dist/util/tokenStore/fileTokenStory.js +21 -15
  44. package/dist/util/tokenStore/firebaseTokenStory.js +1 -1
  45. package/dist/util/tokenStore/model/token.js +7 -5
  46. package/dist/util/tokenStore/mongodbTokenStory.js +18 -11
  47. package/dist/util/tokenStore/redisTokenStory.js +39 -19
  48. package/dist/util/tokenStore/types.js +2 -0
  49. package/package.json +50 -28
  50. package/tsconfig.json +105 -0
  51. package/types.d.ts +2 -0
  52. package/dist/config/upload.js.map +0 -1
  53. package/dist/config.json +0 -77
  54. package/dist/controller/catalogController.js.map +0 -1
  55. package/dist/controller/deviceController.js.map +0 -1
  56. package/dist/controller/encryptController.js.map +0 -1
  57. package/dist/controller/groupController.js.map +0 -1
  58. package/dist/controller/labelsController.js.map +0 -1
  59. package/dist/controller/messageController.js.map +0 -1
  60. package/dist/controller/orderController.js.map +0 -1
  61. package/dist/controller/sessionController.js.map +0 -1
  62. package/dist/controller/statusController.js.map +0 -1
  63. package/dist/index.js.map +0 -1
  64. package/dist/mapper/index.js.map +0 -1
  65. package/dist/mapper/tagone-chat.js.map +0 -1
  66. package/dist/mapper/tagone-device.js.map +0 -1
  67. package/dist/mapper/tagone-message-document.js.map +0 -1
  68. package/dist/mapper/tagone-message-image.js.map +0 -1
  69. package/dist/mapper/tagone-message-location.js.map +0 -1
  70. package/dist/mapper/tagone-message-video.js.map +0 -1
  71. package/dist/mapper/tagone-message.js.map +0 -1
  72. package/dist/mapper/tagone-onack.js.map +0 -1
  73. package/dist/mapper/tagone-return.js.map +0 -1
  74. package/dist/middleware/auth.js.map +0 -1
  75. package/dist/middleware/healthCheck.js.map +0 -1
  76. package/dist/middleware/statusConnection.js.map +0 -1
  77. package/dist/routes/index.js.map +0 -1
  78. package/dist/server.js.map +0 -1
  79. package/dist/util/chatWootClient.js.map +0 -1
  80. package/dist/util/createSessionUtil.js.map +0 -1
  81. package/dist/util/db/mongodb/db.js.map +0 -1
  82. package/dist/util/db/redis/db.js.map +0 -1
  83. package/dist/util/functions.js.map +0 -1
  84. package/dist/util/getAllTokens.js.map +0 -1
  85. package/dist/util/logger.js.map +0 -1
  86. package/dist/util/sessionUtil.js.map +0 -1
  87. package/dist/util/tokenStore/factory.js.map +0 -1
  88. package/dist/util/tokenStore/fileTokenStory.js.map +0 -1
  89. package/dist/util/tokenStore/firebaseTokenStory.js.map +0 -1
  90. package/dist/util/tokenStore/model/token.js.map +0 -1
  91. package/dist/util/tokenStore/mongodbTokenStory.js.map +0 -1
  92. package/dist/util/tokenStore/redisTokenStory.js.map +0 -1
@@ -27,7 +27,9 @@ var _bcrypt = _interopRequireDefault(require("bcrypt")); /*
27
27
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28
28
  * See the License for the specific language governing permissions and
29
29
  * limitations under the License.
30
- */const saltRounds = 10;async function encryptSession(req, res) {const { session, secretkey } = req.params;const { authorization: token } = req.headers;const secureTokenEnv = req.serverOptions.secretKey;let tokenDecrypt = '';if (secretkey === undefined) {tokenDecrypt = token.split(' ')[0];} else {tokenDecrypt = secretkey;
30
+ */const saltRounds = 10;async function encryptSession(req, res) {const { session, secretkey } = req.params;const { authorization: token } = req.headers;const secureTokenEnv = req.serverOptions.secretKey;let tokenDecrypt = '';if (secretkey === undefined) {tokenDecrypt = token.split(' ')[0];
31
+ } else {
32
+ tokenDecrypt = secretkey;
31
33
  }
32
34
 
33
35
  if (tokenDecrypt !== secureTokenEnv) {
@@ -49,4 +51,4 @@ var _bcrypt = _interopRequireDefault(require("bcrypt")); /*
49
51
  });
50
52
  });
51
53
  }
52
- //# sourceMappingURL=encryptController.js.map
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmNyeXB0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJzYWx0Um91bmRzIiwiZW5jcnlwdFNlc3Npb24iLCJyZXEiLCJyZXMiLCJzZXNzaW9uIiwic2VjcmV0a2V5IiwicGFyYW1zIiwiYXV0aG9yaXphdGlvbiIsInRva2VuIiwiaGVhZGVycyIsInNlY3VyZVRva2VuRW52Iiwic2VydmVyT3B0aW9ucyIsInNlY3JldEtleSIsInRva2VuRGVjcnlwdCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic3RhdHVzIiwianNvbiIsInJlc3BvbnNlIiwibWVzc2FnZSIsImJjcnlwdCIsImhhc2giLCJlcnIiLCJoYXNoRm9ybWF0IiwicmVwbGFjZSIsImZ1bGwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9lbmNyeXB0Q29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjEgV1BQQ29ubmVjdCBUZWFtXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgYmNyeXB0IGZyb20gJ2JjcnlwdCc7XG5cbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcy9SZXF1ZXN0JztcblxuY29uc3Qgc2FsdFJvdW5kcyA9IDEwO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdFNlc3Npb24ocmVxOiBSZXF1ZXN0LCByZXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gIGNvbnN0IHsgc2Vzc2lvbiwgc2VjcmV0a2V5IH0gPSByZXEucGFyYW1zO1xuICBjb25zdCB7IGF1dGhvcml6YXRpb246IHRva2VuIH0gPSByZXEuaGVhZGVycztcbiAgY29uc3Qgc2VjdXJlVG9rZW5FbnYgPSByZXEuc2VydmVyT3B0aW9ucy5zZWNyZXRLZXk7XG5cbiAgbGV0IHRva2VuRGVjcnlwdCA9ICcnO1xuXG4gIGlmIChzZWNyZXRrZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIHRva2VuRGVjcnlwdCA9ICh0b2tlbiBhcyBzdHJpbmcpLnNwbGl0KCcgJylbMF07XG4gIH0gZWxzZSB7XG4gICAgdG9rZW5EZWNyeXB0ID0gc2VjcmV0a2V5O1xuICB9XG5cbiAgaWYgKHRva2VuRGVjcnlwdCAhPT0gc2VjdXJlVG9rZW5FbnYpIHtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg0MDApLmpzb24oe1xuICAgICAgcmVzcG9uc2U6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogJ1RoZSBTRUNSRVRfS0VZIGlzIGluY29ycmVjdCcsXG4gICAgfSk7XG4gIH1cblxuICBiY3J5cHQuaGFzaChzZXNzaW9uICsgc2VjdXJlVG9rZW5FbnYsIHNhbHRSb3VuZHMsIGZ1bmN0aW9uIChlcnIsIGhhc2gpIHtcbiAgICBpZiAoZXJyKSByZXR1cm4gcmVzLnN0YXR1cyg1MDApLmpzb24oZXJyKTtcblxuICAgIGNvbnN0IGhhc2hGb3JtYXQgPSBoYXNoLnJlcGxhY2UoL1xcLy9nLCAnXycpLnJlcGxhY2UoL1xcKy9nLCAnLScpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDIwMSkuanNvbih7XG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIHNlc3Npb246IHNlc3Npb24sXG4gICAgICB0b2tlbjogaGFzaEZvcm1hdCxcbiAgICAgIGZ1bGw6IGAke3Nlc3Npb259OiR7aGFzaEZvcm1hdH1gLFxuICAgIH0pO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBLFlBQTRCLENBZjVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUtBLE1BQU1DLFVBQVUsR0FBRyxFQUFFLENBRWQsZUFBZUMsY0FBY0EsQ0FBQ0MsR0FBWSxFQUFFQyxHQUFRLEVBQWdCLENBQ3pFLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxTQUFTLENBQUMsQ0FBQyxHQUFHSCxHQUFHLENBQUNJLE1BQU0sQ0FDekMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLEtBQUssQ0FBQyxDQUFDLEdBQUdOLEdBQUcsQ0FBQ08sT0FBTyxDQUM1QyxNQUFNQyxjQUFjLEdBQUdSLEdBQUcsQ0FBQ1MsYUFBYSxDQUFDQyxTQUFTLENBRWxELElBQUlDLFlBQVksR0FBRyxFQUFFLENBRXJCLElBQUlSLFNBQVMsS0FBS1MsU0FBUyxFQUFFLENBQzNCRCxZQUFZLEdBQUlMLEtBQUssQ0FBWU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNoRCxDQUFDLE1BQU07SUFDTEYsWUFBWSxHQUFHUixTQUFTO0VBQzFCOztFQUVBLElBQUlRLFlBQVksS0FBS0gsY0FBYyxFQUFFO0lBQ25DLE9BQU9QLEdBQUcsQ0FBQ2EsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJDLFFBQVEsRUFBRSxLQUFLO01BQ2ZDLE9BQU8sRUFBRTtJQUNYLENBQUMsQ0FBQztFQUNKOztFQUVBQyxlQUFNLENBQUNDLElBQUksQ0FBQ2pCLE9BQU8sR0FBR00sY0FBYyxFQUFFVixVQUFVLEVBQUUsVUFBVXNCLEdBQUcsRUFBRUQsSUFBSSxFQUFFO0lBQ3JFLElBQUlDLEdBQUcsRUFBRSxPQUFPbkIsR0FBRyxDQUFDYSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQ0ssR0FBRyxDQUFDOztJQUV6QyxNQUFNQyxVQUFVLEdBQUdGLElBQUksQ0FBQ0csT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQ0EsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7SUFDL0QsT0FBT3JCLEdBQUcsQ0FBQ2EsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCWixPQUFPLEVBQUVBLE9BQU87TUFDaEJJLEtBQUssRUFBRWUsVUFBVTtNQUNqQkUsSUFBSSxFQUFHLEdBQUVyQixPQUFRLElBQUdtQixVQUFXO0lBQ2pDLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKIn0=
@@ -13,6 +13,7 @@
13
13
 
14
14
 
15
15
 
16
+
16
17
  var _functions = require("../util/functions"); /*
17
18
  * Copyright 2021 WPPConnect Team
18
19
  *
@@ -27,21 +28,33 @@ var _functions = require("../util/functions"); /*
27
28
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28
29
  * See the License for the specific language governing permissions and
29
30
  * limitations under the License.
30
- */async function getAllGroups(req, res) {try {const response = await req.client.getAllGroups();return res.status(200).json({ status: 'success', response: response });} catch (e) {req.logger.error(e);res.status(500).json({ status: 'error', message: 'Error fetching groups', error: e });}}async function joinGroupByCode(req, res) {const { inviteCode } = req.body;
31
+ */async function getAllGroups(req, res) {try {const response = await req.client.getAllGroups();return res.status(200).json({ status: 'success', response: response });} catch (e) {req.logger.error(e);res.status(500).
32
+ json({ status: 'error', message: 'Error fetching groups', error: e });
33
+ }
34
+ }
31
35
 
32
- if (!inviteCode) return res.status(400).send({ message: 'Invitation Code is required' });
36
+ async function joinGroupByCode(req, res) {
37
+ const { inviteCode } = req.body;
38
+
39
+ if (!inviteCode)
40
+ return res.status(400).send({ message: 'Invitation Code is required' });
33
41
 
34
42
  try {
35
43
  await req.client.joinGroup(inviteCode);
36
44
  res.status(201).json({
37
45
  status: 'success',
38
- response: { message: 'The informed contact(s) entered the group successfully', contact: inviteCode }
46
+ response: {
47
+ message: 'The informed contact(s) entered the group successfully',
48
+ contact: inviteCode
49
+ }
39
50
  });
40
51
  } catch (error) {
41
52
  req.logger.error(error);
42
- res.
43
- status(500).
44
- json({ status: 'error', message: 'The informed contact(s) did not join the group successfully', error: error });
53
+ res.status(500).json({
54
+ status: 'error',
55
+ message: 'The informed contact(s) did not join the group successfully',
56
+ error: error
57
+ });
45
58
  }
46
59
  }
47
60
 
@@ -50,10 +63,13 @@ async function createGroup(req, res) {
50
63
 
51
64
  try {
52
65
  let response = {};
53
- let infoGroup = [];
66
+ const infoGroup = [];
54
67
 
55
68
  for (const group of (0, _functions.groupNameToArray)(name)) {
56
- response = await req.client.createGroup(group, (0, _functions.contactToArray)(participants));
69
+ response = await req.client.createGroup(
70
+ group,
71
+ (0, _functions.contactToArray)(participants));
72
+
57
73
  infoGroup.push({
58
74
  name: group,
59
75
  id: response.gid.user,
@@ -63,11 +79,17 @@ async function createGroup(req, res) {
63
79
 
64
80
  return res.status(201).json({
65
81
  status: 'success',
66
- response: { message: 'Group(s) created successfully', group: name, groupInfo: infoGroup }
82
+ response: {
83
+ message: 'Group(s) created successfully',
84
+ group: name,
85
+ groupInfo: infoGroup
86
+ }
67
87
  });
68
88
  } catch (e) {
69
89
  req.logger.error(e);
70
- return res.status(500).json({ status: 'error', message: 'Error creating group(s)', error: e });
90
+ return res.
91
+ status(500).
92
+ json({ status: 'error', message: 'Error creating group(s)', error: e });
71
93
  }
72
94
  }
73
95
 
@@ -85,7 +107,11 @@ async function leaveGroup(req, res) {
85
107
  });
86
108
  } catch (e) {
87
109
  req.logger.error(e);
88
- return res.status(500).json({ status: 'error', message: 'Erro ao sair do(s) grupo(s)', error: e });
110
+ return res.status(500).json({
111
+ status: 'error',
112
+ message: 'Erro ao sair do(s) grupo(s)',
113
+ error: e
114
+ });
89
115
  }
90
116
  }
91
117
 
@@ -100,7 +126,11 @@ async function getGroupMembers(req, res) {
100
126
  return res.status(200).json({ status: 'success', response: response });
101
127
  } catch (e) {
102
128
  req.logger.error(e);
103
- return res.status(500).json({ status: 'error', message: 'Error on get group members', error: e });
129
+ return res.status(500).json({
130
+ status: 'error',
131
+ message: 'Error on get group members',
132
+ error: e
133
+ });
104
134
  }
105
135
  }
106
136
 
@@ -109,7 +139,7 @@ async function addParticipant(req, res) {
109
139
 
110
140
  try {
111
141
  let response = {};
112
- let arrayGroups = [];
142
+ const arrayGroups = [];
113
143
 
114
144
  for (const group of (0, _functions.groupToArray)(groupId)) {
115
145
  response = await req.client.addParticipant(group, (0, _functions.contactToArray)(phone));
@@ -127,7 +157,11 @@ async function addParticipant(req, res) {
127
157
  });
128
158
  } catch (e) {
129
159
  req.logger.error(e);
130
- return res.status(500).json({ status: 'error', message: 'Error adding participant(s)', error: e });
160
+ return res.status(500).json({
161
+ status: 'error',
162
+ message: 'Error adding participant(s)',
163
+ error: e
164
+ });
131
165
  }
132
166
  }
133
167
 
@@ -136,20 +170,31 @@ async function removeParticipant(req, res) {
136
170
 
137
171
  try {
138
172
  let response = {};
139
- let arrayGroups = [];
173
+ const arrayGroups = [];
140
174
 
141
175
  for (const group of (0, _functions.groupToArray)(groupId)) {
142
- response = await req.client.removeParticipant(group, (0, _functions.contactToArray)(phone));
176
+ response = await req.client.removeParticipant(
177
+ group,
178
+ (0, _functions.contactToArray)(phone));
179
+
143
180
  arrayGroups.push(response);
144
181
  }
145
182
 
146
183
  return res.status(200).json({
147
184
  status: 'success',
148
- response: { message: 'Participant(s) removed successfully', participants: phone, groups: arrayGroups }
185
+ response: {
186
+ message: 'Participant(s) removed successfully',
187
+ participants: phone,
188
+ groups: arrayGroups
189
+ }
149
190
  });
150
191
  } catch (e) {
151
192
  req.logger.error(e);
152
- return res.status(500).json({ status: 'error', message: 'Error removing participant(s)', error: e });
193
+ return res.status(500).json({
194
+ status: 'error',
195
+ message: 'Error removing participant(s)',
196
+ error: e
197
+ });
153
198
  }
154
199
  }
155
200
 
@@ -157,7 +202,7 @@ async function promoteParticipant(req, res) {
157
202
  const { groupId, phone } = req.body;
158
203
 
159
204
  try {
160
- let arrayGroups = [];
205
+ const arrayGroups = [];
161
206
  for (const group of (0, _functions.groupToArray)(groupId)) {
162
207
  await req.client.promoteParticipant(group, (0, _functions.contactToArray)(phone));
163
208
  arrayGroups.push(group);
@@ -165,11 +210,19 @@ async function promoteParticipant(req, res) {
165
210
 
166
211
  return res.status(201).json({
167
212
  status: 'success',
168
- response: { message: 'Successful promoted participant(s)', participants: phone, groups: arrayGroups }
213
+ response: {
214
+ message: 'Successful promoted participant(s)',
215
+ participants: phone,
216
+ groups: arrayGroups
217
+ }
169
218
  });
170
219
  } catch (e) {
171
220
  req.logger.error(e);
172
- return res.status(500).json({ status: 'error', message: 'Error promoting participant(s)', error: e });
221
+ return res.status(500).json({
222
+ status: 'error',
223
+ message: 'Error promoting participant(s)',
224
+ error: e
225
+ });
173
226
  }
174
227
  }
175
228
 
@@ -177,7 +230,7 @@ async function demoteParticipant(req, res) {
177
230
  const { groupId, phone } = req.body;
178
231
 
179
232
  try {
180
- let arrayGroups = [];
233
+ const arrayGroups = [];
181
234
  for (const group of (0, _functions.groupToArray)(groupId)) {
182
235
  await req.client.demoteParticipant(group, (0, _functions.contactToArray)(phone));
183
236
  arrayGroups.push(group);
@@ -185,11 +238,19 @@ async function demoteParticipant(req, res) {
185
238
 
186
239
  return res.status(201).json({
187
240
  status: 'success',
188
- response: { message: 'Admin of participant(s) revoked successfully', participants: phone, groups: arrayGroups }
241
+ response: {
242
+ message: 'Admin of participant(s) revoked successfully',
243
+ participants: phone,
244
+ groups: arrayGroups
245
+ }
189
246
  });
190
247
  } catch (e) {
191
248
  req.logger.error(e);
192
- return res.status(500).json({ status: 'error', message: "Error revoking participant's admin(s)", error: e });
249
+ return res.status(500).json({
250
+ status: 'error',
251
+ message: "Error revoking participant's admin(s)",
252
+ error: e
253
+ });
193
254
  }
194
255
  }
195
256
 
@@ -198,7 +259,7 @@ async function getGroupAdmins(req, res) {
198
259
 
199
260
  try {
200
261
  let response = {};
201
- let arrayGroups = [];
262
+ const arrayGroups = [];
202
263
 
203
264
  for (const group of (0, _functions.groupToArray)(groupId)) {
204
265
  response = await req.client.getGroupAdmins(group);
@@ -208,7 +269,11 @@ async function getGroupAdmins(req, res) {
208
269
  return res.status(200).json({ status: 'success', response: arrayGroups });
209
270
  } catch (e) {
210
271
  req.logger.error(e);
211
- return res.status(500).json({ status: 'error', message: 'Error retrieving group admin(s)', error: e });
272
+ return res.status(500).json({
273
+ status: 'error',
274
+ message: 'Error retrieving group admin(s)',
275
+ error: e
276
+ });
212
277
  }
213
278
  }
214
279
 
@@ -223,7 +288,11 @@ async function getGroupInviteLink(req, res) {
223
288
  return res.status(200).json({ status: 'success', response: response });
224
289
  } catch (e) {
225
290
  req.logger.error(e);
226
- return res.status(500).json({ status: 'error', message: 'Error on get group invite link', error: e });
291
+ return res.status(500).json({
292
+ status: 'error',
293
+ message: 'Error on get group invite link',
294
+ error: e
295
+ });
227
296
  }
228
297
  }
229
298
 
@@ -243,28 +312,40 @@ async function revokeGroupInviteLink(req, res) {
243
312
  });
244
313
  } catch (e) {
245
314
  req.logger.error(e);
246
- return res.status(400).json({ status: 'error', message: 'Error on revoke group invite link', error: e });
315
+ return res.status(400).json({
316
+ status: 'error',
317
+ message: 'Error on revoke group invite link',
318
+ error: e
319
+ });
247
320
  }
248
321
  }
249
322
 
250
323
  async function getAllBroadcastList(req, res) {
251
324
  try {
252
- let response = await req.client.getAllBroadcastList();
325
+ const response = await req.client.getAllBroadcastList();
253
326
  return res.status(200).json({ status: 'success', response: response });
254
327
  } catch (e) {
255
328
  req.logger.error(e);
256
- return res.status(500).json({ status: 'error', message: 'Error on get all broad cast list', error: e });
329
+ return res.status(500).json({
330
+ status: 'error',
331
+ message: 'Error on get all broad cast list',
332
+ error: e
333
+ });
257
334
  }
258
335
  }
259
336
 
260
337
  async function getGroupInfoFromInviteLink(req, res) {
261
338
  try {
262
339
  const { invitecode } = req.body;
263
- let response = await req.client.getGroupInfoFromInviteLink(invitecode);
340
+ const response = await req.client.getGroupInfoFromInviteLink(invitecode);
264
341
  return res.status(200).json({ status: 'success', response: response });
265
342
  } catch (e) {
266
343
  req.logger.error(e);
267
- return res.status(500).json({ status: 'error', message: 'Error on get group info from invite link', error: e });
344
+ return res.status(500).json({
345
+ status: 'error',
346
+ message: 'Error on get group info from invite link',
347
+ error: e
348
+ });
268
349
  }
269
350
  }
270
351
 
@@ -278,7 +359,11 @@ async function getGroupMembersIds(req, res) {
278
359
  return res.status(200).json({ status: 'success', response: response });
279
360
  } catch (e) {
280
361
  req.logger.error(e);
281
- return res.status(500).json({ status: 'error', message: 'Error on get group members ids', error: e });
362
+ return res.status(500).json({
363
+ status: 'error',
364
+ message: 'Error on get group members ids',
365
+ error: e
366
+ });
282
367
  }
283
368
  }
284
369
 
@@ -295,7 +380,11 @@ async function setGroupDescription(req, res) {
295
380
  return res.status(200).json({ status: 'success', response: response });
296
381
  } catch (e) {
297
382
  req.logger.error(e);
298
- return res.status(500).json({ status: 'error', message: 'Error on set group description', error: e });
383
+ return res.status(500).json({
384
+ status: 'error',
385
+ message: 'Error on set group description',
386
+ error: e
387
+ });
299
388
  }
300
389
  }
301
390
 
@@ -312,7 +401,11 @@ async function setGroupProperty(req, res) {
312
401
  return res.status(200).json({ status: 'success', response: response });
313
402
  } catch (e) {
314
403
  req.logger.error(e);
315
- return res.status(500).json({ status: 'error', message: 'Error on set group property', error: e });
404
+ return res.status(500).json({
405
+ status: 'error',
406
+ message: 'Error on set group property',
407
+ error: e
408
+ });
316
409
  }
317
410
  }
318
411
 
@@ -329,7 +422,11 @@ async function setGroupSubject(req, res) {
329
422
  return res.status(200).json({ status: 'success', response: response });
330
423
  } catch (e) {
331
424
  req.logger.error(e);
332
- return res.status(500).json({ status: 'error', message: 'Error on set group subject', error: e });
425
+ return res.status(500).json({
426
+ status: 'error',
427
+ message: 'Error on set group subject',
428
+ error: e
429
+ });
333
430
  }
334
431
  }
335
432
 
@@ -346,7 +443,11 @@ async function setMessagesAdminsOnly(req, res) {
346
443
  return res.status(200).json({ status: 'success', response: response });
347
444
  } catch (e) {
348
445
  req.logger.error(e);
349
- return res.status(500).json({ status: 'error', message: 'Error on set messages admins only', error: e });
446
+ return res.status(500).json({
447
+ status: 'error',
448
+ message: 'Error on set messages admins only',
449
+ error: e
450
+ });
350
451
  }
351
452
  }
352
453
 
@@ -358,10 +459,17 @@ async function changePrivacyGroup(req, res) {
358
459
  await req.client.setMessagesAdminsOnly(group, status === 'true');
359
460
  }
360
461
 
361
- return res.status(200).json({ status: 'success', response: { message: 'Group privacy changed successfully' } });
462
+ return res.status(200).json({
463
+ status: 'success',
464
+ response: { message: 'Group privacy changed successfully' }
465
+ });
362
466
  } catch (e) {
363
467
  req.logger.error(e);
364
- return res.status(500).json({ status: 'error', message: 'Error changing group privacy', error: e });
468
+ return res.status(500).json({
469
+ status: 'error',
470
+ message: 'Error changing group privacy',
471
+ error: e
472
+ });
365
473
  }
366
474
  }
367
475
 
@@ -380,12 +488,17 @@ async function setGroupProfilePic(req, res) {
380
488
  await req.client.setGroupIcon(contato, pathFile);
381
489
  }
382
490
 
383
- return res.
384
- status(201).
385
- json({ status: 'success', response: { message: 'Group profile photo successfully changed' } });
491
+ return res.status(201).json({
492
+ status: 'success',
493
+ response: { message: 'Group profile photo successfully changed' }
494
+ });
386
495
  } catch (e) {
387
496
  req.logger.error(e);
388
- return res.status(500).json({ status: 'error', message: 'Error changing group photo', error: e });
497
+ return res.status(500).json({
498
+ status: 'error',
499
+ message: 'Error changing group photo',
500
+ error: e
501
+ });
389
502
  }
390
503
  }
391
- //# sourceMappingURL=groupController.js.map
504
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnVuY3Rpb25zIiwicmVxdWlyZSIsImdldEFsbEdyb3VwcyIsInJlcSIsInJlcyIsInJlc3BvbnNlIiwiY2xpZW50Iiwic3RhdHVzIiwianNvbiIsImUiLCJsb2dnZXIiLCJlcnJvciIsIm1lc3NhZ2UiLCJqb2luR3JvdXBCeUNvZGUiLCJpbnZpdGVDb2RlIiwiYm9keSIsInNlbmQiLCJqb2luR3JvdXAiLCJjb250YWN0IiwiY3JlYXRlR3JvdXAiLCJwYXJ0aWNpcGFudHMiLCJuYW1lIiwiaW5mb0dyb3VwIiwiZ3JvdXAiLCJncm91cE5hbWVUb0FycmF5IiwiY29udGFjdFRvQXJyYXkiLCJwdXNoIiwiaWQiLCJnaWQiLCJ1c2VyIiwiZ3JvdXBJbmZvIiwibGVhdmVHcm91cCIsImdyb3VwSWQiLCJncm91cFRvQXJyYXkiLCJtZXNzYWdlcyIsImdldEdyb3VwTWVtYmVycyIsInBhcmFtcyIsImFkZFBhcnRpY2lwYW50IiwicGhvbmUiLCJhcnJheUdyb3VwcyIsImdyb3VwcyIsInJlc3VsdCIsInJlbW92ZVBhcnRpY2lwYW50IiwicHJvbW90ZVBhcnRpY2lwYW50IiwiZGVtb3RlUGFydGljaXBhbnQiLCJnZXRHcm91cEFkbWlucyIsImdldEdyb3VwSW52aXRlTGluayIsInJldm9rZUdyb3VwSW52aXRlTGluayIsImdldEFsbEJyb2FkY2FzdExpc3QiLCJnZXRHcm91cEluZm9Gcm9tSW52aXRlTGluayIsImludml0ZWNvZGUiLCJnZXRHcm91cE1lbWJlcnNJZHMiLCJzZXRHcm91cERlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJzZXRHcm91cFByb3BlcnR5IiwicHJvcGVydHkiLCJ2YWx1ZSIsInNldEdyb3VwU3ViamVjdCIsInRpdGxlIiwic2V0TWVzc2FnZXNBZG1pbnNPbmx5IiwiY2hhbmdlUHJpdmFjeUdyb3VwIiwic2V0R3JvdXBQcm9maWxlUGljIiwicGF0aCIsImZpbGUiLCJwYXRoRmlsZSIsImNvbnRhdG8iLCJzZXRHcm91cEljb24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9ncm91cENvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIxIFdQUENvbm5lY3QgVGVhbVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzL1JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgY29udGFjdFRvQXJyYXksXG4gIGdyb3VwTmFtZVRvQXJyYXksXG4gIGdyb3VwVG9BcnJheSxcbn0gZnJvbSAnLi4vdXRpbC9mdW5jdGlvbnMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QWxsR3JvdXBzKHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuZ2V0QWxsR3JvdXBzKCk7XG5cbiAgICByZXR1cm4gcmVzLnN0YXR1cygyMDApLmpzb24oeyBzdGF0dXM6ICdzdWNjZXNzJywgcmVzcG9uc2U6IHJlc3BvbnNlIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmVxLmxvZ2dlci5lcnJvcihlKTtcbiAgICByZXNcbiAgICAgIC5zdGF0dXMoNTAwKVxuICAgICAgLmpzb24oeyBzdGF0dXM6ICdlcnJvcicsIG1lc3NhZ2U6ICdFcnJvciBmZXRjaGluZyBncm91cHMnLCBlcnJvcjogZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gam9pbkdyb3VwQnlDb2RlKHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgY29uc3QgeyBpbnZpdGVDb2RlIH0gPSByZXEuYm9keTtcblxuICBpZiAoIWludml0ZUNvZGUpXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNDAwKS5zZW5kKHsgbWVzc2FnZTogJ0ludml0YXRpb24gQ29kZSBpcyByZXF1aXJlZCcgfSk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCByZXEuY2xpZW50LmpvaW5Hcm91cChpbnZpdGVDb2RlKTtcbiAgICByZXMuc3RhdHVzKDIwMSkuanNvbih7XG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgaW5mb3JtZWQgY29udGFjdChzKSBlbnRlcmVkIHRoZSBncm91cCBzdWNjZXNzZnVsbHknLFxuICAgICAgICBjb250YWN0OiBpbnZpdGVDb2RlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnVGhlIGluZm9ybWVkIGNvbnRhY3QocykgZGlkIG5vdCBqb2luIHRoZSBncm91cCBzdWNjZXNzZnVsbHknLFxuICAgICAgZXJyb3I6IGVycm9yLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVHcm91cChyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgcGFydGljaXBhbnRzLCBuYW1lIH0gPSByZXEuYm9keTtcblxuICB0cnkge1xuICAgIGxldCByZXNwb25zZSA9IHt9O1xuICAgIGNvbnN0IGluZm9Hcm91cDogYW55ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3VwTmFtZVRvQXJyYXkobmFtZSkpIHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgcmVxLmNsaWVudC5jcmVhdGVHcm91cChcbiAgICAgICAgZ3JvdXAsXG4gICAgICAgIGNvbnRhY3RUb0FycmF5KHBhcnRpY2lwYW50cylcbiAgICAgICk7XG4gICAgICBpbmZvR3JvdXAucHVzaCh7XG4gICAgICAgIG5hbWU6IGdyb3VwLFxuICAgICAgICBpZDogKHJlc3BvbnNlIGFzIGFueSkuZ2lkLnVzZXIsXG4gICAgICAgIHBhcnRpY2lwYW50czogKHJlc3BvbnNlIGFzIGFueSkucGFydGljaXBhbnRzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAxKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgbWVzc2FnZTogJ0dyb3VwKHMpIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgZ3JvdXA6IG5hbWUsXG4gICAgICAgIGdyb3VwSW5mbzogaW5mb0dyb3VwLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlc1xuICAgICAgLnN0YXR1cyg1MDApXG4gICAgICAuanNvbih7IHN0YXR1czogJ2Vycm9yJywgbWVzc2FnZTogJ0Vycm9yIGNyZWF0aW5nIGdyb3VwKHMpJywgZXJyb3I6IGUgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxlYXZlR3JvdXAocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGdyb3VwSWQgfSA9IHJlcS5ib2R5O1xuXG4gIHRyeSB7XG4gICAgZm9yIChjb25zdCBncm91cCBvZiBncm91cFRvQXJyYXkoZ3JvdXBJZCkpIHtcbiAgICAgIGF3YWl0IHJlcS5jbGllbnQubGVhdmVHcm91cChncm91cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHsgbWVzc2FnZXM6ICdWb2PDqiBzYWl1IGRvIGdydXBvIGNvbSBzdWNlc3NvJywgZ3JvdXA6IGdyb3VwSWQgfSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvIGFvIHNhaXIgZG8ocykgZ3J1cG8ocyknLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEdyb3VwTWVtYmVycyhyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgZ3JvdXBJZCB9ID0gcmVxLnBhcmFtcztcblxuICB0cnkge1xuICAgIGxldCByZXNwb25zZSA9IHt9O1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuZ2V0R3JvdXBNZW1iZXJzKGdyb3VwKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiByZXNwb25zZSB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBvbiBnZXQgZ3JvdXAgbWVtYmVycycsXG4gICAgICBlcnJvcjogZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkUGFydGljaXBhbnQocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGdyb3VwSWQsIHBob25lIH0gPSByZXEuYm9keTtcblxuICB0cnkge1xuICAgIGxldCByZXNwb25zZSA9IHt9O1xuICAgIGNvbnN0IGFycmF5R3JvdXBzOiBhbnkgPSBbXTtcblxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuYWRkUGFydGljaXBhbnQoZ3JvdXAsIGNvbnRhY3RUb0FycmF5KHBob25lKSk7XG4gICAgICBhcnJheUdyb3Vwcy5wdXNoKHJlc3BvbnNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzLnN0YXR1cygyMDEpLmpzb24oe1xuICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICByZXNwb25zZToge1xuICAgICAgICBtZXNzYWdlOiAnQWRkaXRpb24gdG8gZ3JvdXAgYXR0ZW1wdGVkLicsXG4gICAgICAgIHBhcnRpY2lwYW50czogcGhvbmUsXG4gICAgICAgIGdyb3VwczogZ3JvdXBUb0FycmF5KGdyb3VwSWQpLFxuICAgICAgICByZXN1bHQ6IGFycmF5R3JvdXBzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBhZGRpbmcgcGFydGljaXBhbnQocyknLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbW92ZVBhcnRpY2lwYW50KHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgY29uc3QgeyBncm91cElkLCBwaG9uZSB9ID0gcmVxLmJvZHk7XG5cbiAgdHJ5IHtcbiAgICBsZXQgcmVzcG9uc2UgPSB7fTtcbiAgICBjb25zdCBhcnJheUdyb3VwczogYW55ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3VwVG9BcnJheShncm91cElkKSkge1xuICAgICAgcmVzcG9uc2UgPSBhd2FpdCByZXEuY2xpZW50LnJlbW92ZVBhcnRpY2lwYW50KFxuICAgICAgICBncm91cCxcbiAgICAgICAgY29udGFjdFRvQXJyYXkocGhvbmUpXG4gICAgICApO1xuICAgICAgYXJyYXlHcm91cHMucHVzaChyZXNwb25zZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgbWVzc2FnZTogJ1BhcnRpY2lwYW50KHMpIHJlbW92ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgcGFydGljaXBhbnRzOiBwaG9uZSxcbiAgICAgICAgZ3JvdXBzOiBhcnJheUdyb3VwcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3IgcmVtb3ZpbmcgcGFydGljaXBhbnQocyknLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21vdGVQYXJ0aWNpcGFudChyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgZ3JvdXBJZCwgcGhvbmUgfSA9IHJlcS5ib2R5O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgYXJyYXlHcm91cHM6IGFueSA9IFtdO1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICBhd2FpdCByZXEuY2xpZW50LnByb21vdGVQYXJ0aWNpcGFudChncm91cCwgY29udGFjdFRvQXJyYXkocGhvbmUpKTtcbiAgICAgIGFycmF5R3JvdXBzLnB1c2goZ3JvdXApO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuc3RhdHVzKDIwMSkuanNvbih7XG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgIG1lc3NhZ2U6ICdTdWNjZXNzZnVsIHByb21vdGVkIHBhcnRpY2lwYW50KHMpJyxcbiAgICAgICAgcGFydGljaXBhbnRzOiBwaG9uZSxcbiAgICAgICAgZ3JvdXBzOiBhcnJheUdyb3VwcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3IgcHJvbW90aW5nIHBhcnRpY2lwYW50KHMpJyxcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZW1vdGVQYXJ0aWNpcGFudChyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgZ3JvdXBJZCwgcGhvbmUgfSA9IHJlcS5ib2R5O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgYXJyYXlHcm91cHM6IGFueSA9IFtdO1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICBhd2FpdCByZXEuY2xpZW50LmRlbW90ZVBhcnRpY2lwYW50KGdyb3VwLCBjb250YWN0VG9BcnJheShwaG9uZSkpO1xuICAgICAgYXJyYXlHcm91cHMucHVzaChncm91cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAxKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgbWVzc2FnZTogJ0FkbWluIG9mIHBhcnRpY2lwYW50KHMpIHJldm9rZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgcGFydGljaXBhbnRzOiBwaG9uZSxcbiAgICAgICAgZ3JvdXBzOiBhcnJheUdyb3VwcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiBcIkVycm9yIHJldm9raW5nIHBhcnRpY2lwYW50J3MgYWRtaW4ocylcIixcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRHcm91cEFkbWlucyhyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgZ3JvdXBJZCB9ID0gcmVxLnBhcmFtcztcblxuICB0cnkge1xuICAgIGxldCByZXNwb25zZSA9IHt9O1xuICAgIGNvbnN0IGFycmF5R3JvdXBzOiBhbnkgPSBbXTtcblxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuZ2V0R3JvdXBBZG1pbnMoZ3JvdXApO1xuICAgICAgYXJyYXlHcm91cHMucHVzaChyZXNwb25zZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiBhcnJheUdyb3VwcyB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciByZXRyaWV2aW5nIGdyb3VwIGFkbWluKHMpJyxcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRHcm91cEludml0ZUxpbmsocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGdyb3VwSWQgfSA9IHJlcS5wYXJhbXM7XG4gIHRyeSB7XG4gICAgbGV0IHJlc3BvbnNlID0ge307XG4gICAgZm9yIChjb25zdCBncm91cCBvZiBncm91cFRvQXJyYXkoZ3JvdXBJZCkpIHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgcmVxLmNsaWVudC5nZXRHcm91cEludml0ZUxpbmsoZ3JvdXApO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuc3RhdHVzKDIwMCkuanNvbih7IHN0YXR1czogJ3N1Y2Nlc3MnLCByZXNwb25zZTogcmVzcG9uc2UgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3Igb24gZ2V0IGdyb3VwIGludml0ZSBsaW5rJyxcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXZva2VHcm91cEludml0ZUxpbmsocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGdyb3VwSWQgfSA9IHJlcS5wYXJhbXM7XG5cbiAgbGV0IHJlc3BvbnNlID0ge307XG5cbiAgdHJ5IHtcbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3VwVG9BcnJheShncm91cElkKSkge1xuICAgICAgcmVzcG9uc2UgPSBhd2FpdCByZXEuY2xpZW50LnJldm9rZUdyb3VwSW52aXRlTGluayhncm91cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ1N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHJlc3BvbnNlLFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmVxLmxvZ2dlci5lcnJvcihlKTtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg0MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgbWVzc2FnZTogJ0Vycm9yIG9uIHJldm9rZSBncm91cCBpbnZpdGUgbGluaycsXG4gICAgICBlcnJvcjogZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QWxsQnJvYWRjYXN0TGlzdChyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXEuY2xpZW50LmdldEFsbEJyb2FkY2FzdExpc3QoKTtcbiAgICByZXR1cm4gcmVzLnN0YXR1cygyMDApLmpzb24oeyBzdGF0dXM6ICdzdWNjZXNzJywgcmVzcG9uc2U6IHJlc3BvbnNlIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmVxLmxvZ2dlci5lcnJvcihlKTtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgbWVzc2FnZTogJ0Vycm9yIG9uIGdldCBhbGwgYnJvYWQgY2FzdCBsaXN0JyxcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRHcm91cEluZm9Gcm9tSW52aXRlTGluayhyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIHRyeSB7XG4gICAgY29uc3QgeyBpbnZpdGVjb2RlIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuZ2V0R3JvdXBJbmZvRnJvbUludml0ZUxpbmsoaW52aXRlY29kZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiByZXNwb25zZSB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBvbiBnZXQgZ3JvdXAgaW5mbyBmcm9tIGludml0ZSBsaW5rJyxcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRHcm91cE1lbWJlcnNJZHMocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGdyb3VwSWQgfSA9IHJlcS5wYXJhbXM7XG4gIGxldCByZXNwb25zZSA9IHt9O1xuICB0cnkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuZ2V0R3JvdXBNZW1iZXJzSWRzKGdyb3VwKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiByZXNwb25zZSB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBvbiBnZXQgZ3JvdXAgbWVtYmVycyBpZHMnLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldEdyb3VwRGVzY3JpcHRpb24ocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGdyb3VwSWQsIGRlc2NyaXB0aW9uIH0gPSByZXEuYm9keTtcblxuICBsZXQgcmVzcG9uc2UgPSB7fTtcblxuICB0cnkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuc2V0R3JvdXBEZXNjcmlwdGlvbihncm91cCwgZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuc3RhdHVzKDIwMCkuanNvbih7IHN0YXR1czogJ3N1Y2Nlc3MnLCByZXNwb25zZTogcmVzcG9uc2UgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3Igb24gc2V0IGdyb3VwIGRlc2NyaXB0aW9uJyxcbiAgICAgIGVycm9yOiBlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRHcm91cFByb3BlcnR5KHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgY29uc3QgeyBncm91cElkLCBwcm9wZXJ0eSwgdmFsdWUgPSB0cnVlIH0gPSByZXEuYm9keTtcblxuICBsZXQgcmVzcG9uc2UgPSB7fTtcblxuICB0cnkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuc2V0R3JvdXBQcm9wZXJ0eShncm91cCwgcHJvcGVydHksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzLnN0YXR1cygyMDApLmpzb24oeyBzdGF0dXM6ICdzdWNjZXNzJywgcmVzcG9uc2U6IHJlc3BvbnNlIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmVxLmxvZ2dlci5lcnJvcihlKTtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgbWVzc2FnZTogJ0Vycm9yIG9uIHNldCBncm91cCBwcm9wZXJ0eScsXG4gICAgICBlcnJvcjogZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0R3JvdXBTdWJqZWN0KHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgY29uc3QgeyBncm91cElkLCB0aXRsZSB9ID0gcmVxLmJvZHk7XG5cbiAgbGV0IHJlc3BvbnNlID0ge307XG5cbiAgdHJ5IHtcbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3VwVG9BcnJheShncm91cElkKSkge1xuICAgICAgcmVzcG9uc2UgPSBhd2FpdCByZXEuY2xpZW50LnNldEdyb3VwU3ViamVjdChncm91cCwgdGl0bGUpO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuc3RhdHVzKDIwMCkuanNvbih7IHN0YXR1czogJ3N1Y2Nlc3MnLCByZXNwb25zZTogcmVzcG9uc2UgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3Igb24gc2V0IGdyb3VwIHN1YmplY3QnLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldE1lc3NhZ2VzQWRtaW5zT25seShyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgZ3JvdXBJZCwgdmFsdWUgPSB0cnVlIH0gPSByZXEuYm9keTtcblxuICBsZXQgcmVzcG9uc2UgPSB7fTtcblxuICB0cnkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBUb0FycmF5KGdyb3VwSWQpKSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJlcS5jbGllbnQuc2V0TWVzc2FnZXNBZG1pbnNPbmx5KGdyb3VwLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiByZXNwb25zZSB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNTAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6ICdFcnJvciBvbiBzZXQgbWVzc2FnZXMgYWRtaW5zIG9ubHknLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoYW5nZVByaXZhY3lHcm91cChyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgZ3JvdXBJZCwgc3RhdHVzIH0gPSByZXEuYm9keTtcblxuICB0cnkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgY29udGFjdFRvQXJyYXkoZ3JvdXBJZCkpIHtcbiAgICAgIGF3YWl0IHJlcS5jbGllbnQuc2V0TWVzc2FnZXNBZG1pbnNPbmx5KGdyb3VwLCBzdGF0dXMgPT09ICd0cnVlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAwKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHsgbWVzc2FnZTogJ0dyb3VwIHByaXZhY3kgY2hhbmdlZCBzdWNjZXNzZnVsbHknIH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3IgY2hhbmdpbmcgZ3JvdXAgcHJpdmFjeScsXG4gICAgICBlcnJvcjogZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0R3JvdXBQcm9maWxlUGljKHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgY29uc3QgeyBwaG9uZSwgcGF0aCB9ID0gcmVxLmJvZHk7XG5cbiAgaWYgKCFwYXRoICYmICFyZXEuZmlsZSlcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg0MDEpLnNlbmQoe1xuICAgICAgbWVzc2FnZTogJ1NlbmRpbmcgdGhlIGltYWdlIGlzIG1hbmRhdG9yeScsXG4gICAgfSk7XG5cbiAgY29uc3QgcGF0aEZpbGUgPSBwYXRoIHx8IHJlcS5maWxlLnBhdGg7XG5cbiAgdHJ5IHtcbiAgICBmb3IgKGNvbnN0IGNvbnRhdG8gb2YgY29udGFjdFRvQXJyYXkocGhvbmUsIHRydWUpKSB7XG4gICAgICBhd2FpdCByZXEuY2xpZW50LnNldEdyb3VwSWNvbihjb250YXRvLCBwYXRoRmlsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAxKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgcmVzcG9uc2U6IHsgbWVzc2FnZTogJ0dyb3VwIHByb2ZpbGUgcGhvdG8gc3VjY2Vzc2Z1bGx5IGNoYW5nZWQnIH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJyb3IgY2hhbmdpbmcgZ3JvdXAgcGhvdG8nLFxuICAgICAgZXJyb3I6IGUsXG4gICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUEsc0JBSTJCLENBcEIzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FRTyxlQUFlQyxZQUFZQSxDQUFDQyxHQUFZLEVBQUVDLEdBQVEsRUFBRSxDQUN6RCxJQUFJLENBQ0YsTUFBTUMsUUFBUSxHQUFHLE1BQU1GLEdBQUcsQ0FBQ0csTUFBTSxDQUFDSixZQUFZLEVBQUUsQ0FFaEQsT0FBT0UsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxFQUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFRixRQUFRLEVBQUVBLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDeEUsQ0FBQyxDQUFDLE9BQU9JLENBQUMsRUFBRSxDQUNWTixHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUMsQ0FDbkJMLEdBQUcsQ0FDQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNYQyxJQUFJLENBQUMsRUFBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRUssT0FBTyxFQUFFLHVCQUF1QixFQUFFRCxLQUFLLEVBQUVGLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDMUU7QUFDRjs7QUFFTyxlQUFlSSxlQUFlQSxDQUFDVixHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUM1RCxNQUFNLEVBQUVVLFVBQVUsQ0FBQyxDQUFDLEdBQUdYLEdBQUcsQ0FBQ1ksSUFBSTs7RUFFL0IsSUFBSSxDQUFDRCxVQUFVO0VBQ2IsT0FBT1YsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNTLElBQUksQ0FBQyxFQUFFSixPQUFPLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxDQUFDOztFQUV6RSxJQUFJO0lBQ0YsTUFBTVQsR0FBRyxDQUFDRyxNQUFNLENBQUNXLFNBQVMsQ0FBQ0gsVUFBVSxDQUFDO0lBQ3RDVixHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQ25CRCxNQUFNLEVBQUUsU0FBUztNQUNqQkYsUUFBUSxFQUFFO1FBQ1JPLE9BQU8sRUFBRSx3REFBd0Q7UUFDakVNLE9BQU8sRUFBRUo7TUFDWDtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQyxPQUFPSCxLQUFLLEVBQUU7SUFDZFIsR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQ3ZCUCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQ25CRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsNkRBQTZEO01BQ3RFRCxLQUFLLEVBQUVBO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlUSxXQUFXQSxDQUFDaEIsR0FBWSxFQUFFQyxHQUFRLEVBQUU7RUFDeEQsTUFBTSxFQUFFZ0IsWUFBWSxFQUFFQyxJQUFJLENBQUMsQ0FBQyxHQUFHbEIsR0FBRyxDQUFDWSxJQUFJOztFQUV2QyxJQUFJO0lBQ0YsSUFBSVYsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNqQixNQUFNaUIsU0FBYyxHQUFHLEVBQUU7O0lBRXpCLEtBQUssTUFBTUMsS0FBSyxJQUFJLElBQUFDLDJCQUFnQixFQUFDSCxJQUFJLENBQUMsRUFBRTtNQUMxQ2hCLFFBQVEsR0FBRyxNQUFNRixHQUFHLENBQUNHLE1BQU0sQ0FBQ2EsV0FBVztNQUNyQ0ksS0FBSztNQUNMLElBQUFFLHlCQUFjLEVBQUNMLFlBQVksQ0FBQyxDQUM3Qjs7TUFDREUsU0FBUyxDQUFDSSxJQUFJLENBQUM7UUFDYkwsSUFBSSxFQUFFRSxLQUFLO1FBQ1hJLEVBQUUsRUFBR3RCLFFBQVEsQ0FBU3VCLEdBQUcsQ0FBQ0MsSUFBSTtRQUM5QlQsWUFBWSxFQUFHZixRQUFRLENBQVNlO01BQ2xDLENBQUMsQ0FBQztJQUNKOztJQUVBLE9BQU9oQixHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsU0FBUztNQUNqQkYsUUFBUSxFQUFFO1FBQ1JPLE9BQU8sRUFBRSwrQkFBK0I7UUFDeENXLEtBQUssRUFBRUYsSUFBSTtRQUNYUyxTQUFTLEVBQUVSO01BQ2I7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDLENBQUMsT0FBT2IsQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHO0lBQ1BHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDWEMsSUFBSSxDQUFDLEVBQUVELE1BQU0sRUFBRSxPQUFPLEVBQUVLLE9BQU8sRUFBRSx5QkFBeUIsRUFBRUQsS0FBSyxFQUFFRixDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQzVFO0FBQ0Y7O0FBRU8sZUFBZXNCLFVBQVVBLENBQUM1QixHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUN2RCxNQUFNLEVBQUU0QixPQUFPLENBQUMsQ0FBQyxHQUFHN0IsR0FBRyxDQUFDWSxJQUFJOztFQUU1QixJQUFJO0lBQ0YsS0FBSyxNQUFNUSxLQUFLLElBQUksSUFBQVUsdUJBQVksRUFBQ0QsT0FBTyxDQUFDLEVBQUU7TUFDekMsTUFBTTdCLEdBQUcsQ0FBQ0csTUFBTSxDQUFDeUIsVUFBVSxDQUFDUixLQUFLLENBQUM7SUFDcEM7O0lBRUEsT0FBT25CLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCRixRQUFRLEVBQUUsRUFBRTZCLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRVgsS0FBSyxFQUFFUyxPQUFPLENBQUM7SUFDekUsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDLE9BQU92QixDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSw2QkFBNkI7TUFDdENELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGOztBQUVPLGVBQWUwQixlQUFlQSxDQUFDaEMsR0FBWSxFQUFFQyxHQUFRLEVBQUU7RUFDNUQsTUFBTSxFQUFFNEIsT0FBTyxDQUFDLENBQUMsR0FBRzdCLEdBQUcsQ0FBQ2lDLE1BQU07O0VBRTlCLElBQUk7SUFDRixJQUFJL0IsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNqQixLQUFLLE1BQU1rQixLQUFLLElBQUksSUFBQVUsdUJBQVksRUFBQ0QsT0FBTyxDQUFDLEVBQUU7TUFDekMzQixRQUFRLEdBQUcsTUFBTUYsR0FBRyxDQUFDRyxNQUFNLENBQUM2QixlQUFlLENBQUNaLEtBQUssQ0FBQztJQUNwRDtJQUNBLE9BQU9uQixHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUVGLFFBQVEsRUFBRUEsUUFBUSxDQUFDLENBQUMsQ0FBQztFQUN4RSxDQUFDLENBQUMsT0FBT0ksQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsNEJBQTRCO01BQ3JDRCxLQUFLLEVBQUVGO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlNEIsY0FBY0EsQ0FBQ2xDLEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQzNELE1BQU0sRUFBRTRCLE9BQU8sRUFBRU0sS0FBSyxDQUFDLENBQUMsR0FBR25DLEdBQUcsQ0FBQ1ksSUFBSTs7RUFFbkMsSUFBSTtJQUNGLElBQUlWLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTWtDLFdBQWdCLEdBQUcsRUFBRTs7SUFFM0IsS0FBSyxNQUFNaEIsS0FBSyxJQUFJLElBQUFVLHVCQUFZLEVBQUNELE9BQU8sQ0FBQyxFQUFFO01BQ3pDM0IsUUFBUSxHQUFHLE1BQU1GLEdBQUcsQ0FBQ0csTUFBTSxDQUFDK0IsY0FBYyxDQUFDZCxLQUFLLEVBQUUsSUFBQUUseUJBQWMsRUFBQ2EsS0FBSyxDQUFDLENBQUM7TUFDeEVDLFdBQVcsQ0FBQ2IsSUFBSSxDQUFDckIsUUFBUSxDQUFDO0lBQzVCOztJQUVBLE9BQU9ELEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCRixRQUFRLEVBQUU7UUFDUk8sT0FBTyxFQUFFLDhCQUE4QjtRQUN2Q1EsWUFBWSxFQUFFa0IsS0FBSztRQUNuQkUsTUFBTSxFQUFFLElBQUFQLHVCQUFZLEVBQUNELE9BQU8sQ0FBQztRQUM3QlMsTUFBTSxFQUFFRjtNQUNWO0lBQ0YsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDLE9BQU85QixDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSw2QkFBNkI7TUFDdENELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGOztBQUVPLGVBQWVpQyxpQkFBaUJBLENBQUN2QyxHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUM5RCxNQUFNLEVBQUU0QixPQUFPLEVBQUVNLEtBQUssQ0FBQyxDQUFDLEdBQUduQyxHQUFHLENBQUNZLElBQUk7O0VBRW5DLElBQUk7SUFDRixJQUFJVixRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLE1BQU1rQyxXQUFnQixHQUFHLEVBQUU7O0lBRTNCLEtBQUssTUFBTWhCLEtBQUssSUFBSSxJQUFBVSx1QkFBWSxFQUFDRCxPQUFPLENBQUMsRUFBRTtNQUN6QzNCLFFBQVEsR0FBRyxNQUFNRixHQUFHLENBQUNHLE1BQU0sQ0FBQ29DLGlCQUFpQjtNQUMzQ25CLEtBQUs7TUFDTCxJQUFBRSx5QkFBYyxFQUFDYSxLQUFLLENBQUMsQ0FDdEI7O01BQ0RDLFdBQVcsQ0FBQ2IsSUFBSSxDQUFDckIsUUFBUSxDQUFDO0lBQzVCOztJQUVBLE9BQU9ELEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCRixRQUFRLEVBQUU7UUFDUk8sT0FBTyxFQUFFLHFDQUFxQztRQUM5Q1EsWUFBWSxFQUFFa0IsS0FBSztRQUNuQkUsTUFBTSxFQUFFRDtNQUNWO0lBQ0YsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDLE9BQU85QixDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSwrQkFBK0I7TUFDeENELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGOztBQUVPLGVBQWVrQyxrQkFBa0JBLENBQUN4QyxHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUMvRCxNQUFNLEVBQUU0QixPQUFPLEVBQUVNLEtBQUssQ0FBQyxDQUFDLEdBQUduQyxHQUFHLENBQUNZLElBQUk7O0VBRW5DLElBQUk7SUFDRixNQUFNd0IsV0FBZ0IsR0FBRyxFQUFFO0lBQzNCLEtBQUssTUFBTWhCLEtBQUssSUFBSSxJQUFBVSx1QkFBWSxFQUFDRCxPQUFPLENBQUMsRUFBRTtNQUN6QyxNQUFNN0IsR0FBRyxDQUFDRyxNQUFNLENBQUNxQyxrQkFBa0IsQ0FBQ3BCLEtBQUssRUFBRSxJQUFBRSx5QkFBYyxFQUFDYSxLQUFLLENBQUMsQ0FBQztNQUNqRUMsV0FBVyxDQUFDYixJQUFJLENBQUNILEtBQUssQ0FBQztJQUN6Qjs7SUFFQSxPQUFPbkIsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztNQUMxQkQsTUFBTSxFQUFFLFNBQVM7TUFDakJGLFFBQVEsRUFBRTtRQUNSTyxPQUFPLEVBQUUsb0NBQW9DO1FBQzdDUSxZQUFZLEVBQUVrQixLQUFLO1FBQ25CRSxNQUFNLEVBQUVEO01BQ1Y7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDLENBQUMsT0FBTzlCLENBQUMsRUFBRTtJQUNWTixHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7SUFDbkIsT0FBT0wsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztNQUMxQkQsTUFBTSxFQUFFLE9BQU87TUFDZkssT0FBTyxFQUFFLGdDQUFnQztNQUN6Q0QsS0FBSyxFQUFFRjtJQUNULENBQUMsQ0FBQztFQUNKO0FBQ0Y7O0FBRU8sZUFBZW1DLGlCQUFpQkEsQ0FBQ3pDLEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQzlELE1BQU0sRUFBRTRCLE9BQU8sRUFBRU0sS0FBSyxDQUFDLENBQUMsR0FBR25DLEdBQUcsQ0FBQ1ksSUFBSTs7RUFFbkMsSUFBSTtJQUNGLE1BQU13QixXQUFnQixHQUFHLEVBQUU7SUFDM0IsS0FBSyxNQUFNaEIsS0FBSyxJQUFJLElBQUFVLHVCQUFZLEVBQUNELE9BQU8sQ0FBQyxFQUFFO01BQ3pDLE1BQU03QixHQUFHLENBQUNHLE1BQU0sQ0FBQ3NDLGlCQUFpQixDQUFDckIsS0FBSyxFQUFFLElBQUFFLHlCQUFjLEVBQUNhLEtBQUssQ0FBQyxDQUFDO01BQ2hFQyxXQUFXLENBQUNiLElBQUksQ0FBQ0gsS0FBSyxDQUFDO0lBQ3pCOztJQUVBLE9BQU9uQixHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsU0FBUztNQUNqQkYsUUFBUSxFQUFFO1FBQ1JPLE9BQU8sRUFBRSw4Q0FBOEM7UUFDdkRRLFlBQVksRUFBRWtCLEtBQUs7UUFDbkJFLE1BQU0sRUFBRUQ7TUFDVjtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQyxPQUFPOUIsQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsdUNBQXVDO01BQ2hERCxLQUFLLEVBQUVGO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlb0MsY0FBY0EsQ0FBQzFDLEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQzNELE1BQU0sRUFBRTRCLE9BQU8sQ0FBQyxDQUFDLEdBQUc3QixHQUFHLENBQUNpQyxNQUFNOztFQUU5QixJQUFJO0lBQ0YsSUFBSS9CLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTWtDLFdBQWdCLEdBQUcsRUFBRTs7SUFFM0IsS0FBSyxNQUFNaEIsS0FBSyxJQUFJLElBQUFVLHVCQUFZLEVBQUNELE9BQU8sQ0FBQyxFQUFFO01BQ3pDM0IsUUFBUSxHQUFHLE1BQU1GLEdBQUcsQ0FBQ0csTUFBTSxDQUFDdUMsY0FBYyxDQUFDdEIsS0FBSyxDQUFDO01BQ2pEZ0IsV0FBVyxDQUFDYixJQUFJLENBQUNyQixRQUFRLENBQUM7SUFDNUI7O0lBRUEsT0FBT0QsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxFQUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFRixRQUFRLEVBQUVrQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0VBQzNFLENBQUMsQ0FBQyxPQUFPOUIsQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsaUNBQWlDO01BQzFDRCxLQUFLLEVBQUVGO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlcUMsa0JBQWtCQSxDQUFDM0MsR0FBWSxFQUFFQyxHQUFRLEVBQUU7RUFDL0QsTUFBTSxFQUFFNEIsT0FBTyxDQUFDLENBQUMsR0FBRzdCLEdBQUcsQ0FBQ2lDLE1BQU07RUFDOUIsSUFBSTtJQUNGLElBQUkvQixRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLEtBQUssTUFBTWtCLEtBQUssSUFBSSxJQUFBVSx1QkFBWSxFQUFDRCxPQUFPLENBQUMsRUFBRTtNQUN6QzNCLFFBQVEsR0FBRyxNQUFNRixHQUFHLENBQUNHLE1BQU0sQ0FBQ3dDLGtCQUFrQixDQUFDdkIsS0FBSyxDQUFDO0lBQ3ZEOztJQUVBLE9BQU9uQixHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUVGLFFBQVEsRUFBRUEsUUFBUSxDQUFDLENBQUMsQ0FBQztFQUN4RSxDQUFDLENBQUMsT0FBT0ksQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsZ0NBQWdDO01BQ3pDRCxLQUFLLEVBQUVGO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlc0MscUJBQXFCQSxDQUFDNUMsR0FBWSxFQUFFQyxHQUFRLEVBQUU7RUFDbEUsTUFBTSxFQUFFNEIsT0FBTyxDQUFDLENBQUMsR0FBRzdCLEdBQUcsQ0FBQ2lDLE1BQU07O0VBRTlCLElBQUkvQixRQUFRLEdBQUcsQ0FBQyxDQUFDOztFQUVqQixJQUFJO0lBQ0YsS0FBSyxNQUFNa0IsS0FBSyxJQUFJLElBQUFVLHVCQUFZLEVBQUNELE9BQU8sQ0FBQyxFQUFFO01BQ3pDM0IsUUFBUSxHQUFHLE1BQU1GLEdBQUcsQ0FBQ0csTUFBTSxDQUFDeUMscUJBQXFCLENBQUN4QixLQUFLLENBQUM7SUFDMUQ7O0lBRUEsT0FBT25CLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCRixRQUFRLEVBQUVBO0lBQ1osQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDLE9BQU9JLENBQUMsRUFBRTtJQUNWTixHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7SUFDbkIsT0FBT0wsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztNQUMxQkQsTUFBTSxFQUFFLE9BQU87TUFDZkssT0FBTyxFQUFFLG1DQUFtQztNQUM1Q0QsS0FBSyxFQUFFRjtJQUNULENBQUMsQ0FBQztFQUNKO0FBQ0Y7O0FBRU8sZUFBZXVDLG1CQUFtQkEsQ0FBQzdDLEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQ2hFLElBQUk7SUFDRixNQUFNQyxRQUFRLEdBQUcsTUFBTUYsR0FBRyxDQUFDRyxNQUFNLENBQUMwQyxtQkFBbUIsRUFBRTtJQUN2RCxPQUFPNUMsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxFQUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFRixRQUFRLEVBQUVBLFFBQVEsQ0FBQyxDQUFDLENBQUM7RUFDeEUsQ0FBQyxDQUFDLE9BQU9JLENBQUMsRUFBRTtJQUNWTixHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7SUFDbkIsT0FBT0wsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztNQUMxQkQsTUFBTSxFQUFFLE9BQU87TUFDZkssT0FBTyxFQUFFLGtDQUFrQztNQUMzQ0QsS0FBSyxFQUFFRjtJQUNULENBQUMsQ0FBQztFQUNKO0FBQ0Y7O0FBRU8sZUFBZXdDLDBCQUEwQkEsQ0FBQzlDLEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQ3ZFLElBQUk7SUFDRixNQUFNLEVBQUU4QyxVQUFVLENBQUMsQ0FBQyxHQUFHL0MsR0FBRyxDQUFDWSxJQUFJO0lBQy9CLE1BQU1WLFFBQVEsR0FBRyxNQUFNRixHQUFHLENBQUNHLE1BQU0sQ0FBQzJDLDBCQUEwQixDQUFDQyxVQUFVLENBQUM7SUFDeEUsT0FBTzlDLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUMsRUFBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRUYsUUFBUSxFQUFFQSxRQUFRLENBQUMsQ0FBQyxDQUFDO0VBQ3hFLENBQUMsQ0FBQyxPQUFPSSxDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSwwQ0FBMEM7TUFDbkRELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGOztBQUVPLGVBQWUwQyxrQkFBa0JBLENBQUNoRCxHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUMvRCxNQUFNLEVBQUU0QixPQUFPLENBQUMsQ0FBQyxHQUFHN0IsR0FBRyxDQUFDaUMsTUFBTTtFQUM5QixJQUFJL0IsUUFBUSxHQUFHLENBQUMsQ0FBQztFQUNqQixJQUFJO0lBQ0YsS0FBSyxNQUFNa0IsS0FBSyxJQUFJLElBQUFVLHVCQUFZLEVBQUNELE9BQU8sQ0FBQyxFQUFFO01BQ3pDM0IsUUFBUSxHQUFHLE1BQU1GLEdBQUcsQ0FBQ0csTUFBTSxDQUFDNkMsa0JBQWtCLENBQUM1QixLQUFLLENBQUM7SUFDdkQ7SUFDQSxPQUFPbkIsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxFQUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFRixRQUFRLEVBQUVBLFFBQVEsQ0FBQyxDQUFDLENBQUM7RUFDeEUsQ0FBQyxDQUFDLE9BQU9JLENBQUMsRUFBRTtJQUNWTixHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7SUFDbkIsT0FBT0wsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztNQUMxQkQsTUFBTSxFQUFFLE9BQU87TUFDZkssT0FBTyxFQUFFLGdDQUFnQztNQUN6Q0QsS0FBSyxFQUFFRjtJQUNULENBQUMsQ0FBQztFQUNKO0FBQ0Y7O0FBRU8sZUFBZTJDLG1CQUFtQkEsQ0FBQ2pELEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQ2hFLE1BQU0sRUFBRTRCLE9BQU8sRUFBRXFCLFdBQVcsQ0FBQyxDQUFDLEdBQUdsRCxHQUFHLENBQUNZLElBQUk7O0VBRXpDLElBQUlWLFFBQVEsR0FBRyxDQUFDLENBQUM7O0VBRWpCLElBQUk7SUFDRixLQUFLLE1BQU1rQixLQUFLLElBQUksSUFBQVUsdUJBQVksRUFBQ0QsT0FBTyxDQUFDLEVBQUU7TUFDekMzQixRQUFRLEdBQUcsTUFBTUYsR0FBRyxDQUFDRyxNQUFNLENBQUM4QyxtQkFBbUIsQ0FBQzdCLEtBQUssRUFBRThCLFdBQVcsQ0FBQztJQUNyRTs7SUFFQSxPQUFPakQsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxFQUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFRixRQUFRLEVBQUVBLFFBQVEsQ0FBQyxDQUFDLENBQUM7RUFDeEUsQ0FBQyxDQUFDLE9BQU9JLENBQUMsRUFBRTtJQUNWTixHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7SUFDbkIsT0FBT0wsR0FBRyxDQUFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztNQUMxQkQsTUFBTSxFQUFFLE9BQU87TUFDZkssT0FBTyxFQUFFLGdDQUFnQztNQUN6Q0QsS0FBSyxFQUFFRjtJQUNULENBQUMsQ0FBQztFQUNKO0FBQ0Y7O0FBRU8sZUFBZTZDLGdCQUFnQkEsQ0FBQ25ELEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQzdELE1BQU0sRUFBRTRCLE9BQU8sRUFBRXVCLFFBQVEsRUFBRUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUdyRCxHQUFHLENBQUNZLElBQUk7O0VBRXBELElBQUlWLFFBQVEsR0FBRyxDQUFDLENBQUM7O0VBRWpCLElBQUk7SUFDRixLQUFLLE1BQU1rQixLQUFLLElBQUksSUFBQVUsdUJBQVksRUFBQ0QsT0FBTyxDQUFDLEVBQUU7TUFDekMzQixRQUFRLEdBQUcsTUFBTUYsR0FBRyxDQUFDRyxNQUFNLENBQUNnRCxnQkFBZ0IsQ0FBQy9CLEtBQUssRUFBRWdDLFFBQVEsRUFBRUMsS0FBSyxDQUFDO0lBQ3RFOztJQUVBLE9BQU9wRCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUVGLFFBQVEsRUFBRUEsUUFBUSxDQUFDLENBQUMsQ0FBQztFQUN4RSxDQUFDLENBQUMsT0FBT0ksQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsNkJBQTZCO01BQ3RDRCxLQUFLLEVBQUVGO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlZ0QsZUFBZUEsQ0FBQ3RELEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQzVELE1BQU0sRUFBRTRCLE9BQU8sRUFBRTBCLEtBQUssQ0FBQyxDQUFDLEdBQUd2RCxHQUFHLENBQUNZLElBQUk7O0VBRW5DLElBQUlWLFFBQVEsR0FBRyxDQUFDLENBQUM7O0VBRWpCLElBQUk7SUFDRixLQUFLLE1BQU1rQixLQUFLLElBQUksSUFBQVUsdUJBQVksRUFBQ0QsT0FBTyxDQUFDLEVBQUU7TUFDekMzQixRQUFRLEdBQUcsTUFBTUYsR0FBRyxDQUFDRyxNQUFNLENBQUNtRCxlQUFlLENBQUNsQyxLQUFLLEVBQUVtQyxLQUFLLENBQUM7SUFDM0Q7O0lBRUEsT0FBT3RELEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUMsRUFBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRUYsUUFBUSxFQUFFQSxRQUFRLENBQUMsQ0FBQyxDQUFDO0VBQ3hFLENBQUMsQ0FBQyxPQUFPSSxDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSw0QkFBNEI7TUFDckNELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGOztBQUVPLGVBQWVrRCxxQkFBcUJBLENBQUN4RCxHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUNsRSxNQUFNLEVBQUU0QixPQUFPLEVBQUV3QixLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBR3JELEdBQUcsQ0FBQ1ksSUFBSTs7RUFFMUMsSUFBSVYsUUFBUSxHQUFHLENBQUMsQ0FBQzs7RUFFakIsSUFBSTtJQUNGLEtBQUssTUFBTWtCLEtBQUssSUFBSSxJQUFBVSx1QkFBWSxFQUFDRCxPQUFPLENBQUMsRUFBRTtNQUN6QzNCLFFBQVEsR0FBRyxNQUFNRixHQUFHLENBQUNHLE1BQU0sQ0FBQ3FELHFCQUFxQixDQUFDcEMsS0FBSyxFQUFFaUMsS0FBSyxDQUFDO0lBQ2pFOztJQUVBLE9BQU9wRCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUVGLFFBQVEsRUFBRUEsUUFBUSxDQUFDLENBQUMsQ0FBQztFQUN4RSxDQUFDLENBQUMsT0FBT0ksQ0FBQyxFQUFFO0lBQ1ZOLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztJQUNuQixPQUFPTCxHQUFHLENBQUNHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsT0FBTztNQUNmSyxPQUFPLEVBQUUsbUNBQW1DO01BQzVDRCxLQUFLLEVBQUVGO0lBQ1QsQ0FBQyxDQUFDO0VBQ0o7QUFDRjs7QUFFTyxlQUFlbUQsa0JBQWtCQSxDQUFDekQsR0FBWSxFQUFFQyxHQUFRLEVBQUU7RUFDL0QsTUFBTSxFQUFFNEIsT0FBTyxFQUFFekIsTUFBTSxDQUFDLENBQUMsR0FBR0osR0FBRyxDQUFDWSxJQUFJOztFQUVwQyxJQUFJO0lBQ0YsS0FBSyxNQUFNUSxLQUFLLElBQUksSUFBQUUseUJBQWMsRUFBQ08sT0FBTyxDQUFDLEVBQUU7TUFDM0MsTUFBTTdCLEdBQUcsQ0FBQ0csTUFBTSxDQUFDcUQscUJBQXFCLENBQUNwQyxLQUFLLEVBQUVoQixNQUFNLEtBQUssTUFBTSxDQUFDO0lBQ2xFOztJQUVBLE9BQU9ILEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCRixRQUFRLEVBQUUsRUFBRU8sT0FBTyxFQUFFLG9DQUFvQyxDQUFDO0lBQzVELENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQyxPQUFPSCxDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSw4QkFBOEI7TUFDdkNELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGOztBQUVPLGVBQWVvRCxrQkFBa0JBLENBQUMxRCxHQUFZLEVBQUVDLEdBQVEsRUFBRTtFQUMvRCxNQUFNLEVBQUVrQyxLQUFLLEVBQUV3QixJQUFJLENBQUMsQ0FBQyxHQUFHM0QsR0FBRyxDQUFDWSxJQUFJOztFQUVoQyxJQUFJLENBQUMrQyxJQUFJLElBQUksQ0FBQzNELEdBQUcsQ0FBQzRELElBQUk7RUFDcEIsT0FBTzNELEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDUyxJQUFJLENBQUM7SUFDMUJKLE9BQU8sRUFBRTtFQUNYLENBQUMsQ0FBQzs7RUFFSixNQUFNb0QsUUFBUSxHQUFHRixJQUFJLElBQUkzRCxHQUFHLENBQUM0RCxJQUFJLENBQUNELElBQUk7O0VBRXRDLElBQUk7SUFDRixLQUFLLE1BQU1HLE9BQU8sSUFBSSxJQUFBeEMseUJBQWMsRUFBQ2EsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO01BQ2pELE1BQU1uQyxHQUFHLENBQUNHLE1BQU0sQ0FBQzRELFlBQVksQ0FBQ0QsT0FBTyxFQUFFRCxRQUFRLENBQUM7SUFDbEQ7O0lBRUEsT0FBTzVELEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCRixRQUFRLEVBQUUsRUFBRU8sT0FBTyxFQUFFLDBDQUEwQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQyxPQUFPSCxDQUFDLEVBQUU7SUFDVk4sR0FBRyxDQUFDTyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO0lBQ25CLE9BQU9MLEdBQUcsQ0FBQ0csTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxPQUFPO01BQ2ZLLE9BQU8sRUFBRSw0QkFBNEI7TUFDckNELEtBQUssRUFBRUY7SUFDVCxDQUFDLENBQUM7RUFDSjtBQUNGIn0=
@@ -1,4 +1,22 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.addNewLabel = addNewLabel;exports.addOrRemoveLabels = addOrRemoveLabels;exports.deleteAllLabels = deleteAllLabels;exports.deleteLabel = deleteLabel;exports.getAllLabels = getAllLabels;async function addNewLabel(req, res) {
1
+ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.addNewLabel = addNewLabel;exports.addOrRemoveLabels = addOrRemoveLabels;exports.deleteAllLabels = deleteAllLabels;exports.deleteLabel = deleteLabel;exports.getAllLabels = getAllLabels; /*
2
+ * Copyright 2021 WPPConnect Team
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+
18
+
19
+ async function addNewLabel(req, res) {
2
20
  const { name, options } = req.body;
3
21
  if (!name)
4
22
  return res.status(401).send({
@@ -9,7 +27,11 @@
9
27
  const result = await req.client.addNewLabel(name, options);
10
28
  res.status(201).json({ status: 'success', response: result });
11
29
  } catch (error) {
12
- res.status(500).json({ status: 'Error', message: 'Erro ao adicionar etiqueta.', error: error });
30
+ res.status(500).json({
31
+ status: 'Error',
32
+ message: 'Erro ao adicionar etiqueta.',
33
+ error: error
34
+ });
13
35
  }
14
36
  }
15
37
 
@@ -24,7 +46,11 @@ async function addOrRemoveLabels(req, res) {
24
46
  const result = await req.client.addOrRemoveLabels(chatIds, options);
25
47
  res.status(201).json({ status: 'success', response: result });
26
48
  } catch (error) {
27
- res.status(500).json({ status: 'Error', message: 'Erro ao adicionar/deletar etiqueta.', error: error });
49
+ res.status(500).json({
50
+ status: 'Error',
51
+ message: 'Erro ao adicionar/deletar etiqueta.',
52
+ error: error
53
+ });
28
54
  }
29
55
  }
30
56
 
@@ -33,7 +59,11 @@ async function getAllLabels(req, res) {
33
59
  const result = await req.client.getAllLabels();
34
60
  res.status(201).json({ status: 'success', response: result });
35
61
  } catch (error) {
36
- res.status(500).json({ status: 'Error', message: 'Erro ao buscar etiquetas.', error: error });
62
+ res.status(500).json({
63
+ status: 'Error',
64
+ message: 'Erro ao buscar etiquetas.',
65
+ error: error
66
+ });
37
67
  }
38
68
  }
39
69
 
@@ -42,17 +72,25 @@ async function deleteAllLabels(req, res) {
42
72
  const result = await req.client.deleteAllLabels();
43
73
  res.status(201).json({ status: 'success', response: result });
44
74
  } catch (error) {
45
- res.status(500).json({ status: 'Error', message: 'Erro ao deletar todas as etiquetas.', error: error });
75
+ res.status(500).json({
76
+ status: 'Error',
77
+ message: 'Erro ao deletar todas as etiquetas.',
78
+ error: error
79
+ });
46
80
  }
47
81
  }
48
82
 
49
83
  async function deleteLabel(req, res) {
50
- const { id } = req.paramns;
84
+ const { id } = req.params;
51
85
  try {
52
86
  const result = await req.client.deleteLabel(id);
53
87
  res.status(201).json({ status: 'success', response: result });
54
88
  } catch (error) {
55
- res.status(500).json({ status: 'Error', message: 'Erro ao deletar etiqueta.', error: error });
89
+ res.status(500).json({
90
+ status: 'Error',
91
+ message: 'Erro ao deletar etiqueta.',
92
+ error: error
93
+ });
56
94
  }
57
95
  }
58
- //# sourceMappingURL=labelsController.js.map
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhZGROZXdMYWJlbCIsInJlcSIsInJlcyIsIm5hbWUiLCJvcHRpb25zIiwiYm9keSIsInN0YXR1cyIsInNlbmQiLCJtZXNzYWdlIiwicmVzdWx0IiwiY2xpZW50IiwianNvbiIsInJlc3BvbnNlIiwiZXJyb3IiLCJhZGRPclJlbW92ZUxhYmVscyIsImNoYXRJZHMiLCJnZXRBbGxMYWJlbHMiLCJkZWxldGVBbGxMYWJlbHMiLCJkZWxldGVMYWJlbCIsImlkIiwicGFyYW1zIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXIvbGFiZWxzQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjEgV1BQQ29ubmVjdCBUZWFtXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcy9SZXF1ZXN0JztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZE5ld0xhYmVsKHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgY29uc3QgeyBuYW1lLCBvcHRpb25zIH0gPSByZXEuYm9keTtcbiAgaWYgKCFuYW1lKVxuICAgIHJldHVybiByZXMuc3RhdHVzKDQwMSkuc2VuZCh7XG4gICAgICBtZXNzYWdlOiAnTmFtZSB3YXMgbm90IGluZm9ybWVkJyxcbiAgICB9KTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcS5jbGllbnQuYWRkTmV3TGFiZWwobmFtZSwgb3B0aW9ucyk7XG4gICAgcmVzLnN0YXR1cygyMDEpLmpzb24oeyBzdGF0dXM6ICdzdWNjZXNzJywgcmVzcG9uc2U6IHJlc3VsdCB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdFcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJybyBhbyBhZGljaW9uYXIgZXRpcXVldGEuJyxcbiAgICAgIGVycm9yOiBlcnJvcixcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkT3JSZW1vdmVMYWJlbHMocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICBjb25zdCB7IGNoYXRJZHMsIG9wdGlvbnMgfSA9IHJlcS5ib2R5O1xuICBpZiAoIWNoYXRJZHMgfHwgIW9wdGlvbnMpXG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoNDAxKS5zZW5kKHtcbiAgICAgIG1lc3NhZ2U6ICdjaGF0SWRzIG9yIG9wdGlvbnMgd2FzIG5vdCBpbmZvcm1lZCcsXG4gICAgfSk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXEuY2xpZW50LmFkZE9yUmVtb3ZlTGFiZWxzKGNoYXRJZHMsIG9wdGlvbnMpO1xuICAgIHJlcy5zdGF0dXMoMjAxKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiByZXN1bHQgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiAnRXJyb3InLFxuICAgICAgbWVzc2FnZTogJ0Vycm8gYW8gYWRpY2lvbmFyL2RlbGV0YXIgZXRpcXVldGEuJyxcbiAgICAgIGVycm9yOiBlcnJvcixcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QWxsTGFiZWxzKHJlcTogUmVxdWVzdCwgcmVzOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXEuY2xpZW50LmdldEFsbExhYmVscygpO1xuICAgIHJlcy5zdGF0dXMoMjAxKS5qc29uKHsgc3RhdHVzOiAnc3VjY2VzcycsIHJlc3BvbnNlOiByZXN1bHQgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgc3RhdHVzOiAnRXJyb3InLFxuICAgICAgbWVzc2FnZTogJ0Vycm8gYW8gYnVzY2FyIGV0aXF1ZXRhcy4nLFxuICAgICAgZXJyb3I6IGVycm9yLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGxMYWJlbHMocmVxOiBSZXF1ZXN0LCByZXM6IGFueSkge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcS5jbGllbnQuZGVsZXRlQWxsTGFiZWxzKCk7XG4gICAgcmVzLnN0YXR1cygyMDEpLmpzb24oeyBzdGF0dXM6ICdzdWNjZXNzJywgcmVzcG9uc2U6IHJlc3VsdCB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdFcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJybyBhbyBkZWxldGFyIHRvZGFzIGFzIGV0aXF1ZXRhcy4nLFxuICAgICAgZXJyb3I6IGVycm9yLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVMYWJlbChyZXE6IFJlcXVlc3QsIHJlczogYW55KSB7XG4gIGNvbnN0IHsgaWQgfSA9IHJlcS5wYXJhbXM7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLmNsaWVudC5kZWxldGVMYWJlbChpZCk7XG4gICAgcmVzLnN0YXR1cygyMDEpLmpzb24oeyBzdGF0dXM6ICdzdWNjZXNzJywgcmVzcG9uc2U6IHJlc3VsdCB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICBzdGF0dXM6ICdFcnJvcicsXG4gICAgICBtZXNzYWdlOiAnRXJybyBhbyBkZWxldGFyIGV0aXF1ZXRhLicsXG4gICAgICBlcnJvcjogZXJyb3IsXG4gICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjRRQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlPLGVBQWVBLFdBQVdBLENBQUNDLEdBQVksRUFBRUMsR0FBUSxFQUFFO0VBQ3hELE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxPQUFPLENBQUMsQ0FBQyxHQUFHSCxHQUFHLENBQUNJLElBQUk7RUFDbEMsSUFBSSxDQUFDRixJQUFJO0VBQ1AsT0FBT0QsR0FBRyxDQUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQztJQUMxQkMsT0FBTyxFQUFFO0VBQ1gsQ0FBQyxDQUFDOztFQUVKLElBQUk7SUFDRixNQUFNQyxNQUFNLEdBQUcsTUFBTVIsR0FBRyxDQUFDUyxNQUFNLENBQUNWLFdBQVcsQ0FBQ0csSUFBSSxFQUFFQyxPQUFPLENBQUM7SUFDMURGLEdBQUcsQ0FBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDSyxJQUFJLENBQUMsRUFBRUwsTUFB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