@payloadcms/db-postgres 0.1.10 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/dist/create.d.ts.map +1 -1
  2. package/dist/create.js +3 -2
  3. package/dist/createGlobal.d.ts.map +1 -1
  4. package/dist/createGlobal.js +3 -2
  5. package/dist/createGlobalVersion.d.ts +1 -1
  6. package/dist/createGlobalVersion.d.ts.map +1 -1
  7. package/dist/createGlobalVersion.js +3 -2
  8. package/dist/createVersion.d.ts.map +1 -1
  9. package/dist/createVersion.js +4 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -1
  12. package/dist/schema/traverseFields.d.ts.map +1 -1
  13. package/dist/schema/traverseFields.js +13 -5
  14. package/dist/transform/write/array.d.ts +2 -1
  15. package/dist/transform/write/array.d.ts.map +1 -1
  16. package/dist/transform/write/array.js +3 -2
  17. package/dist/transform/write/blocks.d.ts +2 -1
  18. package/dist/transform/write/blocks.d.ts.map +1 -1
  19. package/dist/transform/write/blocks.js +3 -2
  20. package/dist/transform/write/index.d.ts.map +1 -1
  21. package/dist/transform/write/index.js +3 -1
  22. package/dist/transform/write/traverseFields.d.ts +2 -1
  23. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  24. package/dist/transform/write/traverseFields.js +15 -2
  25. package/dist/transform/write/types.d.ts +1 -0
  26. package/dist/transform/write/types.d.ts.map +1 -1
  27. package/dist/types.d.ts +6 -0
  28. package/dist/types.d.ts.map +1 -1
  29. package/dist/update.d.ts.map +1 -1
  30. package/dist/update.js +3 -2
  31. package/dist/updateGlobal.d.ts.map +1 -1
  32. package/dist/updateGlobal.js +3 -2
  33. package/dist/updateGlobalVersion.d.ts +1 -2
  34. package/dist/updateGlobalVersion.d.ts.map +1 -1
  35. package/dist/updateGlobalVersion.js +3 -2
  36. package/dist/updateVersion.d.ts.map +1 -1
  37. package/dist/updateVersion.js +3 -2
  38. package/dist/upsertRow/index.d.ts +1 -1
  39. package/dist/upsertRow/index.d.ts.map +1 -1
  40. package/dist/upsertRow/index.js +183 -172
  41. package/dist/upsertRow/types.d.ts +2 -1
  42. package/dist/upsertRow/types.d.ts.map +1 -1
  43. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAQ9C,eAAO,MAAM,MAAM,EAAE,MAiBpB,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAQ9C,eAAO,MAAM,MAAM,EAAE,MAkBpB,CAAA"}
package/dist/create.js CHANGED
@@ -24,9 +24,10 @@ const create = async function create({ collection: collectionSlug, data, req })
24
24
  db,
25
25
  fields: collection.fields,
26
26
  operation: 'create',
27
- tableName: (0, _tosnakecase.default)(collectionSlug)
27
+ tableName: (0, _tosnakecase.default)(collectionSlug),
28
+ req
28
29
  });
29
30
  return result;
30
31
  };
31
32
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZTogQ3JlYXRlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsIGRhdGEsIHJlcSB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJyZXEiLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJyZXN1bHQiLCJ1cHNlcnRSb3ciLCJhZGFwdGVyIiwiZmllbGRzIiwib3BlcmF0aW9uIiwidGFibGVOYW1lIiwidG9TbmFrZUNhc2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7OztvRUFOVzsyQkFJRTs7Ozs7O0FBRW5CLE1BQU1BLFNBQWlCLGVBQWVBLE9BRTNDLEVBQUVDLFlBQVlDLGNBQWMsRUFBRUMsSUFBSSxFQUFFQyxHQUFHLEVBQUU7SUFFekMsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0YsSUFBSUcsYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1QLGFBQWEsSUFBSSxDQUFDUSxPQUFPLENBQUNDLFdBQVcsQ0FBQ1IsZUFBZSxDQUFDUyxNQUFNO0lBRWxFLE1BQU1DLFNBQVMsTUFBTUMsSUFBQUEsb0JBQVMsRUFBQztRQUM3QkMsU0FBUyxJQUFJO1FBQ2JYO1FBQ0FFO1FBQ0FVLFFBQVFkLFdBQVdjLE1BQU07UUFDekJDLFdBQVc7UUFDWEMsV0FBV0MsSUFBQUEsb0JBQVcsRUFBQ2hCO0lBQ3pCO0lBRUEsT0FBT1U7QUFDVCJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZTogQ3JlYXRlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsIGRhdGEsIHJlcSB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJjb2xsZWN0aW9uIiwiY29sbGVjdGlvblNsdWciLCJkYXRhIiwicmVxIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwicmVzdWx0IiwidXBzZXJ0Um93IiwiYWRhcHRlciIsImZpZWxkcyIsIm9wZXJhdGlvbiIsInRhYmxlTmFtZSIsInRvU25ha2VDYXNlIl0sIm1hcHBpbmdzIjoiOzs7OytCQVFhQTs7O2VBQUFBOzs7b0VBTlc7MkJBSUU7Ozs7OztBQUVuQixNQUFNQSxTQUFpQixlQUFlQSxPQUUzQyxFQUFFQyxZQUFZQyxjQUFjLEVBQUVDLElBQUksRUFBRUMsR0FBRyxFQUFFO0lBRXpDLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNGLElBQUlHLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNUCxhQUFhLElBQUksQ0FBQ1EsT0FBTyxDQUFDQyxXQUFXLENBQUNSLGVBQWUsQ0FBQ1MsTUFBTTtJQUVsRSxNQUFNQyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUM7UUFDN0JDLFNBQVMsSUFBSTtRQUNiWDtRQUNBRTtRQUNBVSxRQUFRZCxXQUFXYyxNQUFNO1FBQ3pCQyxXQUFXO1FBQ1hDLFdBQVdDLElBQUFBLG9CQUFXLEVBQUNoQjtRQUN2QkU7SUFDRjtJQUVBLE9BQU9RO0FBQ1QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"createGlobal.d.ts","sourceRoot":"","sources":["../src/createGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,YAAY,CAAC,CAAC,SAAS,UAAU,EACrD,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,GAA0B,EAAE,IAAI,EAAE,EAAE,gBAAgB,GAC3D,OAAO,CAAC,CAAC,CAAC,CAcZ"}
1
+ {"version":3,"file":"createGlobal.d.ts","sourceRoot":"","sources":["../src/createGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,YAAY,CAAC,CAAC,SAAS,UAAU,EACrD,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,GAA0B,EAAE,IAAI,EAAE,EAAE,gBAAgB,GAC3D,OAAO,CAAC,CAAC,CAAC,CAeZ"}
@@ -24,9 +24,10 @@ async function createGlobal({ data, req = {}, slug }) {
24
24
  db,
25
25
  fields: globalConfig.fields,
26
26
  operation: 'create',
27
- tableName: (0, _tosnakecase.default)(slug)
27
+ tableName: (0, _tosnakecase.default)(slug),
28
+ req
28
29
  });
29
30
  return result;
30
31
  }
31
32
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUdsb2JhbDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBkYXRhLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgc2x1ZyB9OiBDcmVhdGVHbG9iYWxBcmdzLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWxDb25maWcgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoY29uZmlnKSA9PiBjb25maWcuc2x1ZyA9PT0gc2x1ZylcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VD4oe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGdsb2JhbENvbmZpZy5maWVsZHMsXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWU6IHRvU25ha2VDYXNlKHNsdWcpLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVHbG9iYWwiLCJkYXRhIiwicmVxIiwic2x1ZyIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZHJpenpsZSIsImdsb2JhbENvbmZpZyIsInBheWxvYWQiLCJnbG9iYWxzIiwiY29uZmlnIiwiZmluZCIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTc0JBOzs7ZUFBQUE7OztvRUFORTsyQkFJRTs7Ozs7O0FBRW5CLGVBQWVBLGFBRXBCLEVBQUVDLElBQUksRUFBRUMsTUFBTSxDQUFDLENBQW1CLEVBQUVDLElBQUksRUFBb0I7SUFFNUQsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1DLGVBQWUsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ0QsU0FBV0EsT0FBT1IsSUFBSSxLQUFLQTtJQUVsRixNQUFNVSxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUk7UUFDaENDLFNBQVMsSUFBSTtRQUNiZDtRQUNBRztRQUNBWSxRQUFRUixhQUFhUSxNQUFNO1FBQzNCQyxXQUFXO1FBQ1hDLFdBQVdDLElBQUFBLG9CQUFXLEVBQUNoQjtJQUN6QjtJQUVBLE9BQU9VO0FBQ1QifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUdsb2JhbDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBkYXRhLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgc2x1ZyB9OiBDcmVhdGVHbG9iYWxBcmdzLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWxDb25maWcgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoY29uZmlnKSA9PiBjb25maWcuc2x1ZyA9PT0gc2x1ZylcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VD4oe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGdsb2JhbENvbmZpZy5maWVsZHMsXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWU6IHRvU25ha2VDYXNlKHNsdWcpLFxuICAgIHJlcSxcbiAgfSlcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlR2xvYmFsIiwiZGF0YSIsInJlcSIsInNsdWciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWxDb25maWciLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJyZXN1bHQiLCJ1cHNlcnRSb3ciLCJhZGFwdGVyIiwiZmllbGRzIiwib3BlcmF0aW9uIiwidGFibGVOYW1lIiwidG9TbmFrZUNhc2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBU3NCQTs7O2VBQUFBOzs7b0VBTkU7MkJBSUU7Ozs7OztBQUVuQixlQUFlQSxhQUVwQixFQUFFQyxJQUFJLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxJQUFJLEVBQW9CO0lBRTVELE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNILElBQUlJLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNQyxlQUFlLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUNELFNBQVdBLE9BQU9SLElBQUksS0FBS0E7SUFFbEYsTUFBTVUsU0FBUyxNQUFNQyxJQUFBQSxvQkFBUyxFQUFJO1FBQ2hDQyxTQUFTLElBQUk7UUFDYmQ7UUFDQUc7UUFDQVksUUFBUVIsYUFBYVEsTUFBTTtRQUMzQkMsV0FBVztRQUNYQyxXQUFXQyxJQUFBQSxvQkFBVyxFQUFDaEI7UUFDdkJEO0lBQ0Y7SUFFQSxPQUFPVztBQUNUIn0=
@@ -1,6 +1,6 @@
1
1
  import type { TypeWithVersion } from 'payload/database';
2
- import type { TypeWithID } from 'payload/types';
3
2
  import { type CreateGlobalVersionArgs } from 'payload/database';
3
+ import type { TypeWithID } from 'payload/types';
4
4
  import type { PostgresAdapter } from './types';
5
5
  export declare function createGlobalVersion<T extends TypeWithID>(this: PostgresAdapter, { autosave, globalSlug, req, versionData }: CreateGlobalVersionArgs): Promise<TypeWithVersion<T>>;
6
6
  //# sourceMappingURL=createGlobalVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createGlobalVersion.d.ts","sourceRoot":"","sources":["../src/createGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/D,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,eAAe,EACrB,EAAE,QAAQ,EAAE,UAAU,EAAE,GAA0B,EAAE,WAAW,EAAE,EAAE,uBAAuB,+BA+B3F"}
