tnx-shared 5.1.78 → 5.1.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/tnx-shared.umd.js +994 -321
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/classes/base/data-form-base.d.ts +1 -0
- package/classes/base/data-form-base.d.ts.map +1 -1
- package/classes/base/data-list-base.d.ts +2 -1
- package/classes/base/data-list-base.d.ts.map +1 -1
- package/classes/form-schema.d.ts +3 -0
- package/classes/form-schema.d.ts.map +1 -1
- package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
- package/components/crud/crud-list/crud-list.component.d.ts +1 -0
- package/components/crud/crud-list/crud-list.component.d.ts.map +1 -1
- package/components/entity-permission/services.cs/entity-permission.service.d.ts +1 -0
- package/components/entity-permission/services.cs/entity-permission.service.d.ts.map +1 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts +1 -0
- package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
- package/components/file-explorer/services/file-data.service.d.ts +1 -0
- package/components/file-explorer/services/file-data.service.d.ts.map +1 -1
- package/components/query-builders/query-builder/query-builder.component.d.ts.map +1 -1
- package/components/query-builders/query-builder-group/query-builder-group.component.d.ts +1 -0
- package/components/query-builders/query-builder-group/query-builder-group.component.d.ts.map +1 -1
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts +3 -0
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts.map +1 -1
- package/components/statemachines/models/constants.d.ts +5 -1
- package/components/statemachines/models/constants.d.ts.map +1 -1
- package/components/statemachines/models/enums.d.ts +4 -0
- package/components/statemachines/models/enums.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.d.ts +3 -0
- package/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.d.ts +28 -0
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.d.ts.map +1 -0
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.ngfactory.d.ts.map +1 -0
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.d.ts +3 -1
- package/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.d.ts +3 -1
- package/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.d.ts +6 -4
- package/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.d.ts +3 -3
- package/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.d.ts.map +1 -1
- package/components/user-picker/user-picker.component.d.ts +8 -2
- package/components/user-picker/user-picker.component.d.ts.map +1 -1
- package/components/workflow/models/models.d.ts +8 -8
- package/components/workflow/models/models.d.ts.map +1 -1
- package/components/workflow/process-workflow-form/process-workflow-form.component.d.ts +1 -1
- package/components/workflow/process-workflow-form/process-workflow-form.component.d.ts.map +1 -1
- package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts +3 -6
- package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts.map +1 -1
- package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts +3 -3
- package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts.map +1 -1
- package/components/workflow/workflow-setting-new/workflow-setting-new.component.d.ts +1 -0
- package/components/workflow/workflow-setting-new/workflow-setting-new.component.d.ts.map +1 -1
- package/configs/component-context.constant.d.ts +1 -0
- package/configs/component-context.constant.d.ts.map +1 -1
- package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts +8 -3
- package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts.map +1 -1
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts +2 -0
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts.map +1 -1
- package/congviec/congviec/congviec.component.d.ts.map +1 -1
- package/congviec/congviec/services/congviec-dinhkem.service.d.ts +8 -0
- package/congviec/congviec/services/congviec-dinhkem.service.d.ts.map +1 -1
- package/congviec/congviec/services/congviec.service.d.ts.map +1 -1
- package/esm2015/classes/base/data-form-base.js +6 -3
- package/esm2015/classes/base/data-list-base.js +13 -3
- package/esm2015/classes/form-schema.js +1 -1
- package/esm2015/components/crud/crud-form/crud-form.component.js +2 -1
- package/esm2015/components/crud/crud-list/crud-list.component.js +6 -2
- package/esm2015/components/entity-permission/services.cs/entity-permission.service.js +8 -5
- package/esm2015/components/file-explorer/file-manager/file-manager.component.js +17 -10
- package/esm2015/components/file-explorer/services/file-data.service.js +15 -15
- package/esm2015/components/query-builders/query-builder/query-builder.component.js +24 -7
- package/esm2015/components/query-builders/query-builder-group/query-builder-group.component.js +6 -2
- package/esm2015/components/query-builders/query-builder-rule/query-builder-rule.component.js +39 -3
- package/esm2015/components/share-link-by-permission/share-link-by-permission.component.js +2 -2
- package/esm2015/components/statemachines/models/constants.js +9 -4
- package/esm2015/components/statemachines/models/enums.js +6 -1
- package/esm2015/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.js +9 -5
- package/esm2015/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.js +19 -6
- package/esm2015/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.js +179 -0
- package/esm2015/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.js +32 -1
- package/esm2015/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.js +32 -1
- package/esm2015/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.js +39 -8
- package/esm2015/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.js +19 -7
- package/esm2015/components/statemachines/statemachines-designer/statemachines-designer.component.js +1 -1
- package/esm2015/components/statemachines/utils/utils.js +6 -6
- package/esm2015/components/tn-app-help/tn-app-help.component.js +1 -1
- package/esm2015/components/tn-app-notification/tn-app-notification.component.js +2 -2
- package/esm2015/components/user-picker/user-picker.component.js +47 -6
- package/esm2015/components/workflow/models/models.js +1 -7
- package/esm2015/components/workflow/process-workflow-form/process-workflow-form.component.js +39 -42
- package/esm2015/components/workflow/process-workflow-target/process-workflow-target.component.js +7 -40
- package/esm2015/components/workflow/workflow-history-new/workflow-history-new.component.js +10 -12
- package/esm2015/components/workflow/workflow-setting-new/workflow-setting-new.component.js +67 -10
- package/esm2015/configs/component-context.constant.js +3 -2
- package/esm2015/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.js +50 -14
- package/esm2015/congviec/congviec/congviec-form/congviec-form.component.js +24 -12
- package/esm2015/congviec/congviec/congviec.component.js +7 -6
- package/esm2015/congviec/congviec/services/congviec-dinhkem.service.js +57 -1
- package/esm2015/congviec/congviec/services/congviec.service.js +3 -3
- package/esm2015/services/base.service.js +4 -1
- package/esm2015/services/dm-chucvu.service.js +28 -0
- package/esm2015/services/role.service.js +1 -1
- package/esm2015/tnx-shared.js +69 -67
- package/esm2015/tnx-shared.module.js +3 -1
- package/fesm2015/tnx-shared.js +776 -220
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/services/base.service.d.ts +1 -0
- package/services/base.service.d.ts.map +1 -1
- package/services/dm-chucvu.service.d.ts +12 -0
- package/services/dm-chucvu.service.d.ts.map +1 -0
- package/services/dm-chucvu.service.ngfactory.d.ts.map +1 -0
- package/tnx-shared.d.ts +68 -66
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +2 -1
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
package/esm2015/components/workflow/process-workflow-form/process-workflow-form.component.js
CHANGED
|
@@ -66,11 +66,11 @@ export class ProcessWorkflowFormComponent extends DataFormBase {
|
|
|
66
66
|
if (this.isActionKetThuc) {
|
|
67
67
|
this.mainTabData[1].active = true;
|
|
68
68
|
}
|
|
69
|
-
if (this.checkNeedGetUser()) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
69
|
+
// if (this.checkNeedGetUser()) {
|
|
70
|
+
if (!(yield this.getUserForProcessWorkflow())) {
|
|
71
|
+
return;
|
|
73
72
|
}
|
|
73
|
+
// }
|
|
74
74
|
this.setDataAndTriggerReady();
|
|
75
75
|
});
|
|
76
76
|
}
|
|
@@ -94,29 +94,20 @@ export class ProcessWorkflowFormComponent extends DataFormBase {
|
|
|
94
94
|
getUserForProcessWorkflow() {
|
|
95
95
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
96
|
const sourceMachine = this.workflow.data.machines.find(q => q.id == this.action.source);
|
|
97
|
-
const resultGetUserInProcessForm = yield this.
|
|
97
|
+
const resultGetUserInProcessForm = yield this.businessSetting.baseService.getUserInProcessForm(this.workflow.code, sourceMachine.code, this.action.code, this.item.id);
|
|
98
98
|
if (!resultGetUserInProcessForm.success) {
|
|
99
99
|
this.handleResponse(resultGetUserInProcessForm);
|
|
100
100
|
return false;
|
|
101
101
|
}
|
|
102
102
|
const dataUserInProcessForm = resultGetUserInProcessForm.data;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
if (dataUserInProcessForm.dicByTargetCanEdit) {
|
|
114
|
-
this.initValueForTargetForm.dicByTargetCanEdit = dataUserInProcessForm.dicByTargetCanEdit;
|
|
115
|
-
}
|
|
116
|
-
if (dataUserInProcessForm.dicByTargetOnlyView) {
|
|
117
|
-
this.initValueForTargetForm.dicByTargetOnlyView = dataUserInProcessForm.dicByTargetOnlyView;
|
|
118
|
-
}
|
|
119
|
-
this.infoReceiver = dataUserInProcessForm.infoReceiver;
|
|
103
|
+
this.initValueForTargetForm.lstUserId = dataUserInProcessForm.lstUserId;
|
|
104
|
+
this.initValueForTargetForm.lstUserViewId = dataUserInProcessForm.lstUserViewId;
|
|
105
|
+
this.initValueForTargetForm.lstDonViId = dataUserInProcessForm.lstDonViId;
|
|
106
|
+
this.initValueForTargetForm.lstDonViViewId = dataUserInProcessForm.lstDonViViewId;
|
|
107
|
+
this.initValueForTargetForm.lstGroupId = dataUserInProcessForm.lstGroupId;
|
|
108
|
+
this.initValueForTargetForm.lstGroupViewId = dataUserInProcessForm.lstGroupViewId;
|
|
109
|
+
this.initValueForTargetForm.lstRoleId = dataUserInProcessForm.lstRoleId;
|
|
110
|
+
this.initValueForTargetForm.lstRoleViewId = dataUserInProcessForm.lstRoleViewId;
|
|
120
111
|
return true;
|
|
121
112
|
});
|
|
122
113
|
}
|
|
@@ -129,36 +120,42 @@ export class ProcessWorkflowFormComponent extends DataFormBase {
|
|
|
129
120
|
return false;
|
|
130
121
|
}
|
|
131
122
|
setDataAndTriggerReady() {
|
|
123
|
+
var _a, _b, _c, _d, _e, _f;
|
|
132
124
|
this.dataAllowEdit = {
|
|
133
125
|
rules: [],
|
|
134
126
|
userIds: [],
|
|
135
127
|
ruleInWorkflows: [],
|
|
136
|
-
departmentIds: this.action.data.departmentIds,
|
|
137
|
-
groupIds: this.action.data.groupIds,
|
|
138
|
-
roleIds: this.action.data.roleIds
|
|
128
|
+
departmentIds: (_a = this.action.data.departmentIds) !== null && _a !== void 0 ? _a : [],
|
|
129
|
+
groupIds: (_b = this.action.data.groupIds) !== null && _b !== void 0 ? _b : [],
|
|
130
|
+
roleIds: (_c = this.action.data.roleIds) !== null && _c !== void 0 ? _c : []
|
|
139
131
|
};
|
|
140
132
|
this.dataOnlyView = {
|
|
141
133
|
rules: [],
|
|
142
134
|
userIds: [],
|
|
143
135
|
ruleInWorkflows: [],
|
|
144
|
-
departmentIds: this.action.data.departmentViewIds,
|
|
145
|
-
groupIds: this.action.data.groupViewIds,
|
|
146
|
-
roleIds: this.action.data.roleViewIds
|
|
136
|
+
departmentIds: (_d = this.action.data.departmentViewIds) !== null && _d !== void 0 ? _d : [],
|
|
137
|
+
groupIds: (_e = this.action.data.groupViewIds) !== null && _e !== void 0 ? _e : [],
|
|
138
|
+
roleIds: (_f = this.action.data.roleViewIds) !== null && _f !== void 0 ? _f : []
|
|
147
139
|
};
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
this.dataOnlyView.rules = this.infoReceiver.userView.rules;
|
|
157
|
-
this.dataOnlyView.ruleInWorkflows = this.infoReceiver.userView.ruleInWorkflows;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
140
|
+
this.addDistinct(this.dataAllowEdit.userIds, this.initValueForTargetForm.lstUserId);
|
|
141
|
+
this.addDistinct(this.dataAllowEdit.departmentIds, this.initValueForTargetForm.lstDonViId);
|
|
142
|
+
this.addDistinct(this.dataAllowEdit.groupIds, this.initValueForTargetForm.lstGroupId);
|
|
143
|
+
this.addDistinct(this.dataAllowEdit.roleIds, this.initValueForTargetForm.lstRoleId);
|
|
144
|
+
this.addDistinct(this.dataOnlyView.userIds, this.initValueForTargetForm.lstUserViewId);
|
|
145
|
+
this.addDistinct(this.dataOnlyView.departmentIds, this.initValueForTargetForm.lstDonViViewId);
|
|
146
|
+
this.addDistinct(this.dataOnlyView.groupIds, this.initValueForTargetForm.lstGroupViewId);
|
|
147
|
+
this.addDistinct(this.dataOnlyView.roleIds, this.initValueForTargetForm.lstRoleViewId);
|
|
160
148
|
this.formReady = true;
|
|
161
149
|
}
|
|
150
|
+
addDistinct(dest, source) {
|
|
151
|
+
if (!source || !source.length)
|
|
152
|
+
return;
|
|
153
|
+
source.forEach(item => {
|
|
154
|
+
if (dest.indexOf(item) == -1) {
|
|
155
|
+
dest.push(item);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}
|
|
162
159
|
onFormInitialized(evt) {
|
|
163
160
|
return __awaiter(this, void 0, void 0, function* () {
|
|
164
161
|
evt.model.id = this._commonService.guid();
|
|
@@ -179,7 +176,7 @@ export class ProcessWorkflowFormComponent extends DataFormBase {
|
|
|
179
176
|
&& this.isEmptyArray(this.model.data.departmentIds)
|
|
180
177
|
&& this.isEmptyArray(this.model.data.groupIds)
|
|
181
178
|
&& this.isEmptyArray(this.model.data.roleIds)) {
|
|
182
|
-
this._notifierService.showWarning('Phải chọn ít nhất 1 nhóm đối tượng nhận (Cán bộ | Đơn vị | Nhóm người dùng |
|
|
179
|
+
this._notifierService.showWarning('Phải chọn ít nhất 1 nhóm đối tượng nhận (Cán bộ | Đơn vị | Nhóm người dùng | Chức vụ)');
|
|
183
180
|
return false;
|
|
184
181
|
}
|
|
185
182
|
}
|
|
@@ -254,4 +251,4 @@ ProcessWorkflowFormComponent.propDecorators = {
|
|
|
254
251
|
action: [{ type: Input }],
|
|
255
252
|
onInvalidWorkflow: [{ type: Output }]
|
|
256
253
|
};
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy13b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dvcmtmbG93L3Byb2Nlc3Mtd29ya2Zsb3ctZm9ybS9wcm9jZXNzLXdvcmtmbG93LWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFhLHdCQUF3QixFQUFrQixNQUFNLDhCQUE4QixDQUFDO0FBQ3pKLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTzlFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxZQUFZO0lBZ0MxRCxZQUNjLFNBQW1CLEVBQ3JCLHFCQUEyQyxFQUMzQyx1QkFBK0M7UUFFdkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSlAsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUExQmpELHNCQUFpQixHQUFzQixJ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QUFRO1lBSWpDLG9CQUFvQjtZQUdwQixzQkFBc0I7OztrQ0FRMUIsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtpQ0FDOUMsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs4QkFFN0MsS0FBSzttQkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsS0FBSztnQ0FFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRhRm9ybUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1mb3JtLWJhc2UnO1xyXG5pbXBvcnQgeyBDcnVkTGlzdFNldHRpbmcsIEVkaXRvckNvbnRyb2xTY2hlbWEsIEVudW1GaWxlTGF5b3V0LCBFdmVudERhdGEsIEZpbGVNYW5hZ2VyQ29udHJvbFNjaGVtYSwgRm9ybVNjaGVtYUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgRW51bVN0YXRlVHlwZSB9IGZyb20gJy4uLy4uL3N0YXRlbWFjaGluZXMvbW9kZWxzL2VudW1zJztcclxuaW1wb3J0IHsgU3RhdGVNYWNoaW5lc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zdGF0ZW1hY2hpbmVzL3NlcnZpY2VzL3N0YXRlbWFjaGluZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFdmQWN0aW9uLCBXZkl0ZW0sIFdvcmtmbG93VGFyZ2V0RGVmYXVsdFZhbHVlIH0gZnJvbSAnLi4vbW9kZWxzL21vZGVscyc7XHJcbmltcG9ydCB7IFByb2Nlc3NXb3JrZmxvd1RhcmdldENvbXBvbmVudCB9IGZyb20gJy4uL3Byb2Nlc3Mtd29ya2Zsb3ctdGFyZ2V0L3Byb2Nlc3Mtd29ya2Zsb3ctdGFyZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93SGlzdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy93b3JrZmxvdy1oaXN0b3J5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Byb2Nlc3Mtd29ya2Zsb3ctZm9ybScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy13b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Byb2Nlc3Mtd29ya2Zsb3ctZm9ybS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2Nlc3NXb3JrZmxvd0Zvcm1Db21wb25lbnQgZXh0ZW5kcyBEYXRhRm9ybUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgndGFyZ2V0QWxsb3dFZGl0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm1UYXJnZXRBbGxvd0VkaXQ6IFByb2Nlc3NXb3JrZmxvd1RhcmdldENvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhcmdldE9ubHlWaWV3JywgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm1UYXJnZXRPbmx5VmlldzogUHJvY2Vzc1dvcmtmbG93VGFyZ2V0Q29tcG9uZW50O1xyXG5cclxuICAgIEBJbnB1dCgpIGJ1c2luZXNzU2V0dGluZzogQ3J1ZExpc3RTZXR0aW5nO1xyXG4gICAgQElucHV0KCkgaXRlbTogYW55O1xyXG4gICAgQElucHV0KCkgd29ya2Zsb3c6IFdmSXRlbTtcclxuICAgIEBJbnB1dCgpIGFjdGlvbjogV2ZBY3Rpb247XHJcblxyXG4gICAgQE91dHB1dCgpIG9uSW52YWxpZFdvcmtmbG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGZvcm1SZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgbWFpblRhYkRhdGE6IGFueVtdID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgY29kZTogJ2FsbG93RWRpdCcsXHJcbiAgICAgICAgICAgIGljb246ICdwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGUnLFxyXG4gICAgICAgICAgICBsYWJlbDogJ05nxrDhu51pIG5o4bqtbidcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgY29kZTogJ29ubHlWaWV3JyxcclxuICAgICAgICAgICAgaWNvbjogJ3BpIHBpLWxpc3QnLFxyXG4gICAgICAgICAgICBsYWJlbDogJ05nxrDhu51pIHRoZW8gZMO1aSdcclxuICAgICAgICB9XHJcbiAgICBdO1xyXG4gICAgaXNBY3Rpb25LZXRUaHVjOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBkYXRhQWxsb3dFZGl0OiBhbnkgPSB7fTtcclxuICAgIGRhdGFPbmx5VmlldzogYW55ID0ge307XHJcbiAgICBydWxlVXNlcnMgPSBbXTtcclxuICAgIGluaXRWYWx1ZUZvclRhcmdldEZvcm06IFdvcmtmbG93VGFyZ2V0RGVmYXVsdFZhbHVlID0gbmV3IFdvcmtmbG93VGFyZ2V0RGVmYXVsdFZhbHVlKCk7XHJcbiAgICBpbmZvUmVjZWl2ZXI6IGFueTtcclxuICAgIHVzZXJJZHNEYVRodWNIaWVuOiBzdHJpbmdbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9zdGF0ZU1hY2hpbmVzU2VydmljZTogU3RhdGVNYWNoaW5lc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfd29ya2Zsb3dIaXN0b3J5U2VydmljZTogV29ya2Zsb3dIaXN0b3J5U2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5fc3RhdGVNYWNoaW5lc1NlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYSA9IDxGb3JtU2NoZW1hQmFzZVtdPltcclxuICAgICAgICAgICAgbmV3IEVkaXRvckNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdub3RlJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ8OdIGtp4bq/bicpLFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogMTJcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGaWxlTWFuYWdlckNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdmaWxlRGluaEtlbScsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdGaWxlIMSRw61uaCBrw6htJyksXHJcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IEVudW1GaWxlTGF5b3V0LlNJTVBMRSxcclxuICAgICAgICAgICAgICAgIHNlcnZpY2VDb2RlOiB0aGlzLl93b3JrZmxvd0hpc3RvcnlTZXJ2aWNlLnNlcnZpY2VDb2RlLFxyXG4gICAgICAgICAgICAgICAgZW50aXR5OiB0aGlzLl93b3JrZmxvd0hpc3RvcnlTZXJ2aWNlLmVudGl0eU5hbWUsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6IHRoaXMubW9kZWwuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IDEyLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmluaXRSdWxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW5pdFJ1bGUoKSB7XHJcbiAgICAgICAgLy8gS2nhu4NtIHRyYSDEkcOieSBsw6AgYWN0aW9uIGvhur90IHRow7pjXHJcbiAgICAgICAgY29uc3QgbmV4dE1hY2hpbmUgPSB0aGlzLndvcmtmbG93LmRhdGEubWFjaGluZXMuZmluZChxID0+IHEuaWQgPT0gdGhpcy5hY3Rpb24udGFyZ2V0KTtcclxuICAgICAgICB0aGlzLmlzQWN0aW9uS2V0VGh1YyA9IG5leHRNYWNoaW5lLnR5cGUgPT0gRW51bVN0YXRlVHlwZS5TVE9QO1xyXG4gICAgICAgIGlmICh0aGlzLmlzQWN0aW9uS2V0VGh1Yykge1xyXG4gICAgICAgICAgICB0aGlzLm1haW5UYWJEYXRhWzFdLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNoZWNrTmVlZEdldFVzZXIoKSkge1xyXG4gICAgICAgICAgICBpZiAoIWF3YWl0IHRoaXMuZ2V0VXNlckZvclByb2Nlc3NXb3JrZmxvdygpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXREYXRhQW5kVHJpZ2dlclJlYWR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tOZWVkR2V0VXNlcigpIHtcclxuICAgICAgICB0aGlzLnJ1bGVVc2VycyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXIgfHwgIXRoaXMuYWN0aW9uLmRhdGEuaW5mb1JlY2VpdmVyLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXIubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXJbMF0ubGFuVGh1ID0gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBpbmZvUmVjZWl2ZXIgb2YgdGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXIpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tOZWVkR2V0VXNlckJ5VXNlckRhdGEoaW5mb1JlY2VpdmVyLnVzZXIpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5jaGVja05lZWRHZXRVc2VyQnlVc2VyRGF0YShpbmZvUmVjZWl2ZXIudXNlclZpZXcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0VXNlckZvclByb2Nlc3NXb3JrZmxvdygpIHtcclxuICAgICAgICBjb25zdCBzb3VyY2VNYWNoaW5lID0gdGhpcy53b3JrZmxvdy5kYXRhLm1hY2hpbmVzLmZpbmQocSA9PiBxLmlkID09IHRoaXMuYWN0aW9uLnNvdXJjZSk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0R2V0VXNlckluUHJvY2Vzc0Zvcm0gPSBhd2FpdCB0aGlzLl9zdGF0ZU1hY2hpbmVzU2VydmljZS5nZXRVc2VySW5Qcm9jZXNzRm9ybShcclxuICAgICAgICAgICAgdGhpcy53b3JrZmxvdy5jb2RlLCBzb3VyY2VNYWNoaW5lLmNvZGUsIHRoaXMuYWN0aW9uLmNvZGUsIHRoaXMuaXRlbS5pZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHRHZXRVc2VySW5Qcm9jZXNzRm9ybS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0R2V0VXNlckluUHJvY2Vzc0Zvcm0pO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRhdGFVc2VySW5Qcm9jZXNzRm9ybSA9IHJlc3VsdEdldFVzZXJJblByb2Nlc3NGb3JtLmRhdGE7XHJcbiAgICAgICAgaWYgKGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeVJ1bGVUeXBlKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeVJ1bGVUeXBlKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRWYWx1ZUZvclRhcmdldEZvcm0uZGljRGVmYXVsdFZhbHVlW2tleV0gPSBkYXRhVXNlckluUHJvY2Vzc0Zvcm0uZGljQnlSdWxlVHlwZVtrZXldO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeUFjdGlvbikge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhkYXRhVXNlckluUHJvY2Vzc0Zvcm0uZGljQnlBY3Rpb24pLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5kaWNEZWZhdWx0VmFsdWVCeVdvcmtmbG93W2tleS50b1VwcGVyQ2FzZSgpXSA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeUFjdGlvbltrZXldO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeVRhcmdldENhbkVkaXQpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0VmFsdWVGb3JUYXJnZXRGb3JtLmRpY0J5VGFyZ2V0Q2FuRWRpdCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeVRhcmdldENhbkVkaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRhVXNlckluUHJvY2Vzc0Zvcm0uZGljQnlUYXJnZXRPbmx5Vmlldykge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRWYWx1ZUZvclRhcmdldEZvcm0uZGljQnlUYXJnZXRPbmx5VmlldyA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5kaWNCeVRhcmdldE9ubHlWaWV3O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmluZm9SZWNlaXZlciA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5pbmZvUmVjZWl2ZXI7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja05lZWRHZXRVc2VyQnlVc2VyRGF0YSh1c2VyRGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHVzZXJEYXRhXHJcbiAgICAgICAgICAgICYmICgodXNlckRhdGEucnVsZXMgJiYgdXNlckRhdGEucnVsZXMubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgfHwgKHVzZXJEYXRhLnJ1bGVJbldvcmtmbG93cyAmJiB1c2VyRGF0YS5ydWxlSW5Xb3JrZmxvd3MubGVuZ3RoKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGF0YUFuZFRyaWdnZXJSZWFkeSgpIHtcclxuICAgICAgICB0aGlzLmRhdGFBbGxvd0VkaXQgPSB7XHJcbiAgICAgICAgICAgIHJ1bGVzOiBbXSxcclxuICAgICAgICAgICAgdXNlcklkczogW10sXHJcbiAgICAgICAgICAgIHJ1bGVJbldvcmtmbG93czogW10sXHJcbiAgICAgICAgICAgIGRlcGFydG1lbnRJZHM6IHRoaXMuYWN0aW9uLmRhdGEuZGVwYXJ0bWVudElkcyxcclxuICAgICAgICAgICAgZ3JvdXBJZHM6IHRoaXMuYWN0aW9uLmRhdGEuZ3JvdXBJZHMsXHJcbiAgICAgICAgICAgIHJvbGVJZHM6IHRoaXMuYWN0aW9uLmRhdGEucm9sZUlkc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5kYXRhT25seVZpZXcgPSB7XHJcbiAgICAgICAgICAgIHJ1bGVzOiBbXSxcclxuICAgICAgICAgICAgdXNlcklkczogW10sXHJcbiAgICAgICAgICAgIHJ1bGVJbldvcmtmbG93czogW10sXHJcbiAgICAgICAgICAgIGRlcGFydG1lbnRJZHM6IHRoaXMuYWN0aW9uLmRhdGEuZGVwYXJ0bWVudFZpZXdJZHMsXHJcbiAgICAgICAgICAgIGdyb3VwSWRzOiB0aGlzLmFjdGlvbi5kYXRhLmdyb3VwVmlld0lkcyxcclxuICAgICAgICAgICAgcm9sZUlkczogdGhpcy5hY3Rpb24uZGF0YS5yb2xlVmlld0lkc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb1JlY2VpdmVyKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmluZm9SZWNlaXZlci51c2VyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFBbGxvd0VkaXQudXNlcklkcyA9IHRoaXMuaW5mb1JlY2VpdmVyLnVzZXIuaWRzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhQWxsb3dFZGl0LnJ1bGVzID0gdGhpcy5pbmZvUmVjZWl2ZXIudXNlci5ydWxlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUFsbG93RWRpdC5ydWxlSW5Xb3JrZmxvd3MgPSB0aGlzLmluZm9SZWNlaXZlci51c2VyLnJ1bGVJbldvcmtmbG93cztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaW5mb1JlY2VpdmVyLnVzZXJWaWV3KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFPbmx5Vmlldy51c2VySWRzID0gdGhpcy5pbmZvUmVjZWl2ZXIudXNlclZpZXcuaWRzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhT25seVZpZXcucnVsZXMgPSB0aGlzLmluZm9SZWNlaXZlci51c2VyVmlldy5ydWxlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YU9ubHlWaWV3LnJ1bGVJbldvcmtmbG93cyA9IHRoaXMuaW5mb1JlY2VpdmVyLnVzZXJWaWV3LnJ1bGVJbldvcmtmbG93cztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1SZWFkeSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Gb3JtSW5pdGlhbGl6ZWQoZXZ0OiBFdmVudERhdGEpIHtcclxuICAgICAgICBldnQubW9kZWwuaWQgPSB0aGlzLl9jb21tb25TZXJ2aWNlLmd1aWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB2YWxpZGF0ZUZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhLnVzZXJJZHMgPSB0aGlzLmZvcm1UYXJnZXRBbGxvd0VkaXQubW9kZWwuZGF0YS51c2VySWRzO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS5kZXBhcnRtZW50SWRzID0gdGhpcy5mb3JtVGFyZ2V0QWxsb3dFZGl0Lm1vZGVsLmRhdGEuZGVwYXJ0bWVudElkcztcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEuZ3JvdXBJZHMgPSB0aGlzLmZvcm1UYXJnZXRBbGxvd0VkaXQubW9kZWwuZGF0YS5ncm91cElkcztcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEucm9sZUlkcyA9IHRoaXMuZm9ybVRhcmdldEFsbG93RWRpdC5tb2RlbC5kYXRhLnJvbGVJZHM7XHJcblxyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS51c2VyVmlld0lkcyA9IHRoaXMuZm9ybVRhcmdldE9ubHlWaWV3Lm1vZGVsLmRhdGEudXNlcklkcztcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEuZGVwYXJ0bWVudFZpZXdJZHMgPSB0aGlzLmZvcm1UYXJnZXRPbmx5Vmlldy5tb2RlbC5kYXRhLmRlcGFydG1lbnRJZHM7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhLmdyb3VwVmlld0lkcyA9IHRoaXMuZm9ybVRhcmdldE9ubHlWaWV3Lm1vZGVsLmRhdGEuZ3JvdXBJZHM7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhLnJvbGVWaWV3SWRzID0gdGhpcy5mb3JtVGFyZ2V0T25seVZpZXcubW9kZWwuZGF0YS5yb2xlSWRzO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaXNBY3Rpb25LZXRUaHVjKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRW1wdHlBcnJheSh0aGlzLm1vZGVsLmRhdGEudXNlcklkcylcclxuICAgICAgICAgICAgICAgICYmIHRoaXMuaXNFbXB0eUFycmF5KHRoaXMubW9kZWwuZGF0YS5kZXBhcnRtZW50SWRzKVxyXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5pc0VtcHR5QXJyYXkodGhpcy5tb2RlbC5kYXRhLmdyb3VwSWRzKVxyXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5pc0VtcHR5QXJyYXkodGhpcy5tb2RlbC5kYXRhLnJvbGVJZHMpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdQaOG6o2kgY2jhu41uIMOtdCBuaOG6pXQgMSBuaMOzbSDEkeG7kWkgdMaw4bujbmcgbmjhuq1uIChDw6FuIGLhu5kgfCDEkMahbiB24buLIHwgTmjDs20gbmfGsOG7nWkgZMO5bmcgfCBWYWkgdHLDsiknKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzRW1wdHlBcnJheSh2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiAhdmFsdWUgfHwgIXZhbHVlLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9taXNlQWN0aW9uSW5zZXJ0KCkge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZUluc2VydFN1Y2Nlc3MgPSBgJHt0aGlzLmFjdGlvbi5uYW1lfSB0aMOgbmggY8O0bmdgO1xyXG4gICAgICAgIGNvbnN0IGRhdGFQb3N0ID0gdGhpcy5fY29tbW9uU2VydmljZS5jbG9uZU9iamVjdCh0aGlzLm1vZGVsLmRhdGEpO1xyXG4gICAgICAgIGRhdGFQb3N0LnRhYmxlTmFtZSA9IHRoaXMuYnVzaW5lc3NTZXR0aW5nLmJhc2VTZXJ2aWNlLmVudGl0eU5hbWU7XHJcbiAgICAgICAgbGV0IG5hbWUgPSAnJztcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYnVzaW5lc3NTZXR0aW5nLmRpc3BsYXlGaWVsZCA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBuYW1lID0gdGhpcy5pdGVtWzxzdHJpbmc+KHRoaXMuYnVzaW5lc3NTZXR0aW5nLmRpc3BsYXlGaWVsZCldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbmFtZSA9ICg8RnVuY3Rpb24+KHRoaXMuYnVzaW5lc3NTZXR0aW5nLmRpc3BsYXlGaWVsZCkpKHRoaXMuaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5hbWUgPSBgJHt0aGlzLmJ1c2luZXNzU2V0dGluZy5iYXNlU2VydmljZS5vYmplY3ROYW1lfSAke25hbWV9YDtcclxuICAgICAgICBkYXRhUG9zdC5vYmplY3RGdWxsTmFtZSA9IG5hbWU7XHJcbiAgICAgICAgZGF0YVBvc3Qub2JqZWN0TmFtZSA9IHRoaXMuYnVzaW5lc3NTZXR0aW5nLmJhc2VTZXJ2aWNlLm9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YVBvc3Qud29ya2Zsb3dDb2RlID0gdGhpcy5pdGVtLl9fd29ya2Zsb3dDb2RlO1xyXG4gICAgICAgIGRhdGFQb3N0Lml0ZW1JZCA9IHRoaXMuaXRlbS5pZDtcclxuICAgICAgICBkYXRhUG9zdC5zb3VyY2VTdGF0dXNDb2RlID0gdGhpcy5pdGVtLl9fdHJhbmdUaGFpO1xyXG4gICAgICAgIGRhdGFQb3N0LmFjdGlvbkNvZGUgPSB0aGlzLmFjdGlvbi5jb2RlO1xyXG5cclxuICAgICAgICB0aGlzLmZpZWxkTGlzdFRvU3RyaW5nKGRhdGFQb3N0LCAndXNlcklkcycpO1xyXG4gICAgICAgIHRoaXMuZmllbGRMaXN0VG9TdHJpbmcoZGF0YVBvc3QsICd1c2VyVmlld0lkcycpO1xyXG4gICAgICAgIHRoaXMuZmllbGRMaXN0VG9TdHJpbmcoZGF0YVBvc3QsICdkZXBhcnRtZW50SWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ2RlcGFydG1lbnRWaWV3SWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ2dyb3VwSWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ2dyb3VwVmlld0lkcycpO1xyXG4gICAgICAgIHRoaXMuZmllbGRMaXN0VG9TdHJpbmcoZGF0YVBvc3QsICdyb2xlSWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ3JvbGVWaWV3SWRzJyk7XHJcblxyXG4gICAgICAgIC8vIHJldHVybiB0aGlzLl9zdGF0ZU1hY2hpbmVzU2VydmljZS5jaGFuZ2VTdGF0ZShcclxuICAgICAgICAvLyAgICAgZGF0YVBvc3RcclxuICAgICAgICAvLyApO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJ1c2luZXNzU2V0dGluZy5iYXNlU2VydmljZS5jaGFuZ2VTdGF0ZShcclxuICAgICAgICAgICAgZGF0YVBvc3RcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGZpZWxkTGlzdFRvU3RyaW5nKGRhdGFQb3N0OiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoZGF0YVBvc3RbZmllbGRdKSB7XHJcbiAgICAgICAgICAgIGRhdGFQb3N0W2ZpZWxkXSA9IGRhdGFQb3N0W2ZpZWxkXS50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVJbnNlcnRFcnJvcigpIHtcclxuICAgICAgICB0aGlzLm9uSW52YWxpZFdvcmtmbG93LmVtaXQoe1xyXG4gICAgICAgICAgICBpdGVtOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgICAgIGFjdGlvbjogdGhpcy5hY3Rpb24sXHJcbiAgICAgICAgICAgIGFjdGlvbkNvZGU6IHRoaXMuYWN0aW9uLmNvZGVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy13b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dvcmtmbG93L3Byb2Nlc3Mtd29ya2Zsb3ctZm9ybS9wcm9jZXNzLXdvcmtmbG93LWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFhLHdCQUF3QixFQUFrQixNQUFNLDhCQUE4QixDQUFDO0FBQ3pKLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTzlFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxZQUFZO0lBK0IxRCxZQUNjLFNBQW1CLEVBQ3JCLHFCQUEyQyxFQUMzQyx1QkFBK0M7UUFFdkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSlAsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUF6QmpELHNCQUFpQixHQUFzQixJ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QkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7U0FDL0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBL1BKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQywrMkNBQXFEOzthQUV4RDs7O1lBYmlDLFFBQVE7WUFJakMsb0JBQW9CO1lBR3BCLHNCQUFzQjs7O2tDQVExQixTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2lDQUM5QyxTQUFTLFNBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzhCQUU3QyxLQUFLO21CQUNMLEtBQUs7dUJBQ0wsS0FBSztxQkFDTCxLQUFLO2dDQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFGb3JtQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWZvcm0tYmFzZSc7XHJcbmltcG9ydCB7IENydWRMaXN0U2V0dGluZywgRWRpdG9yQ29udHJvbFNjaGVtYSwgRW51bUZpbGVMYXlvdXQsIEV2ZW50RGF0YSwgRmlsZU1hbmFnZXJDb250cm9sU2NoZW1hLCBGb3JtU2NoZW1hQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBFbnVtU3RhdGVUeXBlIH0gZnJvbSAnLi4vLi4vc3RhdGVtYWNoaW5lcy9tb2RlbHMvZW51bXMnO1xyXG5pbXBvcnQgeyBTdGF0ZU1hY2hpbmVzU2VydmljZSB9IGZyb20gJy4uLy4uL3N0YXRlbWFjaGluZXMvc2VydmljZXMvc3RhdGVtYWNoaW5lcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2ZBY3Rpb24sIFdmSXRlbSwgV29ya2Zsb3dUYXJnZXREZWZhdWx0VmFsdWUgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWxzJztcclxuaW1wb3J0IHsgUHJvY2Vzc1dvcmtmbG93VGFyZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvY2Vzcy13b3JrZmxvdy10YXJnZXQvcHJvY2Vzcy13b3JrZmxvdy10YXJnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dIaXN0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3dvcmtmbG93LWhpc3Rvcnkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncHJvY2Vzcy13b3JrZmxvdy1mb3JtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLXdvcmtmbG93LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvY2Vzcy13b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1dvcmtmbG93Rm9ybUNvbXBvbmVudCBleHRlbmRzIERhdGFGb3JtQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCd0YXJnZXRBbGxvd0VkaXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybVRhcmdldEFsbG93RWRpdDogUHJvY2Vzc1dvcmtmbG93VGFyZ2V0Q29tcG9uZW50O1xyXG4gICAgQFZpZXdDaGlsZCgndGFyZ2V0T25seVZpZXcnLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybVRhcmdldE9ubHlWaWV3OiBQcm9jZXNzV29ya2Zsb3dUYXJnZXRDb21wb25lbnQ7XHJcblxyXG4gICAgQElucHV0KCkgYnVzaW5lc3NTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBpdGVtOiBhbnk7XHJcbiAgICBASW5wdXQoKSB3b3JrZmxvdzogV2ZJdGVtO1xyXG4gICAgQElucHV0KCkgYWN0aW9uOiBXZkFjdGlvbjtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25JbnZhbGlkV29ya2Zsb3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgZm9ybVJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBtYWluVGFiRGF0YTogYW55W10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBjb2RlOiAnYWxsb3dFZGl0JyxcclxuICAgICAgICAgICAgaWNvbjogJ3BpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZScsXHJcbiAgICAgICAgICAgIGxhYmVsOiAnTmfGsOG7nWkgbmjhuq1uJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBjb2RlOiAnb25seVZpZXcnLFxyXG4gICAgICAgICAgICBpY29uOiAncGkgcGktbGlzdCcsXHJcbiAgICAgICAgICAgIGxhYmVsOiAnTmfGsOG7nWkgdGhlbyBkw7VpJ1xyXG4gICAgICAgIH1cclxuICAgIF07XHJcbiAgICBpc0FjdGlvbktldFRodWM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGRhdGFBbGxvd0VkaXQ6IGFueSA9IHt9O1xyXG4gICAgZGF0YU9ubHlWaWV3OiBhbnkgPSB7fTtcclxuICAgIHJ1bGVVc2VycyA9IFtdO1xyXG4gICAgaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybTogV29ya2Zsb3dUYXJnZXREZWZhdWx0VmFsdWUgPSBuZXcgV29ya2Zsb3dUYXJnZXREZWZhdWx0VmFsdWUoKTtcclxuICAgIHVzZXJJZHNEYVRodWNIaWVuOiBzdHJpbmdbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9zdGF0ZU1hY2hpbmVzU2VydmljZTogU3RhdGVNYWNoaW5lc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfd29ya2Zsb3dIaXN0b3J5U2VydmljZTogV29ya2Zsb3dIaXN0b3J5U2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5fc3RhdGVNYWNoaW5lc1NlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYSA9IDxGb3JtU2NoZW1hQmFzZVtdPltcclxuICAgICAgICAgICAgbmV3IEVkaXRvckNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdub3RlJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ8OdIGtp4bq/bicpLFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogMTJcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGaWxlTWFuYWdlckNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdmaWxlRGluaEtlbScsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdGaWxlIMSRw61uaCBrw6htJyksXHJcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IEVudW1GaWxlTGF5b3V0LlNJTVBMRSxcclxuICAgICAgICAgICAgICAgIHNlcnZpY2VDb2RlOiB0aGlzLl93b3JrZmxvd0hpc3RvcnlTZXJ2aWNlLnNlcnZpY2VDb2RlLFxyXG4gICAgICAgICAgICAgICAgZW50aXR5OiB0aGlzLl93b3JrZmxvd0hpc3RvcnlTZXJ2aWNlLmVudGl0eU5hbWUsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6IHRoaXMubW9kZWwuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IDEyLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmluaXRSdWxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW5pdFJ1bGUoKSB7XHJcbiAgICAgICAgLy8gS2nhu4NtIHRyYSDEkcOieSBsw6AgYWN0aW9uIGvhur90IHRow7pjXHJcbiAgICAgICAgY29uc3QgbmV4dE1hY2hpbmUgPSB0aGlzLndvcmtmbG93LmRhdGEubWFjaGluZXMuZmluZChxID0+IHEuaWQgPT0gdGhpcy5hY3Rpb24udGFyZ2V0KTtcclxuICAgICAgICB0aGlzLmlzQWN0aW9uS2V0VGh1YyA9IG5leHRNYWNoaW5lLnR5cGUgPT0gRW51bVN0YXRlVHlwZS5TVE9QO1xyXG4gICAgICAgIGlmICh0aGlzLmlzQWN0aW9uS2V0VGh1Yykge1xyXG4gICAgICAgICAgICB0aGlzLm1haW5UYWJEYXRhWzFdLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlmICh0aGlzLmNoZWNrTmVlZEdldFVzZXIoKSkge1xyXG4gICAgICAgIGlmICghYXdhaXQgdGhpcy5nZXRVc2VyRm9yUHJvY2Vzc1dvcmtmbG93KCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5zZXREYXRhQW5kVHJpZ2dlclJlYWR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tOZWVkR2V0VXNlcigpIHtcclxuICAgICAgICB0aGlzLnJ1bGVVc2VycyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXIgfHwgIXRoaXMuYWN0aW9uLmRhdGEuaW5mb1JlY2VpdmVyLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXIubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXJbMF0ubGFuVGh1ID0gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBpbmZvUmVjZWl2ZXIgb2YgdGhpcy5hY3Rpb24uZGF0YS5pbmZvUmVjZWl2ZXIpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tOZWVkR2V0VXNlckJ5VXNlckRhdGEoaW5mb1JlY2VpdmVyLnVzZXIpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5jaGVja05lZWRHZXRVc2VyQnlVc2VyRGF0YShpbmZvUmVjZWl2ZXIudXNlclZpZXcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0VXNlckZvclByb2Nlc3NXb3JrZmxvdygpIHtcclxuICAgICAgICBjb25zdCBzb3VyY2VNYWNoaW5lID0gdGhpcy53b3JrZmxvdy5kYXRhLm1hY2hpbmVzLmZpbmQocSA9PiBxLmlkID09IHRoaXMuYWN0aW9uLnNvdXJjZSk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0R2V0VXNlckluUHJvY2Vzc0Zvcm0gPSBhd2FpdCB0aGlzLmJ1c2luZXNzU2V0dGluZy5iYXNlU2VydmljZS5nZXRVc2VySW5Qcm9jZXNzRm9ybShcclxuICAgICAgICAgICAgdGhpcy53b3JrZmxvdy5jb2RlLCBzb3VyY2VNYWNoaW5lLmNvZGUsIHRoaXMuYWN0aW9uLmNvZGUsIHRoaXMuaXRlbS5pZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHRHZXRVc2VySW5Qcm9jZXNzRm9ybS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0R2V0VXNlckluUHJvY2Vzc0Zvcm0pO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRhdGFVc2VySW5Qcm9jZXNzRm9ybSA9IHJlc3VsdEdldFVzZXJJblByb2Nlc3NGb3JtLmRhdGE7XHJcbiAgICAgICAgdGhpcy5pbml0VmFsdWVGb3JUYXJnZXRGb3JtLmxzdFVzZXJJZCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5sc3RVc2VySWQ7XHJcbiAgICAgICAgdGhpcy5pbml0VmFsdWVGb3JUYXJnZXRGb3JtLmxzdFVzZXJWaWV3SWQgPSBkYXRhVXNlckluUHJvY2Vzc0Zvcm0ubHN0VXNlclZpZXdJZDtcclxuICAgICAgICB0aGlzLmluaXRWYWx1ZUZvclRhcmdldEZvcm0ubHN0RG9uVmlJZCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5sc3REb25WaUlkO1xyXG4gICAgICAgIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3REb25WaVZpZXdJZCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5sc3REb25WaVZpZXdJZDtcclxuICAgICAgICB0aGlzLmluaXRWYWx1ZUZvclRhcmdldEZvcm0ubHN0R3JvdXBJZCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5sc3RHcm91cElkO1xyXG4gICAgICAgIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3RHcm91cFZpZXdJZCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5sc3RHcm91cFZpZXdJZDtcclxuICAgICAgICB0aGlzLmluaXRWYWx1ZUZvclRhcmdldEZvcm0ubHN0Um9sZUlkID0gZGF0YVVzZXJJblByb2Nlc3NGb3JtLmxzdFJvbGVJZDtcclxuICAgICAgICB0aGlzLmluaXRWYWx1ZUZvclRhcmdldEZvcm0ubHN0Um9sZVZpZXdJZCA9IGRhdGFVc2VySW5Qcm9jZXNzRm9ybS5sc3RSb2xlVmlld0lkO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tOZWVkR2V0VXNlckJ5VXNlckRhdGEodXNlckRhdGE6IGFueSkge1xyXG4gICAgICAgIGlmICh1c2VyRGF0YVxyXG4gICAgICAgICAgICAmJiAoKHVzZXJEYXRhLnJ1bGVzICYmIHVzZXJEYXRhLnJ1bGVzLmxlbmd0aClcclxuICAgICAgICAgICAgICAgIHx8ICh1c2VyRGF0YS5ydWxlSW5Xb3JrZmxvd3MgJiYgdXNlckRhdGEucnVsZUluV29ya2Zsb3dzLmxlbmd0aClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERhdGFBbmRUcmlnZ2VyUmVhZHkoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhQWxsb3dFZGl0ID0ge1xyXG4gICAgICAgICAgICBydWxlczogW10sXHJcbiAgICAgICAgICAgIHVzZXJJZHM6IFtdLFxyXG4gICAgICAgICAgICBydWxlSW5Xb3JrZmxvd3M6IFtdLFxyXG4gICAgICAgICAgICBkZXBhcnRtZW50SWRzOiB0aGlzLmFjdGlvbi5kYXRhLmRlcGFydG1lbnRJZHMgPz8gW10sXHJcbiAgICAgICAgICAgIGdyb3VwSWRzOiB0aGlzLmFjdGlvbi5kYXRhLmdyb3VwSWRzID8/IFtdLFxyXG4gICAgICAgICAgICByb2xlSWRzOiB0aGlzLmFjdGlvbi5kYXRhLnJvbGVJZHMgPz8gW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZGF0YU9ubHlWaWV3ID0ge1xyXG4gICAgICAgICAgICBydWxlczogW10sXHJcbiAgICAgICAgICAgIHVzZXJJZHM6IFtdLFxyXG4gICAgICAgICAgICBydWxlSW5Xb3JrZmxvd3M6IFtdLFxyXG4gICAgICAgICAgICBkZXBhcnRtZW50SWRzOiB0aGlzLmFjdGlvbi5kYXRhLmRlcGFydG1lbnRWaWV3SWRzID8/IFtdLFxyXG4gICAgICAgICAgICBncm91cElkczogdGhpcy5hY3Rpb24uZGF0YS5ncm91cFZpZXdJZHMgPz8gW10sXHJcbiAgICAgICAgICAgIHJvbGVJZHM6IHRoaXMuYWN0aW9uLmRhdGEucm9sZVZpZXdJZHMgPz8gW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuYWRkRGlzdGluY3QodGhpcy5kYXRhQWxsb3dFZGl0LnVzZXJJZHMsIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3RVc2VySWQpO1xyXG4gICAgICAgIHRoaXMuYWRkRGlzdGluY3QodGhpcy5kYXRhQWxsb3dFZGl0LmRlcGFydG1lbnRJZHMsIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3REb25WaUlkKTtcclxuICAgICAgICB0aGlzLmFkZERpc3RpbmN0KHRoaXMuZGF0YUFsbG93RWRpdC5ncm91cElkcywgdGhpcy5pbml0VmFsdWVGb3JUYXJnZXRGb3JtLmxzdEdyb3VwSWQpO1xyXG4gICAgICAgIHRoaXMuYWRkRGlzdGluY3QodGhpcy5kYXRhQWxsb3dFZGl0LnJvbGVJZHMsIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3RSb2xlSWQpO1xyXG5cclxuICAgICAgICB0aGlzLmFkZERpc3RpbmN0KHRoaXMuZGF0YU9ubHlWaWV3LnVzZXJJZHMsIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3RVc2VyVmlld0lkKTtcclxuICAgICAgICB0aGlzLmFkZERpc3RpbmN0KHRoaXMuZGF0YU9ubHlWaWV3LmRlcGFydG1lbnRJZHMsIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3REb25WaVZpZXdJZCk7XHJcbiAgICAgICAgdGhpcy5hZGREaXN0aW5jdCh0aGlzLmRhdGFPbmx5Vmlldy5ncm91cElkcywgdGhpcy5pbml0VmFsdWVGb3JUYXJnZXRGb3JtLmxzdEdyb3VwVmlld0lkKTtcclxuICAgICAgICB0aGlzLmFkZERpc3RpbmN0KHRoaXMuZGF0YU9ubHlWaWV3LnJvbGVJZHMsIHRoaXMuaW5pdFZhbHVlRm9yVGFyZ2V0Rm9ybS5sc3RSb2xlVmlld0lkKTtcclxuXHJcbiAgICAgICAgdGhpcy5mb3JtUmVhZHkgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkRGlzdGluY3QoZGVzdDogc3RyaW5nW10sIHNvdXJjZTogc3RyaW5nW10pIHtcclxuICAgICAgICBpZiAoIXNvdXJjZSB8fCAhc291cmNlLmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgICAgIHNvdXJjZS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGVzdC5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBkZXN0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkZvcm1Jbml0aWFsaXplZChldnQ6IEV2ZW50RGF0YSkge1xyXG4gICAgICAgIGV2dC5tb2RlbC5pZCA9IHRoaXMuX2NvbW1vblNlcnZpY2UuZ3VpZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHZhbGlkYXRlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEudXNlcklkcyA9IHRoaXMuZm9ybVRhcmdldEFsbG93RWRpdC5tb2RlbC5kYXRhLnVzZXJJZHM7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhLmRlcGFydG1lbnRJZHMgPSB0aGlzLmZvcm1UYXJnZXRBbGxvd0VkaXQubW9kZWwuZGF0YS5kZXBhcnRtZW50SWRzO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS5ncm91cElkcyA9IHRoaXMuZm9ybVRhcmdldEFsbG93RWRpdC5tb2RlbC5kYXRhLmdyb3VwSWRzO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS5yb2xlSWRzID0gdGhpcy5mb3JtVGFyZ2V0QWxsb3dFZGl0Lm1vZGVsLmRhdGEucm9sZUlkcztcclxuXHJcbiAgICAgICAgdGhpcy5tb2RlbC5kYXRhLnVzZXJWaWV3SWRzID0gdGhpcy5mb3JtVGFyZ2V0T25seVZpZXcubW9kZWwuZGF0YS51c2VySWRzO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YS5kZXBhcnRtZW50Vmlld0lkcyA9IHRoaXMuZm9ybVRhcmdldE9ubHlWaWV3Lm1vZGVsLmRhdGEuZGVwYXJ0bWVudElkcztcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEuZ3JvdXBWaWV3SWRzID0gdGhpcy5mb3JtVGFyZ2V0T25seVZpZXcubW9kZWwuZGF0YS5ncm91cElkcztcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEucm9sZVZpZXdJZHMgPSB0aGlzLmZvcm1UYXJnZXRPbmx5Vmlldy5tb2RlbC5kYXRhLnJvbGVJZHM7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5pc0FjdGlvbktldFRodWMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbXB0eUFycmF5KHRoaXMubW9kZWwuZGF0YS51c2VySWRzKVxyXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5pc0VtcHR5QXJyYXkodGhpcy5tb2RlbC5kYXRhLmRlcGFydG1lbnRJZHMpXHJcbiAgICAgICAgICAgICAgICAmJiB0aGlzLmlzRW1wdHlBcnJheSh0aGlzLm1vZGVsLmRhdGEuZ3JvdXBJZHMpXHJcbiAgICAgICAgICAgICAgICAmJiB0aGlzLmlzRW1wdHlBcnJheSh0aGlzLm1vZGVsLmRhdGEucm9sZUlkcylcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ1Bo4bqjaSBjaOG7jW4gw610IG5o4bqldCAxIG5ow7NtIMSR4buRaSB0xrDhu6NuZyBuaOG6rW4gKEPDoW4gYuG7mSB8IMSQxqFuIHbhu4sgfCBOaMOzbSBuZ8aw4budaSBkw7luZyB8IENo4bupYyB24bulKScpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNFbXB0eUFycmF5KHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICF2YWx1ZSB8fCAhdmFsdWUubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb21pc2VBY3Rpb25JbnNlcnQoKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlSW5zZXJ0U3VjY2VzcyA9IGAke3RoaXMuYWN0aW9uLm5hbWV9IHRow6BuaCBjw7RuZ2A7XHJcbiAgICAgICAgY29uc3QgZGF0YVBvc3QgPSB0aGlzLl9jb21tb25TZXJ2aWNlLmNsb25lT2JqZWN0KHRoaXMubW9kZWwuZGF0YSk7XHJcbiAgICAgICAgZGF0YVBvc3QudGFibGVOYW1lID0gdGhpcy5idXNpbmVzc1NldHRpbmcuYmFzZVNlcnZpY2UuZW50aXR5TmFtZTtcclxuICAgICAgICBsZXQgbmFtZSA9ICcnO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc1NldHRpbmcuZGlzcGxheUZpZWxkID09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIG5hbWUgPSB0aGlzLml0ZW1bPHN0cmluZz4odGhpcy5idXNpbmVzc1NldHRpbmcuZGlzcGxheUZpZWxkKV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBuYW1lID0gKDxGdW5jdGlvbj4odGhpcy5idXNpbmVzc1NldHRpbmcuZGlzcGxheUZpZWxkKSkodGhpcy5pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmFtZSA9IGAke3RoaXMuYnVzaW5lc3NTZXR0aW5nLmJhc2VTZXJ2aWNlLm9iamVjdE5hbWV9ICR7bmFtZX1gO1xyXG4gICAgICAgIGRhdGFQb3N0Lm9iamVjdEZ1bGxOYW1lID0gbmFtZTtcclxuICAgICAgICBkYXRhUG9zdC5vYmplY3ROYW1lID0gdGhpcy5idXNpbmVzc1NldHRpbmcuYmFzZVNlcnZpY2Uub2JqZWN0TmFtZTtcclxuICAgICAgICBkYXRhUG9zdC53b3JrZmxvd0NvZGUgPSB0aGlzLml0ZW0uX193b3JrZmxvd0NvZGU7XHJcbiAgICAgICAgZGF0YVBvc3QuaXRlbUlkID0gdGhpcy5pdGVtLmlkO1xyXG4gICAgICAgIGRhdGFQb3N0LnNvdXJjZVN0YXR1c0NvZGUgPSB0aGlzLml0ZW0uX190cmFuZ1RoYWk7XHJcbiAgICAgICAgZGF0YVBvc3QuYWN0aW9uQ29kZSA9IHRoaXMuYWN0aW9uLmNvZGU7XHJcblxyXG4gICAgICAgIHRoaXMuZmllbGRMaXN0VG9TdHJpbmcoZGF0YVBvc3QsICd1c2VySWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ3VzZXJWaWV3SWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ2RlcGFydG1lbnRJZHMnKTtcclxuICAgICAgICB0aGlzLmZpZWxkTGlzdFRvU3RyaW5nKGRhdGFQb3N0LCAnZGVwYXJ0bWVudFZpZXdJZHMnKTtcclxuICAgICAgICB0aGlzLmZpZWxkTGlzdFRvU3RyaW5nKGRhdGFQb3N0LCAnZ3JvdXBJZHMnKTtcclxuICAgICAgICB0aGlzLmZpZWxkTGlzdFRvU3RyaW5nKGRhdGFQb3N0LCAnZ3JvdXBWaWV3SWRzJyk7XHJcbiAgICAgICAgdGhpcy5maWVsZExpc3RUb1N0cmluZyhkYXRhUG9zdCwgJ3JvbGVJZHMnKTtcclxuICAgICAgICB0aGlzLmZpZWxkTGlzdFRvU3RyaW5nKGRhdGFQb3N0LCAncm9sZVZpZXdJZHMnKTtcclxuXHJcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuX3N0YXRlTWFjaGluZXNTZXJ2aWNlLmNoYW5nZVN0YXRlKFxyXG4gICAgICAgIC8vICAgICBkYXRhUG9zdFxyXG4gICAgICAgIC8vICk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVzaW5lc3NTZXR0aW5nLmJhc2VTZXJ2aWNlLmNoYW5nZVN0YXRlKFxyXG4gICAgICAgICAgICBkYXRhUG9zdFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZmllbGRMaXN0VG9TdHJpbmcoZGF0YVBvc3Q6IGFueSwgZmllbGQ6IHN0cmluZykge1xyXG4gICAgICAgIGlmIChkYXRhUG9zdFtmaWVsZF0pIHtcclxuICAgICAgICAgICAgZGF0YVBvc3RbZmllbGRdID0gZGF0YVBvc3RbZmllbGRdLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUluc2VydEVycm9yKCkge1xyXG4gICAgICAgIHRoaXMub25JbnZhbGlkV29ya2Zsb3cuZW1pdCh7XHJcbiAgICAgICAgICAgIGl0ZW06IHRoaXMuaXRlbSxcclxuICAgICAgICAgICAgYWN0aW9uOiB0aGlzLmFjdGlvbixcclxuICAgICAgICAgICAgYWN0aW9uQ29kZTogdGhpcy5hY3Rpb24uY29kZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/components/workflow/process-workflow-target/process-workflow-target.component.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Component, Injector, Input } from '@angular/core';
|
|
3
3
|
import { DataFormBase } from '../../../classes/base/data-form-base';
|
|
4
|
-
import {
|
|
4
|
+
import { DmChucVuService } from '../../../services/dm-chucvu.service';
|
|
5
5
|
import { UserGroupRealService } from '../../../services/user-group-real.service';
|
|
6
6
|
import { CoCauToChucService } from '../../cocautochuc/services/cocautochuc.service';
|
|
7
|
-
import { EnumTargetType, EnumUserRule } from '../../statemachines/models/enums';
|
|
8
7
|
import { StateMachinesService } from '../../statemachines/services/statemachines.service';
|
|
9
8
|
import { createOrgPickerControl, createRolePickerControl, createUserGroupPickerControl, createUserPickerControl } from '../../statemachines/utils/utils';
|
|
10
9
|
import { WorkflowTargetDefaultValue } from '../models/models';
|
|
11
10
|
export class ProcessWorkflowTargetComponent extends DataFormBase {
|
|
12
|
-
constructor(_injector, _stateMachinesService, _coCauToChucService, _userGroupService,
|
|
11
|
+
constructor(_injector, _stateMachinesService, _coCauToChucService, _userGroupService, _dmChucVuService) {
|
|
13
12
|
super(_injector);
|
|
14
13
|
this._injector = _injector;
|
|
15
14
|
this._stateMachinesService = _stateMachinesService;
|
|
16
15
|
this._coCauToChucService = _coCauToChucService;
|
|
17
16
|
this._userGroupService = _userGroupService;
|
|
18
|
-
this.
|
|
17
|
+
this._dmChucVuService = _dmChucVuService;
|
|
19
18
|
}
|
|
20
19
|
ngOnInit() {
|
|
21
20
|
super.ngOnInit();
|
|
@@ -40,40 +39,8 @@ export class ProcessWorkflowTargetComponent extends DataFormBase {
|
|
|
40
39
|
// this.createUserPickerControl('idCapTrenGanNhats', 'Cán bộ cấp trên gần nhất'),
|
|
41
40
|
this._createCoCauToChucControl('departmentIds', 'Đơn vị'),
|
|
42
41
|
this._createUserGroupPickerControl('groupIds', 'Nhóm người dùng'),
|
|
43
|
-
this._createRolePickerControl('roleIds', '
|
|
42
|
+
this._createRolePickerControl('roleIds', 'Chức vụ')
|
|
44
43
|
];
|
|
45
|
-
// Ghép thêm các user theo rule vào userIds
|
|
46
|
-
this.addUserIdFromDicByRule(this.initValue.dicDefaultValue, this.data.rules);
|
|
47
|
-
// Ghép thêm các user theo rule in workflow vào userIds
|
|
48
|
-
this.addUserIdFromDicByRule(this.initValue.dicDefaultValueByWorkflow, this.data.ruleInWorkflows);
|
|
49
|
-
// Ghép thêm các value từ dicByTargetType vào các control
|
|
50
|
-
if (this.data.rules.some(q => q == EnumUserRule.NGUOI_NHAN)) {
|
|
51
|
-
this.addValueFromDicByTarget(this.initValue.dicByTargetCanEdit);
|
|
52
|
-
}
|
|
53
|
-
// Ghép thêm các value từ dicByTargetType vào các control
|
|
54
|
-
if (this.data.rules.some(q => q == EnumUserRule.NGUOI_THEO_DOI)) {
|
|
55
|
-
this.addValueFromDicByTarget(this.initValue.dicByTargetOnlyView);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
addUserIdFromDicByRule(dicSource, rules) {
|
|
59
|
-
Object.keys(dicSource)
|
|
60
|
-
.filter(x => rules.some(q => q == x))
|
|
61
|
-
.forEach(rule => {
|
|
62
|
-
this.addDistinctToList(this.data.userIds, dicSource[rule]);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
addValueFromDicByTarget(dicByTargetType) {
|
|
66
|
-
this.addDistinctToList(this.data.userIds, dicByTargetType[EnumTargetType.USER]);
|
|
67
|
-
this.addDistinctToList(this.data.departmentIds, dicByTargetType[EnumTargetType.DEPARTMENT]);
|
|
68
|
-
this.addDistinctToList(this.data.groupIds, dicByTargetType[EnumTargetType.GROUP]);
|
|
69
|
-
this.addDistinctToList(this.data.roleIds, dicByTargetType[EnumTargetType.ROLE]);
|
|
70
|
-
}
|
|
71
|
-
addDistinctToList(lstDest, lstSource) {
|
|
72
|
-
lstSource.forEach(item => {
|
|
73
|
-
if (!lstDest.some(q => q == item)) {
|
|
74
|
-
lstDest.push(item);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
44
|
}
|
|
78
45
|
_createUserPickerControl(field, label, multiple = true) {
|
|
79
46
|
const control = createUserPickerControl(field, label);
|
|
@@ -88,7 +55,7 @@ export class ProcessWorkflowTargetComponent extends DataFormBase {
|
|
|
88
55
|
return createUserGroupPickerControl(this._userGroupService, field, label);
|
|
89
56
|
}
|
|
90
57
|
_createRolePickerControl(field, label) {
|
|
91
|
-
return createRolePickerControl(this.
|
|
58
|
+
return createRolePickerControl(this._dmChucVuService, field, label);
|
|
92
59
|
}
|
|
93
60
|
onFormInitialized(evt) {
|
|
94
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -111,10 +78,10 @@ ProcessWorkflowTargetComponent.ctorParameters = () => [
|
|
|
111
78
|
{ type: StateMachinesService },
|
|
112
79
|
{ type: CoCauToChucService },
|
|
113
80
|
{ type: UserGroupRealService },
|
|
114
|
-
{ type:
|
|
81
|
+
{ type: DmChucVuService }
|
|
115
82
|
];
|
|
116
83
|
ProcessWorkflowTargetComponent.propDecorators = {
|
|
117
84
|
data: [{ type: Input }],
|
|
118
85
|
initValue: [{ type: Input }]
|
|
119
86
|
};
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy13b3JrZmxvdy10YXJnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvd29ya2Zsb3cvcHJvY2Vzcy13b3JrZmxvdy10YXJnZXQvcHJvY2Vzcy13b3JrZmxvdy10YXJnZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pKLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTzlELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxZQUFZO0lBSzVELFlBQ2MsU0FBbUIsRUFDckIscUJBQTJDLEVBQzNDLG1CQUF1QyxFQUN2QyxpQkFBdUMsRUFDdkMsWUFBeUI7UUFFakMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBTlAsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLHdCQUFtQixHQUFu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aXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YUZvcm1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2RhdGEtZm9ybS1iYXNlJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlUGlja2VyQ29udHJvbFNjaGVtYSwgRHJvcGRvd25Db250cm9sU2NoZW1hLCBFdmVudERhdGEsIEZvcm1TY2hlbWFCYXNlLCBVc2VyUGlja2VyQ29udHJvbFNjaGVtYSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBSb2xlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JvbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJHcm91cFJlYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXNlci1ncm91cC1yZWFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb0NhdVRvQ2h1Y1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb2NhdXRvY2h1Yy9zZXJ2aWNlcy9jb2NhdXRvY2h1Yy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW51bVRhcmdldFR5cGUsIEVudW1Vc2VyUnVsZSB9IGZyb20gJy4uLy4uL3N0YXRlbWFjaGluZXMvbW9kZWxzL2VudW1zJztcclxuaW1wb3J0IHsgU3RhdGVNYWNoaW5lc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zdGF0ZW1hY2hpbmVzL3NlcnZpY2VzL3N0YXRlbWFjaGluZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IGNyZWF0ZU9yZ1BpY2tlckNvbnRyb2wsIGNyZWF0ZVJvbGVQaWNrZXJDb250cm9sLCBjcmVhdGVVc2VyR3JvdXBQaWNrZXJDb250cm9sLCBjcmVhdGVVc2VyUGlja2VyQ29udHJvbCB9IGZyb20gJy4uLy4uL3N0YXRlbWFjaGluZXMvdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1RhcmdldERlZmF1bHRWYWx1ZSB9IGZyb20gJy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Byb2Nlc3Mtd29ya2Zsb3ctdGFyZ2V0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLXdvcmtmbG93LXRhcmdldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLXdvcmtmbG93LXRhcmdldC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2Nlc3NXb3JrZmxvd1RhcmdldENvbXBvbmVudCBleHRlbmRzIERhdGFGb3JtQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgZGF0YTogYW55O1xyXG4gICAgQElucHV0KCkgaW5pdFZhbHVlOiBXb3JrZmxvd1RhcmdldERlZmF1bHRWYWx1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9zdGF0ZU1hY2hpbmVzU2VydmljZTogU3RhdGVNYWNoaW5lc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY29DYXVUb0NodWNTZXJ2aWNlOiBDb0NhdVRvQ2h1Y1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfdXNlckdyb3VwU2VydmljZTogVXNlckdyb3VwUmVhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm9sZVNlcnZpY2U6IFJvbGVTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YS51c2VySWRzKSB0aGlzLmRhdGEudXNlcklkcyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLnJ1bGVzKSB0aGlzLmRhdGEucnVsZXMgPSBbXTtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YS5ydWxlSW5Xb3JrZmxvd3MpIHRoaXMuZGF0YS5ydWxlSW5Xb3JrZmxvd3MgPSBbXTtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YS5kZXBhcnRtZW50SWRzKSB0aGlzLmRhdGEuZGVwYXJ0bWVudElkcyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLmdyb3VwSWRzKSB0aGlzLmRhdGEuZ3JvdXBJZHMgPSBbXTtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YS5yb2xlSWRzKSB0aGlzLmRhdGEucm9sZUlkcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuX3N0YXRlTWFjaGluZXNTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zY2hlbWEgPSA8Rm9ybVNjaGVtYUJhc2VbXT5bXHJcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZVVzZXJQaWNrZXJDb250cm9sKCd1c2VySWRzJywgJ0PDoW4gYuG7mScpLFxyXG4gICAgICAgICAgICAvLyB0aGlzLmNyZWF0ZVVzZXJQaWNrZXJDb250cm9sKCdpZENhcFRyZW5HYW5OaGF0cycsICdDw6FuIGLhu5kgY+G6pXAgdHLDqm4gZ+G6p24gbmjhuqV0JyksXHJcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUNvQ2F1VG9DaHVjQ29udHJvbCgnZGVwYXJ0bWVudElkcycsICfEkMahbiB24buLJyksXHJcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZVVzZXJHcm91cFBpY2tlckNvbnRyb2woJ2dyb3VwSWRzJywgJ05ow7NtIG5nxrDhu51pIGTDuW5nJyksXHJcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZVJvbGVQaWNrZXJDb250cm9sKCdyb2xlSWRzJywgJ1ZhaSB0csOyJylcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICAvLyBHaMOpcCB0aMOqbSBjw6FjIHVzZXIgdGhlbyBydWxlIHbDoG8gdXNlcklkc1xyXG4gICAgICAgIHRoaXMuYWRkVXNlcklkRnJvbURpY0J5UnVsZSh0aGlzLmluaXRWYWx1ZS5kaWNEZWZhdWx0VmFsdWUsIHRoaXMuZGF0YS5ydWxlcyk7XHJcblxyXG4gICAgICAgIC8vIEdow6lwIHRow6ptIGPDoWMgdXNlciB0aGVvIHJ1bGUgaW4gd29ya2Zsb3cgdsOgbyB1c2VySWRzXHJcbiAgICAgICAgdGhpcy5hZGRVc2VySWRGcm9tRGljQnlSdWxlKHRoaXMuaW5pdFZhbHVlLmRpY0RlZmF1bHRWYWx1ZUJ5V29ya2Zsb3csIHRoaXMuZGF0YS5ydWxlSW5Xb3JrZmxvd3MpO1xyXG5cclxuICAgICAgICAvLyBHaMOpcCB0aMOqbSBjw6FjIHZhbHVlIHThu6sgZGljQnlUYXJnZXRUeXBlIHbDoG8gY8OhYyBjb250cm9sXHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5ydWxlcy5zb21lKHEgPT4gcSA9PSBFbnVtVXNlclJ1bGUuTkdVT0lfTkhBTikpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRWYWx1ZUZyb21EaWNCeVRhcmdldCh0aGlzLmluaXRWYWx1ZS5kaWNCeVRhcmdldENhbkVkaXQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gR2jDqXAgdGjDqm0gY8OhYyB2YWx1ZSB04burIGRpY0J5VGFyZ2V0VHlwZSB2w6BvIGPDoWMgY29udHJvbFxyXG4gICAgICAgIGlmICh0aGlzLmRhdGEucnVsZXMuc29tZShxID0+IHEgPT0gRW51bVVzZXJSdWxlLk5HVU9JX1RIRU9fRE9JKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZFZhbHVlRnJvbURpY0J5VGFyZ2V0KHRoaXMuaW5pdFZhbHVlLmRpY0J5VGFyZ2V0T25seVZpZXcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZFVzZXJJZEZyb21EaWNCeVJ1bGUoZGljU291cmNlOiB7fSwgcnVsZXM6IGFueVtdKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMoZGljU291cmNlKVxyXG4gICAgICAgICAgICAuZmlsdGVyKHggPT4gcnVsZXMuc29tZShxID0+IHEgPT0geCkpXHJcbiAgICAgICAgICAgIC5mb3JFYWNoKHJ1bGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGREaXN0aW5jdFRvTGlzdCh0aGlzLmRhdGEudXNlcklkcywgZGljU291cmNlW3J1bGVdKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRWYWx1ZUZyb21EaWNCeVRhcmdldChkaWNCeVRhcmdldFR5cGU6IHsgW2tleTogbnVtYmVyXTogc3RyaW5nW10gfSkge1xyXG4gICAgICAgIHRoaXMuYWRkRGlzdGluY3RUb0xpc3QodGhpcy5kYXRhLnVzZXJJZHMsIGRpY0J5VGFyZ2V0VHlwZVtFbnVtVGFyZ2V0VHlwZS5VU0VSXSk7XHJcbiAgICAgICAgdGhpcy5hZGREaXN0aW5jdFRvTGlzdCh0aGlzLmRhdGEuZGVwYXJ0bWVudElkcywgZGljQnlUYXJnZXRUeXBlW0VudW1UYXJnZXRUeXBlLkRFUEFSVE1FTlRdKTtcclxuICAgICAgICB0aGlzLmFkZERpc3RpbmN0VG9MaXN0KHRoaXMuZGF0YS5ncm91cElkcywgZGljQnlUYXJnZXRUeXBlW0VudW1UYXJnZXRUeXBlLkdST1VQXSk7XHJcbiAgICAgICAgdGhpcy5hZGREaXN0aW5jdFRvTGlzdCh0aGlzLmRhdGEucm9sZUlkcywgZGljQnlUYXJnZXRUeXBlW0VudW1UYXJnZXRUeXBlLlJPTEVdKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZERpc3RpbmN0VG9MaXN0KGxzdERlc3Q6IHN0cmluZ1tdLCBsc3RTb3VyY2U6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgbHN0U291cmNlLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghbHN0RGVzdC5zb21lKHEgPT4gcSA9PSBpdGVtKSkge1xyXG4gICAgICAgICAgICAgICAgbHN0RGVzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2NyZWF0ZVVzZXJQaWNrZXJDb250cm9sKGZpZWxkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIG11bHRpcGxlOiBib29sZWFuID0gdHJ1ZSk6IFVzZXJQaWNrZXJDb250cm9sU2NoZW1hIHtcclxuICAgICAgICBjb25zdCBjb250cm9sID0gY3JlYXRlVXNlclBpY2tlckNvbnRyb2woZmllbGQsIGxhYmVsKTtcclxuICAgICAgICBjb250cm9sLm11bHRpcGxlID0gbXVsdGlwbGU7XHJcbiAgICAgICAgLy8gY29udHJvbC5sYXp5TG9hZE9yZ2FuaXphdGlvbiA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgX2NyZWF0ZUNvQ2F1VG9DaHVjQ29udHJvbChmaWVsZDogc3RyaW5nLCBsYWJlbDogc3RyaW5nKTogRHJvcGRvd25Db250cm9sU2NoZW1hIHtcclxuICAgICAgICByZXR1cm4gY3JlYXRlT3JnUGlja2VyQ29udHJvbChmaWVsZCwgbGFiZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIF9jcmVhdGVVc2VyR3JvdXBQaWNrZXJDb250cm9sKGZpZWxkLCBsYWJlbCk6IEF1dG9Db21wbGV0ZVBpY2tlckNvbnRyb2xTY2hlbWEge1xyXG4gICAgICAgIHJldHVybiBjcmVhdGVVc2VyR3JvdXBQaWNrZXJDb250cm9sKHRoaXMuX3VzZXJHcm91cFNlcnZpY2UsIGZpZWxkLCBsYWJlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2NyZWF0ZVJvbGVQaWNrZXJDb250cm9sKGZpZWxkLCBsYWJlbCk6IEF1dG9Db21wbGV0ZVBpY2tlckNvbnRyb2xTY2hlbWEge1xyXG4gICAgICAgIHJldHVybiBjcmVhdGVSb2xlUGlja2VyQ29udHJvbCh0aGlzLl9yb2xlU2VydmljZSwgZmllbGQsIGxhYmVsKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkZvcm1Jbml0aWFsaXplZChldnQ6IEV2ZW50RGF0YSkge1xyXG4gICAgICAgIGV2dC5tb2RlbC51c2VySWRzID0gdGhpcy5kYXRhLnVzZXJJZHM7XHJcbiAgICAgICAgZXZ0Lm1vZGVsLmRlcGFydG1lbnRJZHMgPSB0aGlzLmRhdGEuZGVwYXJ0bWVudElkcztcclxuICAgICAgICBldnQubW9kZWwuZ3JvdXBJZHMgPSB0aGlzLmRhdGEuZ3JvdXBJZHM7XHJcbiAgICAgICAgZXZ0Lm1vZGVsLnJvbGVJZHMgPSB0aGlzLmRhdGEucm9sZUlkcztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy13b3JrZmxvdy10YXJnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvd29ya2Zsb3cvcHJvY2Vzcy13b3JrZmxvdy10YXJnZXQvcHJvY2Vzcy13b3JrZmxvdy10YXJnZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6SixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU85RCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsWUFBWTtJQUs1RCxZQUNjLFNBQW1CLEVBQ3JCLHFCQUEyQyxFQUMzQyxtQkFBdUMsRUFDdkMsaUJBQXVDLEVBQ3ZDLGdCQUFpQztRQUV6QyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFOUCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ3JCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFDM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBQ3ZD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QUFRLEVBQUUseUJBQXlCO2dCQUNuQyxpTUFBdUQ7O2FBRTFEOzs7WUFkbUIsUUFBUTtZQU1uQixvQkFBb0I7WUFEcEIsa0JBQWtCO1lBRGxCLG9CQUFvQjtZQURwQixlQUFlOzs7bUJBY25CLEtBQUs7d0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YUZvcm1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2RhdGEtZm9ybS1iYXNlJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlUGlja2VyQ29udHJvbFNjaGVtYSwgRHJvcGRvd25Db250cm9sU2NoZW1hLCBFdmVudERhdGEsIEZvcm1TY2hlbWFCYXNlLCBVc2VyUGlja2VyQ29udHJvbFNjaGVtYSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBEbUNodWNWdVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kbS1jaHVjdnUuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJHcm91cFJlYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXNlci1ncm91cC1yZWFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb0NhdVRvQ2h1Y1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb2NhdXRvY2h1Yy9zZXJ2aWNlcy9jb2NhdXRvY2h1Yy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RhdGVNYWNoaW5lc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zdGF0ZW1hY2hpbmVzL3NlcnZpY2VzL3N0YXRlbWFjaGluZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IGNyZWF0ZU9yZ1BpY2tlckNvbnRyb2wsIGNyZWF0ZVJvbGVQaWNrZXJDb250cm9sLCBjcmVhdGVVc2VyR3JvdXBQaWNrZXJDb250cm9sLCBjcmVhdGVVc2VyUGlja2VyQ29udHJvbCB9IGZyb20gJy4uLy4uL3N0YXRlbWFjaGluZXMvdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1RhcmdldERlZmF1bHRWYWx1ZSB9IGZyb20gJy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Byb2Nlc3Mtd29ya2Zsb3ctdGFyZ2V0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLXdvcmtmbG93LXRhcmdldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLXdvcmtmbG93LXRhcmdldC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2Nlc3NXb3JrZmxvd1RhcmdldENvbXBvbmVudCBleHRlbmRzIERhdGFGb3JtQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgZGF0YTogYW55O1xyXG4gICAgQElucHV0KCkgaW5pdFZhbHVlOiBXb3JrZmxvd1RhcmdldERlZmF1bHRWYWx1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9zdGF0ZU1hY2hpbmVzU2VydmljZTogU3RhdGVNYWNoaW5lc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY29DYXVUb0NodWNTZXJ2aWNlOiBDb0NhdVRvQ2h1Y1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfdXNlckdyb3VwU2VydmljZTogVXNlckdyb3VwUmVhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZG1DaHVjVnVTZXJ2aWNlOiBEbUNodWNWdVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9pbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLnVzZXJJZHMpIHRoaXMuZGF0YS51c2VySWRzID0gW107XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEucnVsZXMpIHRoaXMuZGF0YS5ydWxlcyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLnJ1bGVJbldvcmtmbG93cykgdGhpcy5kYXRhLnJ1bGVJbldvcmtmbG93cyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLmRlcGFydG1lbnRJZHMpIHRoaXMuZGF0YS5kZXBhcnRtZW50SWRzID0gW107XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEuZ3JvdXBJZHMpIHRoaXMuZGF0YS5ncm91cElkcyA9IFtdO1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLnJvbGVJZHMpIHRoaXMuZGF0YS5yb2xlSWRzID0gW107XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5fc3RhdGVNYWNoaW5lc1NlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYSA9IDxGb3JtU2NoZW1hQmFzZVtdPltcclxuICAgICAgICAgICAgdGhpcy5fY3JlYXRlVXNlclBpY2tlckNvbnRyb2woJ3VzZXJJZHMnLCAnQ8OhbiBi4buZJyksXHJcbiAgICAgICAgICAgIC8vIHRoaXMuY3JlYXRlVXNlclBpY2tlckNvbnRyb2woJ2lkQ2FwVHJlbkdhbk5oYXRzJywgJ0PDoW4gYuG7mSBj4bqlcCB0csOqbiBn4bqnbiBuaOG6pXQnKSxcclxuICAgICAgICAgICAgdGhpcy5fY3JlYXRlQ29DYXVUb0NodWNDb250cm9sKCdkZXBhcnRtZW50SWRzJywgJ8SQxqFuIHbhu4snKSxcclxuICAgICAgICAgICAgdGhpcy5fY3JlYXRlVXNlckdyb3VwUGlja2VyQ29udHJvbCgnZ3JvdXBJZHMnLCAnTmjDs20gbmfGsOG7nWkgZMO5bmcnKSxcclxuICAgICAgICAgICAgdGhpcy5fY3JlYXRlUm9sZVBpY2tlckNvbnRyb2woJ3JvbGVJZHMnLCAnQ2jhu6ljIHbhu6UnKVxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgX2NyZWF0ZVVzZXJQaWNrZXJDb250cm9sKGZpZWxkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIG11bHRpcGxlOiBib29sZWFuID0gdHJ1ZSk6IFVzZXJQaWNrZXJDb250cm9sU2NoZW1hIHtcclxuICAgICAgICBjb25zdCBjb250cm9sID0gY3JlYXRlVXNlclBpY2tlckNvbnRyb2woZmllbGQsIGxhYmVsKTtcclxuICAgICAgICBjb250cm9sLm11bHRpcGxlID0gbXVsdGlwbGU7XHJcbiAgICAgICAgLy8gY29udHJvbC5sYXp5TG9hZE9yZ2FuaXphdGlvbiA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgX2NyZWF0ZUNvQ2F1VG9DaHVjQ29udHJvbChmaWVsZDogc3RyaW5nLCBsYWJlbDogc3RyaW5nKTogRHJvcGRvd25Db250cm9sU2NoZW1hIHtcclxuICAgICAgICByZXR1cm4gY3JlYXRlT3JnUGlja2VyQ29udHJvbChmaWVsZCwgbGFiZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIF9jcmVhdGVVc2VyR3JvdXBQaWNrZXJDb250cm9sKGZpZWxkLCBsYWJlbCk6IEF1dG9Db21wbGV0ZVBpY2tlckNvbnRyb2xTY2hlbWEge1xyXG4gICAgICAgIHJldHVybiBjcmVhdGVVc2VyR3JvdXBQaWNrZXJDb250cm9sKHRoaXMuX3VzZXJHcm91cFNlcnZpY2UsIGZpZWxkLCBsYWJlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2NyZWF0ZVJvbGVQaWNrZXJDb250cm9sKGZpZWxkLCBsYWJlbCk6IEF1dG9Db21wbGV0ZVBpY2tlckNvbnRyb2xTY2hlbWEge1xyXG4gICAgICAgIHJldHVybiBjcmVhdGVSb2xlUGlja2VyQ29udHJvbCh0aGlzLl9kbUNodWNWdVNlcnZpY2UsIGZpZWxkLCBsYWJlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Gb3JtSW5pdGlhbGl6ZWQoZXZ0OiBFdmVudERhdGEpIHtcclxuICAgICAgICBldnQubW9kZWwudXNlcklkcyA9IHRoaXMuZGF0YS51c2VySWRzO1xyXG4gICAgICAgIGV2dC5tb2RlbC5kZXBhcnRtZW50SWRzID0gdGhpcy5kYXRhLmRlcGFydG1lbnRJZHM7XHJcbiAgICAgICAgZXZ0Lm1vZGVsLmdyb3VwSWRzID0gdGhpcy5kYXRhLmdyb3VwSWRzO1xyXG4gICAgICAgIGV2dC5tb2RlbC5yb2xlSWRzID0gdGhpcy5kYXRhLnJvbGVJZHM7XHJcbiAgICB9XHJcbn1cclxuIl19
|