@netgrif/components-core 7.0.0-beta.1 → 7.0.0-beta.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 (29) hide show
  1. package/esm2022/assets/i18n/de.json +1 -0
  2. package/esm2022/assets/i18n/en.json +1 -0
  3. package/esm2022/assets/i18n/sk.json +1 -0
  4. package/esm2022/lib/data-fields/enumeration-field/enumeration-caseref-field/abstract-enumeration-caseref-field.component.mjs +3 -3
  5. package/esm2022/lib/data-fields/file-field/file-default-field/abstract-file-default-field.component.mjs +2 -2
  6. package/esm2022/lib/data-fields/file-list-field/file-list-default-field/abstract-file-list-default-field.component.mjs +2 -2
  7. package/esm2022/lib/data-fields/models/abstract-file-field-default-component.mjs +9 -1
  8. package/esm2022/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +4 -4
  9. package/esm2022/lib/navigation/model/uri-resource.mjs +1 -1
  10. package/esm2022/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +11 -11
  11. package/esm2022/lib/navigation/service/uri.service.mjs +10 -10
  12. package/esm2022/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +2 -2
  13. package/esm2022/lib/side-menu/content-components/import-net/abstract-import-net.component.mjs +2 -2
  14. package/esm2022/lib/task-content/services/task-content.service.mjs +14 -48
  15. package/esm2022/lib/user/services/user.service.mjs +11 -4
  16. package/esm2022/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.mjs +3 -1
  17. package/esm2022/lib/view/case-view/service/case-view-service.mjs +23 -2
  18. package/fesm2022/netgrif-components-core.mjs +86 -79
  19. package/fesm2022/netgrif-components-core.mjs.map +1 -1
  20. package/lib/data-fields/enumeration-field/enumeration-caseref-field/abstract-enumeration-caseref-field.component.d.ts +1 -1
  21. package/lib/data-fields/models/abstract-file-field-default-component.d.ts +1 -0
  22. package/lib/navigation/model/uri-resource.d.ts +1 -2
  23. package/lib/task-content/services/task-content.service.d.ts +2 -4
  24. package/lib/user/services/user.service.d.ts +3 -1
  25. package/lib/view/case-view/service/case-view-service.d.ts +2 -0
  26. package/package.json +1 -1
  27. package/src/assets/i18n/de.json +1 -0
  28. package/src/assets/i18n/en.json +1 -0
  29. package/src/assets/i18n/sk.json +1 -0
@@ -55,14 +55,14 @@ export class UriService {
55
55
  return this._rootLoading$;
56
56
  }
57
57
  isRoot(node) {
58
- return node.id === this._rootNode.id && node.uriPath === this._rootNode.uriPath;
58
+ return node.path === this._rootNode.path;
59
59
  }
60
60
  get activeNode() {
61
61
  return this._activeNode$.getValue();
62
62
  }
