@lifeready/core 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/bundles/lifeready-core.umd.js +324 -302
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/ast.js +4 -4
  6. package/esm2015/lib/_common/exceptions.js +129 -103
  7. package/esm2015/lib/_common/run-outside-angular.js +3 -3
  8. package/esm2015/lib/_common/storage.js +3 -3
  9. package/esm2015/lib/_common/types.js +1 -1
  10. package/esm2015/lib/_common/utils.js +1 -12
  11. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +4 -4
  12. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +4 -4
  13. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +3 -3
  14. package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
  15. package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
  16. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +3 -3
  17. package/esm2015/lib/auth/auth.types.js +1 -8
  18. package/esm2015/lib/auth/life-ready-auth.service.js +7 -9
  19. package/esm2015/lib/category/category.service.js +3 -3
  20. package/esm2015/lib/encryption/encryption.service.js +4 -7
  21. package/esm2015/lib/file-upload/file-upload.service.js +2 -3
  22. package/esm2015/lib/idle/idle.service.js +6 -7
  23. package/esm2015/lib/item2/item2.service.js +3 -3
  24. package/esm2015/lib/key/key-factory.service.js +8 -8
  25. package/esm2015/lib/key/key-graph.service.js +7 -9
  26. package/esm2015/lib/key/key.service.js +5 -5
  27. package/esm2015/lib/key/key.types.js +1 -1
  28. package/esm2015/lib/key-exchange/key-exchange.service.js +3 -3
  29. package/esm2015/lib/key-exchange/key-exchange2.service.js +3 -3
  30. package/esm2015/lib/lbop/lbop.service.js +13 -10
  31. package/esm2015/lib/life-ready.config.js +15 -4
  32. package/esm2015/lib/password/password.service.js +4 -5
  33. package/esm2015/lib/persist/persist.service.js +3 -3
  34. package/esm2015/lib/plan/plan.service.js +3 -3
  35. package/esm2015/lib/profile/profile.types.js +8 -1
  36. package/esm2015/lib/scenario/scenario.service.js +4 -4
  37. package/esm2015/lib/time/time.service.js +3 -6
  38. package/esm2015/lib/tp-assembly/tp-assembly.js +7 -7
  39. package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +3 -3
  40. package/esm2015/lib/trusted-party/trusted-party2.service.js +4 -4
  41. package/esm2015/lib/two-factor/two-factor.service.js +3 -3
  42. package/fesm2015/lifeready-core.js +214 -195
  43. package/fesm2015/lifeready-core.js.map +1 -1
  44. package/lib/_common/exceptions.d.ts +54 -38
  45. package/lib/_common/types.d.ts +0 -4
  46. package/lib/_common/utils.d.ts +0 -8
  47. package/lib/auth/auth.types.d.ts +1 -9
  48. package/lib/key/key.types.d.ts +4 -1
  49. package/lib/lbop/lbop.service.d.ts +4 -0
  50. package/lib/life-ready.config.d.ts +7 -0
  51. package/lib/profile/profile.types.d.ts +8 -1
  52. package/lifeready-core.metadata.json +1 -1
  53. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  // Abstract Syntax Tree
3
3
  import gql from 'graphql-tag';
4
- import { LrBadArgumentException, LrBadLogicException } from './exceptions';
4
+ import { KcBadArgumentException, KcBadLogicException } from './exceptions';
5
5
  export function getAstOperation(astDocument, operation) {
6
6
  const operations = astDocument.definitions.filter((def) => def.kind === 'OperationDefinition');
7
7
  if (operations.length > 1) {
8
- throw new LrBadLogicException(`There can be only one '${operation}' operation, instead there are ${operations.length}`);
8
+ throw new KcBadLogicException(`There can be only one '${operation}' operation, instead there are ${operations.length}`);
9
9
  }
10
10
  return operations[0];
11
11
  }