1
+ {"version":3,"file":"createGlobalVersion.d.ts","sourceRoot":"","sources":["../src/createGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,eAAe,EACrB,EAAE,QAAQ,EAAE,UAAU,EAAE,GAA0B,EAAE,WAAW,EAAE,EAAE,uBAAuB,+BAgC3F"}
@@ -32,7 +32,8 @@ async function createGlobalVersion({ autosave, globalSlug, req = {}, versionData
32
32
  db,
33
33
  fields: (0, _versions.buildVersionGlobalFields)(global),
34
34
  operation: 'create',
35
- tableName
35
+ tableName,
36
+ req
36
37
  });
37
38
  const table = this.tables[tableName];
38
39
  if (global.versions.drafts) {
@@ -45,4 +46,4 @@ async function createGlobalVersion({ autosave, globalSlug, req = {}, versionData
45
46
  return result;
46
47
  }
47
48
 
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IHR5cGUgQ3JlYXRlR2xvYmFsVmVyc2lvbkFyZ3MgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlR2xvYmFsVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBhdXRvc2F2ZSwgZ2xvYmFsU2x1ZywgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QsIHZlcnNpb25EYXRhIH06IENyZWF0ZUdsb2JhbFZlcnNpb25BcmdzLFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWwgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IGdsb2JhbFNsdWcpXG4gIGNvbnN0IGdsb2JhbFRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGdsb2JhbFNsdWcpXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGBfJHtnbG9iYWxUYWJsZU5hbWV9X3ZgXG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdXBzZXJ0Um93PFR5cGVXaXRoVmVyc2lvbjxUPj4oe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YToge1xuICAgICAgYXV0b3NhdmUsXG4gICAgICBsYXRlc3Q6IHRydWUsXG4gICAgICB2ZXJzaW9uOiB2ZXJzaW9uRGF0YSxcbiAgICB9LFxuICAgIGRiLFxuICAgIGZpZWxkczogYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzKGdsb2JhbCksXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgaWYgKGdsb2JhbC52ZXJzaW9ucy5kcmFmdHMpIHtcbiAgICBhd2FpdCBkYi5leGVjdXRlKHNxbGBcbiAgICAgIFVQREFURSAke3RhYmxlfVxuICAgICAgU0VUIGxhdGVzdCA9IGZhbHNlXG4gICAgICBXSEVSRSAke3RhYmxlLmlkfSAhPSAke3Jlc3VsdC5pZH07XG4gICAgYClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVHbG9iYWxWZXJzaW9uIiwiYXV0b3NhdmUiLCJnbG9iYWxTbHVnIiwicmVxIiwidmVyc2lvbkRhdGEiLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJnbG9iYWwiLCJwYXlsb2FkIiwiZ2xvYmFscyIsImNvbmZpZyIsImZpbmQiLCJzbHVnIiwiZ2xvYmFsVGFibGVOYW1lIiwidG9TbmFrZUNhc2UiLCJ0YWJsZU5hbWUiLCJyZXN1bHQiLCJ1cHNlcnRSb3ciLCJhZGFwdGVyIiwiZGF0YSIsImxhdGVzdCIsInZlcnNpb24iLCJmaWVsZHMiLCJidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZSIsInRhYmxlcyIsInZlcnNpb25zIiwiZHJhZnRzIiwiZXhlY3V0ZSIsInNxbCIsImlkIl0sIm1hcHBpbmdzIjoiOzs7OytCQVlzQkE7OztlQUFBQTs7OzRCQVRGOzBCQUVxQjtvRUFDakI7MkJBSUU7Ozs7OztBQUVuQixlQUFlQSxvQkFFcEIsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxXQUFXLEVBQTJCO0lBRTFGLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNILElBQUlJLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNQyxTQUFTLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBLFNBQVNaO0lBQ3ZFLE1BQU1hLGtCQUFrQkMsSUFBQUEsb0JBQVcsRUFBQ2Q7SUFDcEMsTUFBTWUsWUFBWSxDQUFDLENBQUMsRUFBRUYsZ0JBQWdCLEVBQUUsQ0FBQztJQUV6QyxNQUFNRyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQXFCO1FBQ2pEQyxTQUFTLElBQUk7UUFDYkMsTUFBTTtZQUNKcEI7WUFDQXFCLFFBQVE7WUFDUkMsU0FBU25CO1FBQ1g7UUFDQUM7UUFDQW1CLFFBQVFDLElBQUFBLGtDQUF3QixFQUFDaEI7UUFDakNpQixXQUFXO1FBQ1hUO0lBQ0Y7SUFFQSxNQUFNVSxRQUFRLElBQUksQ0FBQ0MsTUFBTSxDQUFDWCxVQUFVO0lBRXBDLElBQUlSLE9BQU9vQixRQUFRLENBQUNDLE1BQU0sRUFBRTtRQUMxQixNQUFNekIsR0FBRzBCLE9BQU8sQ0FBQ0MsSUFBQUEsZUFBRyxDQUFBLENBQUM7YUFDWixFQUFFTCxNQUFNOztZQUVULEVBQUVBLE1BQU1NLEVBQUUsQ0FBQyxJQUFJLEVBQUVmLE9BQU9lLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0g7SUFFQSxPQUFPZjtBQUNUIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB7IHR5cGUgQ3JlYXRlR2xvYmFsVmVyc2lvbkFyZ3MgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlR2xvYmFsVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBhdXRvc2F2ZSwgZ2xvYmFsU2x1ZywgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QsIHZlcnNpb25EYXRhIH06IENyZWF0ZUdsb2JhbFZlcnNpb25BcmdzLFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWwgPSB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IGdsb2JhbFNsdWcpXG4gIGNvbnN0IGdsb2JhbFRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGdsb2JhbFNsdWcpXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGBfJHtnbG9iYWxUYWJsZU5hbWV9X3ZgXG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdXBzZXJ0Um93PFR5cGVXaXRoVmVyc2lvbjxUPj4oe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YToge1xuICAgICAgYXV0b3NhdmUsXG4gICAgICBsYXRlc3Q6IHRydWUsXG4gICAgICB2ZXJzaW9uOiB2ZXJzaW9uRGF0YSxcbiAgICB9LFxuICAgIGRiLFxuICAgIGZpZWxkczogYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzKGdsb2JhbCksXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gICAgcmVxLFxuICB9KVxuXG4gIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZXNbdGFibGVOYW1lXVxuXG4gIGlmIChnbG9iYWwudmVyc2lvbnMuZHJhZnRzKSB7XG4gICAgYXdhaXQgZGIuZXhlY3V0ZShzcWxgXG4gICAgICBVUERBVEUgJHt0YWJsZX1cbiAgICAgIFNFVCBsYXRlc3QgPSBmYWxzZVxuICAgICAgV0hFUkUgJHt0YWJsZS5pZH0gIT0gJHtyZXN1bHQuaWR9O1xuICAgIGApXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlR2xvYmFsVmVyc2lvbiIsImF1dG9zYXZlIiwiZ2xvYmFsU2x1ZyIsInJlcSIsInZlcnNpb25EYXRhIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwiZ2xvYmFsIiwicGF5bG9hZCIsImdsb2JhbHMiLCJjb25maWciLCJmaW5kIiwic2x1ZyIsImdsb2JhbFRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwidGFibGVOYW1lIiwicmVzdWx0IiwidXBzZXJ0Um93IiwiYWRhcHRlciIsImRhdGEiLCJsYXRlc3QiLCJ2ZXJzaW9uIiwiZmllbGRzIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIiwib3BlcmF0aW9uIiwidGFibGUiLCJ0YWJsZXMiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImV4ZWN1dGUiLCJzcWwiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZc0JBOzs7ZUFBQUE7Ozs0QkFSRjswQkFDcUI7b0VBQ2pCOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsb0JBRXBCLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLENBQUMsQ0FBbUIsRUFBRUMsV0FBVyxFQUEyQjtJQUUxRixNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDSCxJQUFJSSxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsU0FBUyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQSxTQUFTWjtJQUN2RSxNQUFNYSxrQkFBa0JDLElBQUFBLG9CQUFXLEVBQUNkO0lBQ3BDLE1BQU1lLFlBQVksQ0FBQyxDQUFDLEVBQUVGLGdCQUFnQixFQUFFLENBQUM7SUFFekMsTUFBTUcsU0FBUyxNQUFNQyxJQUFBQSxvQkFBUyxFQUFxQjtRQUNqREMsU0FBUyxJQUFJO1FBQ2JDLE1BQU07WUFDSnBCO1lBQ0FxQixRQUFRO1lBQ1JDLFNBQVNuQjtRQUNYO1FBQ0FDO1FBQ0FtQixRQUFRQyxJQUFBQSxrQ0FBd0IsRUFBQ2hCO1FBQ2pDaUIsV0FBVztRQUNYVDtRQUNBZDtJQUNGO0lBRUEsTUFBTXdCLFFBQVEsSUFBSSxDQUFDQyxNQUFNLENBQUNYLFVBQVU7SUFFcEMsSUFBSVIsT0FBT29CLFFBQVEsQ0FBQ0MsTUFBTSxFQUFFO1FBQzFCLE1BQU16QixHQUFHMEIsT0FBTyxDQUFDQyxJQUFBQSxlQUFHLENBQUEsQ0FBQzthQUNaLEVBQUVMLE1BQU07O1lBRVQsRUFBRUEsTUFBTU0sRUFBRSxDQUFDLElBQUksRUFBRWYsT0FBT2UsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDSDtJQUVBLE9BQU9mO0FBQ1QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"createVersion.d.ts","sourceRoot":"","sources":["../src/createVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,aAAa,CAAC,CAAC,SAAS,UAAU,EACtD,IAAI,EAAE,eAAe,EACrB,EACE,QAAQ,EACR,cAAc,EACd,MAAM,EACN,GAA0B,EAC1B,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAqCxB"}
1
+ {"version":3,"file":"createVersion.d.ts","sourceRoot":"","sources":["../src/createVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,aAAa,CAAC,CAAC,SAAS,UAAU,EACtD,IAAI,EAAE,eAAe,EACrB,EACE,QAAQ,EACR,cAAc,EACd,MAAM,EACN,GAA0B,EAC1B,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAsCxB"}
@@ -33,7 +33,8 @@ async function createVersion({ autosave, collectionSlug, parent, req = {}, versi
33
33
  db,
34
34
  fields: (0, _versions.buildVersionCollectionFields)(collection),
35
35
  operation: 'create',
36
- tableName
36
+ tableName,
37
+ req
37
38
  });
38
39
  const table = this.tables[tableName];
39
40
  const relationshipsTable = this.tables[`${tableName}_rels`];
@@ -46,9 +47,9 @@ async function createVersion({ autosave, collectionSlug, parent, req = {}, versi
46
47
  AND ${relationshipsTable.path} = ${'parent'}
47
48
  AND ${relationshipsTable[`${collectionSlug}ID`]} = ${parent}
48
49
  AND ${table.id} != ${result.id};
49
- `);
50
+ `);
50
51
  }
51
52
  return result;
52
53
  }
53
54
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlVmVyc2lvbkFyZ3MsIFR5cGVXaXRoVmVyc2lvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAge1xuICAgIGF1dG9zYXZlLFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIHBhcmVudCxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgfTogQ3JlYXRlVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddLmNvbmZpZ1xuICBjb25zdCBjb2xsZWN0aW9uVGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGBfJHtjb2xsZWN0aW9uVGFibGVOYW1lfV92YFxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUeXBlV2l0aFZlcnNpb248VD4+KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGE6IHtcbiAgICAgIGF1dG9zYXZlLFxuICAgICAgbGF0ZXN0OiB0cnVlLFxuICAgICAgcGFyZW50LFxuICAgICAgdmVyc2lvbjogdmVyc2lvbkRhdGEsXG4gICAgfSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29sbGVjdGlvbiksXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlc1t0YWJsZU5hbWVdXG4gIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZSA9IHRoaXMudGFibGVzW2Ake3RhYmxlTmFtZX1fcmVsc2BdXG5cbiAgaWYgKGNvbGxlY3Rpb24udmVyc2lvbnMuZHJhZnRzKSB7XG4gICAgYXdhaXQgZGIuZXhlY3V0ZShzcWxgXG4gICAgICBVUERBVEUgJHt0YWJsZX1cbiAgICAgIFNFVCBsYXRlc3QgPSBmYWxzZVxuICAgICAgRlJPTSAke3JlbGF0aW9uc2hpcHNUYWJsZX1cbiAgICAgIFdIRVJFICR7dGFibGUuaWR9ID0gJHtyZWxhdGlvbnNoaXBzVGFibGUucGFyZW50fVxuICAgICAgICBBTkQgJHtyZWxhdGlvbnNoaXBzVGFibGUucGF0aH0gPSAkeydwYXJlbnQnfVxuICAgICAgICBBTkQgJHtyZWxhdGlvbnNoaXBzVGFibGVbYCR7Y29sbGVjdGlvblNsdWd9SURgXX0gPSAke3BhcmVudH1cbiAgICAgICAgQU5EICR7dGFibGUuaWR9ICE9ICR7cmVzdWx0LmlkfTtcbiAgYClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVWZXJzaW9uIiwiYXV0b3NhdmUiLCJjb2xsZWN0aW9uU2x1ZyIsInBhcmVudCIsInJlcSIsInZlcnNpb25EYXRhIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwiY29sbGVjdGlvbiIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNvbGxlY3Rpb25UYWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInRhYmxlTmFtZSIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJkYXRhIiwibGF0ZXN0IiwidmVyc2lvbiIsImZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZSIsInRhYmxlcyIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInZlcnNpb25zIiwiZHJhZnRzIiwiZXhlY3V0ZSIsInNxbCIsImlkIiwicGF0aCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXc0JBOzs7ZUFBQUE7Ozs0QkFSRjswQkFDeUI7b0VBQ3JCOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsY0FFcEIsRUFDRUMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1U7SUFFdkIsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1DLGFBQWEsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ1YsZUFBZSxDQUFDVyxNQUFNO0lBQ2xFLE1BQU1DLHNCQUFzQkMsSUFBQUEsb0JBQVcsRUFBQ2I7SUFDeEMsTUFBTWMsWUFBWSxDQUFDLENBQUMsRUFBRUYsb0JBQW9CLEVBQUUsQ0FBQztJQUU3QyxNQUFNRyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQXFCO1FBQ2pEQyxTQUFTLElBQUk7UUFDYkMsTUFBTTtZQUNKbkI7WUFDQW9CLFFBQVE7WUFDUmxCO1lBQ0FtQixTQUFTakI7UUFDWDtRQUNBQztRQUNBaUIsUUFBUUMsSUFBQUEsc0NBQTRCLEVBQUNkO1FBQ3JDZSxXQUFXO1FBQ1hUO0lBQ0Y7SUFFQSxNQUFNVSxRQUFRLElBQUksQ0FBQ0MsTUFBTSxDQUFDWCxVQUFVO0lBQ3BDLE1BQU1ZLHFCQUFxQixJQUFJLENBQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUVYLFVBQVUsS0FBSyxDQUFDLENBQUM7SUFFM0QsSUFBSU4sV0FBV21CLFFBQVEsQ0FBQ0MsTUFBTSxFQUFFO1FBQzlCLE1BQU14QixHQUFHeUIsT0FBTyxDQUFDQyxJQUFBQSxlQUFHLENBQUEsQ0FBQzthQUNaLEVBQUVOLE1BQU07O1dBRVYsRUFBRUUsbUJBQW1CO1lBQ3BCLEVBQUVGLE1BQU1PLEVBQUUsQ0FBQyxHQUFHLEVBQUVMLG1CQUFtQnpCLE1BQU0sQ0FBQztZQUMxQyxFQUFFeUIsbUJBQW1CTSxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVM7WUFDeEMsRUFBRU4sa0JBQWtCLENBQUMsQ0FBQyxFQUFFMUIsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRUMsT0FBTztZQUN4RCxFQUFFdUIsTUFBTU8sRUFBRSxDQUFDLElBQUksRUFBRWhCLE9BQU9nQixFQUFFLENBQUM7RUFDckMsQ0FBQztJQUNEO0lBRUEsT0FBT2hCO0FBQ1QifQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlVmVyc2lvbkFyZ3MsIFR5cGVXaXRoVmVyc2lvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAge1xuICAgIGF1dG9zYXZlLFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIHBhcmVudCxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgfTogQ3JlYXRlVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddLmNvbmZpZ1xuICBjb25zdCBjb2xsZWN0aW9uVGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGBfJHtjb2xsZWN0aW9uVGFibGVOYW1lfV92YFxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUeXBlV2l0aFZlcnNpb248VD4+KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGE6IHtcbiAgICAgIGF1dG9zYXZlLFxuICAgICAgbGF0ZXN0OiB0cnVlLFxuICAgICAgcGFyZW50LFxuICAgICAgdmVyc2lvbjogdmVyc2lvbkRhdGEsXG4gICAgfSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29sbGVjdGlvbiksXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gICAgcmVxLFxuICB9KVxuXG4gIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZXNbdGFibGVOYW1lXVxuICBjb25zdCByZWxhdGlvbnNoaXBzVGFibGUgPSB0aGlzLnRhYmxlc1tgJHt0YWJsZU5hbWV9X3JlbHNgXVxuXG4gIGlmIChjb2xsZWN0aW9uLnZlcnNpb25zLmRyYWZ0cykge1xuICAgIGF3YWl0IGRiLmV4ZWN1dGUoc3FsYFxuICAgICAgVVBEQVRFICR7dGFibGV9XG4gICAgICBTRVQgbGF0ZXN0ID0gZmFsc2VcbiAgICAgIEZST00gJHtyZWxhdGlvbnNoaXBzVGFibGV9XG4gICAgICBXSEVSRSAke3RhYmxlLmlkfSA9ICR7cmVsYXRpb25zaGlwc1RhYmxlLnBhcmVudH1cbiAgICAgICAgQU5EICR7cmVsYXRpb25zaGlwc1RhYmxlLnBhdGh9ID0gJHsncGFyZW50J31cbiAgICAgICAgQU5EICR7cmVsYXRpb25zaGlwc1RhYmxlW2Ake2NvbGxlY3Rpb25TbHVnfUlEYF19ID0gJHtwYXJlbnR9XG4gICAgICAgIEFORCAke3RhYmxlLmlkfSAhPSAke3Jlc3VsdC5pZH07XG4gICAgYClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVWZXJzaW9uIiwiYXV0b3NhdmUiLCJjb2xsZWN0aW9uU2x1ZyIsInBhcmVudCIsInJlcSIsInZlcnNpb25EYXRhIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwiY29sbGVjdGlvbiIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNvbGxlY3Rpb25UYWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInRhYmxlTmFtZSIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJkYXRhIiwibGF0ZXN0IiwidmVyc2lvbiIsImZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZSIsInRhYmxlcyIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInZlcnNpb25zIiwiZHJhZnRzIiwiZXhlY3V0ZSIsInNxbCIsImlkIiwicGF0aCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXc0JBOzs7ZUFBQUE7Ozs0QkFSRjswQkFDeUI7b0VBQ3JCOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsY0FFcEIsRUFDRUMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1U7SUFFdkIsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1DLGFBQWEsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ1YsZUFBZSxDQUFDVyxNQUFNO0lBQ2xFLE1BQU1DLHNCQUFzQkMsSUFBQUEsb0JBQVcsRUFBQ2I7SUFDeEMsTUFBTWMsWUFBWSxDQUFDLENBQUMsRUFBRUYsb0JBQW9CLEVBQUUsQ0FBQztJQUU3QyxNQUFNRyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQXFCO1FBQ2pEQyxTQUFTLElBQUk7UUFDYkMsTUFBTTtZQUNKbkI7WUFDQW9CLFFBQVE7WUFDUmxCO1lBQ0FtQixTQUFTakI7UUFDWDtRQUNBQztRQUNBaUIsUUFBUUMsSUFBQUEsc0NBQTRCLEVBQUNkO1FBQ3JDZSxXQUFXO1FBQ1hUO1FBQ0FaO0lBQ0Y7SUFFQSxNQUFNc0IsUUFBUSxJQUFJLENBQUNDLE1BQU0sQ0FBQ1gsVUFBVTtJQUNwQyxNQUFNWSxxQkFBcUIsSUFBSSxDQUFDRCxNQUFNLENBQUMsQ0FBQyxFQUFFWCxVQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTNELElBQUlOLFdBQVdtQixRQUFRLENBQUNDLE1BQU0sRUFBRTtRQUM5QixNQUFNeEIsR0FBR3lCLE9BQU8sQ0FBQ0MsSUFBQUEsZUFBRyxDQUFBLENBQUM7YUFDWixFQUFFTixNQUFNOztXQUVWLEVBQUVFLG1CQUFtQjtZQUNwQixFQUFFRixNQUFNTyxFQUFFLENBQUMsR0FBRyxFQUFFTCxtQkFBbUJ6QixNQUFNLENBQUM7WUFDMUMsRUFBRXlCLG1CQUFtQk0sSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTO1lBQ3hDLEVBQUVOLGtCQUFrQixDQUFDLENBQUMsRUFBRTFCLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUVDLE9BQU87WUFDeEQsRUFBRXVCLE1BQU1PLEVBQUUsQ0FBQyxJQUFJLEVBQUVoQixPQUFPZ0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDSDtJQUVBLE9BQU9oQjtBQUNUIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAmC3E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,qBAAqB,CA2DjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAmC3E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,qBAAqB,CA4DjE"}
package/dist/index.js CHANGED
@@ -64,6 +64,7 @@ function postgresAdapter(args) {
64
64
  schema: {},
65
65
  sessions: {},
66
66
  tables: {},
67
+ fieldConstraints: {},
67
68
  // DatabaseAdapter
68
69
  beginTransaction: _beginTransaction.beginTransaction,
69
70
  commitTransaction: _commitTransaction.commitTransaction,
@@ -103,4 +104,4 @@ function postgresAdapter(args) {
103
104
  return adapter;
104
105
  }
105
106
 
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgY3JlYXRlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBBcmdzLCBQb3N0Z3Jlc0FkYXB0ZXIsIFBvc3RncmVzQWRhcHRlclJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnXG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbCB9IGZyb20gJy4vY3JlYXRlR2xvYmFsJ1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4vY3JlYXRlTWlncmF0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlVmVyc2lvbidcbmltcG9ydCB7IGRlbGV0ZU1hbnkgfSBmcm9tICcuL2RlbGV0ZU1hbnknXG5pbXBvcnQgeyBkZWxldGVPbmUgfSBmcm9tICcuL2RlbGV0ZU9uZSdcbmltcG9ydCB7IGRlbGV0ZVZlcnNpb25zIH0gZnJvbSAnLi9kZWxldGVWZXJzaW9ucydcbmltcG9ydCB7IGRlc3Ryb3kgfSBmcm9tICcuL2Rlc3Ryb3knXG5pbXBvcnQgeyBleHRlbmRWaXRlQ29uZmlnIH0gZnJvbSAnLi9leHRlbmRWaXRlQ29uZmlnJ1xuaW1wb3J0IHsgZXh0ZW5kV2VicGFja0NvbmZpZyB9IGZyb20gJy4vZXh0ZW5kV2VicGFja0NvbmZpZydcbmltcG9ydCB7IGZpbmQgfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgeyBmaW5kR2xvYmFsIH0gZnJvbSAnLi9maW5kR2xvYmFsJ1xuaW1wb3J0IHsgZmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAnLi9maW5kR2xvYmFsVmVyc2lvbnMnXG5pbXBvcnQgeyBmaW5kT25lIH0gZnJvbSAnLi9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25zIH0gZnJvbSAnLi9maW5kVmVyc2lvbnMnXG5pbXBvcnQgeyBpbml0IH0gZnJvbSAnLi9pbml0J1xuaW1wb3J0IHsgbWlncmF0ZSB9IGZyb20gJy4vbWlncmF0ZSdcbmltcG9ydCB7IG1pZ3JhdGVEb3duIH0gZnJvbSAnLi9taWdyYXRlRG93bidcbmltcG9ydCB7IG1pZ3JhdGVGcmVzaCB9IGZyb20gJy4vbWlncmF0ZUZyZXNoJ1xuaW1wb3J0IHsgbWlncmF0ZVJlZnJlc2ggfSBmcm9tICcuL21pZ3JhdGVSZWZyZXNoJ1xuaW1wb3J0IHsgbWlncmF0ZVJlc2V0IH0gZnJvbSAnLi9taWdyYXRlUmVzZXQnXG5pbXBvcnQgeyBtaWdyYXRlU3RhdHVzIH0gZnJvbSAnLi9taWdyYXRlU3RhdHVzJ1xuaW1wb3J0IHsgcXVlcnlEcmFmdHMgfSBmcm9tICcuL3F1ZXJ5RHJhZnRzJ1xuaW1wb3J0IHsgYmVnaW5UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2JlZ2luVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgcm9sbGJhY2tUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL3JvbGxiYWNrVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyB1cGRhdGVPbmUgfSBmcm9tICcuL3VwZGF0ZSdcbmltcG9ydCB7IHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vdXBkYXRlR2xvYmFsJ1xuaW1wb3J0IHsgdXBkYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZVZlcnNpb24gfSBmcm9tICcuL3VwZGF0ZVZlcnNpb24nXG5cbmV4cG9ydCB0eXBlIHsgTWlncmF0ZURvd25BcmdzLCBNaWdyYXRlVXBBcmdzIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIHBvc3RncmVzQWRhcHRlcihhcmdzOiBBcmdzKTogUG9zdGdyZXNBZGFwdGVyUmVzdWx0IHtcbiAgZnVuY3Rpb24gYWRhcHRlcih7IHBheWxvYWQgfTogeyBwYXlsb2FkOiBQYXlsb2FkIH0pIHtcbiAgICBjb25zdCBtaWdyYXRpb25EaXIgPSBhcmdzLm1pZ3JhdGlvbkRpciB8fCBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ3NyYy9taWdyYXRpb25zJylcblxuICAgIGV4dGVuZFdlYnBhY2tDb25maWcocGF5bG9hZC5jb25maWcpXG4gICAgZXh0ZW5kVml0ZUNvbmZpZyhwYXlsb2FkLmNvbmZpZylcblxuICAgIHJldHVybiBjcmVhdGVEYXRhYmFzZUFkYXB0ZXI8UG9zdGdyZXNBZGFwdGVyPih7XG4gICAgICBuYW1lOiAncG9zdGdyZXMnLFxuXG4gICAgICAvLyBQb3N0Z3Jlcy1zcGVjaWZpY1xuICAgICAgZHJpenpsZTogdW5kZWZpbmVkLFxuICAgICAgZW51bXM6IHt9LFxuICAgICAgcG9vbDogdW5kZWZpbmVkLFxuICAgICAgcG9vbE9wdGlvbnM6IGFyZ3MucG9vbCxcbiAgICAgIHB1c2g6IGFyZ3MucHVzaCxcbiAgICAgIHJlbGF0aW9uczoge30sXG4gICAgICBzY2hlbWE6IHt9LFxuICAgICAgc2Vzc2lvbnM6IHt9LFxuICAgICAgdGFibGVzOiB7fSxcblxuICAgICAgLy8gRGF0YWJhc2VBZGFwdGVyXG4gICAgICBiZWdpblRyYW5zYWN0aW9uLFxuICAgICAgY29tbWl0VHJhbnNhY3Rpb24sXG4gICAgICBjb25uZWN0LFxuICAgICAgY3JlYXRlLFxuICAgICAgY3JlYXRlR2xvYmFsLFxuICAgICAgY3JlYXRlR2xvYmFsVmVyc2lvbixcbiAgICAgIGNyZWF0ZU1pZ3JhdGlvbixcbiAgICAgIGNyZWF0ZVZlcnNpb24sXG4gICAgICBkZWZhdWx0SURUeXBlOiAnbnVtYmVyJyxcbiAgICAgIGRlbGV0ZU1hbnksXG4gICAgICBkZWxldGVPbmUsXG4gICAgICBkZWxldGVWZXJzaW9ucyxcbiAgICAgIGRlc3Ryb3ksXG4gICAgICBmaW5kLFxuICAgICAgZmluZEdsb2JhbCxcbiAgICAgIGZpbmRHbG9iYWxWZXJzaW9ucyxcbiAgICAgIGZpbmRPbmUsXG4gICAgICBmaW5kVmVyc2lvbnMsXG4gICAgICBpbml0LFxuICAgICAgbWlncmF0ZSxcbiAgICAgIG1pZ3JhdGVEb3duLFxuICAgICAgbWlncmF0ZUZyZXNoLFxuICAgICAgbWlncmF0ZVJlZnJlc2gsXG4gICAgICBtaWdyYXRlUmVzZXQsXG4gICAgICBtaWdyYXRlU3RhdHVzLFxuICAgICAgbWlncmF0aW9uRGlyLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHF1ZXJ5RHJhZnRzLFxuICAgICAgcm9sbGJhY2tUcmFuc2FjdGlvbixcbiAgICAgIHVwZGF0ZUdsb2JhbCxcbiAgICAgIHVwZGF0ZUdsb2JhbFZlcnNpb24sXG4gICAgICB1cGRhdGVPbmUsXG4gICAgICB1cGRhdGVWZXJzaW9uLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gYWRhcHRlclxufVxuIl0sIm5hbWVzIjpbInBvc3RncmVzQWRhcHRlciIsImFyZ3MiLCJhZGFwdGVyIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkRpciIsInBhdGgiLCJyZXNvbHZlIiwicHJvY2VzcyIsImN3ZCIsImV4dGVuZFdlYnBhY2tDb25maWciLCJjb25maWciLCJleHRlbmRWaXRlQ29uZmlnIiwiY3JlYXRlRGF0YWJhc2VBZGFwdGVyIiwibmFtZSIsImRyaXp6bGUiLCJ1bmRlZmluZWQiLCJlbnVtcyIsInBvb2wiLCJwb29sT3B0aW9ucyIsInB1c2giLCJyZWxhdGlvbnMiLCJzY2hlbWEiLCJzZXNzaW9ucyIsInRhYmxlcyIsImJlZ2luVHJhbnNhY3Rpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImNvbm5lY3QiLCJjcmVhdGUiLCJjcmVhdGVHbG9iYWwiLCJjcmVhdGVHbG9iYWxWZXJzaW9uIiwiY3JlYXRlTWlncmF0aW9uIiwiY3JlYXRlVmVyc2lvbiIsImRlZmF1bHRJRFR5cGUiLCJkZWxldGVNYW55IiwiZGVsZXRlT25lIiwiZGVsZXRlVmVyc2lvbnMiLCJkZXN0cm95IiwiZmluZCIsImZpbmRHbG9iYWwiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJmaW5kT25lIiwiZmluZFZlcnNpb25zIiwiaW5pdCIsIm1pZ3JhdGUiLCJtaWdyYXRlRG93biIsIm1pZ3JhdGVGcmVzaCIsIm1pZ3JhdGVSZWZyZXNoIiwibWlncmF0ZVJlc2V0IiwibWlncmF0ZVN0YXR1cyIsInF1ZXJ5RHJhZnRzIiwicm9sbGJhY2tUcmFuc2FjdGlvbiIsInVwZGF0ZUdsb2JhbCIsInVwZGF0ZUdsb2JhbFZlcnNpb24iLCJ1cGRhdGVPbmUiLCJ1cGRhdGVWZXJzaW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQTBDZ0JBOzs7ZUFBQUE7Ozs2REF4Q0M7MEJBQ3FCO3lCQUlkO3dCQUNEOzhCQUNNO3FDQUNPO2lDQUNKOytCQUNGOzRCQUNIOzJCQUNEO2dDQUNLO3lCQUNQO2tDQUNTO3FDQUNHO3NCQUNmOzRCQUNNO29DQUNRO3lCQUNYOzhCQUNLO3NCQUNSO3lCQUNHOzZCQUNJOzhCQUNDO2dDQUNFOzhCQUNGOytCQUNDOzZCQUNGO2tDQUNLO21DQUNDO3FDQUNFO3dCQUNWOzhCQUNHO3FDQUNPOytCQUNOOzs7Ozs7QUFJdkIsU0FBU0EsZ0JBQWdCQyxJQUFVO0lBQ3hDLFNBQVNDLFFBQVEsRUFBRUMsT0FBTyxFQUF3QjtRQUNoRCxNQUFNQyxlQUFlSCxLQUFLRyxZQUFZLElBQUlDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRQyxHQUFHLElBQUk7UUFFdEVDLElBQUFBLHdDQUFtQixFQUFDTixRQUFRTyxNQUFNO1FBQ2xDQyxJQUFBQSxrQ0FBZ0IsRUFBQ1IsUUFBUU8sTUFBTTtRQUUvQixPQUFPRSxJQUFBQSwrQkFBcUIsRUFBa0I7WUFDNUNDLE1BQU07WUFFTixvQkFBb0I7WUFDcEJDLFNBQVNDO1lBQ1RDLE9BQU8sQ0FBQztZQUNSQyxNQUFNRjtZQUNORyxhQUFhakIsS0FBS2dCLElBQUk7WUFDdEJFLE1BQU1sQixLQUFLa0IsSUFBSTtZQUNmQyxXQUFXLENBQUM7WUFDWkMsUUFBUSxDQUFDO1lBQ1RDLFVBQVUsQ0FBQztZQUNYQyxRQUFRLENBQUM7WUFFVCxrQkFBa0I7WUFDbEJDLGtCQUFBQSxrQ0FBZ0I7WUFDaEJDLG1CQUFBQSxvQ0FBaUI7WUFDakJDLFNBQUFBLGdCQUFPO1lBQ1BDLFFBQUFBLGNBQU07WUFDTkMsY0FBQUEsMEJBQVk7WUFDWkMscUJBQUFBLHdDQUFtQjtZQUNuQkMsaUJBQUFBLGdDQUFlO1lBQ2ZDLGVBQUFBLDRCQUFhO1lBQ2JDLGVBQWU7WUFDZkMsWUFBQUEsc0JBQVU7WUFDVkMsV0FBQUEsb0JBQVM7WUFDVEMsZ0JBQUFBLDhCQUFjO1lBQ2RDLFNBQUFBLGdCQUFPO1lBQ1BDLE1BQUFBLFVBQUk7WUFDSkMsWUFBQUEsc0JBQVU7WUFDVkMsb0JBQUFBLHNDQUFrQjtZQUNsQkMsU0FBQUEsZ0JBQU87WUFDUEMsY0FBQUEsMEJBQVk7WUFDWkMsTUFBQUEsVUFBSTtZQUNKQyxTQUFBQSxnQkFBTztZQUNQQyxhQUFBQSx3QkFBVztZQUNYQyxjQUFBQSwwQkFBWTtZQUNaQyxnQkFBQUEsOEJBQWM7WUFDZEMsY0FBQUEsMEJBQVk7WUFDWkMsZUFBQUEsNEJBQWE7WUFDYjVDO1lBQ0FEO1lBQ0E4QyxhQUFBQSx3QkFBVztZQUNYQyxxQkFBQUEsd0NBQW1CO1lBQ25CQyxjQUFBQSwwQkFBWTtZQUNaQyxxQkFBQUEsd0NBQW1CO1lBQ25CQyxXQUFBQSxpQkFBUztZQUNUQyxlQUFBQSw0QkFBYTtRQUNmO0lBQ0Y7SUFFQSxPQUFPcEQ7QUFDVCJ9
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgY3JlYXRlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBBcmdzLCBQb3N0Z3Jlc0FkYXB0ZXIsIFBvc3RncmVzQWRhcHRlclJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnXG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbCB9IGZyb20gJy4vY3JlYXRlR2xvYmFsJ1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4vY3JlYXRlTWlncmF0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlVmVyc2lvbidcbmltcG9ydCB7IGRlbGV0ZU1hbnkgfSBmcm9tICcuL2RlbGV0ZU1hbnknXG5pbXBvcnQgeyBkZWxldGVPbmUgfSBmcm9tICcuL2RlbGV0ZU9uZSdcbmltcG9ydCB7IGRlbGV0ZVZlcnNpb25zIH0gZnJvbSAnLi9kZWxldGVWZXJzaW9ucydcbmltcG9ydCB7IGRlc3Ryb3kgfSBmcm9tICcuL2Rlc3Ryb3knXG5pbXBvcnQgeyBleHRlbmRWaXRlQ29uZmlnIH0gZnJvbSAnLi9leHRlbmRWaXRlQ29uZmlnJ1xuaW1wb3J0IHsgZXh0ZW5kV2VicGFja0NvbmZpZyB9IGZyb20gJy4vZXh0ZW5kV2VicGFja0NvbmZpZydcbmltcG9ydCB7IGZpbmQgfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgeyBmaW5kR2xvYmFsIH0gZnJvbSAnLi9maW5kR2xvYmFsJ1xuaW1wb3J0IHsgZmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAnLi9maW5kR2xvYmFsVmVyc2lvbnMnXG5pbXBvcnQgeyBmaW5kT25lIH0gZnJvbSAnLi9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25zIH0gZnJvbSAnLi9maW5kVmVyc2lvbnMnXG5pbXBvcnQgeyBpbml0IH0gZnJvbSAnLi9pbml0J1xuaW1wb3J0IHsgbWlncmF0ZSB9IGZyb20gJy4vbWlncmF0ZSdcbmltcG9ydCB7IG1pZ3JhdGVEb3duIH0gZnJvbSAnLi9taWdyYXRlRG93bidcbmltcG9ydCB7IG1pZ3JhdGVGcmVzaCB9IGZyb20gJy4vbWlncmF0ZUZyZXNoJ1xuaW1wb3J0IHsgbWlncmF0ZVJlZnJlc2ggfSBmcm9tICcuL21pZ3JhdGVSZWZyZXNoJ1xuaW1wb3J0IHsgbWlncmF0ZVJlc2V0IH0gZnJvbSAnLi9taWdyYXRlUmVzZXQnXG5pbXBvcnQgeyBtaWdyYXRlU3RhdHVzIH0gZnJvbSAnLi9taWdyYXRlU3RhdHVzJ1xuaW1wb3J0IHsgcXVlcnlEcmFmdHMgfSBmcm9tICcuL3F1ZXJ5RHJhZnRzJ1xuaW1wb3J0IHsgYmVnaW5UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2JlZ2luVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgcm9sbGJhY2tUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL3JvbGxiYWNrVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyB1cGRhdGVPbmUgfSBmcm9tICcuL3VwZGF0ZSdcbmltcG9ydCB7IHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vdXBkYXRlR2xvYmFsJ1xuaW1wb3J0IHsgdXBkYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZVZlcnNpb24gfSBmcm9tICcuL3VwZGF0ZVZlcnNpb24nXG5cbmV4cG9ydCB0eXBlIHsgTWlncmF0ZURvd25BcmdzLCBNaWdyYXRlVXBBcmdzIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIHBvc3RncmVzQWRhcHRlcihhcmdzOiBBcmdzKTogUG9zdGdyZXNBZGFwdGVyUmVzdWx0IHtcbiAgZnVuY3Rpb24gYWRhcHRlcih7IHBheWxvYWQgfTogeyBwYXlsb2FkOiBQYXlsb2FkIH0pIHtcbiAgICBjb25zdCBtaWdyYXRpb25EaXIgPSBhcmdzLm1pZ3JhdGlvbkRpciB8fCBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ3NyYy9taWdyYXRpb25zJylcblxuICAgIGV4dGVuZFdlYnBhY2tDb25maWcocGF5bG9hZC5jb25maWcpXG4gICAgZXh0ZW5kVml0ZUNvbmZpZyhwYXlsb2FkLmNvbmZpZylcblxuICAgIHJldHVybiBjcmVhdGVEYXRhYmFzZUFkYXB0ZXI8UG9zdGdyZXNBZGFwdGVyPih7XG4gICAgICBuYW1lOiAncG9zdGdyZXMnLFxuXG4gICAgICAvLyBQb3N0Z3Jlcy1zcGVjaWZpY1xuICAgICAgZHJpenpsZTogdW5kZWZpbmVkLFxuICAgICAgZW51bXM6IHt9LFxuICAgICAgcG9vbDogdW5kZWZpbmVkLFxuICAgICAgcG9vbE9wdGlvbnM6IGFyZ3MucG9vbCxcbiAgICAgIHB1c2g6IGFyZ3MucHVzaCxcbiAgICAgIHJlbGF0aW9uczoge30sXG4gICAgICBzY2hlbWE6IHt9LFxuICAgICAgc2Vzc2lvbnM6IHt9LFxuICAgICAgdGFibGVzOiB7fSxcbiAgICAgIGZpZWxkQ29uc3RyYWludHM6IHt9LFxuXG4gICAgICAvLyBEYXRhYmFzZUFkYXB0ZXJcbiAgICAgIGJlZ2luVHJhbnNhY3Rpb24sXG4gICAgICBjb21taXRUcmFuc2FjdGlvbixcbiAgICAgIGNvbm5lY3QsXG4gICAgICBjcmVhdGUsXG4gICAgICBjcmVhdGVHbG9iYWwsXG4gICAgICBjcmVhdGVHbG9iYWxWZXJzaW9uLFxuICAgICAgY3JlYXRlTWlncmF0aW9uLFxuICAgICAgY3JlYXRlVmVyc2lvbixcbiAgICAgIGRlZmF1bHRJRFR5cGU6ICdudW1iZXInLFxuICAgICAgZGVsZXRlTWFueSxcbiAgICAgIGRlbGV0ZU9uZSxcbiAgICAgIGRlbGV0ZVZlcnNpb25zLFxuICAgICAgZGVzdHJveSxcbiAgICAgIGZpbmQsXG4gICAgICBmaW5kR2xvYmFsLFxuICAgICAgZmluZEdsb2JhbFZlcnNpb25zLFxuICAgICAgZmluZE9uZSxcbiAgICAgIGZpbmRWZXJzaW9ucyxcbiAgICAgIGluaXQsXG4gICAgICBtaWdyYXRlLFxuICAgICAgbWlncmF0ZURvd24sXG4gICAgICBtaWdyYXRlRnJlc2gsXG4gICAgICBtaWdyYXRlUmVmcmVzaCxcbiAgICAgIG1pZ3JhdGVSZXNldCxcbiAgICAgIG1pZ3JhdGVTdGF0dXMsXG4gICAgICBtaWdyYXRpb25EaXIsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcXVlcnlEcmFmdHMsXG4gICAgICByb2xsYmFja1RyYW5zYWN0aW9uLFxuICAgICAgdXBkYXRlR2xvYmFsLFxuICAgICAgdXBkYXRlR2xvYmFsVmVyc2lvbixcbiAgICAgIHVwZGF0ZU9uZSxcbiAgICAgIHVwZGF0ZVZlcnNpb24sXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBhZGFwdGVyXG59XG4iXSwibmFtZXMiOlsicG9zdGdyZXNBZGFwdGVyIiwiYXJncyIsImFkYXB0ZXIiLCJwYXlsb2FkIiwibWlncmF0aW9uRGlyIiwicGF0aCIsInJlc29sdmUiLCJwcm9jZXNzIiwiY3dkIiwiZXh0ZW5kV2VicGFja0NvbmZpZyIsImNvbmZpZyIsImV4dGVuZFZpdGVDb25maWciLCJjcmVhdGVEYXRhYmFzZUFkYXB0ZXIiLCJuYW1lIiwiZHJpenpsZSIsInVuZGVmaW5lZCIsImVudW1zIiwicG9vbCIsInBvb2xPcHRpb25zIiwicHVzaCIsInJlbGF0aW9ucyIsInNjaGVtYSIsInNlc3Npb25zIiwidGFibGVzIiwiZmllbGRDb25zdHJhaW50cyIsImJlZ2luVHJhbnNhY3Rpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImNvbm5lY3QiLCJjcmVhdGUiLCJjcmVhdGVHbG9iYWwiLCJjcmVhdGVHbG9iYWxWZXJzaW9uIiwiY3JlYXRlTWlncmF0aW9uIiwiY3JlYXRlVmVyc2lvbiIsImRlZmF1bHRJRFR5cGUiLCJkZWxldGVNYW55IiwiZGVsZXRlT25lIiwiZGVsZXRlVmVyc2lvbnMiLCJkZXN0cm95IiwiZmluZCIsImZpbmRHbG9iYWwiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJmaW5kT25lIiwiZmluZFZlcnNpb25zIiwiaW5pdCIsIm1pZ3JhdGUiLCJtaWdyYXRlRG93biIsIm1pZ3JhdGVGcmVzaCIsIm1pZ3JhdGVSZWZyZXNoIiwibWlncmF0ZVJlc2V0IiwibWlncmF0ZVN0YXR1cyIsInF1ZXJ5RHJhZnRzIiwicm9sbGJhY2tUcmFuc2FjdGlvbiIsInVwZGF0ZUdsb2JhbCIsInVwZGF0ZUdsb2JhbFZlcnNpb24iLCJ1cGRhdGVPbmUiLCJ1cGRhdGVWZXJzaW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQTBDZ0JBOzs7ZUFBQUE7Ozs2REF4Q0M7MEJBQ3FCO3lCQUlkO3dCQUNEOzhCQUNNO3FDQUNPO2lDQUNKOytCQUNGOzRCQUNIOzJCQUNEO2dDQUNLO3lCQUNQO2tDQUNTO3FDQUNHO3NCQUNmOzRCQUNNO29DQUNRO3lCQUNYOzhCQUNLO3NCQUNSO3lCQUNHOzZCQUNJOzhCQUNDO2dDQUNFOzhCQUNGOytCQUNDOzZCQUNGO2tDQUNLO21DQUNDO3FDQUNFO3dCQUNWOzhCQUNHO3FDQUNPOytCQUNOOzs7Ozs7QUFJdkIsU0FBU0EsZ0JBQWdCQyxJQUFVO0lBQ3hDLFNBQVNDLFFBQVEsRUFBRUMsT0FBTyxFQUF3QjtRQUNoRCxNQUFNQyxlQUFlSCxLQUFLRyxZQUFZLElBQUlDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRQyxHQUFHLElBQUk7UUFFdEVDLElBQUFBLHdDQUFtQixFQUFDTixRQUFRTyxNQUFNO1FBQ2xDQyxJQUFBQSxrQ0FBZ0IsRUFBQ1IsUUFBUU8sTUFBTTtRQUUvQixPQUFPRSxJQUFBQSwrQkFBcUIsRUFBa0I7WUFDNUNDLE1BQU07WUFFTixvQkFBb0I7WUFDcEJDLFNBQVNDO1lBQ1RDLE9BQU8sQ0FBQztZQUNSQyxNQUFNRjtZQUNORyxhQUFhakIsS0FBS2dCLElBQUk7WUFDdEJFLE1BQU1sQixLQUFLa0IsSUFBSTtZQUNmQyxXQUFXLENBQUM7WUFDWkMsUUFBUSxDQUFDO1lBQ1RDLFVBQVUsQ0FBQztZQUNYQyxRQUFRLENBQUM7WUFDVEMsa0JBQWtCLENBQUM7WUFFbkIsa0JBQWtCO1lBQ2xCQyxrQkFBQUEsa0NBQWdCO1lBQ2hCQyxtQkFBQUEsb0NBQWlCO1lBQ2pCQyxTQUFBQSxnQkFBTztZQUNQQyxRQUFBQSxjQUFNO1lBQ05DLGNBQUFBLDBCQUFZO1lBQ1pDLHFCQUFBQSx3Q0FBbUI7WUFDbkJDLGlCQUFBQSxnQ0FBZTtZQUNmQyxlQUFBQSw0QkFBYTtZQUNiQyxlQUFlO1lBQ2ZDLFlBQUFBLHNCQUFVO1lBQ1ZDLFdBQUFBLG9CQUFTO1lBQ1RDLGdCQUFBQSw4QkFBYztZQUNkQyxTQUFBQSxnQkFBTztZQUNQQyxNQUFBQSxVQUFJO1lBQ0pDLFlBQUFBLHNCQUFVO1lBQ1ZDLG9CQUFBQSxzQ0FBa0I7WUFDbEJDLFNBQUFBLGdCQUFPO1lBQ1BDLGNBQUFBLDBCQUFZO1lBQ1pDLE1BQUFBLFVBQUk7WUFDSkMsU0FBQUEsZ0JBQU87WUFDUEMsYUFBQUEsd0JBQVc7WUFDWEMsY0FBQUEsMEJBQVk7WUFDWkMsZ0JBQUFBLDhCQUFjO1lBQ2RDLGNBQUFBLDBCQUFZO1lBQ1pDLGVBQUFBLDRCQUFhO1lBQ2I3QztZQUNBRDtZQUNBK0MsYUFBQUEsd0JBQVc7WUFDWEMscUJBQUFBLHdDQUFtQjtZQUNuQkMsY0FBQUEsMEJBQVk7WUFDWkMscUJBQUFBLHdDQUFtQjtZQUNuQkMsV0FBQUEsaUJBQVM7WUFDVEMsZUFBQUEsNEJBQWE7UUFDZjtJQUNGO0lBRUEsT0FBT3JEO0FBQ1QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAS/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kSAoBxB,IAAI,KAAG,MAqfT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AAcjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAS/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kSAoBxB,IAAI,KAAG,MA6fT,CAAA"}
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "traverseFields", {
10
10
  });
11
11
  const _drizzleorm = require("drizzle-orm");
12
12
  const _pgcore = require("drizzle-orm/pg-core");
13
- const _errors = require("payload/errors");
14
13
  const _types = require("payload/types");
14
+ const _errors = require("payload/errors");
15
15
  const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
16
16
  const _hasLocalesTable = require("../utilities/hasLocalesTable");
17
17
  const _build = require("./build");
@@ -40,7 +40,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
40
40
  let targetIndexes = indexes;
41
41
  if ((0, _types.fieldAffectsData)(field)) {
42
42
  columnName = `${columnPrefix || ''}${field.name[0] === '_' ? '_' : ''}${(0, _tosnakecase.default)(field.name)}`;
43
- fieldName = `${fieldPrefix || ''}${field.name}`;
43
+ fieldName = `${fieldPrefix?.replace('.', '_') || ''}${field.name}`;
44
44
  // If field is localized,
45
45
  // add the column to the locale table instead of main table
46
46
  if (adapter.payload.config.localization && (field.localized || forceLocalized)) {
@@ -56,10 +56,18 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
56
56
  'relationship',
57
57
  'upload'
58
58
  ].includes(field.type) && !(field.type === 'number' && field.hasMany === true)) {
59
+ const unique = disableUnique !== true && field.unique;
60
+ if (unique) {
61
+ const constraintValue = `${fieldPrefix || ''}${field.name}`;
62
+ if (!adapter.fieldConstraints?.[rootTableName]) {
63
+ adapter.fieldConstraints[rootTableName] = {};
64
+ }
65
+ adapter.fieldConstraints[rootTableName][`${columnName}_idx`] = constraintValue;
66
+ }
59
67
  targetIndexes[`${field.name}Idx`] = (0, _createIndex.createIndex)({
60
68
  name: fieldName,
61
69
  columnName,
62
- unique: disableUnique !== true && field.unique
70
+ unique
63
71
  });
64
72
  }
65
73
  }
@@ -334,7 +342,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
334
342
  columns,
335
343
  disableNotNull: disableNotNullFromHere,
336
344
  disableUnique,
337
- fieldPrefix: `${fieldName}_`,
345
+ fieldPrefix: `${fieldName}.`,
338
346
  fields: field.fields,
339
347
  forceLocalized: field.localized,
340
348
  indexes,
@@ -445,4 +453,4 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
445
453
  };
446
454
  };