63
63
  set activeNode(node) {
64
64
  if (node.parentId && !node.parent) {
65
- if (node.parentId === this._rootNode.id) {
65
+ if (node.parentId === this._rootNode.path) {
66
66
  node.parent = this._rootNode;
67
67
  }
68
68
  else {
@@ -121,7 +121,7 @@ export class UriService {
121
121
  getChildNodes(node) {
122
122
  if (!node)
123
123
  node = this.activeNode;
124
- return this._resourceService.getNodesByParent(node.id).pipe(map(nodes => {
124
+ return this._resourceService.getNodesByParent(node.path).pipe(map(nodes => {
125
125
  this.capitalizeNames(nodes);
126
126
  return nodes;
127
127
  }));
@@ -137,7 +137,7 @@ export class UriService {
137
137
  if (!node)
138
138
  node = this.activeNode;
139
139
  const searchBody = {
140
- uriNodeId: node.id,
140
+ uriNodeId: node.path,
141
141
  };
142
142
  if (!!processIdentifiers) {
143
143
  searchBody.process = processIdentifiers.map(id => ({ identifier: id }));
@@ -163,7 +163,7 @@ export class UriService {
163
163
  }
164
164
  const searchBody = {
165
165
  data: {
166
- [GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH]: node.uriPath
166
+ [GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH]: node.path
167
167
  },
168
168
  process: { identifier: "preference_item" }
169
169
  };
@@ -193,7 +193,7 @@ export class UriService {
193
193
  if (level === 0)
194
194
  return of([this.root]);
195
195
  return this._resourceService.getByLevel(level).pipe(map(nodes => {
196
- const ns = !!parent?.id ? nodes.filter(n => n.parentId === parent.id) : nodes;
196
+ const ns = !!parent?.path ? nodes.filter(n => n.parentId === parent.path) : nodes;
197
197
  this.capitalizeNames(ns);
198
198
  return ns;
199
199
  }));
@@ -201,13 +201,13 @@ export class UriService {
201
201
  resolveParentPath(node) {
202
202
  if (!node)
203
203
  node = this.activeNode;
204
- const lastDelimiter = node.uriPath.lastIndexOf('/');
204
+ const lastDelimiter = node.path.lastIndexOf('/');
205
205
  if (lastDelimiter === 0)
206
206
  return '/';
207
- return node.uriPath.substring(0, lastDelimiter);
207
+ return node.path.substring(0, lastDelimiter);
208
208
  }
209
209
  splitNodePath(node) {
210
- return node?.uriPath.split('/').filter(s => s !== UriService.ROOT);
210
+ return node?.path.split('/').filter(s => s !== UriService.ROOT);
211
211
  }
212
212
  capitalizeNames(nodes) {
213
213
  if (!(nodes instanceof Array))
@@ -245,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
245
245
  type: Inject,
246
246
  args: [NAE_URI_NODE_CASES_PAGE_SIZE]
247
247
  }] }] });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL25hdmlnYXRpb24vc2VydmljZS91cmkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFNL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBR2hGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFFN0U7O0tBRUs7QUFJTCxNQUFNLE9BQU8sVUFBVTtJQVFHO0lBQ0E7SUFDQTtJQUNBO0lBQ2tEO0lBVmpFLE1BQU0sQ0FBQyxJQUFJLEdBQVcsTUFBTSxDQUFDO0lBQzVCLFNBQVMsQ0FBa0I7SUFDbEIsYUFBYSxDQUFpQjtJQUM5QixlQUFlLENBQWlCO0lBQ2hDLFlBQVksQ0FBbUM7SUFFaEUsWUFBc0IsT0FBc0IsRUFDdEIsZ0JBQW9DLEVBQ3BDLG9CQUF5QyxFQUN6QyxtQkFBdUMsRUFDVyxRQUF5QjtRQUozRSxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMs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QUFHLENBQUMsQ0FBQztRQUNqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE9BQU87WUFDOUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0MsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzt3R0F2T1EsVUFBVSxzSkFZYSw0QkFBNEI7NEdBWm5ELFVBQVUsY0FGUCxNQUFNOzs0RkFFVCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBYWdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q2FzZVNlYXJjaFJlcXVlc3RCb2R5LCBQZXRyaU5ldFNlYXJjaFJlcXVlc3R9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5JztcbmltcG9ydCB7U2ltcGxlRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL3NpbXBsZS1maWx0ZXInO1xuaW1wb3J0IHtBY3RpdmVHcm91cFNlcnZpY2V9IGZyb20gJy4uLy4uL2dyb3Vwcy9zZXJ2aWNlcy9hY3RpdmUtZ3JvdXAuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0Nhc2VSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9jYXNlJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9wYWdlJztcbmltcG9ydCB7TG9hZGluZ0VtaXR0ZXJ9IGZyb20gJy4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyJztcbmltcG9ydCB7UGFnaW5hdGlvblBhcmFtc30gZnJvbSAnLi4vLi4vdXRpbGl0eS9wYWdpbmF0aW9uL3BhZ2luYXRpb24tcGFyYW1zJztcbmltcG9ydCB7TkFFX1VSSV9OT0RFX0NBU0VTX1BBR0VfU0laRX0gZnJvbSAnLi4vbW9kZWwvc2l6ZS1tZW51LWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge1VyaU5vZGVSZXNvdXJjZX0gZnJvbSAnLi4vbW9kZWwvdXJpLXJlc291cmNlJztcbmltcG9ydCB7VXJpUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuL3VyaS1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7R3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzfSBmcm9tIFwiLi4vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHNcIjtcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyBVUklzXG4gKiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVXJpU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwdWJsaWMgc3RhdGljIFJPT1Q6IHN0cmluZyA9ICdyb290JztcbiAgICBwcml2YXRlIF9yb290Tm9kZTogVXJpTm9kZVJlc291cmNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Jvb3RMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50TG9hZGluZyQ6IExvYWRpbmdFbWl0dGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZU5vZGUkOiBCZWhhdmlvclN1YmplY3Q8VXJpTm9kZVJlc291cmNlPjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcmVzb3VyY2VTZXJ2aWNlOiBVcmlSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWN0aXZlR3JvdXBTZXJ2aWNlOiBBY3RpdmVHcm91cFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfVVJJX05PREVfQ0FTRVNfUEFHRV9TSVpFKSBwcm90ZWN0ZWQgcGFnZVNpemU6IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICBpZiAoIXBhZ2VTaXplKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VTaXplID0gMjA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2VTaXplID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhcnNlSW50KHRoaXMucGFnZVNpemUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Jvb3RMb2FkaW5nJCA9IG5ldyBMb2FkaW5nRW1pdHRlcigpO1xuICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJCA9IG5ldyBMb2FkaW5nRW1pdHRlcigpO1xuICAgICAgICB0aGlzLl9hY3RpdmVOb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXJpTm9kZVJlc291cmNlPih1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLmxvYWRSb290KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9yb290TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvb3QoKTogVXJpTm9kZVJlc291cmNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3ROb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcm9vdExvYWRlZCQoKTogTG9hZGluZ0VtaXR0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdExvYWRpbmckO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1Jvb3Qobm9kZTogVXJpTm9kZVJlc291cmNlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLmlkID09PSB0aGlzLl9yb290Tm9kZS5pZCAmJiBub2RlLnVyaVBhdGggPT09IHRoaXMuX3Jvb3ROb2RlLnVyaVBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVOb2RlKCk6IFVyaU5vZGVSZXNvdXJjZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVOb2RlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgYWN0aXZlTm9kZShub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgaWYgKG5vZGUucGFyZW50SWQgJiYgIW5vZGUucGFyZW50KSB7XG4gICAgICAgICAgICBpZiAobm9kZS5wYXJlbnRJZCA9PT0gdGhpcy5fcm9vdE5vZGUuaWQpIHtcbiAgICAgICAgICAgICAgICBub2RlLnBhcmVudCA9IHRoaXMuX3Jvb3ROb2RlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJC5vbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Tm9kZUJ5UGF0aCh0aGlzLnJlc29sdmVQYXJlbnRQYXRoKG5vZGUpKS5zdWJzY3JpYmUobiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucGFyZW50ID0gIW4gPyB0aGlzLl9yb290Tm9kZSA6IG47XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhcmVudExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSQubmV4dChub2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZU5vZGUkKCk6IE9ic2VydmFibGU8VXJpTm9kZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVOb2RlJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhcmVudE5vZGVMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudExvYWRpbmckO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgcm9vdCBJRCBpbnRvIHZhcmlhYmxlLlxuICAgICAqIFdoZW4gcm9vdCBub2RlIGlzIGxvYWRlZCBhbmQgYWN0aXZlIG5vZGUgaXMgbm90IHNldCB5ZXQgdGhlIHJvb3Qgbm9kZSBpcyBzZXQgYXMgYWN0aXZlIG5vZGVcbiAgICAgKiAqL1xuICAgIHByaXZhdGUgbG9hZFJvb3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jvb3RMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Um9vdCgpLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghIW5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yb290Tm9kZSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZU5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9mZigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogVXJpTm9kZVJlc291cmNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290Tm9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdXJpIG5vZGUgYnkgdXJpIHBhdGguXG4gICAgICogQHBhcmFtIHBhdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm9kZUJ5UGF0aChwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVyaU5vZGVSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTZXJ2aWNlLmdldE5vZGVCeVVyaShwYXRoKS5waXBlKFxuICAgICAgICAgICAgbWFwKG4gPT4gdGhpcy5jYXBpdGFsaXplTmFtZShuKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNoaWxkIG5vZGVzIG9mIHByb3ZpZGVzIG5vZGUuXG4gICAgICogQHBhcmFtIG5vZGUgcGFyZW50IG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hpbGROb2Rlcyhub2RlPzogVXJpTm9kZVJlc291cmNlKTogT2JzZXJ2YWJsZTxBcnJheTxVcmlOb2RlUmVzb3VyY2U+PiB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXROb2Rlc0J5UGFyZW50KG5vZGUuaWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAobm9kZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwaXRhbGl6ZU5hbWVzKG5vZGVzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY2FzZXMgdW5kZXIgdXJpIG5vZGVcbiAgICAgKiBAcGFyYW0gbm9kZSBwYXJlbnQgbm9kZSBvZiBjYXNlc1xuICAgICAqIEBwYXJhbSBwcm9jZXNzSWRlbnRpZmllcnMgb3B0aW9uYWwgc2VhcmNoIGZpbHRlciBmb3IgcHJvY2VzcyBpZGVudGlmaWVyIHRvIGdldCBvbmx5IGNhc2VzIGZyb20gdGhlIHByb2Nlc3NcbiAgICAgKiBAcGFyYW0gcGFnZU51bWJlciBvcHRpb25hbCBwYXJhbWV0ZXIgZm9yIGxvYWQgcGFnZSBvbiB0aGUgaW5kZXguIERlZmF1bHQgdmFsdWUgaXMgMCAodGhlIGZpcnN0IHBhZ2UpLlxuICAgICAqIEBwYXJhbSBwYWdlU2l6ZSBvcHRpb25hbCBwYXJhbWV0ZXIgZm9yIGxvYWRlZCBwYWdlIHNpemUuIERlZmF1bHRzIHRvIHZhbHVlIG9mIGluamVjdGlvbiB0b2tlbiBVUklfTk9ERV9DQVNFU19QQUdFX1NJWkUgb3IgdG8gdmFsdWUgXCIyMFwiLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXNlc09mTm9kZShub2RlPzogVXJpTm9kZVJlc291cmNlLCBwcm9jZXNzSWRlbnRpZmllcnM/OiBBcnJheTxzdHJpbmc+LCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogc3RyaW5nIHwgbnVtYmVyID0gdGhpcy5wYWdlU2l6ZSk6IE9ic2VydmFibGU8UGFnZTxDYXNlPj4ge1xuICAgICAgICBpZiAoIW5vZGUpIG5vZGUgPSB0aGlzLmFjdGl2ZU5vZGU7XG4gICAgICAgIGNvbnN0IHNlYXJjaEJvZHk6IENhc2VTZWFyY2hSZXF1ZXN0Qm9keSA9IHtcbiAgICAgICAgICAgIHVyaU5vZGVJZDogbm9kZS5pZCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCEhcHJvY2Vzc0lkZW50aWZpZXJzKSB7XG4gICAgICAgICAgICBzZWFyY2hCb2R5LnByb2Nlc3MgPSBwcm9jZXNzSWRlbnRpZmllcnMubWFwKGlkID0+ICh7aWRlbnRpZmllcjogaWR9IGFzIFBldHJpTmV0U2VhcmNoUmVxdWVzdCkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE8gYWN0aXZlIGdyb3VwIGlzIGJyb2tlbiBhIGdpdmVuIHRoZSB3cm9uZyBpZFxuICAgICAgICAvLyBpZiAoISF0aGlzLl9hY3RpdmVHcm91cFNlcnZpY2UuYWN0aXZlR3JvdXApIHtcbiAgICAgICAgLy8gICAgIHNlYXJjaEJvZHkuZGF0YSA9IHt9O1xuICAgICAgICAvLyAgICAgc2VhcmNoQm9keS5kYXRhWydwYXJlbnRJZCddID0gdGhpcy5fYWN0aXZlR3JvdXBTZXJ2aWNlLmFjdGl2ZUdyb3VwLnN0cmluZ0lkO1xuICAgICAgICAvLyB9XG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgcGFnZVNpemUpXG4gICAgICAgICAgICAuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9OVU1CRVIsIHBhZ2VOdW1iZXIpO1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FzZVJlc291cmNlU2VydmljZS5zZWFyY2hDYXNlcyhTaW1wbGVGaWx0ZXIuZnJvbUNhc2VRdWVyeShzZWFyY2hCb2R5KSwgaHR0cFBhcmFtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IG1lbnUgaXRlbSBjYXNlIGJ5IG5vZGVQYXRoIGZpZWxkIHZhbHVlXG4gICAgICogQHBhcmFtIG5vZGUgYSBub2RlLCB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IHRoZSB3YW50ZWQgY2FzZVxuICAgICAqIEByZXR1cm4gcGFnZSBjb250YWluaW5nIDEgY2FzZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtQ2FzZUJ5Tm9kZVBhdGgobm9kZT86IFVyaU5vZGVSZXNvdXJjZSk6IE9ic2VydmFibGU8UGFnZTxDYXNlPj4ge1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIG5vZGUgPSB0aGlzLmFjdGl2ZU5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoQm9keTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIFtHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9OT0RFX1BBVEhdIDogbm9kZS51cmlQYXRoXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJvY2Vzczoge2lkZW50aWZpZXI6IFwicHJlZmVyZW5jZV9pdGVtXCJ9XG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9TSVpFLCAxKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfTlVNQkVSLCAwKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoc2VhcmNoQm9keSksIGh0dHBQYXJhbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBzaWJsaW5ncyBub2RlIG9mIHRoZSBwcm92aWRlZCBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgc2libGluZ3Mgbm9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWJsaW5nc09mTm9kZShub2RlPzogVXJpTm9kZVJlc291cmNlKTogT2JzZXJ2YWJsZTxBcnJheTxVcmlOb2RlUmVzb3VyY2U+PiB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXROb2Rlc0J5UGFyZW50KG5vZGUucGFyZW50SWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAobm9kZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwaXRhbGl6ZU5hbWVzKG5vZGVzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgbm9kZXMgb24gdGhlIHNhbWUgdXJpIGxldmVsIHN0YXJ0aW5nIGZyb20gMC4gUm9vdCBub2RlIGlzIG5vIDAgbGV2ZWwuXG4gICAgICogQHBhcmFtIGxldmVsXG4gICAgICogQHBhcmFtIHBhcmVudCBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gZmlsdGVyIG5vZGVzIHdpdGggY29tbW9uIHBhcmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROb2Rlc09uTGV2ZWwobGV2ZWw6IG51bWJlciwgcGFyZW50PzogVXJpTm9kZVJlc291cmNlKTogT2JzZXJ2YWJsZTxBcnJheTxVcmlOb2RlUmVzb3VyY2U+PiB7XG4gICAgICAgIGlmIChsZXZlbCA9PT0gMCkgcmV0dXJuIG9mKFt0aGlzLnJvb3RdKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXRCeUxldmVsKGxldmVsKS5waXBlKFxuICAgICAgICAgICAgbWFwKG5vZGVzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBucyA9ICEhcGFyZW50Py5pZCA/IG5vZGVzLmZpbHRlcihuID0+IG4ucGFyZW50SWQgPT09IHBhcmVudC5pZCkgOiBub2RlcztcbiAgICAgICAgICAgICAgICB0aGlzLmNhcGl0YWxpemVOYW1lcyhucyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5zO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVQYXJlbnRQYXRoKG5vZGU/OiBVcmlOb2RlUmVzb3VyY2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIW5vZGUpIG5vZGUgPSB0aGlzLmFjdGl2ZU5vZGU7XG4gICAgICAgIGNvbnN0IGxhc3REZWxpbWl0ZXIgPSBub2RlLnVyaVBhdGgubGFzdEluZGV4T2YoJy8nKTtcbiAgICAgICAgaWYgKGxhc3REZWxpbWl0ZXIgPT09IDApIHJldHVybiAnLyc7XG4gICAgICAgIHJldHVybiBub2RlLnVyaVBhdGguc3Vic3RyaW5nKDAsIGxhc3REZWxpbWl0ZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzcGxpdE5vZGVQYXRoKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbm9kZT8udXJpUGF0aC5zcGxpdCgnLycpLmZpbHRlcihzID0+IHMgIT09IFVyaVNlcnZpY2UuUk9PVCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYXBpdGFsaXplTmFtZXMobm9kZXM6IEFycmF5PFVyaU5vZGVSZXNvdXJjZT4pIHtcbiAgICAgICAgaWYgKCEobm9kZXMgaW5zdGFuY2VvZiBBcnJheSkpIHJldHVybjtcbiAgICAgICAgbm9kZXMuZm9yRWFjaChuID0+IHRoaXMuY2FwaXRhbGl6ZU5hbWUobikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICAvbmV0Z3JpZi9uYWVfc3lzdGVtL3Byb2Nlc3Nlcy8uLi4gPT4gTmV0Z3JpZiAtPiBOYWUgU3lzdGVtcyAtPiBQcm9jZXNzZXNcbiAgICAgKiBAcGFyYW0gbm9kZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYXBpdGFsaXplTmFtZShub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgbGV0IHBhcnRzID0gbm9kZS5uYW1lLnNwbGl0KCdfJyk7XG4gICAgICAgIHBhcnRzID0gcGFydHMubWFwKHAgPT4ge1xuICAgICAgICAgICAgaWYgKHAgPT09IHVuZGVmaW5lZCB8fCBwLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHAubGVuZ3RoID09PSAxKSByZXR1cm4gcC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHAuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwLnN1YnN0cmluZygxKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG5vZGUubmFtZSA9IHBhcnRzLmpvaW4oJyAnKTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxufVxuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL25hdmlnYXRpb24vc2VydmljZS91cmkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFNL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBR2hGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFFN0U7O0tBRUs7QUFJTCxNQUFNLE9BQU8sVUFBVTtJQVFHO0lBQ0E7SUFDQTtJQUNBO0lBQ2tEO0lBVmpFLE1BQU0sQ0FBQyxJQUFJLEdBQVcsTUFBTSxDQUFDO0lBQzVCLFNBQVMsQ0FBa0I7SUFDbEIsYUFBYSxDQUFpQjtJQUM5QixlQUFlLENBQWlCO0lBQ2hDLFlBQVksQ0FBbUM7SUFFaEUsWUFBc0IsT0FBc0IsRUFDdEIsZ0JBQW9DLEVBQ3BDLG9CQUF5QyxFQUN6QyxtQkFBdUMsRUFDVyxRQUF5QjtRQUozRSxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMs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Q0FBQyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxPQUFPO1lBQzlDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7d0dBdk9RLFVBQVUsc0pBWWEsNEJBQTRCOzRHQVpuRCxVQUFVLGNBRlAsTUFBTTs7NEZBRVQsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWFnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Nhc2VTZWFyY2hSZXF1ZXN0Qm9keSwgUGV0cmlOZXRTZWFyY2hSZXF1ZXN0fSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL2Nhc2Utc2VhcmNoLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7QWN0aXZlR3JvdXBTZXJ2aWNlfSBmcm9tICcuLi8uLi9ncm91cHMvc2VydmljZXMvYWN0aXZlLWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge1BhZ2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvcGFnZSc7XG5pbXBvcnQge0xvYWRpbmdFbWl0dGVyfSBmcm9tICcuLi8uLi91dGlsaXR5L2xvYWRpbmctZW1pdHRlcic7XG5pbXBvcnQge1BhZ2luYXRpb25QYXJhbXN9IGZyb20gJy4uLy4uL3V0aWxpdHkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLXBhcmFtcyc7XG5pbXBvcnQge05BRV9VUklfTk9ERV9DQVNFU19QQUdFX1NJWkV9IGZyb20gJy4uL21vZGVsL3NpemUtbWVudS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtVcmlOb2RlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5pbXBvcnQge1VyaVJlc291cmNlU2VydmljZX0gZnJvbSAnLi91cmktcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0dyb3VwTmF2aWdhdGlvbkNvbnN0YW50c30gZnJvbSBcIi4uL21vZGVsL2dyb3VwLW5hdmlnYXRpb24tY29uc3RhbnRzXCI7XG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgVVJJc1xuICogKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVyaVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHVibGljIHN0YXRpYyBST09UOiBzdHJpbmcgPSAncm9vdCc7XG4gICAgcHJpdmF0ZSBfcm9vdE5vZGU6IFVyaU5vZGVSZXNvdXJjZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yb290TG9hZGluZyQ6IExvYWRpbmdFbWl0dGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudExvYWRpbmckOiBMb2FkaW5nRW1pdHRlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVOb2RlJDogQmVoYXZpb3JTdWJqZWN0PFVyaU5vZGVSZXNvdXJjZT47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Jlc291cmNlU2VydmljZTogVXJpUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2ZUdyb3VwU2VydmljZTogQWN0aXZlR3JvdXBTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1VSSV9OT0RFX0NBU0VTX1BBR0VfU0laRSkgcHJvdGVjdGVkIHBhZ2VTaXplOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKCFwYWdlU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IDIwO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdlU2l6ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZVNpemUgPSBwYXJzZUludCh0aGlzLnBhZ2VTaXplKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yb290TG9hZGluZyQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVyaU5vZGVSZXNvdXJjZT4odW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5sb2FkUm9vdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3BhcmVudExvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZU5vZGUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb290KCk6IFVyaU5vZGVSZXNvdXJjZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290Tm9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvb3RMb2FkZWQkKCk6IExvYWRpbmdFbWl0dGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RMb2FkaW5nJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNSb290KG5vZGU6IFVyaU5vZGVSZXNvdXJjZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbm9kZS5wYXRoID09PSB0aGlzLl9yb290Tm9kZS5wYXRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aXZlTm9kZSgpOiBVcmlOb2RlUmVzb3VyY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlTm9kZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGFjdGl2ZU5vZGUobm9kZTogVXJpTm9kZVJlc291cmNlKSB7XG4gICAgICAgIGlmIChub2RlLnBhcmVudElkICYmICFub2RlLnBhcmVudCkge1xuICAgICAgICAgICAgaWYgKG5vZGUucGFyZW50SWQgPT09IHRoaXMuX3Jvb3ROb2RlLnBhdGgpIHtcbiAgICAgICAgICAgICAgICBub2RlLnBhcmVudCA9IHRoaXMuX3Jvb3ROb2RlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnRMb2FkaW5nJC5vbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Tm9kZUJ5UGF0aCh0aGlzLnJlc29sdmVQYXJlbnRQYXRoKG5vZGUpKS5zdWJzY3JpYmUobiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucGFyZW50ID0gIW4gPyB0aGlzLl9yb290Tm9kZSA6IG47XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhcmVudExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSQubmV4dChub2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZU5vZGUkKCk6IE9ic2VydmFibGU8VXJpTm9kZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVOb2RlJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhcmVudE5vZGVMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudExvYWRpbmckO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgcm9vdCBJRCBpbnRvIHZhcmlhYmxlLlxuICAgICAqIFdoZW4gcm9vdCBub2RlIGlzIGxvYWRlZCBhbmQgYWN0aXZlIG5vZGUgaXMgbm90IHNldCB5ZXQgdGhlIHJvb3Qgbm9kZSBpcyBzZXQgYXMgYWN0aXZlIG5vZGVcbiAgICAgKiAqL1xuICAgIHByaXZhdGUgbG9hZFJvb3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jvb3RMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Um9vdCgpLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghIW5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yb290Tm9kZSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZU5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5fcm9vdExvYWRpbmckLm9mZigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogVXJpTm9kZVJlc291cmNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5fcm9vdE5vZGU7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290Tm9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdXJpIG5vZGUgYnkgdXJpIHBhdGguXG4gICAgICogQHBhcmFtIHBhdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm9kZUJ5UGF0aChwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVyaU5vZGVSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTZXJ2aWNlLmdldE5vZGVCeVVyaShwYXRoKS5waXBlKFxuICAgICAgICAgICAgbWFwKG4gPT4gdGhpcy5jYXBpdGFsaXplTmFtZShuKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNoaWxkIG5vZGVzIG9mIHByb3ZpZGVzIG5vZGUuXG4gICAgICogQHBhcmFtIG5vZGUgcGFyZW50IG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hpbGROb2Rlcyhub2RlPzogVXJpTm9kZVJlc291cmNlKTogT2JzZXJ2YWJsZTxBcnJheTxVcmlOb2RlUmVzb3VyY2U+PiB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU2VydmljZS5nZXROb2Rlc0J5UGFyZW50KG5vZGUucGF0aCkucGlwZShcbiAgICAgICAgICAgIG1hcChub2RlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXBpdGFsaXplTmFtZXMobm9kZXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBub2RlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjYXNlcyB1bmRlciB1cmkgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlIHBhcmVudCBub2RlIG9mIGNhc2VzXG4gICAgICogQHBhcmFtIHByb2Nlc3NJZGVudGlmaWVycyBvcHRpb25hbCBzZWFyY2ggZmlsdGVyIGZvciBwcm9jZXNzIGlkZW50aWZpZXIgdG8gZ2V0IG9ubHkgY2FzZXMgZnJvbSB0aGUgcHJvY2Vzc1xuICAgICAqIEBwYXJhbSBwYWdlTnVtYmVyIG9wdGlvbmFsIHBhcmFtZXRlciBmb3IgbG9hZCBwYWdlIG9uIHRoZSBpbmRleC4gRGVmYXVsdCB2YWx1ZSBpcyAwICh0aGUgZmlyc3QgcGFnZSkuXG4gICAgICogQHBhcmFtIHBhZ2VTaXplIG9wdGlvbmFsIHBhcmFtZXRlciBmb3IgbG9hZGVkIHBhZ2Ugc2l6ZS4gRGVmYXVsdHMgdG8gdmFsdWUgb2YgaW5qZWN0aW9uIHRva2VuIFVSSV9OT0RFX0NBU0VTX1BBR0VfU0laRSBvciB0byB2YWx1ZSBcIjIwXCIuXG4gICAgICovXG4gICAgcHVibGljIGdldENhc2VzT2ZOb2RlKG5vZGU/OiBVcmlOb2RlUmVzb3VyY2UsIHByb2Nlc3NJZGVudGlmaWVycz86IEFycmF5PHN0cmluZz4sIHBhZ2VOdW1iZXI6IG51bWJlciA9IDAsIHBhZ2VTaXplOiBzdHJpbmcgfCBudW1iZXIgPSB0aGlzLnBhZ2VTaXplKTogT2JzZXJ2YWJsZTxQYWdlPENhc2U+PiB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgY29uc3Qgc2VhcmNoQm9keTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgdXJpTm9kZUlkOiBub2RlLnBhdGgsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghIXByb2Nlc3NJZGVudGlmaWVycykge1xuICAgICAgICAgICAgc2VhcmNoQm9keS5wcm9jZXNzID0gcHJvY2Vzc0lkZW50aWZpZXJzLm1hcChpZCA9PiAoe2lkZW50aWZpZXI6IGlkfSBhcyBQZXRyaU5ldFNlYXJjaFJlcXVlc3QpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGFjdGl2ZSBncm91cCBpcyBicm9rZW4gYSBnaXZlbiB0aGUgd3JvbmcgaWRcbiAgICAgICAgLy8gaWYgKCEhdGhpcy5fYWN0aXZlR3JvdXBTZXJ2aWNlLmFjdGl2ZUdyb3VwKSB7XG4gICAgICAgIC8vICAgICBzZWFyY2hCb2R5LmRhdGEgPSB7fTtcbiAgICAgICAgLy8gICAgIHNlYXJjaEJvZHkuZGF0YVsncGFyZW50SWQnXSA9IHRoaXMuX2FjdGl2ZUdyb3VwU2VydmljZS5hY3RpdmVHcm91cC5zdHJpbmdJZDtcbiAgICAgICAgLy8gfVxuICAgICAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgICAgIC5zZXQoUGFnaW5hdGlvblBhcmFtcy5QQUdFX1NJWkUsIHBhZ2VTaXplKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfTlVNQkVSLCBwYWdlTnVtYmVyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoc2VhcmNoQm9keSksIGh0dHBQYXJhbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBtZW51IGl0ZW0gY2FzZSBieSBub2RlUGF0aCBmaWVsZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBub2RlIGEgbm9kZSwgdGhhdCBpcyByZXByZXNlbnRlZCBieSB0aGUgd2FudGVkIGNhc2VcbiAgICAgKiBAcmV0dXJuIHBhZ2UgY29udGFpbmluZyAxIGNhc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SXRlbUNhc2VCeU5vZGVQYXRoKG5vZGU/OiBVcmlOb2RlUmVzb3VyY2UpOiBPYnNlcnZhYmxlPFBhZ2U8Q2FzZT4+IHtcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICBub2RlID0gdGhpcy5hY3RpdmVOb2RlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlYXJjaEJvZHk6IENhc2VTZWFyY2hSZXF1ZXN0Qm9keSA9IHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBbR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfTk9ERV9QQVRIXSA6IG5vZGUucGF0aFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByb2Nlc3M6IHtpZGVudGlmaWVyOiBcInByZWZlcmVuY2VfaXRlbVwifVxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgMSlcbiAgICAgICAgICAgIC5zZXQoUGFnaW5hdGlvblBhcmFtcy5QQUdFX05VTUJFUiwgMCk7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXNlUmVzb3VyY2VTZXJ2aWNlLnNlYXJjaENhc2VzKFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KHNlYXJjaEJvZHkpLCBodHRwUGFyYW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgc2libGluZ3Mgbm9kZSBvZiB0aGUgcHJvdmlkZWQgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlIHNpYmxpbmdzIG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2libGluZ3NPZk5vZGUobm9kZT86IFVyaU5vZGVSZXNvdXJjZSk6IE9ic2VydmFibGU8QXJyYXk8VXJpTm9kZVJlc291cmNlPj4ge1xuICAgICAgICBpZiAoIW5vZGUpIG5vZGUgPSB0aGlzLmFjdGl2ZU5vZGU7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0Tm9kZXNCeVBhcmVudChub2RlLnBhcmVudElkKS5waXBlKFxuICAgICAgICAgICAgbWFwKG5vZGVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcGl0YWxpemVOYW1lcyhub2Rlcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVzO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IG5vZGVzIG9uIHRoZSBzYW1lIHVyaSBsZXZlbCBzdGFydGluZyBmcm9tIDAuIFJvb3Qgbm9kZSBpcyBubyAwIGxldmVsLlxuICAgICAqIEBwYXJhbSBsZXZlbFxuICAgICAqIEBwYXJhbSBwYXJlbnQgb3B0aW9uYWwgcGFyYW1ldGVyIHRvIGZpbHRlciBub2RlcyB3aXRoIGNvbW1vbiBwYXJlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm9kZXNPbkxldmVsKGxldmVsOiBudW1iZXIsIHBhcmVudD86IFVyaU5vZGVSZXNvdXJjZSk6IE9ic2VydmFibGU8QXJyYXk8VXJpTm9kZVJlc291cmNlPj4ge1xuICAgICAgICBpZiAobGV2ZWwgPT09IDApIHJldHVybiBvZihbdGhpcy5yb290XSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVNlcnZpY2UuZ2V0QnlMZXZlbChsZXZlbCkucGlwZShcbiAgICAgICAgICAgIG1hcChub2RlcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbnMgPSAhIXBhcmVudD8ucGF0aCA/IG5vZGVzLmZpbHRlcihuID0+IG4ucGFyZW50SWQgPT09IHBhcmVudC5wYXRoKSA6IG5vZGVzO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwaXRhbGl6ZU5hbWVzKG5zKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVBhcmVudFBhdGgobm9kZT86IFVyaU5vZGVSZXNvdXJjZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghbm9kZSkgbm9kZSA9IHRoaXMuYWN0aXZlTm9kZTtcbiAgICAgICAgY29uc3QgbGFzdERlbGltaXRlciA9IG5vZGUucGF0aC5sYXN0SW5kZXhPZignLycpO1xuICAgICAgICBpZiAobGFzdERlbGltaXRlciA9PT0gMCkgcmV0dXJuICcvJztcbiAgICAgICAgcmV0dXJuIG5vZGUucGF0aC5zdWJzdHJpbmcoMCwgbGFzdERlbGltaXRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNwbGl0Tm9kZVBhdGgobm9kZTogVXJpTm9kZVJlc291cmNlKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBub2RlPy5wYXRoLnNwbGl0KCcvJykuZmlsdGVyKHMgPT4gcyAhPT0gVXJpU2VydmljZS5ST09UKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhcGl0YWxpemVOYW1lcyhub2RlczogQXJyYXk8VXJpTm9kZVJlc291cmNlPikge1xuICAgICAgICBpZiAoIShub2RlcyBpbnN0YW5jZW9mIEFycmF5KSkgcmV0dXJuO1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4gdGhpcy5jYXBpdGFsaXplTmFtZShuKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIC9uZXRncmlmL25hZV9zeXN0ZW0vcHJvY2Vzc2VzLy4uLiA9PiBOZXRncmlmIC0+IE5hZSBTeXN0ZW1zIC0+IFByb2Nlc3Nlc1xuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhcGl0YWxpemVOYW1lKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSkge1xuICAgICAgICBsZXQgcGFydHMgPSBub2RlLm5hbWUuc3BsaXQoJ18nKTtcbiAgICAgICAgcGFydHMgPSBwYXJ0cy5tYXAocCA9PiB7XG4gICAgICAgICAgICBpZiAocCA9PT0gdW5kZWZpbmVkIHx8IHAubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgICAgICAgICBpZiAocC5sZW5ndGggPT09IDEpIHJldHVybiBwLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgICByZXR1cm4gcC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHAuc3Vic3RyaW5nKDEpO1xuICAgICAgICB9KTtcbiAgICAgICAgbm9kZS5uYW1lID0gcGFydHMuam9pbignICcpO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG59XG4iXX0=
@@ -105,7 +105,7 @@ export class PublicTaskResourceService extends TaskResourceService {
105
105
  * GET
106
106
  */
107
107
  downloadFile(taskId, params) {
108
- const url = `task/${taskId}/file${params?.has("fileName") ? '/named' : ''}`;
108
+ const url = `public/task/${taskId}/file${params?.has("fileName") ? '/named' : ''}`;
109
109
  return this._resourceProvider.getBlob$(url, this.SERVER_URL, params).pipe(map(event => {
110
110
  switch (event.type) {
111
111
  case HttpEventType.DownloadProgress:
@@ -168,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
168
168
  providedIn: 'root'
169
169
  }]
170
170
  }], ctorParameters: () => [{ type: i1.ResourceProvider }, { type: i2.ConfigurationService }, { type: i3.FieldConverterService }, { type: i4.LoggerService }] });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXRhc2stcmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9wdWJsaWMvcHVibGljLXRhc2stcmVzb3VyY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdELE9BQU8sRUFBMkIsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRixPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQU05RCxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQU8vRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0lBRXhDO0lBQ0E7SUFDQTtJQUNBO0lBSHRCLFlBQXNCLFNBQTJCLEVBQzNCLGNBQW9DLEVBQ3BDLGVBQXNDLEVBQ3RDLE9BQXNCO1FBQ3hDLEtBQUssQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUp6QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFFNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlDQUF5QztJQUNsQyxVQUFVLENBQUMsTUFBYztRQUM1QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1B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LENBQUMsSUFBSSxDQUNyRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLEtBQUssYUFBYSxDQUFDLGdCQUFnQjtvQkFDL0IsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLEtBQUssYUFBYSxDQUFDLFFBQVE7b0JBQ3ZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDdEI7b0JBQ0ksT0FBTyxTQUFTLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQzNCLENBQUM7SUFDTixDQUFDO3dHQTFLUSx5QkFBeUI7NEdBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzs0RkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7RmllbGRDb252ZXJ0ZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi90YXNrLWNvbnRlbnQvc2VydmljZXMvZmllbGQtY29udmVydGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYXJhbXMsIFByb3ZpZGVyUHJvZ3Jlc3MsIFJlc291cmNlUHJvdmlkZXJ9IGZyb20gJy4uLy4uL3Jlc291cmNlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtQYWdlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvcGFnZSc7XG5pbXBvcnQge1Rhc2tTZXREYXRhUmVxdWVzdEJvZHl9IGZyb20gJy4uLy4uL2ludGVyZmFjZS90YXNrLXNldC1kYXRhLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge1Rhc2tSZWZlcmVuY2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZS90YXNrLXJlZmVyZW5jZSc7XG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL2ludGVyZmFjZS90YXNrJztcbmltcG9ydCB7SHR0cEV2ZW50VHlwZSwgSHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UsIE1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtGaWxlRmllbGRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL2ZpbGUtZmllbGQtcmVxdWVzdC1ib2R5XCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHVibGljVGFza1Jlc291cmNlU2VydmljZSBleHRlbmRzIFRhc2tSZXNvdXJjZVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9wcm92aWRlcjogUmVzb3VyY2VQcm92aWRlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZ1NlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmllbGRDb252ZXJ0ZXI6IEZpZWxkQ29udmVydGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSkge1xuICAgICAgICBzdXBlcihfcHJvdmlkZXIsIF9jb25maWdTZXJ2aWNlLCBfZmllbGRDb252ZXJ0ZXIsIF9sb2dnZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbiB0YXNrXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3B1YmxpYy90YXNrL2Fzc2lnbi86aWRcbiAgICBwdWJsaWMgYXNzaWduVGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm92aWRlci5nZXQkKCdwdWJsaWMvdGFzay9hc3NpZ24vJyArIHRhc2tJZCwgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgdGFza1xuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS9wdWJsaWMvdGFzay9jYW5jZWwvOmlkXG4gICAgcHVibGljIGNhbmNlbFRhc2sodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuZ2V0JCgncHVibGljL3Rhc2svY2FuY2VsLycgKyB0YXNrSWQsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluaXNoIHRhc2tcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3Rhc2svZmluaXNoLzppZFxuICAgIHB1YmxpYyBmaW5pc2hUYXNrKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLmdldCQoJ3B1YmxpYy90YXNrL2ZpbmlzaC8nICsgdGFza0lkLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0YXNrcyBvZiB0aGUgY2FzZVxuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS9wdWJsaWMvdGFzay9jYXNlLzppZFxuICAgIHB1YmxpYyBnZXRBbGxUYXNrc0J5Q2FzZShjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8VGFza1JlZmVyZW5jZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLmdldCQoJ3B1YmxpYy90YXNrL2Nhc2UvJyArIGNhc2VJZCwgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIHRhc2sgZGF0YVxuICAgICAqXG4gICAgICogR0VUXG4gICAgICpcbiAgICAgKiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBwYXJzZSB0aGUgcmVzcG9uc2UgeW91cnNlbGYgdXNlIFtnZXREYXRhXXtAbGluayBUYXNrUmVzb3VyY2VTZXJ2aWNlI2dldERhdGF9IGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgcmF3IGJhY2tlbmQgcmVzcG9uc2Ugd2l0aG91dCBhbnkgYWRkaXRpb25hbCBwcm9jZXNzaW5nXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3B1YmxpYy90YXNrLzppZC9kYXRhXG4gICAgcHVibGljIHJhd0dldERhdGEodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuZ2V0JCgncHVibGljL3Rhc2svJyArIHRhc2tJZCArICcvZGF0YScsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCAnZGF0YUdyb3VwcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRhc2sgZGF0YVxuICAgICAqIFBPU1RcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3Rhc2svOmlkL2RhdGFcbiAgICBwdWJsaWMgc2V0RGF0YSh0YXNrSWQ6IHN0cmluZywgYm9keTogVGFza1NldERhdGFSZXF1ZXN0Qm9keSk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm92aWRlci5wb3N0JCgncHVibGljL3Rhc2svJyArIHRhc2tJZCArICcvZGF0YScsIHRoaXMuU0VSVkVSX1VSTCwgYm9keSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoZXMgdGFza3MgdHJvdWdoIHRoZSBNb25nbyBlbmRwb2ludC5cbiAgICAgKiBQT1NUXG4gICAgICogQHBhcmFtIGZpbHRlclBhcmFtIGZpbHRlciB1c2VkIHRvIHNlYXJjaCB0aGUgdGFza3MuIE11c3QgYmUgb2YgdHlwZSBgVEFTS2AuXG4gICAgICogTm90ZSB0aGF0IHRoZSBgcXVlcnlgIGF0dHJpYnV0ZSBvZiB0aGUgZmlsdGVyIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyBlbmRwb2ludC5cbiAgICAgKiBBdHRlbXB0aW5nIHRvIHVzZSBpdCB3aWxsIGRpc3BsYXkgYSB3YXJuaW5nIGFuZCByZW1vdmUgdGhlIGF0dHJpYnV0ZSBmcm9tIHRoZSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRpb25hbCByZXF1ZXN0IHBhcmFtZXRlcnNcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3Rhc2svc2VhcmNoXG4gICAgcHVibGljIGdldFRhc2tzKGZpbHRlclBhcmFtOiBGaWx0ZXIsIHBhcmFtcz86IFBhcmFtcyk6IE9ic2VydmFibGU8UGFnZTxUYXNrPj4ge1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW0udHlwZSAhPT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIGZpbHRlciBkb2VzblxcJ3QgaGF2ZSB0eXBlIFRBU0snKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbS5ib2R5Q29udGFpbnNRdWVyeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dldFRhc2tzIGVuZHBvaW50IGNhbm5vdCBiZSBxdWVyaWVkIHdpdGggZmlsdGVycyB0aGF0IGNvbnRhaW4gdGhlIFxcJ3F1ZXJ5XFwnIGF0dHJpYnV0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1zID0gUmVzb3VyY2VQcm92aWRlci5jb21iaW5lUGFyYW1zKGZpbHRlclBhcmFtLmdldFJlcXVlc3RQYXJhbXMoKSwgcGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLnBvc3QkKCdwdWJsaWMvdGFzay9zZWFyY2gnLCB0aGlzLlNFUlZFUl9VUkwsIGZpbHRlclBhcmFtLmdldFJlcXVlc3RCb2R5KCksIHBhcmFtcylcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuZ2V0UmVzb3VyY2VQYWdlPFRhc2s+KHIsICd0YXNrcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWQgdGFzayBmaWxlIGZpZWxkIHZhbHVlXG4gICAgICogR0VUXG4gICAgICovXG4gICAgcHVibGljIGRvd25sb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgcGFyYW1zOiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgdGFzay8ke3Rhc2tJZH0vZmlsZSR7cGFyYW1zPy5oYXMoXCJmaWxlTmFtZVwiKSA/ICcvbmFtZWQnIDogJyd9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0QmxvYiQodXJsLCB0aGlzLlNFUlZFUl9VUkwsIHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlUHJvdmlkZXIuZ2V0UHJvZ3Jlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQuYm9keTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGxvYWQgZmlsZSBpbnRvIHRoZSB0YXNrXG4gICAgICogUE9TVFxuICAgICAqL1xuICAgIHB1YmxpYyB1cGxvYWRGaWxlKHRhc2tJZDogc3RyaW5nLCBib2R5OiBvYmplY3QsIG11bHRpcGxlRmlsZXM6IGJvb2xlYW4pOlxuICAgICAgICBPYnNlcnZhYmxlPFByb3ZpZGVyUHJvZ3Jlc3MgfCBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYHB1YmxpYy90YXNrLyR7dGFza0lkfS8ke211bHRpcGxlRmlsZXMgPyAnZmlsZXMnIDogJ2ZpbGUnfWA7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3RXaXRoRXZlbnQkPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4odXJsLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZSBmaWxlIGZyb20gdGhlIHRhc2tcbiAgICAgKiBERUxFVEVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlRmlsZSh0YXNrSWQ6IHN0cmluZywgYm9keTogRmlsZUZpZWxkUmVxdWVzdCk6IE9ic2VydmFibGU8TWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGBwdWJsaWMvdGFzay8ke3Rhc2tJZH0vZmlsZSR7Ym9keS5maWxlTmFtZSA/ICcvbmFtZWQnIDogJyd9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZGVsZXRlJCh1cmwsIHRoaXMuU0VSVkVSX1VSTCwge30sIHt9LCAnanNvbicsIGJvZHkpLnBpcGUoXG4gICAgICAgICAgICBtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb3dubG9hZCB0YXNrIGZpbGUgcHJldmlldyBmb3IgZmllbGQgdmFsdWVcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICBwdWJsaWMgZG93bmxvYWRGaWxlUHJldmlldyh0YXNrSWQ6IHN0cmluZywgcGFyYW1zOiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgcHVibGljL3Rhc2svJHt0YXNrSWR9L2ZpbGVfcHJldmlld2A7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldEJsb2IkKHVybCwgdGhpcy5TRVJWRVJfVVJMLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZVByb3ZpZGVyLmdldFByb2dyZXNzKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmJvZHk7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+ICEhdmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXRhc2stcmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9wdWJsaWMvcHVibGljLXRhc2stcmVzb3VyY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdELE9BQU8sRUFBMkIsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRixPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQU05RCxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQU8vRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0lBRXhDO0lBQ0E7SUFDQTtJQUNBO0lBSHRCLFlBQXNCLFNBQTJCLEVBQzNCLGNBQW9DLEVBQ3BDLGVBQXNDLEVBQ3RDLE9BQXNCO1FBQ3hDLEtBQUssQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUp6QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFFNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlDQUF5QztJQUNsQyxVQUFVLENBQUMsTUFBYztRQUM1QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1B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LENBQUMsSUFBSSxDQUNyRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLEtBQUssYUFBYSxDQUFDLGdCQUFnQjtvQkFDL0IsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLEtBQUssYUFBYSxDQUFDLFFBQVE7b0JBQ3ZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDdEI7b0JBQ0ksT0FBTyxTQUFTLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQzNCLENBQUM7SUFDTixDQUFDO3dHQTFLUSx5QkFBeUI7NEdBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzs0RkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7RmllbGRDb252ZXJ0ZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi90YXNrLWNvbnRlbnQvc2VydmljZXMvZmllbGQtY29udmVydGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYXJhbXMsIFByb3ZpZGVyUHJvZ3Jlc3MsIFJlc291cmNlUHJvdmlkZXJ9IGZyb20gJy4uLy4uL3Jlc291cmNlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtQYWdlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvcGFnZSc7XG5pbXBvcnQge1Rhc2tTZXREYXRhUmVxdWVzdEJvZHl9IGZyb20gJy4uLy4uL2ludGVyZmFjZS90YXNrLXNldC1kYXRhLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge1Rhc2tSZWZlcmVuY2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZS90YXNrLXJlZmVyZW5jZSc7XG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL2ludGVyZmFjZS90YXNrJztcbmltcG9ydCB7SHR0cEV2ZW50VHlwZSwgSHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UsIE1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtGaWxlRmllbGRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL2ZpbGUtZmllbGQtcmVxdWVzdC1ib2R5XCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHVibGljVGFza1Jlc291cmNlU2VydmljZSBleHRlbmRzIFRhc2tSZXNvdXJjZVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9wcm92aWRlcjogUmVzb3VyY2VQcm92aWRlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZ1NlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmllbGRDb252ZXJ0ZXI6IEZpZWxkQ29udmVydGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSkge1xuICAgICAgICBzdXBlcihfcHJvdmlkZXIsIF9jb25maWdTZXJ2aWNlLCBfZmllbGRDb252ZXJ0ZXIsIF9sb2dnZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbiB0YXNrXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3B1YmxpYy90YXNrL2Fzc2lnbi86aWRcbiAgICBwdWJsaWMgYXNzaWduVGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm92aWRlci5nZXQkKCdwdWJsaWMvdGFzay9hc3NpZ24vJyArIHRhc2tJZCwgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgdGFza1xuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS9wdWJsaWMvdGFzay9jYW5jZWwvOmlkXG4gICAgcHVibGljIGNhbmNlbFRhc2sodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuZ2V0JCgncHVibGljL3Rhc2svY2FuY2VsLycgKyB0YXNrSWQsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluaXNoIHRhc2tcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3Rhc2svZmluaXNoLzppZFxuICAgIHB1YmxpYyBmaW5pc2hUYXNrKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLmdldCQoJ3B1YmxpYy90YXNrL2ZpbmlzaC8nICsgdGFza0lkLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0YXNrcyBvZiB0aGUgY2FzZVxuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS9wdWJsaWMvdGFzay9jYXNlLzppZFxuICAgIHB1YmxpYyBnZXRBbGxUYXNrc0J5Q2FzZShjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8VGFza1JlZmVyZW5jZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLmdldCQoJ3B1YmxpYy90YXNrL2Nhc2UvJyArIGNhc2VJZCwgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIHRhc2sgZGF0YVxuICAgICAqXG4gICAgICogR0VUXG4gICAgICpcbiAgICAgKiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBwYXJzZSB0aGUgcmVzcG9uc2UgeW91cnNlbGYgdXNlIFtnZXREYXRhXXtAbGluayBUYXNrUmVzb3VyY2VTZXJ2aWNlI2dldERhdGF9IGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgcmF3IGJhY2tlbmQgcmVzcG9uc2Ugd2l0aG91dCBhbnkgYWRkaXRpb25hbCBwcm9jZXNzaW5nXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3B1YmxpYy90YXNrLzppZC9kYXRhXG4gICAgcHVibGljIHJhd0dldERhdGEodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuZ2V0JCgncHVibGljL3Rhc2svJyArIHRhc2tJZCArICcvZGF0YScsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCAnZGF0YUdyb3VwcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRhc2sgZGF0YVxuICAgICAqIFBPU1RcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3Rhc2svOmlkL2RhdGFcbiAgICBwdWJsaWMgc2V0RGF0YSh0YXNrSWQ6IHN0cmluZywgYm9keTogVGFza1NldERhdGFSZXF1ZXN0Qm9keSk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm92aWRlci5wb3N0JCgncHVibGljL3Rhc2svJyArIHRhc2tJZCArICcvZGF0YScsIHRoaXMuU0VSVkVSX1VSTCwgYm9keSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoZXMgdGFza3MgdHJvdWdoIHRoZSBNb25nbyBlbmRwb2ludC5cbiAgICAgKiBQT1NUXG4gICAgICogQHBhcmFtIGZpbHRlclBhcmFtIGZpbHRlciB1c2VkIHRvIHNlYXJjaCB0aGUgdGFza3MuIE11c3QgYmUgb2YgdHlwZSBgVEFTS2AuXG4gICAgICogTm90ZSB0aGF0IHRoZSBgcXVlcnlgIGF0dHJpYnV0ZSBvZiB0aGUgZmlsdGVyIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyBlbmRwb2ludC5cbiAgICAgKiBBdHRlbXB0aW5nIHRvIHVzZSBpdCB3aWxsIGRpc3BsYXkgYSB3YXJuaW5nIGFuZCByZW1vdmUgdGhlIGF0dHJpYnV0ZSBmcm9tIHRoZSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRpb25hbCByZXF1ZXN0IHBhcmFtZXRlcnNcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3Rhc2svc2VhcmNoXG4gICAgcHVibGljIGdldFRhc2tzKGZpbHRlclBhcmFtOiBGaWx0ZXIsIHBhcmFtcz86IFBhcmFtcyk6IE9ic2VydmFibGU8UGFnZTxUYXNrPj4ge1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW0udHlwZSAhPT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIGZpbHRlciBkb2VzblxcJ3QgaGF2ZSB0eXBlIFRBU0snKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbS5ib2R5Q29udGFpbnNRdWVyeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dldFRhc2tzIGVuZHBvaW50IGNhbm5vdCBiZSBxdWVyaWVkIHdpdGggZmlsdGVycyB0aGF0IGNvbnRhaW4gdGhlIFxcJ3F1ZXJ5XFwnIGF0dHJpYnV0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1zID0gUmVzb3VyY2VQcm92aWRlci5jb21iaW5lUGFyYW1zKGZpbHRlclBhcmFtLmdldFJlcXVlc3RQYXJhbXMoKSwgcGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLnBvc3QkKCdwdWJsaWMvdGFzay9zZWFyY2gnLCB0aGlzLlNFUlZFUl9VUkwsIGZpbHRlclBhcmFtLmdldFJlcXVlc3RCb2R5KCksIHBhcmFtcylcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuZ2V0UmVzb3VyY2VQYWdlPFRhc2s+KHIsICd0YXNrcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWQgdGFzayBmaWxlIGZpZWxkIHZhbHVlXG4gICAgICogR0VUXG4gICAgICovXG4gICAgcHVibGljIGRvd25sb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgcGFyYW1zOiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgcHVibGljL3Rhc2svJHt0YXNrSWR9L2ZpbGUke3BhcmFtcz8uaGFzKFwiZmlsZU5hbWVcIikgPyAnL25hbWVkJyA6ICcnfWA7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldEJsb2IkKHVybCwgdGhpcy5TRVJWRVJfVVJMLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZVByb3ZpZGVyLmdldFByb2dyZXNzKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmJvZHk7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+ICEhdmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBsb2FkIGZpbGUgaW50byB0aGUgdGFza1xuICAgICAqIFBPU1RcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBsb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgYm9keTogb2JqZWN0LCBtdWx0aXBsZUZpbGVzOiBib29sZWFuKTpcbiAgICAgICAgT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGBwdWJsaWMvdGFzay8ke3Rhc2tJZH0vJHttdWx0aXBsZUZpbGVzID8gJ2ZpbGVzJyA6ICdmaWxlJ31gO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0V2l0aEV2ZW50JDxFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+KHVybCwgdGhpcy5TRVJWRVJfVVJMLCBib2R5KS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlUHJvdmlkZXIuZ2V0UHJvZ3Jlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQuYm9keTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGUgZmlsZSBmcm9tIHRoZSB0YXNrXG4gICAgICogREVMRVRFXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZUZpbGUodGFza0lkOiBzdHJpbmcsIGJvZHk6IEZpbGVGaWVsZFJlcXVlc3QpOiBPYnNlcnZhYmxlPE1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgcHVibGljL3Rhc2svJHt0YXNrSWR9L2ZpbGUke2JvZHkuZmlsZU5hbWUgPyAnL25hbWVkJyA6ICcnfWA7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmRlbGV0ZSQodXJsLCB0aGlzLlNFUlZFUl9VUkwsIHt9LCB7fSwgJ2pzb24nLCBib2R5KS5waXBlKFxuICAgICAgICAgICAgbWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWQgdGFzayBmaWxlIHByZXZpZXcgZm9yIGZpZWxkIHZhbHVlXG4gICAgICogR0VUXG4gICAgICovXG4gICAgcHVibGljIGRvd25sb2FkRmlsZVByZXZpZXcodGFza0lkOiBzdHJpbmcsIHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8UHJvdmlkZXJQcm9ncmVzcyB8IEJsb2I+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYHB1YmxpYy90YXNrLyR7dGFza0lkfS9maWxlX3ByZXZpZXdgO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5nZXRCbG9iJCh1cmwsIHRoaXMuU0VSVkVSX1VSTCwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -106,7 +106,7 @@ export class AbstractImportNetComponent {
106
106
  uploadFile(file) {
107
107
  const fileFormData = new FormData();
108
108
  fileFormData.append('file', file.data);
109
- fileFormData.append('uriNodeId', this._uriService.activeNode.id);
109
+ fileFormData.append('uriNodeId', this._uriService.activeNode.path);
110
110
  fileFormData.append('meta', this.releaseTypeControl.value.toString().toUpperCase());
111
111
  file.inProgress = true;
112
112
  file.completed = false;
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
152
152
  template: ''
153
153
  }]
154
154
  }], ctorParameters: () => [{ type: i1.SideMenuControl }, { type: i2.PetriNetResourceService }, { type: i3.UriService }, { type: i4.LoggerService }, { type: i5.SnackBarService }, { type: i6.TranslateService }] });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaW1wb3J0LW5ldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvaW1wb3J0LW5ldC9hYnN0cmFjdC1pbXBvcnQtbmV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFDLFlBQVksRUFBbUIsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7QUFRNUYsTUFBTSxPQUFPLGVBQWU7SUFDeEIsUUFBUSxDQUFTO0lBQ2pCLElBQUksQ0FBNkI7SUFDakMsVUFBVSxDQUFVO0lBQ3BCLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQVU7SUFDbkIsS0FBSyxDQUFXO0lBQ2hCLFFBQVEsQ0FBVztJQUNuQixXQUFXLENBQVU7SUFDckIsR0FBRyxDQUFnQjtDQUN0QjtBQVVELE1BQU0sT0FBZ0IsMEJBQTBCO0lBU3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpmLEtBQUssR0FBYSxFQUFFLENBQUM7SUFDckIsWUFBWSxHQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUQsa0JBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhELFNBQVMsR0FBeUIsU0FBUyxDQUFDO0lBQzVDLFVBQVUsQ0FBbUI7SUFFdkMsWUFBc0IsZ0JBQWlDLEVBQ2pDLGlCQUEwQyxFQUMxQyxXQUF1QixFQUN2QixJQUFtQixFQUNuQixTQUEwQixFQUMxQixVQUE0QjtRQUw1QixxQkFBZ0IsR0FB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QUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO29CQUMxQixNQUFNLEVBQUUsSUFBSTtvQkFDWixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUzt3QkFDM0MsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyx3QkFBd0I7d0JBQ3hELENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU87b0JBRTlCLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBRyxRQUFRLENBQUMsT0FBZ0MsQ0FBQyxHQUFHLEVBQUM7aUJBQzlELENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FDNUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQW5JaUIsMEJBQTBCOzRGQUExQiwwQkFBMEIsK0RBRmxDLEVBQUU7OzRGQUVNLDBCQUEwQjtrQkFKL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2lkZU1lbnVDb250cm9sfSBmcm9tICcuLi8uLi9tb2RlbHMvc2lkZS1tZW51LWNvbnRyb2wnO1xuaW1wb3J0IHtQZXRyaU5ldFJlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9wZXRyaS1uZXQtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7UHJvZ3Jlc3NUeXBlLCBQcm92aWRlclByb2dyZXNzfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2UtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7RmlsZVVwbG9hZERhdGFNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGF0YS1maWVsZHMvZmlsZS1maWVsZC9tb2RlbHMvZmlsZS1maWVsZCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtQZXRyaU5ldEV2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvcGV0cmluZXQtb3V0Y29tZXMvcGV0cmktbmV0LWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtVcmlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi9zZXJ2aWNlL3VyaS5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kZWwge1xuICAgIHN0cmluZ0lkOiBzdHJpbmc7XG4gICAgZGF0YTogRmlsZSB8IEZpbGVVcGxvYWREYXRhTW9kZWw7XG4gICAgaW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgICBwcm9ncmVzczogbnVtYmVyO1xuICAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAgICBlcnJvcj86IGJvb2xlYW47XG4gICAgdXBsb2FkZWQ/OiBib29sZWFuO1xuICAgIGRvd25sb2FkaW5nOiBib29sZWFuO1xuICAgIHN1Yj86IFN1YnNjcmlwdGlvbjtcbn1cblxuaW50ZXJmYWNlIEZpbGVMaXN0IHtcbiAgICBba2V5OiBzdHJpbmddOiBGaWxlVXBsb2FkTW9kZWw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWltcG9ydC1uZXQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEltcG9ydE5ldENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgcHVibGljIGZpbGVzOiBGaWxlTGlzdCA9IHt9O1xuICAgIHB1YmxpYyByZWxlYXNlVHlwZXM6IEFycmF5PHN0cmluZz4gPSBbJ01ham9yJywgJ01pbm9yJywgJ1BhdGNoJ107XG4gICAgcHVibGljIHJlbGVhc2VUeXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbGVhc2VUeXBlc1swXSk7XG5cbiAgICBwcm90ZWN0ZWQgX3Jlc3BvbnNlOiBQZXRyaU5ldEV2ZW50T3V0Y29tZSA9IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgX2ZpbGVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2lkZU1lbnVDb250cm9sOiBTaWRlTWVudUNvbnRyb2wsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wZXRyaU5ldFJlc291cmNlOiBQZXRyaU5ldFJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWxlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lkZW1lbnUtZmlsZVVwbG9hZCcpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZUluZGV4IG9mIEFycmF5LmZyb20oQXJyYXkodGhpcy5fZmlsZUlucHV0LmZpbGVzLmxlbmd0aCkua2V5cygpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLl9maWxlSW5wdXQuZmlsZXNbZmlsZUluZGV4XTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc1tmaWxlLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtub3duRmlsZSA9IHRoaXMuZmlsZXNbZmlsZS5uYW1lXS5kYXRhIGFzIEZpbGU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrbm93bkZpbGUudHlwZSAhPT0gZmlsZS50eXBlIHx8IGtub3duRmlsZS5sYXN0TW9kaWZpZWQgIT09IGZpbGUubGFzdE1vZGlmaWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzW2ZpbGUubmFtZV0gPSB0aGlzLnNldHVwRmlsZShmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNbZmlsZS5uYW1lXSA9IHRoaXMuc2V0dXBGaWxlKGZpbGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMoKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZUxpc3QoKTogQXJyYXk8RmlsZVVwbG9hZE1vZGVsPiB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZmlsZXMpO1xuICAgIH1cblxuICAgIGdldCBpc0FsbEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmZpbGVzKS5ldmVyeShmaWxlID0+ICFmaWxlLmluUHJvZ3Jlc3MgJiYgZmlsZS5wcm9ncmVzcyA9PT0gMTAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qcm9jZXNzRmlsZUNob3NlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGVJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5fZmlsZUlucHV0LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuY2VsRmlsZShmaWxlOiBGaWxlVXBsb2FkTW9kZWwpIHtcbiAgICAgICAgZmlsZS5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVGaWxlKGZpbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXRyeUZpbGUoZmlsZTogRmlsZVVwbG9hZE1vZGVsKSB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5jbG9zZSh7XG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWVzc2FnZTogJ0FsbCBwcm9jZXNzIGZpbGVzIHdlcmUgcHJvY2Vzc2VkJyxcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuX3Jlc3BvbnNlID8geyBuZXQ6IHRoaXMuX3Jlc3BvbnNlLm5ldCB9IDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cEZpbGUoZmlsZTogRmlsZSk6IEZpbGVVcGxvYWRNb2RlbCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBmaWxlLCBzdHJpbmdJZDogJycsIGRvd25sb2FkaW5nOiBmYWxzZSwgaW5Qcm9ncmVzczogZmFsc2UsIHByb2dyZXNzOiAwLCBjb21wbGV0ZWQ6IGZhbHNlLCB1cGxvYWRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBsb2FkRmlsZXMoKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dC52YWx1ZSA9ICcnO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3QuZmlsdGVyKGZpbGVNb2RlbCA9PiAhZmlsZU1vZGVsLmNvbXBsZXRlZCAmJiBmaWxlTW9kZWwucHJvZ3Jlc3MgPT09IDApLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW1vdmVGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBpZiAodGhpcy5maWxlc1tmaWxlLmRhdGEubmFtZV0pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmZpbGVzW2ZpbGUuZGF0YS5uYW1lXTtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5wdWJsaXNoKHtcbiAgICAgICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ1Byb2Nlc3MgJyArIGZpbGUuZGF0YS5uYW1lICsgJyB3YXMgZGVsZXRlZCBmcm9tIHRoZSBsaXN0JyxcbiAgICAgICAgICAgICAgICBkYXRhOiBmaWxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGxvYWRGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBjb25zdCBmaWxlRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUuZGF0YSBhcyBGaWxlKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgndXJpTm9kZUlkJywgdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlLmlkKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgnbWV0YScsIHRoaXMucmVsZWFzZVR5cGVDb250cm9sLnZhbHVlLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSk7XG5cbiAgICAgICAgZmlsZS5pblByb2dyZXNzID0gdHJ1ZTtcbiAgICAgICAgZmlsZS5jb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgZmlsZS5lcnJvciA9IGZhbHNlO1xuICAgICAgICBmaWxlLnN1YiA9IHRoaXMuX3BldHJpTmV0UmVzb3VyY2UuaW1wb3J0UGV0cmlOZXQoZmlsZUZvcm1EYXRhKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGlmICgocmVzcG9uc2UgYXMgUHJvdmlkZXJQcm9ncmVzcykudHlwZSAmJiAocmVzcG9uc2UgYXMgUHJvdmlkZXJQcm9ncmVzcykudHlwZSA9PT0gUHJvZ3Jlc3NUeXBlLlVQTE9BRCkge1xuICAgICAgICAgICAgICAgIGZpbGUucHJvZ3Jlc3MgPSAocmVzcG9uc2UgYXMgUHJvdmlkZXJQcm9ncmVzcykucHJvZ3Jlc3M7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUucHJvZ3Jlc3MgPT09IDEwMCkge1xuICAgICAgICAgICAgICAgICAgICBmaWxlLnVwbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5pbmZvKHJlc3BvbnNlLnN1Y2Nlc3MpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNlID0gcmVzcG9uc2Uub3V0Y29tZSBhcyBQZXRyaU5ldEV2ZW50T3V0Y29tZTtcbiAgICAgICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmaWxlLmNvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlblN1Y2Nlc3NTbmFja0JhcihyZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd3b3JrZmxvdy5zbmFja0Jhci51cGxvYWRTdWNjZXNzJylcbiAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5wdWJsaXNoKHtcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnUHJvY2VzcyAnICsgZmlsZS5kYXRhLm5hbWUgKyAnIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcG9uc2Uub3V0Y29tZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge25ldDogKHJlc3BvbnNlLm91dGNvbWUgYXMgUGV0cmlOZXRFdmVudE91dGNvbWUpLm5ldH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgZmlsZS5pblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICBmaWxlLmNvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgZmlsZS5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoJ0ltcG9ydGluZyBwcm9jZXNzIGZpbGUgaGFzIGZhaWxlZCEnLCBlcnJvcik7XG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuRXJyb3JTbmFja0JhcihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnd29ya2Zsb3cuc25hY2tCYXIudXBsb2FkRmFpbGVkJyl9ICR7ZXJyb3I/LmVycm9yPy5tZXNzYWdlID8/ICcnfWApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaW1wb3J0LW5ldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvaW1wb3J0LW5ldC9hYnN0cmFjdC1pbXBvcnQtbmV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFDLFlBQVksRUFBbUIsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7QUFRNUYsTUFBTSxPQUFPLGVBQWU7SUFDeEIsUUFBUSxDQUFTO0lBQ2pCLElBQUksQ0FBNkI7SUFDakMsVUFBVSxDQUFVO0lBQ3BCLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQVU7SUFDbkIsS0FBSyxDQUFXO0lBQ2hCLFFBQVEsQ0FBVztJQUNuQixXQUFXLENBQVU7SUFDckIsR0FBRyxDQUFnQjtDQUN0QjtBQVVELE1BQU0sT0FBZ0IsMEJBQTBCO0lBU3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpmLEtBQUssR0FBYSxFQUFFLENBQUM7SUFDckIsWUFBWSxHQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUQsa0JBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhELFNBQVMsR0FBeUIsU0FBUyxDQUFDO0lBQzVDLFVBQVUsQ0FBbUI7SUFFdkMsWUFBc0IsZ0JBQWlDLEVBQ2pDLGlCQUEwQyxFQUMxQyxXQUF1QixFQUN2QixJQUFtQixFQUNuQixTQUEwQixFQUMxQixVQUE0QjtRQUw1QixxQkFBZ0IsR0FB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QUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO29CQUMxQixNQUFNLEVBQUUsSUFBSTtvQkFDWixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUzt3QkFDM0MsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyx3QkFBd0I7d0JBQ3hELENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU87b0JBRTlCLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBRyxRQUFRLENBQUMsT0FBZ0MsQ0FBQyxHQUFHLEVBQUM7aUJBQzlELENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FDNUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQW5JaUIsMEJBQTBCOzRGQUExQiwwQkFBMEIsK0RBRmxDLEVBQUU7OzRGQUVNLDBCQUEwQjtrQkFKL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2lkZU1lbnVDb250cm9sfSBmcm9tICcuLi8uLi9tb2RlbHMvc2lkZS1tZW51LWNvbnRyb2wnO1xuaW1wb3J0IHtQZXRyaU5ldFJlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9wZXRyaS1uZXQtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7UHJvZ3Jlc3NUeXBlLCBQcm92aWRlclByb2dyZXNzfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2UtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7RmlsZVVwbG9hZERhdGFNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGF0YS1maWVsZHMvZmlsZS1maWVsZC9tb2RlbHMvZmlsZS1maWVsZCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtQZXRyaU5ldEV2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvcGV0cmluZXQtb3V0Y29tZXMvcGV0cmktbmV0LWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtVcmlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi9zZXJ2aWNlL3VyaS5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kZWwge1xuICAgIHN0cmluZ0lkOiBzdHJpbmc7XG4gICAgZGF0YTogRmlsZSB8IEZpbGVVcGxvYWREYXRhTW9kZWw7XG4gICAgaW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgICBwcm9ncmVzczogbnVtYmVyO1xuICAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAgICBlcnJvcj86IGJvb2xlYW47XG4gICAgdXBsb2FkZWQ/OiBib29sZWFuO1xuICAgIGRvd25sb2FkaW5nOiBib29sZWFuO1xuICAgIHN1Yj86IFN1YnNjcmlwdGlvbjtcbn1cblxuaW50ZXJmYWNlIEZpbGVMaXN0IHtcbiAgICBba2V5OiBzdHJpbmddOiBGaWxlVXBsb2FkTW9kZWw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWltcG9ydC1uZXQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEltcG9ydE5ldENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgcHVibGljIGZpbGVzOiBGaWxlTGlzdCA9IHt9O1xuICAgIHB1YmxpYyByZWxlYXNlVHlwZXM6IEFycmF5PHN0cmluZz4gPSBbJ01ham9yJywgJ01pbm9yJywgJ1BhdGNoJ107XG4gICAgcHVibGljIHJlbGVhc2VUeXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbGVhc2VUeXBlc1swXSk7XG5cbiAgICBwcm90ZWN0ZWQgX3Jlc3BvbnNlOiBQZXRyaU5ldEV2ZW50T3V0Y29tZSA9IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgX2ZpbGVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2lkZU1lbnVDb250cm9sOiBTaWRlTWVudUNvbnRyb2wsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wZXRyaU5ldFJlc291cmNlOiBQZXRyaU5ldFJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWxlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lkZW1lbnUtZmlsZVVwbG9hZCcpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZUluZGV4IG9mIEFycmF5LmZyb20oQXJyYXkodGhpcy5fZmlsZUlucHV0LmZpbGVzLmxlbmd0aCkua2V5cygpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLl9maWxlSW5wdXQuZmlsZXNbZmlsZUluZGV4XTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc1tmaWxlLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtub3duRmlsZSA9IHRoaXMuZmlsZXNbZmlsZS5uYW1lXS5kYXRhIGFzIEZpbGU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrbm93bkZpbGUudHlwZSAhPT0gZmlsZS50eXBlIHx8IGtub3duRmlsZS5sYXN0TW9kaWZpZWQgIT09IGZpbGUubGFzdE1vZGlmaWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzW2ZpbGUubmFtZV0gPSB0aGlzLnNldHVwRmlsZShmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNbZmlsZS5uYW1lXSA9IHRoaXMuc2V0dXBGaWxlKGZpbGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMoKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZUxpc3QoKTogQXJyYXk8RmlsZVVwbG9hZE1vZGVsPiB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZmlsZXMpO1xuICAgIH1cblxuICAgIGdldCBpc0FsbEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmZpbGVzKS5ldmVyeShmaWxlID0+ICFmaWxlLmluUHJvZ3Jlc3MgJiYgZmlsZS5wcm9ncmVzcyA9PT0gMTAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qcm9jZXNzRmlsZUNob3NlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGVJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5fZmlsZUlucHV0LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuY2VsRmlsZShmaWxlOiBGaWxlVXBsb2FkTW9kZWwpIHtcbiAgICAgICAgZmlsZS5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVGaWxlKGZpbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXRyeUZpbGUoZmlsZTogRmlsZVVwbG9hZE1vZGVsKSB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5jbG9zZSh7XG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWVzc2FnZTogJ0FsbCBwcm9jZXNzIGZpbGVzIHdlcmUgcHJvY2Vzc2VkJyxcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuX3Jlc3BvbnNlID8geyBuZXQ6IHRoaXMuX3Jlc3BvbnNlLm5ldCB9IDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cEZpbGUoZmlsZTogRmlsZSk6IEZpbGVVcGxvYWRNb2RlbCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBmaWxlLCBzdHJpbmdJZDogJycsIGRvd25sb2FkaW5nOiBmYWxzZSwgaW5Qcm9ncmVzczogZmFsc2UsIHByb2dyZXNzOiAwLCBjb21wbGV0ZWQ6IGZhbHNlLCB1cGxvYWRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBsb2FkRmlsZXMoKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dC52YWx1ZSA9ICcnO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3QuZmlsdGVyKGZpbGVNb2RlbCA9PiAhZmlsZU1vZGVsLmNvbXBsZXRlZCAmJiBmaWxlTW9kZWwucHJvZ3Jlc3MgPT09IDApLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW1vdmVGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBpZiAodGhpcy5maWxlc1tmaWxlLmRhdGEubmFtZV0pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmZpbGVzW2ZpbGUuZGF0YS5uYW1lXTtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5wdWJsaXNoKHtcbiAgICAgICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ1Byb2Nlc3MgJyArIGZpbGUuZGF0YS5uYW1lICsgJyB3YXMgZGVsZXRlZCBmcm9tIHRoZSBsaXN0JyxcbiAgICAgICAgICAgICAgICBkYXRhOiBmaWxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGxvYWRGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBjb25zdCBmaWxlRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUuZGF0YSBhcyBGaWxlKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgndXJpTm9kZUlkJywgdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlLnBhdGgpO1xuICAgICAgICBmaWxlRm9ybURhdGEuYXBwZW5kKCdtZXRhJywgdGhpcy5yZWxlYXNlVHlwZUNvbnRyb2wudmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpKTtcblxuICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICBmaWxlLmNvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICBmaWxlLmVycm9yID0gZmFsc2U7XG4gICAgICAgIGZpbGUuc3ViID0gdGhpcy5fcGV0cmlOZXRSZXNvdXJjZS5pbXBvcnRQZXRyaU5ldChmaWxlRm9ybURhdGEpLnN1YnNjcmliZSgocmVzcG9uc2U6IEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgaWYgKChyZXNwb25zZSBhcyBQcm92aWRlclByb2dyZXNzKS50eXBlICYmIChyZXNwb25zZSBhcyBQcm92aWRlclByb2dyZXNzKS50eXBlID09PSBQcm9ncmVzc1R5cGUuVVBMT0FEKSB7XG4gICAgICAgICAgICAgICAgZmlsZS5wcm9ncmVzcyA9IChyZXNwb25zZSBhcyBQcm92aWRlclByb2dyZXNzKS5wcm9ncmVzcztcbiAgICAgICAgICAgICAgICBpZiAoZmlsZS5wcm9ncmVzcyA9PT0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGUudXBsb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmluZm8ocmVzcG9uc2Uuc3VjY2Vzcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2UgPSByZXNwb25zZS5vdXRjb21lIGFzIFBldHJpTmV0RXZlbnRPdXRjb21lO1xuICAgICAgICAgICAgICAgIGZpbGUuaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGZpbGUuY29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuU3VjY2Vzc1NuYWNrQmFyKHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3dvcmtmbG93LnNuYWNrQmFyLnVwbG9hZFN1Y2Nlc3MnKVxuICAgICAgICAgICAgICAgICAgICA6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLnB1Ymxpc2goe1xuICAgICAgICAgICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdQcm9jZXNzICcgKyBmaWxlLmRhdGEubmFtZSArICcgc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7bmV0OiAocmVzcG9uc2Uub3V0Y29tZSBhcyBQZXRyaU5ldEV2ZW50T3V0Y29tZSkubmV0fVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpbGUuY29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgICAgICBmaWxlLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcignSW1wb3J0aW5nIHByb2Nlc3MgZmlsZSBoYXMgZmFpbGVkIScsIGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5FcnJvclNuYWNrQmFyKFxuICAgICAgICAgICAgICAgIGAke3RoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd3b3JrZmxvdy5zbmFja0Jhci51cGxvYWRGYWlsZWQnKX0gJHtlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgPz8gJyd9YCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19