taxtank-core 0.32.57 → 0.32.59

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.
@@ -2,13 +2,15 @@ import { AbstractForm } from '../abstract.form';
2
2
  import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
3
3
  import { plainToClass } from 'class-transformer';
4
4
  import { UntypedFormControl, Validators } from '@angular/forms';
5
+ import { RxwebValidators } from '@rxweb/reactive-form-validators';
6
+ import { groupValidator } from '../../validators/group.validator';
5
7
  export class AllocationRuleConditionForm extends AbstractForm {
6
8
  constructor(condition = plainToClass(AllocationRuleCondition, {})) {
7
9
  super({
8
10
  field: new UntypedFormControl(condition.field, Validators.required),
9
11
  comparisonOperator: new UntypedFormControl(condition.comparisonOperator, Validators.required),
10
12
  value: new UntypedFormControl(condition.value, Validators.required)
11
- }, condition);
13
+ }, condition, groupValidator(RxwebValidators.unique()));
12
14
  }
13
15
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsWUFBcUM7SUFDcEYsWUFDRSxZQUFxQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDO1FBRTlFLEtBQUssQ0FBQztZQUNKLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRSxrQkFBa0IsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzdGLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGVDb25kaXRpb24+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiA9IHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZpZWxkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNvbmRpdGlvbi5maWVsZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29uZGl0aW9uLmNvbXBhcmlzb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB2YWx1ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb25kaXRpb24udmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgfSwgY29uZGl0aW9uKTtcbiAgfVxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWxFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxZQUFxQztJQUNwRixZQUNFLFlBQXFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUM7UUFFOUUsS0FBSyxDQUFDO1lBQ0osS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25FLGtCQUFrQixFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDN0YsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3BFLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSeHdlYlZhbGlkYXRvcnMgfSBmcm9tICdAcnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzJztcbmltcG9ydCB7IGdyb3VwVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9ncm91cC52YWxpZGF0b3InO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmRpdGlvbjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gPSBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KVxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWVsZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb25kaXRpb24uZmllbGQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNvbmRpdGlvbi5jb21wYXJpc29uT3BlcmF0b3IsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgdmFsdWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29uZGl0aW9uLnZhbHVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH0sIGNvbmRpdGlvbiwgZ3JvdXBWYWxpZGF0b3IoUnh3ZWJWYWxpZGF0b3JzLnVuaXF1ZSgpKSk7XG4gIH1cbn1cbiJdfQ==
@@ -90,7 +90,7 @@ export class AccountSetupService {
90
90
  // Invite team item is completed when firm has employees except firm owner or firm has invited employees.
91
91
  this.setItemStatus(this.items.findBy('isInviteTeam', true), combineLatest([
92
92
  this.employeeService.getArray(),
93
- this.employeeInviteService.get()
93
+ this.employeeInviteService.getArray()
94
94
  ]).pipe(map(([employees, invites]) => {
95
95
  // we always have at least 1 employee (firm owner), so we should check other employees except firm owner
96
96
  if (employees.length) {
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
165
165
  providedIn: 'root'
166
166
  }]
167
167
  }], ctorParameters: function () { return [{ type: i1.SetupItemService }, { type: i2.PropertyService }, { type: i2.IncomeSourceService }, { type: i2.BankAccountService }, { type: i2.TransactionAllocationService }, { type: i2.VehicleClaimService }, { type: i2.TransactionService }, { type: i2.SoleBusinessService }, { type: i2.HoldingService }, { type: i2.UserService }, { type: i2.ClientMovementService }, { type: i2.ClientInviteService }, { type: i2.EmployeeService }, { type: i2.EmployeeInviteService }, { type: i2.FirmService }]; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFtQjNDLE9BQU8sRUFDTCwwQkFBMEIsRUFJMUIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBS3hFOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFDVSxnQkFBa0MsRUFDbEMsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLG1CQUF1QyxFQUN2Qyw0QkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMsY0FBOEIsRUFDOUIsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxlQUFnQyxFQUNoQyxxQkFBNEMsRUFDNUMsV0FBd0I7UUFkeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGlDQUE0QixH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RUFBRSxJQUFJLENBQUMsRUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUNwQyxDQUFDO0lBQ0osQ0FBQzsrR0FsT1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHtcbiAgQmFua0FjY291bnRTZXJ2aWNlLFxuICBDbGllbnRJbnZpdGVTZXJ2aWNlLFxuICBDbGllbnRNb3ZlbWVudFNlcnZpY2UsXG4gIEVtcGxveWVlSW52aXRlU2VydmljZSxcbiAgRW1wbG95ZWVTZXJ2aWNlLFxuICBGaXJtU2VydmljZSxcbiAgSG9sZGluZ1NlcnZpY2UsXG4gIEluY29tZVNvdXJjZVNlcnZpY2UsXG4gIFByb3BlcnR5U2VydmljZSxcbiAgU29sZUJ1c2luZXNzU2VydmljZSxcbiAgVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVmVoaWNsZUNsYWltU2VydmljZVxufSBmcm9tICcuLi9odHRwJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSwgVHJhbnNhY3Rpb24sIFVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24sXG4gIENsaWVudEludml0ZUNvbGxlY3Rpb24sXG4gIENsaWVudE1vdmVtZW50Q29sbGVjdGlvbixcbiAgQ29sbGVjdGlvbixcbiAgSW5jb21lU291cmNlQ29sbGVjdGlvbixcbiAgVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IGludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuaW1wb3J0IHsgU2V0dXBJdGVtVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zZXR1cC1pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFbXBsb3llZUludml0ZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBGaXJtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zpcm0vZmlybSc7XG5pbXBvcnQgeyBTZXR1cEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9zZXR1cC1pdGVtL3NldHVwLWl0ZW0uc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBpdGVtczogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIHVzZXI6IFVzZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR1cEl0ZW1TZXJ2aWNlOiBTZXR1cEl0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xkaW5nU2VydmljZTogSG9sZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjbGllbnRNb3ZlbWVudFNlcnZpY2U6IENsaWVudE1vdmVtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudEludml0ZVNlcnZpY2U6IENsaWVudEludml0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbXBsb3llZVNlcnZpY2U6IEVtcGxveWVlU2VydmljZSxcbiAgICBwcml2YXRlIGVtcGxveWVlSW52aXRlU2VydmljZTogRW1wbG95ZWVJbnZpdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlybVNlcnZpY2U6IEZpcm1TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlci9maXJtXG4gICAqL1xuICBnZXQodHlwZTogU2V0dXBJdGVtVHlwZUVudW0pOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZXR1cEl0ZW1TZXJ2aWNlLmdldCgpLFxuICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRGaXJzdCgpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoW2l0ZW1zLCB1c2VyXTogW0FjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uLCBVc2VyXSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcbiAgICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuXG4gICAgICAgICAgcmV0dXJuIHR5cGUgPT09IFNldHVwSXRlbVR5cGVFbnVtLkNMSUVOVCA/IHRoaXMuZ2V0Q2xpZW50SXRlbXMkKCkgOiB0aGlzLmdldEZpcm1JdGVtcyQoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRDbGllbnRJdGVtcyQoKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGJhdGNoOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+W10gPSBbXTtcblxuICAgIGlmICh0aGlzLnVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5XT1JLX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICAvLyBTYWxhcnkgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIHNhbGFyeSBpbmNvbWUgc291cmNlXG4gICAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgICB0aGlzLml0ZW1zLmZpbmRCeSgnaXNTYWxhcnknLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLmdldEluY29tZVNvdXJjZXModHJ1ZSlcbiAgICAgICAgKSxcbiAgICAgICAgLy8gT3RoZXIgaW5jb21lIGlzIGEgcGFydCBvZiB3b3JrIHRhbmssIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIG90aGVyIGluY29tZSBzb3VyY2VcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc090aGVySW5jb21lJywgdHJ1ZSksXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSZW50YWwgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgcHJvcGVydHlcbiAgICBpZiAodGhpcy51c2VyLmhhc1JvbGVzKFVzZXJSb2xlc0VudW0uUFJPUEVSVFlfVEFOSykpIHtcbiAgICAgIGJhdGNoLnB1c2goXG4gICAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgICB0aGlzLml0ZW1zLmZpbmRCeSgnaXNQcm9wZXJ0eScsIHRydWUpLFxuICAgICAgICAgIHRoaXMucHJvcGVydHlTZXJ2aWNlLmdldEFycmF5KClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTb2xlIGJ1c2luZXNzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgYnVzaW5lc3NcbiAgICBpZiAodGhpcy51c2VyLmhhc1JvbGVzKFVzZXJSb2xlc0VudW0uU09MRV9UQU5LKSkge1xuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc1NvbGVCdXNpbmVzcycsIHRydWUpLFxuICAgICAgICAgIHRoaXMuc29sZUJ1c2luZXNzU2VydmljZS5nZXQoKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGhvbGRpbmdzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgaG9sZGluZ1xuICAgIGlmICh0aGlzLnVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLnNldEl0ZW1TdGF0dXMoXG4gICAgICAgICAgdGhpcy5pdGVtcy5maW5kQnkoJ2lzSG9sZGluZ3MnLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLmhvbGRpbmdTZXJ2aWNlLmdldEFycmF5KClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy51c2VyLmhhc1JvbGVzKFtVc2VyUm9sZXNFbnVtLldPUktfVEFOSywgVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LLCBVc2VyUm9sZXNFbnVtLlNPTEVfVEFOSywgVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTktdKSkge1xuICAgICAgLy8gQmFuayBmZWVkcyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGJhbmsgYWNjb3VudCAoYmFzaXEgb3IgbWFudWFsKVxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmdldEJhbmtGZWVkc0l0ZW0oKSk7XG5cbiAgICAgIC8vIExvZ2Jvb2sgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGhhcyBhdCBsZWFzdCBvbmUgdmVoaWNsZSBjbGFpbSB3aXRoIGFueSBtZXRob2QgKGttcyBvciBsb2dib29rKVxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmdldExvZ2Jvb2tJdGVtKCkpO1xuXG4gICAgICAvLyBBbGxvY2F0aW9uIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgdHJhbnNhY3Rpb24gYWxsb2NhdGlvblxuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc1RyYW5zYWN0aW9uQWxsb2NhdGUnLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UuZ2V0KClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIGdldEZpcm1JdGVtcyQoKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGJhdGNoOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+W10gPSBbXTtcblxuICAgIGJhdGNoLnB1c2goXG4gICAgICAvLyBGaXJtIERldGFpbHMgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGZpbGxlZCBzb21lIGdlbmVyYWwgaW5mb3JtYXRpb25cbiAgICAgIHRoaXMuZmlybVNlcnZpY2UuZ2V0KCkucGlwZShtYXAoKGZpcm06IEZpcm0pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZEJ5KCdpc0Zpcm1EZXRhaWxzJywgdHJ1ZSk7XG4gICAgICAgIGlmIChmaXJtLmFkZHJlc3MgfHwgZmlybS5waG9uZSB8fCBmaXJtLmZpbGUgfHwgZmlybS5zaG9ydE5hbWUpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSkpXG4gICAgKTtcblxuICAgIGJhdGNoLnB1c2goXG4gICAgICAvLyBJbnZpdGUgdGVhbSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIGZpcm0gaGFzIGVtcGxveWVlcyBleGNlcHQgZmlybSBvd25lciBvciBmaXJtIGhhcyBpbnZpdGVkIGVtcGxveWVlcy5cbiAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgdGhpcy5pdGVtcy5maW5kQnkoJ2lzSW52aXRlVGVhbScsIHRydWUpLFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0aGlzLmVtcGxveWVlU2VydmljZS5nZXRBcnJheSgpLFxuICAgICAgICAgIHRoaXMuZW1wbG95ZWVJbnZpdGVTZXJ2aWNlLmdldCgpXG4gICAgICAgIF0pLnBpcGUobWFwKChbZW1wbG95ZWVzLCBpbnZpdGVzXTogW1VzZXJbXSwgRW1wbG95ZWVJbnZpdGVbXV0pID0+IHtcbiAgICAgICAgICAvLyB3ZSBhbHdheXMgaGF2ZSBhdCBsZWFzdCAxIGVtcGxveWVlIChmaXJtIG93bmVyKSwgc28gd2Ugc2hvdWxkIGNoZWNrIG90aGVyIGVtcGxveWVlcyBleGNlcHQgZmlybSBvd25lclxuICAgICAgICAgIGlmIChlbXBsb3llZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBlbXBsb3llZXMuc3BsaWNlKDAsIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uZW1wbG95ZWVzLCAuLi5pbnZpdGVzXTtcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuXG4gICAgYmF0Y2gucHVzaChcbiAgICAgIC8vIEludml0ZSBjbGllbnRzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gZmlybSBoYXMgY2xpZW50cyBvciBmaXJtIGhhcyBpbnZpdGVkIGNsaWVudHMuXG4gICAgICB0aGlzLnNldEl0ZW1TdGF0dXMoXG4gICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc0ludml0ZUNsaWVudHMnLCB0cnVlKSxcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5jbGllbnRNb3ZlbWVudFNlcnZpY2UuZ2V0QWN0aXZlKCksIHRoaXMuY2xpZW50SW52aXRlU2VydmljZS5nZXRGaXJtSW52aXRlcygpXSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoW21vdmVtZW50cywgaW52aXRlc106IFtDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24sIENsaWVudEludml0ZUNvbGxlY3Rpb25dKSA9PiBbLi4ubW92ZW1lbnRzLnRvQXJyYXkoKSwgLi4uaW52aXRlcy50b0FycmF5KCldKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBhbmQgdXBkYXRlIGlzQ29tcGxldGVkIGZsYWcgZm9yIHBhc3NlZCBpdGVtXG4gICAqL1xuICBwcml2YXRlIHNldEl0ZW1TdGF0dXMoaXRlbTogQWNjb3VudFNldHVwSXRlbSwgcmVxdWVzdDogT2JzZXJ2YWJsZTxvYmplY3RbXT4pOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gcmVxdWVzdC5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IG9iamVjdFtdKTogQWNjb3VudFNldHVwSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGlzU2tpcHBlZCA9ICEhdGhpcy51c2VyLmJsYWNrbGlzdFNldHVwSXRlbXMuZmluZCgoc2tpcHBlZEl0ZW06IEFjY291bnRTZXR1cEl0ZW0pID0+IHNraXBwZWRJdGVtLmlkID09PSBpdGVtLmlkKTtcblxuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCB8fCBpc1NraXBwZWQpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiB3b3JrIHdpdGggY29sbGVjdGlvbiB3aGVuIHNlcnZpY2VzIHJlZmFjdG9yZWRcbiAgICogQFRPRE8gVmlrOiB3YWl0aW5nIGZvciBpbmNvbWUgc291cmNlcyByZWZhY3RvcmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbmNvbWVTb3VyY2VzKGlzU2FsYXJ5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogSW5jb21lU291cmNlQ29sbGVjdGlvbiA9IG5ldyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoaXNTYWxhcnkpIHtcbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5nZXRTYWxhcnkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLml0ZW1zLmZpbHRlcigoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+IGluY29tZVNvdXJjZS5pc090aGVySW5jb21lKCkpO1xuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogU2hvdyBsb2dib29rIGl0ZW0gd2hlbiB1c2VyIGhhcyBhdCBsZWFzdCAxIHZlaGljbGUgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgZ2V0TG9nYm9va0l0ZW0oKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gQFRPRE8gQWxleDogcmVtb3ZlIG1hcCB3aGVuIHNlcnZpY2VzIHN0YXJ0IHdvcmsgd2l0aCBjb2xsZWN0aW9uc1xuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0cmFuc2FjdGlvbnMpKSxcbiAgICAgICAgbWVyZ2VNYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9ucy5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgICAgICB0aGlzLml0ZW1zLmZpbmRCeSgnaXNXb3JrTG9nYm9vaycsIHRydWUpLFxuICAgICAgICAgICAgICB0aGlzLnZlaGljbGVDbGFpbVNlcnZpY2UuZ2V0KClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlIGJhbmsgZmVlZHMgaXRlbSB3aGVuIHVzZXIgaGFzIG9ubHkgaG9sZGluZyB0YW5rXG4gICAqL1xuICBwcml2YXRlIGdldEJhbmtGZWVkc0l0ZW0oKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgY29uc3QgYmFua0ZlZWRzUm9sZXMgPSBbVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LLCBVc2VyUm9sZXNFbnVtLldPUktfVEFOSywgVXNlclJvbGVzRW51bS5TT0xFX1RBTktdO1xuXG4gICAgaWYgKCFpbnRlcnNlY3Rpb24oYmFua0ZlZWRzUm9sZXMsIHRoaXMudXNlci5yb2xlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc0JhbmtGZWVkcycsIHRydWUpLFxuICAgICAgdGhpcy5iYW5rQWNjb3VudHNTZXJ2aWNlLmdldEFycmF5KClcbiAgICApO1xuICB9XG59XG4iXX0=
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFtQjNDLE9BQU8sRUFDTCwwQkFBMEIsRUFJMUIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBS3hFOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFDVSxnQkFBa0MsRUFDbEMsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLG1CQUF1QyxFQUN2Qyw0QkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMsY0FBOEIsRUFDOUIsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxlQUFnQyxFQUNoQyxxQkFBNEMsRUFDNUMsV0FBd0I7UUFkeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGlDQUE0QixH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RUFBRSxJQUFJLENBQUMsRUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUNwQyxDQUFDO0lBQ0osQ0FBQzsrR0FsT1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHtcbiAgQmFua0FjY291bnRTZXJ2aWNlLFxuICBDbGllbnRJbnZpdGVTZXJ2aWNlLFxuICBDbGllbnRNb3ZlbWVudFNlcnZpY2UsXG4gIEVtcGxveWVlSW52aXRlU2VydmljZSxcbiAgRW1wbG95ZWVTZXJ2aWNlLFxuICBGaXJtU2VydmljZSxcbiAgSG9sZGluZ1NlcnZpY2UsXG4gIEluY29tZVNvdXJjZVNlcnZpY2UsXG4gIFByb3BlcnR5U2VydmljZSxcbiAgU29sZUJ1c2luZXNzU2VydmljZSxcbiAgVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVmVoaWNsZUNsYWltU2VydmljZVxufSBmcm9tICcuLi9odHRwJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSwgVHJhbnNhY3Rpb24sIFVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24sXG4gIENsaWVudEludml0ZUNvbGxlY3Rpb24sXG4gIENsaWVudE1vdmVtZW50Q29sbGVjdGlvbixcbiAgQ29sbGVjdGlvbixcbiAgSW5jb21lU291cmNlQ29sbGVjdGlvbixcbiAgVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IGludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuaW1wb3J0IHsgU2V0dXBJdGVtVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zZXR1cC1pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFbXBsb3llZUludml0ZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBGaXJtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zpcm0vZmlybSc7XG5pbXBvcnQgeyBTZXR1cEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9zZXR1cC1pdGVtL3NldHVwLWl0ZW0uc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBpdGVtczogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIHVzZXI6IFVzZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR1cEl0ZW1TZXJ2aWNlOiBTZXR1cEl0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xkaW5nU2VydmljZTogSG9sZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjbGllbnRNb3ZlbWVudFNlcnZpY2U6IENsaWVudE1vdmVtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudEludml0ZVNlcnZpY2U6IENsaWVudEludml0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbXBsb3llZVNlcnZpY2U6IEVtcGxveWVlU2VydmljZSxcbiAgICBwcml2YXRlIGVtcGxveWVlSW52aXRlU2VydmljZTogRW1wbG95ZWVJbnZpdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlybVNlcnZpY2U6IEZpcm1TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlci9maXJtXG4gICAqL1xuICBnZXQodHlwZTogU2V0dXBJdGVtVHlwZUVudW0pOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZXR1cEl0ZW1TZXJ2aWNlLmdldCgpLFxuICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRGaXJzdCgpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoW2l0ZW1zLCB1c2VyXTogW0FjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uLCBVc2VyXSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcbiAgICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuXG4gICAgICAgICAgcmV0dXJuIHR5cGUgPT09IFNldHVwSXRlbVR5cGVFbnVtLkNMSUVOVCA/IHRoaXMuZ2V0Q2xpZW50SXRlbXMkKCkgOiB0aGlzLmdldEZpcm1JdGVtcyQoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRDbGllbnRJdGVtcyQoKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGJhdGNoOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+W10gPSBbXTtcblxuICAgIGlmICh0aGlzLnVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5XT1JLX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICAvLyBTYWxhcnkgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIHNhbGFyeSBpbmNvbWUgc291cmNlXG4gICAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgICB0aGlzLml0ZW1zLmZpbmRCeSgnaXNTYWxhcnknLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLmdldEluY29tZVNvdXJjZXModHJ1ZSlcbiAgICAgICAgKSxcbiAgICAgICAgLy8gT3RoZXIgaW5jb21lIGlzIGEgcGFydCBvZiB3b3JrIHRhbmssIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIG90aGVyIGluY29tZSBzb3VyY2VcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc090aGVySW5jb21lJywgdHJ1ZSksXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSZW50YWwgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgcHJvcGVydHlcbiAgICBpZiAodGhpcy51c2VyLmhhc1JvbGVzKFVzZXJSb2xlc0VudW0uUFJPUEVSVFlfVEFOSykpIHtcbiAgICAgIGJhdGNoLnB1c2goXG4gICAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgICB0aGlzLml0ZW1zLmZpbmRCeSgnaXNQcm9wZXJ0eScsIHRydWUpLFxuICAgICAgICAgIHRoaXMucHJvcGVydHlTZXJ2aWNlLmdldEFycmF5KClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTb2xlIGJ1c2luZXNzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgYnVzaW5lc3NcbiAgICBpZiAodGhpcy51c2VyLmhhc1JvbGVzKFVzZXJSb2xlc0VudW0uU09MRV9UQU5LKSkge1xuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc1NvbGVCdXNpbmVzcycsIHRydWUpLFxuICAgICAgICAgIHRoaXMuc29sZUJ1c2luZXNzU2VydmljZS5nZXQoKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGhvbGRpbmdzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgaG9sZGluZ1xuICAgIGlmICh0aGlzLnVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLnNldEl0ZW1TdGF0dXMoXG4gICAgICAgICAgdGhpcy5pdGVtcy5maW5kQnkoJ2lzSG9sZGluZ3MnLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLmhvbGRpbmdTZXJ2aWNlLmdldEFycmF5KClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy51c2VyLmhhc1JvbGVzKFtVc2VyUm9sZXNFbnVtLldPUktfVEFOSywgVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LLCBVc2VyUm9sZXNFbnVtLlNPTEVfVEFOSywgVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTktdKSkge1xuICAgICAgLy8gQmFuayBmZWVkcyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGJhbmsgYWNjb3VudCAoYmFzaXEgb3IgbWFudWFsKVxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmdldEJhbmtGZWVkc0l0ZW0oKSk7XG5cbiAgICAgIC8vIExvZ2Jvb2sgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGhhcyBhdCBsZWFzdCBvbmUgdmVoaWNsZSBjbGFpbSB3aXRoIGFueSBtZXRob2QgKGttcyBvciBsb2dib29rKVxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmdldExvZ2Jvb2tJdGVtKCkpO1xuXG4gICAgICAvLyBBbGxvY2F0aW9uIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgdHJhbnNhY3Rpb24gYWxsb2NhdGlvblxuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc1RyYW5zYWN0aW9uQWxsb2NhdGUnLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UuZ2V0KClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIGdldEZpcm1JdGVtcyQoKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGJhdGNoOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+W10gPSBbXTtcblxuICAgIGJhdGNoLnB1c2goXG4gICAgICAvLyBGaXJtIERldGFpbHMgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGZpbGxlZCBzb21lIGdlbmVyYWwgaW5mb3JtYXRpb25cbiAgICAgIHRoaXMuZmlybVNlcnZpY2UuZ2V0KCkucGlwZShtYXAoKGZpcm06IEZpcm0pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZEJ5KCdpc0Zpcm1EZXRhaWxzJywgdHJ1ZSk7XG4gICAgICAgIGlmIChmaXJtLmFkZHJlc3MgfHwgZmlybS5waG9uZSB8fCBmaXJtLmZpbGUgfHwgZmlybS5zaG9ydE5hbWUpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSkpXG4gICAgKTtcblxuICAgIGJhdGNoLnB1c2goXG4gICAgICAvLyBJbnZpdGUgdGVhbSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIGZpcm0gaGFzIGVtcGxveWVlcyBleGNlcHQgZmlybSBvd25lciBvciBmaXJtIGhhcyBpbnZpdGVkIGVtcGxveWVlcy5cbiAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgdGhpcy5pdGVtcy5maW5kQnkoJ2lzSW52aXRlVGVhbScsIHRydWUpLFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0aGlzLmVtcGxveWVlU2VydmljZS5nZXRBcnJheSgpLFxuICAgICAgICAgIHRoaXMuZW1wbG95ZWVJbnZpdGVTZXJ2aWNlLmdldEFycmF5KClcbiAgICAgICAgXSkucGlwZShtYXAoKFtlbXBsb3llZXMsIGludml0ZXNdOiBbVXNlcltdLCBFbXBsb3llZUludml0ZVtdXSkgPT4ge1xuICAgICAgICAgIC8vIHdlIGFsd2F5cyBoYXZlIGF0IGxlYXN0IDEgZW1wbG95ZWUgKGZpcm0gb3duZXIpLCBzbyB3ZSBzaG91bGQgY2hlY2sgb3RoZXIgZW1wbG95ZWVzIGV4Y2VwdCBmaXJtIG93bmVyXG4gICAgICAgICAgaWYgKGVtcGxveWVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVtcGxveWVlcy5zcGxpY2UoMCwgMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5lbXBsb3llZXMsIC4uLmludml0ZXNdO1xuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG5cbiAgICBiYXRjaC5wdXNoKFxuICAgICAgLy8gSW52aXRlIGNsaWVudHMgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiBmaXJtIGhhcyBjbGllbnRzIG9yIGZpcm0gaGFzIGludml0ZWQgY2xpZW50cy5cbiAgICAgIHRoaXMuc2V0SXRlbVN0YXR1cyhcbiAgICAgICAgdGhpcy5pdGVtcy5maW5kQnkoJ2lzSW52aXRlQ2xpZW50cycsIHRydWUpLFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmNsaWVudE1vdmVtZW50U2VydmljZS5nZXRBY3RpdmUoKSwgdGhpcy5jbGllbnRJbnZpdGVTZXJ2aWNlLmdldEZpcm1JbnZpdGVzKCldKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChbbW92ZW1lbnRzLCBpbnZpdGVzXTogW0NsaWVudE1vdmVtZW50Q29sbGVjdGlvbiwgQ2xpZW50SW52aXRlQ29sbGVjdGlvbl0pID0+IFsuLi5tb3ZlbWVudHMudG9BcnJheSgpLCAuLi5pbnZpdGVzLnRvQXJyYXkoKV0pXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGJhdGNoKS5waXBlKG1hcCgoaXRlbXM6IEFjY291bnRTZXR1cEl0ZW1bXSkgPT4gbmV3IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKGl0ZW1zKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGFuZCB1cGRhdGUgaXNDb21wbGV0ZWQgZmxhZyBmb3IgcGFzc2VkIGl0ZW1cbiAgICovXG4gIHByaXZhdGUgc2V0SXRlbVN0YXR1cyhpdGVtOiBBY2NvdW50U2V0dXBJdGVtLCByZXF1ZXN0OiBPYnNlcnZhYmxlPG9iamVjdFtdPik6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT4ge1xuICAgIHJldHVybiByZXF1ZXN0LnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDogb2JqZWN0W10pOiBBY2NvdW50U2V0dXBJdGVtID0+IHtcbiAgICAgICAgY29uc3QgaXNTa2lwcGVkID0gISF0aGlzLnVzZXIuYmxhY2tsaXN0U2V0dXBJdGVtcy5maW5kKChza2lwcGVkSXRlbTogQWNjb3VudFNldHVwSXRlbSkgPT4gc2tpcHBlZEl0ZW0uaWQgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoIHx8IGlzU2tpcHBlZCkge1xuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IHdvcmsgd2l0aCBjb2xsZWN0aW9uIHdoZW4gc2VydmljZXMgcmVmYWN0b3JlZFxuICAgKiBAVE9ETyBWaWs6IHdhaXRpbmcgZm9yIGluY29tZSBzb3VyY2VzIHJlZmFjdG9yaW5nXG4gICAqL1xuICBwcml2YXRlIGdldEluY29tZVNvdXJjZXMoaXNTYWxhcnkgPSBmYWxzZSk6IE9ic2VydmFibGU8SW5jb21lU291cmNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5pbmNvbWVTb3VyY2VTZXJ2aWNlLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKTogSW5jb21lU291cmNlW10gPT4ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uOiBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uID0gbmV3IEluY29tZVNvdXJjZUNvbGxlY3Rpb24oaW5jb21lU291cmNlcyk7XG4gICAgICAgIGlmIChpc1NhbGFyeSkge1xuICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uLmdldFNhbGFyeSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uaXRlbXMuZmlsdGVyKChpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZSkgPT4gaW5jb21lU291cmNlLmlzT3RoZXJJbmNvbWUoKSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IGxvZ2Jvb2sgaXRlbSB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IDEgdmVoaWNsZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMb2dib29rSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBAVE9ETyBBbGV4OiByZW1vdmUgbWFwIHdoZW4gc2VydmljZXMgc3RhcnQgd29yayB3aXRoIGNvbGxlY3Rpb25zXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucykpLFxuICAgICAgICBtZXJnZU1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldEl0ZW1TdGF0dXMoXG4gICAgICAgICAgICAgIHRoaXMuaXRlbXMuZmluZEJ5KCdpc1dvcmtMb2dib29rJywgdHJ1ZSksXG4gICAgICAgICAgICAgIHRoaXMudmVoaWNsZUNsYWltU2VydmljZS5nZXQoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgYmFuayBmZWVkcyBpdGVtIHdoZW4gdXNlciBoYXMgb25seSBob2xkaW5nIHRhbmtcbiAgICovXG4gIHByaXZhdGUgZ2V0QmFua0ZlZWRzSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICBjb25zdCBiYW5rRmVlZHNSb2xlcyA9IFtVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTkssIFVzZXJSb2xlc0VudW0uV09SS19UQU5LLCBVc2VyUm9sZXNFbnVtLlNPTEVfVEFOS107XG5cbiAgICBpZiAoIWludGVyc2VjdGlvbihiYW5rRmVlZHNSb2xlcywgdGhpcy51c2VyLnJvbGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXRJdGVtU3RhdHVzKFxuICAgICAgdGhpcy5pdGVtcy5maW5kQnkoJ2lzQmFua0ZlZWRzJywgdHJ1ZSksXG4gICAgICB0aGlzLmJhbmtBY2NvdW50c1NlcnZpY2UuZ2V0QXJyYXkoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -63,7 +63,6 @@ export class ChatService extends RestService {
63
63
  listenMessages() {
64
64
  this.listenCSE(Message, (messages) => {
65
65
  const message = messages[0];
66
- console.log(message);
67
66
  const cache = this.cache.toArray();
68
67
  const updatedChat = cache.find((chat) => chat?.id === message.chat?.id);
69
68
  // @TODO vik
@@ -86,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
86
85
  type: Inject,
87
86
  args: ['environment']
88
87
  }] }]; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBMkM7SUFNMUUsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTDdELGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQTBCLGNBQWMsQ0FBQztRQUN4RCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFJaEcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWUsSUFBSSxDQUFDLE1BQU07UUFDNUIs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cnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXQgYXMgQ2hhdEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENoYXQsIE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ2hhdENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBjaGF0c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENoYXRCYXNlLCBDaGF0LCBDaGF0Q29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDaGF0ID0gQ2hhdDtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ2hhdENvbGxlY3Rpb24gPSBDaGF0Q29sbGVjdGlvbjtcbiAgZW5kcG9pbnRVcmkgPSAnY2hhdHMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICBzdXBlcihlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLmxpc3RlbkNoYXRzKCk7XG4gICAgdGhpcy5saXN0ZW5NZXNzYWdlcygpO1xuICB9XG5cbiAgZ2V0KHBhdGg6IHN0cmluZyA9IHRoaXMuYXBpVXJsKTogT2JzZXJ2YWJsZTxDaGF0Q29sbGVjdGlvbj4ge1xuICAgIC8vIHVzZXJzIGNvbnRhY3QgdHRBZHZpc29yIHRocm91Z2ggaW50ZXJjb20gc3VwcG9ydFxuICAgIHJldHVybiBzdXBlci5nZXQocGF0aCkucGlwZShcbiAgICAgIG1hcCgoY2hhdHMpID0+IGNoYXRzLmZpbHRlcigoY2hhdCkgPT4gY2hhdC5lbXBsb3llZS5lbWFpbCAhPT0gdGhpcy5lbnZpcm9ubWVudC50dEFkdmlzb3IpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVmYWN0b3Igd2l0aCBsaXN0ZW5TU0UgbWV0aG9kXG4gICAqL1xuICBsaXN0ZW5DaGF0cygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYGNoYXRzYCkuc3Vic2NyaWJlKChjaGF0QmFzZTogQ2hhdEJhc2UpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGFycmF5OiBDaGF0W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBldmVudFxuICAgICAgY29uc3QgZXZlbnRDaGF0OiBDaGF0ID0gcGxhaW5Ub0NsYXNzKENoYXQsIGNoYXRCYXNlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBjYWNoZVxuICAgICAgY29uc3QgY2FjaGVkQ2hhdDogQ2hhdCA9IGFycmF5LmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IGV2ZW50Q2hhdC5pZCk7XG5cbiAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAvLyBhZGQgbmV3IGNoYXRcbiAgICAgICAgY2FzZSAoIWNhY2hlZENoYXQpOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdwb3N0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gcmVtb3ZlIGRlYWN0aXZhdGVkIGNoYXRcbiAgICAgICAgY2FzZSAhZXZlbnRDaGF0LmlzQWN0aXZlKCk6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ2RlbGV0ZScpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBjaGF0IHdpdGggbmV3IGZpcm0gKHJlYXNzaWduKVxuICAgICAgICBjYXNlIGV2ZW50Q2hhdC5lbXBsb3llZS5pZCAhPT0gY2FjaGVkQ2hhdC5lbXBsb3llZS5pZDpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAncHV0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gQFRPRE8gdHlwaW5nIHdvcmtzIGJhZCB3aXRoIG1hdC10YWJzIG9uIHVzZXItYXJlYS4gTmVlZCB0byByZWZhY3RvciB0eXBpbmcgZnVuY3Rpb25hbGl0eVxuICAgICAgICAvLyB1cGRhdGUgY2FjaGUgd2l0aCB0eXBpbmcgdXNlclxuICAgICAgICAvLyBkZWZhdWx0OlxuICAgICAgICAvLyBjYWNoZWRDaGF0LnR5cGluZ1VzZXJzLnB1c2gobmV3IFVzZXIoZXZlbnRDaGF0LnR5cGluZ1VzZXIpKTtcbiAgICAgICAgLy8gcmVwbGFjZShjYWNoZSwgXy5jbG9uZShjYWNoZWRDaGF0KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNoYXQncyAndXBkYXRlZEF0JyBmaWVsZCB3aXRoIHRoZSBsYXN0IGNoYXQncyBtZXNzYWdlIGRhdGUgZm9yIGNoYXQgbGlzdCBzb3J0aW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKE1lc3NhZ2UsIChtZXNzYWdlczogTWVzc2FnZVtdKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gbWVzc2FnZXNbMF07XG4gICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgIGNvbnN0IGNhY2hlOiBDaGF0W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRDaGF0OiBDaGF0ID0gY2FjaGUuZmluZCgoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdD8uaWQgPT09IG1lc3NhZ2UuY2hhdD8uaWQpO1xuICAgICAgLy8gQFRPRE8gdmlrXG4gICAgICBpZiAoIXVwZGF0ZWRDaGF0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlZENoYXQudXBkYXRlZEF0ID0gbWVzc2FnZT8uY3JlYXRlZEF0O1xuXG4gICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFt1cGRhdGVkQ2hhdF0sICdwdXQnKTtcbiAgICB9LCBbJ3Bvc3QnXSk7XG4gIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBMkM7SUFNMUUsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTDdELGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQTBCLGNBQWMsQ0FBQztRQUN4RCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFJaEcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWUsSUFBSSxDQUFDLE1BQU07UUFDNUIs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Y29yZSc7XG5pbXBvcnQgeyBDaGF0IGFzIENoYXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGF0LCBNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENoYXRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggY2hhdHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDaGF0QmFzZSwgQ2hhdCwgQ2hhdENvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2hhdCA9IENoYXQ7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENoYXRDb2xsZWN0aW9uID0gQ2hhdENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ2NoYXRzJztcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKSB7XG4gICAgdGhpcy5saXN0ZW5DaGF0cygpO1xuICAgIHRoaXMubGlzdGVuTWVzc2FnZXMoKTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcgPSB0aGlzLmFwaVVybCk6IE9ic2VydmFibGU8Q2hhdENvbGxlY3Rpb24+IHtcbiAgICAvLyB1c2VycyBjb250YWN0IHR0QWR2aXNvciB0aHJvdWdoIGludGVyY29tIHN1cHBvcnRcbiAgICByZXR1cm4gc3VwZXIuZ2V0KHBhdGgpLnBpcGUoXG4gICAgICBtYXAoKGNoYXRzKSA9PiBjaGF0cy5maWx0ZXIoKGNoYXQpID0+IGNoYXQuZW1wbG95ZWUuZW1haWwgIT09IHRoaXMuZW52aXJvbm1lbnQudHRBZHZpc29yKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlZmFjdG9yIHdpdGggbGlzdGVuU1NFIG1ldGhvZFxuICAgKi9cbiAgbGlzdGVuQ2hhdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBjaGF0c2ApLnN1YnNjcmliZSgoY2hhdEJhc2U6IENoYXRCYXNlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBhcnJheTogQ2hhdFtdID0gdGhpcy5jYWNoZS50b0FycmF5KCk7XG4gICAgICAvLyBjaGF0IGluc3RhbmNlIGZyb20gZXZlbnRcbiAgICAgIGNvbnN0IGV2ZW50Q2hhdDogQ2hhdCA9IHBsYWluVG9DbGFzcyhDaGF0LCBjaGF0QmFzZSk7XG4gICAgICAvLyBjaGF0IGluc3RhbmNlIGZyb20gY2FjaGVcbiAgICAgIGNvbnN0IGNhY2hlZENoYXQ6IENoYXQgPSBhcnJheS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0LmlkID09PSBldmVudENoYXQuaWQpO1xuXG4gICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgLy8gYWRkIG5ldyBjaGF0XG4gICAgICAgIGNhc2UgKCFjYWNoZWRDaGF0KTpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAncG9zdCcpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHJlbW92ZSBkZWFjdGl2YXRlZCBjaGF0XG4gICAgICAgIGNhc2UgIWV2ZW50Q2hhdC5pc0FjdGl2ZSgpOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdkZWxldGUnKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyB1cGRhdGUgY2hhdCB3aXRoIG5ldyBmaXJtIChyZWFzc2lnbilcbiAgICAgICAgY2FzZSBldmVudENoYXQuZW1wbG95ZWUuaWQgIT09IGNhY2hlZENoYXQuZW1wbG95ZWUuaWQ6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ3B1dCcpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIEBUT0RPIHR5cGluZyB3b3JrcyBiYWQgd2l0aCBtYXQtdGFicyBvbiB1c2VyLWFyZWEuIE5lZWQgdG8gcmVmYWN0b3IgdHlwaW5nIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgLy8gdXBkYXRlIGNhY2hlIHdpdGggdHlwaW5nIHVzZXJcbiAgICAgICAgLy8gZGVmYXVsdDpcbiAgICAgICAgLy8gY2FjaGVkQ2hhdC50eXBpbmdVc2Vycy5wdXNoKG5ldyBVc2VyKGV2ZW50Q2hhdC50eXBpbmdVc2VyKSk7XG4gICAgICAgIC8vIHJlcGxhY2UoY2FjaGUsIF8uY2xvbmUoY2FjaGVkQ2hhdCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjaGF0J3MgJ3VwZGF0ZWRBdCcgZmllbGQgd2l0aCB0aGUgbGFzdCBjaGF0J3MgbWVzc2FnZSBkYXRlIGZvciBjaGF0IGxpc3Qgc29ydGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5NZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNTRShNZXNzYWdlLCAobWVzc2FnZXM6IE1lc3NhZ2VbXSkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuICAgICAgY29uc3QgY2FjaGU6IENoYXRbXSA9IHRoaXMuY2FjaGUudG9BcnJheSgpO1xuICAgICAgY29uc3QgdXBkYXRlZENoYXQ6IENoYXQgPSBjYWNoZS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0Py5pZCA9PT0gbWVzc2FnZS5jaGF0Py5pZCk7XG4gICAgICAvLyBAVE9ETyB2aWtcbiAgICAgIGlmICghdXBkYXRlZENoYXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVkQ2hhdC51cGRhdGVkQXQgPSBtZXNzYWdlPy5jcmVhdGVkQXQ7XG5cbiAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW3VwZGF0ZWRDaGF0XSwgJ3B1dCcpO1xuICAgIH0sIFsncG9zdCddKTtcbiAgfVxufVxuIl19
@@ -64,9 +64,11 @@ export class ClientInviteService extends RestService {
64
64
  resend(invite) {
65
65
  // cant use parent method because of custom specific handler
66
66
  return this.http.post(`${this.apiUrl}/${invite.id}/resend`, null)
67
- .pipe(map((inviteBase) => plainToClass(ClientInvite, inviteBase)), map((resentInvite) =>
68
- // this.handleResponse([resentInvite], 'put');
69
- resentInvite));
67
+ .pipe(map((inviteBase) => {
68
+ const resentInvite = plainToClass(ClientInvite, inviteBase);
69
+ this.handleResponse([resentInvite], 'put');
70
+ return resentInvite;
71
+ }));
70
72
  }
71
73
  /**
72
74
  * Send invitation from client to firm
@@ -95,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
97
  type: Inject,
96
98
  args: ['environment']
97
99
  }] }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQW1FO0lBTTFHLFlBQTZDLFdBQWdCO1FBQzNELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUR3QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUxuRCxnQkFBVyxHQUFHLGlCQUFpQixDQUFDO1FBQzFDLG9CQUFlLEdBQWtDLHNCQUFzQixDQUFDO1FBQ3hFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLGlCQUFZLEdBQUcsZUFBZSxDQUFDO1FBSTdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLEtBQUss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LENBQUM7SUFDTixDQUFDOytHQW5HVSxtQkFBbUIsa0JBTVYsYUFBYTttSEFOdEIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xpZW50SW52aXRlIGFzIENsaWVudEludml0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9jbGllbnQtaW52aXRlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSwgQ2xpZW50SW52aXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbGllbnRJbnZpdGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudEludml0ZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDbGllbnRJbnZpdGVCYXNlLCBDbGllbnRJbnZpdGUsIENsaWVudEludml0ZUNvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBwcm90ZWN0ZWQgZW5kcG9pbnRVcmkgPSAnY2xpZW50cy9pbnZpdGVzJztcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ2xpZW50SW52aXRlQ29sbGVjdGlvbiA9IENsaWVudEludml0ZUNvbGxlY3Rpb247XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDbGllbnRJbnZpdGUgPSBDbGllbnRJbnZpdGU7XG4gIG1lcmN1cmVUb3BpYyA9ICdjbGllbnRJbnZpdGVzJztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKSB7XG4gICAgLy8gQFRPRE8gcmVtb3ZlIHdoZW4gVFQtMzgyNiBpcyByZWFkeVxuICAgIHRoaXMubGlzdGVuU1NFKCk7XG4gIH1cblxuICBnZXRGaXJtSW52aXRlcygpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZUNvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KGAke3RoaXMuYXBpVXJsfS9hbGxgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaW52aXRlIHdoaWNoIGVtcGxveWVlIGlzIFRheFRhbmsgQWR2aXNvclxuICAgKiBAVE9ETyBtb3ZlIHRvIGNvbGxlY3Rpb24/IGJ1dCB3ZSBuZWVkIHRvIGluamVjdCBlbnZpcm9tZW50XG4gICAqL1xuICBnZXRUVEFkdmlzb3IoKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbnZpdGVzOiBDbGllbnRJbnZpdGVDb2xsZWN0aW9uKSA9PiBpbnZpdGVzLmZpbmRCeSgnZW1wbG95ZWUuZW1haWwnLCB0aGlzLmVudmlyb25tZW50LnR0QWR2aXNvcikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgY2xpZW50cyBmcm9tIENTViBmaWxlXG4gICAqL1xuICBpbXBvcnQoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8Q2xpZW50SW52aXRlW10+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblxuICAgIC8vIGNhbnQgdXNlIHBhcmVudCBtZXRob2QgYmVjYXVzZSBvZiBkaWZmZXJlbnQgcGFyYW1ldGVyc1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vaW1wb3J0YCwgZm9ybURhdGEpLnBpcGUoXG4gICAgICBtYXAoKGNsaWVudEludml0ZTogQ2xpZW50SW52aXRlW10pID0+IGNsaWVudEludml0ZSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBjbGllbnQgaW52aXRhdGlvbiBmcm9tIGZpcm0gdG8gdXNlclxuICAgKi9cbiAgYWNjZXB0KGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgLy8gY2FudCB1c2UgcGFyZW50IG1ldGhvZCBiZWNhdXNlIG9mIGN1c3RvbSBzcGVjaWZpYyBoYW5kbGVyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9LyR7aW52aXRlLmlkfS9hY2NlcHRgLCBpbnZpdGUpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAvLyBAVE9ETyByZW1vdmUgd2hlbiBUYXhSZXZpZXdTZXJ2aWNlIHJlZmFjdG9yZWQgd2l0aCB0aGUgbmV3IHJlc3QgYW5kIHVzZSB0aGVyZSBsaXN0ZW5DU0UgaW5zdGVhZFxuICAgICAgICAvLyBUYXhSZXZpZXdTZXJ2aWNlIGlzIGxpc3RlbmluZyBjbGllbnQgaW52aXRlcyBhY2NlcHRpb24uIFdpdGggdGhlIG5ldyByZXN0IHdlIGFyZSB1c2luZyBsaXN0ZW5DU0UgbWV0aG9kLCBidXQgb2xkIHJlc3QgZG9lcyBub3QgaGF2ZSB0aGlzIG1ldGhvZC5cbiAgICAgICAgLy8gV2UgbmVlZCB0byByZWZhY3RvciBUYXhSZXZpZXdTZXJ2aWNlIHdpdGggbmV3IHJlc3QgZmlyc3QsIHRoZW4gd2UgY2FuIGxpc3RlbkNTRSBhbmQgcmVtb3ZlIG1hbnVhbCBldmVudHNcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9JTlZJVEVfQUNDRVBURUQsIG51bGwpKTtcblxuICAgICAgICAvLyB0aGlzLmhhbmRsZVJlc3BvbnNlKFtpbnZpdGVdLCAnZGVsZXRlJyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVqZWN0IGNsaWVudCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byB1c2VyXG4gICAqL1xuICByZWplY3QoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoaW52aXRlLCBgJHt0aGlzLmFwaVVybH0vJHtpbnZpdGUuaWR9L3JlamVjdGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2VuZCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byBjbGllbnRcbiAgICovXG4gIHJlc2VuZChpbnZpdGU6IENsaWVudEludml0ZSk6IE9ic2VydmFibGU8Q2xpZW50SW52aXRlPiB7XG4gICAgLy8gY2FudCB1c2UgcGFyZW50IG1ldGhvZCBiZWNhdXNlIG9mIGN1c3RvbSBzcGVjaWZpYyBoYW5kbGVyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXBpVXJsfS8ke2ludml0ZS5pZH0vcmVzZW5kYCwgbnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGludml0ZUJhc2U6IENsaWVudEludml0ZUJhc2UpID0+IHBsYWluVG9DbGFzcyhDbGllbnRJbnZpdGUsIGludml0ZUJhc2UpKSxcbiAgICAgICAgbWFwKChyZXNlbnRJbnZpdGU6IENsaWVudEludml0ZSkgPT5cbiAgICAgICAgLy8gdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzZW50SW52aXRlXSwgJ3B1dCcpO1xuXG4gICAgICAgICAgcmVzZW50SW52aXRlXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBpbnZpdGF0aW9uIGZyb20gY2xpZW50IHRvIGZpcm1cbiAgICovXG4gIGludml0ZUZpcm1CeVVzZXIoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiBzdXBlci5wb3N0KGludml0ZSwgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vZmlybXMvaW52aXRlYClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IuZW1haWwpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKGVycm9yLmVycm9yLmVtYWlsWzBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQW1FO0lBTTFHLFlBQTZDLFdBQWdCO1FBQzNELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUR3QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUxuRCxnQkFBVyxHQUFHLGlCQUFpQixDQUFDO1FBQzFDLG9CQUFlLEdBQWtDLHNCQUFzQixDQUFDO1FBQ3hFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLGlCQUFZLEdBQUcsZUFBZSxDQUFDO1FBSTdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLEtBQUss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QU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOytHQW5HVSxtQkFBbUIsa0JBTVYsYUFBYTttSEFOdEIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xpZW50SW52aXRlIGFzIENsaWVudEludml0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9jbGllbnQtaW52aXRlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSwgQ2xpZW50SW52aXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbGllbnRJbnZpdGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudEludml0ZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDbGllbnRJbnZpdGVCYXNlLCBDbGllbnRJbnZpdGUsIENsaWVudEludml0ZUNvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBwcm90ZWN0ZWQgZW5kcG9pbnRVcmkgPSAnY2xpZW50cy9pbnZpdGVzJztcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ2xpZW50SW52aXRlQ29sbGVjdGlvbiA9IENsaWVudEludml0ZUNvbGxlY3Rpb247XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDbGllbnRJbnZpdGUgPSBDbGllbnRJbnZpdGU7XG4gIG1lcmN1cmVUb3BpYyA9ICdjbGllbnRJbnZpdGVzJztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKSB7XG4gICAgLy8gQFRPRE8gcmVtb3ZlIHdoZW4gVFQtMzgyNiBpcyByZWFkeVxuICAgIHRoaXMubGlzdGVuU1NFKCk7XG4gIH1cblxuICBnZXRGaXJtSW52aXRlcygpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZUNvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KGAke3RoaXMuYXBpVXJsfS9hbGxgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaW52aXRlIHdoaWNoIGVtcGxveWVlIGlzIFRheFRhbmsgQWR2aXNvclxuICAgKiBAVE9ETyBtb3ZlIHRvIGNvbGxlY3Rpb24/IGJ1dCB3ZSBuZWVkIHRvIGluamVjdCBlbnZpcm9tZW50XG4gICAqL1xuICBnZXRUVEFkdmlzb3IoKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbnZpdGVzOiBDbGllbnRJbnZpdGVDb2xsZWN0aW9uKSA9PiBpbnZpdGVzLmZpbmRCeSgnZW1wbG95ZWUuZW1haWwnLCB0aGlzLmVudmlyb25tZW50LnR0QWR2aXNvcikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgY2xpZW50cyBmcm9tIENTViBmaWxlXG4gICAqL1xuICBpbXBvcnQoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8Q2xpZW50SW52aXRlW10+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblxuICAgIC8vIGNhbnQgdXNlIHBhcmVudCBtZXRob2QgYmVjYXVzZSBvZiBkaWZmZXJlbnQgcGFyYW1ldGVyc1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vaW1wb3J0YCwgZm9ybURhdGEpLnBpcGUoXG4gICAgICBtYXAoKGNsaWVudEludml0ZTogQ2xpZW50SW52aXRlW10pID0+IGNsaWVudEludml0ZSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBjbGllbnQgaW52aXRhdGlvbiBmcm9tIGZpcm0gdG8gdXNlclxuICAgKi9cbiAgYWNjZXB0KGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgLy8gY2FudCB1c2UgcGFyZW50IG1ldGhvZCBiZWNhdXNlIG9mIGN1c3RvbSBzcGVjaWZpYyBoYW5kbGVyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9LyR7aW52aXRlLmlkfS9hY2NlcHRgLCBpbnZpdGUpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAvLyBAVE9ETyByZW1vdmUgd2hlbiBUYXhSZXZpZXdTZXJ2aWNlIHJlZmFjdG9yZWQgd2l0aCB0aGUgbmV3IHJlc3QgYW5kIHVzZSB0aGVyZSBsaXN0ZW5DU0UgaW5zdGVhZFxuICAgICAgICAvLyBUYXhSZXZpZXdTZXJ2aWNlIGlzIGxpc3RlbmluZyBjbGllbnQgaW52aXRlcyBhY2NlcHRpb24uIFdpdGggdGhlIG5ldyByZXN0IHdlIGFyZSB1c2luZyBsaXN0ZW5DU0UgbWV0aG9kLCBidXQgb2xkIHJlc3QgZG9lcyBub3QgaGF2ZSB0aGlzIG1ldGhvZC5cbiAgICAgICAgLy8gV2UgbmVlZCB0byByZWZhY3RvciBUYXhSZXZpZXdTZXJ2aWNlIHdpdGggbmV3IHJlc3QgZmlyc3QsIHRoZW4gd2UgY2FuIGxpc3RlbkNTRSBhbmQgcmVtb3ZlIG1hbnVhbCBldmVudHNcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9JTlZJVEVfQUNDRVBURUQsIG51bGwpKTtcblxuICAgICAgICAvLyB0aGlzLmhhbmRsZVJlc3BvbnNlKFtpbnZpdGVdLCAnZGVsZXRlJyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVqZWN0IGNsaWVudCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byB1c2VyXG4gICAqL1xuICByZWplY3QoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoaW52aXRlLCBgJHt0aGlzLmFwaVVybH0vJHtpbnZpdGUuaWR9L3JlamVjdGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2VuZCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byBjbGllbnRcbiAgICovXG4gIHJlc2VuZChpbnZpdGU6IENsaWVudEludml0ZSk6IE9ic2VydmFibGU8Q2xpZW50SW52aXRlPiB7XG4gICAgLy8gY2FudCB1c2UgcGFyZW50IG1ldGhvZCBiZWNhdXNlIG9mIGN1c3RvbSBzcGVjaWZpYyBoYW5kbGVyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXBpVXJsfS8ke2ludml0ZS5pZH0vcmVzZW5kYCwgbnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGludml0ZUJhc2U6IENsaWVudEludml0ZUJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNlbnRJbnZpdGUgPSBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCBpbnZpdGVCYXNlKTtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXNlbnRJbnZpdGVdLCAncHV0Jyk7XG5cbiAgICAgICAgICByZXR1cm4gcmVzZW50SW52aXRlO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBpbnZpdGF0aW9uIGZyb20gY2xpZW50IHRvIGZpcm1cbiAgICovXG4gIGludml0ZUZpcm1CeVVzZXIoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiBzdXBlci5wb3N0KGludml0ZSwgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vZmlybXMvaW52aXRlYClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IuZW1haWwpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKGVycm9yLmVycm9yLmVtYWlsWzBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -5,6 +5,7 @@ import { User } from '../../../../models';
5
5
  import { throwError as observableThrowError } from 'rxjs';
6
6
  import { EmployeeMessagesEnum } from './employee-messages.enum';
7
7
  import { Collection } from '../../../../collections';
8
+ import { UserRolesEnum } from '../../../../db/Enums/user-roles.enum';
8
9
  import * as i0 from "@angular/core";
9
10
  export class EmployeeService extends RestService {
10
11
  constructor() {
@@ -12,8 +13,8 @@ export class EmployeeService extends RestService {
12
13
  this.endpointUri = 'employees';
13
14
  this.modelClass = User;
14
15
  this.collectionClass = (Collection);
15
- this.disabledMethods = ['postBatch', 'putBatch'];
16
16
  this.messages = EmployeeMessagesEnum;
17
+ this.roles = [UserRolesEnum.FIRM_MANAGER];
17
18
  }
18
19
  activateEmployee(employee) {
19
20
  return super.put(employee, `${this.environment.apiV2}/${this.endpointUri}/${employee.id}/activate`);
@@ -37,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
37
38
  providedIn: 'root'
38
39
  }]
39
40
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZW1wbG95ZWUvZW1wbG95ZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLckQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBNkM7SUFIbEY7O1FBSVksZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFDcEMsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFDL0Isb0JBQWUsSUFBNEIsVUFBZ0IsRUFBQztRQUM1RCxvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxRCxhQUFRLEdBQWdDLG9CQUFvQixDQUFDO0tBbUI5RDtJQWpCQyxnQkFBZ0IsQ0FBQyxRQUFjO1FBQzdCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFjO1FBQy9CLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxFQUFFLGFBQWEsQ0FBQzthQUNsRyxJQUFJLENBQ0gsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLHlFQUF5RTtZQUN6RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDekQ7WUFFRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOytHQXZCVSxlQUFlO21IQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBVc2VyIGFzIFVzZXJCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVtcGxveWVlTWVzc2FnZXNFbnVtIH0gZnJvbSAnLi9lbXBsb3llZS1tZXNzYWdlcy5lbnVtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFVzZXJCYXNlLCBVc2VyLCBDb2xsZWN0aW9uPFVzZXI+PiB7XG4gIHByb3RlY3RlZCBlbmRwb2ludFVyaSA9ICdlbXBsb3llZXMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgVXNlciA9IFVzZXI7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENvbGxlY3Rpb248VXNlcj4gPSBDb2xsZWN0aW9uPFVzZXI+O1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdEJhdGNoJywgJ3B1dEJhdGNoJ107XG4gIG1lc3NhZ2VzOiB0eXBlb2YgRW1wbG95ZWVNZXNzYWdlc0VudW0gPSBFbXBsb3llZU1lc3NhZ2VzRW51bTtcblxuICBhY3RpdmF0ZUVtcGxveWVlKGVtcGxveWVlOiBVc2VyKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIHN1cGVyLnB1dChlbXBsb3llZSwgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLmVuZHBvaW50VXJpfS8ke2VtcGxveWVlLmlkfS9hY3RpdmF0ZWApO1xuICB9XG5cbiAgZGVhY3RpdmF0ZUVtcGxveWVlKGVtcGxveWVlOiBVc2VyKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIHN1cGVyLnB1dChlbXBsb3llZSwgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLmVuZHBvaW50VXJpfS8ke2VtcGxveWVlLmlkfS9kZWFjdGl2YXRlYClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBTaG93IGVycm9yIHdoZW4gdXNlciBwcm92aWRlZCBhbm90aGVyIGxvZ2luIChub3QgbG9naW4gaGUgdXNlZCBiZWZvcmUpXG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcih0aGlzLm1lc3NhZ2VzLkRFQUNUSVZBVEVfRVJST1IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZW1wbG95ZWUvZW1wbG95ZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQTZDO0lBSGxGOztRQUlZLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLElBQTRCLFVBQWdCLEVBQUM7UUFDNUQsYUFBUSxHQUFnQyxvQkFBb0IsQ0FBQztRQUM3RCxVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7S0FtQnRDO0lBakJDLGdCQUFnQixDQUFDLFFBQWM7UUFDN0IsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQWM7UUFDL0IsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLEVBQUUsYUFBYSxDQUFDO2FBQ2xHLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMseUVBQXlFO1lBQ3pFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN6RDtZQUVELE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7K0dBdkJVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IFVzZXIgYXMgVXNlckJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRW1wbG95ZWVNZXNzYWdlc0VudW0gfSBmcm9tICcuL2VtcGxveWVlLW1lc3NhZ2VzLmVudW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxVc2VyQmFzZSwgVXNlciwgQ29sbGVjdGlvbjxVc2VyPj4ge1xuICBwcm90ZWN0ZWQgZW5kcG9pbnRVcmkgPSAnZW1wbG95ZWVzJztcbiAgbW9kZWxDbGFzczogdHlwZW9mIFVzZXIgPSBVc2VyO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBDb2xsZWN0aW9uPFVzZXI+ID0gQ29sbGVjdGlvbjxVc2VyPjtcbiAgbWVzc2FnZXM6IHR5cGVvZiBFbXBsb3llZU1lc3NhZ2VzRW51bSA9IEVtcGxveWVlTWVzc2FnZXNFbnVtO1xuICByb2xlcyA9IFtVc2VyUm9sZXNFbnVtLkZJUk1fTUFOQUdFUl07XG5cbiAgYWN0aXZhdGVFbXBsb3llZShlbXBsb3llZTogVXNlcik6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoZW1wbG95ZWUsIGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy5lbmRwb2ludFVyaX0vJHtlbXBsb3llZS5pZH0vYWN0aXZhdGVgKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVFbXBsb3llZShlbXBsb3llZTogVXNlcik6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoZW1wbG95ZWUsIGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy5lbmRwb2ludFVyaX0vJHtlbXBsb3llZS5pZH0vZGVhY3RpdmF0ZWApXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgLy8gU2hvdyBlcnJvciB3aGVuIHVzZXIgcHJvdmlkZWQgYW5vdGhlciBsb2dpbiAobm90IGxvZ2luIGhlIHVzZWQgYmVmb3JlKVxuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IodGhpcy5tZXNzYWdlcy5ERUFDVElWQVRFX0VSUk9SKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -1,16 +1,19 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { map } from 'rxjs/operators';
3
- import { replace } from '../../../../functions/array';
4
- import _ from 'lodash';
5
3
  import { plainToClass } from 'class-transformer';
6
4
  import { EmployeeInvite } from '../../../../models/employee/employee-invite';
7
- import { RestService } from '../../rest/rest-old.service';
5
+ import { RestService } from '../../rest';
6
+ import { UserRolesEnum } from '../../../../db/Enums/user-roles.enum';
7
+ import { Collection } from '../../../../collections';
8
8
  import * as i0 from "@angular/core";
9
9
  export class EmployeeInviteService extends RestService {
10
10
  constructor() {
11
11
  super(...arguments);
12
- this.url = 'employees/invites';
12
+ this.endpointUri = 'employees/invites';
13
+ this.collectionClass = (Collection);
14
+ this.disabledMethods = ['postBatch', 'putBatch'];
13
15
  this.modelClass = EmployeeInvite;
16
+ this.roles = [UserRolesEnum.FIRM_MANAGER];
14
17
  }
15
18
  /**
16
19
  * Import employees for firm from CSV file
@@ -19,7 +22,7 @@ export class EmployeeInviteService extends RestService {
19
22
  import(file) {
20
23
  const formData = new FormData();
21
24
  formData.append('file', file);
22
- return this.http.post(`${this.environment.apiV2}/${this.url}/import`, formData)
25
+ return this.http.post(`${this.environment.apiV2}/${this.endpointUri}/import`, formData)
23
26
  .pipe(map((employeeInvite) => employeeInvite));
24
27
  }
25
28
  /**
@@ -27,15 +30,10 @@ export class EmployeeInviteService extends RestService {
27
30
  * @param invite
28
31
  */
29
32
  resend(invite) {
30
- return this.http.post(`${this.environment.apiV2}/${this.url}/${invite.id}/resend`, null)
33
+ return this.http.post(`${this.environment.apiV2}/${this.endpointUri}/${invite.id}/resend`, null)
31
34
  .pipe(map((resentInviteBase) => {
32
35
  const updatedInvite = plainToClass(EmployeeInvite, resentInviteBase);
33
- // avoid cache changes
34
- // @TODO make cache readonly
35
- const tempCache = _.cloneDeep(this.cache);
36
- replace(tempCache, plainToClass(EmployeeInvite, updatedInvite));
37
- this.cache = tempCache;
38
- this.updateCache();
36
+ this.handleResponse([updatedInvite], 'put');
39
37
  return updatedInvite;
40
38
  }));
41
39
  }
@@ -48,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
48
46
  providedIn: 'root'
49
47
  }]
50
48
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtaW52aXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9maXJtL2VtcGxveWVlLWludml0ZS9lbXBsb3llZS1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUsxRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBK0M7SUFIMUY7O1FBSUUsUUFBRyxHQUFHLG1CQUFtQixDQUFDO1FBQzFCLGVBQVUsR0FBMEIsY0FBYyxDQUFDO0tBbUNwRDtJQWpDQzs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBVTtRQUNmLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLFNBQVMsRUFBRSxRQUFRLENBQUM7YUFDNUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGNBQWdDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUMxRCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO2FBQ3JGLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxnQkFBb0MsRUFBa0IsRUFBRTtZQUMzRCxNQUFNLGFBQWEsR0FBbUIsWUFBWSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3JGLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsTUFBTSxTQUFTLEdBQXFCLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVELE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzsrR0FwQ1UscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVtcGxveWVlSW52aXRlIGFzIEVtcGxveWVlSW52aXRlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2VtcGxveWVlLWludml0ZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFbXBsb3llZUludml0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9lbXBsb3llZS9lbXBsb3llZS1pbnZpdGUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llZUludml0ZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxFbXBsb3llZUludml0ZUJhc2UsIEVtcGxveWVlSW52aXRlPiB7XG4gIHVybCA9ICdlbXBsb3llZXMvaW52aXRlcyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBFbXBsb3llZUludml0ZSA9IEVtcGxveWVlSW52aXRlO1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgZW1wbG95ZWVzIGZvciBmaXJtIGZyb20gQ1NWIGZpbGVcbiAgICogQHBhcmFtIGZpbGVcbiAgICovXG4gIGltcG9ydChmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxFbXBsb3llZUludml0ZVtdPiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vaW1wb3J0YCwgZm9ybURhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlbXBsb3llZUludml0ZTogRW1wbG95ZWVJbnZpdGVbXSkgPT4gZW1wbG95ZWVJbnZpdGUpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2VuZCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byBjbGllbnRcbiAgICogQHBhcmFtIGludml0ZVxuICAgKi9cbiAgcmVzZW5kKGludml0ZTogRW1wbG95ZWVJbnZpdGUpOiBPYnNlcnZhYmxlPEVtcGxveWVlSW52aXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7aW52aXRlLmlkfS9yZXNlbmRgLCBudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzZW50SW52aXRlQmFzZTogRW1wbG95ZWVJbnZpdGVCYXNlKTogRW1wbG95ZWVJbnZpdGUgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnZpdGU6IEVtcGxveWVlSW52aXRlID0gcGxhaW5Ub0NsYXNzKEVtcGxveWVlSW52aXRlLCByZXNlbnRJbnZpdGVCYXNlKTtcbiAgICAgICAgICAvLyBhdm9pZCBjYWNoZSBjaGFuZ2VzXG4gICAgICAgICAgLy8gQFRPRE8gbWFrZSBjYWNoZSByZWFkb25seVxuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogRW1wbG95ZWVJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCBwbGFpblRvQ2xhc3MoRW1wbG95ZWVJbnZpdGUsIHVwZGF0ZWRJbnZpdGUpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEludml0ZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtaW52aXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9maXJtL2VtcGxveWVlLWludml0ZS9lbXBsb3llZS1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLckQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQTJFO0lBSHRIOztRQUlZLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFDNUMsb0JBQWUsSUFBc0MsVUFBMEIsRUFBQztRQUNoRixvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQTBCLGNBQWMsQ0FBQztRQUNuRCxVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7S0ErQnRDO0lBN0JDOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxJQUFVO1FBQ2YsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsU0FBUyxFQUFFLFFBQVEsQ0FBQzthQUNwRixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsY0FBZ0MsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzFELENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUM7YUFDN0YsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGdCQUFvQyxFQUFrQixFQUFFO1lBQzNELE1BQU0sYUFBYSxHQUFtQixZQUFZLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTVDLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOytHQW5DVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1wbG95ZWVJbnZpdGUgYXMgRW1wbG95ZWVJbnZpdGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2Zpcm0vZW1wbG95ZWUtaW52aXRlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEVtcGxveWVlSW52aXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llZUludml0ZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxFbXBsb3llZUludml0ZUJhc2UsIEVtcGxveWVlSW52aXRlLCBDb2xsZWN0aW9uPEVtcGxveWVlSW52aXRlPj4ge1xuICBwcm90ZWN0ZWQgZW5kcG9pbnRVcmkgPSAnZW1wbG95ZWVzL2ludml0ZXMnO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBDb2xsZWN0aW9uPEVtcGxveWVlSW52aXRlPiA9IENvbGxlY3Rpb248RW1wbG95ZWVJbnZpdGU+O1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdEJhdGNoJywgJ3B1dEJhdGNoJ107XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBFbXBsb3llZUludml0ZSA9IEVtcGxveWVlSW52aXRlO1xuICByb2xlcyA9IFtVc2VyUm9sZXNFbnVtLkZJUk1fTUFOQUdFUl07XG5cbiAgLyoqXG4gICAqIEltcG9ydCBlbXBsb3llZXMgZm9yIGZpcm0gZnJvbSBDU1YgZmlsZVxuICAgKiBAcGFyYW0gZmlsZVxuICAgKi9cbiAgaW1wb3J0KGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPEVtcGxveWVlSW52aXRlW10+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMuZW5kcG9pbnRVcml9L2ltcG9ydGAsIGZvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZW1wbG95ZWVJbnZpdGU6IEVtcGxveWVlSW52aXRlW10pID0+IGVtcGxveWVlSW52aXRlKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNlbmQgaW52aXRhdGlvbiBmcm9tIGZpcm0gdG8gY2xpZW50XG4gICAqIEBwYXJhbSBpbnZpdGVcbiAgICovXG4gIHJlc2VuZChpbnZpdGU6IEVtcGxveWVlSW52aXRlKTogT2JzZXJ2YWJsZTxFbXBsb3llZUludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMuZW5kcG9pbnRVcml9LyR7aW52aXRlLmlkfS9yZXNlbmRgLCBudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzZW50SW52aXRlQmFzZTogRW1wbG95ZWVJbnZpdGVCYXNlKTogRW1wbG95ZWVJbnZpdGUgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnZpdGU6IEVtcGxveWVlSW52aXRlID0gcGxhaW5Ub0NsYXNzKEVtcGxveWVlSW52aXRlLCByZXNlbnRJbnZpdGVCYXNlKTtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFt1cGRhdGVkSW52aXRlXSwgJ3B1dCcpO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -95,7 +95,7 @@ export class RestService extends DataService {
95
95
  return this.get().pipe(map((collection) => collection.first));
96
96
  }
97
97
  hasInCache(id) {
98
- return !!this.getCache().findBy('id', id);
98
+ return !!this.getCache()?.findBy('id', id);
99
99
  }
100
100
  getArray() {
101
101
  return this.get().pipe(map((collection) => collection.toArray()));
@@ -263,7 +263,7 @@ export class RestService extends DataService {
263
263
  * Listen for Server-Sent Events (SSE) on the specified Mercure topic
264
264
  */
265
265
  listenSSE() {
266
- if (!this.mercureTopic || !this.cache) {
266
+ if (!this.mercureTopic) {
267
267
  return;
268
268
  }
269
269
  this.sseService.on(this.mercureTopic).pipe(map((response) => {
@@ -294,4 +294,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
294
294
  type: Inject,
295
295
  args: ['environment']
296
296
  }] }]; } });
297
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQzs7QUFFakM7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFnQixXQUNwQixTQUFRLFdBQThDO0lB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Q0FBQyxRQUFnQixFQUFFLEVBQUU7WUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLElBQUksTUFBa0IsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzthQUNyRDtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsUUFBUSxDQUFDO2dCQUNsQix3RkFBd0Y7Z0JBQ3hGLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDOUQ7WUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWxWbUIsV0FBVyxrQkEyQlgsYUFBYTttSEEzQmIsV0FBVyxjQUZuQixNQUFNOzs0RkFFRSxXQUFXO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBNEJjLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCwgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEFwcEV2ZW50MiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFJlc3RNZXRob2QgfSBmcm9tICcuL3Jlc3QtbWV0aG9kLnR5cGUnO1xuaW1wb3J0IHsgSHR0cE1ldGhvZCB9IGZyb20gJy4vaHR0cC1tZXRob2QudHlwZSc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0JztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UnO1xuaW1wb3J0IGludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdyeGpzL2ludGVybmFsLWNvbXBhdGliaWxpdHknO1xuaW1wb3J0IGxhc3QgZnJvbSAnbG9kYXNoL2xhc3QnO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBzZXJ2aWNlIHRoYXQgaW1wbGVtZW50cyBjb21tb24gc2VydmljZXMgZnVuY3Rpb25hbGl0eVxuICogYW5kIGRlc2NyaWJlIGFic3RyYWN0IG1ldGhvZHMvcHJvcGVydGllcyB0aGF0IGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQgaW4gY2hpbGQgc2VydmljZXNcbiAqIE1vZGVsIC0gZW50aXR5IHNlcnZpY2UgaXMgd29ya2luZyB3aXRoXG4gKiBCYXNlTW9kZWwgLSBiYXNlIGVudGl0eSBtb2RlbCB0aGF0IGV4dGVuZHMgYnkgTW9kZWxcbiAqIENvbGxlY3Rpb25Nb2RlbCAtIGVudGl0eSBjb2xsZWN0aW9uIGNsYXNzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3RTZXJ2aWNlPEJhc2VNb2RlbCwgTW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsLCBDb2xsZWN0aW9uTW9kZWwgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsPj5cbiAgZXh0ZW5kcyBEYXRhU2VydmljZTxCYXNlTW9kZWwsIE1vZGVsLCBDb2xsZWN0aW9uTW9kZWw+IHtcblxuICAvKipcbiAgICogVXJsIHBhcnQgZm9yIHNlcnZpY2UgZW50aXR5IEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGVuZHBvaW50VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1YmplY3QgZm9yIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHByb3RlY3RlZCBjYWNoZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8Q29sbGVjdGlvbk1vZGVsPiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG1ldGhvZHMgdW5hdmFpbGFibGUgZm9yIGN1cnJlbnQgQVBJXG4gICAqIEBUT0RPIEFsZXg6IGFkZCBhbmQgaGFuZGxlIGVuYWJsZWQgbWV0aG9kcyB0b29cbiAgICogQFRPRE8gQWxleDogZGlzYWJsZSBiYXRjaCBieSBkZWZhdWx0XG4gICAqL1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFtdO1xuICBwcm90ZWN0ZWQgc3NlU2VydmljZTogU3NlU2VydmljZSA9IGluamVjdChTc2VTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSA9IGluamVjdChFdmVudERpc3BhdGNoZXJTZXJ2aWNlKTtcblxuICByb2xlczogVXNlclJvbGVzRW51bVtdID0gW107XG4gIG1lcmN1cmVUb3BpYzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcGlVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLmVuZHBvaW50VXJpfWA7XG4gIH1cblxuICBzZXRDYWNoZShkYXRhOiBhbnlbXSwgbmV4dCA9IGZhbHNlKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0Q2FjaGUoZGF0YSk7XG5cbiAgICBpZiAobmV4dCkge1xuICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaCBjYWNoZSB3aXRoIGFjdHVhbCBiYWNrZW5kIGRhdGFcbiAgICovXG4gIHJlZnJlc2hDYWNoZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICAvKipcbiAgICogcGVyZm9ybSBhIHNoYWxsb3cgY29weSBvZiB0aGUgZW1pdHRlZCBkYXRhIHRvIG1ha2UgaXQgaW1tdXRhYmxlXG4gICAqL1xuICBnZXRDYWNoZVN1YmplY3RPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbk1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKChjYWNoZSkgPT4gY2xvbmUoY2FjaGUpKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRhdGEgZnJvbSBiYWNrZW5kIGFuZCBmaWxsIHRoZSBjYWNoZVxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoKHBhdGggPSB0aGlzLmFwaVVybCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbk1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZ2V0Jyk7XG5cbiAgICBpZiAoIXRoaXMuaGFzUm9sZXMoKSkge1xuICAgICAgdGhpcy5zZXRDYWNoZShbXSwgdHJ1ZSk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDYWNoZVN1YmplY3RPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGNhY2hlIGFzIGVtcHR5IGNvbGxlY3Rpb24gdG8gYXZvaWQgbXVsdGlwbGUgcmVxdWVzdHMgYmVmb3JlIGNhY2hlIGZpbGxlZFxuICAgIHRoaXMuc2V0Q2FjaGUoW10pO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHBhdGgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0IHwgb2JqZWN0W10pID0+IGlzQXJyYXkocmVzcG9uc2UpID8gcmVzcG9uc2UgOiB0b0FycmF5KHJlc3BvbnNlKSksXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IEJhc2VNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRDYWNoZShyZXNwb25zZSwgdHJ1ZSk7XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXQocGF0aDogc3RyaW5nID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25Nb2RlbD4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5mZXRjaChwYXRoKS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldENhY2hlU3ViamVjdE9ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldEJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25Nb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUobWFwKChwcm9qZWN0cykgPT4gcHJvamVjdHMuZmlsdGVyQnkocGF0aCwgdmFsdWVzKSkpO1xuICB9XG5cbiAgZ2V0Rmlyc3QoKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ2dldCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoY29sbGVjdGlvbjogQ29sbGVjdGlvbk1vZGVsKSA9PiBjb2xsZWN0aW9uLmZpcnN0KVxuICAgICk7XG4gIH1cblxuICBoYXNJbkNhY2hlKGlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldENhY2hlKCkuZmluZEJ5KCdpZCcsIGlkKTtcbiAgfVxuXG4gIGdldEFycmF5KCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUobWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24udG9BcnJheSgpKSk7XG4gIH1cblxuICBnZXRBcnJheUJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeShwYXRoLCB2YWx1ZXMpLnBpcGUobWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24udG9BcnJheSgpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1vZGVsIGluc3RhbmNlIGluIGRhdGFiYXNlXG4gICAqL1xuICBwb3N0KG1vZGVsOiBNb2RlbCwgcGF0aDogc3RyaW5nID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncG9zdCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHBhdGgsIGNsYXNzVG9QbGFpbihtb2RlbCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShyZXNwb25zZSk7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzdWx0XSwgJ3Bvc3QnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbXVsdGlwbGUgbmV3IE1vZGVsIGluc3RhbmNlcyBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcG9zdEJhdGNoKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3Bvc3RCYXRjaCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpVXJsLCBjbGFzc1RvUGxhaW4obW9kZWxzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3VsdCwgJ3Bvc3QnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgYW4gZXhpc3RpbmcgTW9kZWwgaW5zdGFuY2UgaW4gZGF0YWJhc2VcbiAgICovXG4gIHB1dChtb2RlbDogTW9kZWwsIHBhdGggPSBgJHt0aGlzLmFwaVVybH0vJHttb2RlbC5pZH1gKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3B1dCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQocGF0aCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXN1bHRdLCAncHV0Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIG11bHRpcGxlIGV4aXN0aW5nIE1vZGVsIGluc3RhbmNlcyBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcHV0QmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncHV0QmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuYXBpVXJsLCBjbGFzc1RvUGxhaW4obW9kZWxzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3VsdCwgJ3B1dCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIE1vZGVsIGluc3RhbmNlIGZyb20gZGF0YWJhc2VcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogTW9kZWwpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdkZWxldGUnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYXBpVXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFttb2RlbF0sICdkZWxldGUnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBNb2RlbCBpbnN0YW5jZXMgZnJvbSBkYXRhYmFzZVxuICAgKi9cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZGVsZXRlQmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vZGVsZXRlYCwgY2xhc3NUb1BsYWluKG1vZGVscykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKG1vZGVscywgJ2RlbGV0ZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJlc3BvbnNlIGRhdGEgLSB1cGRhdGUgY2FjaGUgYW5kIGRpc3BhdGNoIGV2ZW50IGlmIGl0IGlzIG5lZWRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QpIHtcbiAgICBpZiAodGhpcy5nZXRDYWNoZSgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKHJlc3BvbnNlLCBtZXRob2QpO1xuICAgIH1cblxuICAgIC8vIGRpc3BhdGNoIGV2ZW50IGZvciBpbnRlcmVzdGVkIHNlcnZpY2VzXG4gICAgaWYgKHJlc3BvbnNlWzBdIGluc3RhbmNlb2YgT2JzZXJ2YWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobWV0aG9kLCByZXNwb25zZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aXRoIHBhc3NlZCBpdGVtcy4gQWRkL1VwZGF0ZSBkZXRlY3RzIGF1dG9tYXRpY2FsbHksIERlbGV0ZSB2aWEgb3B0aW9uYWwgZmxhZ1xuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZUNhY2hlKGl0ZW1zOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QpOiB2b2lkIHtcbiAgICBsZXQgY2FjaGU6IENvbGxlY3Rpb25Nb2RlbDtcblxuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgICAgY2FjaGUgPSB0aGlzLmNhY2hlLnB1c2goLi4uaXRlbXMpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncHV0JzpcbiAgICAgICAgLy8gQFRPRE8gQWxleCBvbGQgaW5zdGFuY2VcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogTW9kZWwpID0+IHtcbiAgICAgICAgICBjYWNoZSA9IHRoaXMuY2FjaGUucmVwbGFjZUJ5KCdpZCcsIGl0ZW0uaWQsIGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgIGNhY2hlID0gdGhpcy5jYWNoZS5yZW1vdmVCeSgnaWQnLCBpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgICBjYWNoZSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbkluc3RhbmNlKHRoaXMuY29sbGVjdGlvbkNsYXNzLCBpdGVtcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZS50b0FycmF5KCksIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGFuZCBkaXNwYXRjaCByZXN0IGV2ZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgZGlzcGF0Y2hFdmVudChtZXRob2Q6IEh0dHBNZXRob2QsIGl0ZW1zOiBNb2RlbFtdKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnROYW1lOiBzdHJpbmcgPSAodGhpcy5tb2RlbENsYXNzIGFzIHR5cGVvZiBPYnNlcnZhYmxlTW9kZWwpLmdldEV2ZW50TmFtZShtZXRob2QpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaDIobmV3IEFwcEV2ZW50MihldmVudE5hbWUsIGl0ZW1zKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbWV0aG9kIGlzIG5vdCBkaXNhYmxlZC4gVGhyb3cgZXhjZXB0aW9uIG90aGVyd2lzZS5cbiAgICogU29tZSBlbnRpdGllcyBkb2VzIG5vdCBoYXZlIGVuZHBvaW50cyBmb3IgYWxsIG1ldGhvZHMuXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUFjY2Vzc0Vycm9yKG1ldGhvZDogUmVzdE1ldGhvZCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZE1ldGhvZHMuaW5jbHVkZXMobWV0aG9kKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kICR7bWV0aG9kfSgpIGlzIG5vdCBhbGxvd2VkIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gaHR0cCBldmVudHMgYW5kIHJ1biBjYWxsYmFjay5cbiAgICogQ1NFIC0gQ2xlaW50IFNlbnQgRXZlbnRzXG4gICAqIEBwYXJhbSBtb2RlbENsYXNzXG4gICAqIEBwYXJhbSBtZXRob2RzIFRoZSBsaXN0IG9mIGh0dHAgbWV0aG9kcyBzaG91bGQgYmUgbGlzdGVuZWQgZm9yXG4gICAqIEBwYXJhbSBjYWxsYmFjayBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gZXZlbnQgdHJpZ2dlcmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlzdGVuQ1NFKG1vZGVsQ2xhc3M6IHR5cGVvZiBPYnNlcnZhYmxlTW9kZWwsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbWV0aG9kczogSHR0cE1ldGhvZFtdID0gWydwb3N0JywgJ3B1dCcsICdkZWxldGUnXSk6IHZvaWQge1xuICAgIGNhbGxiYWNrID0gY2FsbGJhY2suYmluZCh0aGlzKTtcblxuICAgIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kOiBIdHRwTWV0aG9kKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKG1vZGVsQ2xhc3MuZ2V0RXZlbnROYW1lKG1ldGhvZCkpLnN1YnNjcmliZSgoZGF0YTogT2JzZXJ2YWJsZU1vZGVsW10pID0+IHtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIHVzZXIgaGFzIHN1YnNjcmlwdGlvbiByb2xlIHRvIGFjY2VzcyBhcGlcbiAgICovXG4gIGhhc1JvbGVzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5yb2xlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiAhIWludGVyc2VjdGlvbihKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyb2xlcycpKSwgdGhpcy5yb2xlcykubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBmb3IgU2VydmVyLVNlbnQgRXZlbnRzIChTU0UpIG9uIHRoZSBzcGVjaWZpZWQgTWVyY3VyZSB0b3BpY1xuICAgKi9cbiAgbGlzdGVuU1NFKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tZXJjdXJlVG9waWMgfHwgIXRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNzZVNlcnZpY2Uub24odGhpcy5tZXJjdXJlVG9waWMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgbGV0IG1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgbGV0IG1ldGhvZDogSHR0cE1ldGhvZDtcbiAgICAgICAgaWYgKG1vZGVsLmlkKSB7XG4gICAgICAgICAgbWV0aG9kID0gdGhpcy5oYXNJbkNhY2hlKG1vZGVsLmlkKSA/ICdwdXQnIDogJ3Bvc3QnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1ldGhvZCA9ICdkZWxldGUnO1xuICAgICAgICAgIC8vIHdlIGdvdCBlbXB0eSBib2R5IHdoZW4gaXRlbSBkZWxldGVkLCBzbyB3ZSBzaG91bGQgZ2V0IGlkIGZyb20gQXBpIFBsYXRmb3JtIGRhdGEgKEBpZClcbiAgICAgICAgICBtb2RlbCA9IG1lcmdlKG1vZGVsLCB7IGlkOiArbGFzdChtb2RlbFsnQGlkJ10uc3BsaXQoJy8nKSkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBtZXRob2QsIG1vZGVsIH07XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2NoYW5nZS5tb2RlbF0sIGNoYW5nZS5tZXRob2QpXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQzs7QUFFakM7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFnQixXQUNwQixTQUFRLFdBQThDO0lB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QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0MsSUFBSSxNQUFrQixDQUFDO1lBQ3ZCLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDWixNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLE1BQU0sR0FBRyxRQUFRLENBQUM7Z0JBQ2xCLHdGQUF3RjtnQkFDeEYsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5RDtZQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbFZtQixXQUFXLGtCQTJCWCxhQUFhO21IQTNCYixXQUFXLGNBRm5CLE1BQU07OzRGQUVFLFdBQVc7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkE0QmMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSwgU3NlU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsLCBPYnNlcnZhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgQXBwRXZlbnQyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IHRvQXJyYXkgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCB9IGZyb20gJy4vcmVzdC1tZXRob2QudHlwZSc7XG5pbXBvcnQgeyBIdHRwTWV0aG9kIH0gZnJvbSAnLi9odHRwLW1ldGhvZC50eXBlJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QnO1xuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC9tZXJnZSc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ3J4anMvaW50ZXJuYWwtY29tcGF0aWJpbGl0eSc7XG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJztcblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIHNlcnZpY2UgdGhhdCBpbXBsZW1lbnRzIGNvbW1vbiBzZXJ2aWNlcyBmdW5jdGlvbmFsaXR5XG4gKiBhbmQgZGVzY3JpYmUgYWJzdHJhY3QgbWV0aG9kcy9wcm9wZXJ0aWVzIHRoYXQgaGF2ZSB0byBiZSBpbXBsZW1lbnRlZCBpbiBjaGlsZCBzZXJ2aWNlc1xuICogTW9kZWwgLSBlbnRpdHkgc2VydmljZSBpcyB3b3JraW5nIHdpdGhcbiAqIEJhc2VNb2RlbCAtIGJhc2UgZW50aXR5IG1vZGVsIHRoYXQgZXh0ZW5kcyBieSBNb2RlbFxuICogQ29sbGVjdGlvbk1vZGVsIC0gZW50aXR5IGNvbGxlY3Rpb24gY2xhc3NcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzdFNlcnZpY2U8QmFzZU1vZGVsLCBNb2RlbCBleHRlbmRzIEFic3RyYWN0TW9kZWwsIENvbGxlY3Rpb25Nb2RlbCBleHRlbmRzIENvbGxlY3Rpb248TW9kZWw+PlxuICBleHRlbmRzIERhdGFTZXJ2aWNlPEJhc2VNb2RlbCwgTW9kZWwsIENvbGxlY3Rpb25Nb2RlbD4ge1xuXG4gIC8qKlxuICAgKiBVcmwgcGFydCBmb3Igc2VydmljZSBlbnRpdHkgQVBJXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZW5kcG9pbnRVcmk6IHN0cmluZztcblxuICAvKipcbiAgICogU3ViamVjdCBmb3Igc2VydmljZSBjYWNoZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxDb2xsZWN0aW9uTW9kZWw+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgbWV0aG9kcyB1bmF2YWlsYWJsZSBmb3IgY3VycmVudCBBUElcbiAgICogQFRPRE8gQWxleDogYWRkIGFuZCBoYW5kbGUgZW5hYmxlZCBtZXRob2RzIHRvb1xuICAgKiBAVE9ETyBBbGV4OiBkaXNhYmxlIGJhdGNoIGJ5IGRlZmF1bHRcbiAgICovXG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gW107XG4gIHByb3RlY3RlZCBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlID0gaW5qZWN0KFNzZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlID0gaW5qZWN0KEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UpO1xuXG4gIHJvbGVzOiBVc2VyUm9sZXNFbnVtW10gPSBbXTtcbiAgbWVyY3VyZVRvcGljOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGFwaVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMuZW5kcG9pbnRVcml9YDtcbiAgfVxuXG4gIHNldENhY2hlKGRhdGE6IGFueVtdLCBuZXh0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDYWNoZShkYXRhKTtcblxuICAgIGlmIChuZXh0KSB7XG4gICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoIGNhY2hlIHdpdGggYWN0dWFsIGJhY2tlbmQgZGF0YVxuICAgKi9cbiAgcmVmcmVzaENhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwZXJmb3JtIGEgc2hhbGxvdyBjb3B5IG9mIHRoZSBlbWl0dGVkIGRhdGEgdG8gbWFrZSBpdCBpbW11dGFibGVcbiAgICovXG4gIGdldENhY2hlU3ViamVjdE9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uTW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShtYXAoKGNhY2hlKSA9PiBjbG9uZShjYWNoZSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGF0YSBmcm9tIGJhY2tlbmQgYW5kIGZpbGwgdGhlIGNhY2hlXG4gICAqL1xuICBwcm90ZWN0ZWQgZmV0Y2gocGF0aCA9IHRoaXMuYXBpVXJsKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uTW9kZWw+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdnZXQnKTtcblxuICAgIGlmICghdGhpcy5oYXNSb2xlcygpKSB7XG4gICAgICB0aGlzLnNldENhY2hlKFtdLCB0cnVlKTtcbiAgICAgIHJldHVybiB0aGlzLmdldENhY2hlU3ViamVjdE9ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgY2FjaGUgYXMgZW1wdHkgY29sbGVjdGlvbiB0byBhdm9pZCBtdWx0aXBsZSByZXF1ZXN0cyBiZWZvcmUgY2FjaGUgZmlsbGVkXG4gICAgdGhpcy5zZXRDYWNoZShbXSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocGF0aClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QgfCBvYmplY3RbXSkgPT4gaXNBcnJheShyZXNwb25zZSkgPyByZXNwb25zZSA6IHRvQXJyYXkocmVzcG9uc2UpKSxcbiAgICAgICAgbWFwKChyZXNwb25zZTogQmFzZU1vZGVsW10pID0+IHtcbiAgICAgICAgICB0aGlzLnNldENhY2hlKHJlc3BvbnNlLCB0cnVlKTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcgPSB0aGlzLmFwaVVybCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbk1vZGVsPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmZldGNoKHBhdGgpLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGVTdWJqZWN0T2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0QnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IE9ic2VydmFibGU8Q29sbGVjdGlvbk1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShtYXAoKHByb2plY3RzKSA9PiBwcm9qZWN0cy5maWx0ZXJCeShwYXRoLCB2YWx1ZXMpKSk7XG4gIH1cblxuICBnZXRGaXJzdCgpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZ2V0Jyk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24uZmlyc3QpXG4gICAgKTtcbiAgfVxuXG4gIGhhc0luQ2FjaGUoaWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0Q2FjaGUoKT8uZmluZEJ5KCdpZCcsIGlkKTtcbiAgfVxuXG4gIGdldEFycmF5KCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUobWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24udG9BcnJheSgpKSk7XG4gIH1cblxuICBnZXRBcnJheUJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeShwYXRoLCB2YWx1ZXMpLnBpcGUobWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24udG9BcnJheSgpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1vZGVsIGluc3RhbmNlIGluIGRhdGFiYXNlXG4gICAqL1xuICBwb3N0KG1vZGVsOiBNb2RlbCwgcGF0aDogc3RyaW5nID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncG9zdCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHBhdGgsIGNsYXNzVG9QbGFpbihtb2RlbCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShyZXNwb25zZSk7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzdWx0XSwgJ3Bvc3QnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbXVsdGlwbGUgbmV3IE1vZGVsIGluc3RhbmNlcyBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcG9zdEJhdGNoKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3Bvc3RCYXRjaCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpVXJsLCBjbGFzc1RvUGxhaW4obW9kZWxzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3VsdCwgJ3Bvc3QnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgYW4gZXhpc3RpbmcgTW9kZWwgaW5zdGFuY2UgaW4gZGF0YWJhc2VcbiAgICovXG4gIHB1dChtb2RlbDogTW9kZWwsIHBhdGggPSBgJHt0aGlzLmFwaVVybH0vJHttb2RlbC5pZH1gKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3B1dCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQocGF0aCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXN1bHRdLCAncHV0Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIG11bHRpcGxlIGV4aXN0aW5nIE1vZGVsIGluc3RhbmNlcyBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcHV0QmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncHV0QmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuYXBpVXJsLCBjbGFzc1RvUGxhaW4obW9kZWxzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3VsdCwgJ3B1dCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIE1vZGVsIGluc3RhbmNlIGZyb20gZGF0YWJhc2VcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogTW9kZWwpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdkZWxldGUnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYXBpVXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFttb2RlbF0sICdkZWxldGUnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBNb2RlbCBpbnN0YW5jZXMgZnJvbSBkYXRhYmFzZVxuICAgKi9cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZGVsZXRlQmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vZGVsZXRlYCwgY2xhc3NUb1BsYWluKG1vZGVscykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKG1vZGVscywgJ2RlbGV0ZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJlc3BvbnNlIGRhdGEgLSB1cGRhdGUgY2FjaGUgYW5kIGRpc3BhdGNoIGV2ZW50IGlmIGl0IGlzIG5lZWRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QpIHtcbiAgICBpZiAodGhpcy5nZXRDYWNoZSgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKHJlc3BvbnNlLCBtZXRob2QpO1xuICAgIH1cblxuICAgIC8vIGRpc3BhdGNoIGV2ZW50IGZvciBpbnRlcmVzdGVkIHNlcnZpY2VzXG4gICAgaWYgKHJlc3BvbnNlWzBdIGluc3RhbmNlb2YgT2JzZXJ2YWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobWV0aG9kLCByZXNwb25zZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aXRoIHBhc3NlZCBpdGVtcy4gQWRkL1VwZGF0ZSBkZXRlY3RzIGF1dG9tYXRpY2FsbHksIERlbGV0ZSB2aWEgb3B0aW9uYWwgZmxhZ1xuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZUNhY2hlKGl0ZW1zOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QpOiB2b2lkIHtcbiAgICBsZXQgY2FjaGU6IENvbGxlY3Rpb25Nb2RlbDtcblxuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgICAgY2FjaGUgPSB0aGlzLmNhY2hlLnB1c2goLi4uaXRlbXMpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncHV0JzpcbiAgICAgICAgLy8gQFRPRE8gQWxleCBvbGQgaW5zdGFuY2VcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogTW9kZWwpID0+IHtcbiAgICAgICAgICBjYWNoZSA9IHRoaXMuY2FjaGUucmVwbGFjZUJ5KCdpZCcsIGl0ZW0uaWQsIGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgIGNhY2hlID0gdGhpcy5jYWNoZS5yZW1vdmVCeSgnaWQnLCBpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgICBjYWNoZSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbkluc3RhbmNlKHRoaXMuY29sbGVjdGlvbkNsYXNzLCBpdGVtcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZS50b0FycmF5KCksIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGFuZCBkaXNwYXRjaCByZXN0IGV2ZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgZGlzcGF0Y2hFdmVudChtZXRob2Q6IEh0dHBNZXRob2QsIGl0ZW1zOiBNb2RlbFtdKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnROYW1lOiBzdHJpbmcgPSAodGhpcy5tb2RlbENsYXNzIGFzIHR5cGVvZiBPYnNlcnZhYmxlTW9kZWwpLmdldEV2ZW50TmFtZShtZXRob2QpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaDIobmV3IEFwcEV2ZW50MihldmVudE5hbWUsIGl0ZW1zKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbWV0aG9kIGlzIG5vdCBkaXNhYmxlZC4gVGhyb3cgZXhjZXB0aW9uIG90aGVyd2lzZS5cbiAgICogU29tZSBlbnRpdGllcyBkb2VzIG5vdCBoYXZlIGVuZHBvaW50cyBmb3IgYWxsIG1ldGhvZHMuXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUFjY2Vzc0Vycm9yKG1ldGhvZDogUmVzdE1ldGhvZCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZE1ldGhvZHMuaW5jbHVkZXMobWV0aG9kKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kICR7bWV0aG9kfSgpIGlzIG5vdCBhbGxvd2VkIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gaHR0cCBldmVudHMgYW5kIHJ1biBjYWxsYmFjay5cbiAgICogQ1NFIC0gQ2xlaW50IFNlbnQgRXZlbnRzXG4gICAqIEBwYXJhbSBtb2RlbENsYXNzXG4gICAqIEBwYXJhbSBtZXRob2RzIFRoZSBsaXN0IG9mIGh0dHAgbWV0aG9kcyBzaG91bGQgYmUgbGlzdGVuZWQgZm9yXG4gICAqIEBwYXJhbSBjYWxsYmFjayBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gZXZlbnQgdHJpZ2dlcmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlzdGVuQ1NFKG1vZGVsQ2xhc3M6IHR5cGVvZiBPYnNlcnZhYmxlTW9kZWwsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbWV0aG9kczogSHR0cE1ldGhvZFtdID0gWydwb3N0JywgJ3B1dCcsICdkZWxldGUnXSk6IHZvaWQge1xuICAgIGNhbGxiYWNrID0gY2FsbGJhY2suYmluZCh0aGlzKTtcblxuICAgIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kOiBIdHRwTWV0aG9kKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKG1vZGVsQ2xhc3MuZ2V0RXZlbnROYW1lKG1ldGhvZCkpLnN1YnNjcmliZSgoZGF0YTogT2JzZXJ2YWJsZU1vZGVsW10pID0+IHtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIHVzZXIgaGFzIHN1YnNjcmlwdGlvbiByb2xlIHRvIGFjY2VzcyBhcGlcbiAgICovXG4gIGhhc1JvbGVzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5yb2xlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiAhIWludGVyc2VjdGlvbihKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyb2xlcycpKSwgdGhpcy5yb2xlcykubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBmb3IgU2VydmVyLVNlbnQgRXZlbnRzIChTU0UpIG9uIHRoZSBzcGVjaWZpZWQgTWVyY3VyZSB0b3BpY1xuICAgKi9cbiAgbGlzdGVuU1NFKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tZXJjdXJlVG9waWMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNzZVNlcnZpY2Uub24odGhpcy5tZXJjdXJlVG9waWMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgbGV0IG1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgbGV0IG1ldGhvZDogSHR0cE1ldGhvZDtcbiAgICAgICAgaWYgKG1vZGVsLmlkKSB7XG4gICAgICAgICAgbWV0aG9kID0gdGhpcy5oYXNJbkNhY2hlKG1vZGVsLmlkKSA/ICdwdXQnIDogJ3Bvc3QnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1ldGhvZCA9ICdkZWxldGUnO1xuICAgICAgICAgIC8vIHdlIGdvdCBlbXB0eSBib2R5IHdoZW4gaXRlbSBkZWxldGVkLCBzbyB3ZSBzaG91bGQgZ2V0IGlkIGZyb20gQXBpIFBsYXRmb3JtIGRhdGEgKEBpZClcbiAgICAgICAgICBtb2RlbCA9IG1lcmdlKG1vZGVsLCB7IGlkOiArbGFzdChtb2RlbFsnQGlkJ10uc3BsaXQoJy8nKSkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBtZXRob2QsIG1vZGVsIH07XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2NoYW5nZS5tb2RlbF0sIGNoYW5nZS5tZXRob2QpXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -10,8 +10,10 @@ export class YoutubeService {
10
10
  this.http = http;
11
11
  this.environment = environment;
12
12
  }
13
- getTutorials() {
14
- return this.http.get(`${YoutubeService.googleUrl}&playlistId=${this.environment.tutorialPlaylistId}&key=${this.environment.googleAPIKey}&maxResults=${YoutubeService.maxResults}`)
13
+ getTutorials(user) {
14
+ const playlistId = user.isClient() ? this.environment.playlistId
15
+ : user.isAdvisor() ? this.environment.advisorPlaylistId : this.environment.accountantPlaylistId;
16
+ return this.http.get(`${YoutubeService.googleUrl}&playlistId=${playlistId}&key=${this.environment.googleAPIKey}&maxResults=${YoutubeService.maxResults}`)
15
17
  .pipe(map((response) => response.items.map((item) => ({
16
18
  id: item.snippet.resourceId.videoId,
17
19
  title: item.snippet.title
@@ -29,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
31
  type: Inject,
30
32
  args: ['environment']
31
33
  }] }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAveW91dHViZS95b3V0dWJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckMsZ0RBQWdEO0FBSWhELE1BQU0sT0FBTyxjQUFjO2FBQ2xCLGNBQVMsR0FBRyxrRUFBa0UsQ0FBQzthQUMvRSxlQUFVLEdBQUcsRUFBRSxDQUFDO0lBRXZCLFlBQW9CLElBQWdCLEVBQW1DLFdBQWdCO1FBQW5FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUMsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFBRyxDQUFDO0lBRTNGLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLFNBQVMsZUFBZSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxlQUFlLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUMvSyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTztZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1NBQUUsQ0FDNUIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUNMLENBQUM7K0dBZFUsY0FBYyw0Q0FJcUIsYUFBYTttSEFKaEQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLd0MsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgWW91dHViZVZpZGVvSW50ZXJmYWNlIH0gZnJvbSAnLi95b3V0dWJlLXZpZGVvLmludGVyZmFjZSc7XG5cbi8vIEBUT0RPIEFydGVtOiBpbXBsZW1lbnQgY2FjaGUgYW5kIGV4dGVuZCByZXN0P1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgWW91dHViZVNlcnZpY2Uge1xuICBzdGF0aWMgZ29vZ2xlVXJsID0gYGh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3lvdXR1YmUvdjMvcGxheWxpc3RJdGVtcz9wYXJ0PXNuaXBwZXRgO1xuICBzdGF0aWMgbWF4UmVzdWx0cyA9IDUwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSkge31cblxuICBnZXRUdXRvcmlhbHMoKTogT2JzZXJ2YWJsZTxZb3V0dWJlVmlkZW9JbnRlcmZhY2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke1lvdXR1YmVTZXJ2aWNlLmdvb2dsZVVybH0mcGxheWxpc3RJZD0ke3RoaXMuZW52aXJvbm1lbnQudHV0b3JpYWxQbGF5bGlzdElkfSZrZXk9JHt0aGlzLmVudmlyb25tZW50Lmdvb2dsZUFQSUtleX0mbWF4UmVzdWx0cz0ke1lvdXR1YmVTZXJ2aWNlLm1heFJlc3VsdHN9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICBpZDogaXRlbS5zbmlwcGV0LnJlc291cmNlSWQudmlkZW9JZCxcbiAgICAgICAgICB0aXRsZTogaXRlbS5zbmlwcGV0LnRpdGxlIH1cbiAgICAgICAgKSkpXG4gICAgICApXG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAveW91dHViZS95b3V0dWJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJckMsZ0RBQWdEO0FBSWhELE1BQU0sT0FBTyxjQUFjO2FBQ2xCLGNBQVMsR0FBRyxrRUFBa0UsQ0FBQzthQUMvRSxlQUFVLEdBQUcsRUFBRSxDQUFDO0lBRXZCLFlBQW9CLElBQWdCLEVBQW1DLFdBQWdCO1FBQW5FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUMsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFBRyxDQUFDO0lBRTNGLFlBQVksQ0FBQyxJQUFVO1FBQ3JCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzlELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7UUFFbEcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxTQUFTLGVBQWUsVUFBVSxRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxlQUFlLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN0SixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTztZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1NBQUUsQ0FDNUIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUNMLENBQUM7K0dBakJVLGNBQWMsNENBSXFCLGFBQWE7bUhBSmhELGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS3dDLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFlvdXR1YmVWaWRlb0ludGVyZmFjZSB9IGZyb20gJy4veW91dHViZS12aWRlby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy91c2VyJztcblxuLy8gQFRPRE8gQXJ0ZW06IGltcGxlbWVudCBjYWNoZSBhbmQgZXh0ZW5kIHJlc3Q/XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBZb3V0dWJlU2VydmljZSB7XG4gIHN0YXRpYyBnb29nbGVVcmwgPSBgaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20veW91dHViZS92My9wbGF5bGlzdEl0ZW1zP3BhcnQ9c25pcHBldGA7XG4gIHN0YXRpYyBtYXhSZXN1bHRzID0gNTA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7fVxuXG4gIGdldFR1dG9yaWFscyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTxZb3V0dWJlVmlkZW9JbnRlcmZhY2VbXT4ge1xuICAgIGNvbnN0IHBsYXlsaXN0SWQgPSB1c2VyLmlzQ2xpZW50KCkgPyB0aGlzLmVudmlyb25tZW50LnBsYXlsaXN0SWRcbiAgICAgIDogdXNlci5pc0Fkdmlzb3IoKSA/IHRoaXMuZW52aXJvbm1lbnQuYWR2aXNvclBsYXlsaXN0SWQgOiB0aGlzLmVudmlyb25tZW50LmFjY291bnRhbnRQbGF5bGlzdElkO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7WW91dHViZVNlcnZpY2UuZ29vZ2xlVXJsfSZwbGF5bGlzdElkPSR7cGxheWxpc3RJZH0ma2V5PSR7dGhpcy5lbnZpcm9ubWVudC5nb29nbGVBUElLZXl9Jm1heFJlc3VsdHM9JHtZb3V0dWJlU2VydmljZS5tYXhSZXN1bHRzfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZS5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgaWQ6IGl0ZW0uc25pcHBldC5yZXNvdXJjZUlkLnZpZGVvSWQsXG4gICAgICAgICAgdGl0bGU6IGl0ZW0uc25pcHBldC50aXRsZSB9XG4gICAgICAgICkpKVxuICAgICAgKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Custom validator that applies another validator to all controls in a FormGroup
3
+ */
4
+ export function groupValidator(validatorFn) {
5
+ return (control) => {
6
+ const keys = Object.keys(control.controls);
7
+ const errors = keys.map(key => validatorFn(control.get(key))).filter(Boolean);
8
+ return errors.length === keys.length ? errors[0] : null;
9
+ };
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvZ3JvdXAudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxXQUF3QjtJQUNyRCxPQUFPLENBQUMsT0FBa0IsRUFBMkIsRUFBRTtRQUNyRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ3VzdG9tIHZhbGlkYXRvciB0aGF0IGFwcGxpZXMgYW5vdGhlciB2YWxpZGF0b3IgdG8gYWxsIGNvbnRyb2xzIGluIGEgRm9ybUdyb3VwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncm91cFZhbGlkYXRvcih2YWxpZGF0b3JGbjogVmFsaWRhdG9yRm4pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKTtcbiAgICBjb25zdCBlcnJvcnMgPSBrZXlzLm1hcChrZXkgPT4gdmFsaWRhdG9yRm4oY29udHJvbC5nZXQoa2V5KSkpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIHJldHVybiBlcnJvcnMubGVuZ3RoID09PSBrZXlzLmxlbmd0aCA/IGVycm9yc1swXSA6IG51bGw7XG4gIH1cbn1cbiJdfQ==