parse-server 7.0.0-alpha.2 → 7.0.0-alpha.20

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.
package/README.md CHANGED
@@ -9,9 +9,9 @@
9
9
  [![Coverage](https://img.shields.io/codecov/c/github/parse-community/parse-server/alpha.svg)](https://codecov.io/github/parse-community/parse-server?branch=alpha)
10
10
  [![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)
11
11
 
12
- [![Node Version](https://img.shields.io/badge/nodejs-14,_16,_18-green.svg?logo=node.js&style=flat)](https://nodejs.org)
12
+ [![Node Version](https://img.shields.io/badge/nodejs-18,_20-green.svg?logo=node.js&style=flat)](https://nodejs.org)
13
13
  [![MongoDB Version](https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4,_5,_6-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
14
- [![Postgres Version](https://img.shields.io/badge/postgresql-11,_12,_13,_14,_15-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)
14
+ [![Postgres Version](https://img.shields.io/badge/postgresql-13,_14,_15,_16-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)
15
15
 
16
16
  [![npm latest version](https://img.shields.io/npm/v/parse-server/latest.svg)](https://www.npmjs.com/package/parse-server)
17
17
  [![npm beta version](https://img.shields.io/npm/v/parse-server/beta.svg)](https://www.npmjs.com/package/parse-server)
@@ -129,10 +129,8 @@ Parse Server is continuously tested with the most recent releases of Node.js to
129
129
 
130
130
  | Version | Latest Version | End-of-Life | Compatible |
131
131
  |------------|----------------|-------------|------------|
132
- | Node.js 14 | 14.19.1 | April 2023 | ✅ Yes |
133
- | Node.js 16 | 16.14.2 | April 2024 | ✅ Yes |
134
- | Node.js 18 | 18.12.1 | April 2025 | ✅ Yes |
135
- | Node.js 19 | 19.3.0 | June 2023 | ✅ Yes |
132
+ | Node.js 18 | 18.19.1 | April 2025 | ✅ Yes |
133
+ | Node.js 20 | 20.11.1 | April 2026 | ✅ Yes |
136
134
 
137
135
  #### MongoDB
138
136
 
@@ -153,11 +151,10 @@ Parse Server is continuously tested with the most recent releases of PostgreSQL
153
151
 
154
152
  | Version | PostGIS Version | End-of-Life | Parse Server Support | Compatible |
155
153
  |-------------|--------------------|---------------|----------------------|------------|
156
- | Postgres 11 | 3.0, 3.1, 3.2, 3.3 | November 2023 | <= 5.x (2022) | ✅ Yes |
157
- | Postgres 12 | 3.3 | November 2024 | <= 5.x (2022) | ✅ Yes |
158
- | Postgres 13 | 3.3 | November 2025 | <= 6.x (2023) | ✅ Yes |
159
- | Postgres 14 | 3.3 | November 2026 | <= 7.x (2024) | ✅ Yes |
160
- | Postgres 15 | 3.3 | November 2027 | <= 8.x (2025) | ✅ Yes |
154
+ | Postgres 13 | 3.1, 3.2, 3.3, 3.4 | November 2025 | <= 6.x (2023) | ✅ Yes |
155
+ | Postgres 14 | 3.4 | November 2026 | <= 7.x (2024) | ✅ Yes |
156
+ | Postgres 15 | 3.4 | November 2027 | <= 8.x (2025) | ✅ Yes |
157
+ | Postgres 16 | 3.4 | November 2028 | <= 9.x (2026) | ✅ Yes |
161
158
 
162
159
  ### Locally
163
160
 
@@ -62,7 +62,7 @@ function searchForGroup(client, options, id, resolve, reject) {
62
62
  return reject(new Parse.Error(Parse.Error.INTERNAL_SERVER_ERROR, 'LDAP group search failed'));
63
63
  }
64
64
  res.on('searchEntry', entry => {
65
- if (entry.object.cn === options.groupCn) {
65
+ if (entry.pojo.attributes.find(obj => obj.type === 'cn').values.includes(options.groupCn)) {
66
66
  found = true;
67
67
  client.unbind();
68
68
  client.destroy();
@@ -90,4 +90,4 @@ module.exports = {
90
90
  validateAppId,
91
91
  validateAuthData
92
92
  };
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsZGFwanMiLCJyZXF1aXJlIiwiUGFyc2UiLCJ2YWxpZGF0ZUF1dGhEYXRhIiwiYXV0aERhdGEiLCJvcHRpb25zIiwib3B0aW9uc0FyZVZhbGlkIiwiUHJvbWlzZSIsIl8iLCJyZWplY3QiLCJFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsImNsaWVudE9wdGlvbnMiLCJ1cmwiLCJzdGFydHNXaXRoIiwidGxzT3B0aW9ucyIsImNsaWVudCIsImNyZWF0ZUNsaWVudCIsInVzZXJDbiIsImRuIiwicmVwbGFjZSIsImlkIiwic3VmZml4IiwicmVzb2x2ZSIsImJpbmQiLCJwYXNzd29yZCIsImxkYXBFcnJvciIsImVycm9yIiwiY29kZSIsIk9CSkVDVF9OT1RfRk9VTkQiLCJkZXN0cm95IiwiZ3JvdXBDbiIsImdyb3VwRmlsdGVyIiwic2VhcmNoRm9yR3JvdXAiLCJ1bmJpbmQiLCJmaWx0ZXIiLCJvcHRzIiwic2NvcGUiLCJmb3VuZCIsInNlYXJjaCIsInNlYXJjaEVycm9yIiwicmVzIiwib24iLCJlbnRyeSIsIm9iamVjdCIsImNuIiwidmFsaWRhdGVBcHBJZCIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQWRhcHRlcnMvQXV0aC9sZGFwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGxkYXBqcyA9IHJlcXVpcmUoJ2xkYXBqcycpO1xuY29uc3QgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2U7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQXV0aERhdGEoYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zQXJlVmFsaWQob3B0aW9ucykpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4ge1xuICAgICAgcmVqZWN0KG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlRFUk5BTF9TRVJWRVJfRVJST1IsICdMREFQIGF1dGggY29uZmlndXJhdGlvbiBtaXNzaW5nJykpO1xuICAgIH0pO1xuICB9XG4gIGNvbnN0IGNsaWVudE9wdGlvbnMgPSBvcHRpb25zLnVybC5zdGFydHNXaXRoKCdsZGFwczovLycpXG4gICAgPyB7IHVybDogb3B0aW9ucy51cmwsIHRsc09wdGlvbnM6IG9wdGlvbnMudGxzT3B0aW9ucyB9XG4gICAgOiB7IHVybDogb3B0aW9ucy51cmwgfTtcblxuICBjb25zdCBjbGllbnQgPSBsZGFwanMuY3JlYXRlQ2xpZW50KGNsaWVudE9wdGlvbnMpO1xuICBjb25zdCB1c2VyQ24gPVxuICAgIHR5cGVvZiBvcHRpb25zLmRuID09PSAnc3RyaW5nJ1xuICAgICAgPyBvcHRpb25zLmRuLnJlcGxhY2UoJ3t7aWR9fScsIGF1dGhEYXRhLmlkKVxuICAgICAgOiBgdWlkPSR7YXV0aERhdGEuaWR9LCR7b3B0aW9ucy5zdWZmaXh9YDtcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNsaWVudC5iaW5kKHVzZXJDbiwgYXV0aERhdGEucGFzc3dvcmQsIGxkYXBFcnJvciA9PiB7XG4gICAgICBkZWxldGUgYXV0aERhdGEucGFzc3dvcmQ7XG4gICAgICBpZiAobGRhcEVycm9yKSB7XG4gICAgICAgIGxldCBlcnJvcjtcbiAgICAgICAgc3dpdGNoIChsZGFwRXJyb3IuY29kZSkge1xuICAgICAgICAgIGNhc2UgNDk6XG4gICAgICAgICAgICBlcnJvciA9IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgICAgICAgUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCxcbiAgICAgICAgICAgICAgJ0xEQVA6IFdyb25nIHVzZXJuYW1lIG9yIHBhc3N3b3JkJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0RFUFRIX1pFUk9fU0VMRl9TSUdORURfQ0VSVCc6XG4gICAgICAgICAgICBlcnJvciA9IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnTERBUFM6IENlcnRpZmljYXRlIG1pc21hdGNoJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgZXJyb3IgPSBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICAgIFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsXG4gICAgICAgICAgICAgICdMREFQOiBTb210aGluZyB3ZW50IHdyb25nICgnICsgbGRhcEVycm9yLmNvZGUgKyAnKSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgY2xpZW50LmRlc3Ryb3kobGRhcEVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMuZ3JvdXBDbiA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIG9wdGlvbnMuZ3JvdXBGaWx0ZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHNlYXJjaEZvckdyb3VwKGNsaWVudCwgb3B0aW9ucywgYXV0aERhdGEuaWQsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGllbnQudW5iaW5kKCk7XG4gICAgICAgIGNsaWVudC5kZXN0cm95KCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG9wdGlvbnNBcmVWYWxpZChvcHRpb25zKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmXG4gICAgdHlwZW9mIG9wdGlvbnMuc3VmZml4ID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBvcHRpb25zLnVybCA9PT0gJ3N0cmluZycgJiZcbiAgICAob3B0aW9ucy51cmwuc3RhcnRzV2l0aCgnbGRhcDovLycpIHx8XG4gICAgICAob3B0aW9ucy51cmwuc3RhcnRzV2l0aCgnbGRhcHM6Ly8nKSAmJiB0eXBlb2Ygb3B0aW9ucy50bHNPcHRpb25zID09PSAnb2JqZWN0JykpXG4gICk7XG59XG5cbmZ1bmN0aW9uIHNlYXJjaEZvckdyb3VwKGNsaWVudCwgb3B0aW9ucywgaWQsIHJlc29sdmUsIHJlamVjdCkge1xuICBjb25zdCBmaWx0ZXIgPSBvcHRpb25zLmdyb3VwRmlsdGVyLnJlcGxhY2UoL3t7aWR9fS9naSwgaWQpO1xuICBjb25zdCBvcHRzID0ge1xuICAgIHNjb3BlOiAnc3ViJyxcbiAgICBmaWx0ZXI6IGZpbHRlcixcbiAgfTtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG4gIGNsaWVudC5zZWFyY2gob3B0aW9ucy5zdWZmaXgsIG9wdHMsIChzZWFyY2hFcnJvciwgcmVzKSA9PiB7XG4gICAgaWYgKHNlYXJjaEVycm9yKSB7XG4gICAgICBjbGllbnQudW5iaW5kKCk7XG4gICAgICBjbGllbnQuZGVzdHJveSgpO1xuICAgICAgcmV0dXJuIHJlamVjdChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5URVJOQUxfU0VSVkVSX0VSUk9SLCAnTERBUCBncm91cCBzZWFyY2ggZmFpbGVkJykpO1xuICAgIH1cbiAgICByZXMub24oJ3NlYXJjaEVudHJ5JywgZW50cnkgPT4ge1xuICAgICAgaWYgKGVudHJ5Lm9iamVjdC5jbiA9PT0gb3B0aW9ucy5ncm91cENuKSB7XG4gICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgY2xpZW50LnVuYmluZCgpO1xuICAgICAgICBjbGllbnQuZGVzdHJveSgpO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJlcy5vbignZW5kJywgKCkgPT4ge1xuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICBjbGllbnQudW5iaW5kKCk7XG4gICAgICAgIGNsaWVudC5kZXN0cm95KCk7XG4gICAgICAgIHJldHVybiByZWplY3QoXG4gICAgICAgICAgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUiwgJ0xEQVA6IFVzZXIgbm90IGluIGdyb3VwJylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXMub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgY2xpZW50LnVuYmluZCgpO1xuICAgICAgY2xpZW50LmRlc3Ryb3koKTtcbiAgICAgIHJldHVybiByZWplY3QobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUiwgJ0xEQVAgZ3JvdXAgc2VhcmNoIGZhaWxlZCcpKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQXBwSWQoKSB7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHZhbGlkYXRlQXBwSWQsXG4gIHZhbGlkYXRlQXV0aERhdGEsXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLE1BQU0sR0FBR0MsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUNoQyxNQUFNQyxLQUFLLEdBQUdELE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQ0MsS0FBSztBQUV6QyxTQUFTQyxnQkFBZ0JBLENBQUNDLFFBQVEsRUFBRUMsT0FBTyxFQUFFO0VBQzNDLElBQUksQ0FBQ0MsZUFBZSxDQUFDRCxPQUFPLENBQUMsRUFBRTtJQUM3QixPQUFPLElBQUlFLE9BQU8sQ0FBQyxDQUFDQyxDQUFDLEVBQUVDLE1BQU0sS0FBSztNQUNoQ0EsTUFBTSxDQUFDLElBQUlQLEtBQUssQ0FBQ1EsS0FBSyxDQUFDUixLQUFLLENBQUNRLEtBQUssQ0FBQ0MscUJBQXFCLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUMvRixDQUFDLENBQUM7RUFDSjtFQUNBLE1BQU1DLGFBQWEsR0FBR1AsT0FBTyxDQUFDUSxHQUFHLENBQUNDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FDcEQ7SUFBRUQsR0FBRyxFQUFFUixPQUFPLENBQUNRLEdBQUc7SUFBRUUsVUFBVSxFQUFFVixPQUFPLENBQUNVO0VBQVcsQ0FBQyxHQUNwRDtJQUFFRixHQUFH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
93
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsZGFwanMiLCJyZXF1aXJlIiwiUGFyc2UiLCJ2YWxpZGF0ZUF1dGhEYXRhIiwiYXV0aERhdGEiLCJvcHRpb25zIiwib3B0aW9uc0FyZVZhbGlkIiwiUHJvbWlzZSIsIl8iLCJyZWplY3QiLCJFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsImNsaWVudE9wdGlvbnMiLCJ1cmwiLCJzdGFydHNXaXRoIiwidGxzT3B0aW9ucyIsImNsaWVudCIsImNyZWF0ZUNsaWVudCIsInVzZXJDbiIsImRuIiwicmVwbGFjZSIsImlkIiwic3VmZml4IiwicmVzb2x2ZSIsImJpbmQiLCJwYXNzd29yZCIsImxkYXBFcnJvciIsImVycm9yIiwiY29kZSIsIk9CSkVDVF9OT1RfRk9VTkQiLCJkZXN0cm95IiwiZ3JvdXBDbiIsImdyb3VwRmlsdGVyIiwic2VhcmNoRm9yR3JvdXAiLCJ1bmJpbmQiLCJmaWx0ZXIiLCJvcHRzIiwic2NvcGUiLCJmb3VuZCIsInNlYXJjaCIsInNlYXJjaEVycm9yIiwicmVzIiwib24iLCJlbnRyeSIsInBvam8iLCJhdHRyaWJ1dGVzIiwiZmluZCIsIm9iaiIsInR5cGUiLCJ2YWx1ZXMiLCJpbmNsdWRlcyIsInZhbGlkYXRlQXBwSWQiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0FkYXB0ZXJzL0F1dGgvbGRhcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBsZGFwanMgPSByZXF1aXJlKCdsZGFwanMnKTtcbmNvbnN0IFBhcnNlID0gcmVxdWlyZSgncGFyc2Uvbm9kZScpLlBhcnNlO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZUF1dGhEYXRhKGF1dGhEYXRhLCBvcHRpb25zKSB7XG4gIGlmICghb3B0aW9uc0FyZVZhbGlkKG9wdGlvbnMpKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlamVjdChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5URVJOQUxfU0VSVkVSX0VSUk9SLCAnTERBUCBhdXRoIGNvbmZpZ3VyYXRpb24gbWlzc2luZycpKTtcbiAgICB9KTtcbiAgfVxuICBjb25zdCBjbGllbnRPcHRpb25zID0gb3B0aW9ucy51cmwuc3RhcnRzV2l0aCgnbGRhcHM6Ly8nKVxuICAgID8geyB1cmw6IG9wdGlvbnMudXJsLCB0bHNPcHRpb25zOiBvcHRpb25zLnRsc09wdGlvbnMgfVxuICAgIDogeyB1cmw6IG9wdGlvbnMudXJsIH07XG5cbiAgY29uc3QgY2xpZW50ID0gbGRhcGpzLmNyZWF0ZUNsaWVudChjbGllbnRPcHRpb25zKTtcbiAgY29uc3QgdXNlckNuID1cbiAgICB0eXBlb2Ygb3B0aW9ucy5kbiA9PT0gJ3N0cmluZydcbiAgICAgID8gb3B0aW9ucy5kbi5yZXBsYWNlKCd7e2lkfX0nLCBhdXRoRGF0YS5pZClcbiAgICAgIDogYHVpZD0ke2F1dGhEYXRhLmlkfSwke29wdGlvbnMuc3VmZml4fWA7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjbGllbnQuYmluZCh1c2VyQ24sIGF1dGhEYXRhLnBhc3N3b3JkLCBsZGFwRXJyb3IgPT4ge1xuICAgICAgZGVsZXRlIGF1dGhEYXRhLnBhc3N3b3JkO1xuICAgICAgaWYgKGxkYXBFcnJvcikge1xuICAgICAgICBsZXQgZXJyb3I7XG4gICAgICAgIHN3aXRjaCAobGRhcEVycm9yLmNvZGUpIHtcbiAgICAgICAgICBjYXNlIDQ5OlxuICAgICAgICAgICAgZXJyb3IgPSBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICAgIFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsXG4gICAgICAgICAgICAgICdMREFQOiBXcm9uZyB1c2VybmFtZSBvciBwYXNzd29yZCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdERVBUSF9aRVJPX1NFTEZfU0lHTkVEX0NFUlQnOlxuICAgICAgICAgICAgZXJyb3IgPSBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ0xEQVBTOiBDZXJ0aWZpY2F0ZSBtaXNtYXRjaCcpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGVycm9yID0gbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgICAgICBQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELFxuICAgICAgICAgICAgICAnTERBUDogU29tdGhpbmcgd2VudCB3cm9uZyAoJyArIGxkYXBFcnJvci5jb2RlICsgJyknXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIGNsaWVudC5kZXN0cm95KGxkYXBFcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmdyb3VwQ24gPT09ICdzdHJpbmcnICYmIHR5cGVvZiBvcHRpb25zLmdyb3VwRmlsdGVyID09PSAnc3RyaW5nJykge1xuICAgICAgICBzZWFyY2hGb3JHcm91cChjbGllbnQsIG9wdGlvbnMsIGF1dGhEYXRhLmlkLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xpZW50LnVuYmluZCgpO1xuICAgICAgICBjbGllbnQuZGVzdHJveSgpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvcHRpb25zQXJlVmFsaWQob3B0aW9ucykge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JyAmJlxuICAgIHR5cGVvZiBvcHRpb25zLnN1ZmZpeCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb3B0aW9ucy51cmwgPT09ICdzdHJpbmcnICYmXG4gICAgKG9wdGlvbnMudXJsLnN0YXJ0c1dpdGgoJ2xkYXA6Ly8nKSB8fFxuICAgICAgKG9wdGlvbnMudXJsLnN0YXJ0c1dpdGgoJ2xkYXBzOi8vJykgJiYgdHlwZW9mIG9wdGlvbnMudGxzT3B0aW9ucyA9PT0gJ29iamVjdCcpKVxuICApO1xufVxuXG5mdW5jdGlvbiBzZWFyY2hGb3JHcm91cChjbGllbnQsIG9wdGlvbnMsIGlkLCByZXNvbHZlLCByZWplY3QpIHtcbiAgY29uc3QgZmlsdGVyID0gb3B0aW9ucy5ncm91cEZpbHRlci5yZXBsYWNlKC97e2lkfX0vZ2ksIGlkKTtcbiAgY29uc3Qgb3B0cyA9IHtcbiAgICBzY29wZTogJ3N1YicsXG4gICAgZmlsdGVyOiBmaWx0ZXIsXG4gIH07XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuICBjbGllbnQuc2VhcmNoKG9wdGlvbnMuc3VmZml4LCBvcHRzLCAoc2VhcmNoRXJyb3IsIHJlcykgPT4ge1xuICAgIGlmIChzZWFyY2hFcnJvcikge1xuICAgICAgY2xpZW50LnVuYmluZCgpO1xuICAgICAgY2xpZW50LmRlc3Ryb3koKTtcbiAgICAgIHJldHVybiByZWplY3QobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUiwgJ0xEQVAgZ3JvdXAgc2VhcmNoIGZhaWxlZCcpKTtcbiAgICB9XG4gICAgcmVzLm9uKCdzZWFyY2hFbnRyeScsIGVudHJ5ID0+IHtcbiAgICAgIGlmIChlbnRyeS5wb2pvLmF0dHJpYnV0ZXMuZmluZChvYmogPT4gb2JqLnR5cGUgPT09ICdjbicpLnZhbHVlcy5pbmNsdWRlcyhvcHRpb25zLmdyb3VwQ24pKSB7XG4gICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgY2xpZW50LnVuYmluZCgpO1xuICAgICAgICBjbGllbnQuZGVzdHJveSgpO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJlcy5vbignZW5kJywgKCkgPT4ge1xuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICBjbGllbnQudW5iaW5kKCk7XG4gICAgICAgIGNsaWVudC5kZXN0cm95KCk7XG4gICAgICAgIHJldHVybiByZWplY3QoXG4gICAgICAgICAgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUiwgJ0xEQVA6IFVzZXIgbm90IGluIGdyb3VwJylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXMub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgY2xpZW50LnVuYmluZCgpO1xuICAgICAgY2xpZW50LmRlc3Ryb3koKTtcbiAgICAgIHJldHVybiByZWplY3QobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUiwgJ0xEQVAgZ3JvdXAgc2VhcmNoIGZhaWxlZCcpKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQXBwSWQoKSB7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHZhbGlkYXRlQXBwSWQsXG4gIHZhbGlkYXRlQXV0aERhdGEsXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLE1BQU0sR0FBR0MsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUNoQyxNQUFNQyxLQUFLLEdBQUdELE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQ0MsS0FBSztBQUV6QyxTQUFTQyxnQkFBZ0JBLENBQUNDLFFBQVEsRUFBRUMsT0FBTyxFQUFFO0VBQzNDLElBQUksQ0FBQ0MsZUFBZSxDQUFDRCxPQUFPLENBQUMsRUFBRTtJQUM3QixPQUFPLElBQUlFLE9BQU8sQ0FBQyxDQUFDQyxDQUFDLEVBQUVDLE1BQU0sS0FBSztNQUNoQ0EsTUFBTSxDQUFDLElBQUlQLEtBQUssQ0FBQ1EsS0FBSyxDQUFDUixLQUFLLENBQUNRLEtBQUssQ0FBQ0MscUJBQXFCLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUMvRixDQUFDLENBQUM7RUFDSjtFQUNBLE1BQU1DLGFBQWEsR0FBR1AsT0FBTyxDQUFDUSxHQUFHLENBQUNDLFVBQVUsQ0FBQyxVQUFVLENB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