tnx-shared 5.1.74 → 5.1.78

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 (28) hide show
  1. package/bundles/tnx-shared.umd.js +139 -60
  2. package/bundles/tnx-shared.umd.js.map +1 -1
  3. package/bundles/tnx-shared.umd.min.js +1 -1
  4. package/bundles/tnx-shared.umd.min.js.map +1 -1
  5. package/classes/base/data-form-base.d.ts.map +1 -1
  6. package/classes/base/data-list-base.d.ts.map +1 -1
  7. package/classes/workflow-schema.d.ts +1 -0
  8. package/classes/workflow-schema.d.ts.map +1 -1
  9. package/components/crud/crud-list/crud-list.component.d.ts.map +1 -1
  10. package/components/share-link-by-permission/models/share-link-by-permission.d.ts +3 -0
  11. package/components/share-link-by-permission/models/share-link-by-permission.d.ts.map +1 -1
  12. package/components/share-link-by-permission/share-link-by-permission.component.d.ts.map +1 -1
  13. package/components/workflow/models/const.d.ts +1 -0
  14. package/components/workflow/models/const.d.ts.map +1 -1
  15. package/components/workflow/workflow-setting-new/workflow-setting-new.component.d.ts.map +1 -1
  16. package/esm2015/classes/base/data-form-base.js +23 -13
  17. package/esm2015/classes/base/data-list-base.js +10 -2
  18. package/esm2015/classes/workflow-schema.js +1 -1
  19. package/esm2015/components/crud/crud-list/crud-list.component.js +25 -5
  20. package/esm2015/components/share-link-by-permission/models/share-link-by-permission.js +1 -1
  21. package/esm2015/components/share-link-by-permission/share-link-by-permission.component.js +31 -1
  22. package/esm2015/components/workflow/models/const.js +2 -1
  23. package/esm2015/components/workflow/workflow-setting-new/workflow-setting-new.component.js +17 -3
  24. package/esm2015/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.js +3 -3
  25. package/fesm2015/tnx-shared.js +106 -25
  26. package/fesm2015/tnx-shared.js.map +1 -1
  27. package/package.json +2 -2
  28. package/tnx-shared.metadata.json +1 -1
@@ -2,4 +2,4 @@ export class ModelShareLinkByPermission {
2
2
  }
