@wppconnect/server 2.0.1 → 2.1.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 (39) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/config/upload.js +1 -1
  3. package/dist/config.js +8 -2
  4. package/dist/controller/catalogController.js +296 -29
  5. package/dist/controller/deviceController.js +875 -30
  6. package/dist/controller/encryptController.js +14 -2
  7. package/dist/controller/groupController.js +343 -9
  8. package/dist/controller/labelsController.js +68 -1
  9. package/dist/controller/messageController.js +289 -40
  10. package/dist/controller/miscController.js +221 -0
  11. package/dist/controller/orderController.js +27 -3
  12. package/dist/controller/sessionController.js +229 -8
  13. package/dist/controller/statusController.js +53 -5
  14. package/dist/index.js +7 -7
  15. package/dist/mapper/index.js +2 -2
  16. package/dist/middleware/auth.js +16 -15
  17. package/dist/middleware/healthCheck.js +15 -1
  18. package/dist/middleware/statusConnection.js +2 -1
  19. package/dist/routes/index.js +741 -710
  20. package/dist/swagger-backup.json +21463 -0
  21. package/dist/swagger.js +100 -0
  22. package/dist/swagger.json +4957 -20348
  23. package/dist/types/express/index.d.js +2 -0
  24. package/dist/util/chatWootClient.js +49 -45
  25. package/dist/util/createSessionUtil.js +55 -45
  26. package/dist/util/db/mongodb/db.js +7 -7
  27. package/dist/util/functions.js +31 -23
  28. package/dist/util/getAllTokens.js +1 -1
  29. package/dist/util/logger.js +22 -22
  30. package/dist/util/manageSession.js +130 -0
  31. package/dist/util/sessionUtil.js +5 -3
  32. package/dist/util/tokenStore/FileTokenStore/FileTokenStore.js +7 -7
  33. package/dist/util/tokenStore/mongodbTokenStory.js +2 -3
  34. package/dist/util/tokenStore/redisTokenStory.js +25 -25
  35. package/docker-compose.yml +1 -1
  36. package/package.json +39 -32
  37. package/wppconnect_tokens/wppconnect.json +0 -0
  38. package/dist/types/Request.js +0 -2
  39. package/wppconnect_tokens/bugpromo.data.json +0 -1