447
455
 
448
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHZhcmNoYXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbnMsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBoYXNMb2NhbGVzVGFibGUgfSBmcm9tICcuLi91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlJ1xuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vYnVpbGQnXG5pbXBvcnQgeyBjcmVhdGVJbmRleCB9IGZyb20gJy4vY3JlYXRlSW5kZXgnXG5pbXBvcnQgeyBpZFRvVVVJRCB9IGZyb20gJy4vaWRUb1VVSUQnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCB9IGZyb20gJy4vdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJ1aWxkUmVsYXRpb25zaGlwczogYm9vbGVhblxuICBjb2x1bW5QcmVmaXg/OiBzdHJpbmdcbiAgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBkaXNhYmxlTm90TnVsbDogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlPzogYm9vbGVhblxuICBmaWVsZFByZWZpeD86IHN0cmluZ1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgZm9yY2VMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBsb2NhbGVzQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+XG4gIG5ld1RhYmxlTmFtZTogc3RyaW5nXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RUYWJsZUlEQ29sVHlwZTogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTG9jYWxpemVkRmllbGQ6IGJvb2xlYW5cbiAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVOb3ROdWxsLFxuICBkaXNhYmxlVW5pcXVlID0gZmFsc2UsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIGZvcmNlTG9jYWxpemVkLFxuICBpbmRleGVzLFxuICBsb2NhbGVzQ29sdW1ucyxcbiAgbG9jYWxlc0luZGV4ZXMsXG4gIG5ld1RhYmxlTmFtZSxcbiAgcGFyZW50VGFibGVOYW1lLFxuICByZWxhdGlvbnNUb0J1aWxkLFxuICByZWxhdGlvbnNoaXBzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICByb290VGFibGVOYW1lLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgbGV0IHBhcmVudElEQ29sVHlwZSA9ICdpbnRlZ2VyJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnTnVtZXJpY0J1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICdudW1lcmljJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnVmFyY2hhckJ1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICd2YXJjaGFyJ1xuXG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmICgnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgcmV0dXJuXG4gICAgbGV0IGNvbHVtbk5hbWU6IHN0cmluZ1xuICAgIGxldCBmaWVsZE5hbWU6IHN0cmluZ1xuXG4gICAgbGV0IHRhcmdldFRhYmxlID0gY29sdW1uc1xuICAgIGxldCB0YXJnZXRJbmRleGVzID0gaW5kZXhlc1xuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZVswXSA9PT0gJ18nID8gJ18nIDogJyd9JHt0b1NuYWtlQ2FzZShcbiAgICAgICAgZmllbGQubmFtZSxcbiAgICAgICl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgLy8gSWYgZmllbGQgaXMgbG9jYWxpemVkLFxuICAgICAgLy8gYWRkIHRoZSBjb2x1bW4gdG8gdGhlIGxvY2FsZSB0YWJsZSBpbnN0ZWFkIG9mIG1haW4gdGFibGVcbiAgICAgIGlmIChhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbiAmJiAoZmllbGQubG9jYWxpemVkIHx8IGZvcmNlTG9jYWxpemVkKSkge1xuICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgdGFyZ2V0VGFibGUgPSBsb2NhbGVzQ29sdW1uc1xuICAgICAgICB0YXJnZXRJbmRleGVzID0gbG9jYWxlc0luZGV4ZXNcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICAoZmllbGQudW5pcXVlIHx8IGZpZWxkLmluZGV4KSAmJlxuICAgICAgICAhWydhcnJheScsICdibG9ja3MnLCAnZ3JvdXAnLCAncG9pbnQnLCAncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmXG4gICAgICAgICEoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSlcbiAgICAgICkge1xuICAgICAgICB0YXJnZXRJbmRleGVzW2Ake2ZpZWxkLm5hbWV9SWR4YF0gPSBjcmVhdGVJbmRleCh7XG4gICAgICAgICAgbmFtZTogZmllbGROYW1lLFxuICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgdW5pcXVlOiBkaXNhYmxlVW5pcXVlICE9PSB0cnVlICYmIGZpZWxkLnVuaXF1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgY2FzZSAnZW1haWwnOlxuICAgICAgY2FzZSAnY29kZSc6XG4gICAgICBjYXNlICd0ZXh0YXJlYSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHZhcmNoYXIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9ICdpbmRleCdcbiAgICAgICAgICB9IGVsc2UgaWYgKCFoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQudW5pcXVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZ3VyYXRpb24oXG4gICAgICAgICAgICAgICdVbmlxdWUgaXMgbm90IHN1cHBvcnRlZCBpbiBQb3N0Z3JlcyBmb3IgaGFzTWFueSBudW1iZXIgZmllbGRzLicsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBudW1lcmljKGNvbHVtbk5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmljaFRleHQnOlxuICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGpzb25iKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSB0aW1lc3RhbXAoY29sdW1uTmFtZSwge1xuICAgICAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3BvaW50Jzoge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyYWRpbyc6XG4gICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgIGNvbnN0IGVudW1OYW1lID0gYGVudW1fJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuXG4gICAgICAgIGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdID0gcGdFbnVtKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgIH0pIGFzIFtzdHJpbmcsIC4uLnN0cmluZ1tdXSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbcGFyZW50SURDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICB2YWx1ZTogYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0oJ3ZhbHVlJyksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgIG9yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgICAgcGFyZW50SWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgYmFzZUNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5sb2NhbGVJZHggPSAoY29scykgPT4gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLmxvY2FsZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy52YWx1ZSA9IChjb2xzKSA9PiBpbmRleCgndmFsdWVfaWR4Jykub24oY29scy52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB0YWJsZU5hbWU6IHNlbGVjdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBzZWxlY3RUYWJsZU5hbWUpXG5cbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgcGFyZW50OiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0ucGFyZW50XSxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbl8ke3NlbGVjdFRhYmxlTmFtZX1gXSA9IHNlbGVjdFRhYmxlUmVsYXRpb25zXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKGZpZWxkTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGJvb2xlYW4oY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUgPSBCb29sZWFuKGZpZWxkLmFkbWluPy5jb25kaXRpb24pIHx8IGRpc2FibGVOb3ROdWxsXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgPiA9IHtcbiAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnX29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgnX3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdfbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZHM6IGRpc2FibGVVbmlxdWUgPyBpZFRvVVVJRChmaWVsZC5maWVsZHMpIDogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNoaXBzOiByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBhcnJheVRhYmxlTmFtZSlcblxuICAgICAgICBjb25zdCBhcnJheVRhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGFkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lXSwgKHsgbWFueSwgb25lIH0pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgICAgX3BhcmVudElEOiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICBmaWVsZHM6IFthZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0uX3BhcmVudElEXSxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhhc0xvY2FsZXNUYWJsZShmaWVsZC5maWVsZHMpKSB7XG4gICAgICAgICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGFkYXB0ZXIudGFibGVzW2Ake2FycmF5VGFibGVOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3ViUmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgfSlcblxuICAgICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7YXJyYXlUYWJsZU5hbWV9YF0gPSBhcnJheVRhYmxlUmVsYXRpb25zXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fYmxvY2tzXyR7dG9TbmFrZUNhc2UoYmxvY2suc2x1Zyl9YFxuICAgICAgICAgIGlmICghYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXJlbnRJRDogcGFyZW50SURDb2x1bW5NYXBbcm9vdFRhYmxlSURDb2xUeXBlXSgnX3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXRoOiB0ZXh0KCdfcGF0aCcpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIF9wYXRoSWR4OiAoY29scykgPT4gaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5fcGF0aCksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgeyByZWxhdGlvbnNUb0J1aWxkOiBzdWJSZWxhdGlvbnNUb0J1aWxkIH0gPSBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICAgIGZpZWxkczogZGlzYWJsZVVuaXF1ZSA/IGlkVG9VVUlEKGJsb2NrLmZpZWxkcykgOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgICByb290UmVsYXRpb25zaGlwczogcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICB0YWJsZU5hbWU6IGJsb2NrVGFibGVOYW1lLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgY29uc3QgYmxvY2tUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICAoeyBtYW55LCBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgICAgICAgICBfcGFyZW50SUQ6IG9uZShhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IFthZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0uX3BhcmVudElEXSxcbiAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNMb2NhbGVzVGFibGUoYmxvY2suZmllbGRzKSkge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShhZGFwdGVyLnRhYmxlc1tgJHtibG9ja1RhYmxlTmFtZX1fbG9jYWxlc2BdKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN1YlJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtibG9ja1RhYmxlTmFtZX1gXSA9IGJsb2NrVGFibGVSZWxhdGlvbnNcbiAgICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRXhpc3RpbmdCbG9ja0lzSWRlbnRpY2FsKHtcbiAgICAgICAgICAgICAgYmxvY2ssXG4gICAgICAgICAgICAgIGxvY2FsaXplZDogZmllbGQubG9jYWxpemVkLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZC5zZXQoYF9ibG9ja3NfJHtibG9jay5zbHVnfWAsIGJsb2NrVGFibGVOYW1lKVxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3RhYic6XG4gICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgaWYgKCEoJ25hbWUnIGluIGZpZWxkKSkge1xuICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiBncm91cEhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiBncm91cEhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICBkaXNhYmxlTm90TnVsbCxcbiAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWU6IGAke3BhcmVudFRhYmxlTmFtZX1fJHtjb2x1bW5OYW1lfWAsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogdGFiSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IHRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogdGFiSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZU5vdE51bGxGcm9tSGVyZSA9IEJvb2xlYW4oZmllbGQuYWRtaW4/LmNvbmRpdGlvbikgfHwgZGlzYWJsZU5vdE51bGxcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiByb3dIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IHJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogcm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiByb3dIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGw6IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkLnJlbGF0aW9uVG8uZm9yRWFjaCgocmVsYXRpb24pID0+IHJlbGF0aW9uc2hpcHMuYWRkKHJlbGF0aW9uKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLmFkZChmaWVsZC5yZWxhdGlvblRvKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uID0gZmllbGQuYWRtaW4gJiYgZmllbGQuYWRtaW4uY29uZGl0aW9uXG5cbiAgICBpZiAoXG4gICAgICAhZGlzYWJsZU5vdE51bGwgJiZcbiAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gJiZcbiAgICAgICdyZXF1aXJlZCcgaW4gZmllbGQgJiZcbiAgICAgIGZpZWxkLnJlcXVpcmVkICYmXG4gICAgICAhY29uZGl0aW9uXG4gICAgKSB7XG4gICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdLm5vdE51bGwoKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4ge1xuICAgIGhhc0xvY2FsaXplZEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICBoYXNNYW55TnVtYmVyRmllbGQsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImFkYXB0ZXIiLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJjb2x1bW5QcmVmaXgiLCJjb2x1bW5zIiwiZGlzYWJsZU5vdE51bGwiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJmb3JjZUxvY2FsaXplZCIsImluZGV4ZXMiLCJsb2NhbGVzQ29sdW1ucyIsImxvY2FsZXNJbmRleGVzIiwibmV3VGFibGVOYW1lIiwicGFyZW50VGFibGVOYW1lIiwicmVsYXRpb25zVG9CdWlsZCIsInJlbGF0aW9uc2hpcHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwicGFyZW50SURDb2xUeXBlIiwiaWQiLCJQZ051bWVyaWNCdWlsZGVyIiwiUGdWYXJjaGFyQnVpbGRlciIsImZvckVhY2giLCJmaWVsZCIsIm5hbWUiLCJjb2x1bW5OYW1lIiwiZmllbGROYW1lIiwidGFyZ2V0VGFibGUiLCJ0YXJnZXRJbmRleGVzIiwiZmllbGRBZmZlY3RzRGF0YSIsInRvU25ha2VDYXNlIiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImxvY2FsaXplZCIsInVuaXF1ZSIsImluZGV4IiwiaW5jbHVkZXMiLCJ0eXBlIiwiaGFzTWFueSIsImNyZWF0ZUluZGV4IiwidmFyY2hhciIsIkludmFsaWRDb25maWd1cmF0aW9uIiwibnVtZXJpYyIsImpzb25iIiwidGltZXN0YW1wIiwibW9kZSIsInByZWNpc2lvbiIsIndpdGhUaW1lem9uZSIsImVudW1OYW1lIiwiZW51bXMiLCJwZ0VudW0iLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwib3B0aW9uSXNPYmplY3QiLCJ2YWx1ZSIsInNlbGVjdFRhYmxlTmFtZSIsImJhc2VDb2x1bW5zIiwib3JkZXIiLCJpbnRlZ2VyIiwibm90TnVsbCIsInBhcmVudCIsInBhcmVudElEQ29sdW1uTWFwIiwicmVmZXJlbmNlcyIsInRhYmxlcyIsIm9uRGVsZXRlIiwiYmFzZUV4dHJhQ29uZmlnIiwib3JkZXJJZHgiLCJjb2xzIiwib24iLCJwYXJlbnRJZHgiLCJsb2NhbGUiLCJlbnVtX19sb2NhbGVzIiwibG9jYWxlSWR4IiwiYnVpbGRUYWJsZSIsInRhYmxlTmFtZSIsInNldCIsInNlbGVjdFRhYmxlUmVsYXRpb25zIiwicmVsYXRpb25zIiwib25lIiwicmVzdWx0IiwiYm9vbGVhbiIsImRpc2FibGVOb3ROdWxsRnJvbUhlcmUiLCJCb29sZWFuIiwiYWRtaW4iLCJjb25kaXRpb24iLCJhcnJheVRhYmxlTmFtZSIsIl9vcmRlciIsIl9wYXJlbnRJRCIsIl9vcmRlcklkeCIsIl9wYXJlbnRJRElkeCIsIl9sb2NhbGUiLCJfbG9jYWxlSWR4Iiwic3ViUmVsYXRpb25zVG9CdWlsZCIsImlkVG9VVUlEIiwicm9vdFJlbGF0aW9uc2hpcHMiLCJhcnJheVRhYmxlUmVsYXRpb25zIiwibWFueSIsImhhc0xvY2FsZXNUYWJsZSIsIl9sb2NhbGVzIiwidmFsIiwia2V5IiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja1RhYmxlTmFtZSIsInNsdWciLCJfcGF0aCIsInRleHQiLCJfcGF0aElkeCIsImJsb2NrVGFibGVSZWxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJ2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCIsInRhYmxlIiwiZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwiZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImdyb3VwSGFzTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInRhYkhhc01hbnlOdW1iZXJGaWVsZCIsInRhYnMiLCJ0YWIiLCJyb3dIYXNMb2NhbGl6ZWRGaWVsZCIsInJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwicm93SGFzTWFueU51bWJlckZpZWxkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0aW9uIiwiYWRkIiwicmVxdWlyZWQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE2RHZCQTs7O2VBQUFBOzs7NEJBeERhO3dCQWFuQjt3QkFDOEI7dUJBQ1k7b0VBQ3pCO2lDQUlRO3VCQUNMOzZC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
456
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IHJlbGF0aW9ucyB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHR5cGUgeyBJbmRleEJ1aWxkZXIsIFBnQ29sdW1uQnVpbGRlciwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXIgfSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHtcbiAgYm9vbGVhbixcbiAgaW5kZXgsXG4gIGludGVnZXIsXG4gIGpzb25iLFxuICBudW1lcmljLFxuICBwZ0VudW0sXG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIHRleHQsXG4gIHRpbWVzdGFtcCxcbiAgdmFyY2hhcixcbn0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHsgSW52YWxpZENvbmZpZ3VyYXRpb24gfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNDb2x1bW5zLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgaGFzTG9jYWxlc1RhYmxlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2hhc0xvY2FsZXNUYWJsZSdcbmltcG9ydCB7IGJ1aWxkVGFibGUgfSBmcm9tICcuL2J1aWxkJ1xuaW1wb3J0IHsgY3JlYXRlSW5kZXggfSBmcm9tICcuL2NyZWF0ZUluZGV4J1xuaW1wb3J0IHsgaWRUb1VVSUQgfSBmcm9tICcuL2lkVG9VVUlEJ1xuaW1wb3J0IHsgcGFyZW50SURDb2x1bW5NYXAgfSBmcm9tICcuL3BhcmVudElEQ29sdW1uTWFwJ1xuaW1wb3J0IHsgdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwgfSBmcm9tICcuL3ZhbGlkYXRlRXhpc3RpbmdCbG9ja0lzSWRlbnRpY2FsJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBidWlsZFJlbGF0aW9uc2hpcHM6IGJvb2xlYW5cbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgZGlzYWJsZU5vdE51bGw6IGJvb2xlYW5cbiAgZGlzYWJsZVVuaXF1ZT86IGJvb2xlYW5cbiAgZmllbGRQcmVmaXg/OiBzdHJpbmdcbiAgZmllbGRzOiAoRmllbGQgfCBUYWJBc0ZpZWxkKVtdXG4gIGZvcmNlTG9jYWxpemVkPzogYm9vbGVhblxuICBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlcj5cbiAgbG9jYWxlc0NvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgbG9jYWxlc0luZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBuZXdUYWJsZU5hbWU6IHN0cmluZ1xuICBwYXJlbnRUYWJsZU5hbWU6IHN0cmluZ1xuICByZWxhdGlvbnNUb0J1aWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJlbGF0aW9uc2hpcHM6IFNldDxzdHJpbmc+XG4gIHJvb3RSZWxhdGlvbnNUb0J1aWxkPzogTWFwPHN0cmluZywgc3RyaW5nPlxuICByb290VGFibGVJRENvbFR5cGU6IHN0cmluZ1xuICByb290VGFibGVOYW1lOiBzdHJpbmdcbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIGhhc0xvY2FsaXplZEZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogYm9vbGVhblxuICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogYm9vbGVhblxuICBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgY29sdW1uUHJlZml4LFxuICBjb2x1bW5zLFxuICBkaXNhYmxlTm90TnVsbCxcbiAgZGlzYWJsZVVuaXF1ZSA9IGZhbHNlLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZUxvY2FsaXplZCxcbiAgaW5kZXhlcyxcbiAgbG9jYWxlc0NvbHVtbnMsXG4gIGxvY2FsZXNJbmRleGVzLFxuICBuZXdUYWJsZU5hbWUsXG4gIHBhcmVudFRhYmxlTmFtZSxcbiAgcmVsYXRpb25zVG9CdWlsZCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZSxcbn06IEFyZ3MpOiBSZXN1bHQgPT4ge1xuICBsZXQgaGFzTG9jYWxpemVkRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTWFueU51bWJlckZpZWxkOiAnaW5kZXgnIHwgYm9vbGVhbiA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSBmYWxzZVxuXG4gIGxldCBwYXJlbnRJRENvbFR5cGUgPSAnaW50ZWdlcidcbiAgaWYgKGNvbHVtbnMuaWQgaW5zdGFuY2VvZiBQZ051bWVyaWNCdWlsZGVyKSBwYXJlbnRJRENvbFR5cGUgPSAnbnVtZXJpYydcbiAgaWYgKGNvbHVtbnMuaWQgaW5zdGFuY2VvZiBQZ1ZhcmNoYXJCdWlsZGVyKSBwYXJlbnRJRENvbFR5cGUgPSAndmFyY2hhcidcblxuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBpZiAoJ25hbWUnIGluIGZpZWxkICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpIHJldHVyblxuICAgIGxldCBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgICBsZXQgZmllbGROYW1lOiBzdHJpbmdcblxuICAgIGxldCB0YXJnZXRUYWJsZSA9IGNvbHVtbnNcbiAgICBsZXQgdGFyZ2V0SW5kZXhlcyA9IGluZGV4ZXNcblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29sdW1uTmFtZSA9IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWVbMF0gPT09ICdfJyA/ICdfJyA6ICcnfSR7dG9TbmFrZUNhc2UoXG4gICAgICAgIGZpZWxkLm5hbWUsXG4gICAgICApfWBcbiAgICAgIGZpZWxkTmFtZSA9IGAke2ZpZWxkUHJlZml4Py5yZXBsYWNlKCcuJywgJ18nKSB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICAvLyBJZiBmaWVsZCBpcyBsb2NhbGl6ZWQsXG4gICAgICAvLyBhZGQgdGhlIGNvbHVtbiB0byB0aGUgbG9jYWxlIHRhYmxlIGluc3RlYWQgb2YgbWFpbiB0YWJsZVxuICAgICAgaWYgKGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uICYmIChmaWVsZC5sb2NhbGl6ZWQgfHwgZm9yY2VMb2NhbGl6ZWQpKSB7XG4gICAgICAgIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICB0YXJnZXRUYWJsZSA9IGxvY2FsZXNDb2x1bW5zXG4gICAgICAgIHRhcmdldEluZGV4ZXMgPSBsb2NhbGVzSW5kZXhlc1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIChmaWVsZC51bmlxdWUgfHwgZmllbGQuaW5kZXgpICYmXG4gICAgICAgICFbJ2FycmF5JywgJ2Jsb2NrcycsICdncm91cCcsICdwb2ludCcsICdyZWxhdGlvbnNoaXAnLCAndXBsb2FkJ10uaW5jbHVkZXMoZmllbGQudHlwZSkgJiZcbiAgICAgICAgIShmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55ID09PSB0cnVlKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHVuaXF1ZSA9IGRpc2FibGVVbmlxdWUgIT09IHRydWUgJiYgZmllbGQudW5pcXVlXG4gICAgICAgIGlmICh1bmlxdWUpIHtcbiAgICAgICAgICBjb25zdCBjb25zdHJhaW50VmFsdWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuICAgICAgICAgIGlmICghYWRhcHRlci5maWVsZENvbnN0cmFpbnRzPy5bcm9vdFRhYmxlTmFtZV0pIHtcbiAgICAgICAgICAgIGFkYXB0ZXIuZmllbGRDb25zdHJhaW50c1tyb290VGFibGVOYW1lXSA9IHt9XG4gICAgICAgICAgfVxuICAgICAgICAgIGFkYXB0ZXIuZmllbGRDb25zdHJhaW50c1tyb290VGFibGVOYW1lXVtgJHtjb2x1bW5OYW1lfV9pZHhgXSA9IGNvbnN0cmFpbnRWYWx1ZVxuICAgICAgICB9XG4gICAgICAgIHRhcmdldEluZGV4ZXNbYCR7ZmllbGQubmFtZX1JZHhgXSA9IGNyZWF0ZUluZGV4KHtcbiAgICAgICAgICBuYW1lOiBmaWVsZE5hbWUsXG4gICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICB1bmlxdWUsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgY2FzZSAndGV4dGFyZWEnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSB2YXJjaGFyKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmluZGV4KSB7XG4gICAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQgPSAnaW5kZXgnXG4gICAgICAgICAgfSBlbHNlIGlmICghaGFzTWFueU51bWJlckZpZWxkKSB7XG4gICAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnVuaXF1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWd1cmF0aW9uKFxuICAgICAgICAgICAgICAnVW5pcXVlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gUG9zdGdyZXMgZm9yIGhhc01hbnkgbnVtYmVyIGZpZWxkcy4nLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gbnVtZXJpYyhjb2x1bW5OYW1lKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JpY2hUZXh0JzpcbiAgICAgIGNhc2UgJ2pzb24nOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBqc29uYihjb2x1bW5OYW1lKVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gdGltZXN0YW1wKGNvbHVtbk5hbWUsIHtcbiAgICAgICAgICBtb2RlOiAnc3RyaW5nJyxcbiAgICAgICAgICBwcmVjaXNpb246IDMsXG4gICAgICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmFkaW8nOlxuICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICBjb25zdCBlbnVtTmFtZSA9IGBlbnVtXyR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcblxuICAgICAgICBhZGFwdGVyLmVudW1zW2VudW1OYW1lXSA9IHBnRW51bShcbiAgICAgICAgICBlbnVtTmFtZSxcbiAgICAgICAgICBmaWVsZC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgICAgICB9KSBhcyBbc3RyaW5nLCAuLi5zdHJpbmdbXV0sXG4gICAgICAgIClcblxuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdFRhYmxlTmFtZSA9IGAke25ld1RhYmxlTmFtZX1fJHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gXG4gICAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICAgICAgdmFsdWU6IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKCd2YWx1ZScpLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgID4gPSB7XG4gICAgICAgICAgICBvcmRlcklkeDogKGNvbHMpID0+IGluZGV4KCdvcmRlcl9pZHgnKS5vbihjb2xzLm9yZGVyKSxcbiAgICAgICAgICAgIHBhcmVudElkeDogKGNvbHMpID0+IGluZGV4KCdwYXJlbnRfaWR4Jykub24oY29scy5wYXJlbnQpLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGJhc2VDb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJykubm90TnVsbCgpXG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcubG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdsb2NhbGVfaWR4Jykub24oY29scy5sb2NhbGUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmluZGV4KSB7XG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcudmFsdWUgPSAoY29scykgPT4gaW5kZXgoJ3ZhbHVlX2lkeCcpLm9uKGNvbHMudmFsdWUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnVpbGRUYWJsZSh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgICBkaXNhYmxlTm90TnVsbCxcbiAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtdLFxuICAgICAgICAgICAgdGFibGVOYW1lOiBzZWxlY3RUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQuc2V0KGZpZWxkTmFtZSwgc2VsZWN0VGFibGVOYW1lKVxuXG4gICAgICAgICAgY29uc3Qgc2VsZWN0VGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMoYWRhcHRlci50YWJsZXNbc2VsZWN0VGFibGVOYW1lXSwgKHsgb25lIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgICAgIHBhcmVudDogb25lKGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFthZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdLnBhcmVudF0sXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25fJHtzZWxlY3RUYWJsZU5hbWV9YF0gPSBzZWxlY3RUYWJsZVJlbGF0aW9uc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBhZGFwdGVyLmVudW1zW2VudW1OYW1lXShmaWVsZE5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnY2hlY2tib3gnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBib29sZWFuKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICBjb25zdCBkaXNhYmxlTm90TnVsbEZyb21IZXJlID0gQm9vbGVhbihmaWVsZC5hZG1pbj8uY29uZGl0aW9uKSB8fCBkaXNhYmxlTm90TnVsbFxuXG4gICAgICAgIGNvbnN0IGFycmF5VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgX3BhcmVudElEOiBwYXJlbnRJRENvbHVtbk1hcFtwYXJlbnRJRENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgID4gPSB7XG4gICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ19vcmRlcl9pZHgnKS5vbihjb2xzLl9vcmRlciksXG4gICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ19wYXJlbnRfaWRfaWR4Jykub24oY29scy5fcGFyZW50SUQpLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGJhc2VDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnX2xvY2FsZV9pZHgnKS5vbihjb2xzLl9sb2NhbGUpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHJlbGF0aW9uc1RvQnVpbGQ6IHN1YlJlbGF0aW9uc1RvQnVpbGQgfSA9IGJ1aWxkVGFibGUoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRzOiBkaXNhYmxlVW5pcXVlID8gaWRUb1VVSUQoZmllbGQuZmllbGRzKSA6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290UmVsYXRpb25zaGlwczogcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIHJlbGF0aW9uc1RvQnVpbGQuc2V0KGZpZWxkTmFtZSwgYXJyYXlUYWJsZU5hbWUpXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0sICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLl9wYXJlbnRJRF0sXG4gICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChoYXNMb2NhbGVzVGFibGUoZmllbGQuZmllbGRzKSkge1xuICAgICAgICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShhZGFwdGVyLnRhYmxlc1tgJHthcnJheVRhYmxlTmFtZX1fbG9jYWxlc2BdKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHN1YlJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH0pXG5cbiAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2FycmF5VGFibGVOYW1lfWBdID0gYXJyYXlUYWJsZVJlbGF0aW9uc1xuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZU5vdE51bGxGcm9tSGVyZSA9IEJvb2xlYW4oZmllbGQuYWRtaW4/LmNvbmRpdGlvbikgfHwgZGlzYWJsZU5vdE51bGxcblxuICAgICAgICBmaWVsZC5ibG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICBjb25zdCBibG9ja1RhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWBcbiAgICAgICAgICBpZiAoIWFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSkge1xuICAgICAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgICAgIF9vcmRlcjogaW50ZWdlcignX29yZGVyJykubm90TnVsbCgpLFxuICAgICAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3Jvb3RUYWJsZUlEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICAgICAgICBfcGF0aDogdGV4dCgnX3BhdGgnKS5ub3ROdWxsKCksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgICAgID4gPSB7XG4gICAgICAgICAgICAgIF9vcmRlcklkeDogKGNvbHMpID0+IGluZGV4KCdvcmRlcl9pZHgnKS5vbihjb2xzLl9vcmRlciksXG4gICAgICAgICAgICAgIF9wYXJlbnRJRElkeDogKGNvbHMpID0+IGluZGV4KCdwYXJlbnRfaWRfaWR4Jykub24oY29scy5fcGFyZW50SUQpLFxuICAgICAgICAgICAgICBfcGF0aElkeDogKGNvbHMpID0+IGluZGV4KCdwYXRoX2lkeCcpLm9uKGNvbHMuX3BhdGgpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICAgIGJhc2VDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLl9sb2NhbGVJZHggPSAoY29scykgPT4gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLl9sb2NhbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgIGJhc2VDb2x1bW5zLFxuICAgICAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgICBmaWVsZHM6IGRpc2FibGVVbmlxdWUgPyBpZFRvVVVJRChibG9jay5maWVsZHMpIDogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICAgICAgcm9vdFJlbGF0aW9uc2hpcHM6IHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdGFibGVOYW1lOiBibG9ja1RhYmxlTmFtZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGJsb2NrVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMoXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgKHsgbWFueSwgb25lIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgICAgICAgICAgX3BhcmVudElEOiBvbmUoYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLl9wYXJlbnRJRF0sXG4gICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzTG9jYWxlc1RhYmxlKGJsb2NrLmZpZWxkcykpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdC5fbG9jYWxlcyA9IG1hbnkoYWRhcHRlci50YWJsZXNbYCR7YmxvY2tUYWJsZU5hbWV9X2xvY2FsZXNgXSlcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdWJSZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7YmxvY2tUYWJsZU5hbWV9YF0gPSBibG9ja1RhYmxlUmVsYXRpb25zXG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCh7XG4gICAgICAgICAgICAgIGJsb2NrLFxuICAgICAgICAgICAgICBsb2NhbGl6ZWQ6IGZpZWxkLmxvY2FsaXplZCxcbiAgICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQuc2V0KGBfYmxvY2tzXyR7YmxvY2suc2x1Z31gLCBibG9ja1RhYmxlTmFtZSlcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0YWInOlxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmICghKCduYW1lJyBpbiBmaWVsZCkpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgICAgZGlzYWJsZU5vdE51bGwsXG4gICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIGZvcmNlTG9jYWxpemVkLFxuICAgICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgICBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlzYWJsZU5vdE51bGxGcm9tSGVyZSA9IEJvb2xlYW4oZmllbGQuYWRtaW4/LmNvbmRpdGlvbikgfHwgZGlzYWJsZU5vdE51bGxcblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX0uYCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZDogZmllbGQubG9jYWxpemVkLFxuICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgbmV3VGFibGVOYW1lOiBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGFicyc6IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZU5vdE51bGxGcm9tSGVyZSA9IEJvb2xlYW4oZmllbGQuYWRtaW4/LmNvbmRpdGlvbikgfHwgZGlzYWJsZU5vdE51bGxcblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IHRhYkhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogdGFiSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IHRhYkhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlTm90TnVsbDogZGlzYWJsZU5vdE51bGxGcm9tSGVyZSxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgIGZpZWxkczogZmllbGQudGFicy5tYXAoKHRhYikgPT4gKHsgLi4udGFiLCB0eXBlOiAndGFiJyB9KSksXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAodGFiSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAodGFiSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAodGFiSGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVOb3ROdWxsRnJvbUhlcmUgPSBCb29sZWFuKGZpZWxkLmFkbWluPy5jb25kaXRpb24pIHx8IGRpc2FibGVOb3ROdWxsXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogcm93SGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiByb3dIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IHJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogcm93SGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsOiBkaXNhYmxlTm90TnVsbEZyb21IZXJlLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICBuZXdUYWJsZU5hbWU6IHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChyb3dIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChyb3dIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChyb3dIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgY2FzZSAndXBsb2FkJzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICBmaWVsZC5yZWxhdGlvblRvLmZvckVhY2goKHJlbGF0aW9uKSA9PiByZWxhdGlvbnNoaXBzLmFkZChyZWxhdGlvbikpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVsYXRpb25zaGlwcy5hZGQoZmllbGQucmVsYXRpb25UbylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVha1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmRpdGlvbiA9IGZpZWxkLmFkbWluICYmIGZpZWxkLmFkbWluLmNvbmRpdGlvblxuXG4gICAgaWYgKFxuICAgICAgIWRpc2FibGVOb3ROdWxsICYmXG4gICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdICYmXG4gICAgICAncmVxdWlyZWQnIGluIGZpZWxkICYmXG4gICAgICBmaWVsZC5yZXF1aXJlZCAmJlxuICAgICAgIWNvbmRpdGlvblxuICAgICkge1xuICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXS5ub3ROdWxsKClcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgaGFzTWFueU51bWJlckZpZWxkLFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhZGFwdGVyIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiY29sdW1uUHJlZml4IiwiY29sdW1ucyIsImRpc2FibGVOb3ROdWxsIiwiZGlzYWJsZVVuaXF1ZSIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwiZm9yY2VMb2NhbGl6ZWQiLCJpbmRleGVzIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsIm5ld1RhYmxlTmFtZSIsInBhcmVudFRhYmxlTmFtZSIsInJlbGF0aW9uc1RvQnVpbGQiLCJyZWxhdGlvbnNoaXBzIiwicm9vdFJlbGF0aW9uc1RvQnVpbGQiLCJyb290VGFibGVJRENvbFR5cGUiLCJyb290VGFibGVOYW1lIiwiaGFzTG9jYWxpemVkRmllbGQiLCJoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImhhc01hbnlOdW1iZXJGaWVsZCIsImhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInBhcmVudElEQ29sVHlwZSIsImlkIiwiUGdOdW1lcmljQnVpbGRlciIsIlBnVmFyY2hhckJ1aWxkZXIiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiY29sdW1uTmFtZSIsImZpZWxkTmFtZSIsInRhcmdldFRhYmxlIiwidGFyZ2V0SW5kZXhlcyIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0b1NuYWtlQ2FzZSIsInJlcGxhY2UiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibG9jYWxpemVkIiwidW5pcXVlIiwiaW5kZXgiLCJpbmNsdWRlcyIsInR5cGUiLCJoYXNNYW55IiwiY29uc3RyYWludFZhbHVlIiwiZmllbGRDb25zdHJhaW50cyIsImNyZWF0ZUluZGV4IiwidmFyY2hhciIsIkludmFsaWRDb25maWd1cmF0aW9uIiwibnVtZXJpYyIsImpzb25iIiwidGltZXN0YW1wIiwibW9kZSIsInByZWNpc2lvbiIsIndpdGhUaW1lem9uZSIsImVudW1OYW1lIiwiZW51bXMiLCJwZ0VudW0iLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwib3B0aW9uSXNPYmplY3QiLCJ2YWx1ZSIsInNlbGVjdFRhYmxlTmFtZSIsImJhc2VDb2x1bW5zIiwib3JkZXIiLCJpbnRlZ2VyIiwibm90TnVsbCIsInBhcmVudCIsInBhcmVudElEQ29sdW1uTWFwIiwicmVmZXJlbmNlcyIsInRhYmxlcyIsIm9uRGVsZXRlIiwiYmFzZUV4dHJhQ29uZmlnIiwib3JkZXJJZHgiLCJjb2xzIiwib24iLCJwYXJlbnRJZHgiLCJsb2NhbGUiLCJlbnVtX19sb2NhbGVzIiwibG9jYWxlSWR4IiwiYnVpbGRUYWJsZSIsInRhYmxlTmFtZSIsInNldCIsInNlbGVjdFRhYmxlUmVsYXRpb25zIiwicmVsYXRpb25zIiwib25lIiwicmVzdWx0IiwiYm9vbGVhbiIsImRpc2FibGVOb3ROdWxsRnJvbUhlcmUiLCJCb29sZWFuIiwiYWRtaW4iLCJjb25kaXRpb24iLCJhcnJheVRhYmxlTmFtZSIsIl9vcmRlciIsIl9wYXJlbnRJRCIsIl9vcmRlcklkeCIsIl9wYXJlbnRJRElkeCIsIl9sb2NhbGUiLCJfbG9jYWxlSWR4Iiwic3ViUmVsYXRpb25zVG9CdWlsZCIsImlkVG9VVUlEIiwicm9vdFJlbGF0aW9uc2hpcHMiLCJhcnJheVRhYmxlUmVsYXRpb25zIiwibWFueSIsImhhc0xvY2FsZXNUYWJsZSIsIl9sb2NhbGVzIiwidmFsIiwia2V5IiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja1RhYmxlTmFtZSIsInNsdWciLCJfcGF0aCIsInRleHQiLCJfcGF0aElkeCIsImJsb2NrVGFibGVSZWxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJ2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCIsInRhYmxlIiwiZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwiZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImdyb3VwSGFzTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInRhYkhhc01hbnlOdW1iZXJGaWVsZCIsInRhYnMiLCJ0YWIiLCJyb3dIYXNMb2NhbGl6ZWRGaWVsZCIsInJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwicm93SGFzTWFueU51bWJlckZpZWxkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0aW9uIiwiYWRkIiwicmVxdWlyZWQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE0RHZCQTs7O2VBQUFBOzs7NEJBMURhO3dCQWNuQjt1QkFFMEM7d0JBQ1o7b0VBQ2I7aUNBSVE7dUJBQ0w7NkJBQ0M7MEJBQ0g7bUNBQ1M7a0RBQ2U7Ozs7OztBQStCMUMsTUFBTUEsaUJBQWlCLENBQUMsRUFDN0JDLE9BQU8sRUFDUEMsa0JBQWtCLEVBQ2xCQyxZQUFZLEVBQ1pDLE9BQU8sRUFDUEMsY0FBYyxFQUNkQyxnQkFBZ0IsS0FBSyxFQUNyQkMsV0FBVyxFQUNYQyxNQUFNLEVBQ05DLGNBQWMsRUFDZEMsT0FBTyxFQUNQQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsWUFBWSxFQUNaQyxlQUFlLEVBQ2ZDLGdCQUFnQixFQUNoQkMsYUFBYSxFQUNiQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsYUFBYSxFQUNSO0lBQ0wsSUFBSUMsb0JBQW9CO0lBQ3hCLElBQUlDLGdDQUFnQztJQUNwQyxJQUFJQyxxQkFBd0M7SUFDNUMsSUFBSUMsOEJBQThCO0lBRWxDLElBQUlDLGtCQUFrQjtJQUN0QixJQUFJcEIsUUFBUXFCLEVBQUUsWUFBWUMsd0JBQWdCLEVBQUVGLGtCQUFrQjtJQUM5RCxJQUFJcEIsUUFBUXFCLEVBQUUsWUFBWUUsd0JBQWdCLEVBQUVILGtCQUFrQjtJQUU5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
@@ -8,6 +8,7 @@ type Args = {
8
8
  blocks: {
9
9
  [blockType: string]: BlockRowToInsert[];
10
10
  };
11
+ blocksToDelete: Set<string>;
11
12
  data: unknown;
12
13
  field: ArrayField;
13
14
  locale?: string;
@@ -19,6 +20,6 @@ type Args = {
19
20
  [tableName: string]: Record<string, unknown>[];
20
21
  };
21
22
  };