3
3
  export class ModelShareLinkByPermissionItem {
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmUtbGluay1ieS1wZXJtaXNzaW9uL21vZGVscy9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtDQUd0QztBQUVELE1BQU0sT0FBTyw4QkFBOEI7Q0FJMUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24ge1xyXG4gICAgbGlua1RvTWVudTogc3RyaW5nO1xyXG4gICAgbHN0SXRlbURhdGE6IE1vZGVsU2hhcmVMaW5rQnlQZXJtaXNzaW9uSXRlbVtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb25JdGVtIHtcclxuICAgIGl0ZW1JZDogc3RyaW5nO1xyXG4gICAgcGVybWlzc2lvbjogbnVtYmVyO1xyXG4gICAgc3RhdGU6IHN0cmluZztcclxufVxyXG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmUtbGluay1ieS1wZXJtaXNzaW9uL21vZGVscy9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtDQU10QztBQUVELE1BQU0sT0FBTyw4QkFBOEI7Q0FJMUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24ge1xyXG4gICAgbGlua1RvTWVudTogc3RyaW5nO1xyXG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xyXG4gICAgb2JqZWN0RGlzcGxheU5hbWU6IHN0cmluZztcclxuICAgIGRpc3BsYXlGaWVsZDogc3RyaW5nO1xyXG4gICAgbHN0SXRlbURhdGE6IE1vZGVsU2hhcmVMaW5rQnlQZXJtaXNzaW9uSXRlbVtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb25JdGVtIHtcclxuICAgIGl0ZW1JZDogc3RyaW5nO1xyXG4gICAgcGVybWlzc2lvbjogbnVtYmVyO1xyXG4gICAgc3RhdGU6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -75,6 +75,29 @@ export class ShareLinkByPermissionComponent extends ComponentBase {
75
75
  const dicState = yield this.setting.getItemState(this.lstItem);
76
76
  const itemShares = new ModelShareLinkByPermission();
77
77
  itemShares.linkToMenu = `${top.location.origin}${top.location.pathname}`;
78
+ itemShares.sourcePath = `${encodeURIComponent(top.location.href)}`;
79
+ itemShares.objectDisplayName = `${encodeURIComponent(this.setting.objectName)}`;
80
+ if (typeof this.setting.displayField == 'string') {
81
+ itemShares.displayField = `${this.setting.displayField}`;
82
+ }
83
+ else {
84
+ const firstItem = this.lstItem[0];
85
+ // Chỗ này xử lý khác crud-list chút
86
+ // Nếu displayField không phải là 'string' thì lấy trường đánh dấu là showEditLink trên giao diện
87
+ const colShowEditLink = this.setting.cols.find(q => q.showEditLink);
88
+ let fieldHienThi = null;
89
+ if (colShowEditLink) {
90
+ const value = firstItem[colShowEditLink.field];
91
+ // Nếu có value của `str${colShowEditLink.field}` thì là trường reference
92
+ // => Chỉ lấy trường hợp trường gốc có dữ liệu và trường reference k có dữ liệu
93
+ if (value && !firstItem[`str${colShowEditLink.field}`]) {
94
+ fieldHienThi = colShowEditLink.field;
95
+ }
96
+ }
97
+ if (fieldHienThi) {
98
+ itemShares.displayField = `${fieldHienThi}`;
99
+ }
100
+ }
78
101
  itemShares.lstItemData = [];
79
102
  this.lstItem.forEach(item => {
80
103
  itemShares.lstItemData.push({
@@ -82,6 +105,13 @@ export class ShareLinkByPermissionComponent extends ComponentBase {
82
105
  permission,
83
106
  state: encodeURIComponent(JSON.stringify(dicState[item.id]))
84
107
  });
108
+ if (!itemShares.displayField) {
109
+ const rowItem = this.lstItem.find(q => q.id == item.id);
110
+ if (typeof this.setting.displayField != 'string') {
111
+ const tenDayDu = this.setting.displayField(rowItem);
112
+ content += `&displayField=&tenDayDu=${encodeURIComponent(tenDayDu)}`;
113
+ }
114
+ }
85
115
  });
86
116
  const dicPermissionId = (yield this.setting.baseService.getSharedKey(itemShares)).data;
87
117
  if (!dicPermissionId) {
@@ -117,4 +147,4 @@ ShareLinkByPermissionComponent.propDecorators = {
117
147
  setting: [{ type: Input }],
118
148
  lstItem: [{ type: Input }]
119
149
  };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NoYXJlLWxpbmstYnktcGVybWlzc2lvbi9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBUS9FLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxhQUFhO0lBVzdELFlBQ2MsU0FBbUIsRUFDckIsZ0JBQWlDO1FBRXpDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUhQLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQVY3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztJQU9wQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFSyw0QkFBNEI7O1lBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUU3RixJQUFJLFVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDekI7aUJBQ0k7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDM0I7WUFFRCxJQUFJLFVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDekIseUJBQXlCO2FBQzVCO2lCQUNJO2dCQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1lBRUQsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLDJCQUEyQjthQUM5QjtpQkFDSTtnQkFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQzthQUM3QjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUM7S0FBQTtJQUVLLGVBQWU7O1lBQ2pCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNuQixVQUFVLEdBQUcsVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7aUJBQ2pEO2FBQ0o7WUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNuQixVQUFVLEdBQUcsVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7aUJBQ2pEO2FBQ0o7WUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUNyQixVQUFVLEdBQUcsVUFBVSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7aUJBQ25EO2FBQ0o7WUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0QsTUFBTSxVQUFVLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztZQUNoRixVQUFVLENBQUMsVUFBVSxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6RSxVQUFVLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDZixVQUFVO29CQUNWLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDL0QsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLFVBQVUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLElBQUksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDdkQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFHRCxtQkFBbUI7UUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDM0U7SUFDTCxDQUFDOzs7WUE1R0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLGk5Q0FBd0Q7Z0JBRXhELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBYm1CLFFBQVE7WUFLbkIsZUFBZTs7O3NCQVVuQixLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvY29tcG9uZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBDcnVkTGlzdFNldHRpbmcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkJhc2UgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21tb24nO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24gfSBmcm9tICcuL21vZGVscy9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NoYXJlLWxpbmstYnktcGVybWlzc2lvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NoYXJlLWxpbmstYnktcGVybWlzc2lvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZUxpbmtCeVBlcm1pc3Npb25Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNldHRpbmc6IENydWRMaXN0U2V0dGluZztcclxuICAgIEBJbnB1dCgpIGxzdEl0ZW06IGFueVtdO1xyXG4gICAgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgZGlzYWJsZVJlYWQgPSBmYWxzZTtcclxuICAgIGRpc2FibGVFZGl0ID0gZmFsc2U7XHJcbiAgICBkaXNhYmxlRGVsZXRlID0gZmFsc2U7XHJcbiAgICBhbGxvd1JlYWQgPSBmYWxzZTtcclxuICAgIGFsbG93RWRpdCA9IGZhbHNlO1xyXG4gICAgYWxsb3dEZWxldGUgPSBmYWxzZTtcclxuICAgIGxpbmtzOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9ub3RpZmllclNlcnZpY2U6IE5vdGlmaWVyU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25TaGFyZWRCeUl0ZW1JZHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRQZXJtaXNzaW9uU2hhcmVkQnlJdGVtSWRzKCkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgY29uc3QgbHN0SWQgPSB0aGlzLmxzdEl0ZW0ubWFwKHEgPT4gcS5pZCk7XHJcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IChhd2FpdCB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UuZ2V0UGVybWlzc2lvblNoYXJlZEJ5SXRlbUlkcyhsc3RJZCkpLmRhdGE7XHJcblxyXG4gICAgICAgIGlmIChwZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuUkVBRCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVSZWFkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsb3dSZWFkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVJlYWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBlcm1pc3Npb24gJiBQZXJtaXNzaW9uQmFzZS5FRElUKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUVkaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gdGhpcy5hbGxvd0VkaXQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlRWRpdCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGVybWlzc2lvbiAmIFBlcm1pc3Npb25CYXNlLkRFTEVURSkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVEZWxldGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gdGhpcy5hbGxvd0RlbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVEZWxldGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlU2hhcmVMaW5rKCkge1xyXG4gICAgICAgIGxldCBwZXJtaXNzaW9uID0gMDtcclxuICAgICAgICBpZiAodGhpcy5hbGxvd1JlYWQpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVSZWFkKSB7XHJcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gcGVybWlzc2lvbiB8IFBlcm1pc3Npb25CYXNlLlJFQUQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYWxsb3dFZGl0KSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlRWRpdCkge1xyXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHBlcm1pc3Npb24gfCBQZXJtaXNzaW9uQmFzZS5FRElUO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmFsbG93RGVsZXRlKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlRGVsZXRlKSB7XHJcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gcGVybWlzc2lvbiB8IFBlcm1pc3Npb25CYXNlLkRFTEVURTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXBlcm1pc3Npb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnQuG6oW4gY2jGsGEgY2jhu41uIHF1eeG7gW4gbsOgbyDEkeG7gyBjaGlhIHPhursnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGljU3RhdGUgPSBhd2FpdCB0aGlzLnNldHRpbmcuZ2V0SXRlbVN0YXRlKHRoaXMubHN0SXRlbSk7XHJcbiAgICAgICAgY29uc3QgaXRlbVNoYXJlczogTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24gPSBuZXcgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24oKTtcclxuICAgICAgICBpdGVtU2hhcmVzLmxpbmtUb01lbnUgPSBgJHt0b3AubG9jYXRpb24ub3JpZ2lufSR7dG9wLmxvY2F0aW9uLnBhdGhuYW1lfWA7XHJcbiAgICAgICAgaXRlbVNoYXJlcy5sc3RJdGVtRGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMubHN0SXRlbS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtU2hhcmVzLmxzdEl0ZW1EYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbixcclxuICAgICAgICAgICAgICAgIHN0YXRlOiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZGljU3RhdGVbaXRlbS5pZF0pKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBkaWNQZXJtaXNzaW9uSWQgPSAoYXdhaXQgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLmdldFNoYXJlZEtleShpdGVtU2hhcmVzKSkuZGF0YTtcclxuICAgICAgICBpZiAoIWRpY1Blcm1pc3Npb25JZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdC4bqhbiBraMO0bmcgY8OzIHF1eeG7gW4gY2hpYSBz4bq7IGLhuqNuIGdoaScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgY29udGVudCA9ICcnO1xyXG4gICAgICAgIGl0ZW1TaGFyZXMubHN0SXRlbURhdGEuZm9yRWFjaChpdGVtRGF0YSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQgKz0gYCR7ZGljUGVybWlzc2lvbklkW2l0ZW1EYXRhLml0ZW1JZF19XFxuYDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmxpbmtzID0gY29udGVudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29weUxpbmtUb0NsaXBib2FyZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5saW5rcykge1xyXG4gICAgICAgICAgICB0aGlzLmNvcHlUb0NsaXBib2FyZCh0aGlzLmxpbmtzKTtcclxuICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdDb3B5IGxpbmsgdsOgbyBjbGlwYm9hcmQgdGjDoG5oIGPDtG5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NoYXJlLWxpbmstYnktcGVybWlzc2lvbi9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBUS9FLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxhQUFhO0lBVzdELFlBQ2MsU0FBbUIsRUFDckIsZ0JBQWlDO1FBRXpDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUhQLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQVY3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztJQU9wQixDQUFDO0lB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O2dCQUNQLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLGk5Q0FBd0Q7Z0JBRXhELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBYm1CLFFBQVE7WUFLbkIsZUFBZTs7O3NCQVVuQixLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvY29tcG9uZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBDcnVkTGlzdFNldHRpbmcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkJhc2UgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21tb24nO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24gfSBmcm9tICcuL21vZGVscy9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NoYXJlLWxpbmstYnktcGVybWlzc2lvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NoYXJlLWxpbmstYnktcGVybWlzc2lvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZUxpbmtCeVBlcm1pc3Npb25Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNldHRpbmc6IENydWRMaXN0U2V0dGluZztcclxuICAgIEBJbnB1dCgpIGxzdEl0ZW06IGFueVtdO1xyXG4gICAgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgZGlzYWJsZVJlYWQgPSBmYWxzZTtcclxuICAgIGRpc2FibGVFZGl0ID0gZmFsc2U7XHJcbiAgICBkaXNhYmxlRGVsZXRlID0gZmFsc2U7XHJcbiAgICBhbGxvd1JlYWQgPSBmYWxzZTtcclxuICAgIGFsbG93RWRpdCA9IGZhbHNlO1xyXG4gICAgYWxsb3dEZWxldGUgPSBmYWxzZTtcclxuICAgIGxpbmtzOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9ub3RpZmllclNlcnZpY2U6IE5vdGlmaWVyU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25TaGFyZWRCeUl0ZW1JZHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRQZXJtaXNzaW9uU2hhcmVkQnlJdGVtSWRzKCkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgY29uc3QgbHN0SWQgPSB0aGlzLmxzdEl0ZW0ubWFwKHEgPT4gcS5pZCk7XHJcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IChhd2FpdCB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UuZ2V0UGVybWlzc2lvblNoYXJlZEJ5SXRlbUlkcyhsc3RJZCkpLmRhdGE7XHJcblxyXG4gICAgICAgIGlmIChwZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuUkVBRCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVSZWFkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsb3dSZWFkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVJlYWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBlcm1pc3Npb24gJiBQZXJtaXNzaW9uQmFzZS5FRElUKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUVkaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gdGhpcy5hbGxvd0VkaXQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlRWRpdCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGVybWlzc2lvbiAmIFBlcm1pc3Npb25CYXNlLkRFTEVURSkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVEZWxldGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gdGhpcy5hbGxvd0RlbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVEZWxldGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlU2hhcmVMaW5rKCkge1xyXG4gICAgICAgIGxldCBwZXJtaXNzaW9uID0gMDtcclxuICAgICAgICBpZiAodGhpcy5hbGxvd1JlYWQpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVSZWFkKSB7XHJcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gcGVybWlzc2lvbiB8IFBlcm1pc3Npb25CYXNlLlJFQUQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYWxsb3dFZGl0KSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlRWRpdCkge1xyXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHBlcm1pc3Npb24gfCBQZXJtaXNzaW9uQmFzZS5FRElUO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmFsbG93RGVsZXRlKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlRGVsZXRlKSB7XHJcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gcGVybWlzc2lvbiB8IFBlcm1pc3Npb25CYXNlLkRFTEVURTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXBlcm1pc3Npb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnQuG6oW4gY2jGsGEgY2jhu41uIHF1eeG7gW4gbsOgbyDEkeG7gyBjaGlhIHPhursnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGljU3RhdGUgPSBhd2FpdCB0aGlzLnNldHRpbmcuZ2V0SXRlbVN0YXRlKHRoaXMubHN0SXRlbSk7XHJcbiAgICAgICAgY29uc3QgaXRlbVNoYXJlczogTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24gPSBuZXcgTW9kZWxTaGFyZUxpbmtCeVBlcm1pc3Npb24oKTtcclxuICAgICAgICBpdGVtU2hhcmVzLmxpbmtUb01lbnUgPSBgJHt0b3AubG9jYXRpb24ub3JpZ2lufSR7dG9wLmxvY2F0aW9uLnBhdGhuYW1lfWA7XHJcbiAgICAgICAgaXRlbVNoYXJlcy5zb3VyY2VQYXRoID0gYCR7ZW5jb2RlVVJJQ29tcG9uZW50KHRvcC5sb2NhdGlvbi5ocmVmKX1gO1xyXG4gICAgICAgIGl0ZW1TaGFyZXMub2JqZWN0RGlzcGxheU5hbWUgPSBgJHtlbmNvZGVVUklDb21wb25lbnQodGhpcy5zZXR0aW5nLm9iamVjdE5hbWUpfWA7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zZXR0aW5nLmRpc3BsYXlGaWVsZCA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBpdGVtU2hhcmVzLmRpc3BsYXlGaWVsZCA9IGAke3RoaXMuc2V0dGluZy5kaXNwbGF5RmllbGR9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0SXRlbSA9IHRoaXMubHN0SXRlbVswXTtcclxuICAgICAgICAgICAgLy8gQ2jhu5cgbsOgeSB44butIGzDvSBraMOhYyBjcnVkLWxpc3QgY2jDunRcclxuICAgICAgICAgICAgLy8gTuG6v3UgZGlzcGxheUZpZWxkIGtow7RuZyBwaOG6o2kgbMOgICdzdHJpbmcnIHRow6wgbOG6pXkgdHLGsOG7nW5nIMSRw6FuaCBk4bqldSBsw6Agc2hvd0VkaXRMaW5rIHRyw6puIGdpYW8gZGnhu4duXHJcbiAgICAgICAgICAgIGNvbnN0IGNvbFNob3dFZGl0TGluayA9IHRoaXMuc2V0dGluZy5jb2xzLmZpbmQocSA9PiBxLnNob3dFZGl0TGluayk7XHJcbiAgICAgICAgICAgIGxldCBmaWVsZEhpZW5UaGkgPSBudWxsO1xyXG4gICAgICAgICAgICBpZiAoY29sU2hvd0VkaXRMaW5rKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZpcnN0SXRlbVtjb2xTaG93RWRpdExpbmsuZmllbGRdO1xyXG4gICAgICAgICAgICAgICAgLy8gTuG6v3UgY8OzIHZhbHVlIGPhu6dhIGBzdHIke2NvbFNob3dFZGl0TGluay5maWVsZH1gIHRow6wgbMOgIHRyxrDhu51uZyByZWZlcmVuY2VcclxuICAgICAgICAgICAgICAgIC8vID0+IENo4buJIGzhuqV5IHRyxrDhu51uZyBo4bujcCB0csaw4budbmcgZ+G7kWMgY8OzIGThu68gbGnhu4d1IHbDoCB0csaw4budbmcgcmVmZXJlbmNlIGsgY8OzIGThu68gbGnhu4d1XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgJiYgIWZpcnN0SXRlbVtgc3RyJHtjb2xTaG93RWRpdExpbmsuZmllbGR9YF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZEhpZW5UaGkgPSBjb2xTaG93RWRpdExpbmsuZmllbGQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGZpZWxkSGllblRoaSkge1xyXG4gICAgICAgICAgICAgICAgaXRlbVNoYXJlcy5kaXNwbGF5RmllbGQgPSBgJHtmaWVsZEhpZW5UaGl9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaXRlbVNoYXJlcy5sc3RJdGVtRGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMubHN0SXRlbS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtU2hhcmVzLmxzdEl0ZW1EYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbixcclxuICAgICAgICAgICAgICAgIHN0YXRlOiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZGljU3RhdGVbaXRlbS5pZF0pKVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGlmICghaXRlbVNoYXJlcy5kaXNwbGF5RmllbGQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvd0l0ZW0gPSB0aGlzLmxzdEl0ZW0uZmluZChxID0+IHEuaWQgPT0gaXRlbS5pZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2V0dGluZy5kaXNwbGF5RmllbGQgIT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW5EYXlEdSA9IHRoaXMuc2V0dGluZy5kaXNwbGF5RmllbGQocm93SXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSBgJmRpc3BsYXlGaWVsZD0mdGVuRGF5RHU9JHtlbmNvZGVVUklDb21wb25lbnQodGVuRGF5RHUpfWA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBkaWNQZXJtaXNzaW9uSWQgPSAoYXdhaXQgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLmdldFNoYXJlZEtleShpdGVtU2hhcmVzKSkuZGF0YTtcclxuICAgICAgICBpZiAoIWRpY1Blcm1pc3Npb25JZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdC4bqhbiBraMO0bmcgY8OzIHF1eeG7gW4gY2hpYSBz4bq7IGLhuqNuIGdoaScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgY29udGVudCA9ICcnO1xyXG4gICAgICAgIGl0ZW1TaGFyZXMubHN0SXRlbURhdGEuZm9yRWFjaChpdGVtRGF0YSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQgKz0gYCR7ZGljUGVybWlzc2lvbklkW2l0ZW1EYXRhLml0ZW1JZF19XFxuYDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmxpbmtzID0gY29udGVudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29weUxpbmtUb0NsaXBib2FyZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5saW5rcykge1xyXG4gICAgICAgICAgICB0aGlzLmNvcHlUb0NsaXBib2FyZCh0aGlzLmxpbmtzKTtcclxuICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdDb3B5IGxpbmsgdsOgbyBjbGlwYm9hcmQgdGjDoG5oIGPDtG5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,6 @@
1
+ export const DummyWorkflowCode = 'DummyWorkflowCode';
1
2
  export const MaActionBatDauQuyTrinh = '_START_';
2
3
  export const ActionThuHoiBase = '__THU_HOI';
3
4
  export const ActionChoYKienBase = '__CHO_Y_KIEN';
4
5
  export const ActionUpdateModel = '__UPDATE_MODEL';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy93b3JrZmxvdy9tb2RlbHMvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsU0FBUyxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTWFBY3Rpb25CYXREYXVRdXlUcmluaCA9ICdfU1RBUlRfJztcclxuZXhwb3J0IGNvbnN0IEFjdGlvblRodUhvaUJhc2UgPSAnX19USFVfSE9JJztcclxuZXhwb3J0IGNvbnN0IEFjdGlvbkNob1lLaWVuQmFzZSA9ICdfX0NIT19ZX0tJRU4nO1xyXG5leHBvcnQgY29uc3QgQWN0aW9uVXBkYXRlTW9kZWwgPSAnX19VUERBVEVfTU9ERUwnO1xyXG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy93b3JrZmxvdy9tb2RlbHMvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsU0FBUyxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRHVtbXlXb3JrZmxvd0NvZGUgPSAnRHVtbXlXb3JrZmxvd0NvZGUnO1xyXG5leHBvcnQgY29uc3QgTWFBY3Rpb25CYXREYXVRdXlUcmluaCA9ICdfU1RBUlRfJztcclxuZXhwb3J0IGNvbnN0IEFjdGlvblRodUhvaUJhc2UgPSAnX19USFVfSE9JJztcclxuZXhwb3J0IGNvbnN0IEFjdGlvbkNob1lLaWVuQmFzZSA9ICdfX0NIT19ZX0tJRU4nO1xyXG5leHBvcnQgY29uc3QgQWN0aW9uVXBkYXRlTW9kZWwgPSAnX19VUERBVEVfTU9ERUwnO1xyXG4iXX0=
@@ -3,7 +3,7 @@ import { Component, EventEmitter, Injector, Input, Output, ViewChild } from '@an
3
3
  import { ComponentContextService } from '../../../app-context/component-context.service';
4
4
  import { DataFormBase } from '../../../classes/base/data-form-base';
5
5
  import { FormState } from '../../../classes/constants';
6
- import { CheckboxControlSchema, CrudListSetting, CustomControlSchema, DropdownControlSchema, Operator, TextControlSchema } from '../../../classes/form-schema';
6
+ import { CheckboxControlSchema, CrudListSetting, CustomControlSchema, DropdownControlSchema, LabelSchema, Operator, TextControlSchema } from '../../../classes/form-schema';
7
7
  import { DmLoaiCongViecService } from '../../../congviec/dm-loai-congviec/services/dm-loai-congviec.service';
8
8
  import { StateMachinesService } from '../../statemachines/services/statemachines.service';
9
9
  import { WorkflowSettingsService } from '../services/workflow-settings.service';
@@ -32,7 +32,11 @@ export class WorkflowSettingNewComponent extends DataFormBase {
32
32
  field: 'createTaskInstead',
33
33
  label: 'Tạo công việc',
34
34
  showLabel: false,
35
- mdWidth: 12
35
+ mdWidth: 2
36
+ }),
37
+ new LabelSchema({
38
+ mdWidth: 10,
39
+ hiddenCheck: (rootModel) => this.checkIfCreateTaskInstead(rootModel, true)
36
40
  }),
37
41
  new CustomControlSchema({
38
42
  field: 'workflowPicker',
@@ -40,6 +44,13 @@ export class WorkflowSettingNewComponent extends DataFormBase {
40
44
  hiddenCheck: (rootModel) => this.checkIfCreateTaskInstead(rootModel, true),
41
45
  mdWidth: 12
42
46
  }),
47
+ new CheckboxControlSchema({
48
+ field: 'taskInsideBusinessForm',
49
+ label: 'Hiển thị giao diện tạo công việc trên giao diện thêm mới',
50
+ showLabel: false,
51
+ mdWidth: 10,
52
+ hiddenCheck: (rootModel) => this.checkIfCreateTaskInstead(rootModel, false)
53
+ }),
43
54
  new TextControlSchema({
44
55
  field: 'templateTaskName',
45
56
  label: 'Template tên công việc',
@@ -89,6 +100,9 @@ export class WorkflowSettingNewComponent extends DataFormBase {
89
100
  if (this.model.data.createTaskInstead === undefined) {
90
101
  this.model.data.createTaskInstead = false;
91
102
  }
103
+ if (this.model.data.taskInsideBusinessForm === undefined) {
104
+ this.model.data.taskInsideBusinessForm = false;
105
+ }
92
106
  this.readyCrudForm = true;
93
107
  }
94
108
  handleCancelWorkflow(event) {
@@ -150,4 +164,4 @@ WorkflowSettingNewComponent.propDecorators = {
150
164
  onCancel: [{ type: Output }],
151
165
  onSaveSetting: [{ type: Output }]
152
166
  };
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctc2V0dGluZy1uZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvd29ya2Zsb3cvd29ya2Zsb3ctc2V0dGluZy1uZXcvd29ya2Zsb3ctc2V0dGluZy1uZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUE2QixRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxTCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQVF2RixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsWUFBWTtJQVV6RCxZQUNjLFNBQW1CLEVBQ3JCLHdCQUFpRCxFQUNqRCxxQkFBMkMsRUFDM0Msc0JBQTZDO1FBRXJELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUxQLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDckIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNqRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFWL0MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBNEN0Qiw2QkFBd0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QyxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUM7UUFDOUQsQ0FBQyxDQUFBO1FBdENHLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFxQjtZQUNwQyxJQUFJLHFCQUFxQixDQUFDO2dCQUN0QixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLE9BQU8sRUFBRSxFQUFFO2FBQ2QsQ0FBQztZQUNGLElBQUksbUJBQW1CLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLEtBQUssRUFBRSxvQkFBb0I7Z0JBQzNCLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7Z0JBQzFFLE9BQU8sRUFBRSxFQUFFO2FBQ2QsQ0FBQztZQUNGLElBQUksaUJBQWlCLENBQUM7Z0JBQ2xCLEtBQUssRUFBRSxrQkFBa0I7Z0JBQ3pCLEtBQUssRUFBRSx3QkFBd0I7Z0JBQy9CLFdBQVcsRUFBRSw4REFBOEQ7Z0JBQzNFLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7YUFDOUUsQ0FBQztZQUNGLElBQUkscUJBQXFCLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSx1QkFBdUI7Z0JBQzlCLEtBQUssRUFBRSx5QkFBeUI7Z0JBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsc0JBQXNCO2dCQUN4QyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO2FBQzlFLENBQUM7U0FDTCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBTUssaUJBQWlCLENBQUMsR0FBYzs7UUFDdEMsQ0FBQztLQUFBO0lBRUssVUFBVTs7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO2dCQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQzthQUN6RixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztLQUFBO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztTQUN4QzthQUNJO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHO3dCQUMzQixRQUFRLEVBQUUsRUFBRTt3QkFDWixXQUFXLEVBQUUsRUFBRTtxQkFDbEIsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQzthQUNOO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFO1lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUM3QztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsa0RBQWtELENBQUM7YUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUNqQixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVLLFlBQVk7O1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUNwQyxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxRSxJQUFJLENBQUMsY0FBYztvQkFBRSxPQUFPLEtBQUssQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7S0FBQTtJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEU7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdFO2FBQ0k7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7O1lBbklKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw2bUNBQW9EO2dCQUVwRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzs7YUFDdkM7OztZQWZpQyxRQUFRO1lBT2pDLHVCQUF1QjtZQUR2QixvQkFBb0I7WUFEcEIscUJBQXFCOzs7aUNBWXpCLFNBQVMsU0FBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NEJBQ3BELEtBQUs7c0JBRUwsTUFBTTt1QkFDTixNQUFNOzRCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFGb3JtQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWZvcm0tYmFzZSc7XHJcbmltcG9ydCB7IEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb250cm9sU2NoZW1hLCBDcnVkTGlzdFNldHRpbmcsIEN1c3RvbUNvbnRyb2xTY2hlbWEsIERyb3Bkb3duQ29udHJvbFNjaGVtYSwgRXZlbnREYXRhLCBGb3JtU2NoZW1hQmFzZSwgT3BlcmF0b3IsIFRleHRDb250cm9sU2NoZW1hIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IERtTG9haUNvbmdWaWVjU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Nvbmd2aWVjL2RtLWxvYWktY29uZ3ZpZWMvc2VydmljZXMvZG0tbG9haS1jb25ndmllYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RhdGVNYWNoaW5lc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zdGF0ZW1hY2hpbmVzL3NlcnZpY2VzL3N0YXRlbWFjaGluZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvd29ya2Zsb3ctc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcGlja2VyL3dvcmtmbG93LXBpY2tlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3dvcmtmbG93LXNldHRpbmctbmV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy1zZXR0aW5nLW5ldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi93b3JrZmxvdy1zZXR0aW5nLW5ldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd1NldHRpbmdOZXdDb21wb25lbnQgZXh0ZW5kcyBEYXRhRm9ybUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZChXb3JrZmxvd1BpY2tlckNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIHdvcmtmbG93UGlja2VyQ29tcDogV29ya2Zsb3dQaWNrZXJDb21wb25lbnQ7XHJcbiAgICBASW5wdXQoKSBwYXJlbnRTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uU2F2ZVNldHRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBkaWNNYWNoaW5lc0RhdGE6IGFueSA9IHt9O1xyXG4gICAgcmVhZHlDcnVkRm9ybSA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBfd29ya2Zsb3dTZXR0aW5nc1NlcnZpY2U6IFdvcmtmbG93U2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3N0YXRlTWFjaGluZXNTZXJ2aWNlOiBTdGF0ZU1hY2hpbmVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9kbUxvYWlDb25nVmllY1NlcnZpY2U6IERtTG9haUNvbmdWaWVjU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgICAgICB0aGlzLmF1dG9HZXREZXRhaWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLl93b3JrZmxvd1NldHRpbmdzU2VydmljZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hID0gPEZvcm1TY2hlbWFCYXNlW10+W1xyXG4gICAgICAgICAgICBuZXcgQ2hlY2tib3hDb250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnY3JlYXRlVGFza0luc3RlYWQnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdU4bqhbyBjw7RuZyB2aeG7h2MnLFxyXG4gICAgICAgICAgICAgICAgc2hvd0xhYmVsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IDEyXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgQ3VzdG9tQ29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3dvcmtmbG93UGlja2VyJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnUXV5IHRyw6xuaCBt4bq3YyDEkeG7i25oJyxcclxuICAgICAgICAgICAgICAgIGhpZGRlbkNoZWNrOiAocm9vdE1vZGVsKSA9PiB0aGlzLmNoZWNrSWZDcmVhdGVUYXNrSW5zdGVhZChyb290TW9kZWwsIHRydWUpLFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogMTJcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBUZXh0Q29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3RlbXBsYXRlVGFza05hbWUnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdUZW1wbGF0ZSB0w6puIGPDtG5nIHZp4buHYycsXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ1RlbXBsYXRlIHTDqm4gY8O0bmcgdmnhu4djLiBWw60gZOG7pTogWOG7rSBsw70gY8O0bmcgdmnhu4djIHt7aXRlbS5uYW1lfX0nLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW5DaGVjazogKHJvb3RNb2RlbCkgPT4gdGhpcy5jaGVja0lmQ3JlYXRlVGFza0luc3RlYWQocm9vdE1vZGVsLCBmYWxzZSlcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBEcm9wZG93bkNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpZExvYWlDb25nVmllY0RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdMb+G6oWkgY8O0bmcgdmnhu4djIG3hurdjIMSR4buLbmgnLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2RtTG9haUNvbmdWaWVjU2VydmljZSxcclxuICAgICAgICAgICAgICAgIGhpZGRlbkNoZWNrOiAocm9vdE1vZGVsKSA9PiB0aGlzLmNoZWNrSWZDcmVhdGVUYXNrSW5zdGVhZChyb290TW9kZWwsIGZhbHNlKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy5nZXRTZXR0aW5nKCk7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmQ3JlYXRlVGFza0luc3RlYWQgPSAocm9vdE1vZGVsLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhcm9vdE1vZGVsIHx8IHJvb3RNb2RlbC5jcmVhdGVUYXNrSW5zdGVhZCA9PSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkZvcm1Jbml0aWFsaXplZChldnQ6IEV2ZW50RGF0YSkge1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldFNldHRpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhID0gKGF3YWl0IHRoaXMuX3dvcmtmbG93U2V0dGluZ3NTZXJ2aWNlLmdldERldGFpbEJ5RmlsdGVyKFtcclxuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ3RhYmxlTmFtZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnBhcmVudFNldHRpbmcuYmFzZVNlcnZpY2UuZW50aXR5TmFtZSlcclxuICAgICAgICBdKSkuZGF0YTtcclxuICAgICAgICB0aGlzLmFmdGVyR2V0U2V0dGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGFmdGVyR2V0U2V0dGluZygpIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRhdGEgPSB7fTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5mb3JtU3RhdGUgPSBGb3JtU3RhdGUuQUREO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwuZGF0YS53b3JrZmxvd0NvZGVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmRhdGEuX3dvcmtmbG93Q29kZXMgPSB0aGlzLm1vZGVsLmRhdGEud29ya2Zsb3dDb2Rlcy5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5kYXRhLl93b3JrZmxvd0NvZGVzLmZvckVhY2god2ZDb2RlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpY01hY2hpbmVzRGF0YVt3ZkNvZGVdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lczogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25zOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLmZvcm1TdGF0ZSA9IEZvcm1TdGF0ZS5FRElUO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5kYXRhLmNyZWF0ZVRhc2tJbnN0ZWFkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5kYXRhLmNyZWF0ZVRhc2tJbnN0ZWFkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVhZHlDcnVkRm9ybSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQ2FuY2VsV29ya2Zsb3coZXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd0NvbmZpcm0oJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiBo4buneSBi4buPIHF1eSB0csOsbmggbmdoaeG7h3AgduG7pScpXHJcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXJlcykgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fd29ya2Zsb3dTZXR0aW5nc1NlcnZpY2UuZGVsZXRlKHRoaXMubW9kZWwuZGF0YS5pZClcclxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXMsICdI4buneSBi4buPIHF1eSB0csOsbmggbmdoaeG7h3AgduG7pSB0aMOgbmggY8O0bmcnLCBmID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNhdmVkLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHZhbGlkYXRlRm9ybSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZGF0YS5jcmVhdGVUYXNrSW5zdGVhZCkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZEZvcm1DaGlsZCA9IGF3YWl0IHRoaXMud29ya2Zsb3dQaWNrZXJDb21wLl9nZXRSZXN1bHRWYWxpZGF0ZSgpO1xyXG4gICAgICAgICAgICBpZiAoIXZhbGlkRm9ybUNoaWxkKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQmVmb3JlU2F2ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy53b3JrZmxvd1BpY2tlckNvbXApIHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLmRhdGEsIHRoaXMud29ya2Zsb3dQaWNrZXJDb21wLm1vZGVsLmRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5kYXRhLl93b3JrZmxvd0NvZGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZGF0YS53b3JrZmxvd0NvZGVzID0gdGhpcy5tb2RlbC5kYXRhLl93b3JrZmxvd0NvZGVzLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRhdGEud29ya2Zsb3dDb2RlcyA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS50YWJsZU5hbWUgPSB0aGlzLnBhcmVudFNldHRpbmcuYmFzZVNlcnZpY2UuZW50aXR5TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNYW51YWxTYXZlKCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25TYXZlU2V0dGluZy5lbWl0KHRoaXMubW9kZWwuZGF0YSk7XHJcbiAgICB9XHJcbn1cclxuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctc2V0dGluZy1uZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvd29ya2Zsb3cvd29ya2Zsb3ctc2V0dGluZy1uZXcvd29ya2Zsb3ctc2V0dGluZy1uZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUE2QixXQUFXLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdk0sT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFRdkYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFlBQVk7SUFVekQsWUFDYyxTQUFtQixFQUNyQix3QkFBaUQsRUFDakQscUJBQTJDLEVBQzNDLHNCQUE2QztRQUVyRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFMUCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ3JCLDZCQUF3QixHQUF4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QUFJLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDN0U7YUFDSTtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDeEM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQzFFLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7WUFqSkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLDZtQ0FBb0Q7Z0JBRXBELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBZmlDLFFBQVE7WUFPakMsdUJBQXVCO1lBRHZCLG9CQUFvQjtZQURwQixxQkFBcUI7OztpQ0FZekIsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs0QkFDcEQsS0FBSztzQkFFTCxNQUFNO3VCQUNOLE1BQU07NEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YUZvcm1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2RhdGEtZm9ybS1iYXNlJztcclxuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbnRyb2xTY2hlbWEsIENydWRMaXN0U2V0dGluZywgQ3VzdG9tQ29udHJvbFNjaGVtYSwgRHJvcGRvd25Db250cm9sU2NoZW1hLCBFdmVudERhdGEsIEZvcm1TY2hlbWFCYXNlLCBMYWJlbFNjaGVtYSwgT3BlcmF0b3IsIFRleHRDb250cm9sU2NoZW1hIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IERtTG9haUNvbmdWaWVjU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Nvbmd2aWVjL2RtLWxvYWktY29uZ3ZpZWMvc2VydmljZXMvZG0tbG9haS1jb25ndmllYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RhdGVNYWNoaW5lc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zdGF0ZW1hY2hpbmVzL3NlcnZpY2VzL3N0YXRlbWFjaGluZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvd29ya2Zsb3ctc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcGlja2VyL3dvcmtmbG93LXBpY2tlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3dvcmtmbG93LXNldHRpbmctbmV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy1zZXR0aW5nLW5ldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi93b3JrZmxvdy1zZXR0aW5nLW5ldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd1NldHRpbmdOZXdDb21wb25lbnQgZXh0ZW5kcyBEYXRhRm9ybUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZChXb3JrZmxvd1BpY2tlckNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIHdvcmtmbG93UGlja2VyQ29tcDogV29ya2Zsb3dQaWNrZXJDb21wb25lbnQ7XHJcbiAgICBASW5wdXQoKSBwYXJlbnRTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uU2F2ZVNldHRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBkaWNNYWNoaW5lc0RhdGE6IGFueSA9IHt9O1xyXG4gICAgcmVhZHlDcnVkRm9ybSA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBfd29ya2Zsb3dTZXR0aW5nc1NlcnZpY2U6IFdvcmtmbG93U2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3N0YXRlTWFjaGluZXNTZXJ2aWNlOiBTdGF0ZU1hY2hpbmVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9kbUxvYWlDb25nVmllY1NlcnZpY2U6IERtTG9haUNvbmdWaWVjU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgICAgICB0aGlzLmF1dG9HZXREZXRhaWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLl93b3JrZmxvd1NldHRpbmdzU2VydmljZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hID0gPEZvcm1TY2hlbWFCYXNlW10+W1xyXG4gICAgICAgICAgICBuZXcgQ2hlY2tib3hDb250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnY3JlYXRlVGFza0luc3RlYWQnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdU4bqhbyBjw7RuZyB2aeG7h2MnLFxyXG4gICAgICAgICAgICAgICAgc2hvd0xhYmVsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IDJcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBMYWJlbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBtZFdpZHRoOiAxMCxcclxuICAgICAgICAgICAgICAgIGhpZGRlbkNoZWNrOiAocm9vdE1vZGVsKSA9PiB0aGlzLmNoZWNrSWZDcmVhdGVUYXNrSW5zdGVhZChyb290TW9kZWwsIHRydWUpXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgQ3VzdG9tQ29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3dvcmtmbG93UGlja2VyJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnUXV5IHRyw6xuaCBt4bq3YyDEkeG7i25oJyxcclxuICAgICAgICAgICAgICAgIGhpZGRlbkNoZWNrOiAocm9vdE1vZGVsKSA9PiB0aGlzLmNoZWNrSWZDcmVhdGVUYXNrSW5zdGVhZChyb290TW9kZWwsIHRydWUpLFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogMTJcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBDaGVja2JveENvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0YXNrSW5zaWRlQnVzaW5lc3NGb3JtJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnSGnhu4NuIHRo4buLIGdpYW8gZGnhu4duIHThuqFvIGPDtG5nIHZp4buHYyB0csOqbiBnaWFvIGRp4buHbiB0aMOqbSBt4bubaScsXHJcbiAgICAgICAgICAgICAgICBzaG93TGFiZWw6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogMTAsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW5DaGVjazogKHJvb3RNb2RlbCkgPT4gdGhpcy5jaGVja0lmQ3JlYXRlVGFza0luc3RlYWQocm9vdE1vZGVsLCBmYWxzZSlcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBUZXh0Q29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3RlbXBsYXRlVGFza05hbWUnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdUZW1wbGF0ZSB0w6puIGPDtG5nIHZp4buHYycsXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ1RlbXBsYXRlIHTDqm4gY8O0bmcgdmnhu4djLiBWw60gZOG7pTogWOG7rSBsw70gY8O0bmcgdmnhu4djIHt7aXRlbS5uYW1lfX0nLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW5DaGVjazogKHJvb3RNb2RlbCkgPT4gdGhpcy5jaGVja0lmQ3JlYXRlVGFza0luc3RlYWQocm9vdE1vZGVsLCBmYWxzZSlcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBEcm9wZG93bkNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpZExvYWlDb25nVmllY0RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdMb+G6oWkgY8O0bmcgdmnhu4djIG3hurdjIMSR4buLbmgnLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2RtTG9haUNvbmdWaWVjU2VydmljZSxcclxuICAgICAgICAgICAgICAgIGhpZGRlbkNoZWNrOiAocm9vdE1vZGVsKSA9PiB0aGlzLmNoZWNrSWZDcmVhdGVUYXNrSW5zdGVhZChyb290TW9kZWwsIGZhbHNlKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy5nZXRTZXR0aW5nKCk7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmQ3JlYXRlVGFza0luc3RlYWQgPSAocm9vdE1vZGVsLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhcm9vdE1vZGVsIHx8IHJvb3RNb2RlbC5jcmVhdGVUYXNrSW5zdGVhZCA9PSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkZvcm1Jbml0aWFsaXplZChldnQ6IEV2ZW50RGF0YSkge1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldFNldHRpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhID0gKGF3YWl0IHRoaXMuX3dvcmtmbG93U2V0dGluZ3NTZXJ2aWNlLmdldERldGFpbEJ5RmlsdGVyKFtcclxuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ3RhYmxlTmFtZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnBhcmVudFNldHRpbmcuYmFzZVNlcnZpY2UuZW50aXR5TmFtZSlcclxuICAgICAgICBdKSkuZGF0YTtcclxuICAgICAgICB0aGlzLmFmdGVyR2V0U2V0dGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGFmdGVyR2V0U2V0dGluZygpIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRhdGEgPSB7fTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5mb3JtU3RhdGUgPSBGb3JtU3RhdGUuQUREO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwuZGF0YS53b3JrZmxvd0NvZGVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmRhdGEuX3dvcmtmbG93Q29kZXMgPSB0aGlzLm1vZGVsLmRhdGEud29ya2Zsb3dDb2Rlcy5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5kYXRhLl93b3JrZmxvd0NvZGVzLmZvckVhY2god2ZDb2RlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpY01hY2hpbmVzRGF0YVt3ZkNvZGVdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lczogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25zOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLmZvcm1TdGF0ZSA9IEZvcm1TdGF0ZS5FRElUO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5kYXRhLmNyZWF0ZVRhc2tJbnN0ZWFkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5kYXRhLmNyZWF0ZVRhc2tJbnN0ZWFkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmRhdGEudGFza0luc2lkZUJ1c2luZXNzRm9ybSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZGF0YS50YXNrSW5zaWRlQnVzaW5lc3NGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVhZHlDcnVkRm9ybSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQ2FuY2VsV29ya2Zsb3coZXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd0NvbmZpcm0oJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiBo4buneSBi4buPIHF1eSB0csOsbmggbmdoaeG7h3AgduG7pScpXHJcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXJlcykgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fd29ya2Zsb3dTZXR0aW5nc1NlcnZpY2UuZGVsZXRlKHRoaXMubW9kZWwuZGF0YS5pZClcclxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXMsICdI4buneSBi4buPIHF1eSB0csOsbmggbmdoaeG7h3AgduG7pSB0aMOgbmggY8O0bmcnLCBmID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNhdmVkLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHZhbGlkYXRlRm9ybSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZGF0YS5jcmVhdGVUYXNrSW5zdGVhZCkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZEZvcm1DaGlsZCA9IGF3YWl0IHRoaXMud29ya2Zsb3dQaWNrZXJDb21wLl9nZXRSZXN1bHRWYWxpZGF0ZSgpO1xyXG4gICAgICAgICAgICBpZiAoIXZhbGlkRm9ybUNoaWxkKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQmVmb3JlU2F2ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy53b3JrZmxvd1BpY2tlckNvbXApIHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLmRhdGEsIHRoaXMud29ya2Zsb3dQaWNrZXJDb21wLm1vZGVsLmRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5kYXRhLl93b3JrZmxvd0NvZGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZGF0YS53b3JrZmxvd0NvZGVzID0gdGhpcy5tb2RlbC5kYXRhLl93b3JrZmxvd0NvZGVzLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRhdGEud29ya2Zsb3dDb2RlcyA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS50YWJsZU5hbWUgPSB0aGlzLnBhcmVudFNldHRpbmcuYmFzZVNlcnZpY2UuZW50aXR5TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNYW51YWxTYXZlKCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25TYXZlU2V0dGluZy5lbWl0KHRoaXMubW9kZWwuZGF0YSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -30,8 +30,8 @@ export class BaseCongviecDinhkemComponent extends DataListBase {
30
30
  this.setting.hiddenPageSetting = true;
31
31
  this.setting.hiddenAdvanceSearch = true;
32
32
  this.setting.hiddenFilterRow = true;
33
- this.setting.hiddenCheckbox = this.formState == FormState.VIEW;
34
- this.setting.hiddenFunctionColumn = this.formState == FormState.VIEW;
33
+ // this.setting.hiddenCheckbox = this.formState == FormState.VIEW;
34
+ // this.setting.hiddenFunctionColumn = this.formState == FormState.VIEW;
35
35
  this.setting.fixHeightTypeInDialog = false;
36
36
  this.setting.heightType = HeightType.dynamic;
37
37
  this.setting.showExportSelectedItems = false;
@@ -212,4 +212,4 @@ BaseCongviecDinhkemComponent.propDecorators = {
212
212
  formState: [{ type: Input }],
213
213
  taskId: [{ type: Input }]
214
214
  };
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZ3ZpZWMtZGluaGtlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29uZ3ZpZWMvY29uZ3ZpZWMvY29uZ3ZpZWMtZGluaGtlbS9jb25ndmllYy1kaW5oa2VtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVM5RSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsWUFBWTtJQVcxRCxZQUNJLFFBQWtCLEVBQ1YsbUJBQXVDLEVBQ3ZDLHVCQUErQyxFQUNoRCxlQUFnQztRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDaEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBZGxDLGNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBRzdCLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFDNUIsa0JB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dEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5QztpQkFDSTtnQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3ZCO1NBQ0o7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7WUE5TUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDBpSEFBZ0Q7Z0JBRWhELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBaEIrQixRQUFRO1lBTy9CLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFKdEIsZUFBZTs7O3dCQWNuQixLQUFLO3FCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFMaXN0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWxpc3QtYmFzZSc7XHJcbmltcG9ydCB7IENvbHVtblNjaGVtYUJhc2UsIEVudW1GaWxlTGF5b3V0LCBIZWlnaHRUeXBlLCBNb2RlbFNjaGVtYSwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgRmlsZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2ZpbGUtZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR3JpZEluZm8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcclxuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBWaXJ0dWFsQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy92aXJ0dWFsLWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmd2aWVjRGluaGtlbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25ndmllYy1kaW5oa2VtLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYXNlLWNvbmd2aWVjLWRpbmhrZW0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nvbmd2aWVjLWRpbmhrZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZ3ZpZWMtZGluaGtlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29uZ3ZpZWNEaW5oa2VtQ29tcG9uZW50IGV4dGVuZHMgRGF0YUxpc3RCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIGZvcm1TdGF0ZSA9IEZvcm1TdGF0ZS5WSUVXO1xyXG4gICAgQElucHV0KCkgdGFza0lkOiBhbnk7XHJcblxyXG4gICAgcHVibGljIGxheW91dEZpbGUgPSBFbnVtRmlsZUxheW91dDtcclxuICAgIHB1YmxpYyBlbnVtRm9ybVN0YXRlID0gRm9ybVN0YXRlO1xyXG5cclxuICAgIGZvcm1Nb2RlbDogYW55ID0ge307XHJcbiAgICBzaG93QXR0YWNoTGlua0JveCA9IGZhbHNlO1xyXG4gICAgdHlwZWRMaW5rOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBfdmlydHVhbEJhc2VTZXJ2aWNlOiBWaXJ0dWFsQmFzZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY29uZ1ZpZWNEaW5oS2VtU2VydmljZTogQ29uZ3ZpZWNEaW5oa2VtU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZmlsZURhdGFTZXJ2aWNlOiBGaWxlRGF0YVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnNldHRpbmcub2JqZWN0TmFtZSA9ICdt4bulYyDEkcOtbmgga8OobSc7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5fY29uZ1ZpZWNEaW5oS2VtU2VydmljZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93TmV3ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuUGFnZVNldHRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuRmlsdGVyUm93ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQ2hlY2tib3ggPSB0aGlzLmZvcm1TdGF0ZSA9PSBGb3JtU3RhdGUuVklFVztcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuRnVuY3Rpb25Db2x1bW4gPSB0aGlzLmZvcm1TdGF0ZSA9PSBGb3JtU3RhdGUuVklFVztcclxuICAgICAgICB0aGlzLnNldHRpbmcuZml4SGVpZ2h0VHlwZUluRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhlaWdodFR5cGUgPSBIZWlnaHRUeXBlLmR5bmFtaWM7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zaG93RXhwb3J0U2VsZWN0ZWRJdGVtcyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLnNldHRpbmcubW9kZWxTY2hlbWFzID0gW1xyXG4gICAgICAgICAgICBuZXcgTW9kZWxTY2hlbWEoeyBmaWVsZDogJ3RlbkhpZW5UaGlEb2lUdW9uZycsIG5hbWU6ICfEkOG7kWkgdMaw4bujbmcnLCBmdWxsTmFtZTogJ8SQ4buRaSB0xrDhu6NuZycsIGRlc2NyaXB0aW9uOiAnxJDhu5FpIHTGsOG7o25nJyB9KSxcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHsgZmllbGQ6ICd0aWV1RGUnLCBuYW1lOiAnVGnDqnUgxJHhu4EnLCBmdWxsTmFtZTogJ1Rpw6p1IMSR4buBJywgZGVzY3JpcHRpb246ICdUacOqdSDEkeG7gScgfSksXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuY29scyA9IFtcclxuICAgICAgICAgICAgbmV3IENvbHVtblNjaGVtYUJhc2Uoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0aWV1RGUnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdUacOqdSDEkeG7gScsXHJcbiAgICAgICAgICAgICAgICBzaG93RWRpdExpbms6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3RpZXVEZSdcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnZmlsZURpbmhLZW0nLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdGaWxlIMSRw61uaCBrw6htJyxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnZmlsZURpbmhLZW0nXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBtb2RpZnlHcmlkSW5mbyhncmlkSW5mbz86IEdyaWRJbmZvKSB7XHJcbiAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignaWRDb25nVmllYycsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnRhc2tJZClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGFmdGVyR2V0RGF0YSgpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5tb2RlbC5kYXRhU291cmNlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRldGFpbCA9IChhd2FpdCB0aGlzLl9jb25nVmllY0RpbmhLZW1TZXJ2aWNlLmdldERldGFpbEl0ZW0oaXRlbS5zZXJ2aWNlQ29kZSwgaXRlbS5lbnRpdHksIGl0ZW0uZW50aXR5S2V5LCBpdGVtLmZpZWxkSGllblRoaSkpLmRhdGE7XHJcbiAgICAgICAgICAgIGlmIChkZXRhaWwubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50aWV1RGUgPSBkZXRhaWxbMF1baXRlbS5maWVsZEhpZW5UaGldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50aWV1RGUgPSAnS2jDtG5nIHTDrG0gdGjhuqV5IGLhuqNuIGdoaSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGl0ZW0udGVuSGllblRoaURvaVR1b25nICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0udGVuSGllblRoaURvaVR1b25nID0gaXRlbS50ZW5IaWVuVGhpRG9pVHVvbmcudHJpbSgpO1xyXG4gICAgICAgICAgICAgICAgaXRlbS50ZW5IaWVuVGhpRG9pVHVvbmcgPSBpdGVtLnRlbkhpZW5UaGlEb2lUdW9uZy5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIGl0ZW0udGVuSGllblRoaURvaVR1b25nLnN1YnN0cmluZygxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2aWV3TGlua0l0ZW0oZXZ0KSB7XHJcbiAgICAgICAgdGhpcy52aWV3UmF3TGluayhldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUxpbmtJdGVtKGV2dCkge1xyXG4gICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93Q29uZmlybSgnQuG6oW4gY8OzIGNo4bqvYyBjaOG6r24gbXXhu5FuIGjhu6d5IMSRw61uaCBrw6htIGLhuqNuIGdoaSBuw6B5PycpLnRoZW4oYXN5bmMgcnMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocnMpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NvbmdWaWVjRGluaEtlbVNlcnZpY2UuZGVsZXRlKGV2dC5pZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlTGlua0l0ZW1NdWx0aXBsZShldnQpIHtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd0NvbmZpcm0oJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiBo4buneSDEkcOtbmgga8OobSBi4bqjbiBnaGkgbsOgeT8nKS50aGVuKGFzeW5jIHJzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJzKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jb25nVmllY0RpbmhLZW1TZXJ2aWNlLmRlbGV0ZU1hbnkodGhpcy5tb2RlbC5zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHguaWQpLmpvaW4oJywnKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdGhlbURpbmhLZW0oKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbW1vblNlcnZpY2UucGFzdGVCeVN0b3JhZ2UoKTtcclxuICAgICAgICBpZiAoY29udGVudCkge1xyXG4gICAgICAgICAgICBjb25zdCBvYmogPSB0aGlzLnBhcnNlQXR0YWNoTGluayhjb250ZW50KTtcclxuICAgICAgICAgICAgaWYgKG9iai5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb25nVmllY0RpbmhLZW1TZXJ2aWNlLnRoZW1EaW5oS2VtTmdoaWVwVnUodGhpcy50YXNrSWQsIG9iaikudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dTdWNjZXNzKCdUaMOqbSBt4bulYyDEkcOtbmgga8OobSB0aMOgbmggY8O0bmchJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuY2xlYXJDbGlwYm9hcmRTdG9yYWdlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBdHRhY2hMaW5rQm94ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KS5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0F0dGFjaExpbmtCb3ggPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dBdHRhY2hMaW5rQm94ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93QXR0YWNoTGlua0JveCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFkZEF0dGFjaExpbmsoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZWRMaW5rICYmIHRoaXMudHlwZWRMaW5rLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JqID0gdGhpcy5wYXJzZUF0dGFjaExpbmsodGhpcy50eXBlZExpbmspO1xyXG4gICAgICAgICAgICBpZiAob2JqLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbmdWaWVjRGluaEtlbVNlcnZpY2UudGhlbURpbmhLZW1OZ2hpZXBWdSh0aGlzLnRhc2tJZCwgb2JqKS50aGVuKHJzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocnMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ1Row6ptIG3hu6VjIMSRw61uaCBrw6htIHRow6BuaCBjw7RuZyEnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QXR0YWNoTGlua0JveCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnR5cGVkTGluayA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdMacOqbiBr4bq/dCBraMO0bmcgaOG7o3AgbOG7hyEnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KS5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnTGnDqm4ga+G6v3Qga2jDtG5nIGjhu6NwIGzhu4chJyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnTGnDqm4ga+G6v3Qga2jDtG5nIGjhu6NwIGzhu4chJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXNJbnB1dChpbnB1dDogYW55KSB7XHJcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBodHRwOi8vbG9jYWxob3N0OjI3MjMwL3VuaXZlcnNhbC1saW5rP3NlcnZpY2VDb2RlPWNvbmd2aWVjJmVudGl0eT1ETV9Qcmlvcml0eSZlbnRpdHlLZXk9MDkxMWYzZTctM2RiMC00YjY4LTg3Y2QtMDdkNDI1NzQxZTllJnN0YXRlPSZzb3VyY2VQYXRoPWh0dHA6Ly9sb2NhbGhvc3Q6MjcyMzAvZG0tcHJpb3JpdHlcclxuICAgIHBhcnNlQXR0YWNoTGluayhjb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbGlua3MgPSBjb250ZW50LnNwbGl0KCdcXHJcXG4nKTtcclxuICAgICAgICBjb25zdCBvcCA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xyXG4gICAgICAgICAgICBjb25zdCBhcnIgPSBsaW5rLnNwbGl0KCc/Jyk7XHJcbiAgICAgICAgICAgIGlmIChhcnIubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcCA9IGFyclsxXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5wYXJzZVF1ZXJ5U3RyaW5nKHRlbXApO1xyXG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5ICYmIHF1ZXJ5LnNlcnZpY2VDb2RlICYmIHF1ZXJ5LmVudGl0eSAmJiBxdWVyeS5lbnRpdHlLZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeS5yYXdMaW5rID0gbGluaztcclxuICAgICAgICAgICAgICAgICAgICBvcC5wdXNoKHF1ZXJ5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgbGluayAke2xpbmt9IGludmFsaWQgdG8gcGFyc2VgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb3A7XHJcbiAgICB9XHJcblxyXG4gICAgb25BZnRlclNhdmVkKGV2dCkge1xyXG4gICAgICAgIC8vIHRoaXMuc2hvd0RldGFpbEZvcm0gPSBmYWxzZTtcclxuICAgICAgICBjb25zb2xlLmxvZygnYWZ0ZXIgc2F2ZWQnLCBldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhcnNlUXVlcnlTdHJpbmcocXVlcnk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgaWYgKCFxdWVyeSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgaWYgKHF1ZXJ5LnN0YXJ0c1dpdGgoJz8nKSkgcXVlcnkgPSBxdWVyeS5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgY29uc3QgYXJyID0gcXVlcnkuc3BsaXQoJyYnKTtcclxuICAgICAgICBjb25zdCBvYmogPSB7fTtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBpdGVtLnNwbGl0KCc9Jyk7XHJcbiAgICAgICAgICAgIGlmICh0ZW1wWzFdKSB7XHJcbiAgICAgICAgICAgICAgICBvYmpbdGVtcFswXV0gPSBkZWNvZGVVUklDb21wb25lbnQodGVtcFsxXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBvYmpbdGVtcFswXV0gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvYmo7XHJcbiAgICB9XHJcblxyXG4gICAgdmlld1Jhd0xpbmsocm93RGF0YTogYW55KSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4ocm93RGF0YS5saW5rR29jKTtcclxuICAgIH1cclxufVxyXG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZ3ZpZWMtZGluaGtlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29uZ3ZpZWMvY29uZ3ZpZWMvY29uZ3ZpZWMtZGluaGtlbS9jb25ndmllYy1kaW5oa2VtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVM5RSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsWUFBWTtJQVcxRCxZQUNJLFFBQWtCLEVBQ1YsbUJBQXVDLEVBQ3ZDLHVCQUErQyxFQUNoRCxlQUFnQztRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDaEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBZGxDLGNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBRzdCLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFDNUIsa0JB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TSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDVCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUM7aUJBQ0k7Z0JBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUN2QjtTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7O1lBOU1KLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQywwaUhBQWdEO2dCQUVoRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzs7YUFDdkM7OztZQWhCK0IsUUFBUTtZQU8vQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBSnRCLGVBQWU7Ozt3QkFjbkIsS0FBSztxQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhTGlzdEJhc2UgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1saXN0LWJhc2UnO1xyXG5pbXBvcnQgeyBDb2x1bW5TY2hlbWFCYXNlLCBFbnVtRmlsZUxheW91dCwgSGVpZ2h0VHlwZSwgTW9kZWxTY2hlbWEsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IEZpbGVEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEdyaWRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XHJcbmltcG9ydCB7IEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVmlydHVhbEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdmlydHVhbC1iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25ndmllY0RpbmhrZW1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZ3ZpZWMtZGluaGtlbS5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFzZS1jb25ndmllYy1kaW5oa2VtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25ndmllYy1kaW5oa2VtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Nvbmd2aWVjLWRpbmhrZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvbmd2aWVjRGluaGtlbUNvbXBvbmVudCBleHRlbmRzIERhdGFMaXN0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBmb3JtU3RhdGUgPSBGb3JtU3RhdGUuVklFVztcclxuICAgIEBJbnB1dCgpIHRhc2tJZDogYW55O1xyXG5cclxuICAgIHB1YmxpYyBsYXlvdXRGaWxlID0gRW51bUZpbGVMYXlvdXQ7XHJcbiAgICBwdWJsaWMgZW51bUZvcm1TdGF0ZSA9IEZvcm1TdGF0ZTtcclxuXHJcbiAgICBmb3JtTW9kZWw6IGFueSA9IHt9O1xyXG4gICAgc2hvd0F0dGFjaExpbmtCb3ggPSBmYWxzZTtcclxuICAgIHR5cGVkTGluazogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgX3ZpcnR1YWxCYXNlU2VydmljZTogVmlydHVhbEJhc2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2NvbmdWaWVjRGluaEtlbVNlcnZpY2U6IENvbmd2aWVjRGluaGtlbVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGZpbGVEYXRhU2VydmljZTogRmlsZURhdGFTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLm9iamVjdE5hbWUgPSAnbeG7pWMgxJHDrW5oIGvDqG0nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuX2NvbmdWaWVjRGluaEtlbVNlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nUGVybWlzc2lvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdXb3JrZmxvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdXb3JrZmxvd05ldyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblBhZ2VTZXR0aW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQWR2YW5jZVNlYXJjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkZpbHRlclJvdyA9IHRydWU7XHJcbiAgICAgICAgLy8gdGhpcy5zZXR0aW5nLmhpZGRlbkNoZWNrYm94ID0gdGhpcy5mb3JtU3RhdGUgPT0gRm9ybVN0YXRlLlZJRVc7XHJcbiAgICAgICAgLy8gdGhpcy5zZXR0aW5nLmhpZGRlbkZ1bmN0aW9uQ29sdW1uID0gdGhpcy5mb3JtU3RhdGUgPT0gRm9ybVN0YXRlLlZJRVc7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmZpeEhlaWdodFR5cGVJbkRpYWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5keW5hbWljO1xyXG5cclxuICAgICAgICB0aGlzLnNldHRpbmcuc2hvd0V4cG9ydFNlbGVjdGVkSXRlbXMgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLm1vZGVsU2NoZW1hcyA9IFtcclxuICAgICAgICAgICAgbmV3IE1vZGVsU2NoZW1hKHsgZmllbGQ6ICd0ZW5IaWVuVGhpRG9pVHVvbmcnLCBuYW1lOiAnxJDhu5FpIHTGsOG7o25nJywgZnVsbE5hbWU6ICfEkOG7kWkgdMaw4bujbmcnLCBkZXNjcmlwdGlvbjogJ8SQ4buRaSB0xrDhu6NuZycgfSksXHJcbiAgICAgICAgICAgIG5ldyBNb2RlbFNjaGVtYSh7IGZpZWxkOiAndGlldURlJywgbmFtZTogJ1Rpw6p1IMSR4buBJywgZnVsbE5hbWU6ICdUacOqdSDEkeG7gScsIGRlc2NyaXB0aW9uOiAnVGnDqnUgxJHhu4EnIH0pLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMgPSBbXHJcbiAgICAgICAgICAgIG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAndGlldURlJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnVGnDqnUgxJHhu4EnLFxyXG4gICAgICAgICAgICAgICAgc2hvd0VkaXRMaW5rOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICd0aWV1RGUnXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgQ29sdW1uU2NoZW1hQmFzZSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2ZpbGVEaW5oS2VtJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnRmlsZSDEkcOtbmgga8OobScsXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2ZpbGVEaW5oS2VtJ1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbW9kaWZ5R3JpZEluZm8oZ3JpZEluZm8/OiBHcmlkSW5mbykge1xyXG4gICAgICAgIGdyaWRJbmZvLmZpbHRlcnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ2lkQ29uZ1ZpZWMnLCBPcGVyYXRvci5lcXVhbCwgdGhpcy50YXNrSWQpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZnRlckdldERhdGEoKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMubW9kZWwuZGF0YVNvdXJjZSkge1xyXG4gICAgICAgICAgICBjb25zdCBkZXRhaWwgPSAoYXdhaXQgdGhpcy5fY29uZ1ZpZWNEaW5oS2VtU2VydmljZS5nZXREZXRhaWxJdGVtKGl0ZW0uc2VydmljZUNvZGUsIGl0ZW0uZW50aXR5LCBpdGVtLmVudGl0eUtleSwgaXRlbS5maWVsZEhpZW5UaGkpKS5kYXRhO1xyXG4gICAgICAgICAgICBpZiAoZGV0YWlsLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0udGlldURlID0gZGV0YWlsWzBdW2l0ZW0uZmllbGRIaWVuVGhpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0udGlldURlID0gJ0tow7RuZyB0w6xtIHRo4bqleSBi4bqjbiBnaGknO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpdGVtLnRlbkhpZW5UaGlEb2lUdW9uZyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLnRlbkhpZW5UaGlEb2lUdW9uZyA9IGl0ZW0udGVuSGllblRoaURvaVR1b25nLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgIGl0ZW0udGVuSGllblRoaURvaVR1b25nID0gaXRlbS50ZW5IaWVuVGhpRG9pVHVvbmcuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBpdGVtLnRlbkhpZW5UaGlEb2lUdW9uZy5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdmlld0xpbmtJdGVtKGV2dCkge1xyXG4gICAgICAgIHRoaXMudmlld1Jhd0xpbmsoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVMaW5rSXRlbShldnQpIHtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd0NvbmZpcm0oJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiBo4buneSDEkcOtbmgga8OobSBi4bqjbiBnaGkgbsOgeT8nKS50aGVuKGFzeW5jIHJzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJzKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jb25nVmllY0RpbmhLZW1TZXJ2aWNlLmRlbGV0ZShldnQuaWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUxpbmtJdGVtTXVsdGlwbGUoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dDb25maXJtKCdC4bqhbiBjw7MgY2jhuq9jIGNo4bqvbiBtdeG7kW4gaOG7p3kgxJHDrW5oIGvDqG0gYuG6o24gZ2hpIG7DoHk/JykudGhlbihhc3luYyBycyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChycykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fY29uZ1ZpZWNEaW5oS2VtU2VydmljZS5kZWxldGVNYW55KHRoaXMubW9kZWwuc2VsZWN0ZWRJdGVtcy5tYXAoeCA9PiB4LmlkKS5qb2luKCcsJykpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHRoZW1EaW5oS2VtKCkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLl9jb21tb25TZXJ2aWNlLnBhc3RlQnlTdG9yYWdlKCk7XHJcbiAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JqID0gdGhpcy5wYXJzZUF0dGFjaExpbmsoY29udGVudCk7XHJcbiAgICAgICAgICAgIGlmIChvYmoubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY29uZ1ZpZWNEaW5oS2VtU2VydmljZS50aGVtRGluaEtlbU5naGllcFZ1KHRoaXMudGFza0lkLCBvYmopLnRoZW4ocnMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChycy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93U3VjY2VzcygnVGjDqm0gbeG7pWMgxJHDrW5oIGvDqG0gdGjDoG5oIGPDtG5nIScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmNsZWFyQ2xpcGJvYXJkU3RvcmFnZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QXR0YWNoTGlua0JveCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBdHRhY2hMaW5rQm94ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QXR0YWNoTGlua0JveCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0F0dGFjaExpbmtCb3ggPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhZGRBdHRhY2hMaW5rKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGVkTGluayAmJiB0aGlzLnR5cGVkTGluay5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9iaiA9IHRoaXMucGFyc2VBdHRhY2hMaW5rKHRoaXMudHlwZWRMaW5rKTtcclxuICAgICAgICAgICAgaWYgKG9iai5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb25nVmllY0RpbmhLZW1TZXJ2aWNlLnRoZW1EaW5oS2VtTmdoaWVwVnUodGhpcy50YXNrSWQsIG9iaikudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dTdWNjZXNzKCdUaMOqbSBt4bulYyDEkcOtbmgga8OobSB0aMOgbmggY8O0bmchJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0F0dGFjaExpbmtCb3ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50eXBlZExpbmsgPSAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnTGnDqm4ga+G6v3Qga2jDtG5nIGjhu6NwIGzhu4chJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0xpw6puIGvhur90IGtow7RuZyBo4bujcCBs4buHIScpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0xpw6puIGvhur90IGtow7RuZyBo4bujcCBs4buHIScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvY3VzSW5wdXQoaW5wdXQ6IGFueSkge1xyXG4gICAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaHR0cDovL2xvY2FsaG9zdDoyNzIzMC91bml2ZXJzYWwtbGluaz9zZXJ2aWNlQ29kZT1jb25ndmllYyZlbnRpdHk9RE1fUHJpb3JpdHkmZW50aXR5S2V5PTA5MTFmM2U3LTNkYjAtNGI2OC04N2NkLTA3ZDQyNTc0MWU5ZSZzdGF0ZT0mc291cmNlUGF0aD1odHRwOi8vbG9jYWxob3N0OjI3MjMwL2RtLXByaW9yaXR5XHJcbiAgICBwYXJzZUF0dGFjaExpbmsoY29udGVudCkge1xyXG4gICAgICAgIGNvbnN0IGxpbmtzID0gY29udGVudC5zcGxpdCgnXFxyXFxuJyk7XHJcbiAgICAgICAgY29uc3Qgb3AgPSBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcclxuICAgICAgICAgICAgY29uc3QgYXJyID0gbGluay5zcGxpdCgnPycpO1xyXG4gICAgICAgICAgICBpZiAoYXJyLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBhcnJbMV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeSA9IHRoaXMucGFyc2VRdWVyeVN0cmluZyh0ZW1wKTtcclxuICAgICAgICAgICAgICAgIGlmIChxdWVyeSAmJiBxdWVyeS5zZXJ2aWNlQ29kZSAmJiBxdWVyeS5lbnRpdHkgJiYgcXVlcnkuZW50aXR5S2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkucmF3TGluayA9IGxpbms7XHJcbiAgICAgICAgICAgICAgICAgICAgb3AucHVzaChxdWVyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYGxpbmsgJHtsaW5rfSBpbnZhbGlkIHRvIHBhcnNlYCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9wO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWZ0ZXJTYXZlZChldnQpIHtcclxuICAgICAgICAvLyB0aGlzLnNob3dEZXRhaWxGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2FmdGVyIHNhdmVkJywgZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZVF1ZXJ5U3RyaW5nKHF1ZXJ5OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgICAgIGlmICghcXVlcnkpIHJldHVybiBudWxsO1xyXG4gICAgICAgIGlmIChxdWVyeS5zdGFydHNXaXRoKCc/JykpIHF1ZXJ5ID0gcXVlcnkuc3Vic3RyaW5nKDEpO1xyXG4gICAgICAgIGNvbnN0IGFyciA9IHF1ZXJ5LnNwbGl0KCcmJyk7XHJcbiAgICAgICAgY29uc3Qgb2JqID0ge307XHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGFycikge1xyXG4gICAgICAgICAgICBjb25zdCB0ZW1wID0gaXRlbS5zcGxpdCgnPScpO1xyXG4gICAgICAgICAgICBpZiAodGVtcFsxXSkge1xyXG4gICAgICAgICAgICAgICAgb2JqW3RlbXBbMF1dID0gZGVjb2RlVVJJQ29tcG9uZW50KHRlbXBbMV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgb2JqW3RlbXBbMF1dID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIHZpZXdSYXdMaW5rKHJvd0RhdGE6IGFueSkge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKHJvd0RhdGEubGlua0dvYyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -9787,6 +9787,12 @@ TnCustomScrollbarComponent.propDecorators = {
9787
9787
  scrollXReachStart: [{ type: Output }]
9788
9788
  };
9789
9789
 
9790
+ const DummyWorkflowCode = 'DummyWorkflowCode';
9791
+ const MaActionBatDauQuyTrinh = '_START_';
9792
+ const ActionThuHoiBase = '__THU_HOI';
9793
+ const ActionChoYKienBase = '__CHO_Y_KIEN';
9794
+ const ActionUpdateModel = '__UPDATE_MODEL';
9795
+
9790
9796
  class CanBo_HoSoService extends BaseService {
9791
9797
  constructor(http, injector, _moduleConfigService) {
9792
9798
  super(http, injector, `${_moduleConfigService.getConfig().environment.apiDomain.canboEndpoint}/${_moduleConfigService.getConfig().environment.apiVersion}/CanBo_HoSo`);
@@ -14470,10 +14476,14 @@ class DataFormBase extends ComponentBase {
14470
14476
  displayField: 'title',
14471
14477
  mdWidth: 12,
14472
14478
  hiddenCheck: (rootModel) => !rootModel || rootModel.createTaskInstead
14473
- }), new TitleSchema({
14474
- text: 'Công việc',
14475
- hiddenCheck: (rootModel) => !rootModel || !rootModel.createTaskInstead
14476
- }), this.dynamicControl[FieldDefineIsTaskFormControl]);
14479
+ }));
14480
+ if (this.parentSetting.workflowSettingNew
14481
+ && this.parentSetting.workflowSettingNew.taskInsideBusinessForm) {
14482
+ this.setting.schema.push(new TitleSchema({
14483
+ text: 'Công việc',
14484
+ hiddenCheck: (rootModel) => !rootModel || !rootModel.createTaskInstead
14485
+ }), this.dynamicControl[FieldDefineIsTaskFormControl]);
14486
+ }
14477
14487
  }
14478
14488
  }
14479
14489
  }
@@ -14756,13 +14766,15 @@ class DataFormBase extends ComponentBase {
14756
14766
  validateFormBase() {
14757
14767
  return __awaiter(this, void 0, void 0, function* () {
14758
14768
  const resultValidateBase = yield this.crudForm.validateForm();
14759
- let resultValidate = yield this.validateForm(resultValidateBase);
14760
- if (this.dynamicControl[FieldDefineIsTaskFormControl]
14761
- && this.dynamicControl[FieldDefineIsTaskFormControl]._component) {
14762
- const taskForm = this.dynamicControl[FieldDefineIsTaskFormControl]._component;
14763
- const resultValidateFormTask = yield taskForm._getResultValidate();
14764
- resultValidate = resultValidateFormTask && resultValidate;
14765
- }
14769
+ const resultValidate = yield this.validateForm(resultValidateBase);
14770
+ // Bỏ check valid form công việc. nếu như form công việc không valid thì không tự động tạo công việc
14771
+ // if (this.dynamicControl[FieldDefineIsTaskFormControl]
14772
+ // && this.dynamicControl[FieldDefineIsTaskFormControl]._component
14773
+ // ) {
14774
+ // const taskForm = this.dynamicControl[FieldDefineIsTaskFormControl]._component;
14775
+ // const resultValidateFormTask = await taskForm._getResultValidate();
14776
+ // resultValidate = resultValidateFormTask && resultValidate;
14777
+ // }
14766
14778
  return resultValidate && resultValidateBase;
14767
14779
  });
14768
14780
  }
@@ -14788,7 +14800,11 @@ class DataFormBase extends ComponentBase {
14788
14800
  this.setDefaultValue(this.model.data);
14789
14801
  if (this.dynamicControl[FieldDefineIsTaskFormControl]
14790
14802
  && this.dynamicControl[FieldDefineIsTaskFormControl]._component) {
14791
- this.model.data.itemCongViec = this.dynamicControl[FieldDefineIsTaskFormControl]._component.model.data;
14803
+ const taskForm = this.dynamicControl[FieldDefineIsTaskFormControl]._component;
14804
+ const resultValidateFormTask = yield taskForm._getResultValidate();
14805
+ if (resultValidateFormTask) {
14806
+ this.model.data.itemCongViec = taskForm.model.data;
14807
+ }
14792
14808
  // reset field _WorkflowCode để backend biết được chạy quy trình theo kiểu nào
14793
14809
  this.model.data._WorkflowCode = null;
14794
14810
  }
@@ -17043,10 +17059,24 @@ class CrudListComponent extends ComponentBase {
17043
17059
  return;
17044
17060
  // Nếu create task thay vì chạy quy trình với đối tượng chính thì mở form thêm công việc
17045
17061
  if (workflowSetting.createTaskInstead) {
17062
+ // Kiểm tra đã tạo công việc gắn với bản ghi chưa
17063
+ // Nếu có rồi thì báo
17064
+ const resultCheckExist = (yield this._congViecService.checkExistByFilter([
17065
+ this.newFilter('serviceCode', Operator.equal, this.setting.baseService.serviceCode),
17066
+ this.newFilter('entity', Operator.equal, this.setting.baseService.entityName),
17067
+ this.newFilter('entityKey', Operator.equal, rowData.id)
17068
+ ]));
17069
+ if (!resultCheckExist.success) {
17070
+ return this._notifierService.showWarning('Có lỗi xảy ra khi kiểm tra trạng thái đã tạo công việc hay chưa');
17071
+ }
17072
+ if (resultCheckExist.data) {
17073
+ return this._notifierService.showWarning('Bản ghi đã được tạo công việc');
17074
+ }
17046
17075
  this.congViecModel.data.congViecSetting.isWorkflowTree = true;
17047
17076
  this.congViecModel.data.model = {
17048
17077
  formState: FormState.ADD,
17049
17078
  data: {
17079
+ checkUniqueTaskForEntity: true,
17050
17080
  idLoaiCongViec: workflowSetting.idLoaiCongViecDefault,
17051
17081
  serviceCode: this.setting.baseService.serviceCode,
17052
17082
  entity: this.setting.baseService.entityName,
@@ -17092,13 +17122,15 @@ class CrudListComponent extends ComponentBase {
17092
17122
  label: `Xem chi tiết công việc`,
17093
17123
  icon: 'pi pi-list',
17094
17124
  command: () => this.viewTaskDetail(rowData)
17095
- },
17096
- {
17125
+ }
17126
+ ];
17127
+ if (rowData.__workflowCode != DummyWorkflowCode) {
17128
+ this.buttonContexts.unshift({
17097
17129
  label: `Xem lịch sử`,
17098
17130
  icon: 'pi pi-calendar',
17099
17131
  command: () => this.viewTaskHistory(rowData)
17100
- }
17101
- ];
17132
+ });
17133
+ }
17102
17134
  this._showContextMenu(evt);
17103
17135
  }
17104
17136
  });
@@ -17590,6 +17622,9 @@ class CrudListComponent extends ComponentBase {
17590
17622
  }
17591
17623
  createShareLink() {
17592
17624
  return __awaiter(this, void 0, void 0, function* () {
17625
+ if (!this.setting.checkReadyToTrinhKy()) {
17626
+ return this._notifierService.showWarning('Đang tải dữ liệu danh sách, chờ một lúc rồi thử lại');
17627
+ }
17593
17628
  const rowData = this.rowDataCurrent;
17594
17629
  this.showShareLinkForm([rowData]);
17595
17630
  });
@@ -19751,8 +19786,9 @@ class DataListBase extends ComponentBase {
19751
19786
  textTrangThai: 'Chưa chạy quy trình'
19752
19787
  };
19753
19788
  let itemId = rowItem.id;
19789
+ let itemTask = null;
19754
19790
  if (!this.setting.isWorkflowTree && this.setting.workflowSettingNew.createTaskInstead) {
19755
- const itemTask = dataTask.find(q => q.entityKey == rowItem.id);
19791
+ itemTask = dataTask.find(q => q.entityKey == rowItem.id);
19756
19792
  if (itemTask) {
19757
19793
  itemId = itemTask.id;
19758
19794
  }
@@ -19767,6 +19803,12 @@ class DataListBase extends ComponentBase {
19767
19803
  }
19768
19804
  }
19769
19805
  }
19806
+ // Nếu không có bản ghi trạng thái
19807
+ // Nhưng đã tạo task rồi thì hiển thị trạng thái "đã tạo công việc" để tránh trường hợp hiển thị nút bắt đầu thừa trên giao diện
19808
+ if (!itemStatus.trangThai && itemTask) {
19809
+ itemStatus.workflowCode = DummyWorkflowCode;
19810
+ itemStatus.textTrangThai = 'Đã tạo công việc';
19811
+ }
19770
19812
  rowItem.__trangThai = itemStatus.trangThai;
19771
19813
  rowItem.__textTrangThai = itemStatus.textTrangThai;
19772
19814
  rowItem.__workflowCode = itemStatus.workflowCode;
@@ -40677,11 +40719,6 @@ WorkflowHistoryDialogComponent.propDecorators = {
40677
40719
  onHide: [{ type: Output }]
40678
40720
  };
40679
40721
 
40680
- const MaActionBatDauQuyTrinh = '_START_';
40681
- const ActionThuHoiBase = '__THU_HOI';
40682
- const ActionChoYKienBase = '__CHO_Y_KIEN';
40683
- const ActionUpdateModel = '__UPDATE_MODEL';
40684
-
40685
40722
  class WorkflowHistoryNewComponent extends DataListBase {
40686
40723
  constructor(_injector, _workflowHistoryService, _coCauToChucService, _userGroupService, _roleService, _fileDataService) {
40687
40724
  super(_injector);
@@ -41406,7 +41443,11 @@ class WorkflowSettingNewComponent extends DataFormBase {
41406
41443
  field: 'createTaskInstead',
41407
41444
  label: 'Tạo công việc',
41408
41445
  showLabel: false,
41409
- mdWidth: 12
41446
+ mdWidth: 2
41447
+ }),
41448
+ new LabelSchema({
41449
+ mdWidth: 10,
41450
+ hiddenCheck: (rootModel) => this.checkIfCreateTaskInstead(rootModel, true)
41410
41451
  }),
41411
41452
  new CustomControlSchema({
41412
41453
  field: 'workflowPicker',
@@ -41414,6 +41455,13 @@ class WorkflowSettingNewComponent extends DataFormBase {
41414
41455
  hiddenCheck: (rootModel) => this.checkIfCreateTaskInstead(rootModel, true),
41415
41456
  mdWidth: 12
41416
41457
  }),
41458
+ new CheckboxControlSchema({
41459
+ field: 'taskInsideBusinessForm',
41460
+ label: 'Hiển thị giao diện tạo công việc trên giao diện thêm mới',
41461
+ showLabel: false,
41462
+ mdWidth: 10,
41463
+ hiddenCheck: (rootModel) => this.checkIfCreateTaskInstead(rootModel, false)
41464
+ }),
41417
41465
  new TextControlSchema({
41418
41466
  field: 'templateTaskName',
41419
41467
  label: 'Template tên công việc',
@@ -41463,6 +41511,9 @@ class WorkflowSettingNewComponent extends DataFormBase {
41463
41511
  if (this.model.data.createTaskInstead === undefined) {
41464
41512
  this.model.data.createTaskInstead = false;
41465
41513
  }
41514
+ if (this.model.data.taskInsideBusinessForm === undefined) {
41515
+ this.model.data.taskInsideBusinessForm = false;
41516
+ }
41466
41517
  this.readyCrudForm = true;
41467
41518
  }
41468
41519
  handleCancelWorkflow(event) {
@@ -41772,8 +41823,8 @@ class BaseCongviecDinhkemComponent extends DataListBase {
41772
41823
  this.setting.hiddenPageSetting = true;
41773
41824
  this.setting.hiddenAdvanceSearch = true;
41774
41825
  this.setting.hiddenFilterRow = true;
41775
- this.setting.hiddenCheckbox = this.formState == FormState.VIEW;
41776
- this.setting.hiddenFunctionColumn = this.formState == FormState.VIEW;
41826
+ // this.setting.hiddenCheckbox = this.formState == FormState.VIEW;
41827
+ // this.setting.hiddenFunctionColumn = this.formState == FormState.VIEW;
41777
41828
  this.setting.fixHeightTypeInDialog = false;
41778
41829
  this.setting.heightType = HeightType.dynamic;
41779
41830
  this.setting.showExportSelectedItems = false;
@@ -44607,6 +44658,29 @@ class ShareLinkByPermissionComponent extends ComponentBase {
44607
44658
  const dicState = yield this.setting.getItemState(this.lstItem);
44608
44659
  const itemShares = new ModelShareLinkByPermission();
44609
44660
  itemShares.linkToMenu = `${top.location.origin}${top.location.pathname}`;
44661
+ itemShares.sourcePath = `${encodeURIComponent(top.location.href)}`;
44662
+ itemShares.objectDisplayName = `${encodeURIComponent(this.setting.objectName)}`;
44663
+ if (typeof this.setting.displayField == 'string') {
44664
+ itemShares.displayField = `${this.setting.displayField}`;
44665
+ }
44666
+ else {
44667
+ const firstItem = this.lstItem[0];
44668
+ // Chỗ này xử lý khác crud-list chút
44669
+ // Nếu displayField không phải là 'string' thì lấy trường đánh dấu là showEditLink trên giao diện
44670
+ const colShowEditLink = this.setting.cols.find(q => q.showEditLink);
44671
+ let fieldHienThi = null;
44672
+ if (colShowEditLink) {
44673
+ const value = firstItem[colShowEditLink.field];
44674
+ // Nếu có value của `str${colShowEditLink.field}` thì là trường reference
44675
+ // => Chỉ lấy trường hợp trường gốc có dữ liệu và trường reference k có dữ liệu
44676
+ if (value && !firstItem[`str${colShowEditLink.field}`]) {
44677
+ fieldHienThi = colShowEditLink.field;
44678
+ }
44679
+ }
44680
+ if (fieldHienThi) {
44681
+ itemShares.displayField = `${fieldHienThi}`;
44682
+ }
44683
+ }
44610
44684
  itemShares.lstItemData = [];
44611
44685
  this.lstItem.forEach(item => {
44612
44686
  itemShares.lstItemData.push({
@@ -44614,6 +44688,13 @@ class ShareLinkByPermissionComponent extends ComponentBase {
44614
44688
  permission,
44615
44689
  state: encodeURIComponent(JSON.stringify(dicState[item.id]))
44616
44690
  });
44691
+ if (!itemShares.displayField) {
44692
+ const rowItem = this.lstItem.find(q => q.id == item.id);
44693
+ if (typeof this.setting.displayField != 'string') {
44694
+ const tenDayDu = this.setting.displayField(rowItem);
44695
+ content += `&displayField=&tenDayDu=${encodeURIComponent(tenDayDu)}`;
44696
+ }
44697
+ }
44617
44698
  });
44618
44699
  const dicPermissionId = (yield this.setting.baseService.getSharedKey(itemShares)).data;
44619
44700
  if (!dicPermissionId) {