@@ -27,7 +27,19 @@ 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];
30
+ */const saltRounds = 10;async function encryptSession(req, res) {/**
31
+ * #swagger.tags = ['Auth']
32
+ * #swagger.parameters['secretkey'] = {
33
+ schema: 'THISISMYSECURETOKEN',
34
+ }
35
+ #swagger.parameters["session"] = {
36
+ schema: 'NERDWHATS_AMERICA'
37
+ }
38
+ #swagger.autoHeaders = false
39
+ */const { session, secretkey } = req.params;const { authorization: token } = req.headers;const secureTokenEnv = req.serverOptions.secretKey;let tokenDecrypt = '';
40
+
41
+ if (secretkey === undefined) {
42
+ tokenDecrypt = token.split(' ')[0];
31
43
  } else {
32
44
  tokenDecrypt = secretkey;
33
45
  }
@@ -51,4 +63,4 @@ var _bcrypt = _interopRequireDefault(require("bcrypt")); /*
51
63
  });
52
64
  });
53
65
  }
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmNyeXB0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJzYWx0Um91bmRzIiwiZW5jcnlwdFNlc3Npb24iLCJyZXEiLCJyZXMiLCJzZXNzaW9uIiwic2VjcmV0a2V5IiwicGFyYW1zIiwiYXV0aG9yaXphdGlvbiIsInRva2VuIiwiaGVhZGVycyIsInNlY3VyZVRva2VuRW52Iiwic2VydmVyT3B0aW9ucyIsInNlY3JldEtleSIsInRva2VuRGVjcnlwdCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic3RhdHVzIiwianNvbiIsInJlc3BvbnNlIiwibWVzc2FnZSIsImJjcnlwdCIsImhhc2giLCJlcnIiLCJoYXNoRm9ybWF0IiwicmVwbGFjZSIsImZ1bGwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9lbmNyeXB0Q29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjEgV1BQQ29ubmVjdCBUZWFtXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgYmNyeXB0IGZyb20gJ2JjcnlwdCc7XG5cbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcy9SZXF1ZXN0JztcblxuY29uc3Qgc2FsdFJvdW5kcyA9IDEwO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdFNlc3Npb24ocmVxOiBSZXF1ZXN0LCByZXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gIGNvbnN0IHsgc2Vzc2lvbiwgc2VjcmV0a2V5IH0gPSByZXEucGFyYW1zO1xuICBjb25zdCB7IGF1dGhvcml6YXRpb246IHRva2VuIH0gPSByZXEuaGVhZGVycztcbiAgY29uc3Qgc2VjdXJlVG9rZW5FbnYgPSByZXEuc2VydmVyT3B0aW9ucy5zZWNyZXRLZXk7XG5cbiAgbGV0IHRva2VuRGVjcnlwdCA9ICcnO1xuXG4gIGlmIChzZWNyZXRrZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIHRva2VuRGVjcnlwdCA9ICh0b2tlbiBhcyBzdHJpbmcpLnNwbGl0KCcgJylbMF07XG4gIH0gZWxzZSB7XG4gICAgdG9rZW5EZWNyeXB0ID0gc2VjcmV0a2V5O1xuICB9XG5cbiAgaWYgKHRva2VuRGVjcnlwdCAhPT0gc2VjdXJlVG9rZW5FbnYpIHtcbiAgICByZXR1cm4gcmVzLnN0YXR1cyg0MDApLmpzb24oe1xuICAgICAgcmVzcG9uc2U6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogJ1RoZSBTRUNSRVRfS0VZIGlzIGluY29ycmVjdCcsXG4gICAgfSk7XG4gIH1cblxuICBiY3J5cHQuaGFzaChzZXNzaW9uICsgc2VjdXJlVG9rZW5FbnYsIHNhbHRSb3VuZHMsIGZ1bmN0aW9uIChlcnIsIGhhc2gpIHtcbiAgICBpZiAoZXJyKSByZXR1cm4gcmVzLnN0YXR1cyg1MDApLmpzb24oZXJyKTtcblxuICAgIGNvbnN0IGhhc2hGb3JtYXQgPSBoYXNoLnJlcGxhY2UoL1xcLy9nLCAnXycpLnJlcGxhY2UoL1xcKy9nLCAnLScpO1xuICAgIHJldHVybiByZXMuc3RhdHVzKDIwMSkuanNvbih7XG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIHNlc3Npb246IHNlc3Npb24sXG4gICAgICB0b2tlbjogaGFzaEZvcm1hdCxcbiAgICAgIGZ1bGw6IGAke3Nlc3Npb259OiR7aGFzaEZvcm1hdH1gLFxuICAgIH0pO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBLFlBQTRCLENBZjVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUtBLE1BQU1DLFVBQVUsR0FBRyxFQUFFLENBRWQsZUFBZUMsY0FBY0EsQ0FBQ0MsR0FBWSxFQUFFQyxHQUFRLEVBQWdCLENBQ3pFLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxTQUFTLENBQUMsQ0FBQyxHQUFHSCxHQUFHLENBQUNJLE1BQU0sQ0FDekMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLEtBQUssQ0FBQyxDQUFDLEdBQUdOLEdBQUcsQ0FBQ08sT0FBTyxDQUM1QyxNQUFNQyxjQUFjLEdBQUdSLEdBQUcsQ0FBQ1MsYUFBYSxDQUFDQyxTQUFTLENBRWxELElBQUlDLFlBQVksR0FBRyxFQUFFLENBRXJCLElBQUlSLFNBQVMsS0FBS1MsU0FBUyxFQUFFLENBQzNCRCxZQUFZLEdBQUlMLEtBQUssQ0FBWU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNoRCxDQUFDLE1BQU07SUFDTEYsWUFBWSxHQUFHUixTQUFTO0VBQzFCOztFQUVBLElBQUlRLFlBQVksS0FBS0gsY0FBYyxFQUFFO0lBQ25DLE9BQU9QLEdBQUcsQ0FBQ2EsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJDLFFBQVEsRUFBRSxLQUFLO01BQ2ZDLE9BQU8sRUFBRTtJQUNYLENBQUMsQ0FBQztFQUNKOztFQUVBQyxlQUFNLENBQUNDLElBQUksQ0FBQ2pCLE9BQU8sR0FBR00sY0FBYyxFQUFFVixVQUFVLEVBQUUsVUFBVXNCLEdBQUcsRUFBRUQsSUFBSSxFQUFFO0lBQ3JFLElBQUlDLEdBQUcsRUFBRSxPQUFPbkIsR0FBRyxDQUFDYSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQ0ssR0FBRyxDQUFDOztJQUV6QyxNQUFNQyxVQUFVLEdBQUdGLElBQUksQ0FBQ0csT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQ0EsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7SUFDL0QsT0FBT3JCLEdBQUcsQ0FBQ2EsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUM7TUFDMUJELE1BQU0sRUFBRSxTQUFTO01BQ2pCWixPQUFPLEVBQUVBLE9BQU87TUFDaEJJLEtBQUssRUFBRWUsVUFBVTtNQUNqQkUsSUFBSSxFQUFHLEdBQUVyQixPQUFRLElBQUdtQixVQUFXO0lBQ2pDLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKIn0=
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmNyeXB0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJzYWx0Um91bmRzIiwiZW5jcnlwdFNlc3Npb24iLCJyZXEiLCJyZXMiLCJzZXNzaW9uIiwic2VjcmV0a2V5IiwicGFyYW1zIiwiYXV0aG9yaXphdGlvbiIsInRva2VuIiwiaGVhZGVycyIsInNlY3VyZVRva2VuRW52Iiwic2VydmVyT3B0aW9ucyIsInNlY3JldEtleSIsInRva2VuRGVjcnlwdCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic3RhdHVzIiwianNvbiIsInJlc3BvbnNlIiwibWVzc2FnZSIsImJjcnlwdCIsImhhc2giLCJlcnIiLCJoYXNoRm9ybWF0IiwicmVwbGFjZSIsImZ1bGwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9lbmNyeXB0Q29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjEgV1BQQ29ubmVjdCBUZWFtXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgYmNyeXB0IGZyb20gJ2JjcnlwdCc7XG5pbXBvcnQgeyBSZXF1ZXN0LCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuXG5jb25zdCBzYWx0Um91bmRzID0gMTA7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0U2Vzc2lvbihcbiAgcmVxOiBSZXF1ZXN0LFxuICByZXM6IFJlc3BvbnNlXG4pOiBQcm9taXNlPGFueT4ge1xuICAvKipcbiAgICogI3N3YWdnZXIudGFncyA9IFsnQXV0aCddXG4gICAqICNzd2FnZ2VyLnBhcmFtZXRlcnNbJ3NlY3JldGtleSddID0ge1xuICAgICAgIHNjaGVtYTogJ1RISVNJU01ZU0VDVVJFVE9LRU4nLFxuICAgICB9XG4gICAgICNzd2FnZ2VyLnBhcmFtZXRlcnNbXCJzZXNzaW9uXCJdID0ge1xuICAgICAgc2NoZW1hOiAnTkVSRFdIQVRTX0FNRVJJQ0EnXG4gICAgIH1cbiAgICAgI3N3YWdnZXIuYXV0b0hlYWRlcnMgPSBmYWxzZVxuICAgKi9cbiAgY29uc3QgeyBzZXNzaW9uLCBzZWNyZXRrZXkgfSA9IHJlcS5wYXJhbXM7XG4gIGNvbnN0IHsgYXV0aG9yaXphdGlvbjogdG9rZW4gfSA9IHJlcS5oZWFkZXJzO1xuICBjb25zdCBzZWN1cmVUb2tlbkVudiA9IHJlcS5zZXJ2ZXJPcHRpb25zLnNlY3JldEtleTtcblxuICBsZXQgdG9rZW5EZWNyeXB0ID0gJyc7XG5cbiAgaWYgKHNlY3JldGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdG9rZW5EZWNyeXB0ID0gKHRva2VuIGFzIHN0cmluZykuc3BsaXQoJyAnKVswXTtcbiAgfSBlbHNlIHtcbiAgICB0b2tlbkRlY3J5cHQgPSBzZWNyZXRrZXk7XG4gIH1cblxuICBpZiAodG9rZW5EZWNyeXB0ICE9PSBzZWN1cmVUb2tlbkVudikge1xuICAgIHJldHVybiByZXMuc3RhdHVzKDQwMCkuanNvbih7XG4gICAgICByZXNwb25zZTogZmFsc2UsXG4gICAgICBtZXNzYWdlOiAnVGhlIFNFQ1JFVF9LRVkgaXMgaW5jb3JyZWN0JyxcbiAgICB9KTtcbiAgfVxuXG4gIGJjcnlwdC5oYXNoKHNlc3Npb24gKyBzZWN1cmVUb2tlbkVudiwgc2FsdFJvdW5kcywgZnVuY3Rpb24gKGVyciwgaGFzaCkge1xuICAgIGlmIChlcnIpIHJldHVybiByZXMuc3RhdHVzKDUwMCkuanNvbihlcnIpO1xuXG4gICAgY29uc3QgaGFzaEZvcm1hdCA9IGhhc2gucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gICAgcmV0dXJuIHJlcy5zdGF0dXMoMjAxKS5qc29uKHtcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgc2Vzc2lvbjogc2Vzc2lvbixcbiAgICAgIHRva2VuOiBoYXNoRm9ybWF0LFxuICAgICAgZnVsbDogYCR7c2Vzc2lvbn06JHtoYXNoRm9ybWF0fWAsXG4gICAgfSk7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFlQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUEsWUFBNEIsQ0FmNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBSUEsTUFBTUMsVUFBVSxHQUFHLEVBQUUsQ0FFZCxlQUFlQyxjQUFjQSxDQUNsQ0MsR0FBWSxFQUNaQyxHQUFhLEVBQ0MsQ0FDZDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUNFLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxTQUFTLENBQUMsQ0FBQyxHQUFHSCxHQUFHLENBQUNJLE1BQU0sQ0FDekMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLEtBQUssQ0FBQyxDQUFDLEdBQUdOLEdBQUcsQ0FBQ08sT0FBTyxDQUM1QyxNQUFNQyxjQUFjLEdBQUdSLEdBQUcsQ0FBQ1MsYUFBYSxDQUFDQyxTQUFTLENBRWxELElBQUlDLFlBQVksR0FBRyxFQUFFOztFQUVyQixJQUFJUixTQUFTLEtBQUtTLFNBQVMsRUFBRTtJQUMzQkQsWUFBWSxHQUFJTCxLQUFLLENBQVlPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDaEQsQ0FBQyxNQUFNO0lBQ0xGLFlBQVksR0FBR1IsU0FBUztFQUMxQjs7RUFFQSxJQUFJUSxZQUFZLEtBQUtILGNBQWMsRUFBRTtJQUNuQyxPQUFPUCxHQUFHLENBQUNhLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCQyxRQUFRLEVBQUUsS0FBSztNQUNmQyxPQUFPLEVBQUU7SUFDWCxDQUFDLENBQUM7RUFDSjs7RUFFQUMsZUFBTSxDQUFDQyxJQUFJLENBQUNqQixPQUFPLEdBQUdNLGNBQWMsRUFBRVYsVUFBVSxFQUFFLFVBQVVzQixHQUFHLEVBQUVELElBQUksRUFBRTtJQUNyRSxJQUFJQyxHQUFHLEVBQUUsT0FBT25CLEdBQUcsQ0FBQ2EsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUNLLEdBQUcsQ0FBQzs7SUFFekMsTUFBTUMsVUFBVSxHQUFHRixJQUFJLENBQUNHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUNBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO0lBQy9ELE9BQU9yQixHQUFHLENBQUNhLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO01BQzFCRCxNQUFNLEVBQUUsU0FBUztNQUNqQlosT0FBTyxFQUFFQSxPQUFPO01BQ2hCSSxLQUFLLEVBQUVlLFVBQVU7TUFDakJFLElBQUksRUFBRyxHQUFFckIsT0FBUSxJQUFHbUIsVUFBVztJQUNqQyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSiJ9