@openelement/ssg 0.41.0-alpha.2 → 0.41.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openelement/ssg",
3
- "version": "0.41.0-alpha.2",
3
+ "version": "0.41.0-alpha.3",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -23,8 +23,8 @@
23
23
  "deno"
24
24
  ],
25
25
  "dependencies": {
26
- "@openelement/protocol": "^0.41.0-alpha.2",
27
- "@openelement/core": "^0.41.0-alpha.2",
28
- "@openelement/content": "^0.41.0-alpha.2"
26
+ "@openelement/protocol": "^0.41.0-alpha.3",
27
+ "@openelement/core": "^0.41.0-alpha.3",
28
+ "@openelement/content": "^0.41.0-alpha.3"
29
29
  }
30
30
  }
package/src/cem-compat.js CHANGED
@@ -124,7 +124,7 @@ export function parseCem(json) {
124
124
  seenTagNames.add(tagName);
125
125
  }
126
126
  }
127
- for (const [j, exported] of (module.exports ?? []).entries()){
127
+ for (const [j, exported] of (module['exports'] ?? []).entries()){
128
128
  if (!exported.declaration) {
129
129
  errors.push({
130
130
  code: 'CEM_EXPORT_NO_DECLARATION',
@@ -223,4 +223,4 @@ function classifyCemDeclaration(manifest, module, declaration) {
223
223
  hydrate
224
224
  };
225
225
  }
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9zc2cvc3JjL2NlbS1jb21wYXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb24sXG4gIENvbXBhdGliaWxpdHlUaWVyLFxuICBIeWRyYXRpb25TdHJhdGVneSxcbn0gZnJvbSAnQG9wZW5lbGVtZW50L3Byb3RvY29sL2ZyYW1ld29yayc7XG5pbXBvcnQgeyBpc1ZhbGlkVGFnTmFtZSB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlJztcbmltcG9ydCB7IGZvcm1hdEVycm9yIH0gZnJvbSAnQG9wZW5lbGVtZW50L2NvcmUvZXJyb3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuRWxlbWVudEV4dGVuc2lvbnMge1xuICBzc3I/OiBib29sZWFuO1xuICBkc2Q/OiBib29sZWFuO1xuICBsYXllcj86IHN0cmluZztcbiAgaHlkcmF0ZT86IEh5ZHJhdGlvblN0cmF0ZWd5O1xuICBtb2R1bGU/OiBzdHJpbmc7XG4gIGV4cG9ydD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENlbUJhc2Uge1xuICBraW5kPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgQ2VtQ3VzdG9tRWxlbWVudCBleHRlbmRzIENlbUJhc2Uge1xuICBraW5kOiAnY3VzdG9tLWVsZW1lbnQnO1xuICB0YWdOYW1lPzogc3RyaW5nO1xuICBzdXBlckNsYXNzPzogeyBuYW1lPzogc3RyaW5nIH07XG4gIG9wZW5FbGVtZW50PzogT3BlbkVsZW1lbnRFeHRlbnNpb25zO1xufVxuXG5pbnRlcmZhY2UgQ2VtTW9kdWxlIHtcbiAga2luZD86IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBkZWNsYXJhdGlvbnM/OiBDZW1CYXNlW107XG4gIGV4cG9ydHM/OiB7IGRlY2xhcmF0aW9uPzogdW5rbm93biB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tRWxlbWVudHNNYW5pZmVzdCB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG4gIHBhY2thZ2VOYW1lPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBtb2R1bGVzOiBDZW1Nb2R1bGVbXTtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZW1QYXJzZUVycm9yIHtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VtUGFyc2VXYXJuaW5nIHtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VtUGFyc2VSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBtYW5pZmVzdD86IEN1c3RvbUVsZW1lbnRzTWFuaWZlc3Q7XG4gIGVycm9yczogQ2VtUGFyc2VFcnJvcltdO1xuICB3YXJuaW5nczogQ2VtUGFyc2VXYXJuaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VtQ2xhc3NpZmljYXRpb25SZXN1bHQge1xuICBjbGFzc2lmaWNhdGlvbnM6IENvbXBhdGliaWxpdHlDbGFzc2lmaWNhdGlvbltdO1xuICByZWplY3RlZFRhZ3M6IHN0cmluZ1tdO1xuICBzc3JDYXBhYmxlVGFnczogc3RyaW5nW107XG4gIGNsaWVudE9ubHlUYWdzOiBzdHJpbmdbXTtcbiAgZXhwZXJpbWVudGFsRG9tVGFnczogc3RyaW5nW107XG4gIHN0YXRzOiB7XG4gICAgdG90YWxDb21wb25lbnRzOiBudW1iZXI7XG4gICAgc3NyQ2FwYWJsZUNvdW50OiBudW1iZXI7XG4gICAgY2xpZW50T25seUNvdW50OiBudW1iZXI7XG4gICAgcmVqZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIGV4cGVyaW1lbnRhbERvbUNvdW50OiBudW1iZXI7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzQ2VtQ3VzdG9tRWxlbWVudChkZWNsYXJhdGlvbjogQ2VtQmFzZSk6IGRlY2xhcmF0aW9uIGlzIENlbUN1c3RvbUVsZW1lbnQge1xuICByZXR1cm4gZGVjbGFyYXRpb24ua2luZCA9PT0gJ2N1c3RvbS1lbGVtZW50Jztcbn1cblxuZnVuY3Rpb24gaXNSZWNvcmQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG5mdW5jdGlvbiB0b0NlbUJhc2VBcnJheSh2YWx1ZTogdW5rbm93bik6IENlbUJhc2VbXSB8IHVuZGVmaW5lZCB7XG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiB2YWx1ZS5maWx0ZXIoaXNSZWNvcmQpO1xufVxuXG5mdW5jdGlvbiB0b0NlbUV4cG9ydHModmFsdWU6IHVua25vd24pOiB7IGRlY2xhcmF0aW9uPzogdW5rbm93biB9W10gfCB1bmRlZmluZWQge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gdmFsdWUuZmlsdGVyKGlzUmVjb3JkKS5tYXAoKGVudHJ5KSA9PiAoeyBkZWNsYXJhdGlvbjogZW50cnkuZGVjbGFyYXRpb24gfSkpO1xufVxuXG5mdW5jdGlvbiB0b0NlbU1vZHVsZSh2YWx1ZTogdW5rbm93bik6IENlbU1vZHVsZSB8IHVuZGVmaW5lZCB7XG4gIGlmICghaXNSZWNvcmQodmFsdWUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IHR5cGVvZiB2YWx1ZS5raW5kID09PSAnc3RyaW5nJyA/IHZhbHVlLmtpbmQgOiB1bmRlZmluZWQsXG4gICAgcGF0aDogdHlwZW9mIHZhbHVlLnBhdGggPT09ICdzdHJpbmcnID8gdmFsdWUucGF0aCA6ICcnLFxuICAgIGRlY2xhcmF0aW9uczogdG9DZW1CYXNlQXJyYXkodmFsdWUuZGVjbGFyYXRpb25zKSxcbiAgICBleHBvcnRzOiB0b0NlbUV4cG9ydHModmFsdWUuZXhwb3J0cyksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNlbShqc29uOiBzdHJpbmcpOiBDZW1QYXJzZVJlc3VsdCB7XG4gIGNvbnN0IGVycm9yczogQ2VtUGFyc2VFcnJvcltdID0gW107XG4gIGNvbnN0IHdhcm5pbmdzOiBDZW1QYXJzZVdhcm5pbmdbXSA9IFtdO1xuXG4gIGxldCBwYXJzZWQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShqc29uKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBlcnJvcnMucHVzaCh7XG4gICAgICBjb2RlOiAnQ0VNX1BBUlNFX0VSUk9SJyxcbiAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIEpTT046ICR7Zm9ybWF0RXJyb3IoZXJyb3IpfWAsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9ycywgd2FybmluZ3MgfTtcbiAgfVxuXG4gIGlmICghaXNSZWNvcmQocGFyc2VkKSkge1xuICAgIGVycm9ycy5wdXNoKHsgY29kZTogJ0NFTV9JTlZBTElEX1JPT1QnLCBtZXNzYWdlOiAnTWFuaWZlc3Qgcm9vdCBtdXN0IGJlIGFuIG9iamVjdCcgfSk7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9ycywgd2FybmluZ3MgfTtcbiAgfVxuXG4gIGNvbnN0IHJvb3QgPSBwYXJzZWQ7XG4gIGlmICghcm9vdC5zY2hlbWFWZXJzaW9uKSB7XG4gICAgd2FybmluZ3MucHVzaCh7XG4gICAgICBjb2RlOiAnQ0VNX05PX1NDSEVNQV9WRVJTSU9OJyxcbiAgICAgIG1lc3NhZ2U6ICdNaXNzaW5nIHNjaGVtYVZlcnNpb24gZmllbGQsIGFzc3VtaW5nIGxlZ2FjeSBmb3JtYXQnLFxuICAgIH0pO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShyb290Lm1vZHVsZXMpKSB7XG4gICAgZXJyb3JzLnB1c2goeyBjb2RlOiAnQ0VNX05PX01PRFVMRVMnLCBtZXNzYWdlOiAnTWFuaWZlc3QgbXVzdCBoYXZlIGEgbW9kdWxlcyBhcnJheScgfSk7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9ycywgd2FybmluZ3MgfTtcbiAgfVxuXG4gIGNvbnN0IG1hbmlmZXN0OiBDdXN0b21FbGVtZW50c01hbmlmZXN0ID0ge1xuICAgIC4uLnJvb3QsXG4gICAgc2NoZW1hVmVyc2lvbjogdHlwZW9mIHJvb3Quc2NoZW1hVmVyc2lvbiA9PT0gJ3N0cmluZycgPyByb290LnNjaGVtYVZlcnNpb24gOiB1bmRlZmluZWQsXG4gICAgcGFja2FnZU5hbWU6IHR5cGVvZiByb290LnBhY2thZ2VOYW1lID09PSAnc3RyaW5nJyA/IHJvb3QucGFja2FnZU5hbWUgOiB1bmRlZmluZWQsXG4gICAgdmVyc2lvbjogdHlwZW9mIHJvb3QudmVyc2lvbiA9PT0gJ3N0cmluZycgPyByb290LnZlcnNpb24gOiB1bmRlZmluZWQsXG4gICAgbW9kdWxlczogcm9vdC5tb2R1bGVzLm1hcCgobW9kdWxlKSA9PlxuICAgICAgdG9DZW1Nb2R1bGUobW9kdWxlKSA/PyB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgfVxuICAgICksXG4gIH07XG4gIGNvbnN0IHNlZW5UYWdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWFuaWZlc3QubW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG1vZHVsZSA9IG1hbmlmZXN0Lm1vZHVsZXNbaV07XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IGBtb2R1bGVzWyR7aX1dYDtcblxuICAgIGlmICghbW9kdWxlLmtpbmQpIHtcbiAgICAgIHdhcm5pbmdzLnB1c2goe1xuICAgICAgICBjb2RlOiAnQ0VNX01PRFVMRV9OT19LSU5EJyxcbiAgICAgICAgbWVzc2FnZTogYE1vZHVsZSBhdCBpbmRleCAke2l9IGhhcyBubyBraW5kIGZpZWxkYCxcbiAgICAgICAgcGF0aDogbW9kdWxlUGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoIW1vZHVsZS5wYXRoKSB7XG4gICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgIGNvZGU6ICdDRU1fTU9EVUxFX05PX1BBVEgnLFxuICAgICAgICBtZXNzYWdlOiBgTW9kdWxlIGF0IGluZGV4ICR7aX0gaGFzIG5vIHBhdGggZmllbGRgLFxuICAgICAgICBwYXRoOiBtb2R1bGVQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbaiwgZGVjbGFyYXRpb25dIG9mIChtb2R1bGUuZGVjbGFyYXRpb25zID8/IFtdKS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmICghaXNDZW1DdXN0b21FbGVtZW50KGRlY2xhcmF0aW9uKSkgY29udGludWU7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvblBhdGggPSBgJHttb2R1bGVQYXRofS5kZWNsYXJhdGlvbnNbJHtqfV1gO1xuICAgICAgY29uc3QgdGFnTmFtZSA9IGRlY2xhcmF0aW9uLnRhZ05hbWU7XG4gICAgICBpZiAoIXRhZ05hbWUpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgIGNvZGU6ICdDRU1fQ0VfTk9fVEFHX05BTUUnLFxuICAgICAgICAgIG1lc3NhZ2U6IGBDdXN0b20gZWxlbWVudCBhdCAke2RlY2xhcmF0aW9uUGF0aH0gaGFzIG5vIHRhZ05hbWVgLFxuICAgICAgICAgIHBhdGg6IGRlY2xhcmF0aW9uUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkVGFnTmFtZSh0YWdOYW1lKSkge1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29kZTogJ0NFTV9DRV9JTlZBTElEX1RBR19OQU1FJyxcbiAgICAgICAgICBtZXNzYWdlOiBgSW52YWxpZCB0YWcgbmFtZTogJHt0YWdOYW1lfSAobXVzdCBjb250YWluIGEgaHlwaGVuIGFuZCBtYXRjaCBIVE1MIHNwZWMpYCxcbiAgICAgICAgICBwYXRoOiBkZWNsYXJhdGlvblBhdGgsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChzZWVuVGFnTmFtZXMuaGFzKHRhZ05hbWUpKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBjb2RlOiAnQ0VNX0NFX0RVUExJQ0FURV9UQUcnLFxuICAgICAgICAgIG1lc3NhZ2U6IGBEdXBsaWNhdGUgdGFnIG5hbWU6ICR7dGFnTmFtZX1gLFxuICAgICAgICAgIHBhdGg6IGRlY2xhcmF0aW9uUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWVuVGFnTmFtZXMuYWRkKHRhZ05hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2osIGV4cG9ydGVkXSBvZiAobW9kdWxlLmV4cG9ydHMgPz8gW10pLmVudHJpZXMoKSkge1xuICAgICAgaWYgKCFleHBvcnRlZC5kZWNsYXJhdGlvbikge1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29kZTogJ0NFTV9FWFBPUlRfTk9fREVDTEFSQVRJT04nLFxuICAgICAgICAgIG1lc3NhZ2U6IGBFeHBvcnQgYXQgJHttb2R1bGVQYXRofS5leHBvcnRzWyR7an1dIGhhcyBubyBkZWNsYXJhdGlvbiByZWZlcmVuY2VgLFxuICAgICAgICAgIHBhdGg6IGAke21vZHVsZVBhdGh9LmV4cG9ydHNbJHtqfV1gLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGVycm9ycy5sZW5ndGggPT09IDAsXG4gICAgbWFuaWZlc3Q6IGVycm9ycy5sZW5ndGggPT09IDAgPyBtYW5pZmVzdCA6IHVuZGVmaW5lZCxcbiAgICBlcnJvcnMsXG4gICAgd2FybmluZ3MsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFzc2lmeUNlbU1hbmlmZXN0KG1hbmlmZXN0OiBDdXN0b21FbGVtZW50c01hbmlmZXN0KTogQ2VtQ2xhc3NpZmljYXRpb25SZXN1bHQge1xuICBjb25zdCBjbGFzc2lmaWNhdGlvbnM6IENvbXBhdGliaWxpdHlDbGFzc2lmaWNhdGlvbltdID0gW107XG4gIGNvbnN0IHNlZW5UYWdzID0gbmV3IE1hcDxzdHJpbmcsIENvbXBhdGliaWxpdHlDbGFzc2lmaWNhdGlvbj4oKTtcblxuICBmb3IgKGNvbnN0IG1vZHVsZSBvZiBtYW5pZmVzdC5tb2R1bGVzKSB7XG4gICAgZm9yIChjb25zdCBkZWNsYXJhdGlvbiBvZiBtb2R1bGUuZGVjbGFyYXRpb25zID8/IFtdKSB7XG4gICAgICBpZiAoIWlzQ2VtQ3VzdG9tRWxlbWVudChkZWNsYXJhdGlvbikgfHwgIWRlY2xhcmF0aW9uLnRhZ05hbWUpIGNvbnRpbnVlO1xuXG4gICAgICBpZiAoc2VlblRhZ3MuaGFzKGRlY2xhcmF0aW9uLnRhZ05hbWUpKSB7XG4gICAgICAgIGNsYXNzaWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICB0YWdOYW1lOiBkZWNsYXJhdGlvbi50YWdOYW1lLFxuICAgICAgICAgIHRpZXI6ICdyZWplY3RlZCcsXG4gICAgICAgICAgcmVhc29uOiBgRHVwbGljYXRlIHRhZyBuYW1lOiAke2RlY2xhcmF0aW9uLnRhZ05hbWV9YCxcbiAgICAgICAgICBzb3VyY2U6ICdwYWNrYWdlJyxcbiAgICAgICAgICBtb2R1bGVQYXRoOiBtb2R1bGUucGF0aCxcbiAgICAgICAgICBzc3I6IGZhbHNlLFxuICAgICAgICAgIGRzZDogZmFsc2UsXG4gICAgICAgICAgaHlkcmF0ZTogJ2lkbGUnLFxuICAgICAgICB9KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNsYXNzaWZpY2F0aW9uID0gY2xhc3NpZnlDZW1EZWNsYXJhdGlvbihtYW5pZmVzdCwgbW9kdWxlLCBkZWNsYXJhdGlvbik7XG4gICAgICBjbGFzc2lmaWNhdGlvbnMucHVzaChjbGFzc2lmaWNhdGlvbik7XG4gICAgICBzZWVuVGFncy5zZXQoZGVjbGFyYXRpb24udGFnTmFtZSwgY2xhc3NpZmljYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlamVjdGVkVGFnczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3Qgc3NyQ2FwYWJsZVRhZ3M6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGNsaWVudE9ubHlUYWdzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBleHBlcmltZW50YWxEb21UYWdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIHBvbnl0YWlsOiBidWNrZXQgbG9va3VwIHJlcGxhY2VzIDQtY2FzZSBzd2l0Y2hcbiAgY29uc3QgYnVja2V0czogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge1xuICAgIHJlamVjdGVkOiByZWplY3RlZFRhZ3MsXG4gICAgJ3Nzci1jYXBhYmxlJzogc3NyQ2FwYWJsZVRhZ3MsXG4gICAgJ2NsaWVudC1vbmx5JzogY2xpZW50T25seVRhZ3MsXG4gICAgJ2V4cGVyaW1lbnRhbC1kb20nOiBleHBlcmltZW50YWxEb21UYWdzLFxuICB9O1xuXG4gIGZvciAoY29uc3QgY2xhc3NpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb25zKSB7XG4gICAgYnVja2V0c1tjbGFzc2lmaWNhdGlvbi50aWVyXT8ucHVzaChjbGFzc2lmaWNhdGlvbi50YWdOYW1lKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2xhc3NpZmljYXRpb25zLFxuICAgIHJlamVjdGVkVGFncyxcbiAgICBzc3JDYXBhYmxlVGFncyxcbiAgICBjbGllbnRPbmx5VGFncyxcbiAgICBleHBlcmltZW50YWxEb21UYWdzLFxuICAgIHN0YXRzOiB7XG4gICAgICB0b3RhbENvbXBvbmVudHM6IGNsYXNzaWZpY2F0aW9ucy5sZW5ndGgsXG4gICAgICBzc3JDYXBhYmxlQ291bnQ6IHNzckNhcGFibGVUYWdzLmxlbmd0aCxcbiAgICAgIGNsaWVudE9ubHlDb3VudDogY2xpZW50T25seVRhZ3MubGVuZ3RoLFxuICAgICAgcmVqZWN0ZWRDb3VudDogcmVqZWN0ZWRUYWdzLmxlbmd0aCxcbiAgICAgIGV4cGVyaW1lbnRhbERvbUNvdW50OiBleHBlcmltZW50YWxEb21UYWdzLmxlbmd0aCxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGFzc2lmeUNlbURlY2xhcmF0aW9uKFxuICBtYW5pZmVzdDogQ3VzdG9tRWxlbWVudHNNYW5pZmVzdCxcbiAgbW9kdWxlOiBDZW1Nb2R1bGUsXG4gIGRlY2xhcmF0aW9uOiBDZW1DdXN0b21FbGVtZW50LFxuKTogQ29tcGF0aWJpbGl0eUNsYXNzaWZpY2F0aW9uIHtcbiAgY29uc3Qgb3BlbkVsZW1lbnQgPSBkZWNsYXJhdGlvbi5vcGVuRWxlbWVudDtcbiAgY29uc3Qgc3NyID0gb3BlbkVsZW1lbnQ/LnNzciA/PyBmYWxzZTtcbiAgY29uc3QgZHNkID0gb3BlbkVsZW1lbnQ/LmRzZCA/PyBmYWxzZTtcbiAgY29uc3QgaHlkcmF0ZSA9IG9wZW5FbGVtZW50Py5oeWRyYXRlID8/ICdpZGxlJztcblxuICBsZXQgdGllcjogQ29tcGF0aWJpbGl0eVRpZXIgPSAnY2xpZW50LW9ubHknO1xuICBsZXQgcmVhc29uID0gbWFuaWZlc3QucGFja2FnZU5hbWVcbiAgICA/IGBDRU0tb25seSBwYWNrYWdlICR7bWFuaWZlc3QucGFja2FnZU5hbWV9IChubyBvcGVuRWxlbWVudCBTU1IgZGVjbGFyYXRpb24pYFxuICAgIDogJ0NFTS1vbmx5IHBhY2thZ2UgKG5vIG9wZW5FbGVtZW50IFNTUiBkZWNsYXJhdGlvbiknO1xuXG4gIGlmIChvcGVuRWxlbWVudD8uc3NyID09PSB0cnVlKSB7XG4gICAgaWYgKG9wZW5FbGVtZW50LmxheWVyKSB7XG4gICAgICB0aWVyID0gJ3Nzci1jYXBhYmxlJztcbiAgICAgIHJlYXNvbiA9IGBzc3I6IHRydWUgd2l0aCBsYXllcjogJHtvcGVuRWxlbWVudC5sYXllcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aWVyID0gJ2NsaWVudC1vbmx5JztcbiAgICAgIHJlYXNvbiA9ICdzc3I6IHRydWUgYnV0IG5vIGFkYXB0ZXIvbGF5ZXIgZGVjbGFyZWQnO1xuICAgIH1cbiAgfSBlbHNlIGlmIChvcGVuRWxlbWVudD8uc3NyID09PSBmYWxzZSkge1xuICAgIHJlYXNvbiA9ICdzc3I6IGZhbHNlIChleHBsaWNpdCBjbGllbnQtb25seSknO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0YWdOYW1lOiBkZWNsYXJhdGlvbi50YWdOYW1lISxcbiAgICB0aWVyLFxuICAgIHJlYXNvbixcbiAgICBzb3VyY2U6ICdwYWNrYWdlJyxcbiAgICBtb2R1bGVQYXRoOiBtb2R1bGUucGF0aCxcbiAgICBzc3IsXG4gICAgZHNkLFxuICAgIGh5ZHJhdGUsXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsU0FBUyxjQUFjLFFBQVEsb0JBQW9CO0FBQ25ELFNBQVMsV0FBVyxRQUFRLDJCQUEyQjtBQXdFdkQsU0FBUyxtQkFBbUIsV0FBb0I7RUFDOUMsT0FBTyxZQUFZLElBQUksS0FBSztBQUM5QjtBQUVBLFNBQVMsU0FBUyxLQUFjO0VBQzlCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsT0FBTyxVQUFVLFlBQVksQ0FBQyxNQUFNLE9BQU8sQ0FBQztBQUNoRTtBQUVBLFNBQVMsZUFBZSxLQUFjO0VBQ3BDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxRQUFRLE9BQU87RUFDbEMsT0FBTyxNQUFNLE1BQU0sQ0FBQztBQUN0QjtBQUVBLFNBQVMsYUFBYSxLQUFjO0VBQ2xDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxRQUFRLE9BQU87RUFDbEMsT0FBTyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFFBQVUsQ0FBQztNQUFFLGFBQWEsTUFBTSxXQUFXO0lBQUMsQ0FBQztBQUNsRjtBQUVBLFNBQVMsWUFBWSxLQUFjO0VBQ2pDLElBQUksQ0FBQyxTQUFTLFFBQVEsT0FBTztFQUM3QixPQUFPO0lB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
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9zc2cvc3JjL2NlbS1jb21wYXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb24sXG4gIENvbXBhdGliaWxpdHlUaWVyLFxuICBIeWRyYXRpb25TdHJhdGVneSxcbn0gZnJvbSAnQG9wZW5lbGVtZW50L3Byb3RvY29sL2ZyYW1ld29yayc7XG5pbXBvcnQgeyBpc1ZhbGlkVGFnTmFtZSB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlJztcbmltcG9ydCB7IGZvcm1hdEVycm9yIH0gZnJvbSAnQG9wZW5lbGVtZW50L2NvcmUvZXJyb3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuRWxlbWVudEV4dGVuc2lvbnMge1xuICBzc3I/OiBib29sZWFuO1xuICBkc2Q/OiBib29sZWFuO1xuICBsYXllcj86IHN0cmluZztcbiAgaHlkcmF0ZT86IEh5ZHJhdGlvblN0cmF0ZWd5O1xuICBtb2R1bGU/OiBzdHJpbmc7XG4gIGV4cG9ydD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENlbUJhc2Uge1xuICBraW5kPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgQ2VtQ3VzdG9tRWxlbWVudCBleHRlbmRzIENlbUJhc2Uge1xuICBraW5kOiAnY3VzdG9tLWVsZW1lbnQnO1xuICB0YWdOYW1lPzogc3RyaW5nO1xuICBzdXBlckNsYXNzPzogeyBuYW1lPzogc3RyaW5nIH07XG4gIG9wZW5FbGVtZW50PzogT3BlbkVsZW1lbnRFeHRlbnNpb25zO1xufVxuXG5pbnRlcmZhY2UgQ2VtTW9kdWxlIHtcbiAga2luZD86IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBkZWNsYXJhdGlvbnM/OiBDZW1CYXNlW107XG4gIGV4cG9ydHM/OiB7IGRlY2xhcmF0aW9uPzogdW5rbm93biB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tRWxlbWVudHNNYW5pZmVzdCB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG4gIHBhY2thZ2VOYW1lPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBtb2R1bGVzOiBDZW1Nb2R1bGVbXTtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZW1QYXJzZUVycm9yIHtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VtUGFyc2VXYXJuaW5nIHtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VtUGFyc2VSZXN1bHQge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBtYW5pZmVzdD86IEN1c3RvbUVsZW1lbnRzTWFuaWZlc3Q7XG4gIGVycm9yczogQ2VtUGFyc2VFcnJvcltdO1xuICB3YXJuaW5nczogQ2VtUGFyc2VXYXJuaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VtQ2xhc3NpZmljYXRpb25SZXN1bHQge1xuICBjbGFzc2lmaWNhdGlvbnM6IENvbXBhdGliaWxpdHlDbGFzc2lmaWNhdGlvbltdO1xuICByZWplY3RlZFRhZ3M6IHN0cmluZ1tdO1xuICBzc3JDYXBhYmxlVGFnczogc3RyaW5nW107XG4gIGNsaWVudE9ubHlUYWdzOiBzdHJpbmdbXTtcbiAgZXhwZXJpbWVudGFsRG9tVGFnczogc3RyaW5nW107XG4gIHN0YXRzOiB7XG4gICAgdG90YWxDb21wb25lbnRzOiBudW1iZXI7XG4gICAgc3NyQ2FwYWJsZUNvdW50OiBudW1iZXI7XG4gICAgY2xpZW50T25seUNvdW50OiBudW1iZXI7XG4gICAgcmVqZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIGV4cGVyaW1lbnRhbERvbUNvdW50OiBudW1iZXI7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzQ2VtQ3VzdG9tRWxlbWVudChkZWNsYXJhdGlvbjogQ2VtQmFzZSk6IGRlY2xhcmF0aW9uIGlzIENlbUN1c3RvbUVsZW1lbnQge1xuICByZXR1cm4gZGVjbGFyYXRpb24ua2luZCA9PT0gJ2N1c3RvbS1lbGVtZW50Jztcbn1cblxuZnVuY3Rpb24gaXNSZWNvcmQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG5mdW5jdGlvbiB0b0NlbUJhc2VBcnJheSh2YWx1ZTogdW5rbm93bik6IENlbUJhc2VbXSB8IHVuZGVmaW5lZCB7XG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiB2YWx1ZS5maWx0ZXIoaXNSZWNvcmQpO1xufVxuXG5mdW5jdGlvbiB0b0NlbUV4cG9ydHModmFsdWU6IHVua25vd24pOiB7IGRlY2xhcmF0aW9uPzogdW5rbm93biB9W10gfCB1bmRlZmluZWQge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gdmFsdWUuZmlsdGVyKGlzUmVjb3JkKS5tYXAoKGVudHJ5KSA9PiAoeyBkZWNsYXJhdGlvbjogZW50cnkuZGVjbGFyYXRpb24gfSkpO1xufVxuXG5mdW5jdGlvbiB0b0NlbU1vZHVsZSh2YWx1ZTogdW5rbm93bik6IENlbU1vZHVsZSB8IHVuZGVmaW5lZCB7XG4gIGlmICghaXNSZWNvcmQodmFsdWUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IHR5cGVvZiB2YWx1ZS5raW5kID09PSAnc3RyaW5nJyA/IHZhbHVlLmtpbmQgOiB1bmRlZmluZWQsXG4gICAgcGF0aDogdHlwZW9mIHZhbHVlLnBhdGggPT09ICdzdHJpbmcnID8gdmFsdWUucGF0aCA6ICcnLFxuICAgIGRlY2xhcmF0aW9uczogdG9DZW1CYXNlQXJyYXkodmFsdWUuZGVjbGFyYXRpb25zKSxcbiAgICBleHBvcnRzOiB0b0NlbUV4cG9ydHModmFsdWUuZXhwb3J0cyksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNlbShqc29uOiBzdHJpbmcpOiBDZW1QYXJzZVJlc3VsdCB7XG4gIGNvbnN0IGVycm9yczogQ2VtUGFyc2VFcnJvcltdID0gW107XG4gIGNvbnN0IHdhcm5pbmdzOiBDZW1QYXJzZVdhcm5pbmdbXSA9IFtdO1xuXG4gIGxldCBwYXJzZWQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShqc29uKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBlcnJvcnMucHVzaCh7XG4gICAgICBjb2RlOiAnQ0VNX1BBUlNFX0VSUk9SJyxcbiAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIEpTT046ICR7Zm9ybWF0RXJyb3IoZXJyb3IpfWAsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9ycywgd2FybmluZ3MgfTtcbiAgfVxuXG4gIGlmICghaXNSZWNvcmQocGFyc2VkKSkge1xuICAgIGVycm9ycy5wdXNoKHsgY29kZTogJ0NFTV9JTlZBTElEX1JPT1QnLCBtZXNzYWdlOiAnTWFuaWZlc3Qgcm9vdCBtdXN0IGJlIGFuIG9iamVjdCcgfSk7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9ycywgd2FybmluZ3MgfTtcbiAgfVxuXG4gIGNvbnN0IHJvb3QgPSBwYXJzZWQ7XG4gIGlmICghcm9vdC5zY2hlbWFWZXJzaW9uKSB7XG4gICAgd2FybmluZ3MucHVzaCh7XG4gICAgICBjb2RlOiAnQ0VNX05PX1NDSEVNQV9WRVJTSU9OJyxcbiAgICAgIG1lc3NhZ2U6ICdNaXNzaW5nIHNjaGVtYVZlcnNpb24gZmllbGQsIGFzc3VtaW5nIGxlZ2FjeSBmb3JtYXQnLFxuICAgIH0pO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShyb290Lm1vZHVsZXMpKSB7XG4gICAgZXJyb3JzLnB1c2goeyBjb2RlOiAnQ0VNX05PX01PRFVMRVMnLCBtZXNzYWdlOiAnTWFuaWZlc3QgbXVzdCBoYXZlIGEgbW9kdWxlcyBhcnJheScgfSk7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9ycywgd2FybmluZ3MgfTtcbiAgfVxuXG4gIGNvbnN0IG1hbmlmZXN0OiBDdXN0b21FbGVtZW50c01hbmlmZXN0ID0ge1xuICAgIC4uLnJvb3QsXG4gICAgc2NoZW1hVmVyc2lvbjogdHlwZW9mIHJvb3Quc2NoZW1hVmVyc2lvbiA9PT0gJ3N0cmluZycgPyByb290LnNjaGVtYVZlcnNpb24gOiB1bmRlZmluZWQsXG4gICAgcGFja2FnZU5hbWU6IHR5cGVvZiByb290LnBhY2thZ2VOYW1lID09PSAnc3RyaW5nJyA/IHJvb3QucGFja2FnZU5hbWUgOiB1bmRlZmluZWQsXG4gICAgdmVyc2lvbjogdHlwZW9mIHJvb3QudmVyc2lvbiA9PT0gJ3N0cmluZycgPyByb290LnZlcnNpb24gOiB1bmRlZmluZWQsXG4gICAgbW9kdWxlczogcm9vdC5tb2R1bGVzLm1hcCgobW9kdWxlKSA9PlxuICAgICAgdG9DZW1Nb2R1bGUobW9kdWxlKSA/PyB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgfVxuICAgICksXG4gIH07XG4gIGNvbnN0IHNlZW5UYWdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWFuaWZlc3QubW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG1vZHVsZSA9IG1hbmlmZXN0Lm1vZHVsZXNbaV07XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IGBtb2R1bGVzWyR7aX1dYDtcblxuICAgIGlmICghbW9kdWxlLmtpbmQpIHtcbiAgICAgIHdhcm5pbmdzLnB1c2goe1xuICAgICAgICBjb2RlOiAnQ0VNX01PRFVMRV9OT19LSU5EJyxcbiAgICAgICAgbWVzc2FnZTogYE1vZHVsZSBhdCBpbmRleCAke2l9IGhhcyBubyBraW5kIGZpZWxkYCxcbiAgICAgICAgcGF0aDogbW9kdWxlUGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoIW1vZHVsZS5wYXRoKSB7XG4gICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgIGNvZGU6ICdDRU1fTU9EVUxFX05PX1BBVEgnLFxuICAgICAgICBtZXNzYWdlOiBgTW9kdWxlIGF0IGluZGV4ICR7aX0gaGFzIG5vIHBhdGggZmllbGRgLFxuICAgICAgICBwYXRoOiBtb2R1bGVQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbaiwgZGVjbGFyYXRpb25dIG9mIChtb2R1bGUuZGVjbGFyYXRpb25zID8/IFtdKS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmICghaXNDZW1DdXN0b21FbGVtZW50KGRlY2xhcmF0aW9uKSkgY29udGludWU7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvblBhdGggPSBgJHttb2R1bGVQYXRofS5kZWNsYXJhdGlvbnNbJHtqfV1gO1xuICAgICAgY29uc3QgdGFnTmFtZSA9IGRlY2xhcmF0aW9uLnRhZ05hbWU7XG4gICAgICBpZiAoIXRhZ05hbWUpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgIGNvZGU6ICdDRU1fQ0VfTk9fVEFHX05BTUUnLFxuICAgICAgICAgIG1lc3NhZ2U6IGBDdXN0b20gZWxlbWVudCBhdCAke2RlY2xhcmF0aW9uUGF0aH0gaGFzIG5vIHRhZ05hbWVgLFxuICAgICAgICAgIHBhdGg6IGRlY2xhcmF0aW9uUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkVGFnTmFtZSh0YWdOYW1lKSkge1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29kZTogJ0NFTV9DRV9JTlZBTElEX1RBR19OQU1FJyxcbiAgICAgICAgICBtZXNzYWdlOiBgSW52YWxpZCB0YWcgbmFtZTogJHt0YWdOYW1lfSAobXVzdCBjb250YWluIGEgaHlwaGVuIGFuZCBtYXRjaCBIVE1MIHNwZWMpYCxcbiAgICAgICAgICBwYXRoOiBkZWNsYXJhdGlvblBhdGgsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChzZWVuVGFnTmFtZXMuaGFzKHRhZ05hbWUpKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBjb2RlOiAnQ0VNX0NFX0RVUExJQ0FURV9UQUcnLFxuICAgICAgICAgIG1lc3NhZ2U6IGBEdXBsaWNhdGUgdGFnIG5hbWU6ICR7dGFnTmFtZX1gLFxuICAgICAgICAgIHBhdGg6IGRlY2xhcmF0aW9uUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWVuVGFnTmFtZXMuYWRkKHRhZ05hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2osIGV4cG9ydGVkXSBvZiAobW9kdWxlWydleHBvcnRzJ10gPz8gW10pLmVudHJpZXMoKSkge1xuICAgICAgaWYgKCFleHBvcnRlZC5kZWNsYXJhdGlvbikge1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29kZTogJ0NFTV9FWFBPUlRfTk9fREVDTEFSQVRJT04nLFxuICAgICAgICAgIG1lc3NhZ2U6IGBFeHBvcnQgYXQgJHttb2R1bGVQYXRofS5leHBvcnRzWyR7an1dIGhhcyBubyBkZWNsYXJhdGlvbiByZWZlcmVuY2VgLFxuICAgICAgICAgIHBhdGg6IGAke21vZHVsZVBhdGh9LmV4cG9ydHNbJHtqfV1gLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGVycm9ycy5sZW5ndGggPT09IDAsXG4gICAgbWFuaWZlc3Q6IGVycm9ycy5sZW5ndGggPT09IDAgPyBtYW5pZmVzdCA6IHVuZGVmaW5lZCxcbiAgICBlcnJvcnMsXG4gICAgd2FybmluZ3MsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFzc2lmeUNlbU1hbmlmZXN0KG1hbmlmZXN0OiBDdXN0b21FbGVtZW50c01hbmlmZXN0KTogQ2VtQ2xhc3NpZmljYXRpb25SZXN1bHQge1xuICBjb25zdCBjbGFzc2lmaWNhdGlvbnM6IENvbXBhdGliaWxpdHlDbGFzc2lmaWNhdGlvbltdID0gW107XG4gIGNvbnN0IHNlZW5UYWdzID0gbmV3IE1hcDxzdHJpbmcsIENvbXBhdGliaWxpdHlDbGFzc2lmaWNhdGlvbj4oKTtcblxuICBmb3IgKGNvbnN0IG1vZHVsZSBvZiBtYW5pZmVzdC5tb2R1bGVzKSB7XG4gICAgZm9yIChjb25zdCBkZWNsYXJhdGlvbiBvZiBtb2R1bGUuZGVjbGFyYXRpb25zID8/IFtdKSB7XG4gICAgICBpZiAoIWlzQ2VtQ3VzdG9tRWxlbWVudChkZWNsYXJhdGlvbikgfHwgIWRlY2xhcmF0aW9uLnRhZ05hbWUpIGNvbnRpbnVlO1xuXG4gICAgICBpZiAoc2VlblRhZ3MuaGFzKGRlY2xhcmF0aW9uLnRhZ05hbWUpKSB7XG4gICAgICAgIGNsYXNzaWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICB0YWdOYW1lOiBkZWNsYXJhdGlvbi50YWdOYW1lLFxuICAgICAgICAgIHRpZXI6ICdyZWplY3RlZCcsXG4gICAgICAgICAgcmVhc29uOiBgRHVwbGljYXRlIHRhZyBuYW1lOiAke2RlY2xhcmF0aW9uLnRhZ05hbWV9YCxcbiAgICAgICAgICBzb3VyY2U6ICdwYWNrYWdlJyxcbiAgICAgICAgICBtb2R1bGVQYXRoOiBtb2R1bGUucGF0aCxcbiAgICAgICAgICBzc3I6IGZhbHNlLFxuICAgICAgICAgIGRzZDogZmFsc2UsXG4gICAgICAgICAgaHlkcmF0ZTogJ2lkbGUnLFxuICAgICAgICB9KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNsYXNzaWZpY2F0aW9uID0gY2xhc3NpZnlDZW1EZWNsYXJhdGlvbihtYW5pZmVzdCwgbW9kdWxlLCBkZWNsYXJhdGlvbik7XG4gICAgICBjbGFzc2lmaWNhdGlvbnMucHVzaChjbGFzc2lmaWNhdGlvbik7XG4gICAgICBzZWVuVGFncy5zZXQoZGVjbGFyYXRpb24udGFnTmFtZSwgY2xhc3NpZmljYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlamVjdGVkVGFnczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3Qgc3NyQ2FwYWJsZVRhZ3M6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGNsaWVudE9ubHlUYWdzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBleHBlcmltZW50YWxEb21UYWdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIHBvbnl0YWlsOiBidWNrZXQgbG9va3VwIHJlcGxhY2VzIDQtY2FzZSBzd2l0Y2hcbiAgY29uc3QgYnVja2V0czogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge1xuICAgIHJlamVjdGVkOiByZWplY3RlZFRhZ3MsXG4gICAgJ3Nzci1jYXBhYmxlJzogc3NyQ2FwYWJsZVRhZ3MsXG4gICAgJ2NsaWVudC1vbmx5JzogY2xpZW50T25seVRhZ3MsXG4gICAgJ2V4cGVyaW1lbnRhbC1kb20nOiBleHBlcmltZW50YWxEb21UYWdzLFxuICB9O1xuXG4gIGZvciAoY29uc3QgY2xhc3NpZmljYXRpb24gb2YgY2xhc3NpZmljYXRpb25zKSB7XG4gICAgYnVja2V0c1tjbGFzc2lmaWNhdGlvbi50aWVyXT8ucHVzaChjbGFzc2lmaWNhdGlvbi50YWdOYW1lKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2xhc3NpZmljYXRpb25zLFxuICAgIHJlamVjdGVkVGFncyxcbiAgICBzc3JDYXBhYmxlVGFncyxcbiAgICBjbGllbnRPbmx5VGFncyxcbiAgICBleHBlcmltZW50YWxEb21UYWdzLFxuICAgIHN0YXRzOiB7XG4gICAgICB0b3RhbENvbXBvbmVudHM6IGNsYXNzaWZpY2F0aW9ucy5sZW5ndGgsXG4gICAgICBzc3JDYXBhYmxlQ291bnQ6IHNzckNhcGFibGVUYWdzLmxlbmd0aCxcbiAgICAgIGNsaWVudE9ubHlDb3VudDogY2xpZW50T25seVRhZ3MubGVuZ3RoLFxuICAgICAgcmVqZWN0ZWRDb3VudDogcmVqZWN0ZWRUYWdzLmxlbmd0aCxcbiAgICAgIGV4cGVyaW1lbnRhbERvbUNvdW50OiBleHBlcmltZW50YWxEb21UYWdzLmxlbmd0aCxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGFzc2lmeUNlbURlY2xhcmF0aW9uKFxuICBtYW5pZmVzdDogQ3VzdG9tRWxlbWVudHNNYW5pZmVzdCxcbiAgbW9kdWxlOiBDZW1Nb2R1bGUsXG4gIGRlY2xhcmF0aW9uOiBDZW1DdXN0b21FbGVtZW50LFxuKTogQ29tcGF0aWJpbGl0eUNsYXNzaWZpY2F0aW9uIHtcbiAgY29uc3Qgb3BlbkVsZW1lbnQgPSBkZWNsYXJhdGlvbi5vcGVuRWxlbWVudDtcbiAgY29uc3Qgc3NyID0gb3BlbkVsZW1lbnQ/LnNzciA/PyBmYWxzZTtcbiAgY29uc3QgZHNkID0gb3BlbkVsZW1lbnQ/LmRzZCA/PyBmYWxzZTtcbiAgY29uc3QgaHlkcmF0ZSA9IG9wZW5FbGVtZW50Py5oeWRyYXRlID8/ICdpZGxlJztcblxuICBsZXQgdGllcjogQ29tcGF0aWJpbGl0eVRpZXIgPSAnY2xpZW50LW9ubHknO1xuICBsZXQgcmVhc29uID0gbWFuaWZlc3QucGFja2FnZU5hbWVcbiAgICA/IGBDRU0tb25seSBwYWNrYWdlICR7bWFuaWZlc3QucGFja2FnZU5hbWV9IChubyBvcGVuRWxlbWVudCBTU1IgZGVjbGFyYXRpb24pYFxuICAgIDogJ0NFTS1vbmx5IHBhY2thZ2UgKG5vIG9wZW5FbGVtZW50IFNTUiBkZWNsYXJhdGlvbiknO1xuXG4gIGlmIChvcGVuRWxlbWVudD8uc3NyID09PSB0cnVlKSB7XG4gICAgaWYgKG9wZW5FbGVtZW50LmxheWVyKSB7XG4gICAgICB0aWVyID0gJ3Nzci1jYXBhYmxlJztcbiAgICAgIHJlYXNvbiA9IGBzc3I6IHRydWUgd2l0aCBsYXllcjogJHtvcGVuRWxlbWVudC5sYXllcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aWVyID0gJ2NsaWVudC1vbmx5JztcbiAgICAgIHJlYXNvbiA9ICdzc3I6IHRydWUgYnV0IG5vIGFkYXB0ZXIvbGF5ZXIgZGVjbGFyZWQnO1xuICAgIH1cbiAgfSBlbHNlIGlmIChvcGVuRWxlbWVudD8uc3NyID09PSBmYWxzZSkge1xuICAgIHJlYXNvbiA9ICdzc3I6IGZhbHNlIChleHBsaWNpdCBjbGllbnQtb25seSknO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0YWdOYW1lOiBkZWNsYXJhdGlvbi50YWdOYW1lISxcbiAgICB0aWVyLFxuICAgIHJlYXNvbixcbiAgICBzb3VyY2U6ICdwYWNrYWdlJyxcbiAgICBtb2R1bGVQYXRoOiBtb2R1bGUucGF0aCxcbiAgICBzc3IsXG4gICAgZHNkLFxuICAgIGh5ZHJhdGUsXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsU0FBUyxjQUFjLFFBQVEsb0JBQW9CO0FBQ25ELFNBQVMsV0FBVyxRQUFRLDJCQUEyQjtBQXdFdkQsU0FBUyxtQkFBbUIsV0FBb0I7RUFDOUMsT0FBTyxZQUFZLElBQUksS0FBSztBQUM5QjtBQUVBLFNBQVMsU0FBUyxLQUFjO0VBQzlCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsT0FBTyxVQUFVLFlBQVksQ0FBQyxNQUFNLE9BQU8sQ0FBQztBQUNoRTtBQUVBLFNBQVMsZUFBZSxLQUFjO0VBQ3BDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxRQUFRLE9BQU87RUFDbEMsT0FBTyxNQUFNLE1BQU0sQ0FBQztBQUN0QjtBQUVBLFNBQVMsYUFBYSxLQUFjO0VBQ2xDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxRQUFRLE9BQU87RUFDbEMsT0FBTyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFFBQVUsQ0FBQztNQUFFLGFBQWEsTUFBTSxXQUFXO0lBQUMsQ0FBQztBQUNsRjtBQUVBLFNBQVMsWUFBWSxLQUFjO0VBQ2pDLElBQUksQ0FBQyxTQUFTLFFBQVEsT0FBTztFQUM3QixPQUFP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