@payloadcms/db-postgres 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +42 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +5 -7
- package/dist/queries/buildQuery.d.ts.map +1 -1
- package/dist/queries/buildQuery.js +3 -2
- package/dist/queries/getTableColumnFromPath.d.ts +9 -1
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +46 -15
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +6 -8
- package/dist/queries/sanitizeQueryValue.d.ts +3 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +5 -3
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +8 -10
- package/dist/schema/parentIDColumnMap.d.ts +3 -6
- package/dist/schema/parentIDColumnMap.d.ts.map +1 -1
- package/dist/schema/parentIDColumnMap.js +2 -1
- package/dist/schema/setColumnID.d.ts +11 -0
- package/dist/schema/setColumnID.d.ts.map +1 -0
- package/dist/schema/setColumnID.js +34 -0
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +2 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.js +6 -4
- package/package.json +3 -3
- package/dist/schema/getConfigIDType.d.ts +0 -3
- package/dist/schema/getConfigIDType.d.ts.map +0 -1
- package/dist/schema/getConfigIDType.js +0 -25
@@ -21,7 +21,7 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
21
21
|
rows: []
|
22
22
|
};
|
23
23
|
}
|
24
|
-
const parentID = parentRows[parentRowIndex].id
|
24
|
+
const parentID = parentRows[parentRowIndex].id;
|
25
25
|
// Add any sub arrays that need to be created
|
26
26
|
// We will call this recursively below
|
27
27
|
arrayRows.forEach((arrayRow)=>{
|
@@ -42,8 +42,10 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
42
42
|
// Insert all corresponding arrays
|
43
43
|
// (one insert per array table)
|
44
44
|
for (const [tableName, row] of Object.entries(rowsByTable)){
|
45
|
+
// the nested arrays need the ID for the parentID foreign key
|
46
|
+
let insertedRows;
|
45
47
|
if (row.rows.length > 0) {
|
46
|
-
await db.insert(adapter.tables[tableName]).values(row.rows).returning();
|
48
|
+
insertedRows = await db.insert(adapter.tables[tableName]).values(row.rows).returning();
|
47
49
|
}
|
48
50
|
// Insert locale rows
|
49
51
|
if (adapter.tables[`${tableName}_locales`] && row.locales.length > 0) {
|
@@ -55,10 +57,10 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
55
57
|
adapter,
|
56
58
|
arrays: row.arrays,
|
57
59
|
db,
|
58
|
-
parentRows:
|
60
|
+
parentRows: insertedRows
|
59
61
|
});
|
60
62
|
}
|
61
63
|
}
|
62
64
|
};
|
63
65
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdykgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSlcbiAgfSlcblxuICAvLyBJbnNlcnQgYWxsIGNvcnJlc3BvbmRpbmcgYXJyYXlzXG4gIC8vIChvbmUgaW5zZXJ0IHBlciBhcnJheSB0YWJsZSlcbiAgZm9yIChjb25zdCBbdGFibGVOYW1lLCByb3ddIG9mIE9iamVjdC5lbnRyaWVzKHJvd3NCeVRhYmxlKSkge1xuICAgIC8vIHRoZSBuZXN0ZWQgYXJyYXlzIG5lZWQgdGhlIElEIGZvciB0aGUgcGFyZW50SUQgZm9yZWlnbiBrZXlcbiAgICBsZXQgaW5zZXJ0ZWRSb3dzOiBBcmdzWydwYXJlbnRSb3dzJ11cbiAgICBpZiAocm93LnJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgaW5zZXJ0ZWRSb3dzID0gYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0pLnZhbHVlcyhyb3cucm93cykucmV0dXJuaW5nKClcbiAgICB9XG5cbiAgICAvLyBJbnNlcnQgbG9jYWxlIHJvd3NcbiAgICBpZiAoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9sb2NhbGVzYF0gJiYgcm93LmxvY2FsZXMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fbG9jYWxlc2BdKS52YWx1ZXMocm93LmxvY2FsZXMpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHN1YiBhcnJheXMsIGNhbGwgdGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseVxuICAgIGlmIChyb3cuYXJyYXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IGluc2VydEFycmF5cyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5czogcm93LmFycmF5cyxcbiAgICAgICAgZGIsXG4gICAgICAgIHBhcmVudFJvd3M6IGluc2VydGVkUm93cyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiaW5zZXJ0QXJyYXlzIiwiYWRhcHRlciIsImFycmF5cyIsImRiIiwicGFyZW50Um93cyIsInJvd3NCeVRhYmxlIiwiZm9yRWFjaCIsImFycmF5c0J5VGFibGUiLCJwYXJlbnRSb3dJbmRleCIsIk9iamVjdCIsImVudHJpZXMiLCJ0YWJsZU5hbWUiLCJhcnJheVJvd3MiLCJsb2NhbGVzIiwicm93cyIsInBhcmVudElEIiwiaWQiLCJhcnJheVJvdyIsImtleXMiLCJsZW5ndGgiLCJwdXNoIiwicm93IiwiX3BhcmVudElEIiwiYXJyYXlSb3dMb2NhbGUiLCJhcnJheVJvd0xvY2FsZURhdGEiLCJfbG9jYWxlIiwiaW5zZXJ0ZWRSb3dzIiwiaW5zZXJ0IiwidGFibGVzIiwidmFsdWVzIiwicmV0dXJuaW5nIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBdUJ2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZUFBZSxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBUTtJQUMxRSw0Q0FBNEM7SUFDNUMsTUFBTUMsY0FBMkIsQ0FBQztJQUVsQ0gsT0FBT0ksT0FBTyxDQUFDLENBQUNDLGVBQWVDO1FBQzdCQyxPQUFPQyxPQUFPLENBQUNILGVBQWVELE9BQU8sQ0FBQyxDQUFDLENBQUNLLFdBQVdDLFVBQVU7WUFDM0QsbURBQW1EO1lBQ25ELElBQUksQ0FBQ1AsV0FBVyxDQUFDTSxVQUFVLEVBQUU7Z0JBQzNCTixXQUFXLENBQUNNLFVBQVUsR0FBRztvQkFDdkJULFFBQVEsRUFBRTtvQkFDVlcsU0FBUyxFQUFFO29CQUNYQyxNQUFNLEVBQUU7Z0JBQ1Y7WUFDRjtZQUVBLE1BQU1DLFdBQVdYLFVBQVUsQ0FBQ0ksZUFBZSxDQUFDUSxFQUFFO1lBRTlDLDZDQUE2QztZQUM3QyxzQ0FBc0M7WUFDdENKLFVBQVVOLE9BQU8sQ0FBQyxDQUFDVztnQkFDakIsSUFBSVIsT0FBT1MsSUFBSSxDQUFDRCxTQUFTZixNQUFNLEVBQUVpQixNQUFNLEdBQUcsR0FBRztvQkFDM0NkLFdBQVcsQ0FBQ00sVUFBVSxDQUFDVCxNQUFNLENBQUNrQixJQUFJLENBQUNILFNBQVNmLE1BQU07Z0JBQ3BEO2dCQUVBLGdEQUFnRDtnQkFDaERlLFNBQVNJLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHUDtnQkFDekJWLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRyxJQUFJLENBQUNNLElBQUksQ0FBQ0gsU0FBU0ksR0FBRztnQkFFN0NaLE9BQU9DLE9BQU8sQ0FBQ08sU0FBU0osT0FBTyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDaUIsZ0JBQWdCQyxtQkFBbUI7b0JBQzVFQSxtQkFBbUJGLFNBQVMsR0FBR0wsU0FBU0ksR0FBRyxDQUFDTCxFQUFFO29CQUM5Q1EsbUJBQW1CQyxPQUFPLEdBQUdGO29CQUM3QmxCLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRSxPQUFPLENBQUNPLElBQUksQ0FBQ0k7Z0JBQ3RDO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsa0NBQWtDO0lBQ2xDLCtCQUErQjtJQUMvQixLQUFLLE1BQU0sQ0FBQ2IsV0FBV1UsSUFBSSxJQUFJWixPQUFPQyxPQUFPLENBQUNMLGFBQWM7UUFDMUQsNkRBQTZEO1FBQzdELElBQUlxQjtRQUNKLElBQUlMLElBQUlQLElBQUksQ0FBQ0ssTUFBTSxHQUFHLEdBQUc7WUFDdkJPLGVBQWUsTUFBTXZCLEdBQUd3QixNQUFNLENBQUMxQixRQUFRMkIsTUFBTSxDQUFDakIsVUFBVSxFQUFFa0IsTUFBTSxDQUFDUixJQUFJUCxJQUFJLEVBQUVnQixTQUFTO1FBQ3RGO1FBRUEscUJBQXFCO1FBQ3JCLElBQUk3QixRQUFRMkIsTUFBTSxDQUFDLENBQUMsRUFBRWpCLFVBQVUsUUFBUSxDQUFDLENBQUMsSUFBSVUsSUFBSVIsT0FBTyxDQUFDTSxNQUFNLEdBQUcsR0FBRztZQUNwRSxNQUFNaEIsR0FBR3dCLE1BQU0sQ0FBQzFCLFFBQVEyQixNQUFNLENBQUMsQ0FBQyxFQUFFakIsVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUFFa0IsTUFBTSxDQUFDUixJQUFJUixPQUFPLEVBQUVpQixTQUFTO1FBQ3ZGO1FBRUEsMERBQTBEO1FBQzFELElBQUlULElBQUluQixNQUFNLENBQUNpQixNQUFNLEdBQUcsR0FBRztZQUN6QixNQUFNbkIsYUFBYTtnQkFDakJDO2dCQUNBQyxRQUFRbUIsSUFBSW5CLE1BQU07Z0JBQ2xCQztnQkFDQUMsWUFBWXNCO1lBQ2Q7UUFDRjtJQUNGO0FBQ0YifQ==
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.6.0",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
6
6
|
"license": "MIT",
|
@@ -25,8 +25,8 @@
|
|
25
25
|
"devDependencies": {
|
26
26
|
"@types/pg": "8.10.2",
|
27
27
|
"@types/to-snake-case": "1.0.0",
|
28
|
-
"
|
29
|
-
"
|
28
|
+
"payload": "2.11.1",
|
29
|
+
"@payloadcms/eslint-config": "1.1.1"
|
30
30
|
},
|
31
31
|
"peerDependencies": {
|
32
32
|
"payload": "^2.0.0"
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"getConfigIDType.d.ts","sourceRoot":"","sources":["../../src/schema/getConfigIDType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAoB,MAAM,eAAe,CAAA;AAE5D,eAAO,MAAM,eAAe,WAAY,KAAK,EAAE,KAAG,MAcjD,CAAA"}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "getConfigIDType", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return getConfigIDType;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _types = require("payload/types");
|
12
|
-
const getConfigIDType = (fields)=>{
|
13
|
-
const idField = fields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
|
14
|
-
if (idField) {
|
15
|
-
if (idField.type === 'number') {
|
16
|
-
return 'numeric';
|
17
|
-
}
|
18
|
-
if (idField.type === 'text') {
|
19
|
-
return 'varchar';
|
20
|
-
}
|
21
|
-
}
|
22
|
-
return 'integer';
|
23
|
-
};
|
24
|
-
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZ2V0Q29uZmlnSURUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmllbGQsIGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgZ2V0Q29uZmlnSURUeXBlID0gKGZpZWxkczogRmllbGRbXSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGlkRmllbGQgPSBmaWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgaWYgKGlkRmllbGQpIHtcbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuICdudW1lcmljJ1xuICAgIH1cblxuICAgIGlmIChpZEZpZWxkLnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgcmV0dXJuICd2YXJjaGFyJ1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnaW50ZWdlcidcbn1cbiJdLCJuYW1lcyI6WyJnZXRDb25maWdJRFR5cGUiLCJmaWVsZHMiLCJpZEZpZWxkIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7dUJBRmdDO0FBRXRDLE1BQU1BLGtCQUFrQixDQUFDQztJQUM5QixNQUFNQyxVQUFVRCxPQUFPRSxJQUFJLENBQUMsQ0FBQ0MsUUFBVUMsSUFBQUEsdUJBQWdCLEVBQUNELFVBQVVBLE1BQU1FLElBQUksS0FBSztJQUVqRixJQUFJSixTQUFTO1FBQ1gsSUFBSUEsUUFBUUssSUFBSSxLQUFLLFVBQVU7WUFDN0IsT0FBTztRQUNUO1FBRUEsSUFBSUwsUUFBUUssSUFBSSxLQUFLLFFBQVE7WUFDM0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPO0FBQ1QifQ==
|