22
- export declare const transformArray: ({ adapter, arrayTableName, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => ArrayRowToInsert[];
23
+ export declare const transformArray: ({ adapter, arrayTableName, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => ArrayRowToInsert[];
23
24
  export {};
24
25
  //# sourceMappingURL=array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/transform/write/array.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKvF,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,2IAaxB,IAAI,uBA0DN,CAAA"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/transform/write/array.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKvF,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,2JAcxB,IAAI,uBA2DN,CAAA"}
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "transformArray", {
10
10
  });
11
11
  const _isArrayOfRows = require("../../utilities/isArrayOfRows");
12
12
  const _traverseFields = require("./traverseFields");
13
- const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects })=>{
13
+ const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects })=>{
14
14
  const newRows = [];
15
15
  const hasUUID = adapter.tables[arrayTableName]._uuid;
16
16
  if ((0, _isArrayOfRows.isArrayOfRows)(data)) {
@@ -44,6 +44,7 @@ const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, data,
44
44
  arrays: newRow.arrays,
45
45
  baseTableName,
46
46
  blocks,
47
+ blocksToDelete,
47
48
  columnPrefix: '',
48
49
  data: arrayRow,
49
50
  fieldPrefix: '',
@@ -63,4 +64,4 @@ const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, data,
63
64
  return newRows;
64
65
  };
65
66
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYXJyYXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgQXJyYXlGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQsIEJsb2NrUm93VG9JbnNlcnQsIFJlbGF0aW9uc2hpcFRvRGVsZXRlIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNBcnJheU9mUm93cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pc0FycmF5T2ZSb3dzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBhcnJheVRhYmxlTmFtZTogc3RyaW5nXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBkYXRhOiB1bmtub3duXG4gIGZpZWxkOiBBcnJheUZpZWxkXG4gIGxvY2FsZT86IHN0cmluZ1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHBhdGg6IHN0cmluZ1xuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogUmVsYXRpb25zaGlwVG9EZWxldGVbXVxuICBzZWxlY3RzOiB7XG4gICAgW3RhYmxlTmFtZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1BcnJheSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGFycmF5VGFibGVOYW1lLFxuICBiYXNlVGFibGVOYW1lLFxuICBibG9ja3MsXG4gIGRhdGEsXG4gIGZpZWxkLFxuICBsb2NhbGUsXG4gIG51bWJlcnMsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgc2VsZWN0cyxcbn06IEFyZ3MpID0+IHtcbiAgY29uc3QgbmV3Um93czogQXJyYXlSb3dUb0luc2VydFtdID0gW11cbiAgY29uc3QgaGFzVVVJRCA9IGFkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lXS5fdXVpZFxuXG4gIGlmIChpc0FycmF5T2ZSb3dzKGRhdGEpKSB7XG4gICAgZGF0YS5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgY29uc3QgbmV3Um93OiBBcnJheVJvd1RvSW5zZXJ0ID0ge1xuICAgICAgICBhcnJheXM6IHt9LFxuICAgICAgICBsb2NhbGVzOiB7fSxcbiAgICAgICAgcm93OiB7XG4gICAgICAgICAgX29yZGVyOiBpICsgMSxcbiAgICAgICAgfSxcbiAgICAgIH1cblxuICAgICAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBhIF91dWlkIGZpZWxkIG9uIGFycmF5cyxcbiAgICAgIC8vIHRoYXQgbWVhbnMgdGhlIElEIGhhcyB0byBiZSB1bmlxdWUsXG4gICAgICAvLyBhbmQgb3VyIGlkcyB3aXRoaW4gYXJyYXlzIGFyZSBub3QgdW5pcXVlLlxuICAgICAgLy8gU28gbW92ZSB0aGUgSUQgdG8gYSB1dWlkIGZpZWxkIGZvciBzdG9yYWdlXG4gICAgICAvLyBhbmQgYWxsb3cgdGhlIGRhdGFiYXNlIHRvIGdlbmVyYXRlIGEgc2VyaWFsIGlkIGF1dG9tYXRpY2FsbHlcbiAgICAgIGlmIChoYXNVVUlEKSB7XG4gICAgICAgIG5ld1Jvdy5yb3cuX3V1aWQgPSBhcnJheVJvdy5pZFxuICAgICAgICBkZWxldGUgYXJyYXlSb3cuaWRcbiAgICAgIH1cblxuICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICBuZXdSb3cubG9jYWxlc1tsb2NhbGVdID0ge1xuICAgICAgICAgIF9sb2NhbGU6IGxvY2FsZSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIG5ld1Jvdy5yb3cuX2xvY2FsZSA9IGxvY2FsZVxuICAgICAgfVxuXG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5czogbmV3Um93LmFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBjb2x1bW5QcmVmaXg6ICcnLFxuICAgICAgICBkYXRhOiBhcnJheVJvdyxcbiAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbG9jYWxlczogbmV3Um93LmxvY2FsZXMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93OiBuZXdSb3cucm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgfSlcblxuICAgICAgbmV3Um93cy5wdXNoKG5ld1JvdylcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG5ld1Jvd3Ncbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1BcnJheSIsImFkYXB0ZXIiLCJhcnJheVRhYmxlTmFtZSIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJkYXRhIiwiZmllbGQiLCJsb2NhbGUiLCJudW1iZXJzIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJzZWxlY3RzIiwibmV3Um93cyIsImhhc1VVSUQiLCJ0YWJsZXMiLCJfdXVpZCIsImlzQXJyYXlPZlJvd3MiLCJmb3JFYWNoIiwiYXJyYXlSb3ciLCJpIiwibmV3Um93IiwiYXJyYXlzIiwibG9jYWxlcyIsInJvdyIsIl9vcmRlciIsImlkIiwiX2xvY2FsZSIsImxvY2FsaXplZCIsInRyYXZlcnNlRmllbGRzIiwiY29sdW1uUHJlZml4IiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJwYXJlbnRUYWJsZU5hbWUiLCJuYW1lIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTRCdkJBOzs7ZUFBQUE7OzsrQkF0QmlCO2dDQUNDO0FBcUJ4QixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxjQUFjLEVBQ2RDLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxJQUFJLEVBQ0pDLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsYUFBYSxFQUNiQyxxQkFBcUIsRUFDckJDLE9BQU8sRUFDRjtJQUNMLE1BQU1DLFVBQThCLEVBQUU7SUFDdEMsTUFBTUMsVUFBVWIsUUFBUWMsTUFBTSxDQUFDYixlQUFlLENBQUNjLEtBQUs7SUFFcEQsSUFBSUMsSUFBQUEsNEJBQWEsRUFBQ1osT0FBTztRQUN2QkEsS0FBS2EsT0FBTyxDQUFDLENBQUNDLFVBQVVDO1lBQ3RCLE1BQU1DLFNBQTJCO2dCQUMvQkMsUUFBUSxDQUFDO2dCQUNUQyxTQUFTLENBQUM7Z0JBQ1ZDLEtBQUs7b0JBQ0hDLFFBQVFMLElBQUk7Z0JBQ2Q7WUFDRjtZQUVBLCtDQUErQztZQUMvQyxzQ0FBc0M7WUFDdEMsNENBQTRDO1lBQzVDLDZDQUE2QztZQUM3QywrREFBK0Q7WUFDL0QsSUFBSU4sU0FBUztnQkFDWE8sT0FBT0csR0FBRyxDQUFDUixLQUFLLEdBQUdHLFNBQVNPLEVBQUU7Z0JBQzlCLE9BQU9QLFNBQVNPLEVBQUU7WUFDcEI7WUFFQSxJQUFJbkIsUUFBUTtnQkFDVmMsT0FBT0UsT0FBTyxDQUFDaEIsT0FBTyxHQUFHO29CQUN2Qm9CLFNBQVNwQjtnQkFDWDtZQUNGO1lBRUEsSUFBSUQsTUFBTXNCLFNBQVMsRUFBRTtnQkFDbkJQLE9BQU9HLEdBQUcsQ0FBQ0csT0FBTyxHQUFHcEI7WUFDdkI7WUFFQXNCLElBQUFBLDhCQUFjLEVBQUM7Z0JBQ2I1QjtnQkFDQXFCLFFBQVFELE9BQU9DLE1BQU07Z0JBQ3JCbkI7Z0JBQ0FDO2dCQUNBMEIsY0FBYztnQkFDZHpCLE1BQU1jO2dCQUNOWSxhQUFhO2dCQUNiQyxRQUFRMUIsTUFBTTBCLE1BQU07Z0JBQ3BCVCxTQUFTRixPQUFPRSxPQUFPO2dCQUN2QmY7Z0JBQ0F5QixpQkFBaUIvQjtnQkFDakJPLE1BQU0sQ0FBQyxFQUFFQSxRQUFRLEdBQUcsRUFBRUgsTUFBTTRCLElBQUksQ0FBQyxDQUFDLEVBQUVkLEVBQUUsQ0FBQyxDQUFDO2dCQUN4Q1Y7Z0JBQ0FDO2dCQUNBYSxLQUFLSCxPQUFPRyxHQUFHO2dCQUNmWjtZQUNGO1lBRUFDLFFBQVFzQixJQUFJLENBQUNkO1FBQ2Y7SUFDRjtJQUVBLE9BQU9SO0FBQ1QifQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYXJyYXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgQXJyYXlGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQsIEJsb2NrUm93VG9JbnNlcnQsIFJlbGF0aW9uc2hpcFRvRGVsZXRlIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNBcnJheU9mUm93cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pc0FycmF5T2ZSb3dzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBhcnJheVRhYmxlTmFtZTogc3RyaW5nXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgZGF0YTogdW5rbm93blxuICBmaWVsZDogQXJyYXlGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBwYXRoOiBzdHJpbmdcbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzVG9EZWxldGU6IFJlbGF0aW9uc2hpcFRvRGVsZXRlW11cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtQXJyYXkgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheVRhYmxlTmFtZSxcbiAgYmFzZVRhYmxlTmFtZSxcbiAgYmxvY2tzLFxuICBibG9ja3NUb0RlbGV0ZSxcbiAgZGF0YSxcbiAgZmllbGQsXG4gIGxvY2FsZSxcbiAgbnVtYmVycyxcbiAgcGF0aCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICBzZWxlY3RzLFxufTogQXJncykgPT4ge1xuICBjb25zdCBuZXdSb3dzOiBBcnJheVJvd1RvSW5zZXJ0W10gPSBbXVxuICBjb25zdCBoYXNVVUlEID0gYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLl91dWlkXG5cbiAgaWYgKGlzQXJyYXlPZlJvd3MoZGF0YSkpIHtcbiAgICBkYXRhLmZvckVhY2goKGFycmF5Um93LCBpKSA9PiB7XG4gICAgICBjb25zdCBuZXdSb3c6IEFycmF5Um93VG9JbnNlcnQgPSB7XG4gICAgICAgIGFycmF5czoge30sXG4gICAgICAgIGxvY2FsZXM6IHt9LFxuICAgICAgICByb3c6IHtcbiAgICAgICAgICBfb3JkZXI6IGkgKyAxLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIGEgX3V1aWQgZmllbGQgb24gYXJyYXlzLFxuICAgICAgLy8gdGhhdCBtZWFucyB0aGUgSUQgaGFzIHRvIGJlIHVuaXF1ZSxcbiAgICAgIC8vIGFuZCBvdXIgaWRzIHdpdGhpbiBhcnJheXMgYXJlIG5vdCB1bmlxdWUuXG4gICAgICAvLyBTbyBtb3ZlIHRoZSBJRCB0byBhIHV1aWQgZmllbGQgZm9yIHN0b3JhZ2VcbiAgICAgIC8vIGFuZCBhbGxvdyB0aGUgZGF0YWJhc2UgdG8gZ2VuZXJhdGUgYSBzZXJpYWwgaWQgYXV0b21hdGljYWxseVxuICAgICAgaWYgKGhhc1VVSUQpIHtcbiAgICAgICAgbmV3Um93LnJvdy5fdXVpZCA9IGFycmF5Um93LmlkXG4gICAgICAgIGRlbGV0ZSBhcnJheVJvdy5pZFxuICAgICAgfVxuXG4gICAgICBpZiAobG9jYWxlKSB7XG4gICAgICAgIG5ld1Jvdy5sb2NhbGVzW2xvY2FsZV0gPSB7XG4gICAgICAgICAgX2xvY2FsZTogbG9jYWxlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgbmV3Um93LnJvdy5fbG9jYWxlID0gbG9jYWxlXG4gICAgICB9XG5cbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgYXJyYXlzOiBuZXdSb3cuYXJyYXlzLFxuICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICBibG9ja3MsXG4gICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICBjb2x1bW5QcmVmaXg6ICcnLFxuICAgICAgICBkYXRhOiBhcnJheVJvdyxcbiAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbG9jYWxlczogbmV3Um93LmxvY2FsZXMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93OiBuZXdSb3cucm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgfSlcblxuICAgICAgbmV3Um93cy5wdXNoKG5ld1JvdylcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG5ld1Jvd3Ncbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1BcnJheSIsImFkYXB0ZXIiLCJhcnJheVRhYmxlTmFtZSIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJibG9ja3NUb0RlbGV0ZSIsImRhdGEiLCJmaWVsZCIsImxvY2FsZSIsIm51bWJlcnMiLCJwYXRoIiwicmVsYXRpb25zaGlwcyIsInJlbGF0aW9uc2hpcHNUb0RlbGV0ZSIsInNlbGVjdHMiLCJuZXdSb3dzIiwiaGFzVVVJRCIsInRhYmxlcyIsIl91dWlkIiwiaXNBcnJheU9mUm93cyIsImZvckVhY2giLCJhcnJheVJvdyIsImkiLCJuZXdSb3ciLCJhcnJheXMiLCJsb2NhbGVzIiwicm93IiwiX29yZGVyIiwiaWQiLCJfbG9jYWxlIiwibG9jYWxpemVkIiwidHJhdmVyc2VGaWVsZHMiLCJjb2x1bW5QcmVmaXgiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsInBhcmVudFRhYmxlTmFtZSIsIm5hbWUiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBNkJ2QkE7OztlQUFBQTs7OytCQXZCaUI7Z0NBQ0M7QUFzQnhCLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxPQUFPLEVBQ1BDLGNBQWMsRUFDZEMsYUFBYSxFQUNiQyxNQUFNLEVBQ05DLGNBQWMsRUFDZEMsSUFBSSxFQUNKQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCQyxPQUFPLEVBQ0Y7SUFDTCxNQUFNQyxVQUE4QixFQUFFO0lBQ3RDLE1BQU1DLFVBQVVkLFFBQVFlLE1BQU0sQ0FBQ2QsZUFBZSxDQUFDZSxLQUFLO0lBRXBELElBQUlDLElBQUFBLDRCQUFhLEVBQUNaLE9BQU87UUFDdkJBLEtBQUthLE9BQU8sQ0FBQyxDQUFDQyxVQUFVQztZQUN0QixNQUFNQyxTQUEyQjtnQkFDL0JDLFFBQVEsQ0FBQztnQkFDVEMsU0FBUyxDQUFDO2dCQUNWQyxLQUFLO29CQUNIQyxRQUFRTCxJQUFJO2dCQUNkO1lBQ0Y7WUFFQSwrQ0FBK0M7WUFDL0Msc0NBQXNDO1lBQ3RDLDRDQUE0QztZQUM1Qyw2Q0FBNkM7WUFDN0MsK0RBQStEO1lBQy9ELElBQUlOLFNBQVM7Z0JBQ1hPLE9BQU9HLEdBQUcsQ0FBQ1IsS0FBSyxHQUFHRyxTQUFTTyxFQUFFO2dCQUM5QixPQUFPUCxTQUFTTyxFQUFFO1lBQ3BCO1lBRUEsSUFBSW5CLFFBQVE7Z0JBQ1ZjLE9BQU9FLE9BQU8sQ0FBQ2hCLE9BQU8sR0FBRztvQkFDdkJvQixTQUFTcEI7Z0JBQ1g7WUFDRjtZQUVBLElBQUlELE1BQU1zQixTQUFTLEVBQUU7Z0JBQ25CUCxPQUFPRyxHQUFHLENBQUNHLE9BQU8sR0FBR3BCO1lBQ3ZCO1lBRUFzQixJQUFBQSw4QkFBYyxFQUFDO2dCQUNiN0I7Z0JBQ0FzQixRQUFRRCxPQUFPQyxNQUFNO2dCQUNyQnBCO2dCQUNBQztnQkFDQUM7Z0JBQ0EwQixjQUFjO2dCQUNkekIsTUFBTWM7Z0JBQ05ZLGFBQWE7Z0JBQ2JDLFFBQVExQixNQUFNMEIsTUFBTTtnQkFDcEJULFNBQVNGLE9BQU9FLE9BQU87Z0JBQ3ZCZjtnQkFDQXlCLGlCQUFpQmhDO2dCQUNqQlEsTUFBTSxDQUFDLEVBQUVBLFFBQVEsR0FBRyxFQUFFSCxNQUFNNEIsSUFBSSxDQUFDLENBQUMsRUFBRWQsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDVjtnQkFDQUM7Z0JBQ0FhLEtBQUtILE9BQU9HLEdBQUc7Z0JBQ2ZaO1lBQ0Y7WUFFQUMsUUFBUXNCLElBQUksQ0FBQ2Q7UUFDZjtJQUNGO0lBRUEsT0FBT1I7QUFDVCJ9
@@ -7,6 +7,7 @@ type Args = {
7
7
  blocks: {
8
8
  [blockType: string]: BlockRowToInsert[];
9
9
  };
10
+ blocksToDelete: Set<string>;
10
11
  data: Record<string, unknown>[];
11
12
  field: BlockField;
12
13
  locale?: string;
@@ -18,6 +19,6 @@ type Args = {
18
19
  [tableName: string]: Record<string, unknown>[];
19
20
  };
20
21
  };
21
- export declare const transformBlocks: ({ adapter, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => void;
22
+ export declare const transformBlocks: ({ adapter, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => void;
22
23
  export {};
23
24
  //# sourceMappingURL=blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/transform/write/blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIrE,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AACD,eAAO,MAAM,eAAe,2HAYzB,IAAI,SAuDN,CAAA"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/transform/write/blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIrE,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AACD,eAAO,MAAM,eAAe,2IAazB,IAAI,SAwDN,CAAA"}