@@ -21,7 +21,7 @@ export function getFragments(doc) {
21
21
  export function getFragment(astDocument) {
22
22
  const fragments = getFragments(astDocument);
23
23
  if (fragments.length > 1) {
24
- throw new LrBadArgumentException('GraphQL document can only contain one fragment.');
24
+ throw new KcBadArgumentException('GraphQL document can only contain one fragment.');
25
25
  }
26
26
  return fragments[0];
27
27
  }
@@ -38,4 +38,4 @@ export function getAliasOrName(field) {
38
38
  export function gqlTyped(literals, ...placeholders) {
39
39
  return gql(literals, ...placeholders);
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL19jb21tb24vYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCx1QkFBdUI7QUFVdkIsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRSxNQUFNLFVBQVUsZUFBZSxDQUM3QixXQUFXLEVBQ1gsU0FBNEI7SUFFNUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQy9DLENBQUMsR0FBNEIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FDckUsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUMzQiwwQkFBMEIsU0FBUyxrQ0FBa0MsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUN6RixDQUFDO0tBQ0g7SUFFRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFpQjtJQUN4QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBaUI7SUFDM0MsT0FBTyxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQWlCO0lBQzVDLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUNmLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBeUI7SUFDbkQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLHNCQUFzQixDQUM5QixpREFBaUQsQ0FDbEQsQ0FBQztLQUNIO0lBQ0QsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBYTtJQUNoQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWdCOztJQUM3QyxPQUFPLE9BQUEsS0FBSyxDQUFDLEtBQUssMENBQUUsS0FBSyxLQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ2hELENBQUM7QUFNRCxNQUFNLFVBQVUsUUFBUSxDQUN0QixRQUFrRCxFQUNsRCxHQUFHLFlBQW1CO0lBRXRCLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLFlBQVksQ0FBeUIsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLy8gQWJzdHJhY3QgU3ludGF4IFRyZWVcblxuaW1wb3J0IHtcbiAgRG9jdW1lbnROb2RlLFxuICBGaWVsZE5vZGUsXG4gIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUsXG4gIE5hbWVOb2RlLFxuICBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSxcbiAgT3BlcmF0aW9uVHlwZU5vZGUsXG59IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgeyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uLCBMckJhZExvZ2ljRXhjZXB0aW9uIH0gZnJvbSAnLi9leGNlcHRpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFzdE9wZXJhdGlvbihcbiAgYXN0RG9jdW1lbnQsXG4gIG9wZXJhdGlvbjogT3BlcmF0aW9uVHlwZU5vZGVcbik6IE9wZXJhdGlvbkRlZmluaXRpb25Ob2RlIHtcbiAgY29uc3Qgb3BlcmF0aW9ucyA9IGFzdERvY3VtZW50LmRlZmluaXRpb25zLmZpbHRlcihcbiAgICAoZGVmOiBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSkgPT4gZGVmLmtpbmQgPT09ICdPcGVyYXRpb25EZWZpbml0aW9uJ1xuICApO1xuXG4gIGlmIChvcGVyYXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgTHJCYWRMb2dpY0V4Y2VwdGlvbihcbiAgICAgIGBUaGVyZSBjYW4gYmUgb25seSBvbmUgJyR7b3BlcmF0aW9ufScgb3BlcmF0aW9uLCBpbnN0ZWFkIHRoZXJlIGFyZSAke29wZXJhdGlvbnMubGVuZ3RofWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG9wZXJhdGlvbnNbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyeShkb2M6IERvY3VtZW50Tm9kZSk6IE9wZXJhdGlvbkRlZmluaXRpb25Ob2RlIHtcbiAgcmV0dXJuIGdldEFzdE9wZXJhdGlvbihkb2MsICdxdWVyeScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TXV0YXRpb24oZG9jOiBEb2N1bWVudE5vZGUpOiBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSB7XG4gIHJldHVybiBnZXRBc3RPcGVyYXRpb24oZG9jLCAnbXV0YXRpb24nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50cyhkb2M6IERvY3VtZW50Tm9kZSk6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXSB7XG4gIHJldHVybiBkb2MuZGVmaW5pdGlvbnMuZmlsdGVyKFxuICAgIChkZWYpID0+IGRlZi5raW5kID09PSAnRnJhZ21lbnREZWZpbml0aW9uJ1xuICApIGFzIEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50KGFzdERvY3VtZW50OiBEb2N1bWVudE5vZGUpOiBGcmFnbWVudERlZmluaXRpb25Ob2RlIHtcbiAgY29uc3QgZnJhZ21lbnRzID0gZ2V0RnJhZ21lbnRzKGFzdERvY3VtZW50KTtcbiAgaWYgKGZyYWdtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IExyQmFkQXJndW1lbnRFeGNlcHRpb24oXG4gICAgICAnR3JhcGhRTCBkb2N1bWVudCBjYW4gb25seSBjb250YWluIG9uZSBmcmFnbWVudC4nXG4gICAgKTtcbiAgfVxuICByZXR1cm4gZnJhZ21lbnRzWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmFtZSh2YWx1ZTogc3RyaW5nKTogTmFtZU5vZGUge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6ICdOYW1lJyxcbiAgICB2YWx1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsaWFzT3JOYW1lKGZpZWxkOiBGaWVsZE5vZGUpIHtcbiAgcmV0dXJuIGZpZWxkLmFsaWFzPy52YWx1ZSB8fCBmaWVsZC5uYW1lLnZhbHVlO1xufVxuXG4vLyBDb2xsb2NhdGVzIHRoZSB0eXBlIHdpdGggdGhlIGRvY3VtZW50LlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZXhwb3J0IGludGVyZmFjZSBUeXBlZERvY3VtZW50Tm9kZTxUPiBleHRlbmRzIERvY3VtZW50Tm9kZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gZ3FsVHlwZWQ8VCA9IGFueT4oXG4gIGxpdGVyYWxzOiBSZWFkb25seUFycmF5PHN0cmluZz4gfCBSZWFkb25seTxzdHJpbmc+LFxuICAuLi5wbGFjZWhvbGRlcnM6IGFueVtdXG4pOiBUeXBlZERvY3VtZW50Tm9kZTxUPiB7XG4gIHJldHVybiBncWwobGl0ZXJhbHMsIC4uLnBsYWNlaG9sZGVycykgYXMgVHlwZWREb2N1bWVudE5vZGU8VD47XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL19jb21tb24vYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCx1QkFBdUI7QUFVdkIsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRSxNQUFNLFVBQVUsZUFBZSxDQUM3QixXQUFXLEVBQ1gsU0FBNEI7SUFFNUIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQy9DLENBQUMsR0FBNEIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FDckUsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUMzQiwwQkFBMEIsU0FBUyxrQ0FBa0MsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUN6RixDQUFDO0tBQ0g7SUFFRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFpQjtJQUN4QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBaUI7SUFDM0MsT0FBTyxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQWlCO0lBQzVDLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUNmLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBeUI7SUFDbkQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLHNCQUFzQixDQUM5QixpREFBaUQsQ0FDbEQsQ0FBQztLQUNIO0lBQ0QsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBYTtJQUNoQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWdCOztJQUM3QyxPQUFPLE9BQUEsS0FBSyxDQUFDLEtBQUssMENBQUUsS0FBSyxLQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ2hELENBQUM7QUFNRCxNQUFNLFVBQVUsUUFBUSxDQUN0QixRQUFrRCxFQUNsRCxHQUFHLFlBQW1CO0lBRXRCLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLFlBQVksQ0FBeUIsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLy8gQWJzdHJhY3QgU3ludGF4IFRyZWVcblxuaW1wb3J0IHtcbiAgRG9jdW1lbnROb2RlLFxuICBGaWVsZE5vZGUsXG4gIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUsXG4gIE5hbWVOb2RlLFxuICBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSxcbiAgT3BlcmF0aW9uVHlwZU5vZGUsXG59IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgeyBLY0JhZEFyZ3VtZW50RXhjZXB0aW9uLCBLY0JhZExvZ2ljRXhjZXB0aW9uIH0gZnJvbSAnLi9leGNlcHRpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFzdE9wZXJhdGlvbihcbiAgYXN0RG9jdW1lbnQsXG4gIG9wZXJhdGlvbjogT3BlcmF0aW9uVHlwZU5vZGVcbik6IE9wZXJhdGlvbkRlZmluaXRpb25Ob2RlIHtcbiAgY29uc3Qgb3BlcmF0aW9ucyA9IGFzdERvY3VtZW50LmRlZmluaXRpb25zLmZpbHRlcihcbiAgICAoZGVmOiBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSkgPT4gZGVmLmtpbmQgPT09ICdPcGVyYXRpb25EZWZpbml0aW9uJ1xuICApO1xuXG4gIGlmIChvcGVyYXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgS2NCYWRMb2dpY0V4Y2VwdGlvbihcbiAgICAgIGBUaGVyZSBjYW4gYmUgb25seSBvbmUgJyR7b3BlcmF0aW9ufScgb3BlcmF0aW9uLCBpbnN0ZWFkIHRoZXJlIGFyZSAke29wZXJhdGlvbnMubGVuZ3RofWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG9wZXJhdGlvbnNbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyeShkb2M6IERvY3VtZW50Tm9kZSk6IE9wZXJhdGlvbkRlZmluaXRpb25Ob2RlIHtcbiAgcmV0dXJuIGdldEFzdE9wZXJhdGlvbihkb2MsICdxdWVyeScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TXV0YXRpb24oZG9jOiBEb2N1bWVudE5vZGUpOiBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSB7XG4gIHJldHVybiBnZXRBc3RPcGVyYXRpb24oZG9jLCAnbXV0YXRpb24nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50cyhkb2M6IERvY3VtZW50Tm9kZSk6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXSB7XG4gIHJldHVybiBkb2MuZGVmaW5pdGlvbnMuZmlsdGVyKFxuICAgIChkZWYpID0+IGRlZi5raW5kID09PSAnRnJhZ21lbnREZWZpbml0aW9uJ1xuICApIGFzIEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50KGFzdERvY3VtZW50OiBEb2N1bWVudE5vZGUpOiBGcmFnbWVudERlZmluaXRpb25Ob2RlIHtcbiAgY29uc3QgZnJhZ21lbnRzID0gZ2V0RnJhZ21lbnRzKGFzdERvY3VtZW50KTtcbiAgaWYgKGZyYWdtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEtjQmFkQXJndW1lbnRFeGNlcHRpb24oXG4gICAgICAnR3JhcGhRTCBkb2N1bWVudCBjYW4gb25seSBjb250YWluIG9uZSBmcmFnbWVudC4nXG4gICAgKTtcbiAgfVxuICByZXR1cm4gZnJhZ21lbnRzWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmFtZSh2YWx1ZTogc3RyaW5nKTogTmFtZU5vZGUge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6ICdOYW1lJyxcbiAgICB2YWx1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsaWFzT3JOYW1lKGZpZWxkOiBGaWVsZE5vZGUpIHtcbiAgcmV0dXJuIGZpZWxkLmFsaWFzPy52YWx1ZSB8fCBmaWVsZC5uYW1lLnZhbHVlO1xufVxuXG4vLyBDb2xsb2NhdGVzIHRoZSB0eXBlIHdpdGggdGhlIGRvY3VtZW50LlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZXhwb3J0IGludGVyZmFjZSBUeXBlZERvY3VtZW50Tm9kZTxUPiBleHRlbmRzIERvY3VtZW50Tm9kZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gZ3FsVHlwZWQ8VCA9IGFueT4oXG4gIGxpdGVyYWxzOiBSZWFkb25seUFycmF5PHN0cmluZz4gfCBSZWFkb25seTxzdHJpbmc+LFxuICAuLi5wbGFjZWhvbGRlcnM6IGFueVtdXG4pOiBUeXBlZERvY3VtZW50Tm9kZTxUPiB7XG4gIHJldHVybiBncWwobGl0ZXJhbHMsIC4uLnBsYWNlaG9sZGVycykgYXMgVHlwZWREb2N1bWVudE5vZGU8VD47XG59XG4iXX0=
@@ -1,157 +1,183 @@
1
1
  export function handleApolloError(errors) {
2
2
  if (!errors || !errors.length)
3
3
  return;
4
- const lrErrors = errors.map((x) => ({
5
- code: x.extensions && x.extensions.code,
6
- source: x.extensions && x.extensions.source,
7
- message: x.message,
8
- debug: {
9
- locations: x.locations,
10
- path: x.path,
11
- },
12
- }));
13
- throw new LrException(...lrErrors);
14
- }
15
- export class LrError {
16
- }
17
- export class LrException {
4
+ const kcErrors = errors.map((x) => {
5
+ return new KcError({
6
+ code: x.extensions && x.extensions.code,
7
+ source: x.extensions && x.extensions.source,
8
+ message: x.message,
9
+ debug: {
10
+ locations: x.locations,
11
+ path: x.path,
12
+ },
13
+ });
14
+ });
15
+ throw new KcException(...kcErrors);
16
+ }
17
+ export class KcError {
18
+ constructor(options) {
19
+ /**
20
+ * The _tag prevents being able to return an object when a class is required:
21
+ * ref: https://medium.com/decathlondevelopers/whats-the-problem-with-typescript-s-classes-2e60aaad3f6
22
+ * Example:
23
+ * // This works because KcError is being treated as a type.
24
+ * function test(): KcError {
25
+ * return {message: "123"};
26
+ * }
27
+ * With the private _tag property, the above will cause a compiler error because _tag property is missing
28
+ * from the returned object.
29
+ *
30
+ * The _type property also provides a type indicator when serialising the class to POJO.
31
+ */
32
+ this._type = 'KcError';
33
+ this.code = options.code;
34
+ this.source = options.source;
35
+ this.message = options.message;
36
+ this.debug = options.debug;
37
+ }
38
+ }
39
+ export class KcException {
40
+ /**
41
+ *
42
+ * @param errors Each argument is a KcError.
43
+ */
18
44
  constructor(...errors) {
45
+ this._type = 'KcException';
19
46
  this.errors = errors;
20
47
  }
21
48
  toString() {
22
49
  return this.errors.map((t) => JSON.stringify(t, null, 2));
23
50
  }
24
51
  }
25
- export var LrApiErrorCode;
26
- (function (LrApiErrorCode) {
27
- LrApiErrorCode["ARCHIVED_RESOURCE"] = "ARCHIVED_RESOURCE";
28
- LrApiErrorCode["BAD_ARGUMENT"] = "BAD_ARGUMENT";
29
- LrApiErrorCode["BAD_SIGNATURE"] = "BAD_SIGNATURE";
30
- LrApiErrorCode["BAD_STATE"] = "BAD_STATE";
31
- LrApiErrorCode["CHANGED_PERMISSIONS"] = "CHANGED_PERMISSIONS";
32
- LrApiErrorCode["CONCURRENT_ACCESS"] = "CONCURRENT_ACCESS";
33
- LrApiErrorCode["CONFIG_ERROR"] = "CONFIG_ERROR";
34
- LrApiErrorCode["CYCLE_DETECTED"] = "CYCLE_DETECTED";
35
- LrApiErrorCode["EXPIRED"] = "EXPIRED";
36
- LrApiErrorCode["INVALID_TOKEN"] = "INVALID_TOKEN";
37
- LrApiErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
38
- LrApiErrorCode["JSON_DECODE_ERROR"] = "JSON_DECODE_ERROR";
39
- LrApiErrorCode["KEY_MISMATCH"] = "KEY_MISMATCH";
40
- LrApiErrorCode["LIMIT_REACHED"] = "LIMIT_REACHED";
41
- LrApiErrorCode["LOCKED"] = "LOCKED";
42
- LrApiErrorCode["LOGIC_ERROR"] = "LOGIC_ERROR";
43
- LrApiErrorCode["LR_DEBUG_ONLY"] = "LR_DEBUG_ONLY";
44
- LrApiErrorCode["MIN_DELAY"] = "MIN_DELAY";
45
- LrApiErrorCode["MISSING_FIELD"] = "MISSING_FIELD";
46
- LrApiErrorCode["MISSING_FIELD_VALUE"] = "MISSING_FIELD_VALUE";
47
- LrApiErrorCode["MISSING_QUERY_PARAM"] = "MISSING_QUERY_PARAM";
48
- LrApiErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
49
- LrApiErrorCode["OBJECT_DOES_NOT_EXIST"] = "OBJECT_DOES_NOT_EXIST";
50
- LrApiErrorCode["OBJECT_EXISTS"] = "OBJECT_EXISTS";
51
- LrApiErrorCode["RANGE_ERROR"] = "RANGE_ERROR";
52
- LrApiErrorCode["TRUSTED_PARTY_NOT_FOUND"] = "TRUSTED_PARTY_NOT_FOUND";
53
- LrApiErrorCode["UNAUTHENTICATED_USER"] = "UNAUTHENTICATED_USER";
54
- LrApiErrorCode["USER_NOT_FOUND"] = "USER_NOT_FOUND";
55
- LrApiErrorCode["VERSION_MISMATCH"] = "VERSION_MISMATCH";
56
- LrApiErrorCode["WRONG_PERMISSIONS"] = "WRONG_PERMISSIONS";
57
- })(LrApiErrorCode || (LrApiErrorCode = {}));
58
- export var LrErrorCode;
59
- (function (LrErrorCode) {
60
- LrErrorCode["BadTimeSync"] = "LrBadTimeSync";
61
- LrErrorCode["ReceiveClaimMismatch"] = "LrReceiveClaimMismatch";
62
- LrErrorCode["BadState"] = "LrBadState";
63
- LrErrorCode["BadSignature"] = "LrBadSignature";
64
- LrErrorCode["Auth"] = "LrAuth";
65
- LrErrorCode["BadArgument"] = "LrBadArgument";
66
- LrErrorCode["SuspiciousException"] = "LrSuspiciousException";
67
- LrErrorCode["NotFound"] = "LrNotFound";
68
- LrErrorCode["BadLogic"] = "LrBadLogicException";
69
- LrErrorCode["CodeMismatch"] = "LrCodeMismatchException";
70
- LrErrorCode["ConcurrentAccess"] = "LrConcurrentAccessException";
71
- LrErrorCode["BadRequest"] = "LrBadRequestException";
72
- LrErrorCode["Encryption"] = "LrEncryptionGoBad";
73
- LrErrorCode["Locked"] = "LrLockedException";
74
- })(LrErrorCode || (LrErrorCode = {}));
75
- export class LrBadArgumentException extends LrException {
52
+ export var KcErrorCode;
53
+ (function (KcErrorCode) {
54
+ // API errors
55
+ KcErrorCode["ARCHIVED_RESOURCE"] = "ARCHIVED_RESOURCE";
56
+ KcErrorCode["BAD_ARGUMENT"] = "BAD_ARGUMENT";
57
+ KcErrorCode["BAD_SIGNATURE"] = "BAD_SIGNATURE";
58
+ KcErrorCode["BAD_STATE"] = "BAD_STATE";
59
+ KcErrorCode["CHANGED_PERMISSIONS"] = "CHANGED_PERMISSIONS";
60
+ KcErrorCode["CONCURRENT_ACCESS"] = "CONCURRENT_ACCESS";
61
+ KcErrorCode["CONFIG_ERROR"] = "CONFIG_ERROR";
62
+ KcErrorCode["CYCLE_DETECTED"] = "CYCLE_DETECTED";
63
+ KcErrorCode["EXPIRED"] = "EXPIRED";
64
+ KcErrorCode["INVALID_TOKEN"] = "INVALID_TOKEN";
65
+ KcErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
66
+ KcErrorCode["JSON_DECODE_ERROR"] = "JSON_DECODE_ERROR";
67
+ KcErrorCode["KEY_MISMATCH"] = "KEY_MISMATCH";
68
+ KcErrorCode["LIMIT_REACHED"] = "LIMIT_REACHED";
69
+ KcErrorCode["LOCKED"] = "LOCKED";
70
+ KcErrorCode["LOGIC_ERROR"] = "LOGIC_ERROR";
71
+ KcErrorCode["LR_DEBUG_ONLY"] = "LR_DEBUG_ONLY";
72
+ KcErrorCode["MIN_DELAY"] = "MIN_DELAY";
73
+ KcErrorCode["MISSING_FIELD"] = "MISSING_FIELD";
74
+ KcErrorCode["MISSING_FIELD_VALUE"] = "MISSING_FIELD_VALUE";
75
+ KcErrorCode["MISSING_QUERY_PARAM"] = "MISSING_QUERY_PARAM";
76
+ KcErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
77
+ KcErrorCode["OBJECT_DOES_NOT_EXIST"] = "OBJECT_DOES_NOT_EXIST";
78
+ KcErrorCode["OBJECT_EXISTS"] = "OBJECT_EXISTS";
79
+ KcErrorCode["RANGE_ERROR"] = "RANGE_ERROR";
80
+ KcErrorCode["TRUSTED_PARTY_NOT_FOUND"] = "TRUSTED_PARTY_NOT_FOUND";
81
+ KcErrorCode["UNAUTHENTICATED_USER"] = "UNAUTHENTICATED_USER";
82
+ KcErrorCode["USER_NOT_FOUND"] = "USER_NOT_FOUND";
83
+ KcErrorCode["VERSION_MISMATCH"] = "VERSION_MISMATCH";
84
+ KcErrorCode["WRONG_PERMISSIONS"] = "WRONG_PERMISSIONS";
85
+ // KC client errors
86
+ KcErrorCode["AUTH"] = "AUTH";
87
+ KcErrorCode["BAD_LOGIC"] = "BAD_LOGIC";
88
+ KcErrorCode["BAD_REQUEST"] = "BAD_REQUEST";
89
+ KcErrorCode["BAD_TIME_SYNC"] = "BAD_TIME_SYNC";
90
+ KcErrorCode["CODE_MISMATCH"] = "CODE_MISMATCH";
91
+ KcErrorCode["ENCRYPTION"] = "ENCRYPTION";
92
+ KcErrorCode["NOT_FOUND"] = "NOT_FOUND";
93
+ KcErrorCode["SUSPICIOUS_OPERATION"] = "SUSPICIOUS_OPERATION";
94
+ KcErrorCode["UNSUPPORTED"] = "UNSUPPORTED";
95
+ })(KcErrorCode || (KcErrorCode = {}));
96
+ export class KcAuthException extends KcException {
76
97
  constructor(message) {
77
- super({ code: LrErrorCode.BadArgument, message });
98
+ super(new KcError({ code: KcErrorCode.AUTH, message }));
78
99
  }
79
100
  }
80
- export class LrSuspiciousException extends LrException {
101
+ export class KcBadArgumentException extends KcException {
81
102
  constructor(message) {
82
- super({ code: LrErrorCode.BadArgument, message });
103
+ super(new KcError({ code: KcErrorCode.BAD_ARGUMENT, message }));
83
104
  }
84
105
  }
85
- export class LrNotFoundException extends LrException {
106
+ export class KcBadLogicException extends KcException {
86
107
  constructor(message) {
87
- super({ code: LrErrorCode.NotFound, message });
108
+ super(new KcError({ code: KcErrorCode.BAD_LOGIC, message }));
88
109
  }
89
110
  }
90
- export class LrBadLogicException extends LrException {
111
+ export class KcBadRequestException extends KcException {
91
112
  constructor(message) {
92
- super({ code: LrErrorCode.BadLogic, message });
113
+ super(new KcError({ code: KcErrorCode.BAD_REQUEST, message }));
93
114
  }
94
115
  }
95
- export class LrCodeMismatchException extends LrException {
116
+ export class KcBadSignatureException extends KcException {
96
117
  constructor(message) {
97
- super({ code: LrErrorCode.CodeMismatch, message });
118
+ super(new KcError({ code: KcErrorCode.BAD_SIGNATURE, message }));
98
119
  }
99
120
  }
100
- export class LrConcurrentAccessException extends LrException {
121
+ export class KcBadStateException extends KcException {
101
122
  constructor(message) {
102
- super({ code: LrErrorCode.ConcurrentAccess, message });
123
+ super(new KcError({
124
+ code: KcErrorCode.BAD_STATE,
125
+ message,
126
+ }));
103
127
  }
104
128
  }
105
- export class LrLockedException extends LrException {
129
+ export class KcBadTimeSyncException extends KcException {
106
130
  constructor(message) {
107
- super({ code: LrErrorCode.Locked, message });
131
+ super(new KcError({
132
+ code: KcErrorCode.BAD_TIME_SYNC,
133
+ message,
134
+ }));
108
135
  }
109
136
  }
110
- export class LrBadRequestException extends LrException {
137
+ export class KcCodeMismatchException extends KcException {
111
138
  constructor(message) {
112
- super({ code: LrErrorCode.BadRequest, message });
139
+ super(new KcError({ code: KcErrorCode.CODE_MISMATCH, message }));
113
140
  }
114
141
  }
115
- export class LrAuthException extends LrException {
142
+ export class KcConcurrentAccessException extends KcException {
116
143
  constructor(message) {
117
- super({ code: LrErrorCode.Auth, message });
144
+ super(new KcError({ code: KcErrorCode.CONCURRENT_ACCESS, message }));
118
145
  }
119
146
  }
120
- export class LrEncryptionException extends LrException {
147
+ export class KcEncryptionException extends KcException {
121
148
  constructor(message) {
122
- super({ code: LrErrorCode.Encryption, message });
149
+ super(new KcError({ code: KcErrorCode.ENCRYPTION, message }));
123
150
  }
124
151
  }
125
- export class LrUnsupportedException extends LrException {
152
+ export class KcInternalErrorException extends KcException {
126
153
  constructor(message) {
127
- super({
128
- code: 'LrUnsupportedException',
129
- message,
130
- });
154
+ super(new KcError({ code: KcErrorCode.INTERNAL_ERROR, message }));
131
155
  }
132
156
  }
133
- export class LrExpiredCodeException extends LrException {
157
+ export class KcLockedException extends KcException {
134
158
  constructor(message) {
135
- super({
136
- code: 'LrExpiredCodeException',
159
+ super(new KcError({
160
+ code: KcErrorCode.LOCKED,
137
161
  message,
138
- });
162
+ }));
139
163
  }
140
164
  }
141
- export class LrExpiredException extends LrException {
165
+ export class KcNotFoundException extends KcException {
142
166
  constructor(message) {
143
- super({
144
- code: 'LrExpiredException',
145
- message,
146
- });
167
+ super(new KcError({ code: KcErrorCode.NOT_FOUND, message }));
168
+ }
169
+ }
170
+ export class KcSuspiciousOperationException extends KcException {
171
+ constructor(message) {
172
+ super(new KcError({ code: KcErrorCode.SUSPICIOUS_OPERATION, message }));
147
173
  }
148
174
  }
149
- export class LrBadStateException extends LrException {
175
+ export class KcUnsupportedException extends KcException {
150
176
  constructor(message) {
151
- super({
152
- code: 'LrBadStateException',
177
+ super(new KcError({
178
+ code: KcErrorCode.UNSUPPORTED,
153
179
  message,
154
- });
180
+ }));
155
181
  }
156
182
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL2V4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQW1DO0lBQ25FLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU87SUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUk7UUFDdkMsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNO1FBQzNDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztRQUNsQixLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQWdCO1lBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBZ0I7U0FDekI7S0FDRixDQUFDLENBQUMsQ0FBQztJQUVKLE1BQU0sSUFBSSxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxPQUFPLE9BQU87Q0FZbkI7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUFZLEdBQUcsTUFBaUI7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFFRCxNQUFN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QVc7SUFDbEQsWUFBWSxPQUFPO1FBQ2pCLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEdyYXBoUUxFcnJvciB9IGZyb20gJ2dyYXBocWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQXBvbGxvRXJyb3IoZXJyb3JzOiBSZWFkb25seUFycmF5PEdyYXBoUUxFcnJvcj4pIHtcbiAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybjtcblxuICBjb25zdCBsckVycm9ycyA9IGVycm9ycy5tYXAoKHgpID0+ICh7XG4gICAgY29kZTogeC5leHRlbnNpb25zICYmIHguZXh0ZW5zaW9ucy5jb2RlLFxuICAgIHNvdXJjZTogeC5leHRlbnNpb25zICYmIHguZXh0ZW5zaW9ucy5zb3VyY2UsXG4gICAgbWVzc2FnZTogeC5tZXNzYWdlLFxuICAgIGRlYnVnOiB7XG4gICAgICBsb2NhdGlvbnM6IHgubG9jYXRpb25zIGFzIGFueSxcbiAgICAgIHBhdGg6IHgucGF0aCBhcyBzdHJpbmdbXSxcbiAgICB9LFxuICB9KSk7XG5cbiAgdGhyb3cgbmV3IExyRXhjZXB0aW9uKC4uLmxyRXJyb3JzKTtcbn1cblxuZXhwb3J0IGNsYXNzIExyRXJyb3Ige1xuICAvL1RPRE8gQWRkIGh0dHAgc3RhdHVzIGNvZGUuXG4gIGNvZGU/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZWJ1Zz86IHtcbiAgICBsb2NhdGlvbnM6IHtcbiAgICAgIGxpbmU6IG51bWJlcjtcbiAgICAgIGNvbHVtbjogbnVtYmVyO1xuICAgIH1bXTtcbiAgICBwYXRoOiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIExyRXhjZXB0aW9uIHtcbiAgcHVibGljIGVycm9yczogTHJFcnJvcltdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmVycm9yczogTHJFcnJvcltdKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLm1hcCgodCkgPT4gSlNPTi5zdHJpbmdpZnkodCwgbnVsbCwgMikpO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIExyQXBpRXJyb3JDb2RlIHtcbiAgQVJDSElWRURfUkVTT1VSQ0UgPSAnQVJDSElWRURfUkVTT1VSQ0UnLFxuICBCQURfQVJHVU1FTlQgPSAnQkFEX0FSR1VNRU5UJyxcbiAgQkFEX1NJR05BVFVSRSA9ICdCQURfU0lHTkFUVVJFJyxcbiAgQkFEX1NUQVRFID0gJ0JBRF9TVEFURScsXG4gIENIQU5HRURfUEVSTUlTU0lPTlMgPSAnQ0hBTkdFRF9QRVJNSVNTSU9OUycsXG4gIENPTkNVUlJFTlRfQUNDRVNTID0gJ0NPTkNVUlJFTlRfQUNDRVNTJyxcbiAgQ09ORklHX0VSUk9SID0gJ0NPTkZJR19FUlJPUicsXG4gIENZQ0xFX0RFVEVDVEVEID0gJ0NZQ0xFX0RFVEVDVEVEJyxcbiAgRVhQSVJFRCA9ICdFWFBJUkVEJyxcbiAgSU5WQUxJRF9UT0tFTiA9ICdJTlZBTElEX1RPS0VOJyxcbiAgSU5URVJOQUxfRVJST1IgPSAnSU5URVJOQUxfRVJST1InLFxuICBKU09OX0RFQ09ERV9FUlJPUiA9ICdKU09OX0RFQ09ERV9FUlJPUicsXG4gIEtFWV9NSVNNQVRDSCA9ICdLRVlfTUlTTUFUQ0gnLFxuICBMSU1JVF9SRUFDSEVEID0gJ0xJTUlUX1JFQUNIRUQnLFxuICBMT0NLRUQgPSAnTE9DS0VEJyxcbiAgTE9HSUNfRVJST1IgPSAnTE9HSUNfRVJST1InLFxuICBMUl9ERUJVR19PTkxZID0gJ0xSX0RFQlVHX09OTFknLFxuICBNSU5fREVMQVkgPSAnTUlOX0RFTEFZJyxcbiAgTUlTU0lOR19GSUVMRCA9ICdNSVNTSU5HX0ZJRUxEJyxcbiAgTUlTU0lOR19GSUVMRF9WQUxVRSA9ICdNSVNTSU5HX0ZJRUxEX1ZBTFVFJyxcbiAgTUlTU0lOR19RVUVSWV9QQVJBTSA9ICdNSVNTSU5HX1FVRVJZX1BBUkFNJyxcbiAgTk9UX0lNUExFTUVOVEVEID0gJ05PVF9JTVBMRU1FTlRFRCcsXG4gIE9CSkVDVF9ET0VTX05PVF9FWElTVCA9ICdPQkpFQ1RfRE9FU19OT1RfRVhJU1QnLFxuICBPQkpFQ1RfRVhJU1RTID0gJ09CSkVDVF9FWElTVFMnLFxuICBSQU5HRV9FUlJPUiA9ICdSQU5HRV9FUlJPUicsXG4gIFRSVVNURURfUEFSVFlfTk9UX0ZPVU5EID0gJ1RSVVNURURfUEFSVFlfTk9UX0ZPVU5EJyxcbiAgVU5BVVRIRU5USUNBVEVEX1VTRVIgPSAnVU5BVVRIRU5USUNBVEVEX1VTRVInLFxuICBVU0VSX05PVF9GT1VORCA9ICdVU0VSX05PVF9GT1VORCcsXG4gIFZFUlNJT05fTUlTTUFUQ0ggPSAnVkVSU0lPTl9NSVNNQVRDSCcsXG4gIFdST05HX1BFUk1JU1NJT05TID0gJ1dST05HX1BFUk1JU1NJT05TJyxcbn1cblxuZXhwb3J0IGVudW0gTHJFcnJvckNvZGUge1xuICBCYWRUaW1lU3luYyA9ICdMckJhZFRpbWVTeW5jJyxcbiAgUmVjZWl2ZUNsYWltTWlzbWF0Y2ggPSAnTHJSZWNlaXZlQ2xhaW1NaXNtYXRjaCcsXG4gIEJhZFN0YXRlID0gJ0xyQmFkU3RhdGUnLFxuICBCYWRTaWduYXR1cmUgPSAnTHJCYWRTaWduYXR1cmUnLFxuICBBdXRoID0gJ0xyQXV0aCcsXG4gIEJhZEFyZ3VtZW50ID0gJ0xyQmFkQXJndW1lbnQnLFxuICBTdXNwaWNpb3VzRXhjZXB0aW9uID0gJ0xyU3VzcGljaW91c0V4Y2VwdGlvbicsXG4gIE5vdEZvdW5kID0gJ0xyTm90Rm91bmQnLFxuICBCYWRMb2dpYyA9ICdMckJhZExvZ2ljRXhjZXB0aW9uJyxcbiAgQ29kZU1pc21hdGNoID0gJ0xyQ29kZU1pc21hdGNoRXhjZXB0aW9uJyxcbiAgQ29uY3VycmVudEFjY2VzcyA9ICdMckNvbmN1cnJlbnRBY2Nlc3NFeGNlcHRpb24nLFxuICBCYWRSZXF1ZXN0ID0gJ0xyQmFkUmVxdWVzdEV4Y2VwdGlvbicsXG4gIEVuY3J5cHRpb24gPSAnTHJFbmNyeXB0aW9uR29CYWQnLFxuICBMb2NrZWQgPSAnTHJMb2NrZWRFeGNlcHRpb24nLFxufVxuXG5leHBvcnQgY2xhc3MgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQmFkQXJndW1lbnQsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyU3VzcGljaW91c0V4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQmFkQXJndW1lbnQsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLk5vdEZvdW5kLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMckJhZExvZ2ljRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5CYWRMb2dpYywgbWVzc2FnZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJDb2RlTWlzbWF0Y2hFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkNvZGVNaXNtYXRjaCwgbWVzc2FnZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5Db25jdXJyZW50QWNjZXNzLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMckxvY2tlZEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuTG9ja2VkLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMckJhZFJlcXVlc3RFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkJhZFJlcXVlc3QsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyQXV0aEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQXV0aCwgbWVzc2FnZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJFbmNyeXB0aW9uRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5FbmNyeXB0aW9uLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMclVuc3VwcG9ydGVkRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoe1xuICAgICAgY29kZTogJ0xyVW5zdXBwb3J0ZWRFeGNlcHRpb24nLFxuICAgICAgbWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJFeHBpcmVkQ29kZUV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvZGU6ICdMckV4cGlyZWRDb2RlRXhjZXB0aW9uJyxcbiAgICAgIG1lc3NhZ2UsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyRXhwaXJlZEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvZGU6ICdMckV4cGlyZWRFeGNlcHRpb24nLFxuICAgICAgbWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJCYWRTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvZGU6ICdMckJhZFN0YXRlRXhjZXB0aW9uJyxcbiAgICAgIG1lc3NhZ2UsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL2V4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQW1DO0lBQ25FLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU87SUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sSUFBSSxPQUFPLENBQUM7WUFDakIsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUMzQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87WUFDbEIsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBZ0I7Z0JBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBZ0I7YUFDekI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxPQUFPLE9BQU87SUEyQmxCLFlBQVksT0FBeUI7UUExQnJDOzs7Ozs7Ozs7Ozs7V0FZRztRQUNLLFVBQUssR0FBYyxTQUFTLENBQUM7UUFjbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtB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U0FBUSxXQUFXO0lBQ3ZELFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFDaEQsWUFBWSxPQUFPO1FBQ2pCLEtBQUssQ0FDSCxJQUFJLE9BQU8sQ0FBQztZQUNWLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTTtZQUN4QixPQUFPO1NBQ1IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQUNsRCxZQUFZLE9BQU87UUFDakIsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxXQUFXO0lBQzdELFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQUNyRCxZQUFZLE9BQU87UUFDakIsS0FBSyxDQUNILElBQUksT0FBTyxDQUFDO1lBQ1YsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXO1lBQzdCLE9BQU87U0FDUixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEdyYXBoUUxFcnJvciB9IGZyb20gJ2dyYXBocWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQXBvbGxvRXJyb3IoZXJyb3JzOiBSZWFkb25seUFycmF5PEdyYXBoUUxFcnJvcj4pIHtcbiAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybjtcblxuICBjb25zdCBrY0Vycm9ycyA9IGVycm9ycy5tYXAoKHgpID0+IHtcbiAgICByZXR1cm4gbmV3IEtjRXJyb3Ioe1xuICAgICAgY29kZTogeC5leHRlbnNpb25zICYmIHguZXh0ZW5zaW9ucy5jb2RlLFxuICAgICAgc291cmNlOiB4LmV4dGVuc2lvbnMgJiYgeC5leHRlbnNpb25zLnNvdXJjZSxcbiAgICAgIG1lc3NhZ2U6IHgubWVzc2FnZSxcbiAgICAgIGRlYnVnOiB7XG4gICAgICAgIGxvY2F0aW9uczogeC5sb2NhdGlvbnMgYXMgYW55LFxuICAgICAgICBwYXRoOiB4LnBhdGggYXMgc3RyaW5nW10sXG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcblxuICB0aHJvdyBuZXcgS2NFeGNlcHRpb24oLi4ua2NFcnJvcnMpO1xufVxuXG5leHBvcnQgY2xhc3MgS2NFcnJvciB7XG4gIC8qKlxuICAgKiBUaGUgX3RhZyBwcmV2ZW50cyBiZWluZyBhYmxlIHRvIHJldHVybiBhbiBvYmplY3Qgd2hlbiBhIGNsYXNzIGlzIHJlcXVpcmVkOlxuICAgKiByZWY6IGh0dHBzOi8vbWVkaXVtLmNvbS9kZWNhdGhsb25kZXZlbG9wZXJzL3doYXRzLXRoZS1wcm9ibGVtLXdpdGgtdHlwZXNjcmlwdC1zLWNsYXNzZXMtMmU2MGFhYWQzZjZcbiAgICogRXhhbXBsZTpcbiAgICogICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgS2NFcnJvciBpcyBiZWluZyB0cmVhdGVkIGFzIGEgdHlwZS5cbiAgICogICBmdW5jdGlvbiB0ZXN0KCk6IEtjRXJyb3Ige1xuICAgKiAgICAgcmV0dXJuIHttZXNzYWdlOiBcIjEyM1wifTtcbiAgICogICB9XG4gICAqIFdpdGggdGhlIHByaXZhdGUgX3RhZyBwcm9wZXJ0eSwgdGhlIGFib3ZlIHdpbGwgY2F1c2UgYSBjb21waWxlciBlcnJvciBiZWNhdXNlIF90YWcgcHJvcGVydHkgaXMgbWlzc2luZ1xuICAgKiBmcm9tIHRoZSByZXR1cm5lZCBvYmplY3QuXG4gICAqXG4gICAqIFRoZSBfdHlwZSBwcm9wZXJ0eSBhbHNvIHByb3ZpZGVzIGEgdHlwZSBpbmRpY2F0b3Igd2hlbiBzZXJpYWxpc2luZyB0aGUgY2xhc3MgdG8gUE9KTy5cbiAgICovXG4gIHByaXZhdGUgX3R5cGU6ICdLY0Vycm9yJyA9ICdLY0Vycm9yJztcblxuICBjb2RlPzogc3RyaW5nO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVidWc/OiB7XG4gICAgbG9jYXRpb25zOiB7XG4gICAgICBsaW5lOiBudW1iZXI7XG4gICAgICBjb2x1bW46IG51bWJlcjtcbiAgICB9W107XG4gICAgcGF0aDogc3RyaW5nW107XG4gIH07XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUGFydGlhbDxLY0Vycm9yPikge1xuICAgIHRoaXMuY29kZSA9IG9wdGlvbnMuY29kZTtcbiAgICB0aGlzLnNvdXJjZSA9IG9wdGlvbnMuc291cmNlO1xuICAgIHRoaXMubWVzc2FnZSA9IG9wdGlvbnMubWVzc2FnZTtcbiAgICB0aGlzLmRlYnVnID0gb3B0aW9ucy5kZWJ1ZztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NFeGNlcHRpb24ge1xuICBwcml2YXRlIF90eXBlOiAnS2NFeGNlcHRpb24nID0gJ0tjRXhjZXB0aW9uJztcblxuICBwdWJsaWMgZXJyb3JzOiBLY0Vycm9yW107XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlcnJvcnMgRWFjaCBhcmd1bWVudCBpcyBhIEtjRXJyb3IuXG4gICAqL1xuICBjb25zdHJ1Y3RvciguLi5lcnJvcnM6IEtjRXJyb3JbXSkge1xuICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmVycm9ycy5tYXAoKHQpID0+IEpTT04uc3RyaW5naWZ5KHQsIG51bGwsIDIpKTtcbiAgfVxufVxuXG5leHBvcnQgZW51bSBLY0Vycm9yQ29kZSB7XG4gIC8vIEFQSSBlcnJvcnNcbiAgQVJDSElWRURfUkVTT1VSQ0UgPSAnQVJDSElWRURfUkVTT1VSQ0UnLFxuICBCQURfQVJHVU1FTlQgPSAnQkFEX0FSR1VNRU5UJyxcbiAgQkFEX1NJR05BVFVSRSA9ICdCQURfU0lHTkFUVVJFJyxcbiAgQkFEX1NUQVRFID0gJ0JBRF9TVEFURScsXG4gIENIQU5HRURfUEVSTUlTU0lPTlMgPSAnQ0hBTkdFRF9QRVJNSVNTSU9OUycsXG4gIENPTkNVUlJFTlRfQUNDRVNTID0gJ0NPTkNVUlJFTlRfQUNDRVNTJyxcbiAgQ09ORklHX0VSUk9SID0gJ0NPTkZJR19FUlJPUicsXG4gIENZQ0xFX0RFVEVDVEVEID0gJ0NZQ0xFX0RFVEVDVEVEJyxcbiAgRVhQSVJFRCA9ICdFWFBJUkVEJyxcbiAgSU5WQUxJRF9UT0tFTiA9ICdJTlZBTElEX1RPS0VOJyxcbiAgSU5URVJOQUxfRVJST1IgPSAnSU5URVJOQUxfRVJST1InLFxuICBKU09OX0RFQ09ERV9FUlJPUiA9ICdKU09OX0RFQ09ERV9FUlJPUicsXG4gIEtFWV9NSVNNQVRDSCA9ICdLRVlfTUlTTUFUQ0gnLFxuICBMSU1JVF9SRUFDSEVEID0gJ0xJTUlUX1JFQUNIRUQnLFxuICBMT0NLRUQgPSAnTE9DS0VEJyxcbiAgTE9HSUNfRVJST1IgPSAnTE9HSUNfRVJST1InLFxuICBMUl9ERUJVR19PTkxZID0gJ0xSX0RFQlVHX09OTFknLFxuICBNSU5fREVMQVkgPSAnTUlOX0RFTEFZJyxcbiAgTUlTU0lOR19GSUVMRCA9ICdNSVNTSU5HX0ZJRUxEJyxcbiAgTUlTU0lOR19GSUVMRF9WQUxVRSA9ICdNSVNTSU5HX0ZJRUxEX1ZBTFVFJyxcbiAgTUlTU0lOR19RVUVSWV9QQVJBTSA9ICdNSVNTSU5HX1FVRVJZX1BBUkFNJyxcbiAgTk9UX0lNUExFTUVOVEVEID0gJ05PVF9JTVBMRU1FTlRFRCcsXG4gIE9CSkVDVF9ET0VTX05PVF9FWElTVCA9ICdPQkpFQ1RfRE9FU19OT1RfRVhJU1QnLFxuICBPQkpFQ1RfRVhJU1RTID0gJ09CSkVDVF9FWElTVFMnLFxuICBSQU5HRV9FUlJPUiA9ICdSQU5HRV9FUlJPUicsXG4gIFRSVVNURURfUEFSVFlfTk9UX0ZPVU5EID0gJ1RSVVNURURfUEFSVFlfTk9UX0ZPVU5EJyxcbiAgVU5BVVRIRU5USUNBVEVEX1VTRVIgPSAnVU5BVVRIRU5USUNBVEVEX1VTRVInLFxuICBVU0VSX05PVF9GT1VORCA9ICdVU0VSX05PVF9GT1VORCcsXG4gIFZFUlNJT05fTUlTTUFUQ0ggPSAnVkVSU0lPTl9NSVNNQVRDSCcsXG4gIFdST05HX1BFUk1JU1NJT05TID0gJ1dST05HX1BFUk1JU1NJT05TJyxcblxuICAvLyBLQyBjbGllbnQgZXJyb3JzXG4gIEFVVEggPSAnQVVUSCcsXG4gIEJBRF9MT0dJQyA9ICdCQURfTE9HSUMnLFxuICBCQURfUkVRVUVTVCA9ICdCQURfUkVRVUVTVCcsXG4gIEJBRF9USU1FX1NZTkMgPSAnQkFEX1RJTUVfU1lOQycsXG4gIENPREVfTUlTTUFUQ0ggPSAnQ09ERV9NSVNNQVRDSCcsXG4gIEVOQ1JZUFRJT04gPSAnRU5DUllQVElPTicsXG4gIE5PVF9GT1VORCA9ICdOT1RfRk9VTkQnLFxuICBTVVNQSUNJT1VTX09QRVJBVElPTiA9ICdTVVNQSUNJT1VTX09QRVJBVElPTicsXG4gIFVOU1VQUE9SVEVEID0gJ1VOU1VQUE9SVEVEJyxcbn1cblxuZXhwb3J0IGNsYXNzIEtjQXV0aEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQVVUSCwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQmFkQXJndW1lbnRFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX0FSR1VNRU5ULCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NCYWRMb2dpY0V4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX0xPR0lDLCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIEtjQmFkUmVxdWVzdEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX1JFUVVFU1QsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0JhZFNpZ25hdHVyZUV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX1NJR05BVFVSRSwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQmFkU3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihcbiAgICAgIG5ldyBLY0Vycm9yKHtcbiAgICAgICAgY29kZTogS2NFcnJvckNvZGUuQkFEX1NUQVRFLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0JhZFRpbWVTeW5jRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgS2NFcnJvcih7XG4gICAgICAgIGNvZGU6IEtjRXJyb3JDb2RlLkJBRF9USU1FX1NZTkMsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQ29kZU1pc21hdGNoRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5DT0RFX01JU01BVENILCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5DT05DVVJSRU5UX0FDQ0VTUywgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjRW5jcnlwdGlvbkV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuRU5DUllQVElPTiwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjSW50ZXJuYWxFcnJvckV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuSU5URVJOQUxfRVJST1IsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0xvY2tlZEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKFxuICAgICAgbmV3IEtjRXJyb3Ioe1xuICAgICAgICBjb2RlOiBLY0Vycm9yQ29kZS5MT0NLRUQsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihuZXcgS2NFcnJvcih7IGNvZGU6IEtjRXJyb3JDb2RlLk5PVF9GT1VORCwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjU3VzcGljaW91c09wZXJhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuU1VTUElDSU9VU19PUEVSQVRJT04sIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY1Vuc3VwcG9ydGVkRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgS2NFcnJvcih7XG4gICAgICAgIGNvZGU6IEtjRXJyb3JDb2RlLlVOU1VQUE9SVEVELFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { LrBadLogicException } from './exceptions';
2
+ import { KcBadLogicException } from './exceptions';
3
3
  /**
4
4
  * If you wish to change the behaviour of those, you'll need to create a derived
5
5
  * class and override the methods.
@@ -34,7 +34,7 @@ export function RunOutsideAngular({ ngZoneName, exceptLastPromise = true, exclud
34
34
  return (target) => {
35
35
  function run(original, args) {
36
36
  if (!this[ngZoneName]) {
37
- throw new LrBadLogicException(`RunOutsideAngular decorator requires that ${target.name} inject NgZone as ${ngZoneName}`);
37
+ throw new KcBadLogicException(`RunOutsideAngular decorator requires that ${target.name} inject NgZone as ${ngZoneName}`);
38
38
  }
39
39
  // runOutsideAngular() synchronously runs the callback and returns the result.
40
40
  const result = this[ngZoneName].runOutsideAngular(() => original.apply(this, args));
@@ -77,4 +77,4 @@ export function RunOutsideAngular({ ngZoneName, exceptLastPromise = true, exclud
77
77
  return target;
78
78
  };
79
79
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQTBCbkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsYUFBYTtJQUNiLGFBQWE7SUFDYixVQUFVO0lBQ1YsV0FBVztJQUNYLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixhQUFhO0NBQ2QsQ0FBQztBQUVGLGtDQUFrQztBQUNsQyxFQUFFO0FBQ0YsaUVBQWlFO0FBQ2pFLGlFQUFpRTtBQUNqRSxtRUFBbUU7QUFDbkUsbUJBQW1CO0FBQ25CLEVBQUU7QUFDRiw0Q0FBNEM7QUFDNUMsc0ZBQXNGO0FBQ3RGLHlGQUF5RjtBQUN6RiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHlGQUF5RjtBQUN6RixNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFDaEMsVUFBVSxFQUNWLGlCQUFpQixHQUFHLElBQUksRUFDeEIsY0FBYyxHQUFHLEVBQUUsRUFDbkIsWUFBWSxHQUFHLElBQUksR0FDSztJQUN4QixPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUU7UUFDckIsU0FBUyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUk7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLG1CQUFtQixDQUMzQiw2Q0FBNkMsTUFBTSxDQUFDLElBQUkscUJBQXFCLFVBQVUsRUFBRSxDQUMxRixDQUFDO2FBQ0g7WUFDRCw4RUFBOEU7WUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUNyRCxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FDM0IsQ0FBQztZQUVGLElBQUksaUJBQWlCLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUksQ0FBQSxFQUFFO2dCQUNyQyxxRUFBcUU7Z0JBQ3JFLGdGQUFnRjtnQkFDaEYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7UUFDSCxDQUFDO1FBRUQsdUZBQXVGO1FBQ3ZGLHFHQUFxRztRQUNyRyxjQUFjLEdBQUcsQ0FBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBRXpELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0QsT0FBTzthQUNKLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BELE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLGdCQUFnQjtZQUNoQixtRkFBbUY7WUFDbkYsdUZBQXVGO1lBQ3ZGLHFEQUFxRDtZQUNyRCxJQUNFLFlBQVk7Z0JBQ1osTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUM3RDtnQkFDQSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQzlDLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FDUCxDQUFDLEdBQUcsQ0FBQztnQkFFTixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO29CQUM5QyxHQUFHLENBQUMsR0FBRyxJQUFJO3dCQUNULE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDM0MsQ0FBQztpQkFDRixDQUFDLENBQUM7YUFDSjtZQUVELElBQUksT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQkFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSTtvQkFDMUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IExyQmFkTG9naWNFeGNlcHRpb24gfSBmcm9tICcuL2V4Y2VwdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk91dHNpZGVBbmd1bGFyQ29uZmlnIHtcbiAgbmdab25lTmFtZTogc3RyaW5nO1xuICAvLyBJZiB0cnVlLCBhIHNpbmdsZSBjaGFuZ2UgZGV0ZWN0aW9uIGlzIHRyaWdnZXJlZCBvbiByZXNvbHZlIG9mIHRoZSBQcm9taXNlIHJldHVybmVkXG4gIC8vIGZyb20gdGhlIGZ1bmN0aW9uLlxuICAvLyBlbHNlLCB0aGUgZW50aXJlIGZ1bmN0aW9uIGlzIHJ1biBvdXRzaWRlIG9mIHpvbmUuXG4gIC8vIE5vdGUgdGhhdCBpZiB0aGlzIGlzIGRpc2FibGVkLCB0aGVuIGNoYW5nZSBkZXRlY3Rpb24gaXMgbm90IHRyaWdnZXJlZCBldmVuIGlmIHlvdVxuICAvLyB1c2UgYXN5bmMgcGlwZXMgdG8gc3Vic2NyaWJlIHRvIG9ic2VydmFibGVzIG9uIHRoZSByZXN1bHRpbmcgcHJvbWlzZS4gVGhpcyBpcyBiZWNhdXNlXG4gIC8vIGFzeW5jIHBpcGVzIG9ubHkgX21hcmtzXyBhIGNvbXBvbmVudCBmb3IgY2hhbmdlIGRldGVjdGlvbiwgaXQgZG9lc24ndCBhY3R1YWxseSBfdHJpZ2dlcl9cbiAgLy8gdGhlIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gIGV4Y2VwdExhc3RQcm9taXNlPzogYm9vbGVhbjtcbiAgLy8gQW55IG1ldGhvZCBvciBwcm9wZXJ0eSB5b3Ugd2lzaCB0byBleGNsdWRlIGZyb20gcGF0Y2guIFRoZSBtZXRob2RzIGluIEVYQ0xVREVfTUVUSE9EUyBhcmVcbiAgLy8gbmV2ZXIgcGF0Y2hlZC5cbiAgZXhjbHVkZU1ldGhvZHM/OiBzdHJpbmdbXTtcbiAgLy8gSWYgdHJ1ZSwgcGF0Y2ggdGhlIHNldHRlcnMgYXMgd2VsbC4gU2V0dGluZ3MgYXJlIHNvbWVcbiAgLy8gTm90ZSB0aGF0IHNldHRlcnMgZG8gbm90IHJldHVybiBhbnkgdGhpbmcuIEJ1dCB0aGV5IGNhbiBzdGlsbCBpc3N1ZSBhc3luYyBjYWxscy5cbiAgLy8gVGhlc2UgYXN5bmMgY2FsbHMgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSB3cmFwcGVyLiBTbyB3ZSBjYW4ndCBpc3N1ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gIC8vIGZvciBzZXR0ZXJzIHdoZW4gdGhleSBhcmUgcnVubmluZyBvdXRzaWRlIGFuZ3VsYXIuXG4gIC8vIE5vdGUgdGhhdCBnZXR0ZXJzIGFyZSBub3QgcGF0Y2hlZCBiZWNhdXNlIGdldHRlciBhbmQgc2V0dGVyIG11c3QgdXNlIHRoZSBzYW1lIHR5cGUuIFNvIGlmXG4gIC8vIHRoZSBnZXR0ZXIgcmV0dXJucyBhIHByb21pc2UsIHRoZW4gdGhlIHNldHRpbmcgbXVzdCBhbHdheSB0YWtlIGEgcHJvbWlzZS4gSXQgZG9lc24ndCBtYWtlXG4gIC8vIG11Y2ggc2Vuc2UgdG8gdXNlIGdldHRlcnMgYW5kIHNldHRlcnMgdGhpcyB3YXkuIEFuZCBpZiBnZXR0ZXIgcmV0dXJucyBhIHZhbHVlLCB0aGVuIHRoZXJlJ3NcbiAgLy8gbm8gbmVlZCB0byBwYXRjaCBpdCB0byBydW4gb3V0c2lkZSBhbmd1bGFyLlxuICBwYXRjaFNldHRlcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIElmIHlvdSB3aXNoIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRob3NlLCB5b3UnbGwgbmVlZCB0byBjcmVhdGUgYSBkZXJpdmVkXG4gKiBjbGFzcyBhbmQgb3ZlcnJpZGUgdGhlIG1ldGhvZHMuXG4gKiBIb3dldmVyLCBjYW4ndCBmaWd1cmUgb3V0IGEgd2F5IHRvIGNhbGwgdGhlIHN1cGVyKCkgaW4gdGhlIGRlcml2ZWQgY2xhc3MgY3RvciwgZXJyb3Igc2F5c1xuICogdGhlIHN1cGVyIGNhbGwgY2FuJ3QgYmUgaW4gdGVzdGVkIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgRVhDTFVERV9NRVRIT0RTID0gW1xuICAnY29uc3RydWN0b3InLFxuICAnbmdPbkNoYW5nZXMnLFxuICAnbmdPbkluaXQnLFxuICAnbmdEb0NoZWNrJyxcbiAgJ25nQWZ0ZXJDb250ZW50SW5pdCcsXG4gICduZ0FmdGVyQ29udGVudENoZWNrZWQnLFxuICAnbmdBZnRlclZpZXdJbml0JyxcbiAgJ25nQWZ0ZXJWaWV3Q2hlY2tlZCcsXG4gICduZ09uRGVzdHJveScsXG5dO1xuXG4vLyBQYXRjaCBhbGwgbWV0aG9kcyBvZiB0aGUgY2xhc3MuXG4vL1xuLy8gTm90ZSwgdGhpcyB3aWxsIG5vdCBwYXRjaCBmdW5jdGlvbnMgaW4gdGhlIGJhc2UgY2xhc3MsIGl0IG9ubHlcbi8vIHBhdGNoZXMgdGhlIGZ1bmN0aW9uIGRlZmluZWQgaW4gdGhlIGN1cnJlbnQgY2xhc3MgYmVjYXVzZSBpdCdzXG4vLyB1c2luZyBnZXRPd25Qcm9wZXJ0eU5hbWVzKCkuIFlvdSBzaG91bGQgYmUgdXNpbmcgY29tcG9zaXRpb24gZm9yXG4vLyBzZXJ2aWNlcyBhbnl3YXkuXG4vL1xuLy8gUmVmOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDQ0MDkyNDRcbi8vIFRoZSBhYm92ZSBhcHByb2FjaCBtaWdodCBiZSBhIGJpdCBvbGQuIE5vdyB0aGF0IHdlIGhhdmUgbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCksXG4vLyB3ZSBzaG91bGQgcHJvYmFibHkgdXNlIHRoYXQgYW5kIG5vdCB0b3VjaCBhbnkgYW5ndWxhciB6b25lIGludGVybmFscy4gQnV0IHRoZSBhcHByb2FjaFxuLy8gYWJvdmUgZG9lc24ndCByZXF1aXJlIGluamVjdGluZyBuZ1pvbmUuXG4vL1xuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vMm5nL3J1bi1vdXRzaWRlLWFuZ3VsYXIvYmxvYi9tYXN0ZXIvc3JjL3J1bi1vdXRzaWRlLWFuZ3VsYXIudHNcbmV4cG9ydCBmdW5jdGlvbiBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWUsXG4gIGV4Y2VwdExhc3RQcm9taXNlID0gdHJ1ZSxcbiAgZXhjbHVkZU1ldGhvZHMgPSBbXSxcbiAgcGF0Y2hTZXR0ZXJzID0gdHJ1ZSxcbn06IFJ1bk91dHNpZGVBbmd1bGFyQ29uZmlnKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnkpID0+IHtcbiAgICBmdW5jdGlvbiBydW4ob3JpZ2luYWwsIGFyZ3MpIHtcbiAgICAgIGlmICghdGhpc1tuZ1pvbmVOYW1lXSkge1xuICAgICAgICB0aHJvdyBuZXcgTHJCYWRMb2dpY0V4Y2VwdGlvbihcbiAgICAgICAgICBgUnVuT3V0c2lkZUFuZ3VsYXIgZGVjb3JhdG9yIHJlcXVpcmVzIHRoYXQgJHt0YXJnZXQubmFtZX0gaW5qZWN0IE5nWm9uZSBhcyAke25nWm9uZU5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy8gcnVuT3V0c2lkZUFuZ3VsYXIoKSBzeW5jaHJvbm91c2x5IHJ1bnMgdGhlIGNhbGxiYWNrIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzW25nWm9uZU5hbWVdLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpXG4gICAgICApO1xuXG4gICAgICBpZiAoZXhjZXB0TGFzdFByb21pc2UgJiYgcmVzdWx0Py50aGVuKSB7XG4gICAgICAgIC8vIEJyaW5nIGJhY2sgaW50byB6b25lIHdoaWNoIHdpbGwgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHByb3Blcmx5LlxuICAgICAgICAvLyBJZiB0aGlzIGRvZXNuJ3Qgd29yaywgdGhlbiB3ZSdsbCBoYXZlIHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBleHBsaWNpdGx5LlxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZXJlIHNob3VsZCBiZSBubyByZWFzb24gdG8gcnVuIGFueSBvZiB0aGUgb25lcyBpbiBFWENMVURFX01FVEhPRFMgb3V0c2lkZSBhbmd1bGFyLlxuICAgIC8vIFNvIHdlIGFsd2F5cyBleGNsdWRlIHRoZW0gZnJvbSBwYXRjaGluZy4gWW91IGNhbiBhbHdheXMgZXhwbGljaXQgaW1wbGVtZW50IHRoZXNlIG9uZXMgZGlmZmVyZW50bHkuXG4gICAgZXhjbHVkZU1ldGhvZHMgPSBbLi4uZXhjbHVkZU1ldGhvZHMsIC4uLkVYQ0xVREVfTUVUSE9EU107XG5cbiAgICBjb25zdCBtZXRob2RzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICBtZXRob2RzXG4gICAgICAuZmlsdGVyKChtZXRob2QpID0+ICFleGNsdWRlTWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpKVxuICAgICAgLmZvckVhY2goKG1ldGhvZCkgPT4ge1xuICAgICAgICAvLyBQYXRjaCBzZXR0ZXJzXG4gICAgICAgIC8vIE5vdGUgdGhhdCBzZXR0ZXJzIGRvIG5vdCByZXR1cm4gYW55IHRoaW5nLiBCdXQgdGhleSBjYW4gc3RpbGwgaXNzdWUgYXN5bmMgY2FsbHMuXG4gICAgICAgIC8vIFRoZXNlIGFzeW5jIGNhbGxzIGFyZSBub3QgdmlzaWJsZSB0byB0aGUgd3JhcHBlci4gU28gd2UgY2FuJ3QgaXNzdWUgY2hhbmdlIGRldGVjdGlvblxuICAgICAgICAvLyBmb3Igc2V0dGVycyB3aGVuIHRoZXkgYXJlIHJ1bm5pbmcgb3V0c2lkZSBhbmd1bGFyLlxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGF0Y2hTZXR0ZXJzICYmXG4gICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQucHJvdG90eXBlLCBtZXRob2QpLnNldFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICAgICAgICB0YXJnZXQucHJvdG90eXBlLFxuICAgICAgICAgICAgbWV0aG9kXG4gICAgICAgICAgKS5zZXQ7XG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSwgbWV0aG9kLCB7XG4gICAgICAgICAgICBzZXQoLi4uYXJncykge1xuICAgICAgICAgICAgICByZXR1cm4gcnVuLmFwcGx5KHRoaXMsIFtvcmlnaW5hbCwgYXJnc10pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0LnByb3RvdHlwZVttZXRob2RdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSB0YXJnZXQucHJvdG90eXBlW21ldGhvZF07XG5cbiAgICAgICAgICB0YXJnZXQucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIHJ1bi5hcHBseSh0aGlzLCBbb3JpZ2luYWwsIGFyZ3NdKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG59XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQTBCbkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsYUFBYTtJQUNiLGFBQWE7SUFDYixVQUFVO0lBQ1YsV0FBVztJQUNYLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixhQUFhO0NBQ2QsQ0FBQztBQUVGLGtDQUFrQztBQUNsQyxFQUFFO0FBQ0YsaUVBQWlFO0FBQ2pFLGlFQUFpRTtBQUNqRSxtRUFBbUU7QUFDbkUsbUJBQW1CO0FBQ25CLEVBQUU7QUFDRiw0Q0FBNEM7QUFDNUMsc0ZBQXNGO0FBQ3RGLHlGQUF5RjtBQUN6RiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHlGQUF5RjtBQUN6RixNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFDaEMsVUFBVSxFQUNWLGlCQUFpQixHQUFHLElBQUksRUFDeEIsY0FBYyxHQUFHLEVBQUUsRUFDbkIsWUFBWSxHQUFHLElBQUksR0FDSztJQUN4QixPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUU7UUFDckIsU0FBUyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUk7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLG1CQUFtQixDQUMzQiw2Q0FBNkMsTUFBTSxDQUFDLElBQUkscUJBQXFCLFVBQVUsRUFBRSxDQUMxRixDQUFDO2FBQ0g7WUFDRCw4RUFBOEU7WUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUNyRCxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FDM0IsQ0FBQztZQUVGLElBQUksaUJBQWlCLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUksQ0FBQSxFQUFFO2dCQUNyQyxxRUFBcUU7Z0JBQ3JFLGdGQUFnRjtnQkFDaEYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7UUFDSCxDQUFDO1FBRUQsdUZBQXVGO1FBQ3ZGLHFHQUFxRztRQUNyRyxjQUFjLEdBQUcsQ0FBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBRXpELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0QsT0FBTzthQUNKLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BELE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLGdCQUFnQjtZQUNoQixtRkFBbUY7WUFDbkYsdUZBQXVGO1lBQ3ZGLHFEQUFxRDtZQUNyRCxJQUNFLFlBQVk7Z0JBQ1osTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUM3RDtnQkFDQSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQzlDLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FDUCxDQUFDLEdBQUcsQ0FBQztnQkFFTixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO29CQUM5QyxHQUFHLENBQUMsR0FBRyxJQUFJO3dCQUNULE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDM0MsQ0FBQztpQkFDRixDQUFDLENBQUM7YUFDSjtZQUVELElBQUksT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQkFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSTtvQkFDMUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEtjQmFkTG9naWNFeGNlcHRpb24gfSBmcm9tICcuL2V4Y2VwdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk91dHNpZGVBbmd1bGFyQ29uZmlnIHtcbiAgbmdab25lTmFtZTogc3RyaW5nO1xuICAvLyBJZiB0cnVlLCBhIHNpbmdsZSBjaGFuZ2UgZGV0ZWN0aW9uIGlzIHRyaWdnZXJlZCBvbiByZXNvbHZlIG9mIHRoZSBQcm9taXNlIHJldHVybmVkXG4gIC8vIGZyb20gdGhlIGZ1bmN0aW9uLlxuICAvLyBlbHNlLCB0aGUgZW50aXJlIGZ1bmN0aW9uIGlzIHJ1biBvdXRzaWRlIG9mIHpvbmUuXG4gIC8vIE5vdGUgdGhhdCBpZiB0aGlzIGlzIGRpc2FibGVkLCB0aGVuIGNoYW5nZSBkZXRlY3Rpb24gaXMgbm90IHRyaWdnZXJlZCBldmVuIGlmIHlvdVxuICAvLyB1c2UgYXN5bmMgcGlwZXMgdG8gc3Vic2NyaWJlIHRvIG9ic2VydmFibGVzIG9uIHRoZSByZXN1bHRpbmcgcHJvbWlzZS4gVGhpcyBpcyBiZWNhdXNlXG4gIC8vIGFzeW5jIHBpcGVzIG9ubHkgX21hcmtzXyBhIGNvbXBvbmVudCBmb3IgY2hhbmdlIGRldGVjdGlvbiwgaXQgZG9lc24ndCBhY3R1YWxseSBfdHJpZ2dlcl9cbiAgLy8gdGhlIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gIGV4Y2VwdExhc3RQcm9taXNlPzogYm9vbGVhbjtcbiAgLy8gQW55IG1ldGhvZCBvciBwcm9wZXJ0eSB5b3Ugd2lzaCB0byBleGNsdWRlIGZyb20gcGF0Y2guIFRoZSBtZXRob2RzIGluIEVYQ0xVREVfTUVUSE9EUyBhcmVcbiAgLy8gbmV2ZXIgcGF0Y2hlZC5cbiAgZXhjbHVkZU1ldGhvZHM/OiBzdHJpbmdbXTtcbiAgLy8gSWYgdHJ1ZSwgcGF0Y2ggdGhlIHNldHRlcnMgYXMgd2VsbC4gU2V0dGluZ3MgYXJlIHNvbWVcbiAgLy8gTm90ZSB0aGF0IHNldHRlcnMgZG8gbm90IHJldHVybiBhbnkgdGhpbmcuIEJ1dCB0aGV5IGNhbiBzdGlsbCBpc3N1ZSBhc3luYyBjYWxscy5cbiAgLy8gVGhlc2UgYXN5bmMgY2FsbHMgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSB3cmFwcGVyLiBTbyB3ZSBjYW4ndCBpc3N1ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gIC8vIGZvciBzZXR0ZXJzIHdoZW4gdGhleSBhcmUgcnVubmluZyBvdXRzaWRlIGFuZ3VsYXIuXG4gIC8vIE5vdGUgdGhhdCBnZXR0ZXJzIGFyZSBub3QgcGF0Y2hlZCBiZWNhdXNlIGdldHRlciBhbmQgc2V0dGVyIG11c3QgdXNlIHRoZSBzYW1lIHR5cGUuIFNvIGlmXG4gIC8vIHRoZSBnZXR0ZXIgcmV0dXJucyBhIHByb21pc2UsIHRoZW4gdGhlIHNldHRpbmcgbXVzdCBhbHdheSB0YWtlIGEgcHJvbWlzZS4gSXQgZG9lc24ndCBtYWtlXG4gIC8vIG11Y2ggc2Vuc2UgdG8gdXNlIGdldHRlcnMgYW5kIHNldHRlcnMgdGhpcyB3YXkuIEFuZCBpZiBnZXR0ZXIgcmV0dXJucyBhIHZhbHVlLCB0aGVuIHRoZXJlJ3NcbiAgLy8gbm8gbmVlZCB0byBwYXRjaCBpdCB0byBydW4gb3V0c2lkZSBhbmd1bGFyLlxuICBwYXRjaFNldHRlcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIElmIHlvdSB3aXNoIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRob3NlLCB5b3UnbGwgbmVlZCB0byBjcmVhdGUgYSBkZXJpdmVkXG4gKiBjbGFzcyBhbmQgb3ZlcnJpZGUgdGhlIG1ldGhvZHMuXG4gKiBIb3dldmVyLCBjYW4ndCBmaWd1cmUgb3V0IGEgd2F5IHRvIGNhbGwgdGhlIHN1cGVyKCkgaW4gdGhlIGRlcml2ZWQgY2xhc3MgY3RvciwgZXJyb3Igc2F5c1xuICogdGhlIHN1cGVyIGNhbGwgY2FuJ3QgYmUgaW4gdGVzdGVkIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgRVhDTFVERV9NRVRIT0RTID0gW1xuICAnY29uc3RydWN0b3InLFxuICAnbmdPbkNoYW5nZXMnLFxuICAnbmdPbkluaXQnLFxuICAnbmdEb0NoZWNrJyxcbiAgJ25nQWZ0ZXJDb250ZW50SW5pdCcsXG4gICduZ0FmdGVyQ29udGVudENoZWNrZWQnLFxuICAnbmdBZnRlclZpZXdJbml0JyxcbiAgJ25nQWZ0ZXJWaWV3Q2hlY2tlZCcsXG4gICduZ09uRGVzdHJveScsXG5dO1xuXG4vLyBQYXRjaCBhbGwgbWV0aG9kcyBvZiB0aGUgY2xhc3MuXG4vL1xuLy8gTm90ZSwgdGhpcyB3aWxsIG5vdCBwYXRjaCBmdW5jdGlvbnMgaW4gdGhlIGJhc2UgY2xhc3MsIGl0IG9ubHlcbi8vIHBhdGNoZXMgdGhlIGZ1bmN0aW9uIGRlZmluZWQgaW4gdGhlIGN1cnJlbnQgY2xhc3MgYmVjYXVzZSBpdCdzXG4vLyB1c2luZyBnZXRPd25Qcm9wZXJ0eU5hbWVzKCkuIFlvdSBzaG91bGQgYmUgdXNpbmcgY29tcG9zaXRpb24gZm9yXG4vLyBzZXJ2aWNlcyBhbnl3YXkuXG4vL1xuLy8gUmVmOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDQ0MDkyNDRcbi8vIFRoZSBhYm92ZSBhcHByb2FjaCBtaWdodCBiZSBhIGJpdCBvbGQuIE5vdyB0aGF0IHdlIGhhdmUgbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCksXG4vLyB3ZSBzaG91bGQgcHJvYmFibHkgdXNlIHRoYXQgYW5kIG5vdCB0b3VjaCBhbnkgYW5ndWxhciB6b25lIGludGVybmFscy4gQnV0IHRoZSBhcHByb2FjaFxuLy8gYWJvdmUgZG9lc24ndCByZXF1aXJlIGluamVjdGluZyBuZ1pvbmUuXG4vL1xuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vMm5nL3J1bi1vdXRzaWRlLWFuZ3VsYXIvYmxvYi9tYXN0ZXIvc3JjL3J1bi1vdXRzaWRlLWFuZ3VsYXIudHNcbmV4cG9ydCBmdW5jdGlvbiBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWUsXG4gIGV4Y2VwdExhc3RQcm9taXNlID0gdHJ1ZSxcbiAgZXhjbHVkZU1ldGhvZHMgPSBbXSxcbiAgcGF0Y2hTZXR0ZXJzID0gdHJ1ZSxcbn06IFJ1bk91dHNpZGVBbmd1bGFyQ29uZmlnKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnkpID0+IHtcbiAgICBmdW5jdGlvbiBydW4ob3JpZ2luYWwsIGFyZ3MpIHtcbiAgICAgIGlmICghdGhpc1tuZ1pvbmVOYW1lXSkge1xuICAgICAgICB0aHJvdyBuZXcgS2NCYWRMb2dpY0V4Y2VwdGlvbihcbiAgICAgICAgICBgUnVuT3V0c2lkZUFuZ3VsYXIgZGVjb3JhdG9yIHJlcXVpcmVzIHRoYXQgJHt0YXJnZXQubmFtZX0gaW5qZWN0IE5nWm9uZSBhcyAke25nWm9uZU5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy8gcnVuT3V0c2lkZUFuZ3VsYXIoKSBzeW5jaHJvbm91c2x5IHJ1bnMgdGhlIGNhbGxiYWNrIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzW25nWm9uZU5hbWVdLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpXG4gICAgICApO1xuXG4gICAgICBpZiAoZXhjZXB0TGFzdFByb21pc2UgJiYgcmVzdWx0Py50aGVuKSB7XG4gICAgICAgIC8vIEJyaW5nIGJhY2sgaW50byB6b25lIHdoaWNoIHdpbGwgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHByb3Blcmx5LlxuICAgICAgICAvLyBJZiB0aGlzIGRvZXNuJ3Qgd29yaywgdGhlbiB3ZSdsbCBoYXZlIHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBleHBsaWNpdGx5LlxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZXJlIHNob3VsZCBiZSBubyByZWFzb24gdG8gcnVuIGFueSBvZiB0aGUgb25lcyBpbiBFWENMVURFX01FVEhPRFMgb3V0c2lkZSBhbmd1bGFyLlxuICAgIC8vIFNvIHdlIGFsd2F5cyBleGNsdWRlIHRoZW0gZnJvbSBwYXRjaGluZy4gWW91IGNhbiBhbHdheXMgZXhwbGljaXQgaW1wbGVtZW50IHRoZXNlIG9uZXMgZGlmZmVyZW50bHkuXG4gICAgZXhjbHVkZU1ldGhvZHMgPSBbLi4uZXhjbHVkZU1ldGhvZHMsIC4uLkVYQ0xVREVfTUVUSE9EU107XG5cbiAgICBjb25zdCBtZXRob2RzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICBtZXRob2RzXG4gICAgICAuZmlsdGVyKChtZXRob2QpID0+ICFleGNsdWRlTWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpKVxuICAgICAgLmZvckVhY2goKG1ldGhvZCkgPT4ge1xuICAgICAgICAvLyBQYXRjaCBzZXR0ZXJzXG4gICAgICAgIC8vIE5vdGUgdGhhdCBzZXR0ZXJzIGRvIG5vdCByZXR1cm4gYW55IHRoaW5nLiBCdXQgdGhleSBjYW4gc3RpbGwgaXNzdWUgYXN5bmMgY2FsbHMuXG4gICAgICAgIC8vIFRoZXNlIGFzeW5jIGNhbGxzIGFyZSBub3QgdmlzaWJsZSB0byB0aGUgd3JhcHBlci4gU28gd2UgY2FuJ3QgaXNzdWUgY2hhbmdlIGRldGVjdGlvblxuICAgICAgICAvLyBmb3Igc2V0dGVycyB3aGVuIHRoZXkgYXJlIHJ1bm5pbmcgb3V0c2lkZSBhbmd1bGFyLlxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGF0Y2hTZXR0ZXJzICYmXG4gICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQucHJvdG90eXBlLCBtZXRob2QpLnNldFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICAgICAgICB0YXJnZXQucHJvdG90eXBlLFxuICAgICAgICAgICAgbWV0aG9kXG4gICAgICAgICAgKS5zZXQ7XG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSwgbWV0aG9kLCB7XG4gICAgICAgICAgICBzZXQoLi4uYXJncykge1xuICAgICAgICAgICAgICByZXR1cm4gcnVuLmFwcGx5KHRoaXMsIFtvcmlnaW5hbCwgYXJnc10pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0LnByb3RvdHlwZVttZXRob2RdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSB0YXJnZXQucHJvdG90eXBlW21ldGhvZF07XG5cbiAgICAgICAgICB0YXJnZXQucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIHJ1bi5hcHBseSh0aGlzLCBbb3JpZ2luYWwsIGFyZ3NdKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { LrBadArgumentException } from './exceptions';
1
+ import { KcBadArgumentException } from './exceptions';
2
2
  const COGNITO_LOCALSTORAGE_PREFIX = 'CognitoIdentityServiceProvider';
3
3
  /**
4
4
  * Remove all keys in localstorage with matching prefix.
@@ -8,7 +8,7 @@ const COGNITO_LOCALSTORAGE_PREFIX = 'CognitoIdentityServiceProvider';
8
8
  */
9
9
  export function clearLocalStorage(prefix) {
10
10
  if (!prefix) {
11
- throw new LrBadArgumentException('You must specify a non empty prefix.');
11
+ throw new KcBadArgumentException('You must specify a non empty prefix.');
12
12
  }
13
13
  // Remove all persisted session variables
14
14
  Object.keys(localStorage).forEach((key) => {
@@ -25,4 +25,4 @@ export function clearLocalStorage(prefix) {
25
25
  export function clearCognitoLocalStorage() {
26
26
  clearLocalStorage(COGNITO_LOCALSTORAGE_PREFIX);
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL3N0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRELE1BQU0sMkJBQTJCLEdBQUcsZ0NBQWdDLENBQUM7QUFFckU7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsTUFBTSxJQUFJLHNCQUFzQixDQUFDLHNDQUFzQyxDQUFDLENBQUM7S0FDMUU7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3RDLGlCQUFpQixDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExyQmFkQXJndW1lbnRFeGNlcHRpb24gfSBmcm9tICcuL2V4Y2VwdGlvbnMnO1xuXG5jb25zdCBDT0dOSVRPX0xPQ0FMU1RPUkFHRV9QUkVGSVggPSAnQ29nbml0b0lkZW50aXR5U2VydmljZVByb3ZpZGVyJztcblxuLyoqXG4gKiBSZW1vdmUgYWxsIGtleXMgaW4gbG9jYWxzdG9yYWdlIHdpdGggbWF0Y2hpbmcgcHJlZml4LlxuICogQSBwcmVmaXggbXVzdCBiZSBzcGVjaWZpZWQuIElmIHlvdSB3YW50IHRvIHJlbW92ZSBldmVyeXRoaW5nLCB0aGVuIGp1c3QgdXNlIGxvY2FsU3RvcmFnZS5jbGVhcigpLlxuICpcbiAqIEBwYXJhbSBwcmVmaXggS2V5cyB3aXRoIHRoaXMgcHJlZml4IHdpbGwgYmUgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyTG9jYWxTdG9yYWdlKHByZWZpeDogc3RyaW5nKSB7XG4gIGlmICghcHJlZml4KSB7XG4gICAgdGhyb3cgbmV3IExyQmFkQXJndW1lbnRFeGNlcHRpb24oJ1lvdSBtdXN0IHNwZWNpZnkgYSBub24gZW1wdHkgcHJlZml4LicpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGFsbCBwZXJzaXN0ZWQgc2Vzc2lvbiB2YXJpYWJsZXNcbiAgT2JqZWN0LmtleXMobG9jYWxTdG9yYWdlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIENsZWFyIGFsbCBpdGVtcyByZWxhdGVkIHRvIGNvZ25pdG8gaW4gbG9jYWxzdG9yYWdlLlxuICogVGhlIHJlbWVtYmVyIGRldmljZSBmdW5jdGlvbiBzb21ldGltZXMgaW50ZXJmZXJlcyB3aXRoIGNyZWF0aW5nIG5ldyB1c2Vyc1xuICogb24gVFAgYmFzZWQgcGFzc3dvcmQgcmVzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckNvZ25pdG9Mb2NhbFN0b3JhZ2UoKSB7XG4gIGNsZWFyTG9jYWxTdG9yYWdlKENPR05JVE9fTE9DQUxTVE9SQUdFX1BSRUZJWCk7XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL3N0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRELE1BQU0sMkJBQTJCLEdBQUcsZ0NBQWdDLENBQUM7QUFFckU7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsTUFBTSxJQUFJLHNCQUFzQixDQUFDLHNDQUFzQyxDQUFDLENBQUM7S0FDMUU7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3RDLGlCQUFpQixDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtjQmFkQXJndW1lbnRFeGNlcHRpb24gfSBmcm9tICcuL2V4Y2VwdGlvbnMnO1xuXG5jb25zdCBDT0dOSVRPX0xPQ0FMU1RPUkFHRV9QUkVGSVggPSAnQ29nbml0b0lkZW50aXR5U2VydmljZVByb3ZpZGVyJztcblxuLyoqXG4gKiBSZW1vdmUgYWxsIGtleXMgaW4gbG9jYWxzdG9yYWdlIHdpdGggbWF0Y2hpbmcgcHJlZml4LlxuICogQSBwcmVmaXggbXVzdCBiZSBzcGVjaWZpZWQuIElmIHlvdSB3YW50IHRvIHJlbW92ZSBldmVyeXRoaW5nLCB0aGVuIGp1c3QgdXNlIGxvY2FsU3RvcmFnZS5jbGVhcigpLlxuICpcbiAqIEBwYXJhbSBwcmVmaXggS2V5cyB3aXRoIHRoaXMgcHJlZml4IHdpbGwgYmUgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyTG9jYWxTdG9yYWdlKHByZWZpeDogc3RyaW5nKSB7XG4gIGlmICghcHJlZml4KSB7XG4gICAgdGhyb3cgbmV3IEtjQmFkQXJndW1lbnRFeGNlcHRpb24oJ1lvdSBtdXN0IHNwZWNpZnkgYSBub24gZW1wdHkgcHJlZml4LicpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGFsbCBwZXJzaXN0ZWQgc2Vzc2lvbiB2YXJpYWJsZXNcbiAgT2JqZWN0LmtleXMobG9jYWxTdG9yYWdlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIENsZWFyIGFsbCBpdGVtcyByZWxhdGVkIHRvIGNvZ25pdG8gaW4gbG9jYWxzdG9yYWdlLlxuICogVGhlIHJlbWVtYmVyIGRldmljZSBmdW5jdGlvbiBzb21ldGltZXMgaW50ZXJmZXJlcyB3aXRoIGNyZWF0aW5nIG5ldyB1c2Vyc1xuICogb24gVFAgYmFzZWQgcGFzc3dvcmQgcmVzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckNvZ25pdG9Mb2NhbFN0b3JhZ2UoKSB7XG4gIGNsZWFyTG9jYWxTdG9yYWdlKENPR05JVE9fTE9DQUxTVE9SQUdFX1BSRUZJWCk7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvX2NvbW1vbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFzS2V5R3JhcGggfSBmcm9tICcuLi9rZXkva2V5LnR5cGVzJztcblxuZXhwb3J0IHR5cGUgU29tZVBhcnRpYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxQYXJ0aWFsPFQ+LCBLPiAmXG4gIE9taXQ8VCwgSz47XG5leHBvcnQgdHlwZSBTb21lUmVxdWlyZWQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxSZXF1aXJlZDxUPiwgSz4gJlxuICBPbWl0PFQsIEs+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVkZ2U8VD4ge1xuICBub2RlOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0VkZ2VzPFQ+IHtcbiAgZWRnZXM6IEVkZ2U8VD5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYXNLZXlHcmFwaEVkZ2VzPFQ+IGV4dGVuZHMgSGFzS2V5R3JhcGgge1xuICBsaXN0OiBIYXNFZGdlczxUPjtcbn1cblxuZXhwb3J0IHR5cGUgTWF5QXN5bmM8VD4gPSBUIHwgUHJvbWlzZTxUPjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvX2NvbW1vbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU29tZVBhcnRpYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxQYXJ0aWFsPFQ+LCBLPiAmXG4gIE9taXQ8VCwgSz47XG5leHBvcnQgdHlwZSBTb21lUmVxdWlyZWQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxSZXF1aXJlZDxUPiwgSz4gJlxuICBPbWl0PFQsIEs+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVkZ2U8VD4ge1xuICBub2RlOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0VkZ2VzPFQ+IHtcbiAgZWRnZXM6IEVkZ2U8VD5bXTtcbn1cblxuZXhwb3J0IHR5cGUgTWF5QXN5bmM8VD4gPSBUIHwgUHJvbWlzZTxUPjtcbiJdfQ==
@@ -63,15 +63,4 @@ export function getAccessJwtToken(auth) {
63
63
  }
64
64
  });
65
65
  }
66
- export function httpOptions(auth, config) {
67
- var _a;
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const token = yield getAccessJwtToken(auth);
70
- const debugUsername = (_a = config.debug) === null || _a === void 0 ? void 0 : _a.username;
71
- return {
72
- withCredentials: true,
73
- headers: Object.assign(Object.assign({}, (token && { authorization: `Bearer ${token}` })), (debugUsername && { 'x-kc-dev-user': debugUsername })),
74
- };
75
- });
76
- }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvX2NvbW1vbi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7O0FBS3ZELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBYTtJQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxDQUFDLEVBQUU7UUFDdkMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLEdBQUcsQ0FBQztLQUNaO1NBQU07UUFDTCxPQUFPLE1BQU0sQ0FBQztLQUNmO0FBQ0gsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNmLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ2pELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEdBQXdCO0FBQ3hCLG9EQUFvRDtBQUNwRCwrRUFBK0U7QUFDL0UsUUFJdUI7SUFFdkIsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ3JFLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDZixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztLQUNwRTtTQUFNO1FBQ0wsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzNCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEdBQXdCO0FBQ3hCLG9EQUFvRDtBQUNwRCwrRUFBK0U7QUFDL0UsdUVBQXVFO0FBQ3ZFLGdFQUFnRTtBQUNoRSxRQUl1QjtJQUV2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FDdkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUM3QyxDQUNGLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFVLEVBQUUsWUFBaUI7SUFDNUQsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFnQixpQkFBaUIsQ0FBQyxJQUFlOztRQUNyRCxJQUFJO1lBQ0YsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLGlEQUFpRDtZQUNqRCxJQUFJLEtBQUssSUFBSSxpQkFBaUIsRUFBRTtnQkFDOUIsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE1BQU0sS0FBSyxDQUFDO1NBQ2I7SUFDSCxDQUFDO0NBQUE7QUFFRCxNQUFNLFVBQWdCLFdBQVcsQ0FBQyxJQUFlLEVBQUUsTUFBZ0I7OztRQUNqRSxNQUFNLEtBQUssR0FBRyxNQUFNLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVDLE1BQU0sYUFBYSxTQUFHLE1BQU0sQ0FBQyxLQUFLLDBDQUFFLFFBQVEsQ0FBQztRQUU3QyxPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUk7WUFDckIsT0FBTyxrQ0FDRixDQUFDLEtBQUssSUFBSSxFQUFFLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUMsR0FDL0MsQ0FBQyxhQUFhLElBQUksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FDekQ7U0FDRixDQUFDOztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5pbXBvcnQgeyBBdXRoQ2xhc3MgfSBmcm9tICdAYXdzLWFtcGxpZnkvYXV0aC9saWItZXNtL0F1dGgnO1xuaW1wb3J0IHsgS2NDb25maWcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5cbi8vIHByb21vdGUgZXZlcnl0aGluZyB0byBhIHByb21pc2UuXG5leHBvcnQgZnVuY3Rpb24gcHJvbWlzZUFsbE1heUFzeW5jKHZhbHVlczogYW55W10pOiBQcm9taXNlPGFueT4gfCBhbnkge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGFycmF5Jyk7XG4gIH1cbiAgaWYgKHZhbHVlcy5zb21lKCh2YWx1ZSkgPT4gdmFsdWU/LnRoZW4pKSB7XG4gICAgY29uc3QgcmV0ID0gUHJvbWlzZS5hbGwodmFsdWVzKTtcbiAgICByZXR1cm4gcmV0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtYXAob2JqLCB2YWx1ZXMpIHtcbiAgY29uc3QgcmV0ID0ge307XG4gIGZvciAoY29uc3QgW2ksIGtleV0gb2YgT2JqZWN0LmtleXMob2JqKS5lbnRyaWVzKCkpIHtcbiAgICByZXRba2V5XSA9IHZhbHVlc1tpXTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVzTWF5QXN5bmMoXG4gIG9iajogUmVjb3JkPHN0cmluZywgYW55PixcbiAgLy8gY2FsbGJhY2sgY2FuIGVpdGhlciByZXR1cm4gYSBQcm9taXNlLCBvciBhIHZhbHVlLlxuICAvLyBUaGUgUHJvbWlzZTxhbnk+IHR5cGUgaXMgcmVkdW5kYW50IGJ1dCBpdCBzaG93cyB0aGF0IGl0IGNhbiByZXR1cm4gYSBwcm9taXNlXG4gIGNhbGxiYWNrOiAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKSA9PiBhbnkgfCBQcm9taXNlPGFueT5cbik6IFByb21pc2U8YW55PiB8IGFueSB7XG4gIGNvbnN0IHZhbHVlcyA9IHByb21pc2VBbGxNYXlBc3luYyhcbiAgICBPYmplY3QuZW50cmllcyhvYmopLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBjYWxsYmFjayh2YWx1ZSwga2V5LCBvYmopKVxuICApO1xuXG4gIGlmICh2YWx1ZXMudGhlbikge1xuICAgIHJldHVybiB2YWx1ZXMudGhlbigocmVzb2x2ZWRWYWx1ZXMpID0+IHJlbWFwKG9iaiwgcmVzb2x2ZWRWYWx1ZXMpKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVtYXAob2JqLCB2YWx1ZXMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZXNBc3luYyhcbiAgb2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAvLyBjYWxsYmFjayBjYW4gZWl0aGVyIHJldHVybiBhIFByb21pc2UsIG9yIGEgdmFsdWUuXG4gIC8vIFRoZSBQcm9taXNlPGFueT4gdHlwZSBpcyByZWR1bmRhbnQgYnV0IGl0IHNob3dzIHRoYXQgaXQgY2FuIHJldHVybiBhIHByb21pc2VcbiAgLy8gQnkgZGVmYXVsdCwgaXQgcmV0dXJucyB0aGUgdmFsdWUgd2l0aG91dCBhbnkgcHJvY2Vzcywgc28geW91IGNhbiB1c2VcbiAgLy8gdGhpcyB0byBzaW1wbHkgd2FpdCBmb3IgYWxsIHByb21pc2VzIGluIGFuIG9iamVjdCB0byByZXNvbHZlLlxuICBjYWxsYmFjaz86IChcbiAgICB2YWx1ZTogYW55LFxuICAgIGtleTogc3RyaW5nLFxuICAgIG9iajogUmVjb3JkPHN0cmluZywgYW55PlxuICApID0+IGFueSB8IFByb21pc2U8YW55PlxuKTogUHJvbWlzZTxhbnk+IHtcbiAgY29uc3QgdmFsdWVzID0gUHJvbWlzZS5hbGwoXG4gICAgT2JqZWN0LmVudHJpZXMob2JqKS5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgIGNhbGxiYWNrID8gY2FsbGJhY2sodmFsdWUsIGtleSwgb2JqKSA6IHZhbHVlXG4gICAgKVxuICApO1xuXG4gIHJldHVybiB2YWx1ZXMudGhlbigocmVzb2x2ZWRWYWx1ZXMpID0+IHJlbWFwKG9iaiwgcmVzb2x2ZWRWYWx1ZXMpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkZWZhdWx0VmFsdWUgd2hlbiB2YWx1ZSBpcyB1bmRlZmluZWRcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2tcbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVGhlIHZhbHVlIHRvIHJldHVybiBpZiB2YWx1ZSBpcyB1bmRlZmluZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmRlZmluZWREZWZhdWx0KHZhbHVlOiBhbnksIGRlZmF1bHRWYWx1ZTogYW55KSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBY2Nlc3NKd3RUb2tlbihhdXRoOiBBdXRoQ2xhc3MpOiBQcm9taXNlPHN0cmluZz4ge1xuICB0cnkge1xuICAgIHJldHVybiAoYXdhaXQgYXV0aC5jdXJyZW50U2Vzc2lvbigpKS5nZXRBY2Nlc3NUb2tlbigpLmdldEp3dFRva2VuKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gVGhlIGVycm9yIHRocm93biBieSBDb2duaXRvIGlzIG9mIHR5cGUgc3RyaW5nLlxuICAgIGlmIChlcnJvciA9PSAnTm8gY3VycmVudCB1c2VyJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaHR0cE9wdGlvbnMoYXV0aDogQXV0aENsYXNzLCBjb25maWc6IEtjQ29uZmlnKSB7XG4gIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QWNjZXNzSnd0VG9rZW4oYXV0aCk7XG5cbiAgY29uc3QgZGVidWdVc2VybmFtZSA9IGNvbmZpZy5kZWJ1Zz8udXNlcm5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgaGVhZGVyczoge1xuICAgICAgLi4uKHRva2VuICYmIHsgYXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSksXG4gICAgICAuLi4oZGVidWdVc2VybmFtZSAmJiB7ICd4LWtjLWRldi11c2VyJzogZGVidWdVc2VybmFtZSB9KSxcbiAgICB9LFxuICB9O1xufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvX2NvbW1vbi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7O0FBSXZELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBYTtJQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxDQUFDLEVBQUU7UUFDdkMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLEdBQUcsQ0FBQztLQUNaO1NBQU07UUFDTCxPQUFPLE1BQU0sQ0FBQztLQUNmO0FBQ0gsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNmLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ2pELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEdBQXdCO0FBQ3hCLG9EQUFvRDtBQUNwRCwrRUFBK0U7QUFDL0UsUUFJdUI7SUFFdkIsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ3JFLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDZixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztLQUNwRTtTQUFNO1FBQ0wsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzNCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEdBQXdCO0FBQ3hCLG9EQUFvRDtBQUNwRCwrRUFBK0U7QUFDL0UsdUVBQXVFO0FBQ3ZFLGdFQUFnRTtBQUNoRSxRQUl1QjtJQUV2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FDdkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUM3QyxDQUNGLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFVLEVBQUUsWUFBaUI7SUFDNUQsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFnQixpQkFBaUIsQ0FBQyxJQUFlOztRQUNyRCxJQUFJO1lBQ0YsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLGlEQUFpRDtZQUNqRCxJQUFJLEtBQUssSUFBSSxpQkFBaUIsRUFBRTtnQkFDOUIsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE1BQU0sS0FBSyxDQUFDO1NBQ2I7SUFDSCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5cbmltcG9ydCB7IEF1dGhDbGFzcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoL2xpYi1lc20vQXV0aCc7XG5cbi8vIHByb21vdGUgZXZlcnl0aGluZyB0byBhIHByb21pc2UuXG5leHBvcnQgZnVuY3Rpb24gcHJvbWlzZUFsbE1heUFzeW5jKHZhbHVlczogYW55W10pOiBQcm9taXNlPGFueT4gfCBhbnkge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGFycmF5Jyk7XG4gIH1cbiAgaWYgKHZhbHVlcy5zb21lKCh2YWx1ZSkgPT4gdmFsdWU/LnRoZW4pKSB7XG4gICAgY29uc3QgcmV0ID0gUHJvbWlzZS5hbGwodmFsdWVzKTtcbiAgICByZXR1cm4gcmV0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtYXAob2JqLCB2YWx1ZXMpIHtcbiAgY29uc3QgcmV0ID0ge307XG4gIGZvciAoY29uc3QgW2ksIGtleV0gb2YgT2JqZWN0LmtleXMob2JqKS5lbnRyaWVzKCkpIHtcbiAgICByZXRba2V5XSA9IHZhbHVlc1tpXTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVzTWF5QXN5bmMoXG4gIG9iajogUmVjb3JkPHN0cmluZywgYW55PixcbiAgLy8gY2FsbGJhY2sgY2FuIGVpdGhlciByZXR1cm4gYSBQcm9taXNlLCBvciBhIHZhbHVlLlxuICAvLyBUaGUgUHJvbWlzZTxhbnk+IHR5cGUgaXMgcmVkdW5kYW50IGJ1dCBpdCBzaG93cyB0aGF0IGl0IGNhbiByZXR1cm4gYSBwcm9taXNlXG4gIGNhbGxiYWNrOiAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKSA9PiBhbnkgfCBQcm9taXNlPGFueT5cbik6IFByb21pc2U8YW55PiB8IGFueSB7XG4gIGNvbnN0IHZhbHVlcyA9IHByb21pc2VBbGxNYXlBc3luYyhcbiAgICBPYmplY3QuZW50cmllcyhvYmopLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBjYWxsYmFjayh2YWx1ZSwga2V5LCBvYmopKVxuICApO1xuXG4gIGlmICh2YWx1ZXMudGhlbikge1xuICAgIHJldHVybiB2YWx1ZXMudGhlbigocmVzb2x2ZWRWYWx1ZXMpID0+IHJlbWFwKG9iaiwgcmVzb2x2ZWRWYWx1ZXMpKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVtYXAob2JqLCB2YWx1ZXMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZXNBc3luYyhcbiAgb2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAvLyBjYWxsYmFjayBjYW4gZWl0aGVyIHJldHVybiBhIFByb21pc2UsIG9yIGEgdmFsdWUuXG4gIC8vIFRoZSBQcm9taXNlPGFueT4gdHlwZSBpcyByZWR1bmRhbnQgYnV0IGl0IHNob3dzIHRoYXQgaXQgY2FuIHJldHVybiBhIHByb21pc2VcbiAgLy8gQnkgZGVmYXVsdCwgaXQgcmV0dXJucyB0aGUgdmFsdWUgd2l0aG91dCBhbnkgcHJvY2Vzcywgc28geW91IGNhbiB1c2VcbiAgLy8gdGhpcyB0byBzaW1wbHkgd2FpdCBmb3IgYWxsIHByb21pc2VzIGluIGFuIG9iamVjdCB0byByZXNvbHZlLlxuICBjYWxsYmFjaz86IChcbiAgICB2YWx1ZTogYW55LFxuICAgIGtleTogc3RyaW5nLFxuICAgIG9iajogUmVjb3JkPHN0cmluZywgYW55PlxuICApID0+IGFueSB8IFByb21pc2U8YW55PlxuKTogUHJvbWlzZTxhbnk+IHtcbiAgY29uc3QgdmFsdWVzID0gUHJvbWlzZS5hbGwoXG4gICAgT2JqZWN0LmVudHJpZXMob2JqKS5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgIGNhbGxiYWNrID8gY2FsbGJhY2sodmFsdWUsIGtleSwgb2JqKSA6IHZhbHVlXG4gICAgKVxuICApO1xuXG4gIHJldHVybiB2YWx1ZXMudGhlbigocmVzb2x2ZWRWYWx1ZXMpID0+IHJlbWFwKG9iaiwgcmVzb2x2ZWRWYWx1ZXMpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkZWZhdWx0VmFsdWUgd2hlbiB2YWx1ZSBpcyB1bmRlZmluZWRcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2tcbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVGhlIHZhbHVlIHRvIHJldHVybiBpZiB2YWx1ZSBpcyB1bmRlZmluZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmRlZmluZWREZWZhdWx0KHZhbHVlOiBhbnksIGRlZmF1bHRWYWx1ZTogYW55KSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBY2Nlc3NKd3RUb2tlbihhdXRoOiBBdXRoQ2xhc3MpOiBQcm9taXNlPHN0cmluZz4ge1xuICB0cnkge1xuICAgIHJldHVybiAoYXdhaXQgYXV0aC5jdXJyZW50U2Vzc2lvbigpKS5nZXRBY2Nlc3NUb2tlbigpLmdldEp3dFRva2VuKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gVGhlIGVycm9yIHRocm93biBieSBDb2duaXRvIGlzIG9mIHR5cGUgc3RyaW5nLlxuICAgIGlmIChlcnJvciA9PSAnTm8gY3VycmVudCB1c2VyJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuIl19