@provoly/dashboard 0.21.9 → 0.21.11

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.
@@ -1,5 +1,6 @@
1
1
  import { SearchActions } from '../../core/store/search/search.actions';
2
2
  import { SearchSelectors } from '../../core/store/search/search.selectors';
3
+ import { ClassSelectors } from '../../core/store/class/class.selectors';
3
4
  export class ProxyUtils {
4
5
  static { this.requested = {}; }
5
6
  static init(store) {
@@ -7,6 +8,9 @@ export class ProxyUtils {
7
8
  store.select(SearchSelectors.searchLoading).subscribe((searchLoading) => {
8
9
  this.currentlyLoading = searchLoading;
9
10
  });
11
+ store.select(ClassSelectors.classes).subscribe((classes) => {
12
+ this.classes = classes;
13
+ });
10
14
  }
11
15
  static ResultSets(rss) {
12
16
  return Object.entries(rss)
@@ -35,16 +39,23 @@ export class ProxyUtils {
35
39
  attributes: new Proxy(JSON.parse(JSON.stringify(item.attributes)), {
36
40
  get: (original, prop, proxy) => {
37
41
  if (prop === 'toJSON') {
38
- return () => JSON.stringify(original);
42
+ return () => original;
39
43
  }
40
44
  else {
41
45
  if (original[prop]) {
42
46
  return original[prop];
43
47
  }
44
48
  else {
45
- if (!this.currentlyLoading.includes(rsId) && this.requested[prop] !== false) {
46
- this.requested[prop] = false;
47
- this.store.dispatch(SearchActions.getDatasourceItems({ id: rsId, excludeGeo: false, from: 'ProxyUtils.Item()' }));
49
+ const clazz = this.classes.find((cl) => cl.id === item.oClass);
50
+ const attr = clazz?.attributes.find((attr) => attr.technicalName === prop);
51
+ if (!!attr) {
52
+ if (!this.currentlyLoading.includes(rsId) && this.requested[prop] !== false) {
53
+ this.requested[prop] = false;
54
+ this.store.dispatch(SearchActions.getDatasourceItems({ id: rsId, excludeGeo: false, from: 'ProxyUtils.Item()' }));
55
+ }
56
+ }
57
+ else {
58
+ console.warn(`Trying to access property ${prop} from class ${clazz?.name} but does not exist in model`);
48
59
  }
49
60
  }
50
61
  }
@@ -58,4 +69,4 @@ export class ProxyUtils {
58
69
  };
59
70
  }
60
71
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL3Byb3h5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFM0UsTUFBTSxPQUFPLFVBQVU7YUFHZCxjQUFTLEdBQUcsRUFBaUMsQ0FBQztJQUVyRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQWU7UUFDL0IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUN2QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3pFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFhLEVBQUUsSUFBWTtRQUMxQyxPQUFPO1lBQ0wsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRTtZQUM3QixtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CO1lBQzNDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTTtZQUNqQixLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUs7WUFDZixLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztpQkFDL0IsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNwRSxDQUFDLENBQUM7aUJBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBVSxFQUFFLElBQVk7UUFDMUMsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVSxFQUFFLElBQUksS0FBSyxDQUVsQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQzdCLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTt3QkFDckIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUN2Qzt5QkFBTTt3QkFDTCxJQUFJLFFBQVEsQ0FBQyxJQUFjLENBQUMsRUFBRTs0QkFDNUIsT0FBTyxRQUFRLENBQUMsSUFBYyxDQUFDLENBQUM7eUJBQ2pDOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBYyxDQUFDLEtBQUssS0FBSyxFQUFFO2dDQUNyRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQWMsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQ0FDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUM3RixDQUFDOzZCQUNIO3lCQUNGO3FCQUNGO29CQUNELE9BQU87d0JBQ0wsSUFBSSxFQUFFLE9BQU87d0JBQ2IsS0FBSyxFQUFFLEVBQUU7d0JBQ1QsT0FBTyxFQUFFLEtBQUs7cUJBQ2YsQ0FBQztnQkFDSixDQUFDO2FBQ0YsQ0FBQztTQUNLLENBQUM7SUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVNdWx0aXBsZVZhbHVlLCBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSwgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlbGVjdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBQcm94eVV0aWxzIHtcbiAgc3RhdGljIHN0b3JlOiBTdG9yZTtcbiAgc3RhdGljIGN1cnJlbnRseUxvYWRpbmc6IHN0cmluZ1tdO1xuICBzdGF0aWMgcmVxdWVzdGVkID0ge30gYXMgeyBbcnNJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xuXG4gIHN0YXRpYyBpbml0KHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMuc3RvcmUgPSBzdG9yZTtcbiAgICBzdG9yZS5zZWxlY3QoU2VhcmNoU2VsZWN0b3JzLnNlYXJjaExvYWRpbmcpLnN1YnNjcmliZSgoc2VhcmNoTG9hZGluZykgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50bHlMb2FkaW5nID0gc2VhcmNoTG9hZGluZztcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBSZXN1bHRTZXRzKHJzczogUmVzdWx0U2V0cykge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhyc3MpXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7IGtleSwgcHJveHk6IFByb3h5VXRpbHMuUmVzdWx0U2V0KHZhbHVlLCBrZXkpIH0pKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgW2Mua2V5XTogYy5wcm94eSB9KSwge30pO1xuICB9XG5cbiAgc3RhdGljIFJlc3VsdFNldChyczogUmVzdWx0U2V0LCByc0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVsYXRpb25zOiBycy5yZWxhdGlvbnMgPz8gW10sXG4gICAgICBhdXRvUmVmcmVzaEludGVydmFsOiBycy5hdXRvUmVmcmVzaEludGVydmFsLFxuICAgICAgbWVyZ2VkOiBycy5tZXJnZWQsXG4gICAgICBjb3VudDogcnMuY291bnQsXG4gICAgICBpdGVtczogT2JqZWN0LmtleXMocnMuaXRlbXMgPz8ge30pXG4gICAgICAgIC5tYXAoKGNsYXNzSWQpID0+ICh7XG4gICAgICAgICAgY2xhc3NJZDogY2xhc3NJZCxcbiAgICAgICAgICBpdGVtczogcnMuaXRlbXNbY2xhc3NJZF0ubWFwKChpdGVtKSA9PiBQcm94eVV0aWxzLkl0ZW0oaXRlbSwgcnNJZCkpXG4gICAgICAgIH0pKVxuICAgICAgICAucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCBbYy5jbGFzc0lkXTogYy5pdGVtcyB9KSwge30pXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIEl0ZW0oaXRlbTogSXRlbSwgcnNJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgb0NsYXNzOiBpdGVtLm9DbGFzcyxcbiAgICAgIG1ldGFkYXRhOiBpdGVtLm1ldGFkYXRhLFxuICAgICAgYXR0cmlidXRlczogbmV3IFByb3h5PHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogQXR0cmlidXRlU2ltcGxlVmFsdWUgfCBBdHRyaWJ1dGVNdWx0aXBsZVZhbHVlO1xuICAgICAgfT4oSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtLmF0dHJpYnV0ZXMpKSwge1xuICAgICAgICBnZXQ6IChvcmlnaW5hbCwgcHJvcCwgcHJveHkpID0+IHtcbiAgICAgICAgICBpZiAocHJvcCA9PT0gJ3RvSlNPTicpIHtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBKU09OLnN0cmluZ2lmeShvcmlnaW5hbCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChvcmlnaW5hbFtwcm9wIGFzIHN0cmluZ10pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsW3Byb3AgYXMgc3RyaW5nXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50bHlMb2FkaW5nLmluY2x1ZGVzKHJzSWQpICYmIHRoaXMucmVxdWVzdGVkW3Byb3AgYXMgc3RyaW5nXSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RlZFtwcm9wIGFzIHN0cmluZ10gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoeyBpZDogcnNJZCwgZXhjbHVkZUdlbzogZmFsc2UsIGZyb206ICdQcm94eVV0aWxzLkl0ZW0oKScgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnVkFMVUUnLFxuICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gYXMgSXRlbTtcbiAgfVxufVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL3Byb3h5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3hFLE1BQU0sT0FBTyxVQUFVO2FBR2QsY0FBUyxHQUFHLEVBQWlDLENBQUM7SUFHckQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQWU7UUFDL0IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUN2QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxD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VSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUM3RixDQUFDO2lDQUNIOzZCQUNGO2lDQUFNO2dDQUNMLE9BQU8sQ0FBQyxJQUFJLENBQ1YsNkJBQTZCLElBQWMsZUFBZSxLQUFLLEVBQUUsSUFBSSw4QkFBOEIsQ0FDcEcsQ0FBQzs2QkFDSDt5QkFDRjtxQkFDRjtvQkFDRCxPQUFPO3dCQUNMLElBQUksRUFBRSxPQUFPO3dCQUNiLEtBQUssRUFBRSxFQUFFO3dCQUNULE9BQU8sRUFBRSxLQUFLO3FCQUNmLENBQUM7Z0JBQ0osQ0FBQzthQUNGLENBQUM7U0FDSyxDQUFDO0lBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSwgQXR0cmlidXRlU2ltcGxlVmFsdWUsIEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCwgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VhcmNoQWN0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvc2VhcmNoL3NlYXJjaC5hY3Rpb25zJztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvc2VhcmNoL3NlYXJjaC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFByb3h5VXRpbHMge1xuICBzdGF0aWMgc3RvcmU6IFN0b3JlO1xuICBzdGF0aWMgY3VycmVudGx5TG9hZGluZzogc3RyaW5nW107XG4gIHN0YXRpYyByZXF1ZXN0ZWQgPSB7fSBhcyB7IFtyc0lkOiBzdHJpbmddOiBib29sZWFuIH07XG4gIHN0YXRpYyBjbGFzc2VzOiBDbGFzc1tdO1xuXG4gIHN0YXRpYyBpbml0KHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMuc3RvcmUgPSBzdG9yZTtcbiAgICBzdG9yZS5zZWxlY3QoU2VhcmNoU2VsZWN0b3JzLnNlYXJjaExvYWRpbmcpLnN1YnNjcmliZSgoc2VhcmNoTG9hZGluZykgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50bHlMb2FkaW5nID0gc2VhcmNoTG9hZGluZztcbiAgICB9KTtcbiAgICBzdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3Nlcykuc3Vic2NyaWJlKChjbGFzc2VzKSA9PiB7XG4gICAgICB0aGlzLmNsYXNzZXMgPSBjbGFzc2VzO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIFJlc3VsdFNldHMocnNzOiBSZXN1bHRTZXRzKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJzcylcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHsga2V5LCBwcm94eTogUHJveHlVdGlscy5SZXN1bHRTZXQodmFsdWUsIGtleSkgfSkpXG4gICAgICAucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCBbYy5rZXldOiBjLnByb3h5IH0pLCB7fSk7XG4gIH1cblxuICBzdGF0aWMgUmVzdWx0U2V0KHJzOiBSZXN1bHRTZXQsIHJzSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICByZWxhdGlvbnM6IHJzLnJlbGF0aW9ucyA/PyBbXSxcbiAgICAgIGF1dG9SZWZyZXNoSW50ZXJ2YWw6IHJzLmF1dG9SZWZyZXNoSW50ZXJ2YWwsXG4gICAgICBtZXJnZWQ6IHJzLm1lcmdlZCxcbiAgICAgIGNvdW50OiBycy5jb3VudCxcbiAgICAgIGl0ZW1zOiBPYmplY3Qua2V5cyhycy5pdGVtcyA/PyB7fSlcbiAgICAgICAgLm1hcCgoY2xhc3NJZCkgPT4gKHtcbiAgICAgICAgICBjbGFzc0lkOiBjbGFzc0lkLFxuICAgICAgICAgIGl0ZW1zOiBycy5pdGVtc1tjbGFzc0lkXS5tYXAoKGl0ZW0pID0+IFByb3h5VXRpbHMuSXRlbShpdGVtLCByc0lkKSlcbiAgICAgICAgfSkpXG4gICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+ICh7IC4uLnAsIFtjLmNsYXNzSWRdOiBjLml0ZW1zIH0pLCB7fSlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgSXRlbShpdGVtOiBJdGVtLCByc0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBvQ2xhc3M6IGl0ZW0ub0NsYXNzLFxuICAgICAgbWV0YWRhdGE6IGl0ZW0ubWV0YWRhdGEsXG4gICAgICBhdHRyaWJ1dGVzOiBuZXcgUHJveHk8e1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSB8IEF0dHJpYnV0ZU11bHRpcGxlVmFsdWU7XG4gICAgICB9PihKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl0ZW0uYXR0cmlidXRlcykpLCB7XG4gICAgICAgIGdldDogKG9yaWdpbmFsLCBwcm9wLCBwcm94eSkgPT4ge1xuICAgICAgICAgIGlmIChwcm9wID09PSAndG9KU09OJykge1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IG9yaWdpbmFsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAob3JpZ2luYWxbcHJvcCBhcyBzdHJpbmddKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFtwcm9wIGFzIHN0cmluZ107XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBjbGF6eiA9IHRoaXMuY2xhc3Nlcy5maW5kKChjbCkgPT4gY2wuaWQgPT09IGl0ZW0ub0NsYXNzKTtcbiAgICAgICAgICAgICAgY29uc3QgYXR0ciA9IGNsYXp6Py5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIudGVjaG5pY2FsTmFtZSA9PT0gcHJvcCk7XG4gICAgICAgICAgICAgIGlmICghIWF0dHIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY3VycmVudGx5TG9hZGluZy5pbmNsdWRlcyhyc0lkKSAmJiB0aGlzLnJlcXVlc3RlZFtwcm9wIGFzIHN0cmluZ10gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RlZFtwcm9wIGFzIHN0cmluZ10gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHsgaWQ6IHJzSWQsIGV4Y2x1ZGVHZW86IGZhbHNlLCBmcm9tOiAnUHJveHlVdGlscy5JdGVtKCknIH0pXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICBgVHJ5aW5nIHRvIGFjY2VzcyBwcm9wZXJ0eSAke3Byb3AgYXMgc3RyaW5nfSBmcm9tIGNsYXNzICR7Y2xheno/Lm5hbWV9IGJ1dCBkb2VzIG5vdCBleGlzdCBpbiBtb2RlbGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnVkFMVUUnLFxuICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gYXMgSXRlbTtcbiAgfVxufVxuIl19