@eqproject/eqp-dynamic-module 0.0.12 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/esm2020/eqproject-eqp-dynamic-module.mjs +5 -0
  2. package/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +249 -0
  3. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +659 -0
  4. package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +585 -0
  5. package/esm2020/lib/components/private/dynamic-module-field/dynamic-module-field.component.mjs +130 -0
  6. package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +127 -0
  7. package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +163 -0
  8. package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +57 -0
  9. package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +67 -0
  10. package/esm2020/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +188 -0
  11. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +117 -0
  12. package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +70 -0
  13. package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +65 -0
  14. package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +49 -0
  15. package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +126 -0
  16. package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +212 -0
  17. package/esm2020/lib/components/private/spinner/spinner.component.mjs +19 -0
  18. package/esm2020/lib/eqp-dynamic-module.module.mjs +110 -0
  19. package/esm2020/lib/interfaces/iBaseFieldComponent.interface.mjs +2 -0
  20. package/esm2020/lib/interfaces/iRootObject.interface.mjs +2 -0
  21. package/esm2020/lib/models/baseField.model.mjs +36 -0
  22. package/esm2020/lib/models/baseObj.model.mjs +9 -0
  23. package/esm2020/lib/models/context.model.mjs +8 -0
  24. package/esm2020/lib/models/endPointConfiguration.model.mjs +23 -0
  25. package/esm2020/lib/models/entity.model.mjs +7 -0
  26. package/esm2020/lib/models/fields/attachmentField.model.mjs +22 -0
  27. package/esm2020/lib/models/fields/booleanField.model.mjs +12 -0
  28. package/esm2020/lib/models/fields/dateField.model.mjs +11 -0
  29. package/esm2020/lib/models/fields/imageField.model.mjs +8 -0
  30. package/esm2020/lib/models/fields/listValueField.model.mjs +14 -0
  31. package/esm2020/lib/models/fields/lookupField.model.mjs +5 -0
  32. package/esm2020/lib/models/fields/numericField.model.mjs +5 -0
  33. package/esm2020/lib/models/fields/textField.model.mjs +14 -0
  34. package/esm2020/lib/models/fields/textareaField.model.mjs +4 -0
  35. package/esm2020/lib/models/form.model.mjs +24 -0
  36. package/esm2020/lib/models/record.model.mjs +8 -0
  37. package/esm2020/lib/modules/material.module.mjs +231 -0
  38. package/esm2020/lib/services/custom-form-validators.service.mjs +19 -0
  39. package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +112 -0
  40. package/esm2020/lib/services/spinner.service.mjs +43 -0
  41. package/esm2020/lib/services/utilityHelper.services.mjs +379 -0
  42. package/esm2020/public-api.mjs +41 -0
  43. package/fesm2015/eqproject-eqp-dynamic-module.mjs +3783 -0
  44. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -0
  45. package/fesm2020/eqproject-eqp-dynamic-module.mjs +3779 -0
  46. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -0
  47. package/index.d.ts +5 -0
  48. package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +3 -0
  49. package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +12 -4
  50. package/lib/components/private/add-form-field/add-form-field.component.d.ts +8 -3
  51. package/lib/components/private/dynamic-module-field/dynamic-module-field.component.d.ts +3 -0
  52. package/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.d.ts +58 -0
  53. package/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.d.ts +5 -2
  54. package/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.d.ts +3 -0
  55. package/lib/components/private/field-templates/date-field-template/date-field-template.component.d.ts +3 -0
  56. package/lib/components/private/field-templates/image-field-template/image-field-template.component.d.ts +5 -2
  57. package/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.d.ts +3 -0
  58. package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +3 -0
  59. package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +4 -1
  60. package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +3 -0
  61. package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +7 -4
  62. package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +3 -0
  63. package/lib/components/private/spinner/spinner.component.d.ts +3 -0
  64. package/lib/eqp-dynamic-module.module.d.ts +30 -0
  65. package/lib/models/baseField.model.d.ts +2 -2
  66. package/lib/modules/material.module.d.ts +35 -0
  67. package/lib/services/eqp-dynamic-module-dialog.service.d.ts +3 -0
  68. package/lib/services/spinner.service.d.ts +3 -0
  69. package/lib/services/utilityHelper.services.d.ts +6 -3
  70. package/package.json +37 -26
  71. package/bundles/eqproject-eqp-dynamic-module.umd.js +0 -3997
  72. package/bundles/eqproject-eqp-dynamic-module.umd.js.map +0 -1
  73. package/bundles/eqproject-eqp-dynamic-module.umd.min.js +0 -17
  74. package/bundles/eqproject-eqp-dynamic-module.umd.min.js.map +0 -1
  75. package/eqproject-eqp-dynamic-module.d.ts +0 -6
  76. package/eqproject-eqp-dynamic-module.metadata.json +0 -1
  77. package/esm2015/eqproject-eqp-dynamic-module.js +0 -7
  78. package/esm2015/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.js +0 -265
  79. package/esm2015/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.js +0 -652
  80. package/esm2015/lib/components/private/add-form-field/add-form-field.component.js +0 -577
  81. package/esm2015/lib/components/private/dynamic-module-field/dynamic-module-field.component.js +0 -127
  82. package/esm2015/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.js +0 -170
  83. package/esm2015/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.js +0 -56
  84. package/esm2015/lib/components/private/field-templates/date-field-template/date-field-template.component.js +0 -71
  85. package/esm2015/lib/components/private/field-templates/image-field-template/image-field-template.component.js +0 -196
  86. package/esm2015/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.js +0 -115
  87. package/esm2015/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.js +0 -71
  88. package/esm2015/lib/components/private/field-templates/text-field-template/text-field-template.component.js +0 -67
  89. package/esm2015/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.js +0 -51
  90. package/esm2015/lib/components/private/form-records/add-form-record/add-form-record.component.js +0 -130
  91. package/esm2015/lib/components/private/form-records/list-form-record/list-form-record.component.js +0 -216
  92. package/esm2015/lib/components/private/spinner/spinner.component.js +0 -23
  93. package/esm2015/lib/eqp-dynamic-module.module.js +0 -69
  94. package/esm2015/lib/interfaces/iBaseFieldComponent.interface.js +0 -1
  95. package/esm2015/lib/interfaces/iRootObject.interface.js +0 -1
  96. package/esm2015/lib/models/baseField.model.js +0 -36
  97. package/esm2015/lib/models/baseObj.model.js +0 -9
  98. package/esm2015/lib/models/context.model.js +0 -8
  99. package/esm2015/lib/models/endPointConfiguration.model.js +0 -23
  100. package/esm2015/lib/models/entity.model.js +0 -7
  101. package/esm2015/lib/models/fields/attachmentField.model.js +0 -22
  102. package/esm2015/lib/models/fields/booleanField.model.js +0 -12
  103. package/esm2015/lib/models/fields/dateField.model.js +0 -11
  104. package/esm2015/lib/models/fields/imageField.model.js +0 -8
  105. package/esm2015/lib/models/fields/listValueField.model.js +0 -14
  106. package/esm2015/lib/models/fields/lookupField.model.js +0 -5
  107. package/esm2015/lib/models/fields/numericField.model.js +0 -5
  108. package/esm2015/lib/models/fields/textField.model.js +0 -14
  109. package/esm2015/lib/models/fields/textareaField.model.js +0 -4
  110. package/esm2015/lib/models/form.model.js +0 -24
  111. package/esm2015/lib/models/record.model.js +0 -8
  112. package/esm2015/lib/modules/material.module.js +0 -108
  113. package/esm2015/lib/services/custom-form-validators.service.js +0 -19
  114. package/esm2015/lib/services/eqp-dynamic-module-dialog.service.js +0 -113
  115. package/esm2015/lib/services/spinner.service.js +0 -43
  116. package/esm2015/lib/services/utilityHelper.services.js +0 -387
  117. package/esm2015/public-api.js +0 -39
  118. package/esm5/eqproject-eqp-dynamic-module.js +0 -7
  119. package/esm5/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.js +0 -272
  120. package/esm5/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.js +0 -667
  121. package/esm5/lib/components/private/add-form-field/add-form-field.component.js +0 -588
  122. package/esm5/lib/components/private/dynamic-module-field/dynamic-module-field.component.js +0 -128
  123. package/esm5/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.js +0 -173
  124. package/esm5/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.js +0 -57
  125. package/esm5/lib/components/private/field-templates/date-field-template/date-field-template.component.js +0 -72
  126. package/esm5/lib/components/private/field-templates/image-field-template/image-field-template.component.js +0 -206
  127. package/esm5/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.js +0 -119
  128. package/esm5/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.js +0 -72
  129. package/esm5/lib/components/private/field-templates/text-field-template/text-field-template.component.js +0 -68
  130. package/esm5/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.js +0 -52
  131. package/esm5/lib/components/private/form-records/add-form-record/add-form-record.component.js +0 -133
  132. package/esm5/lib/components/private/form-records/list-form-record/list-form-record.component.js +0 -220
  133. package/esm5/lib/components/private/spinner/spinner.component.js +0 -24
  134. package/esm5/lib/eqp-dynamic-module.module.js +0 -72
  135. package/esm5/lib/interfaces/iBaseFieldComponent.interface.js +0 -1
  136. package/esm5/lib/interfaces/iRootObject.interface.js +0 -1
  137. package/esm5/lib/models/baseField.model.js +0 -43
  138. package/esm5/lib/models/baseObj.model.js +0 -13
  139. package/esm5/lib/models/context.model.js +0 -14
  140. package/esm5/lib/models/endPointConfiguration.model.js +0 -33
  141. package/esm5/lib/models/entity.model.js +0 -14
  142. package/esm5/lib/models/fields/attachmentField.model.js +0 -29
  143. package/esm5/lib/models/fields/booleanField.model.js +0 -19
  144. package/esm5/lib/models/fields/dateField.model.js +0 -18
  145. package/esm5/lib/models/fields/imageField.model.js +0 -19
  146. package/esm5/lib/models/fields/listValueField.model.js +0 -25
  147. package/esm5/lib/models/fields/lookupField.model.js +0 -12
  148. package/esm5/lib/models/fields/numericField.model.js +0 -12
  149. package/esm5/lib/models/fields/textField.model.js +0 -21
  150. package/esm5/lib/models/fields/textareaField.model.js +0 -11
  151. package/esm5/lib/models/form.model.js +0 -39
  152. package/esm5/lib/models/record.model.js +0 -14
  153. package/esm5/lib/modules/material.module.js +0 -111
  154. package/esm5/lib/services/custom-form-validators.service.js +0 -23
  155. package/esm5/lib/services/eqp-dynamic-module-dialog.service.js +0 -123
  156. package/esm5/lib/services/spinner.service.js +0 -46
  157. package/esm5/lib/services/utilityHelper.services.js +0 -396
  158. package/esm5/public-api.js +0 -39
  159. package/fesm2015/eqproject-eqp-dynamic-module.js +0 -3586
  160. package/fesm2015/eqproject-eqp-dynamic-module.js.map +0 -1
  161. package/fesm5/eqproject-eqp-dynamic-module.js +0 -3772
  162. package/fesm5/eqproject-eqp-dynamic-module.js.map +0 -1
@@ -0,0 +1,585 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { UntypedFormControl, Validators } from '@angular/forms';
3
+ import { AttachmentType } from '@eqproject/eqp-attachments';
4
+ import { PickerModeEnum } from '@eqproject/eqp-datetimepicker';
5
+ import { CellAlignmentEnum, TypeColumn } from '@eqproject/eqp-table';
6
+ import { BaseField, ColSpanSizesEnum, FieldTypeEnum } from '../../../models/baseField.model';
7
+ import { AttachmentField, AvailableFileExtensions, AvailableImageExtensions } from '../../../models/fields/attachmentField.model';
8
+ import { BoolPresentantioEnum } from '../../../models/fields/booleanField.model';
9
+ import { DateTimeTypeEnum } from '../../../models/fields/dateField.model';
10
+ import { ListPresentationEnum } from '../../../models/fields/listValueField.model';
11
+ import { TextMaskEnum } from '../../../models/fields/textField.model';
12
+ import { EqpDynamicModuleDialogService } from '../../../services/eqp-dynamic-module-dialog.service';
13
+ import { UtilityHelperService } from '../../../services/utilityHelper.services';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/forms";
16
+ import * as i2 from "@eqproject/eqp-select";
17
+ import * as i3 from "@angular/material/dialog";
18
+ import * as i4 from "@angular/material/button";
19
+ import * as i5 from "@angular/material/form-field";
20
+ import * as i6 from "@angular/material/input";
21
+ import * as i7 from "@angular/material/autocomplete";
22
+ import * as i8 from "@angular/material/core";
23
+ import * as i9 from "@angular/material/slide-toggle";
24
+ import * as i10 from "@angular/material/icon";
25
+ import * as i11 from "@angular/material/tooltip";
26
+ import * as i12 from "@angular/common";
27
+ import * as i13 from "@eqproject/eqp-table";
28
+ import * as i14 from "@eqproject/eqp-attachments";
29
+ import * as i15 from "@eqproject/eqp-datetimepicker";
30
+ export class AddFormFieldComponent {
31
+ //#endregion
32
+ constructor(formBuilder, enumHelper, dialog, cdr) {
33
+ this.formBuilder = formBuilder;
34
+ this.enumHelper = enumHelper;
35
+ this.dialog = dialog;
36
+ this.cdr = cdr;
37
+ this.fieldTypesToExclude = [FieldTypeEnum['Form di dettaglio']];
38
+ this.keyValueObject = { key: '', value: '' };
39
+ this.availableColSpanSizes = [];
40
+ this.AvailableFileExtensions = AvailableFileExtensions;
41
+ this.AvailableImageExtensions = AvailableImageExtensions;
42
+ this.saveFieldEvent = new EventEmitter();
43
+ //#endregion
44
+ //#region Enumeratori usati nell'html
45
+ this.FieldTypeEnum = FieldTypeEnum;
46
+ this.BoolPresentantioEnum = BoolPresentantioEnum;
47
+ this.DateTimeTypeEnum = DateTimeTypeEnum;
48
+ this.ListPresentationEnum = ListPresentationEnum;
49
+ this.TextMaskEnum = TextMaskEnum;
50
+ this.AttachmentType = AttachmentType;
51
+ this.pickerModeEnum = PickerModeEnum;
52
+ }
53
+ ngOnInit() {
54
+ if (!this.fieldTypesToExclude.includes(FieldTypeEnum['Form di dettaglio'])) {
55
+ this.fieldTypesToExclude.push(FieldTypeEnum['Form di dettaglio']);
56
+ }
57
+ this.onFieldTypeChange(false);
58
+ this.availableFields = this.availableFields ? this.availableFields.filter(f => f != this.field) : [];
59
+ this.configureColumns();
60
+ }
61
+ /**
62
+ * Metodo per impostare i valori da suggerire nell'autocomplete del campo Formula.
63
+ * Viene scatenato al focus (in questo caso viene passato il parametro a null per differenziarlo
64
+ * dall'evento di click sulla tastiera) e al keyup sull'input (il parametro è diverso da null).
65
+ * @param keyboardEvent Evento scatenato al keyup sulla tastiera. Se null allora il metodo è stato invocato dal focus sull'input.
66
+ * @summary Aggiorna l'elenco dei suggerimenti per l'autocomplete se l'utente esegue il focus sull'input
67
+ * oppure al keyup sulla tastiera di un tasto diverso dalle frecce.
68
+ */
69
+ setFormulaAutocompleteOptions(keyboardEvent) {
70
+ // Creo l'array per l'autocomplete solo se sto facendo il focus sull'input o se sto premendo un tasto
71
+ // sulla tastiera diverso dalle frecce (in quest'ultimo caso, se non viene eseguito il filtro sull'evento,
72
+ // non si può selezionare un suggerimento dell'autocomplete perchè al click verrebbe ricaricato l'array e
73
+ // si prederebbe la selezione appena fatta).
74
+ if (!keyboardEvent || !keyboardEvent.code.includes("Arrow")) {
75
+ this.formulaAutocompleteOptions = UtilityHelperService.GetAutocompleteOptions(this.availableFields, this.field.Formula);
76
+ }
77
+ }
78
+ /**
79
+ * Crea il FormGroup per l'aggiunta di un nuovo campo all'interno della form.
80
+ * Metodo richiamato ogni volta che cambia il tipo del campo scelto o viene aggiunto/modificato un Field
81
+ */
82
+ createFieldForm() {
83
+ this.fieldFormGroup = this.formBuilder.group({
84
+ Label: [this.field.Label, Validators.required],
85
+ Description: [this.field.Description],
86
+ Required: [this.field.Required],
87
+ FieldType: [this.field.FieldType, Validators.required],
88
+ Formula: [this.field.Formula],
89
+ ColSpanSizes: [this.field.ColSpanSizes],
90
+ InListView: [this.field.InListView],
91
+ });
92
+ if (this.formFieldsGroups) {
93
+ this.fieldFormGroup.addControl('FieldGroup', new UntypedFormControl(this.field.FieldGroup, Validators.required));
94
+ }
95
+ }
96
+ /**
97
+ * Metodo chiamato quando cambia il FieldType del BaseField che si sta aggiungendo/modificando.
98
+ * Ricrea l'oggetto field popolando solo le proprietà del BaseField inserite dall'utente
99
+ * (quelle comuni a tutte le tipologie di campo), ricrea la form e, in base al FieldType scelto,
100
+ * aggiunge alla form i FormControl necessari e seleziona il template corretto da usare.
101
+ * @param restoreField Se TRUE ripristina i valori base (ereditati dal modello BaseField) del campo aggiunto/modificato
102
+ */
103
+ onFieldTypeChange(restoreField = true) {
104
+ if (restoreField) {
105
+ this.restoreBaseFieldProperties();
106
+ }
107
+ this.createFieldForm();
108
+ this.onColSpanSizeSelect();
109
+ this.fieldTypeFormTemplate = null;
110
+ switch (this.field.FieldType) {
111
+ case FieldTypeEnum['Campo di testo']:
112
+ this.fieldFormGroup.addControl('TextMask', new UntypedFormControl(this.field.TextMask));
113
+ this.fieldFormGroup.addControl('MaxLenght', new UntypedFormControl(this.field.MaxLenght));
114
+ this.fieldFormGroup.addControl('MinLenght', new UntypedFormControl(this.field.MinLenght));
115
+ this.fieldTypeFormTemplate = this.textFieldFormTemplate;
116
+ break;
117
+ case FieldTypeEnum['Area di testo']:
118
+ this.fieldFormGroup.addControl('Rows', new UntypedFormControl(this.field.Rows));
119
+ this.fieldFormGroup.addControl('MaxLenght', new UntypedFormControl(this.field.MaxLenght));
120
+ this.fieldFormGroup.addControl('MinLenght', new UntypedFormControl(this.field.MinLenght));
121
+ this.fieldTypeFormTemplate = this.textareaFieldFormTemplate;
122
+ break;
123
+ case FieldTypeEnum.Booleano:
124
+ this.fieldFormGroup.addControl('IsTristate', new UntypedFormControl(this.field.IsTristate));
125
+ this.fieldFormGroup.addControl('PresetationType', new UntypedFormControl(this.field.PresetationType, Validators.required));
126
+ this.fieldTypeFormTemplate = this.booleadFieldFormTemplate;
127
+ break;
128
+ case FieldTypeEnum['Data e/o ora']:
129
+ if (this.field.IsOnlyDate == null) {
130
+ this.field.IsOnlyDate = DateTimeTypeEnum['Solo data'];
131
+ }
132
+ this.fieldFormGroup.addControl('IsOnlyDate', new UntypedFormControl(this.field.IsOnlyDate, Validators.required));
133
+ this.fieldFormGroup.addControl('MinDate', new UntypedFormControl(this.field.MinDate));
134
+ this.fieldFormGroup.addControl('MaxDate', new UntypedFormControl(this.field.MaxDate));
135
+ this.fieldFormGroup.addControl('DateFormat', new UntypedFormControl(this.field.DateFormat));
136
+ this.fieldTypeFormTemplate = this.dateFieldFormTemplate;
137
+ break;
138
+ case FieldTypeEnum['Campo numerico']:
139
+ if (this.field.IsInteger == null) {
140
+ this.field.IsInteger = true;
141
+ }
142
+ this.fieldFormGroup.addControl('IsInteger', new UntypedFormControl(this.field.IsInteger));
143
+ this.fieldFormGroup.addControl('MinValue', new UntypedFormControl(this.field.MinValue));
144
+ this.fieldFormGroup.addControl('MaxValue', new UntypedFormControl(this.field.MaxValue));
145
+ this.fieldFormGroup.addControl('DecimalSeparator', new UntypedFormControl(this.field.DecimalSeparator));
146
+ this.fieldFormGroup.addControl('DecimalPrecision', new UntypedFormControl(this.field.DecimalPrecision));
147
+ this.fieldFormGroup.addControl('ThousandsSeparator', new UntypedFormControl(this.field.ThousandsSeparator));
148
+ this.fieldFormGroup.addControl('CurrencySymbol', new UntypedFormControl(this.field.CurrencySymbol));
149
+ this.fieldTypeFormTemplate = this.numericFieldFormTemplate;
150
+ break;
151
+ case FieldTypeEnum.Allegato:
152
+ this.fieldFormGroup.addControl("AllowedExtensions", new UntypedFormControl(this.field.AllowedExtensions));
153
+ this.fieldFormGroup.addControl('IsMultiAttach', new UntypedFormControl(this.field.IsMultiAttach));
154
+ this.fieldTypeFormTemplate = this.attachmentFieldFormTemplate;
155
+ break;
156
+ case FieldTypeEnum.Immagine:
157
+ this.field.AttachDefinition = new AttachmentField();
158
+ this.fieldFormGroup.addControl('EnableDrawing', new UntypedFormControl(this.field.EnableDrawing));
159
+ this.fieldFormGroup.addControl('ImageIsContextualAttachment', new UntypedFormControl(this.field.ImageIsContextualAttachment));
160
+ // Imposto i FormControl variabili.
161
+ this.onImageIsContextualAttachmentChange();
162
+ this.fieldTypeFormTemplate = this.imageFieldFormTemplate;
163
+ break;
164
+ case FieldTypeEnum['Elenco generico']:
165
+ this.fieldFormGroup.addControl('IsMultiChoiche', new UntypedFormControl(this.field.IsMultiChoiche));
166
+ this.fieldFormGroup.addControl('PresentationMode', new UntypedFormControl(this.field.PresentationMode, Validators.required));
167
+ this.fieldTypeFormTemplate = this.listValueFieldFormTemplate;
168
+ break;
169
+ case FieldTypeEnum.Lookup:
170
+ this.fieldFormGroup.addControl('EntitySourceName', new UntypedFormControl(this.field.EntitySourceName, Validators.required));
171
+ this.fieldFormGroup.addControl('UseAsGetOrDiscard', new UntypedFormControl(this.field.UseAsGetOrDiscard));
172
+ this.fieldTypeFormTemplate = this.lookupFieldFormTemplate;
173
+ break;
174
+ }
175
+ if ([FieldTypeEnum.Allegato, FieldTypeEnum.Immagine, FieldTypeEnum['Form di dettaglio']].includes(this.field.FieldType)) {
176
+ this.field.Formula = null;
177
+ this.fieldFormGroup.controls["Formula"].disable();
178
+ this.fieldFormGroup.controls["InListView"].disable();
179
+ }
180
+ else {
181
+ this.fieldFormGroup.controls["Formula"].enable();
182
+ this.fieldFormGroup.controls["InListView"].enable();
183
+ }
184
+ }
185
+ /**
186
+ * Metodo invocato al cambio del valore della proprietà ImageIsContextualAttachment nel caso
187
+ * di campi di tipo Immagine. Se TRUE allora rimuove i FormControl per le proprietà IsMultiAttach
188
+ * e AllowedExtensions e aggiunge i FormControl per le proprietà ImgName e ContextualAttachment,
189
+ * altrimenti il contrario.
190
+ */
191
+ onImageIsContextualAttachmentChange() {
192
+ this.field.ImgName = null;
193
+ this.field.AttachDefinition.AllowedExtensions = [];
194
+ this.field.AttachDefinition.IsMultiAttach = false;
195
+ this.field.ContextualAttachment = null;
196
+ if (this.field.ImageIsContextualAttachment) {
197
+ this.fieldFormGroup.removeControl("IsMultiAttach");
198
+ this.fieldFormGroup.removeControl("AllowedExtensions");
199
+ this.fieldFormGroup.addControl('ImgName', new UntypedFormControl(this.field.ImgName, Validators.required));
200
+ this.fieldFormGroup.addControl('ContextualAttachment', new UntypedFormControl(this.field.ContextualAttachment, Validators.required));
201
+ }
202
+ else {
203
+ this.fieldFormGroup.removeControl("ImgName");
204
+ this.fieldFormGroup.removeControl("ContextualAttachment");
205
+ this.fieldFormGroup.addControl('IsMultiAttach', new UntypedFormControl(this.field.AttachDefinition.IsMultiAttach));
206
+ this.fieldFormGroup.addControl("AllowedExtensions", new UntypedFormControl(this.field.AttachDefinition.AllowedExtensions));
207
+ }
208
+ }
209
+ /**
210
+ * Metodo per intercettare l'aggiunta di un allegato nei campi di tipo Immagine per aggiornare
211
+ * il valore della proprietà ContextualAttachment e la validazione del relativo FormControl.
212
+ * @param event Array contenente l'elenco aggiornato degli allegati caricati (nel nostro caso ne contiene al più 1).
213
+ */
214
+ catchContextualAttachmentChange(event) {
215
+ if (event && event.length > 0) {
216
+ this.field.ContextualAttachment = event[0];
217
+ }
218
+ else {
219
+ this.field.ContextualAttachment = null;
220
+ }
221
+ this.fieldFormGroup.controls['ContextualAttachment'].setValue(this.field.ContextualAttachment);
222
+ }
223
+ /**
224
+ * Metodo invocato alla selezione di una classe nella select per le colonne di bootstrap
225
+ * da usare nella visualizzazione del campo. Questa funzione manipola la sorgente dati per
226
+ * la eqp-select in modo da escludere i valori dell'enumeratore che fanno riferimento ad
227
+ * una larghezza di schermo già selezionata. Esempio: per gli schermi piccoli (sm) l'utente
228
+ * seleziona la classe "col-sm-6", al change del valore questo metodo rimuove dalla select
229
+ * tutti gli altri valori per la grandezza di schermo selezionata.
230
+ */
231
+ onColSpanSizeSelect() {
232
+ // Recupero l'array degli oggetti chiave-valore che rappreseta l'enumeratore
233
+ let colSizeClassEnumArray = this.enumHelper.getEnumArray(ColSpanSizesEnum, false, null);
234
+ // Costruisco l'array delle classi selezionate dall'utente in formato stringa
235
+ let selectedDimensions = this.field.ColSpanSizes ? this.field.ColSpanSizes.map(col => ColSpanSizesEnum[col]) : [];
236
+ // Filtro i valori ottenuti dall'enumeratore per escludere tutti i valori per le
237
+ // grandezze di schermo già selezionatead esclusione dei valori selezionati.
238
+ this.availableColSpanSizes = colSizeClassEnumArray.filter((value) => !selectedDimensions.find(col => value.value.includes(col.substring(4, 6)) && value.value != col));
239
+ }
240
+ /**
241
+ * Metodo invocato al cambio del tipo di visualizzazione scelta per i campi di tipo elenco generico.
242
+ * Se viene scelta la visualizzazione ad immagini svuota la lista delle coppie chiave-valore inserite
243
+ * in precedenza, altrimenti svuota la lista delle immagini caricate.
244
+ */
245
+ onPresentationModeChange() {
246
+ if (this.field.PresentationMode === ListPresentationEnum.Immagini) {
247
+ this.field.ValuePairs = null;
248
+ }
249
+ else {
250
+ this.field.ButtonImageList = null;
251
+ }
252
+ }
253
+ /**
254
+ * Metodo invocato quando viene caricato il componente eqp-attachments per caricare le immagini da usare
255
+ * nella visualizzazione ad immagini dei campi di tipo "Elenco generico". Aggiunge due colonne a quelle
256
+ * configurate nel componente in cui l'utente può indicare chiave e valore della scelta.
257
+ * @param component Istanza del componente eqp-attachments in cui effettuare la modifica.
258
+ */
259
+ configureButtonImagesColumns(component) {
260
+ component.attachmentsColumns.splice(component.attachmentsColumns.length - 1, 0, { key: "ButtonKey", display: "Label", type: TypeColumn.ExternalTemplate, externalTemplate: this.buttonImagesKeyValueInputColumn });
261
+ component.attachmentsColumns.splice(component.attachmentsColumns.length - 1, 0, { key: "ButtonValue", display: "Valore", type: TypeColumn.ExternalTemplate, externalTemplate: this.buttonImagesKeyValueInputColumn });
262
+ this.cdr.detectChanges();
263
+ }
264
+ /**
265
+ * Metodo invocato al salvataggio degli allegati quando viene configurato un campo di tipo "Elenco generico"
266
+ * con il tipo di visualizzazione ad immagini. Intercetta l'elenco aggiornato delle immagini caricate e lo
267
+ * memorizza nell'oggetto field corrente.
268
+ * @param attachments Array aggiornato degli allegati caricati.
269
+ */
270
+ catchButtonImagesChange(attachments) {
271
+ this.field.ButtonImageList = attachments;
272
+ }
273
+ /**
274
+ * Metodo chiamato al keyup degli input testuali che prevedono l'aggiunta del valore inserito in un array.
275
+ * Se l'utente preme il tasto invio, in base al tipo di campo che sta inserendo/modificando, questo metodo
276
+ * aggiunge il valore inserito dall'utente nella lista di stringhe corretta (in input viene passato il nome
277
+ * della proprietà in cui inserire la stringa).
278
+ * @param event Evento che rappresenta il keyup dell'utente
279
+ * @param propertyName Nome della proprietà del field in cui inserire la stringa digitata.
280
+ */
281
+ onMultiSelectInputKeyup(event, propertyName) {
282
+ if (event.code === 'Enter' || event.code === 'NumpadEnter') {
283
+ switch (this.field.FieldType) {
284
+ case FieldTypeEnum.Lookup:
285
+ case FieldTypeEnum.Allegato:
286
+ if (!this.field[propertyName]) {
287
+ this.field[propertyName] = new Array();
288
+ }
289
+ this.field[propertyName].push(event.currentTarget.value);
290
+ break;
291
+ case FieldTypeEnum.Immagine:
292
+ if (!this.field.AttachDefinition[propertyName]) {
293
+ this.field.AttachDefinition[propertyName] = new Array();
294
+ }
295
+ this.field.AttachDefinition[propertyName].push(event.currentTarget.value);
296
+ break;
297
+ case FieldTypeEnum['Elenco generico']:
298
+ if (!this.keyValueObject.key || !this.keyValueObject.value) {
299
+ return;
300
+ }
301
+ if (!this.field.ValuePairs) {
302
+ this.field.ValuePairs = {};
303
+ }
304
+ this.field.ValuePairs[this.keyValueObject.key] = this.keyValueObject.value;
305
+ this.keyValueObject = { key: '', value: '' };
306
+ break;
307
+ }
308
+ event.currentTarget.value = null;
309
+ }
310
+ }
311
+ /**
312
+ * Metodo chiamato per mostrare come elenco le opzioni aggiunte in un campo di tipo "Elenco generico".
313
+ * @returns Restituisce un array di oggetti del tipo { key: string, value: string } con i valori inseriti dall'utente.
314
+ */
315
+ getDictionaryKeyValue() {
316
+ if (this.field.ValuePairs) {
317
+ return Object.keys(this.field.ValuePairs).map(k => {
318
+ return {
319
+ key: k,
320
+ value: this.field.ValuePairs[k]
321
+ };
322
+ });
323
+ }
324
+ else {
325
+ return [];
326
+ }
327
+ }
328
+ /**
329
+ * Metodo per rimuovere una opzione aggiunta al campo di tipo "Elenco generico"
330
+ * @param key Nome della chiave da rimuovere
331
+ */
332
+ deleteKeyFromDictionary(key) {
333
+ delete this.field.ValuePairs[key];
334
+ }
335
+ /**
336
+ * Metodo per aprire il dialog per aggiungere/modificare un metadata in un campo di tipo Allegato o Immagine.
337
+ * @param metadata Metadata da modificare, se null allora ne sto creando uno nuovo.
338
+ */
339
+ openMetadataDialog(field = null) {
340
+ if (field) {
341
+ if (this.field.FieldType === FieldTypeEnum.Allegato) {
342
+ this.indexSelectedMetadata = this.field.MetadataFields.indexOf(field);
343
+ this.selectedMetadata = JSON.parse(JSON.stringify(field));
344
+ }
345
+ else if (this.field.FieldType === FieldTypeEnum.Immagine) {
346
+ this.indexSelectedMetadata = this.field.AttachDefinition.MetadataFields.indexOf(field);
347
+ this.selectedMetadata = JSON.parse(JSON.stringify(field));
348
+ }
349
+ }
350
+ else {
351
+ this.selectedMetadata = new BaseField();
352
+ this.indexSelectedMetadata = null;
353
+ }
354
+ this.dialogMetadataRef = this.dialog.open(this.dialogMetadata, {
355
+ disableClose: true,
356
+ hasBackdrop: true,
357
+ width: '75%'
358
+ });
359
+ }
360
+ /**
361
+ * Metodo invocato dall'output dal dialog per aggiungere/modificare un metadata
362
+ * nei campi di tipo Allegato o Immagine. Prima di aggiungere il metadata nell'elenco
363
+ * contolla se esiste un altro metadata con lo stesso nome e nel caso genera un errore
364
+ * (i metadata, come per i campi della form, devono avere un nome univoco).
365
+ * @param metadata Metadata aggiunto o modificato, se null allora il dialog è stato chiuso senza fare modifiche.
366
+ */
367
+ onSaveMetadata(metadata) {
368
+ if (metadata) {
369
+ if ((this.field.FieldType === FieldTypeEnum.Allegato
370
+ && this.field.MetadataFields
371
+ && this.field.MetadataFields.find((m, i) => m.Label === metadata.Label
372
+ && (this.indexSelectedMetadata == null ? true : this.indexSelectedMetadata !== i))) ||
373
+ (this.field.FieldType === FieldTypeEnum.Immagine
374
+ && this.field.AttachDefinition.MetadataFields
375
+ && this.field.AttachDefinition.MetadataFields.find((m, i) => m.Label === metadata.Label
376
+ && (this.indexSelectedMetadata == null ? true : this.indexSelectedMetadata !== i)))) {
377
+ EqpDynamicModuleDialogService.Warning('Impossibile inserire due metadata con la stessa label.');
378
+ throw new Error('Impossibile inserire due metadata con la stessa label.');
379
+ }
380
+ if (this.indexSelectedMetadata != null && this.indexSelectedMetadata >= 0) {
381
+ if (this.field.FieldType === FieldTypeEnum.Allegato) {
382
+ this.field.MetadataFields[this.indexSelectedMetadata] = metadata;
383
+ }
384
+ else if (this.field.FieldType === FieldTypeEnum.Immagine) {
385
+ this.field.AttachDefinition.MetadataFields[this.indexSelectedMetadata] = metadata;
386
+ }
387
+ }
388
+ else {
389
+ if (this.field.FieldType === FieldTypeEnum.Allegato) {
390
+ if (!this.field.MetadataFields) {
391
+ this.field.MetadataFields = new Array();
392
+ }
393
+ this.field.MetadataFields.push(metadata);
394
+ }
395
+ else if (this.field.FieldType === FieldTypeEnum.Immagine) {
396
+ if (!this.field.AttachDefinition.MetadataFields) {
397
+ this.field.AttachDefinition.MetadataFields = new Array();
398
+ }
399
+ this.field.AttachDefinition.MetadataFields.push(metadata);
400
+ }
401
+ }
402
+ }
403
+ this.dialogMetadataRef.close();
404
+ this.setMetadataOrdinalPosition();
405
+ this.reloadMetadataTable();
406
+ }
407
+ /**
408
+ * Metodo per disabilitare il pulsante per salvare il campo inserito/modificato.
409
+ * @returns Restituisce un booleano, se true il salvataggio viene disabilitato.
410
+ */
411
+ disableSaveField() {
412
+ if (this.fieldFormGroup.invalid) {
413
+ return true;
414
+ }
415
+ switch (this.field.FieldType) {
416
+ case FieldTypeEnum['Elenco generico']:
417
+ if (this.field.PresentationMode != ListPresentationEnum.Immagini) {
418
+ return !this.field.ValuePairs || this.field.ValuePairs.length === 0;
419
+ }
420
+ else {
421
+ return (!this.field.ButtonImageList
422
+ || this.field.ButtonImageList.length === 0
423
+ || !!this.field.ButtonImageList.find(i => !i.ButtonKey || !i.ButtonValue));
424
+ }
425
+ case FieldTypeEnum.Lookup:
426
+ return !this.field.FieldNames || this.field.FieldNames.length === 0;
427
+ default:
428
+ return false;
429
+ }
430
+ }
431
+ /**
432
+ * Metodo per salvare il campo inserito/modificato.
433
+ * Se è stato inserito un field con la stessa label viene generato un errore (le label devono essere univoche).
434
+ * Una volta aggiunto/aggiornato il campo nell'elenco dei Field della Form chiude il dialog e ricarica la tabella
435
+ * che mostra l'elenco dei campi aggiunti alla form.
436
+ */
437
+ saveAndExitAddField(save) {
438
+ if (save) {
439
+ this.saveFieldEvent.emit(this.field);
440
+ }
441
+ else {
442
+ this.saveFieldEvent.emit(null);
443
+ }
444
+ }
445
+ /**
446
+ * Metodo per ripristinare l'oggetto field al cambio del tipo selezionato.
447
+ * Lascia valorizzate solo le proprietà dell'oggetto BaseField comune a tutti i tipi di campo.
448
+ */
449
+ restoreBaseFieldProperties() {
450
+ if (this.field) {
451
+ const tmpBaseField = JSON.parse(JSON.stringify(this.field));
452
+ this.field = new BaseField();
453
+ this.field.Label = tmpBaseField.Label;
454
+ this.field.Description = tmpBaseField.Description;
455
+ this.field.Required = tmpBaseField.Required;
456
+ this.field.FieldType = tmpBaseField.FieldType;
457
+ this.field.Formula = tmpBaseField.Formula;
458
+ this.field.ColSpanSizes = tmpBaseField.ColSpanSizes;
459
+ this.field.FieldGroup = tmpBaseField.FieldGroup;
460
+ }
461
+ }
462
+ configureColumns() {
463
+ this.metadataColumns = [
464
+ {
465
+ key: 'action', display: '', type: TypeColumn.MenuAction, buttonMenuIcon: 'more_vert', styles: { flex: '0 0 6%' },
466
+ actions: [
467
+ { name: 'Modifica', icon: 'edit', fn: (element, index, col) => this.openMetadataDialog(element) },
468
+ { name: 'Elimina', icon: 'delete', fn: (element, index, col) => this.deleteMetadata(element) },
469
+ ]
470
+ },
471
+ { key: 'FieldType', display: 'Tipologia', type: TypeColumn.Enum, enumModel: FieldTypeEnum },
472
+ { key: 'Label', display: 'Label' },
473
+ { key: 'Description', display: 'Descrizione' },
474
+ {
475
+ key: 'Required', display: 'Obbligatorio',
476
+ value: (element) => !!element.Required,
477
+ type: TypeColumn.Boolean,
478
+ booleanValues: {
479
+ true: '<i class="fa fa-check success-color"></i>',
480
+ false: '<i class="fa fa-close error-color"></i>'
481
+ },
482
+ styles: { flex: '0 0 7%', cellAlignment: CellAlignmentEnum.CENTER }
483
+ },
484
+ ];
485
+ }
486
+ /**
487
+ * Metodo per eliminare un metadata aggiunto per un campo di tipo Allegato o Immagine.
488
+ * @param metadata Metadata da eliminare.
489
+ */
490
+ deleteMetadata(metadata) {
491
+ EqpDynamicModuleDialogService.Confirm('Eliminare il metadata selezionato?', () => {
492
+ if (this.field.FieldType === FieldTypeEnum.Allegato) {
493
+ this.field.MetadataFields.splice(this.field.MetadataFields.indexOf(metadata), 1);
494
+ }
495
+ else if (this.field.FieldType === FieldTypeEnum.Immagine) {
496
+ this.field.AttachDefinition.MetadataFields.splice(this.field.AttachDefinition.MetadataFields.indexOf(metadata), 1);
497
+ }
498
+ this.setMetadataOrdinalPosition();
499
+ this.reloadMetadataTable();
500
+ }, false, 'Richiesta conferma');
501
+ }
502
+ /**
503
+ * Imposta l'ordinamento dei metadata all'interno dei campi di tipo Allegato e Immagine.
504
+ */
505
+ setMetadataOrdinalPosition() {
506
+ if (this.field.FieldType === FieldTypeEnum.Allegato) {
507
+ if (this.field.MetadataFields) {
508
+ this.field.MetadataFields.forEach(metadata => {
509
+ metadata.OrdinalPosition = this.field.MetadataFields.indexOf(metadata);
510
+ });
511
+ }
512
+ }
513
+ else if (this.field.FieldType === FieldTypeEnum.Immagine) {
514
+ if (this.field.AttachDefinition.MetadataFields) {
515
+ this.field.AttachDefinition.MetadataFields.forEach(metadata => {
516
+ metadata.OrdinalPosition = this.field.AttachDefinition.MetadataFields.indexOf(metadata);
517
+ });
518
+ }
519
+ }
520
+ }
521
+ /**
522
+ * Metodo per ricaricare i dati della tabella dei metadata visualizzata nella creazione/modifica
523
+ * dei campi di tipo Allegato o Immagine.
524
+ */
525
+ reloadMetadataTable() {
526
+ if (this.metadataFieldsTable) {
527
+ this.metadataFieldsTable.reloadDatatable();
528
+ }
529
+ }
530
+ }
531
+ AddFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AddFormFieldComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.EnumHelper }, { token: i3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
532
+ AddFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AddFormFieldComponent, selector: "eqp-dynamic-module-add-form-field", inputs: { field: "field", indexField: "indexField", formFieldsGroups: "formFieldsGroups", availableFields: "availableFields", fieldTypesToExclude: "fieldTypesToExclude" }, outputs: { saveFieldEvent: "saveFieldEvent" }, viewQueries: [{ propertyName: "textFieldFormTemplate", first: true, predicate: ["textFieldFormTemplate"], descendants: true, static: true }, { propertyName: "textareaFieldFormTemplate", first: true, predicate: ["textareaFieldFormTemplate"], descendants: true, static: true }, { propertyName: "booleadFieldFormTemplate", first: true, predicate: ["booleadFieldFormTemplate"], descendants: true, static: true }, { propertyName: "dateFieldFormTemplate", first: true, predicate: ["dateFieldFormTemplate"], descendants: true, static: true }, { propertyName: "numericFieldFormTemplate", first: true, predicate: ["numericFieldFormTemplate"], descendants: true, static: true }, { propertyName: "attachmentFieldFormTemplate", first: true, predicate: ["attachmentFieldFormTemplate"], descendants: true, static: true }, { propertyName: "imageFieldFormTemplate", first: true, predicate: ["imageFieldFormTemplate"], descendants: true, static: true }, { propertyName: "listValueFieldFormTemplate", first: true, predicate: ["listValueFieldFormTemplate"], descendants: true, static: true }, { propertyName: "lookupFieldFormTemplate", first: true, predicate: ["lookupFieldFormTemplate"], descendants: true, static: true }, { propertyName: "metadataFieldsTable", first: true, predicate: ["metadataFieldsTable"], descendants: true }, { propertyName: "dialogMetadata", first: true, predicate: ["dialogMetadata"], descendants: true, static: true }, { propertyName: "buttonImagesKeyValueInputColumn", first: true, predicate: ["buttonImagesKeyValueInputColumn"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"container-fluid\" style=\"max-height: 70vh !important; overflow-x: hidden; overflow-y: auto;\">\r\n <div class=\"row title\">\r\n <div class=\"header-title-standard\">{{indexField != null && indexField >= 0 ? \"Modifica\"\r\n : \"Aggiungi\"}} campo</div>\r\n </div>\r\n <form [formGroup]=\"fieldFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-4 mt-2 tipoCampo\">\r\n <mat-label>Tipo campo *</mat-label>\r\n <eqp-select [enumData]=\"FieldTypeEnum\" [(ngModelInput)]=\"field.FieldType\" [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFieldTypeChange()\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldType'\" [enumDataToExclude]=\"fieldTypesToExclude\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Label * </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Label\" required matInput [(ngModel)]=\"field.Label\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Descrizione * </mat-label>\r\n <mat-form-field>\r\n <input name=\"Description\" formControlName=\"Description\" required matInput\r\n [(ngModel)]=\"field.Description\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Required\" formControlName=\"Required\" color=\"primary\">\r\n Obbligatorio\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Formula (Javascript) </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Formula\" matInput [(ngModel)]=\"field.Formula\"\r\n [matAutocomplete]=\"formulaAutocomplete\" (keyup)=\"setFormulaAutocompleteOptions($event)\"\r\n (focus)=\"setFormulaAutocompleteOptions(null)\">\r\n <mat-autocomplete #formulaAutocomplete=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of formulaAutocompleteOptions\" [value]=\"option.value\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"formFieldsGroups\">\r\n <mat-label>Sezione</mat-label>\r\n <eqp-select [arrayData]=\"formFieldsGroups\" [(ngModelInput)]=\"field.FieldGroup\"\r\n [arrayKeyProperty]=\"'Name'\" [arrayValueProperty]=\"'Name'\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldGroup'\" required [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Larghezza campo</mat-label>\r\n <eqp-select [arrayData]=\"availableColSpanSizes\" [(ngModelInput)]=\"field.ColSpanSizes\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n (ngModelInputChange)=\"onColSpanSizeSelect()\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'ColSpanSizes'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.InListView\" formControlName=\"InListView\" color=\"primary\"\r\n [disabled]=\"fieldFormGroup.controls['InListView'].disabled\">\r\n Mostrare nella visualizzazione a lista\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <ng-container *ngTemplateOutlet=\"fieldTypeFormTemplate\">\r\n </ng-container>\r\n </div>\r\n </form>\r\n</div>\r\n\r\n<div class=\"row mt-2 mb-1\">\r\n <div class=\"col-sm-12 text-right buttonsForm\">\r\n <button class=\"btn mat-raised-button cancel\" (click)=\"saveAndExitAddField(false)\" type=\"button\">\r\n Annulla\r\n </button>\r\n <button class=\"mr-2 save\" mat-raised-button color=\"primary\" (click)=\"saveAndExitAddField(true)\"\r\n [disabled]=\"disableSaveField()\" type=\"button\">\r\n Salva\r\n </button>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DI TESTO -->\r\n<ng-template #textFieldFormTemplate>\r\n\r\n <div class=\"col-sm-12 col-md-4\">\r\n <mat-label>Maschera</mat-label>\r\n <eqp-select [enumData]=\"TextMaskEnum\" [(ngModelInput)]=\"field.TextMask\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'TextMask'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"increasableValues\">\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMax').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMax').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMin').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMin').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI AREA DI TESTO -->\r\n<ng-template #textareaFieldFormTemplate>\r\n <div class=\"increasableValues second\">\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Righe </mat-label>\r\n <mat-form-field class=\"righe\">\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('rows').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('rows').stepDown()\"></button>\r\n </div>\r\n <input id=\"rows\" formControlName=\"Rows\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.Rows\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMax').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMax').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMin').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMin').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI BOOLEANI -->\r\n<ng-template #booleadFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsTristate\" formControlName=\"IsTristate\" color=\"primary\">\r\n A tre stati\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione *</mat-label>\r\n <eqp-select [enumData]=\"BoolPresentantioEnum\" [(ngModelInput)]=\"field.PresetationType\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresetationType'\">\r\n </eqp-select>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DATA -->\r\n<ng-template #dateFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di data</mat-label>\r\n <eqp-select [enumData]=\"DateTimeTypeEnum\" [(ngModelInput)]=\"field.IsOnlyDate\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'IsOnlyDate'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Formato </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DateFormat\" matInput [(ngModel)]=\"field.DateFormat\"\r\n [matTooltip]=\"'Indicare il formato seguendo la guida del pacchetto momentjs.'\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data minima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data massima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI NUMERICI -->\r\n<ng-template #numericFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsInteger\" formControlName=\"IsInteger\" color=\"primary\">\r\n Valore intero\r\n </mat-slide-toggle>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalSeparator\" matInput [(ngModel)]=\"field.DecimalSeparator\">\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Precisione decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalPrecision\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.DecimalPrecision\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore migliaia </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ThousandsSeparator\" matInput [(ngModel)]=\"field.ThousandsSeparator\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Simbolo valuta </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"CurrencySymbol\" matInput [(ngModel)]=\"field.CurrencySymbol\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore massimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MinValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MinValue\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore minimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MaxValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MaxValue\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI ALLEGATO -->\r\n<ng-template #attachmentFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiAttach\" formControlName=\"IsMultiAttach\" color=\"primary\">\r\n Allegati multipli\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableFileExtensions.concat(AvailableImageExtensions)\"\r\n [(ngModelInput)]=\"field.AllowedExtensions\" [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n [isMultiSelect]=\"true\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi allegato</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\" [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI IMMAGINE -->\r\n<ng-template #imageFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.ImageIsContextualAttachment\" formControlName=\"ImageIsContextualAttachment\"\r\n color=\"primary\" (ngModelChange)=\"onImageIsContextualAttachmentChange()\">\r\n Immagine pre-caricata nel campo\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.EnableDrawing\" formControlName=\"EnableDrawing\" color=\"primary\">\r\n Abilita il disegno\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\"\r\n *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-slide-toggle [(ngModel)]=\"field.AttachDefinition.IsMultiAttach\" formControlName=\"IsMultiAttach\"\r\n color=\"primary\">\r\n Immagini multiple\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableImageExtensions\" [(ngModelInput)]=\"field.AttachDefinition.AllowedExtensions\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\" [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <mat-label> Nome immagine </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ImgName\" matInput [(ngModel)]=\"field.ImgName\" required>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-8 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <eqp-attachments [attachmentsList]=\"field._contextualAttachments\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"false\" [showHeader]=\"false\"\r\n (localEditedAttachments)=\"catchContextualAttachmentChange($event)\" #contextualAttachmentEqpAttachments>\r\n </eqp-attachments>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.AttachDefinition.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\"\r\n [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LISTA DI VALORI -->\r\n<ng-template #listValueFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiChoiche\" formControlName=\"IsMultiChoiche\" color=\"primary\">\r\n Scelta multipla\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione*</mat-label>\r\n <eqp-select [enumData]=\"ListPresentationEnum\" [(ngModelInput)]=\"field.PresentationMode\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresentationMode'\"\r\n (ngModelInputChange)=\"onPresentationModeChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\" *ngIf=\"field.PresentationMode != ListPresentationEnum.Immagini\">\r\n <div class=\"row\">\r\n <h4 class=\"key-value-list-section-title\"> </h4>\r\n <div class=\"col-md-4\">\r\n <mat-label> Label opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.key\" (keyup)=\"onMultiSelectInputKeyup($event, null)\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <mat-label> Valore opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.value\" (keyup)=\"onMultiSelectInputKeyup($event, null)\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4 d-flex align-items-center\">\r\n <span class=\"mr-3\">Opzioni inserite:</span>\r\n <ul class=\"value-pairs-list\">\r\n <li *ngFor=\"let keyValuePair of getDictionaryKeyValue()\">\r\n <mat-icon class=\"mr-1\" (click)=\"deleteKeyFromDictionary(keyValuePair.key)\">close\r\n </mat-icon>\r\n <span><b>Label: </b> {{keyValuePair.key}} - <b>Valore: </b> {{keyValuePair.value}}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12 mt-2\" *ngIf=\"field.PresentationMode == ListPresentationEnum.Immagini\">\r\n <eqp-attachments [attachmentsList]=\"field.ButtonImageList\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"true\" [showHeader]=\"false\"\r\n [allowedTypes]=\"[AttachmentType.FILE]\" (localEditedAttachments)=\"catchButtonImagesChange($event)\"\r\n (onComponentLoaded)=\"configureButtonImagesColumns($event)\">\r\n </eqp-attachments>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LOOKUP -->\r\n<ng-template #lookupFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.UseAsGetOrDiscard\" formControlName=\"UseAsGetOrDiscard\" color=\"primary\"\r\n matTooltip=\"Se true la lookup viene visualizzata in una modale per lo scegli scarta\">\r\n Usa per scegli o scarta\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Nome entit\u00E0 </mat-label>\r\n <mat-form-field matTooltip=\"Nome dell'entit\u00E0 relazionata\">\r\n <input formControlName=\"EntitySourceName\" required matInput [(ngModel)]=\"field.EntitySourceName\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <mat-label> Nomi dei campi (invio per confermare) </mat-label>\r\n <mat-form-field\r\n matTooltip=\"Elenco di campi ordinato che verr\u00E0 visualizzato nella lookup (premere invio per confermare)\">\r\n <input matInput (keyup)=\"onMultiSelectInputKeyup($event, 'FieldNames')\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-8 d-flex align-items-center\">\r\n <span class=\"mr-3\">Nomi selezionati:</span>\r\n <div class=\"extension-container\" *ngFor=\"let extension of field.FieldNames; let i = index\">\r\n <span>{{extension}}</span>\r\n <mat-icon class=\"ml-1\" (click)=\"field.FieldNames.splice(i,1)\">close\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- DIALOG PER AGGIUNGERE UN METADATA NEI CAMPI DI TIPO ALLEGATO O IMMAGINE -->\r\n<ng-template #dialogMetadata>\r\n <eqp-dynamic-module-add-form-field [field]=\"selectedMetadata\" [availableFields]=\"availableFields\"\r\n [indexField]=\"indexSelectedMetadata\" (saveFieldEvent)=\"onSaveMetadata($event)\" [fieldTypesToExclude]=\"[6,7,10]\">\r\n </eqp-dynamic-module-add-form-field>\r\n</ng-template>\r\n\r\n<ng-template #buttonImagesKeyValueInputColumn let-row=\"row\" let-col=\"col\">\r\n <mat-form-field>\r\n <mat-label> {{col.display}} </mat-label>\r\n <input matInput [(ngModel)]=\"row[col.key]\" required>\r\n </mat-form-field>\r\n</ng-template>", styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography .mat-h1,.mat-typography .mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography .mat-h2,.mat-typography .mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography .mat-h3,.mat-typography .mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography .mat-h4,.mat-typography .mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2,.mat-typography .mat-body-strong,.mat-typography .mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography .mat-body,.mat-typography .mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography .mat-body p,.mat-typography .mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-mdc-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-autocomplete-panel{background:white;color:#000000de}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:white}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-badge-content{color:#fff;background:#1e31eb}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-accent .mat-badge-content{background:#ff5252;color:#000000de}.mat-badge-warn .mat-badge-content{color:#fff;background:#c40000}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:white;color:#000000de}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#1e31eb}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff5252}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#c40000}.mat-button.mat-primary.mat-button-disabled,.mat-button.mat-accent.mat-button-disabled,.mat-button.mat-warn.mat-button-disabled,.mat-button.mat-button-disabled.mat-button-disabled,.mat-icon-button.mat-primary.mat-button-disabled,.mat-icon-button.mat-accent.mat-button-disabled,.mat-icon-button.mat-warn.mat-button-disabled,.mat-icon-button.mat-button-disabled.mat-button-disabled,.mat-stroked-button.mat-primary.mat-button-disabled,.mat-stroked-button.mat-accent.mat-button-disabled,.mat-stroked-button.mat-warn.mat-button-disabled,.mat-stroked-button.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1e31eb}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff5252}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#c40000}.mat-button.mat-button-disabled .mat-button-focus-overlay,.mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:black}.mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.mat-flat-button,.mat-raised-button,.mat-fab,.mat-mini-fab{color:#000000de;background-color:#fff}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{color:#fff}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:#000000de}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:#fff}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#1e31eb}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#ff5252}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:#c40000}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{background-color:#0000001f}.mat-flat-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-flat-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-flat-button.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-stroked-button:not([class*=mat-elevation-z]),.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.mat-button-toggle{color:#00000061}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.mat-button-toggle-appearance-standard{color:#000000de;background:white}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px #e0e0e0}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px #e0e0e0}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px #e0e0e0}.mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.mat-button-toggle-disabled{color:#00000042;background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:white}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:solid 1px #e0e0e0}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.mat-card{background:white;color:#000000de}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-card-subtitle{color:#0000008a}.mat-checkbox-frame{border-color:#0000008a}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1e31eb}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#ff5252}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#c40000}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#00000061}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1e31eb}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff5252}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#c40000}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip:after{background:black}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1e31eb;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#c40000;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff5252;color:#000000de}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-table{background:white}.mat-table thead,.mat-table tbody,.mat-table tfoot,mat-header-row,mat-row,mat-footer-row,[mat-header-row],[mat-row],[mat-footer-row],.mat-table-sticky{background:inherit}mat-row,mat-header-row,mat-footer-row,th.mat-header-cell,td.mat-cell,td.mat-footer-cell{border-bottom-color:#0000001f}.mat-header-cell{color:#0000008a}.mat-cell,.mat-footer-cell{color:#000000de}.mat-calendar-arrow{fill:#0000008a}.mat-datepicker-toggle,.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button{color:#0000008a}.mat-calendar-table-header-divider:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header,.mat-calendar-body-label{color:#0000008a}.mat-calendar-body-cell-content,.mat-date-range-input-separator{color:#000000de;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.mat-calendar-body-in-preview{color:#0000003d}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range:before{background:rgba(30,49,235,.2)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start:before,[dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end:before,[dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-calendar-body-selected{background-color:#1e31eb;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1e31eb66}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}@media (hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}}.mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:rgba(255,82,82,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff5252;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff525266}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000000de}.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}@media (hover: hover){.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:rgba(196,0,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#c40000;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#c4000066}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}@media (hover: hover){.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}}.mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active{color:#1e31eb}.mat-datepicker-toggle-active.mat-accent{color:#ff5252}.mat-datepicker-toggle-active.mat-warn{color:#c40000}.mat-date-range-input-inner[disabled]{color:#00000061}.mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:white;color:#000000de}.mat-divider{border-top-color:#0000001f}.mat-divider-vertical{border-right-color:#0000001f}.mat-expansion-panel{background:white;color:#000000de}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-action-row{border-top-color:#0000001f}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover: none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:white}}.mat-expansion-panel-header-title{color:#000000de}.mat-expansion-panel-header-description,.mat-expansion-indicator:after{color:#0000008a}.mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.mat-form-field-label,.mat-hint{color:#0009}.mat-form-field.mat-focused .mat-form-field-label{color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff5252}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#c40000}.mat-focused .mat-form-field-required-marker{color:#ff5252}.mat-form-field-ripple{background-color:#000000de}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff5252}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#c40000}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1e31eb}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#ff5252}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#c40000}.mat-error{color:#c40000}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1e31eb}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff5252}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#c40000}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.mat-icon.mat-primary{color:#1e31eb}.mat-icon.mat-accent{color:#ff5252}.mat-icon.mat-warn{color:#c40000}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.mat-input-element:disabled,.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after{color:#00000061}.mat-input-element{caret-color:#1e31eb}.mat-input-element::placeholder{color:#0000006b}.mat-input-element::-moz-placeholder{color:#0000006b}.mat-input-element::-webkit-input-placeholder{color:#0000006b}.mat-input-element:-ms-input-placeholder{color:#0000006b}.mat-form-field.mat-accent .mat-input-element{caret-color:#ff5252}.mat-form-field.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#c40000}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#c40000}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:#000000de}.mat-list-base .mat-subheader{color:#0000008a}.mat-list-base .mat-list-item-disabled{background-color:#eee;color:#00000061}.mat-list-option:hover,.mat-list-option:focus,.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-action-list .mat-list-item:focus{background:rgba(0,0,0,.04)}.mat-list-single-selected-option,.mat-list-single-selected-option:hover,.mat-list-single-selected-option:focus{background:rgba(0,0,0,.12)}.mat-menu-panel{background:white}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-menu-item{background:transparent;color:#000000de}.mat-menu-item[disabled],.mat-menu-item[disabled] .mat-menu-submenu-icon,.mat-menu-item[disabled] .mat-icon-no-color{color:#00000061}.mat-menu-item .mat-icon-no-color,.mat-menu-submenu-icon{color:#0000008a}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:white}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:#0000008a}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.mat-progress-bar-background{fill:#c3c8f6}.mat-progress-bar-buffer{background-color:#c3c8f6}.mat-progress-bar-fill:after{background-color:#1e31eb}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#ff5252}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#c40000}.mat-progress-spinner circle,.mat-spinner circle{stroke:#1e31eb}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff5252}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#c40000}.mat-radio-outer-circle{border-color:#0000008a}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1e31eb}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1e31eb}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff5252}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff5252}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#c40000}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#c40000}.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle{background-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:#000000de}.mat-select-placeholder{color:#0000006b}.mat-select-disabled .mat-select-value{color:#00000061}.mat-select-arrow{color:#0000008a}.mat-select-panel{background:white}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1e31eb}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff5252}.mat-form-field.mat-focused.mat-warn .mat-select-arrow,.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#c40000}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.mat-drawer-container{background-color:#fafafa;color:#000000de}.mat-drawer{background-color:#fff;color:#000000de}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff5252}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#ff52528a}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff5252}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1e31eb}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1e31eb8a}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1e31eb}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#c40000}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#c400008a}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#c40000}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;background-color:#fafafa}.mat-slide-toggle-bar{background-color:#00000061}.mat-slider-track-background{background-color:#00000042}.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label{background-color:#1e31eb}.mat-slider.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-primary .mat-slider-focus-ring{background-color:#1e31eb33}.mat-slider.mat-accent .mat-slider-track-fill,.mat-slider.mat-accent .mat-slider-thumb,.mat-slider.mat-accent .mat-slider-thumb-label{background-color:#ff5252}.mat-slider.mat-accent .mat-slider-thumb-label-text{color:#000000de}.mat-slider.mat-accent .mat-slider-focus-ring{background-color:#ff525233}.mat-slider.mat-warn .mat-slider-track-fill,.mat-slider.mat-warn .mat-slider-thumb,.mat-slider.mat-warn .mat-slider-thumb-label{background-color:#c40000}.mat-slider.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-warn .mat-slider-focus-ring{background-color:#c4000033}.mat-slider:hover .mat-slider-track-background,.mat-slider.cdk-focused .mat-slider-track-background{background-color:#00000061}.mat-slider.mat-slider-disabled .mat-slider-track-background,.mat-slider.mat-slider-disabled .mat-slider-track-fill,.mat-slider.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.mat-slider.mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:transparent}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:#00000061}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:#0000000a}.mat-step-header:hover[aria-disabled=true]{cursor:default}@media (hover: none){.mat-step-header:hover{background:none}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:#0000008a}.mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#1e31eb;color:#fff}.mat-step-header.mat-accent .mat-step-icon{color:#000000de}.mat-step-header.mat-accent .mat-step-icon-selected,.mat-step-header.mat-accent .mat-step-icon-state-done,.mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#ff5252;color:#000000de}.mat-step-header.mat-warn .mat-step-icon{color:#fff}.mat-step-header.mat-warn .mat-step-icon-selected,.mat-step-header.mat-warn .mat-step-icon-state-done,.mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#c40000;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#c40000}.mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.mat-step-header .mat-step-label.mat-step-label-error{color:#c40000}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line:before{border-left-color:#0000001f}.mat-horizontal-stepper-header:before,.mat-horizontal-stepper-header:after,.mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.mat-sort-header-arrow{color:#757575}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#000000de}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:#00000061}.mat-tab-header-pagination-chevron{border-color:#000000de}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.mat-tab-group[class*=mat-background-]>.mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1e31eb}.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff5252}.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000000de}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#c40000}.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination{background-color:#1e31eb}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-background-accent>.mat-tab-header,.mat-tab-group.mat-background-accent>.mat-tab-link-container,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination{background-color:#ff5252}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before{border-color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#000;opacity:.4}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element{background-color:#000;opacity:.12}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-background-warn>.mat-tab-header,.mat-tab-group.mat-background-warn>.mat-tab-link-container,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination{background-color:#c40000}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-toolbar{background:whitesmoke;color:#000000de}.mat-toolbar.mat-primary{background:#1e31eb;color:#fff}.mat-toolbar.mat-accent{background:#ff5252;color:#000000de}.mat-toolbar.mat-warn{background:#c40000;color:#fff}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-simple-snackbar-action{color:#ff5252}.mat-ripple-element{background-color:#0000001a}.mat-option{color:#000000de}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:#000000de}.mat-option.mat-option-disabled{color:#00000061}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1e31eb}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff5252}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#c40000}.mat-optgroup-label{color:#0000008a}.mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.mat-pseudo-checkbox{color:#0000008a}.mat-pseudo-checkbox:after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#1e31eb}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#ff5252}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#c40000}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.extension-container{display:inline-block;font-size:15px;border:1px solid var(--primary);border-radius:15px;margin-right:10px}.extension-container mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}.extension-container span{margin-left:10px}.key-value-list-section-title{background:linear-gradient(to right,var(--gray) 0%,rgb(255,255,255) 100%) left bottom #fff no-repeat;background-size:100% 1px}.value-pairs-list{list-style:none;padding:0}.value-pairs-list mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}::ng-deep .mat-dialog-container{border-radius:10px}.row.title{background-color:#ebebeb;padding:20px 0 20px 50px}.row.title mat-icon.add{background:#fff;color:#7b7b7b;height:40px;width:40px;border-radius:10px;font-size:27px;padding:7px 6px 6px 7px;margin:0 7px 0 0}.row.title .header-title-standard{display:flex;align-items:center;font-size:19px;font-weight:700;color:gray}.row:not(.title){margin:15px 0 0}form{margin:25px 0 0}eqp-select ::ng-deep mat-select{background:url(data:image/png;base64,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) no-repeat;background-size:15px;background-position:95% 21px;border:1px solid #e7e7e9;border-radius:10px;padding:15px 0 15px 20px!important;margin-top:-1px;background-color:#fff}eqp-select ::ng-deep mat-select:focus{border:1px solid #6F79FB}::ng-deep .mat-select-arrow{color:transparent!important}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.increasableValues{display:flex}.increasableValues .col-sm-12{display:flex;flex-direction:column;margin:0 3em 0 0}.increasableValues .col-sm-12 .mat-form-field{height:79px;line-height:34px;width:50%}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex{width:230px;border:1px solid #e7e7e9;border-radius:10px;padding:7px 0 0 20px!important;margin-top:10px;background-color:#fff}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix{display:flex;margin:-10px 0 0}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix input{border:none;height:100%;margin:3px 0 0 35px}.increasableValues .col-sm-12 .mat-form-field div.buttons{display:flex;flex-direction:column;margin:-10px 0 0;border-right:1px solid #F4F4F4;padding:10px 14px 0 0}.increasableValues .col-sm-12 .mat-form-field div.buttons button.up{height:17px;width:21px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9QAAAIoCAMAAAC/LVNgAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF////0NDQioqKxcXF+vr6z8/PFBQUAAAAgICAra2tBQUFUlJSzs7OExMTrKysVFRU+/v7zc3NEhISgYGBVVVVzMzMq6urVlZWDg4OgoKCV1dX/Pz8xMTEBAQEX19f/f39w8PDDQ0NqqqqYWFhwsLCDAwMg4ODYmJiwcHBqampY2NjwMDACwsLZWVl/v7+uLi4CQkJhISEZmZmt7e3CAgIb29vtra2hYWFqKiocHBwtbW1BwcHcnJys7Ozp6enc3NzhoaGdHR0AwMDdnZ2h4eHpqamnp6eAgICnZ2diIiInJycmpqaAQEBkZGRmZmZmJiYk5OTjo6OkpKSlJSUjY2Nm5ublZWVi4uLl5eXoaGhoqKifn5+o6OjfX19pKSke3t7eXl5r6+vbm5usLCwbGxslpaWj4+PBgYGsbGxa2trsrKyampqtLS0vLy8Xl5eCgoKvb29XFxcvr6+W1tboKCgjIyMv7+/WVlZUVFR+fn5UFBQyMjITk5ODw8PycnJTU1NysrK+Pj4TExMEBAQy8vL9fX1RUVFiYmJQ0NDERERQkJCFRUV0tLS9PT0QUFB09PTQEBAFhYW1NTU8PDwOTk5f39/FxcX1dXVODg41tbW7+/vNzc3paWlHBwc29vbNjY23Nzc7u7uNDQ0HR0d3d3dGBgYPDw88/PzfHx819fXrq6uGRkZenp62NjYPT09eHh4Ghoa2dnZbW1tGxsb2trau7u739/fICAgaWlpPj4+4ODgaGhoYGBgISEh4eHhIiIiXV1dIyMj4uLiWlpa9vb2x8fHJCQk4+Pj5+fnKSkpKioqT09P6OjoRkZGKysr6enpLCwsS0tL0dHRRERELS0t6urq9/f3Li4uR0dHMzMzPz8/NTU18fHxSEhIHh4e3t7eHx8fSUlJ5OTkJSUl5eXlJiYmJycn5ubmKCgoSkpK6+vrLy8v7OzsMDAwMTEx7e3tMjIyOjo68vLyWFhYOzs7U1NTxsbGurq6ubm5ZGRkZ2dncXFxdXV1d3d3n5+f////iN1SjgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAVFElEQVR42u3debxVZb3H8a0cXHpEQwuitnBwSlTckgqpKCaGOKXZJGWmqTniQFZ6zLKjHRwKG8wKCpPKlJQUJQdEVOQqKok4ZHarW3dsvJP3lk33dTfDkTPsffYanmd9n+Hz/p/Xb/3W2p/XOZuz91qVSiGbbV7s3wMYaEibbvbQLZIt1fsDodmqfWtZ1cO2SRKqBszatj1JXjNcM3u77ZN1Xqs+B0BI1jWdJK8brpg9YkPTVA0YNLJ9Q1avH17+7CGjkh5vUJ8HIBQ9TSfJG6tlz95hU9NUDRgycvSmrMZ0lDt77I5JQtWAWTuN7p3VzqVWvcuuSV9vUp8NwH99m06S3Uqselz/pqkaKGz30f2z2qO0qvccnyRUDZg1sOkk2atWzuy9JySNvFl9TgCfNWo6SfYppep990sSqgbMatx0kkwsYfakZk0nyVvU5wXw1f6jm2V1gPXZB05OEqoGzGredJIcZHn2wYM1TdVALlNGD5bVIVZnb/oMWxNvVZ8dwD+DN50kh1qcvVOrpqkayGzK1FZZHWZt9u6jWzadJG9TnyHAL9NaNm3vq5CtfkegaiC7w6enycrO1yumpWuaqoEM0jVt52MgR6ScXXek+jwBvkjbtI0/LR2VvmmqBlLK8LPS+K/AR2dpOjnm7epzBfggS9Omf1gem2k2VQNpZGvabFbHHZOtaaoGWsv0nnZ9Vu8wNvv4zE3Xx79TfcYAt2Vuup7VuwzNfnf2pKkaaOE92ZuuZ/VeI7NPyNU0VQODydV0PasZBmZvnrNpo28AgMDkbLqe1XGFZx+Zu2mqBprJ9jfiPqa/r+DsIk0bfFsPBKVA00ky9f2FZp9YqGmqBho5Osffk3pX/YECs08q2DRVAwMdW6zpetUfzD375MJNG/sveCAYhZuuVz0t5+xTDDRN1UBf2T+f2ajqKXlG1w4w0jRVA70ZaTpJ2j+UfXTtVENNUzWwyQwzTderPi3r6NrpxpquV/1h9ZkE3HCGqaaT5Myzso2unW2waaoGNjjDZFZnnpNldO1co00b+sAq4DmjTdernpl+dMfOhpumaqBSOd50VpMPTDu6OsZ401QNGG86SSacl2509XwLTRv5cgngsXz3JWjhggvTjK7OstI0VSNuVpquV/2R1qOrF1lqOkmmf1R9XgGVj9nK6oKPtxpdvdha01SNeFlrOknG7zn46LZLLDZN1YjVCTazGj9usNGdl1pt2sBNGwAPWW06SUZ9ovnozsssN50kU6ka0bHcdJJ88lPNRndebr3pwrdiAbyT/96d6av+dOPRXVeU0DRVIzYlNJ0kV36m0eju2aU0TdWIy1XlZHXliIGju68uqemCt00DvFJS00lyzXb9R3dfW1rTVI14FLvHdiaf/Vzf0XOuK7FpqkYsSmy6XvXne4+e84VSm6ZqxKHUppPki1/aNPr6L5fcdKEbFwOeuKHsrL7y1Z7R13+t9KapGuErvel61XM3jJ73dUHT9aq/oT7ngE1Fn1mVy/wb142e901J01SNsEmarld9U6Wy4FuipqkaIRM1nSTf/k6lvM+cDNQ+Un3mATtMPIcup1mVuTcLq879mC/AacWfF5vbd2+pUDVg2q3apiuVhdKqcz28D3CZvGmqBowSvp/uaVpcdfv31NcAMMmJputV36asOseDdgFX3e5G01QNGOJM01QNGOFQ01QNGHCKS01XKouUVZ95mvpqAMUJm/7+LY0OiKqBQu5wrel61XdSNZCbg02rqz5LfU2AAmoTXWyaqoG8XG2aqoF8aqe62nSlspiqgcxcblpd9TnqiwPkULvL5aapGsjK9aapGsjG/abrVd9N1UBatdPdb7pSWSKt+mD1RQIy8KNpqgbSqp3tR9PiqifPVF8oICV/mqZqII3auf40TdVAa341Xa96PlUDg/Gt6UrlRmXVE36gvmBAC/41Xanccy9VA83U7vOvaaoGmlM2fX/upiuVpdKqz1NfNqCp2gN+Ni2u+gKqhqv8bVpd9YXqSwc01LHM36brVT9I1UBfHWN8bpqqgf58b5qqgb6q3jetrvoj6ksI9FE9X9j0HFNbLKdqYKMwmqZqoEcoTderfoiqgXrTD4fStLrqj6svJbBeSE2Lqx5P1XBBdVZITVM1EFrTVI3Yhdd0vepHlFXvqb6kiFz1ovCarlRWUDWiFWbT6qrHqS8rIlZ9NMymqRqxUjY9e6Xd3agaMQq5aXHVo/5OfXERperFITddr/oxqkZcQm+6UnlcWfUnP6G+wIhO29ahN03ViEvbJeE3TdWISRxNUzXi0XZpHE1XKqueUFb9KfWFRjQ6o2maqhGHmJqmasQgrqbrVT9J1Qhb51NxNV2prFZWfeWn1RccwYuvaapG2Dovi69pqkbIlE3/UNY0VSNcsTatrvoz6guPYHVeHmvT9aqfpmqEJ+amqRoh6rwi5qapGuGJvelKZY2y6mtGqNdHcLqib5qqERaaXmfNM1SNUHStpel1pFV/9ln1+gjIytk0vYG26s+p10cwVj5H0z2oGiGg6d6oGv7rpuk+1jxP1fBb99U03dcLVA2vSZv+kXr7xrRVf169PjzXfS1NDySt+otUjSJoujGqhq9ouhmqhp9ourkXXlRW/SX1+vBU93W6l+2PHW+aquEjmh7cgpeoGn6ZQ9MtSKv+ClUjqzlfoOlWtFV/Vb0+PEPTaSz4FlXDFzSdDlXDFzSdFlXDD3N+QtNpzaNqeICms9BWPVe9Prww536azmLe3wurvpmq0dpPv0bT2VA13HY9TWcmrXr+jer14TiazoOq4a7rv657cf7M26apGu6i6bzmfVNZ9U3q9eEsms5PWvW3b1KvD0fRdKGzR9VwjvJV6X/TVA33KH9/DKFp7W86VI2BaLo4bdXfUa8Pxyj/JhNK0+Kqf07V6I2mzaBquIKmTaFquEH57cGwmtZ+zjb5+T+o14cjlHfvCK1pqoYLaNosqoYaTZum/EY6VUN77+owmxZX/Quqjh1N26C8I1Tyi3vU60NK+ZS3cJvW3ruRquOmfMpyyE1TNVRo2h6qhgJN2ySt+l6qjtMaYdO/DL5p7bOLksf+Ub0+BNY8Q9N2Sav+J6qOD03bR9UoE02XgapRHpoux5zrqBrlWPM0TZejW1r1P6vXR2lW03RppFX/C1XHQtp0l3r7slE17Fv9JE2XiaphG02XrftaqoZNNF0+adX/StWhW0XTAlQNe1Y9QdMK2qr/Tb0+LKJpFaqGHTSt0301VcO8xx+jaR1p1b+i6jDRtBZVw7QVNC3W/Zyy6lXq9WHcikdoWm0lVcMgZdO/pumNqBrm0LQbqBqmLKdpR0irfoKqw7H8IZp2RddaYdUv/ka9PgyhaZdQNYqjabdIq/4tVYeApl3TdQVVo4jlD9K0a6gaRSylaQdpq/6den0UQtNu6lRW/Xuq9hlNu4qqkc/Se2naVZ2XUzWyo2mXUTWyu0fY9FqabomqkRVNu67zMmHV/07V/lkyn6Zdp636P9TrI6Mld9O0+6ga6dG0H6gaadG0L6RV/ydV+2MxTXuj8ymqRmuL76Rpf1A1WqNpv2irXqBeHynQtG86LxVW/RJVu28RTXuHqjEYmvYRVaM5ZdNbt6m391ebsuov/1S9Pgax6Daa9hNVo7GFNO2ttkuoGgPRtM+oGgPRtN+kVf/Xf6vXRwMLb6Zpv1Vfpmr0NpemvVe9mKqxCU2HQFr1/1C1W2g6DFSNHs9uQdNhoGpssBlNB6P6KFWDpsMirfq7VO0Gmg6Ltupb1OujbihNB6Z6EVXHbeg2uhfA/9K0FVQdN5oOkbTq71O1Fk2HqTqLqmNF06Gi6lgNo+lgUXWcaDpk0qrvn6NeP1LDtqfpkFF1fLaj6cBVH6bquNB0+KRVz16pXj86NB0Dqo7JCJqOQvV8qo7FiGtoOg7Sqn9I1eVRNv0ami4VVceBpmNSHaOs+kfq9SPxh1E0HZMOqg4eTcdGWvWPqdq+ITQdHaoOG03HiKpDNmRHmo5RxzJh1T+japt2oOlI1R6g6jBJmx6u3j5uVB0mmo4ZVYdoLE1HTVr1L7vU6weJpmNXu4+qw0LToOqwjN2VpkHVIdmFplFXO1dY9a+p2iSaxgZUHQqaRg9p1Wup2pRxNI1XUXUIaBq9Savm4cVGjBtP0+itdjZV+03Z9OuGq7dHI1Tttz9OoGn0J62a28kWRNNopHY6VfvqFZpGQ1TtK5pGM9Kq+Q/U3F7Zj6bRTO0uqvbP3jSNQVC1f2gag6Nq3+xL02ihdqqwal4kmdE0WqNqn9A00pBW/frh6vW9QtNIpzaRqv0wiaaRElX7Qdk0l8k3VO2DSZO5SMjgDmHVbxyu3t4LB9I0sqFqx9E0MqNqp82kaWSnrPrlqnp7x9E0cjmFql1F08iJqh21VTtNIydl1cs61Ns7i6ZRwO1U7Z5taRpFKKvemaoboWkURNWOGUnTKOpkYdW7UXV/NA0DqNohI0fTNAygamfsRNMw41aqdgNNwxhl1XtQdY/daRrmULUDaBpGnUTVajQNw5RV/4mqtU3zVdhAUbXU/jQN85RV7xV71TQNK05UVl1Tby81haZhB1WL0DSsoWqJKVNpGtbcIKx6n1irnkbTsImqS3f4dJqGVVRdMpqGdUcKq/5zfFXTNEqgrHpibFUfQdMog7LqA+KqmqZREmnV6uXLRNMozVVUXYajhE2/PFy9PUpG1SWgaZRKWfVf1MuX4z00jXJtTtV20TRKR9VW0TQElFUfpF7etqNpGgonULUtNA0RZdWHqJe36ehjhE3zYPC4UbUVx9I0dKjaApqG1MeEVR+qXt6O42gaWlRtGE1DjqqNmkHT0Hu3sOq/qpc37Qyahguo2pgzhKeSptGLsurD1MubRNNwxvFU7ftppGn0Q9Wen0SaxgDKF+Tf1MuboXwTQ9NoQPl2cEv18iYom14W+0NF0RhVF6L8cz9Nownln1i9r5qm4SRl1a9VL1/MCTQNNyk/4uh11TQNZym/jPAG9fL50TQcRtU5KG/2RtNoiaozUza9M02jNeVtO96kXj6Pq2garqPqTGgaHlBW/Wb18lkpHyBK00hNeYNbz6qmaXiCqlOiaXhD+YCJt6iXT+8GmoY/qDoFmoZXqLqlE2kaflE+ivWt6uXToGl4h6oHRdPwkLLqt6mXb+UkmoaPjqLqZpRN70bTyI+qm7iVpuErZdVHqpdvjqbhsSOoeqCTaRo+E1Z9zNvVyzdG0/AcVfdzO03Dd1TdB00jAMqq36levj+aRhAOp+oep9A0wqCs+h3q5XujaQSDqte7g6YRjv+jappGYKZN1VX9LvXy69Um0jTCMiXyqmka4Ym76tqpNI3wTBmtq/q94t1pGmGKt+raXTSNMMVaNU0jXPsLq/6wbGuaRshirLp2Ok0jZPFVLW16D5qGfbsLq54h2Ld2Nk0jdHFVTdOIQUxV186lacRAWfVxpW5K04hFLFXTNOKxk67q6R8tbUuaRkxiqLp2H00jJuFXTdOIzUhh1e8rYb/aAzSN2Airnmq/appGjEa266p+v+XdOpbRNGIUbtUdY2gacdo20KqlTf+JpqGkrPoD1raq0jQiFmLV1fNpGjELr2qaRuy2CqxqmgaUVX/Q+DbVh2kamDk5nKppGlhHWfU3jG5SnUXTwDqhVE3TQI8wqqZpYJMDhVVPM7RD9SKaBjbxv2qaBvpSVj3FwPFXHxU2vRdNw0WTvK6apoGBfK6apoFGJu0n66L9e4WOvHoxTQONKKv+UIHjpmmgGT+rbtuapoFm9vWw6rZLaBpozr+qaRoYnLDqM0/LcbxtlyqbrqkvF5CCX1V30jTQkk9V0zSQxt7Cqs/KdKQ0DaTjS9WdT9E0kI4fVdM0kN4rHlTdeRlNA+kpqz4n1RHSNJDNKxPcrpqmgazcrrrzcpoGslJWfXCLY6NpII8/Olt15xU0DeThatXSpvehafhMWPXkmU2PqoumgdzGjXevapoGinCv6q61NA0UMW5Xt6peOZumgWKEVU/4wYCjWfkcTQNFuVQ1TQMm7CKs+rw+R9JN04ARwqov6F1199U0DZjhRtU0DZijrPrCjcfQfS1NA+aMlVdN04BZ6qppGjBNW7W06T/TNMK0p+4To+Mn/UTY9F00jVCN3VFYlg4/pxGwHWKsmqYRtAirpmkELrqqaRrBi6xqmkYEoqqaphGFIfFUTdOIRDRV0zSiMWSUOjeaBsyKomqaRlQiqJqmEZk/hF71ATSN2AReNU0jQkFXTdOI0ohr1OnRNGBWsFXTNKIVaNU0jYgFWTVNI2ojtlcnaL5p9TkFtLYLrWqaRvQCq5qmgbCqpmmgElTVNA2sNyyUqmka2CiQqmkaeFUQVdM00MuwbdRJ0jRglvdV0zTQz1C/q6ZpYACvq6ZpoAGPq/6L+twBbvK2apoGmvC0apoGmhq6hTpQmgbM2sy/qmkaGJR3VdM00IJnVdM00JJXVdM0kIJHVdM0kMqzvlRN00BKnlRN00Bqc29WB0vTgFkeVE3TQCbOV32Q+gwBvlnodtU0DWTmdNU0DeSw8DZ1ujQNmOVs1TQN5ORo1TQN5OZk1TQNFLDIvappGijEuappGijIsappGihs0Z3qkGkaMMuhqmkaMMKZqmkaMMSRqg9RnwcgHItdqJqmAYMcqJqmAaPkVdM0YNjiu2kaCMsSZdU0DVggrJqmAStkVdM0YImoapoGrJFUTdOARYKqaRqwasl8mgbCcs+9pTZ9qHpfIHylVk3TQAlKrJqmgVIsLatqmgZKUlLVNA2UZumDNA2EpYSqaRoolfWqaRoomeWqaRoo3XKbVdM0IGCxapoGJKxVTdOAyPKHaBoIi5Wq/6reCoiZhappGpAyXjVNA2LLH6FpICwrTFZN04ADDFZN04ATjFVN04AjDFVN04AzjFRN04BDDFRN04BTVjxG00BYHi9WNU0DzilUNU0DDipQ9WHqYwfQyKonaBoIS86qaRpwVq6qaRpwWI6qaRpw2qonaRoIy+psVdM04LxMVdM04IEMVdM04IXUVdM04ImUVdM04I3VT9M0EJYUVdM04JWWVf9NfYQAslnzNE0DYRm0apoGPLTmGZoGwtK0apoGPNWkapoGvNWwapoGPLbmeZoGwvLC8zQNhKVf1TQNeK9P1TQNBKBX1TQNBOHVqmkaCMTGqmkaCMYLL9ab3lJ9FADMWfASTQNh+c0M9RGgJP8P5t0pxT6Z4AgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMDYtMTJUMDM6MzQ6MjQrMDg6MDDcZyWIAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA0LTE2VDE1OjU4OjE0KzA4OjAwW3ugBwAAAFR0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9kYi9zdmdfaW5mby9zdmcvYzAvNmYvYzA2ZmU4YWYxMjE0M2U4NWQ2M2M3ZDA0OWJkM2ZlY2Quc3ZndqlM/QAAAABJRU5ErkJggg==) no-repeat;background-size:20px;background-position-y:1px;background-position-x:1px;-webkit-transform:rotate(180deg);border:none;opacity:.3;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field div.buttons button.down{height:50px;width:23px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9QAAAIoCAMAAAC/LVNgAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF////0NDQioqKxcXF+vr6z8/PFBQUAAAAgICAra2tBQUFUlJSzs7OExMTrKysVFRU+/v7zc3NEhISgYGBVVVVzMzMq6urVlZWDg4OgoKCV1dX/Pz8xMTEBAQEX19f/f39w8PDDQ0NqqqqYWFhwsLCDAwMg4ODYmJiwcHBqampY2NjwMDACwsLZWVl/v7+uLi4CQkJhISEZmZmt7e3CAgIb29vtra2hYWFqKiocHBwtbW1BwcHcnJys7Ozp6enc3NzhoaGdHR0AwMDdnZ2h4eHpqamnp6eAgICnZ2diIiInJycmpqaAQEBkZGRmZmZmJiYk5OTjo6OkpKSlJSUjY2Nm5ublZWVi4uLl5eXoaGhoqKifn5+o6OjfX19pKSke3t7eXl5r6+vbm5usLCwbGxslpaWj4+PBgYGsbGxa2trsrKyampqtLS0vLy8Xl5eCgoKvb29XFxcvr6+W1tboKCgjIyMv7+/WVlZUVFR+fn5UFBQyMjITk5ODw8PycnJTU1NysrK+Pj4TExMEBAQy8vL9fX1RUVFiYmJQ0NDERERQkJCFRUV0tLS9PT0QUFB09PTQEBAFhYW1NTU8PDwOTk5f39/FxcX1dXVODg41tbW7+/vNzc3paWlHBwc29vbNjY23Nzc7u7uNDQ0HR0d3d3dGBgYPDw88/PzfHx819fXrq6uGRkZenp62NjYPT09eHh4Ghoa2dnZbW1tGxsb2trau7u739/fICAgaWlpPj4+4ODgaGhoYGBgISEh4eHhIiIiXV1dIyMj4uLiWlpa9vb2x8fHJCQk4+Pj5+fnKSkpKioqT09P6OjoRkZGKysr6enpLCwsS0tL0dHRRERELS0t6urq9/f3Li4uR0dHMzMzPz8/NTU18fHxSEhIHh4e3t7eHx8fSUlJ5OTkJSUl5eXlJiYmJycn5ubmKCgoSkpK6+vrLy8v7OzsMDAwMTEx7e3tMjIyOjo68vLyWFhYOzs7U1NTxsbGurq6ubm5ZGRkZ2dncXFxdXV1d3d3n5+f////iN1SjgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAVFElEQVR42u3debxVZb3H8a0cXHpEQwuitnBwSlTckgqpKCaGOKXZJGWmqTniQFZ6zLKjHRwKG8wKCpPKlJQUJQdEVOQqKok4ZHarW3dsvJP3lk33dTfDkTPsffYanmd9n+Hz/p/Xb/3W2p/XOZuz91qVSiGbbV7s3wMYaEibbvbQLZIt1fsDodmqfWtZ1cO2SRKqBszatj1JXjNcM3u77ZN1Xqs+B0BI1jWdJK8brpg9YkPTVA0YNLJ9Q1avH17+7CGjkh5vUJ8HIBQ9TSfJG6tlz95hU9NUDRgycvSmrMZ0lDt77I5JQtWAWTuN7p3VzqVWvcuuSV9vUp8NwH99m06S3Uqselz/pqkaKGz30f2z2qO0qvccnyRUDZg1sOkk2atWzuy9JySNvFl9TgCfNWo6SfYppep990sSqgbMatx0kkwsYfakZk0nyVvU5wXw1f6jm2V1gPXZB05OEqoGzGredJIcZHn2wYM1TdVALlNGD5bVIVZnb/oMWxNvVZ8dwD+DN50kh1qcvVOrpqkayGzK1FZZHWZt9u6jWzadJG9TnyHAL9NaNm3vq5CtfkegaiC7w6enycrO1yumpWuaqoEM0jVt52MgR6ScXXek+jwBvkjbtI0/LR2VvmmqBlLK8LPS+K/AR2dpOjnm7epzBfggS9Omf1gem2k2VQNpZGvabFbHHZOtaaoGWsv0nnZ9Vu8wNvv4zE3Xx79TfcYAt2Vuup7VuwzNfnf2pKkaaOE92ZuuZ/VeI7NPyNU0VQODydV0PasZBmZvnrNpo28AgMDkbLqe1XGFZx+Zu2mqBprJ9jfiPqa/r+DsIk0bfFsPBKVA00ky9f2FZp9YqGmqBho5Osffk3pX/YECs08q2DRVAwMdW6zpetUfzD375MJNG/sveCAYhZuuVz0t5+xTDDRN1UBf2T+f2ajqKXlG1w4w0jRVA70ZaTpJ2j+UfXTtVENNUzWwyQwzTderPi3r6NrpxpquV/1h9ZkE3HCGqaaT5Myzso2unW2waaoGNjjDZFZnnpNldO1co00b+sAq4DmjTdernpl+dMfOhpumaqBSOd50VpMPTDu6OsZ401QNGG86SSacl2509XwLTRv5cgngsXz3JWjhggvTjK7OstI0VSNuVpquV/2R1qOrF1lqOkmmf1R9XgGVj9nK6oKPtxpdvdha01SNeFlrOknG7zn46LZLLDZN1YjVCTazGj9usNGdl1pt2sBNGwAPWW06SUZ9ovnozsssN50kU6ka0bHcdJJ88lPNRndebr3pwrdiAbyT/96d6av+dOPRXVeU0DRVIzYlNJ0kV36m0eju2aU0TdWIy1XlZHXliIGju68uqemCt00DvFJS00lyzXb9R3dfW1rTVI14FLvHdiaf/Vzf0XOuK7FpqkYsSmy6XvXne4+e84VSm6ZqxKHUppPki1/aNPr6L5fcdKEbFwOeuKHsrL7y1Z7R13+t9KapGuErvel61XM3jJ73dUHT9aq/oT7ngE1Fn1mVy/wb142e901J01SNsEmarld9U6Wy4FuipqkaIRM1nSTf/k6lvM+cDNQ+Un3mATtMPIcup1mVuTcLq879mC/AacWfF5vbd2+pUDVg2q3apiuVhdKqcz28D3CZvGmqBowSvp/uaVpcdfv31NcAMMmJputV36asOseDdgFX3e5G01QNGOJM01QNGOFQ01QNGHCKS01XKouUVZ95mvpqAMUJm/7+LY0OiKqBQu5wrel61XdSNZCbg02rqz5LfU2AAmoTXWyaqoG8XG2aqoF8aqe62nSlspiqgcxcblpd9TnqiwPkULvL5aapGsjK9aapGsjG/abrVd9N1UBatdPdb7pSWSKt+mD1RQIy8KNpqgbSqp3tR9PiqifPVF8oICV/mqZqII3auf40TdVAa341Xa96PlUDg/Gt6UrlRmXVE36gvmBAC/41Xanccy9VA83U7vOvaaoGmlM2fX/upiuVpdKqz1NfNqCp2gN+Ni2u+gKqhqv8bVpd9YXqSwc01LHM36brVT9I1UBfHWN8bpqqgf58b5qqgb6q3jetrvoj6ksI9FE9X9j0HFNbLKdqYKMwmqZqoEcoTderfoiqgXrTD4fStLrqj6svJbBeSE2Lqx5P1XBBdVZITVM1EFrTVI3Yhdd0vepHlFXvqb6kiFz1ovCarlRWUDWiFWbT6qrHqS8rIlZ9NMymqRqxUjY9e6Xd3agaMQq5aXHVo/5OfXERperFITddr/oxqkZcQm+6UnlcWfUnP6G+wIhO29ahN03ViEvbJeE3TdWISRxNUzXi0XZpHE1XKqueUFb9KfWFRjQ6o2maqhGHmJqmasQgrqbrVT9J1Qhb51NxNV2prFZWfeWn1RccwYuvaapG2Dovi69pqkbIlE3/UNY0VSNcsTatrvoz6guPYHVeHmvT9aqfpmqEJ+amqRoh6rwi5qapGuGJvelKZY2y6mtGqNdHcLqib5qqERaaXmfNM1SNUHStpel1pFV/9ln1+gjIytk0vYG26s+p10cwVj5H0z2oGiGg6d6oGv7rpuk+1jxP1fBb99U03dcLVA2vSZv+kXr7xrRVf169PjzXfS1NDySt+otUjSJoujGqhq9ouhmqhp9ourkXXlRW/SX1+vBU93W6l+2PHW+aquEjmh7cgpeoGn6ZQ9MtSKv+ClUjqzlfoOlWtFV/Vb0+PEPTaSz4FlXDFzSdDlXDFzSdFlXDD3N+QtNpzaNqeICms9BWPVe9Prww536azmLe3wurvpmq0dpPv0bT2VA13HY9TWcmrXr+jer14TiazoOq4a7rv657cf7M26apGu6i6bzmfVNZ9U3q9eEsms5PWvW3b1KvD0fRdKGzR9VwjvJV6X/TVA33KH9/DKFp7W86VI2BaLo4bdXfUa8Pxyj/JhNK0+Kqf07V6I2mzaBquIKmTaFquEH57cGwmtZ+zjb5+T+o14cjlHfvCK1pqoYLaNosqoYaTZum/EY6VUN77+owmxZX/Quqjh1N26C8I1Tyi3vU60NK+ZS3cJvW3ruRquOmfMpyyE1TNVRo2h6qhgJN2ySt+l6qjtMaYdO/DL5p7bOLksf+Ub0+BNY8Q9N2Sav+J6qOD03bR9UoE02XgapRHpoux5zrqBrlWPM0TZejW1r1P6vXR2lW03RppFX/C1XHQtp0l3r7slE17Fv9JE2XiaphG02XrftaqoZNNF0+adX/StWhW0XTAlQNe1Y9QdMK2qr/Tb0+LKJpFaqGHTSt0301VcO8xx+jaR1p1b+i6jDRtBZVw7QVNC3W/Zyy6lXq9WHcikdoWm0lVcMgZdO/pumNqBrm0LQbqBqmLKdpR0irfoKqw7H8IZp2RddaYdUv/ka9PgyhaZdQNYqjabdIq/4tVYeApl3TdQVVo4jlD9K0a6gaRSylaQdpq/6den0UQtNu6lRW/Xuq9hlNu4qqkc/Se2naVZ2XUzWyo2mXUTWyu0fY9FqabomqkRVNu67zMmHV/07V/lkyn6Zdp636P9TrI6Mld9O0+6ga6dG0H6gaadG0L6RV/ydV+2MxTXuj8ymqRmuL76Rpf1A1WqNpv2irXqBeHynQtG86LxVW/RJVu28RTXuHqjEYmvYRVaM5ZdNbt6m391ebsuov/1S9Pgax6Daa9hNVo7GFNO2ttkuoGgPRtM+oGgPRtN+kVf/Xf6vXRwMLb6Zpv1Vfpmr0NpemvVe9mKqxCU2HQFr1/1C1W2g6DFSNHs9uQdNhoGpssBlNB6P6KFWDpsMirfq7VO0Gmg6Ltupb1OujbihNB6Z6EVXHbeg2uhfA/9K0FVQdN5oOkbTq71O1Fk2HqTqLqmNF06Gi6lgNo+lgUXWcaDpk0qrvn6NeP1LDtqfpkFF1fLaj6cBVH6bquNB0+KRVz16pXj86NB0Dqo7JCJqOQvV8qo7FiGtoOg7Sqn9I1eVRNv0ami4VVceBpmNSHaOs+kfq9SPxh1E0HZMOqg4eTcdGWvWPqdq+ITQdHaoOG03HiKpDNmRHmo5RxzJh1T+japt2oOlI1R6g6jBJmx6u3j5uVB0mmo4ZVYdoLE1HTVr1L7vU6weJpmNXu4+qw0LToOqwjN2VpkHVIdmFplFXO1dY9a+p2iSaxgZUHQqaRg9p1Wup2pRxNI1XUXUIaBq9Savm4cVGjBtP0+itdjZV+03Z9OuGq7dHI1Tttz9OoGn0J62a28kWRNNopHY6VfvqFZpGQ1TtK5pGM9Kq+Q/U3F7Zj6bRTO0uqvbP3jSNQVC1f2gag6Nq3+xL02ihdqqwal4kmdE0WqNqn9A00pBW/frh6vW9QtNIpzaRqv0wiaaRElX7Qdk0l8k3VO2DSZO5SMjgDmHVbxyu3t4LB9I0sqFqx9E0MqNqp82kaWSnrPrlqnp7x9E0cjmFql1F08iJqh21VTtNIydl1cs61Ns7i6ZRwO1U7Z5taRpFKKvemaoboWkURNWOGUnTKOpkYdW7UXV/NA0DqNohI0fTNAygamfsRNMw41aqdgNNwxhl1XtQdY/daRrmULUDaBpGnUTVajQNw5RV/4mqtU3zVdhAUbXU/jQN85RV7xV71TQNK05UVl1Tby81haZhB1WL0DSsoWqJKVNpGtbcIKx6n1irnkbTsImqS3f4dJqGVVRdMpqGdUcKq/5zfFXTNEqgrHpibFUfQdMog7LqA+KqmqZREmnV6uXLRNMozVVUXYajhE2/PFy9PUpG1SWgaZRKWfVf1MuX4z00jXJtTtV20TRKR9VW0TQElFUfpF7etqNpGgonULUtNA0RZdWHqJe36ehjhE3zYPC4UbUVx9I0dKjaApqG1MeEVR+qXt6O42gaWlRtGE1DjqqNmkHT0Hu3sOq/qpc37Qyahguo2pgzhKeSptGLsurD1MubRNNwxvFU7ftppGn0Q9Wen0SaxgDKF+Tf1MuboXwTQ9NoQPl2cEv18iYom14W+0NF0RhVF6L8cz9Nownln1i9r5qm4SRl1a9VL1/MCTQNNyk/4uh11TQNZym/jPAG9fL50TQcRtU5KG/2RtNoiaozUza9M02jNeVtO96kXj6Pq2garqPqTGgaHlBW/Wb18lkpHyBK00hNeYNbz6qmaXiCqlOiaXhD+YCJt6iXT+8GmoY/qDoFmoZXqLqlE2kaflE+ivWt6uXToGl4h6oHRdPwkLLqt6mXb+UkmoaPjqLqZpRN70bTyI+qm7iVpuErZdVHqpdvjqbhsSOoeqCTaRo+E1Z9zNvVyzdG0/AcVfdzO03Dd1TdB00jAMqq36levj+aRhAOp+oep9A0wqCs+h3q5XujaQSDqte7g6YRjv+jappGYKZN1VX9LvXy69Um0jTCMiXyqmka4Ym76tqpNI3wTBmtq/q94t1pGmGKt+raXTSNMMVaNU0jXPsLq/6wbGuaRshirLp2Ok0jZPFVLW16D5qGfbsLq54h2Ld2Nk0jdHFVTdOIQUxV186lacRAWfVxpW5K04hFLFXTNOKxk67q6R8tbUuaRkxiqLp2H00jJuFXTdOIzUhh1e8rYb/aAzSN2Airnmq/appGjEa266p+v+XdOpbRNGIUbtUdY2gacdo20KqlTf+JpqGkrPoD1raq0jQiFmLV1fNpGjELr2qaRuy2CqxqmgaUVX/Q+DbVh2kamDk5nKppGlhHWfU3jG5SnUXTwDqhVE3TQI8wqqZpYJMDhVVPM7RD9SKaBjbxv2qaBvpSVj3FwPFXHxU2vRdNw0WTvK6apoGBfK6apoFGJu0n66L9e4WOvHoxTQONKKv+UIHjpmmgGT+rbtuapoFm9vWw6rZLaBpozr+qaRoYnLDqM0/LcbxtlyqbrqkvF5CCX1V30jTQkk9V0zSQxt7Cqs/KdKQ0DaTjS9WdT9E0kI4fVdM0kN4rHlTdeRlNA+kpqz4n1RHSNJDNKxPcrpqmgazcrrrzcpoGslJWfXCLY6NpII8/Olt15xU0DeThatXSpvehafhMWPXkmU2PqoumgdzGjXevapoGinCv6q61NA0UMW5Xt6peOZumgWKEVU/4wYCjWfkcTQNFuVQ1TQMm7CKs+rw+R9JN04ARwqov6F1199U0DZjhRtU0DZijrPrCjcfQfS1NA+aMlVdN04BZ6qppGjBNW7W06T/TNMK0p+4To+Mn/UTY9F00jVCN3VFYlg4/pxGwHWKsmqYRtAirpmkELrqqaRrBi6xqmkYEoqqaphGFIfFUTdOIRDRV0zSiMWSUOjeaBsyKomqaRlQiqJqmEZk/hF71ATSN2AReNU0jQkFXTdOI0ohr1OnRNGBWsFXTNKIVaNU0jYgFWTVNI2ojtlcnaL5p9TkFtLYLrWqaRvQCq5qmgbCqpmmgElTVNA2sNyyUqmka2CiQqmkaeFUQVdM00MuwbdRJ0jRglvdV0zTQz1C/q6ZpYACvq6ZpoAGPq/6L+twBbvK2apoGmvC0apoGmhq6hTpQmgbM2sy/qmkaGJR3VdM00IJnVdM00JJXVdM0kIJHVdM0kMqzvlRN00BKnlRN00Bqc29WB0vTgFkeVE3TQCbOV32Q+gwBvlnodtU0DWTmdNU0DeSw8DZ1ujQNmOVs1TQN5ORo1TQN5OZk1TQNFLDIvappGijEuappGijIsappGihs0Z3qkGkaMMuhqmkaMMKZqmkaMMSRqg9RnwcgHItdqJqmAYMcqJqmAaPkVdM0YNjiu2kaCMsSZdU0DVggrJqmAStkVdM0YImoapoGrJFUTdOARYKqaRqwasl8mgbCcs+9pTZ9qHpfIHylVk3TQAlKrJqmgVIsLatqmgZKUlLVNA2UZumDNA2EpYSqaRoolfWqaRoomeWqaRoo3XKbVdM0IGCxapoGJKxVTdOAyPKHaBoIi5Wq/6reCoiZhappGpAyXjVNA2LLH6FpICwrTFZN04ADDFZN04ATjFVN04AjDFVN04AzjFRN04BDDFRN04BTVjxG00BYHi9WNU0DzilUNU0DDipQ9WHqYwfQyKonaBoIS86qaRpwVq6qaRpwWI6qaRpw2qonaRoIy+psVdM04LxMVdM04IEMVdM04IXUVdM04ImUVdM04I3VT9M0EJYUVdM04JWWVf9NfYQAslnzNE0DYRm0apoGPLTmGZoGwtK0apoGPNWkapoGvNWwapoGPLbmeZoGwvLC8zQNhKVf1TQNeK9P1TQNBKBX1TQNBOHVqmkaCMTGqmkaCMYLL9ab3lJ9FADMWfASTQNh+c0M9RGgJP8P5t0pxT6Z4AgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMDYtMTJUMDM6MzQ6MjQrMDg6MDDcZyWIAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA0LTE2VDE1OjU4OjE0KzA4OjAwW3ugBwAAAFR0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9kYi9zdmdfaW5mby9zdmcvYzAvNmYvYzA2ZmU4YWYxMjE0M2U4NWQ2M2M3ZDA0OWJkM2ZlY2Quc3ZndqlM/QAAAABJRU5ErkJggg==) no-repeat no-repeat;background-size:20px;border:none;opacity:.3;background-position-y:21px;background-position-x:0px;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field input{margin:-14px 0 0 63px;font-size:18px}.second .col-sm-12{margin:0 1em 0 0}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-label-wrapper label{display:none}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{display:inline}eqp-attachments ::ng-deep div button{padding:5px 35px;background:linear-gradient(to right,#1E31EB,#693DDA);border-radius:10px}eqp-attachments ::ng-deep div button span mat-icon{margin-right:5px}eqp-attachments ::ng-deep div button.eqp-attachments-delete-btn{color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:first-child{padding:20px 40px;background-color:#ebebeb;color:gray;font-size:19px;font-weight:700}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .mat-form-field-label-wrapper label{margin-top:21px;margin-left:25px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary[disabled]{padding:7px 35px;border-radius:10px;font-size:14px;background-color:#dbdbdc!important;color:#000;background:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary:not(disabled){padding:7px 35px;border-radius:10px;font-size:14px;background:linear-gradient(to right,#1E31EB,#693DDA);color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button{margin:0 10px 0 0!important;border:1px solid #1E31EB;padding:7px 35px;border-radius:10px;font-size:14px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button[disabled]{border:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .ng-star-inserted .justify-content-center button{padding:4px;margin:0;border:none;left:8px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:last-child{padding:50px 20px 20px 0}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input{background-color:#ebebeb!important;background:url(data:image/png;base64,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) no-repeat;background-size:19px;background-position:19px;padding:15px 0 15px 53px!important}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input:focus{background-color:#fff!important;border:1px solid #e7e7e9}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper .mat-form-field-label-wrapper label{margin-top:21px;margin-left:55px}eqp-table ::ng-deep mat-header-row{background-color:#ebebeb;border-bottom-width:0px}eqp-table ::ng-deep mat-header-row .mat-column-Required{flex:none!important}eqp-table ::ng-deep .mat-sort-header-button{color:#3b3a3b;font-size:15px}eqp-table ::ng-deep .mat-row{background-color:#fff;margin:10px 0;box-shadow:0 3px 7px -3px #0003;padding:5px 0}eqp-table ::ng-deep .mat-row .mat-column-Required{flex:0 0 8%!important}eqp-table ::ng-deep .mat-row mat-cell eqp-select{margin-top:16px}eqp-table ::ng-deep .mat-row mat-cell eqp-select .mat-form-field-wrapper{padding-bottom:0}eqp-table ::ng-deep .mat-row .mat-cell:last-child span i.success-color{background-color:#383fec;color:#fff!important;padding:6px;border-radius:3px}@media screen and (max-width: 1100px){.row:not(.title){margin:0!important}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0}.buttonsForm{padding:0 30px 20px 0;margin:50px 0 0}}@media screen and (max-width: 766px){.increasableValues{display:flex;flex-direction:column}.increasableValues .col-sm-12{margin:0 0 -1.5em}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0 0 -3.4em}.buttonsForm{margin:55px 0 0!important;padding:0 13px 20px 0;transform:translateY(110px)}}@media screen and (max-width: 577px){.increasableValues .col-sm-12{margin:0 0 1.5em}}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i13.EqpTableComponent, selector: "eqp-table" }, { kind: "component", type: i14.EqpAttachmentsComponent, selector: "eqp-attachments", inputs: ["disableAction", "showHeader", "headerTitle", "attachmentsList", "showMatCard", "multipleAttachment", "loadMultipleFiles", "attachmentsColumns", "emptyTableMessage", "allowOnlyImages", "acceptedFileTypes", "isDisabled", "showInlinePreview", "getAttachmentEndpoint", "productionBaseUrl", "compressionOptions", "allowedTypes", "isEqpTableMultiLanguage", "tablePaginatorVisible", "tablePaginatorSize", "downloadTooltipPosition", "openLinkLabel", "addButtonLabel", "downloadLabel", "deleteLabel", "fileNameLabel", "previewLabel", "uploadFileLabel", "confirmLabel", "abortLabel", "saveLabel", "exitLabel", "eqpTableSearchText", "deleteDialogTitle", "deleteDialogMessage", "noImageSelectedErrorMessage", "wrongTypeSelectedErrorMessage", "videoPreviewErrorMessage"], outputs: ["localEditedAttachments", "abortAddAttachment", "downloadAttachment", "onDeleteAttachment"] }, { kind: "component", type: i2.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i15.EqpDateTimePickerComponent, selector: "eqp-datetimepicker", inputs: ["placeholder", "ngModelInput", "UTCDate", "timeType", "pickerMode", "formControlNameInput", "formGroupInput", "isRequired", "minDate", "maxDate", "readonlyInput", "disabled", "showSpinners", "showSeconds", "disableMinute", "defaultTime", "stepHour", "stepMinute", "stepSecond", "color", "enableMeridian", "touchUi", "customDateFormat"], outputs: ["ngModelInputChange", "onDateChange"] }, { kind: "component", type: AddFormFieldComponent, selector: "eqp-dynamic-module-add-form-field", inputs: ["field", "indexField", "formFieldsGroups", "availableFields", "fieldTypesToExclude"], outputs: ["saveFieldEvent"] }] });
533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AddFormFieldComponent, decorators: [{
534
+ type: Component,
535
+ args: [{ selector: 'eqp-dynamic-module-add-form-field', template: "<div class=\"container-fluid\" style=\"max-height: 70vh !important; overflow-x: hidden; overflow-y: auto;\">\r\n <div class=\"row title\">\r\n <div class=\"header-title-standard\">{{indexField != null && indexField >= 0 ? \"Modifica\"\r\n : \"Aggiungi\"}} campo</div>\r\n </div>\r\n <form [formGroup]=\"fieldFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-4 mt-2 tipoCampo\">\r\n <mat-label>Tipo campo *</mat-label>\r\n <eqp-select [enumData]=\"FieldTypeEnum\" [(ngModelInput)]=\"field.FieldType\" [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFieldTypeChange()\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldType'\" [enumDataToExclude]=\"fieldTypesToExclude\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Label * </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Label\" required matInput [(ngModel)]=\"field.Label\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Descrizione * </mat-label>\r\n <mat-form-field>\r\n <input name=\"Description\" formControlName=\"Description\" required matInput\r\n [(ngModel)]=\"field.Description\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Required\" formControlName=\"Required\" color=\"primary\">\r\n Obbligatorio\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Formula (Javascript) </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Formula\" matInput [(ngModel)]=\"field.Formula\"\r\n [matAutocomplete]=\"formulaAutocomplete\" (keyup)=\"setFormulaAutocompleteOptions($event)\"\r\n (focus)=\"setFormulaAutocompleteOptions(null)\">\r\n <mat-autocomplete #formulaAutocomplete=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of formulaAutocompleteOptions\" [value]=\"option.value\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"formFieldsGroups\">\r\n <mat-label>Sezione</mat-label>\r\n <eqp-select [arrayData]=\"formFieldsGroups\" [(ngModelInput)]=\"field.FieldGroup\"\r\n [arrayKeyProperty]=\"'Name'\" [arrayValueProperty]=\"'Name'\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldGroup'\" required [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Larghezza campo</mat-label>\r\n <eqp-select [arrayData]=\"availableColSpanSizes\" [(ngModelInput)]=\"field.ColSpanSizes\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n (ngModelInputChange)=\"onColSpanSizeSelect()\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'ColSpanSizes'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.InListView\" formControlName=\"InListView\" color=\"primary\"\r\n [disabled]=\"fieldFormGroup.controls['InListView'].disabled\">\r\n Mostrare nella visualizzazione a lista\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <ng-container *ngTemplateOutlet=\"fieldTypeFormTemplate\">\r\n </ng-container>\r\n </div>\r\n </form>\r\n</div>\r\n\r\n<div class=\"row mt-2 mb-1\">\r\n <div class=\"col-sm-12 text-right buttonsForm\">\r\n <button class=\"btn mat-raised-button cancel\" (click)=\"saveAndExitAddField(false)\" type=\"button\">\r\n Annulla\r\n </button>\r\n <button class=\"mr-2 save\" mat-raised-button color=\"primary\" (click)=\"saveAndExitAddField(true)\"\r\n [disabled]=\"disableSaveField()\" type=\"button\">\r\n Salva\r\n </button>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DI TESTO -->\r\n<ng-template #textFieldFormTemplate>\r\n\r\n <div class=\"col-sm-12 col-md-4\">\r\n <mat-label>Maschera</mat-label>\r\n <eqp-select [enumData]=\"TextMaskEnum\" [(ngModelInput)]=\"field.TextMask\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'TextMask'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"increasableValues\">\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMax').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMax').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMin').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMin').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI AREA DI TESTO -->\r\n<ng-template #textareaFieldFormTemplate>\r\n <div class=\"increasableValues second\">\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Righe </mat-label>\r\n <mat-form-field class=\"righe\">\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('rows').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('rows').stepDown()\"></button>\r\n </div>\r\n <input id=\"rows\" formControlName=\"Rows\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.Rows\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMax').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMax').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <div class=\"buttons\">\r\n <button class=\"up\" onclick=\"document.getElementById('lengthMin').stepUp()\"></button>\r\n <button class=\"down\" onclick=\"document.getElementById('lengthMin').stepDown()\"></button>\r\n </div>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI BOOLEANI -->\r\n<ng-template #booleadFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsTristate\" formControlName=\"IsTristate\" color=\"primary\">\r\n A tre stati\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione *</mat-label>\r\n <eqp-select [enumData]=\"BoolPresentantioEnum\" [(ngModelInput)]=\"field.PresetationType\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresetationType'\">\r\n </eqp-select>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DATA -->\r\n<ng-template #dateFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di data</mat-label>\r\n <eqp-select [enumData]=\"DateTimeTypeEnum\" [(ngModelInput)]=\"field.IsOnlyDate\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'IsOnlyDate'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Formato </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DateFormat\" matInput [(ngModel)]=\"field.DateFormat\"\r\n [matTooltip]=\"'Indicare il formato seguendo la guida del pacchetto momentjs.'\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data minima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data massima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI NUMERICI -->\r\n<ng-template #numericFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsInteger\" formControlName=\"IsInteger\" color=\"primary\">\r\n Valore intero\r\n </mat-slide-toggle>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalSeparator\" matInput [(ngModel)]=\"field.DecimalSeparator\">\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Precisione decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalPrecision\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.DecimalPrecision\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore migliaia </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ThousandsSeparator\" matInput [(ngModel)]=\"field.ThousandsSeparator\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Simbolo valuta </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"CurrencySymbol\" matInput [(ngModel)]=\"field.CurrencySymbol\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore massimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MinValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MinValue\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore minimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MaxValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MaxValue\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI ALLEGATO -->\r\n<ng-template #attachmentFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiAttach\" formControlName=\"IsMultiAttach\" color=\"primary\">\r\n Allegati multipli\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableFileExtensions.concat(AvailableImageExtensions)\"\r\n [(ngModelInput)]=\"field.AllowedExtensions\" [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n [isMultiSelect]=\"true\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi allegato</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\" [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI IMMAGINE -->\r\n<ng-template #imageFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.ImageIsContextualAttachment\" formControlName=\"ImageIsContextualAttachment\"\r\n color=\"primary\" (ngModelChange)=\"onImageIsContextualAttachmentChange()\">\r\n Immagine pre-caricata nel campo\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.EnableDrawing\" formControlName=\"EnableDrawing\" color=\"primary\">\r\n Abilita il disegno\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\"\r\n *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-slide-toggle [(ngModel)]=\"field.AttachDefinition.IsMultiAttach\" formControlName=\"IsMultiAttach\"\r\n color=\"primary\">\r\n Immagini multiple\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableImageExtensions\" [(ngModelInput)]=\"field.AttachDefinition.AllowedExtensions\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\" [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <mat-label> Nome immagine </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ImgName\" matInput [(ngModel)]=\"field.ImgName\" required>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-8 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <eqp-attachments [attachmentsList]=\"field._contextualAttachments\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"false\" [showHeader]=\"false\"\r\n (localEditedAttachments)=\"catchContextualAttachmentChange($event)\" #contextualAttachmentEqpAttachments>\r\n </eqp-attachments>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.AttachDefinition.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\"\r\n [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LISTA DI VALORI -->\r\n<ng-template #listValueFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiChoiche\" formControlName=\"IsMultiChoiche\" color=\"primary\">\r\n Scelta multipla\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione*</mat-label>\r\n <eqp-select [enumData]=\"ListPresentationEnum\" [(ngModelInput)]=\"field.PresentationMode\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresentationMode'\"\r\n (ngModelInputChange)=\"onPresentationModeChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\" *ngIf=\"field.PresentationMode != ListPresentationEnum.Immagini\">\r\n <div class=\"row\">\r\n <h4 class=\"key-value-list-section-title\"> </h4>\r\n <div class=\"col-md-4\">\r\n <mat-label> Label opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.key\" (keyup)=\"onMultiSelectInputKeyup($event, null)\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <mat-label> Valore opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.value\" (keyup)=\"onMultiSelectInputKeyup($event, null)\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4 d-flex align-items-center\">\r\n <span class=\"mr-3\">Opzioni inserite:</span>\r\n <ul class=\"value-pairs-list\">\r\n <li *ngFor=\"let keyValuePair of getDictionaryKeyValue()\">\r\n <mat-icon class=\"mr-1\" (click)=\"deleteKeyFromDictionary(keyValuePair.key)\">close\r\n </mat-icon>\r\n <span><b>Label: </b> {{keyValuePair.key}} - <b>Valore: </b> {{keyValuePair.value}}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12 mt-2\" *ngIf=\"field.PresentationMode == ListPresentationEnum.Immagini\">\r\n <eqp-attachments [attachmentsList]=\"field.ButtonImageList\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"true\" [showHeader]=\"false\"\r\n [allowedTypes]=\"[AttachmentType.FILE]\" (localEditedAttachments)=\"catchButtonImagesChange($event)\"\r\n (onComponentLoaded)=\"configureButtonImagesColumns($event)\">\r\n </eqp-attachments>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LOOKUP -->\r\n<ng-template #lookupFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 d-flex align-items-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.UseAsGetOrDiscard\" formControlName=\"UseAsGetOrDiscard\" color=\"primary\"\r\n matTooltip=\"Se true la lookup viene visualizzata in una modale per lo scegli scarta\">\r\n Usa per scegli o scarta\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Nome entit\u00E0 </mat-label>\r\n <mat-form-field matTooltip=\"Nome dell'entit\u00E0 relazionata\">\r\n <input formControlName=\"EntitySourceName\" required matInput [(ngModel)]=\"field.EntitySourceName\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <mat-label> Nomi dei campi (invio per confermare) </mat-label>\r\n <mat-form-field\r\n matTooltip=\"Elenco di campi ordinato che verr\u00E0 visualizzato nella lookup (premere invio per confermare)\">\r\n <input matInput (keyup)=\"onMultiSelectInputKeyup($event, 'FieldNames')\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-8 d-flex align-items-center\">\r\n <span class=\"mr-3\">Nomi selezionati:</span>\r\n <div class=\"extension-container\" *ngFor=\"let extension of field.FieldNames; let i = index\">\r\n <span>{{extension}}</span>\r\n <mat-icon class=\"ml-1\" (click)=\"field.FieldNames.splice(i,1)\">close\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- DIALOG PER AGGIUNGERE UN METADATA NEI CAMPI DI TIPO ALLEGATO O IMMAGINE -->\r\n<ng-template #dialogMetadata>\r\n <eqp-dynamic-module-add-form-field [field]=\"selectedMetadata\" [availableFields]=\"availableFields\"\r\n [indexField]=\"indexSelectedMetadata\" (saveFieldEvent)=\"onSaveMetadata($event)\" [fieldTypesToExclude]=\"[6,7,10]\">\r\n </eqp-dynamic-module-add-form-field>\r\n</ng-template>\r\n\r\n<ng-template #buttonImagesKeyValueInputColumn let-row=\"row\" let-col=\"col\">\r\n <mat-form-field>\r\n <mat-label> {{col.display}} </mat-label>\r\n <input matInput [(ngModel)]=\"row[col.key]\" required>\r\n </mat-form-field>\r\n</ng-template>", styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography .mat-h1,.mat-typography .mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography .mat-h2,.mat-typography .mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography .mat-h3,.mat-typography .mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography .mat-h4,.mat-typography .mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2,.mat-typography .mat-body-strong,.mat-typography .mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography .mat-body,.mat-typography .mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography .mat-body p,.mat-typography .mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-mdc-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-autocomplete-panel{background:white;color:#000000de}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:white}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-badge-content{color:#fff;background:#1e31eb}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-accent .mat-badge-content{background:#ff5252;color:#000000de}.mat-badge-warn .mat-badge-content{color:#fff;background:#c40000}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:white;color:#000000de}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#1e31eb}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff5252}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#c40000}.mat-button.mat-primary.mat-button-disabled,.mat-button.mat-accent.mat-button-disabled,.mat-button.mat-warn.mat-button-disabled,.mat-button.mat-button-disabled.mat-button-disabled,.mat-icon-button.mat-primary.mat-button-disabled,.mat-icon-button.mat-accent.mat-button-disabled,.mat-icon-button.mat-warn.mat-button-disabled,.mat-icon-button.mat-button-disabled.mat-button-disabled,.mat-stroked-button.mat-primary.mat-button-disabled,.mat-stroked-button.mat-accent.mat-button-disabled,.mat-stroked-button.mat-warn.mat-button-disabled,.mat-stroked-button.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1e31eb}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff5252}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#c40000}.mat-button.mat-button-disabled .mat-button-focus-overlay,.mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:black}.mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.mat-flat-button,.mat-raised-button,.mat-fab,.mat-mini-fab{color:#000000de;background-color:#fff}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{color:#fff}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:#000000de}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:#fff}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#1e31eb}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#ff5252}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:#c40000}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{background-color:#0000001f}.mat-flat-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-flat-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-flat-button.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-stroked-button:not([class*=mat-elevation-z]),.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.mat-button-toggle{color:#00000061}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.mat-button-toggle-appearance-standard{color:#000000de;background:white}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px #e0e0e0}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px #e0e0e0}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px #e0e0e0}.mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.mat-button-toggle-disabled{color:#00000042;background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:white}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:solid 1px #e0e0e0}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.mat-card{background:white;color:#000000de}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-card-subtitle{color:#0000008a}.mat-checkbox-frame{border-color:#0000008a}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1e31eb}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#ff5252}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#c40000}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#00000061}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1e31eb}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff5252}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#c40000}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip:after{background:black}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1e31eb;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#c40000;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff5252;color:#000000de}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-table{background:white}.mat-table thead,.mat-table tbody,.mat-table tfoot,mat-header-row,mat-row,mat-footer-row,[mat-header-row],[mat-row],[mat-footer-row],.mat-table-sticky{background:inherit}mat-row,mat-header-row,mat-footer-row,th.mat-header-cell,td.mat-cell,td.mat-footer-cell{border-bottom-color:#0000001f}.mat-header-cell{color:#0000008a}.mat-cell,.mat-footer-cell{color:#000000de}.mat-calendar-arrow{fill:#0000008a}.mat-datepicker-toggle,.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button{color:#0000008a}.mat-calendar-table-header-divider:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header,.mat-calendar-body-label{color:#0000008a}.mat-calendar-body-cell-content,.mat-date-range-input-separator{color:#000000de;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.mat-calendar-body-in-preview{color:#0000003d}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range:before{background:rgba(30,49,235,.2)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start:before,[dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end:before,[dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-calendar-body-selected{background-color:#1e31eb;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1e31eb66}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}@media (hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}}.mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:rgba(255,82,82,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff5252;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff525266}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000000de}.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}@media (hover: hover){.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:rgba(196,0,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#c40000;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#c4000066}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}@media (hover: hover){.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}}.mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active{color:#1e31eb}.mat-datepicker-toggle-active.mat-accent{color:#ff5252}.mat-datepicker-toggle-active.mat-warn{color:#c40000}.mat-date-range-input-inner[disabled]{color:#00000061}.mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:white;color:#000000de}.mat-divider{border-top-color:#0000001f}.mat-divider-vertical{border-right-color:#0000001f}.mat-expansion-panel{background:white;color:#000000de}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-action-row{border-top-color:#0000001f}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover: none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:white}}.mat-expansion-panel-header-title{color:#000000de}.mat-expansion-panel-header-description,.mat-expansion-indicator:after{color:#0000008a}.mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.mat-form-field-label,.mat-hint{color:#0009}.mat-form-field.mat-focused .mat-form-field-label{color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff5252}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#c40000}.mat-focused .mat-form-field-required-marker{color:#ff5252}.mat-form-field-ripple{background-color:#000000de}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff5252}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#c40000}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1e31eb}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#ff5252}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#c40000}.mat-error{color:#c40000}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1e31eb}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff5252}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#c40000}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.mat-icon.mat-primary{color:#1e31eb}.mat-icon.mat-accent{color:#ff5252}.mat-icon.mat-warn{color:#c40000}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.mat-input-element:disabled,.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after{color:#00000061}.mat-input-element{caret-color:#1e31eb}.mat-input-element::placeholder{color:#0000006b}.mat-input-element::-moz-placeholder{color:#0000006b}.mat-input-element::-webkit-input-placeholder{color:#0000006b}.mat-input-element:-ms-input-placeholder{color:#0000006b}.mat-form-field.mat-accent .mat-input-element{caret-color:#ff5252}.mat-form-field.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#c40000}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#c40000}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:#000000de}.mat-list-base .mat-subheader{color:#0000008a}.mat-list-base .mat-list-item-disabled{background-color:#eee;color:#00000061}.mat-list-option:hover,.mat-list-option:focus,.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-action-list .mat-list-item:focus{background:rgba(0,0,0,.04)}.mat-list-single-selected-option,.mat-list-single-selected-option:hover,.mat-list-single-selected-option:focus{background:rgba(0,0,0,.12)}.mat-menu-panel{background:white}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-menu-item{background:transparent;color:#000000de}.mat-menu-item[disabled],.mat-menu-item[disabled] .mat-menu-submenu-icon,.mat-menu-item[disabled] .mat-icon-no-color{color:#00000061}.mat-menu-item .mat-icon-no-color,.mat-menu-submenu-icon{color:#0000008a}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:white}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:#0000008a}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.mat-progress-bar-background{fill:#c3c8f6}.mat-progress-bar-buffer{background-color:#c3c8f6}.mat-progress-bar-fill:after{background-color:#1e31eb}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#ff5252}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#c40000}.mat-progress-spinner circle,.mat-spinner circle{stroke:#1e31eb}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff5252}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#c40000}.mat-radio-outer-circle{border-color:#0000008a}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1e31eb}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1e31eb}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff5252}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff5252}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#c40000}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#c40000}.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle{background-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:#000000de}.mat-select-placeholder{color:#0000006b}.mat-select-disabled .mat-select-value{color:#00000061}.mat-select-arrow{color:#0000008a}.mat-select-panel{background:white}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1e31eb}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff5252}.mat-form-field.mat-focused.mat-warn .mat-select-arrow,.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#c40000}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.mat-drawer-container{background-color:#fafafa;color:#000000de}.mat-drawer{background-color:#fff;color:#000000de}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff5252}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#ff52528a}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff5252}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1e31eb}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1e31eb8a}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1e31eb}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#c40000}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#c400008a}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#c40000}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;background-color:#fafafa}.mat-slide-toggle-bar{background-color:#00000061}.mat-slider-track-background{background-color:#00000042}.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label{background-color:#1e31eb}.mat-slider.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-primary .mat-slider-focus-ring{background-color:#1e31eb33}.mat-slider.mat-accent .mat-slider-track-fill,.mat-slider.mat-accent .mat-slider-thumb,.mat-slider.mat-accent .mat-slider-thumb-label{background-color:#ff5252}.mat-slider.mat-accent .mat-slider-thumb-label-text{color:#000000de}.mat-slider.mat-accent .mat-slider-focus-ring{background-color:#ff525233}.mat-slider.mat-warn .mat-slider-track-fill,.mat-slider.mat-warn .mat-slider-thumb,.mat-slider.mat-warn .mat-slider-thumb-label{background-color:#c40000}.mat-slider.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-warn .mat-slider-focus-ring{background-color:#c4000033}.mat-slider:hover .mat-slider-track-background,.mat-slider.cdk-focused .mat-slider-track-background{background-color:#00000061}.mat-slider.mat-slider-disabled .mat-slider-track-background,.mat-slider.mat-slider-disabled .mat-slider-track-fill,.mat-slider.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.mat-slider.mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:transparent}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:#00000061}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:#0000000a}.mat-step-header:hover[aria-disabled=true]{cursor:default}@media (hover: none){.mat-step-header:hover{background:none}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:#0000008a}.mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#1e31eb;color:#fff}.mat-step-header.mat-accent .mat-step-icon{color:#000000de}.mat-step-header.mat-accent .mat-step-icon-selected,.mat-step-header.mat-accent .mat-step-icon-state-done,.mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#ff5252;color:#000000de}.mat-step-header.mat-warn .mat-step-icon{color:#fff}.mat-step-header.mat-warn .mat-step-icon-selected,.mat-step-header.mat-warn .mat-step-icon-state-done,.mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#c40000;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#c40000}.mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.mat-step-header .mat-step-label.mat-step-label-error{color:#c40000}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line:before{border-left-color:#0000001f}.mat-horizontal-stepper-header:before,.mat-horizontal-stepper-header:after,.mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.mat-sort-header-arrow{color:#757575}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#000000de}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:#00000061}.mat-tab-header-pagination-chevron{border-color:#000000de}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.mat-tab-group[class*=mat-background-]>.mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1e31eb}.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff5252}.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000000de}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#c40000}.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination{background-color:#1e31eb}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-background-accent>.mat-tab-header,.mat-tab-group.mat-background-accent>.mat-tab-link-container,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination{background-color:#ff5252}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before{border-color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#000;opacity:.4}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element{background-color:#000;opacity:.12}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-background-warn>.mat-tab-header,.mat-tab-group.mat-background-warn>.mat-tab-link-container,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination{background-color:#c40000}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-toolbar{background:whitesmoke;color:#000000de}.mat-toolbar.mat-primary{background:#1e31eb;color:#fff}.mat-toolbar.mat-accent{background:#ff5252;color:#000000de}.mat-toolbar.mat-warn{background:#c40000;color:#fff}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-simple-snackbar-action{color:#ff5252}.mat-ripple-element{background-color:#0000001a}.mat-option{color:#000000de}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:#000000de}.mat-option.mat-option-disabled{color:#00000061}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1e31eb}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff5252}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#c40000}.mat-optgroup-label{color:#0000008a}.mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.mat-pseudo-checkbox{color:#0000008a}.mat-pseudo-checkbox:after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#1e31eb}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#ff5252}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#c40000}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.extension-container{display:inline-block;font-size:15px;border:1px solid var(--primary);border-radius:15px;margin-right:10px}.extension-container mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}.extension-container span{margin-left:10px}.key-value-list-section-title{background:linear-gradient(to right,var(--gray) 0%,rgb(255,255,255) 100%) left bottom #fff no-repeat;background-size:100% 1px}.value-pairs-list{list-style:none;padding:0}.value-pairs-list mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}::ng-deep .mat-dialog-container{border-radius:10px}.row.title{background-color:#ebebeb;padding:20px 0 20px 50px}.row.title mat-icon.add{background:#fff;color:#7b7b7b;height:40px;width:40px;border-radius:10px;font-size:27px;padding:7px 6px 6px 7px;margin:0 7px 0 0}.row.title .header-title-standard{display:flex;align-items:center;font-size:19px;font-weight:700;color:gray}.row:not(.title){margin:15px 0 0}form{margin:25px 0 0}eqp-select ::ng-deep mat-select{background:url(data:image/png;base64,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) no-repeat;background-size:15px;background-position:95% 21px;border:1px solid #e7e7e9;border-radius:10px;padding:15px 0 15px 20px!important;margin-top:-1px;background-color:#fff}eqp-select ::ng-deep mat-select:focus{border:1px solid #6F79FB}::ng-deep .mat-select-arrow{color:transparent!important}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.increasableValues{display:flex}.increasableValues .col-sm-12{display:flex;flex-direction:column;margin:0 3em 0 0}.increasableValues .col-sm-12 .mat-form-field{height:79px;line-height:34px;width:50%}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex{width:230px;border:1px solid #e7e7e9;border-radius:10px;padding:7px 0 0 20px!important;margin-top:10px;background-color:#fff}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix{display:flex;margin:-10px 0 0}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix input{border:none;height:100%;margin:3px 0 0 35px}.increasableValues .col-sm-12 .mat-form-field div.buttons{display:flex;flex-direction:column;margin:-10px 0 0;border-right:1px solid #F4F4F4;padding:10px 14px 0 0}.increasableValues .col-sm-12 .mat-form-field div.buttons button.up{height:17px;width:21px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9QAAAIoCAMAAAC/LVNgAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF////0NDQioqKxcXF+vr6z8/PFBQUAAAAgICAra2tBQUFUlJSzs7OExMTrKysVFRU+/v7zc3NEhISgYGBVVVVzMzMq6urVlZWDg4OgoKCV1dX/Pz8xMTEBAQEX19f/f39w8PDDQ0NqqqqYWFhwsLCDAwMg4ODYmJiwcHBqampY2NjwMDACwsLZWVl/v7+uLi4CQkJhISEZmZmt7e3CAgIb29vtra2hYWFqKiocHBwtbW1BwcHcnJys7Ozp6enc3NzhoaGdHR0AwMDdnZ2h4eHpqamnp6eAgICnZ2diIiInJycmpqaAQEBkZGRmZmZmJiYk5OTjo6OkpKSlJSUjY2Nm5ublZWVi4uLl5eXoaGhoqKifn5+o6OjfX19pKSke3t7eXl5r6+vbm5usLCwbGxslpaWj4+PBgYGsbGxa2trsrKyampqtLS0vLy8Xl5eCgoKvb29XFxcvr6+W1tboKCgjIyMv7+/WVlZUVFR+fn5UFBQyMjITk5ODw8PycnJTU1NysrK+Pj4TExMEBAQy8vL9fX1RUVFiYmJQ0NDERERQkJCFRUV0tLS9PT0QUFB09PTQEBAFhYW1NTU8PDwOTk5f39/FxcX1dXVODg41tbW7+/vNzc3paWlHBwc29vbNjY23Nzc7u7uNDQ0HR0d3d3dGBgYPDw88/PzfHx819fXrq6uGRkZenp62NjYPT09eHh4Ghoa2dnZbW1tGxsb2trau7u739/fICAgaWlpPj4+4ODgaGhoYGBgISEh4eHhIiIiXV1dIyMj4uLiWlpa9vb2x8fHJCQk4+Pj5+fnKSkpKioqT09P6OjoRkZGKysr6enpLCwsS0tL0dHRRERELS0t6urq9/f3Li4uR0dHMzMzPz8/NTU18fHxSEhIHh4e3t7eHx8fSUlJ5OTkJSUl5eXlJiYmJycn5ubmKCgoSkpK6+vrLy8v7OzsMDAwMTEx7e3tMjIyOjo68vLyWFhYOzs7U1NTxsbGurq6ubm5ZGRkZ2dncXFxdXV1d3d3n5+f////iN1SjgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAVFElEQVR42u3debxVZb3H8a0cXHpEQwuitnBwSlTckgqpKCaGOKXZJGWmqTniQFZ6zLKjHRwKG8wKCpPKlJQUJQdEVOQqKok4ZHarW3dsvJP3lk33dTfDkTPsffYanmd9n+Hz/p/Xb/3W2p/XOZuz91qVSiGbbV7s3wMYaEibbvbQLZIt1fsDodmqfWtZ1cO2SRKqBszatj1JXjNcM3u77ZN1Xqs+B0BI1jWdJK8brpg9YkPTVA0YNLJ9Q1avH17+7CGjkh5vUJ8HIBQ9TSfJG6tlz95hU9NUDRgycvSmrMZ0lDt77I5JQtWAWTuN7p3VzqVWvcuuSV9vUp8NwH99m06S3Uqselz/pqkaKGz30f2z2qO0qvccnyRUDZg1sOkk2atWzuy9JySNvFl9TgCfNWo6SfYppep990sSqgbMatx0kkwsYfakZk0nyVvU5wXw1f6jm2V1gPXZB05OEqoGzGredJIcZHn2wYM1TdVALlNGD5bVIVZnb/oMWxNvVZ8dwD+DN50kh1qcvVOrpqkayGzK1FZZHWZt9u6jWzadJG9TnyHAL9NaNm3vq5CtfkegaiC7w6enycrO1yumpWuaqoEM0jVt52MgR6ScXXek+jwBvkjbtI0/LR2VvmmqBlLK8LPS+K/AR2dpOjnm7epzBfggS9Omf1gem2k2VQNpZGvabFbHHZOtaaoGWsv0nnZ9Vu8wNvv4zE3Xx79TfcYAt2Vuup7VuwzNfnf2pKkaaOE92ZuuZ/VeI7NPyNU0VQODydV0PasZBmZvnrNpo28AgMDkbLqe1XGFZx+Zu2mqBprJ9jfiPqa/r+DsIk0bfFsPBKVA00ky9f2FZp9YqGmqBho5Osffk3pX/YECs08q2DRVAwMdW6zpetUfzD375MJNG/sveCAYhZuuVz0t5+xTDDRN1UBf2T+f2ajqKXlG1w4w0jRVA70ZaTpJ2j+UfXTtVENNUzWwyQwzTderPi3r6NrpxpquV/1h9ZkE3HCGqaaT5Myzso2unW2waaoGNjjDZFZnnpNldO1co00b+sAq4DmjTdernpl+dMfOhpumaqBSOd50VpMPTDu6OsZ401QNGG86SSacl2509XwLTRv5cgngsXz3JWjhggvTjK7OstI0VSNuVpquV/2R1qOrF1lqOkmmf1R9XgGVj9nK6oKPtxpdvdha01SNeFlrOknG7zn46LZLLDZN1YjVCTazGj9usNGdl1pt2sBNGwAPWW06SUZ9ovnozsssN50kU6ka0bHcdJJ88lPNRndebr3pwrdiAbyT/96d6av+dOPRXVeU0DRVIzYlNJ0kV36m0eju2aU0TdWIy1XlZHXliIGju68uqemCt00DvFJS00lyzXb9R3dfW1rTVI14FLvHdiaf/Vzf0XOuK7FpqkYsSmy6XvXne4+e84VSm6ZqxKHUppPki1/aNPr6L5fcdKEbFwOeuKHsrL7y1Z7R13+t9KapGuErvel61XM3jJ73dUHT9aq/oT7ngE1Fn1mVy/wb142e901J01SNsEmarld9U6Wy4FuipqkaIRM1nSTf/k6lvM+cDNQ+Un3mATtMPIcup1mVuTcLq879mC/AacWfF5vbd2+pUDVg2q3apiuVhdKqcz28D3CZvGmqBowSvp/uaVpcdfv31NcAMMmJputV36asOseDdgFX3e5G01QNGOJM01QNGOFQ01QNGHCKS01XKouUVZ95mvpqAMUJm/7+LY0OiKqBQu5wrel61XdSNZCbg02rqz5LfU2AAmoTXWyaqoG8XG2aqoF8aqe62nSlspiqgcxcblpd9TnqiwPkULvL5aapGsjK9aapGsjG/abrVd9N1UBatdPdb7pSWSKt+mD1RQIy8KNpqgbSqp3tR9PiqifPVF8oICV/mqZqII3auf40TdVAa341Xa96PlUDg/Gt6UrlRmXVE36gvmBAC/41Xanccy9VA83U7vOvaaoGmlM2fX/upiuVpdKqz1NfNqCp2gN+Ni2u+gKqhqv8bVpd9YXqSwc01LHM36brVT9I1UBfHWN8bpqqgf58b5qqgb6q3jetrvoj6ksI9FE9X9j0HFNbLKdqYKMwmqZqoEcoTderfoiqgXrTD4fStLrqj6svJbBeSE2Lqx5P1XBBdVZITVM1EFrTVI3Yhdd0vepHlFXvqb6kiFz1ovCarlRWUDWiFWbT6qrHqS8rIlZ9NMymqRqxUjY9e6Xd3agaMQq5aXHVo/5OfXERperFITddr/oxqkZcQm+6UnlcWfUnP6G+wIhO29ahN03ViEvbJeE3TdWISRxNUzXi0XZpHE1XKqueUFb9KfWFRjQ6o2maqhGHmJqmasQgrqbrVT9J1Qhb51NxNV2prFZWfeWn1RccwYuvaapG2Dovi69pqkbIlE3/UNY0VSNcsTatrvoz6guPYHVeHmvT9aqfpmqEJ+amqRoh6rwi5qapGuGJvelKZY2y6mtGqNdHcLqib5qqERaaXmfNM1SNUHStpel1pFV/9ln1+gjIytk0vYG26s+p10cwVj5H0z2oGiGg6d6oGv7rpuk+1jxP1fBb99U03dcLVA2vSZv+kXr7xrRVf169PjzXfS1NDySt+otUjSJoujGqhq9ouhmqhp9ourkXXlRW/SX1+vBU93W6l+2PHW+aquEjmh7cgpeoGn6ZQ9MtSKv+ClUjqzlfoOlWtFV/Vb0+PEPTaSz4FlXDFzSdDlXDFzSdFlXDD3N+QtNpzaNqeICms9BWPVe9Prww536azmLe3wurvpmq0dpPv0bT2VA13HY9TWcmrXr+jer14TiazoOq4a7rv657cf7M26apGu6i6bzmfVNZ9U3q9eEsms5PWvW3b1KvD0fRdKGzR9VwjvJV6X/TVA33KH9/DKFp7W86VI2BaLo4bdXfUa8Pxyj/JhNK0+Kqf07V6I2mzaBquIKmTaFquEH57cGwmtZ+zjb5+T+o14cjlHfvCK1pqoYLaNosqoYaTZum/EY6VUN77+owmxZX/Quqjh1N26C8I1Tyi3vU60NK+ZS3cJvW3ruRquOmfMpyyE1TNVRo2h6qhgJN2ySt+l6qjtMaYdO/DL5p7bOLksf+Ub0+BNY8Q9N2Sav+J6qOD03bR9UoE02XgapRHpoux5zrqBrlWPM0TZejW1r1P6vXR2lW03RppFX/C1XHQtp0l3r7slE17Fv9JE2XiaphG02XrftaqoZNNF0+adX/StWhW0XTAlQNe1Y9QdMK2qr/Tb0+LKJpFaqGHTSt0301VcO8xx+jaR1p1b+i6jDRtBZVw7QVNC3W/Zyy6lXq9WHcikdoWm0lVcMgZdO/pumNqBrm0LQbqBqmLKdpR0irfoKqw7H8IZp2RddaYdUv/ka9PgyhaZdQNYqjabdIq/4tVYeApl3TdQVVo4jlD9K0a6gaRSylaQdpq/6den0UQtNu6lRW/Xuq9hlNu4qqkc/Se2naVZ2XUzWyo2mXUTWyu0fY9FqabomqkRVNu67zMmHV/07V/lkyn6Zdp636P9TrI6Mld9O0+6ga6dG0H6gaadG0L6RV/ydV+2MxTXuj8ymqRmuL76Rpf1A1WqNpv2irXqBeHynQtG86LxVW/RJVu28RTXuHqjEYmvYRVaM5ZdNbt6m391ebsuov/1S9Pgax6Daa9hNVo7GFNO2ttkuoGgPRtM+oGgPRtN+kVf/Xf6vXRwMLb6Zpv1Vfpmr0NpemvVe9mKqxCU2HQFr1/1C1W2g6DFSNHs9uQdNhoGpssBlNB6P6KFWDpsMirfq7VO0Gmg6Ltupb1OujbihNB6Z6EVXHbeg2uhfA/9K0FVQdN5oOkbTq71O1Fk2HqTqLqmNF06Gi6lgNo+lgUXWcaDpk0qrvn6NeP1LDtqfpkFF1fLaj6cBVH6bquNB0+KRVz16pXj86NB0Dqo7JCJqOQvV8qo7FiGtoOg7Sqn9I1eVRNv0ami4VVceBpmNSHaOs+kfq9SPxh1E0HZMOqg4eTcdGWvWPqdq+ITQdHaoOG03HiKpDNmRHmo5RxzJh1T+japt2oOlI1R6g6jBJmx6u3j5uVB0mmo4ZVYdoLE1HTVr1L7vU6weJpmNXu4+qw0LToOqwjN2VpkHVIdmFplFXO1dY9a+p2iSaxgZUHQqaRg9p1Wup2pRxNI1XUXUIaBq9Savm4cVGjBtP0+itdjZV+03Z9OuGq7dHI1Tttz9OoGn0J62a28kWRNNopHY6VfvqFZpGQ1TtK5pGM9Kq+Q/U3F7Zj6bRTO0uqvbP3jSNQVC1f2gag6Nq3+xL02ihdqqwal4kmdE0WqNqn9A00pBW/frh6vW9QtNIpzaRqv0wiaaRElX7Qdk0l8k3VO2DSZO5SMjgDmHVbxyu3t4LB9I0sqFqx9E0MqNqp82kaWSnrPrlqnp7x9E0cjmFql1F08iJqh21VTtNIydl1cs61Ns7i6ZRwO1U7Z5taRpFKKvemaoboWkURNWOGUnTKOpkYdW7UXV/NA0DqNohI0fTNAygamfsRNMw41aqdgNNwxhl1XtQdY/daRrmULUDaBpGnUTVajQNw5RV/4mqtU3zVdhAUbXU/jQN85RV7xV71TQNK05UVl1Tby81haZhB1WL0DSsoWqJKVNpGtbcIKx6n1irnkbTsImqS3f4dJqGVVRdMpqGdUcKq/5zfFXTNEqgrHpibFUfQdMog7LqA+KqmqZREmnV6uXLRNMozVVUXYajhE2/PFy9PUpG1SWgaZRKWfVf1MuX4z00jXJtTtV20TRKR9VW0TQElFUfpF7etqNpGgonULUtNA0RZdWHqJe36ehjhE3zYPC4UbUVx9I0dKjaApqG1MeEVR+qXt6O42gaWlRtGE1DjqqNmkHT0Hu3sOq/qpc37Qyahguo2pgzhKeSptGLsurD1MubRNNwxvFU7ftppGn0Q9Wen0SaxgDKF+Tf1MuboXwTQ9NoQPl2cEv18iYom14W+0NF0RhVF6L8cz9Nownln1i9r5qm4SRl1a9VL1/MCTQNNyk/4uh11TQNZym/jPAG9fL50TQcRtU5KG/2RtNoiaozUza9M02jNeVtO96kXj6Pq2garqPqTGgaHlBW/Wb18lkpHyBK00hNeYNbz6qmaXiCqlOiaXhD+YCJt6iXT+8GmoY/qDoFmoZXqLqlE2kaflE+ivWt6uXToGl4h6oHRdPwkLLqt6mXb+UkmoaPjqLqZpRN70bTyI+qm7iVpuErZdVHqpdvjqbhsSOoeqCTaRo+E1Z9zNvVyzdG0/AcVfdzO03Dd1TdB00jAMqq36levj+aRhAOp+oep9A0wqCs+h3q5XujaQSDqte7g6YRjv+jappGYKZN1VX9LvXy69Um0jTCMiXyqmka4Ym76tqpNI3wTBmtq/q94t1pGmGKt+raXTSNMMVaNU0jXPsLq/6wbGuaRshirLp2Ok0jZPFVLW16D5qGfbsLq54h2Ld2Nk0jdHFVTdOIQUxV186lacRAWfVxpW5K04hFLFXTNOKxk67q6R8tbUuaRkxiqLp2H00jJuFXTdOIzUhh1e8rYb/aAzSN2Airnmq/appGjEa266p+v+XdOpbRNGIUbtUdY2gacdo20KqlTf+JpqGkrPoD1raq0jQiFmLV1fNpGjELr2qaRuy2CqxqmgaUVX/Q+DbVh2kamDk5nKppGlhHWfU3jG5SnUXTwDqhVE3TQI8wqqZpYJMDhVVPM7RD9SKaBjbxv2qaBvpSVj3FwPFXHxU2vRdNw0WTvK6apoGBfK6apoFGJu0n66L9e4WOvHoxTQONKKv+UIHjpmmgGT+rbtuapoFm9vWw6rZLaBpozr+qaRoYnLDqM0/LcbxtlyqbrqkvF5CCX1V30jTQkk9V0zSQxt7Cqs/KdKQ0DaTjS9WdT9E0kI4fVdM0kN4rHlTdeRlNA+kpqz4n1RHSNJDNKxPcrpqmgazcrrrzcpoGslJWfXCLY6NpII8/Olt15xU0DeThatXSpvehafhMWPXkmU2PqoumgdzGjXevapoGinCv6q61NA0UMW5Xt6peOZumgWKEVU/4wYCjWfkcTQNFuVQ1TQMm7CKs+rw+R9JN04ARwqov6F1199U0DZjhRtU0DZijrPrCjcfQfS1NA+aMlVdN04BZ6qppGjBNW7W06T/TNMK0p+4To+Mn/UTY9F00jVCN3VFYlg4/pxGwHWKsmqYRtAirpmkELrqqaRrBi6xqmkYEoqqaphGFIfFUTdOIRDRV0zSiMWSUOjeaBsyKomqaRlQiqJqmEZk/hF71ATSN2AReNU0jQkFXTdOI0ohr1OnRNGBWsFXTNKIVaNU0jYgFWTVNI2ojtlcnaL5p9TkFtLYLrWqaRvQCq5qmgbCqpmmgElTVNA2sNyyUqmka2CiQqmkaeFUQVdM00MuwbdRJ0jRglvdV0zTQz1C/q6ZpYACvq6ZpoAGPq/6L+twBbvK2apoGmvC0apoGmhq6hTpQmgbM2sy/qmkaGJR3VdM00IJnVdM00JJXVdM0kIJHVdM0kMqzvlRN00BKnlRN00Bqc29WB0vTgFkeVE3TQCbOV32Q+gwBvlnodtU0DWTmdNU0DeSw8DZ1ujQNmOVs1TQN5ORo1TQN5OZk1TQNFLDIvappGijEuappGijIsappGihs0Z3qkGkaMMuhqmkaMMKZqmkaMMSRqg9RnwcgHItdqJqmAYMcqJqmAaPkVdM0YNjiu2kaCMsSZdU0DVggrJqmAStkVdM0YImoapoGrJFUTdOARYKqaRqwasl8mgbCcs+9pTZ9qHpfIHylVk3TQAlKrJqmgVIsLatqmgZKUlLVNA2UZumDNA2EpYSqaRoolfWqaRoomeWqaRoo3XKbVdM0IGCxapoGJKxVTdOAyPKHaBoIi5Wq/6reCoiZhappGpAyXjVNA2LLH6FpICwrTFZN04ADDFZN04ATjFVN04AjDFVN04AzjFRN04BDDFRN04BTVjxG00BYHi9WNU0DzilUNU0DDipQ9WHqYwfQyKonaBoIS86qaRpwVq6qaRpwWI6qaRpw2qonaRoIy+psVdM04LxMVdM04IEMVdM04IXUVdM04ImUVdM04I3VT9M0EJYUVdM04JWWVf9NfYQAslnzNE0DYRm0apoGPLTmGZoGwtK0apoGPNWkapoGvNWwapoGPLbmeZoGwvLC8zQNhKVf1TQNeK9P1TQNBKBX1TQNBOHVqmkaCMTGqmkaCMYLL9ab3lJ9FADMWfASTQNh+c0M9RGgJP8P5t0pxT6Z4AgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMDYtMTJUMDM6MzQ6MjQrMDg6MDDcZyWIAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA0LTE2VDE1OjU4OjE0KzA4OjAwW3ugBwAAAFR0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9kYi9zdmdfaW5mby9zdmcvYzAvNmYvYzA2ZmU4YWYxMjE0M2U4NWQ2M2M3ZDA0OWJkM2ZlY2Quc3ZndqlM/QAAAABJRU5ErkJggg==) no-repeat;background-size:20px;background-position-y:1px;background-position-x:1px;-webkit-transform:rotate(180deg);border:none;opacity:.3;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field div.buttons button.down{height:50px;width:23px;background:url(data:image/png;base64,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) no-repeat no-repeat;background-size:20px;border:none;opacity:.3;background-position-y:21px;background-position-x:0px;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field input{margin:-14px 0 0 63px;font-size:18px}.second .col-sm-12{margin:0 1em 0 0}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-label-wrapper label{display:none}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{display:inline}eqp-attachments ::ng-deep div button{padding:5px 35px;background:linear-gradient(to right,#1E31EB,#693DDA);border-radius:10px}eqp-attachments ::ng-deep div button span mat-icon{margin-right:5px}eqp-attachments ::ng-deep div button.eqp-attachments-delete-btn{color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:first-child{padding:20px 40px;background-color:#ebebeb;color:gray;font-size:19px;font-weight:700}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .mat-form-field-label-wrapper label{margin-top:21px;margin-left:25px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary[disabled]{padding:7px 35px;border-radius:10px;font-size:14px;background-color:#dbdbdc!important;color:#000;background:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary:not(disabled){padding:7px 35px;border-radius:10px;font-size:14px;background:linear-gradient(to right,#1E31EB,#693DDA);color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button{margin:0 10px 0 0!important;border:1px solid #1E31EB;padding:7px 35px;border-radius:10px;font-size:14px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button[disabled]{border:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .ng-star-inserted .justify-content-center button{padding:4px;margin:0;border:none;left:8px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:last-child{padding:50px 20px 20px 0}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input{background-color:#ebebeb!important;background:url(data:image/png;base64,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) no-repeat;background-size:19px;background-position:19px;padding:15px 0 15px 53px!important}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input:focus{background-color:#fff!important;border:1px solid #e7e7e9}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper .mat-form-field-label-wrapper label{margin-top:21px;margin-left:55px}eqp-table ::ng-deep mat-header-row{background-color:#ebebeb;border-bottom-width:0px}eqp-table ::ng-deep mat-header-row .mat-column-Required{flex:none!important}eqp-table ::ng-deep .mat-sort-header-button{color:#3b3a3b;font-size:15px}eqp-table ::ng-deep .mat-row{background-color:#fff;margin:10px 0;box-shadow:0 3px 7px -3px #0003;padding:5px 0}eqp-table ::ng-deep .mat-row .mat-column-Required{flex:0 0 8%!important}eqp-table ::ng-deep .mat-row mat-cell eqp-select{margin-top:16px}eqp-table ::ng-deep .mat-row mat-cell eqp-select .mat-form-field-wrapper{padding-bottom:0}eqp-table ::ng-deep .mat-row .mat-cell:last-child span i.success-color{background-color:#383fec;color:#fff!important;padding:6px;border-radius:3px}@media screen and (max-width: 1100px){.row:not(.title){margin:0!important}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0}.buttonsForm{padding:0 30px 20px 0;margin:50px 0 0}}@media screen and (max-width: 766px){.increasableValues{display:flex;flex-direction:column}.increasableValues .col-sm-12{margin:0 0 -1.5em}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0 0 -3.4em}.buttonsForm{margin:55px 0 0!important;padding:0 13px 20px 0;transform:translateY(110px)}}@media screen and (max-width: 577px){.increasableValues .col-sm-12{margin:0 0 1.5em}}\n"] }]
536
+ }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.EnumHelper }, { type: i3.MatDialog }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { field: [{
537
+ type: Input
538
+ }], indexField: [{
539
+ type: Input
540
+ }], formFieldsGroups: [{
541
+ type: Input
542
+ }], availableFields: [{
543
+ type: Input
544
+ }], fieldTypesToExclude: [{
545
+ type: Input
546
+ }], saveFieldEvent: [{
547
+ type: Output
548
+ }], textFieldFormTemplate: [{
549
+ type: ViewChild,
550
+ args: ['textFieldFormTemplate', { static: true }]
551
+ }], textareaFieldFormTemplate: [{
552
+ type: ViewChild,
553
+ args: ['textareaFieldFormTemplate', { static: true }]
554
+ }], booleadFieldFormTemplate: [{
555
+ type: ViewChild,
556
+ args: ['booleadFieldFormTemplate', { static: true }]
557
+ }], dateFieldFormTemplate: [{
558
+ type: ViewChild,
559
+ args: ['dateFieldFormTemplate', { static: true }]
560
+ }], numericFieldFormTemplate: [{
561
+ type: ViewChild,
562
+ args: ['numericFieldFormTemplate', { static: true }]
563
+ }], attachmentFieldFormTemplate: [{
564
+ type: ViewChild,
565
+ args: ['attachmentFieldFormTemplate', { static: true }]
566
+ }], imageFieldFormTemplate: [{
567
+ type: ViewChild,
568
+ args: ['imageFieldFormTemplate', { static: true }]
569
+ }], listValueFieldFormTemplate: [{
570
+ type: ViewChild,
571
+ args: ['listValueFieldFormTemplate', { static: true }]
572
+ }], lookupFieldFormTemplate: [{
573
+ type: ViewChild,
574
+ args: ['lookupFieldFormTemplate', { static: true }]
575
+ }], metadataFieldsTable: [{
576
+ type: ViewChild,
577
+ args: ['metadataFieldsTable', { static: false }]
578
+ }], dialogMetadata: [{
579
+ type: ViewChild,
580
+ args: ['dialogMetadata', { static: true }]
581
+ }], buttonImagesKeyValueInputColumn: [{
582
+ type: ViewChild,
583
+ args: ['buttonImagesKeyValueInputColumn', { static: true }]
584
+ }] } });
585
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2FkZC1mb3JtLWZpZWxkL2FkZC1mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybS1maWVsZC9hZGQtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFzQixrQkFBa0IsRUFBb0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEcsT0FBTyxFQUFFLGNBQWMsRUFBMkMsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFtQyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsSSxPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0YsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckYsT0FBTyxFQUFlLG9CQUFvQixFQUFrQixNQUFNLDZDQUE2QyxDQUFDO0FBSWhI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LHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJSixjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbUIsK0JBQStCO3NCQUE5RixTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRUeXBlLCBFcXBBdHRhY2htZW50c0NvbXBvbmVudCwgSUF0dGFjaG1lbnREVE8gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1hdHRhY2htZW50cyc7XHJcbmltcG9ydCB7IFBpY2tlck1vZGVFbnVtIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtZGF0ZXRpbWVwaWNrZXInO1xyXG5pbXBvcnQgeyBFbnVtSGVscGVyIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtc2VsZWN0JztcclxuaW1wb3J0IHsgQ2VsbEFsaWdubWVudEVudW0sIENvbmZpZ0NvbHVtbiwgRXFwVGFibGVDb21wb25lbnQsIFR5cGVDb2x1bW4gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC10YWJsZSc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgQ29sU3BhblNpemVzRW51bSwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50RmllbGQsIEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zLCBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2F0dGFjaG1lbnRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbFByZXNlbnRhbnRpb0VudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2Jvb2xlYW5GaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVGaWVsZCwgRGF0ZVRpbWVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvZGF0ZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW1hZ2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvaW1hZ2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEJ1dHRvbkltYWdlLCBMaXN0UHJlc2VudGF0aW9uRW51bSwgTGlzdFZhbHVlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2xpc3RWYWx1ZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTG9va3VwRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2xvb2t1cEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9udW1lcmljRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0YXJlYUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVGV4dE1hc2tFbnVtLCBUZXh0RmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL3RleHRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZEdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBBcnJheVZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jdXN0b20tZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFcXBEeW5hbWljTW9kdWxlRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2VxcC1keW5hbWljLW1vZHVsZS1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VxcC1keW5hbWljLW1vZHVsZS1hZGQtZm9ybS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBmaWVsZDogQmFzZUZpZWxkIHwgYW55O1xyXG4gIEBJbnB1dCgpIGluZGV4RmllbGQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBmb3JtRmllbGRzR3JvdXBzOiBBcnJheTxGb3JtRmllbGRHcm91cD47XHJcbiAgLyoqIEVsZW5jbyBkZWkgRmllbGQgY3JlYXRpIG5lbGxhIGZvcm0sIHVzYXRpIHBlciBwb3BvbGFyZSBsJ2F1dG9jb21wbGV0ZSBkZWxsYSBwcm9wcmlldMOgIEZvcm11bGEuICovXHJcbiAgQElucHV0KCkgYXZhaWxhYmxlRmllbGRzOiBBcnJheTxCYXNlRmllbGQ+O1xyXG4gIEBJbnB1dCgpIGZpZWxkVHlwZXNUb0V4Y2x1ZGU6IEFycmF5PEZpZWxkVHlwZUVudW0+ID0gW0ZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ11dO1xyXG5cclxuICBmaWVsZEZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDtcclxuICBrZXlWYWx1ZU9iamVjdDogeyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9ID0geyBrZXk6ICcnLCB2YWx1ZTogJycgfTtcclxuICBhdmFpbGFibGVDb2xTcGFuU2l6ZXM6IEFycmF5PENvbFNwYW5TaXplc0VudW0+ID0gW107XHJcbiAgZm9ybXVsYUF1dG9jb21wbGV0ZU9wdGlvbnM6IEFycmF5PHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9PjtcclxuICBBdmFpbGFibGVGaWxlRXh0ZW5zaW9ucyA9IEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zO1xyXG4gIEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9ucyA9IEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9ucztcclxuICBcclxuICBAT3V0cHV0KCkgc2F2ZUZpZWxkRXZlbnQ6IEV2ZW50RW1pdHRlcjxCYXNlRmllbGQgfCBhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNlRmllbGQgfCBhbnk+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBUZW1wbGF0ZSBkZWkgdmFyaSBwZXp6aSBkaSBmb3JtIHBlciBsYSBjcmVhemlvbmUgZGkgdW4gY2FtcG8oaW4gYmFzZSBhbCB0aXBvIHNjZWx0bykuXHJcbiAgZmllbGRUeXBlRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3RleHRGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIHRleHRGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCd0ZXh0YXJlYUZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgdGV4dGFyZWFGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdib29sZWFkRmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBib29sZWFkRmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZUZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZUZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ251bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIG51bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdhdHRhY2htZW50RmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhdHRhY2htZW50RmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGltYWdlRmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnbGlzdFZhbHVlRmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0VmFsdWVGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdsb29rdXBGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGxvb2t1cEZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgZ2VzdGlyZSBpIG1ldGFkYXRhIG5laSBjYW1waSB0aSBkaXBvIEFsbGVnYXRvIG8gSW1tYWdpbmVcclxuICBtZXRhZGF0YUNvbHVtbnM6IEFycmF5PENvbmZpZ0NvbHVtbj47XHJcbiAgQFZpZXdDaGlsZCgnbWV0YWRhdGFGaWVsZHNUYWJsZScsIHsgc3RhdGljOiBmYWxzZSB9KSBtZXRhZGF0YUZpZWxkc1RhYmxlOiBFcXBUYWJsZUNvbXBvbmVudDtcclxuICBzZWxlY3RlZE1ldGFkYXRhOiBCYXNlRmllbGQ7XHJcbiAgaW5kZXhTZWxlY3RlZE1ldGFkYXRhOiBudW1iZXI7XHJcbiAgZGlhbG9nTWV0YWRhdGFSZWY6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICBAVmlld0NoaWxkKCdkaWFsb2dNZXRhZGF0YScsIHsgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ01ldGFkYXRhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgZ2VzdGlyZSBsZSBpbW1hZ2luaSBuZWkgY2FwaSBkaSB0aXBvIGVsZW5jbyBnZW5lcmljb1xyXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkltYWdlc0tleVZhbHVlSW5wdXRDb2x1bW4nLCB7IHN0YXRpYzogdHJ1ZSB9KSBidXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gRW51bWVyYXRvcmkgdXNhdGkgbmVsbCdodG1sXHJcbiAgRmllbGRUeXBlRW51bSA9IEZpZWxkVHlwZUVudW07XHJcbiAgQm9vbFByZXNlbnRhbnRpb0VudW0gPSBCb29sUHJlc2VudGFudGlvRW51bTtcclxuICBEYXRlVGltZVR5cGVFbnVtID0gRGF0ZVRpbWVUeXBlRW51bTtcclxuICBMaXN0UHJlc2VudGF0aW9uRW51bSA9IExpc3RQcmVzZW50YXRpb25FbnVtO1xyXG4gIFRleHRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuICBBdHRhY2htZW50VHlwZSA9IEF0dGFjaG1lbnRUeXBlO1xyXG4gIHBpY2tlck1vZGVFbnVtID0gUGlja2VyTW9kZUVudW07XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBlbnVtSGVscGVyOiBFbnVtSGVscGVyLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkVHlwZXNUb0V4Y2x1ZGUuaW5jbHVkZXMoRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXSkpIHtcclxuICAgICAgdGhpcy5maWVsZFR5cGVzVG9FeGNsdWRlLnB1c2goRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkZpZWxkVHlwZUNoYW5nZShmYWxzZSk7XHJcbiAgICB0aGlzLmF2YWlsYWJsZUZpZWxkcyA9IHRoaXMuYXZhaWxhYmxlRmllbGRzID8gdGhpcy5hdmFpbGFibGVGaWVsZHMuZmlsdGVyKGYgPT4gZiAhPSB0aGlzLmZpZWxkKSA6IFtdO1xyXG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGltcG9zdGFyZSBpIHZhbG9yaSBkYSBzdWdnZXJpcmUgbmVsbCdhdXRvY29tcGxldGUgZGVsIGNhbXBvIEZvcm11bGEuXHJcbiAgICogVmllbmUgc2NhdGVuYXRvIGFsIGZvY3VzIChpbiBxdWVzdG8gY2FzbyB2aWVuZSBwYXNzYXRvIGlsIHBhcmFtZXRybyBhIG51bGwgcGVyIGRpZmZlcmVuemlhcmxvXHJcbiAgICogZGFsbCdldmVudG8gZGkgY2xpY2sgc3VsbGEgdGFzdGllcmEpIGUgYWwga2V5dXAgc3VsbCdpbnB1dCAoaWwgcGFyYW1ldHJvIMOoIGRpdmVyc28gZGEgbnVsbCkuXHJcbiAgICogQHBhcmFtIGtleWJvYXJkRXZlbnQgRXZlbnRvIHNjYXRlbmF0byBhbCBrZXl1cCBzdWxsYSB0YXN0aWVyYS4gU2UgbnVsbCBhbGxvcmEgaWwgbWV0b2RvIMOoIHN0YXRvIGludm9jYXRvIGRhbCBmb2N1cyBzdWxsJ2lucHV0LlxyXG4gICAqIEBzdW1tYXJ5IEFnZ2lvcm5hIGwnZWxlbmNvIGRlaSBzdWdnZXJpbWVudGkgcGVyIGwnYXV0b2NvbXBsZXRlIHNlIGwndXRlbnRlIGVzZWd1ZSBpbCBmb2N1cyBzdWxsJ2lucHV0XHJcbiAgICogb3BwdXJlIGFsIGtleXVwIHN1bGxhIHRhc3RpZXJhIGRpIHVuIHRhc3RvIGRpdmVyc28gZGFsbGUgZnJlY2NlLlxyXG4gICAqL1xyXG4gIHNldEZvcm11bGFBdXRvY29tcGxldGVPcHRpb25zKGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIENyZW8gbCdhcnJheSBwZXIgbCdhdXRvY29tcGxldGUgc29sbyBzZSBzdG8gZmFjZW5kbyBpbCBmb2N1cyBzdWxsJ2lucHV0IG8gc2Ugc3RvIHByZW1lbmRvIHVuIHRhc3RvXHJcbiAgICAvLyBzdWxsYSB0YXN0aWVyYSBkaXZlcnNvIGRhbGxlIGZyZWNjZSAoaW4gcXVlc3QndWx0aW1vIGNhc28sIHNlIG5vbiB2aWVuZSBlc2VndWl0byBpbCBmaWx0cm8gc3VsbCdldmVudG8sXHJcbiAgICAvLyBub24gc2kgcHXDsiBzZWxlemlvbmFyZSB1biBzdWdnZXJpbWVudG8gZGVsbCdhdXRvY29tcGxldGUgcGVyY2jDqCBhbCBjbGljayB2ZXJyZWJiZSByaWNhcmljYXRvIGwnYXJyYXkgZVxyXG4gICAgLy8gc2kgcHJlZGVyZWJiZSBsYSBzZWxlemlvbmUgYXBwZW5hIGZhdHRhKS5cclxuICAgIGlmICgha2V5Ym9hcmRFdmVudCB8fCAha2V5Ym9hcmRFdmVudC5jb2RlLmluY2x1ZGVzKFwiQXJyb3dcIikpIHtcclxuICAgICAgdGhpcy5mb3JtdWxhQXV0b2NvbXBsZXRlT3B0aW9ucyA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkdldEF1dG9jb21wbGV0ZU9wdGlvbnModGhpcy5hdmFpbGFibGVGaWVsZHMsIHRoaXMuZmllbGQuRm9ybXVsYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhIGlsIEZvcm1Hcm91cCBwZXIgbCdhZ2dpdW50YSBkaSB1biBudW92byBjYW1wbyBhbGwnaW50ZXJubyBkZWxsYSBmb3JtLlxyXG4gICAqIE1ldG9kbyByaWNoaWFtYXRvIG9nbmkgdm9sdGEgY2hlIGNhbWJpYSBpbCB0aXBvIGRlbCBjYW1wbyBzY2VsdG8gbyB2aWVuZSBhZ2dpdW50by9tb2RpZmljYXRvIHVuIEZpZWxkXHJcbiAgICovXHJcbiAgY3JlYXRlRmllbGRGb3JtKCkge1xyXG4gICAgdGhpcy5maWVsZEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBMYWJlbDogW3RoaXMuZmllbGQuTGFiZWwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBEZXNjcmlwdGlvbjogW3RoaXMuZmllbGQuRGVzY3JpcHRpb25dLFxyXG4gICAgICBSZXF1aXJlZDogW3RoaXMuZmllbGQuUmVxdWlyZWRdLFxyXG4gICAgICBGaWVsZFR5cGU6IFt0aGlzLmZpZWxkLkZpZWxkVHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIEZvcm11bGE6IFt0aGlzLmZpZWxkLkZvcm11bGFdLFxyXG4gICAgICBDb2xTcGFuU2l6ZXM6IFt0aGlzLmZpZWxkLkNvbFNwYW5TaXplc10sXHJcbiAgICAgIEluTGlzdFZpZXc6IFt0aGlzLmZpZWxkLkluTGlzdFZpZXddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUZpZWxkc0dyb3Vwcykge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0ZpZWxkR3JvdXAnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuZmllbGQuRmllbGRHcm91cCwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGNoaWFtYXRvIHF1YW5kbyBjYW1iaWEgaWwgRmllbGRUeXBlIGRlbCBCYXNlRmllbGQgY2hlIHNpIHN0YSBhZ2dpdW5nZW5kby9tb2RpZmljYW5kby5cclxuICAgKiBSaWNyZWEgbCdvZ2dldHRvIGZpZWxkIHBvcG9sYW5kbyBzb2xvIGxlIHByb3ByaWV0w6AgZGVsIEJhc2VGaWVsZCBpbnNlcml0ZSBkYWxsJ3V0ZW50ZVxyXG4gICAqIChxdWVsbGUgY29tdW5pIGEgdHV0dGUgbGUgdGlwb2xvZ2llIGRpIGNhbXBvKSwgcmljcmVhIGxhIGZvcm0gZSwgaW4gYmFzZSBhbCBGaWVsZFR5cGUgc2NlbHRvLFxyXG4gICAqIGFnZ2l1bmdlIGFsbGEgZm9ybSBpIEZvcm1Db250cm9sIG5lY2Vzc2FyaSBlIHNlbGV6aW9uYSBpbCB0ZW1wbGF0ZSBjb3JyZXR0byBkYSB1c2FyZS5cclxuICAgKiBAcGFyYW0gcmVzdG9yZUZpZWxkIFNlIFRSVUUgcmlwcmlzdGluYSBpIHZhbG9yaSBiYXNlIChlcmVkaXRhdGkgZGFsIG1vZGVsbG8gQmFzZUZpZWxkKSBkZWwgY2FtcG8gYWdnaXVudG8vbW9kaWZpY2F0b1xyXG4gICAqL1xyXG4gIG9uRmllbGRUeXBlQ2hhbmdlKHJlc3RvcmVGaWVsZDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmIChyZXN0b3JlRmllbGQpIHtcclxuICAgICAgdGhpcy5yZXN0b3JlQmFzZUZpZWxkUHJvcGVydGllcygpO1xyXG4gICAgfSBcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUZpZWxkRm9ybSgpO1xyXG4gICAgdGhpcy5vbkNvbFNwYW5TaXplU2VsZWN0KCk7XHJcbiAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IG51bGw7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuRmllbGRUeXBlKSB7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnQ2FtcG8gZGkgdGVzdG8nXTpcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ1RleHRNYXNrJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0RmllbGQpLlRleHRNYXNrKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNYXhMZW5naHQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRGaWVsZCkuTWF4TGVuZ2h0KSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaW5MZW5naHQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRGaWVsZCkuTWluTGVuZ2h0KSk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLnRleHRGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydBcmVhIGRpIHRlc3RvJ106XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdSb3dzJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0YXJlYUZpZWxkKS5Sb3dzKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNYXhMZW5naHQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRhcmVhRmllbGQpLk1heExlbmdodCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWluTGVuZ2h0JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0YXJlYUZpZWxkKS5NaW5MZW5naHQpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMudGV4dGFyZWFGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtLkJvb2xlYW5vOlxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnSXNUcmlzdGF0ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgQm9vbGVhbkZpZWxkKS5Jc1RyaXN0YXRlKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKFxyXG4gICAgICAgICAgJ1ByZXNldGF0aW9uVHlwZScsXHJcbiAgICAgICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEJvb2xlYW5GaWVsZCkuUHJlc2V0YXRpb25UeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLmJvb2xlYWRGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydEYXRhIGUvbyBvcmEnXTpcclxuICAgICAgICBpZiAodGhpcy5maWVsZC5Jc09ubHlEYXRlID09IG51bGwgKSB7XHJcbiAgICAgICAgICB0aGlzLmZpZWxkLklzT25seURhdGUgPSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIGRhdGEnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc09ubHlEYXRlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBEYXRlRmllbGQpLklzT25seURhdGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01pbkRhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIERhdGVGaWVsZCkuTWluRGF0ZSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWF4RGF0ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgRGF0ZUZpZWxkKS5NYXhEYXRlKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdEYXRlRm9ybWF0JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBEYXRlRmllbGQpLkRhdGVGb3JtYXQpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMuZGF0ZUZpZWxkRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0NhbXBvIG51bWVyaWNvJ106XHJcbiAgICAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuSXNJbnRlZ2VyID09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZmllbGQuSXNJbnRlZ2VyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc0ludGVnZXInLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuSXNJbnRlZ2VyKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaW5WYWx1ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5NaW5WYWx1ZSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWF4VmFsdWUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuTWF4VmFsdWUpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0RlY2ltYWxTZXBhcmF0b3InLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuRGVjaW1hbFNlcGFyYXRvcikpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnRGVjaW1hbFByZWNpc2lvbicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5EZWNpbWFsUHJlY2lzaW9uKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdUaG91c2FuZHNTZXBhcmF0b3InLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuVGhvdXNhbmRzU2VwYXJhdG9yKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdDdXJyZW5jeVN5bWJvbCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5DdXJyZW5jeVN5bWJvbCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5udW1lcmljRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5BbGxlZ2F0bzpcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woXCJBbGxvd2VkRXh0ZW5zaW9uc1wiLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuQWxsb3dlZEV4dGVuc2lvbnMpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzTXVsdGlBdHRhY2gnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuSXNNdWx0aUF0dGFjaCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5hdHRhY2htZW50RmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5JbW1hZ2luZTpcclxuICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uID0gbmV3IEF0dGFjaG1lbnRGaWVsZCgpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnRW5hYmxlRHJhd2luZycsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuRW5hYmxlRHJhd2luZykpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnQpKTtcclxuICAgICAgICAvLyBJbXBvc3RvIGkgRm9ybUNvbnRyb2wgdmFyaWFiaWxpLlxyXG4gICAgICAgIHRoaXMub25JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRDaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMuaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydFbGVuY28gZ2VuZXJpY28nXTpcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzTXVsdGlDaG9pY2hlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuSXNNdWx0aUNob2ljaGUpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woXHJcbiAgICAgICAgICAnUHJlc2VudGF0aW9uTW9kZScsXHJcbiAgICAgICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5QcmVzZW50YXRpb25Nb2RlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLmxpc3RWYWx1ZUZpZWxkRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW0uTG9va3VwOlxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgICAgICdFbnRpdHlTb3VyY2VOYW1lJyxcclxuICAgICAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTG9va3VwRmllbGQpLkVudGl0eVNvdXJjZU5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ1VzZUFzR2V0T3JEaXNjYXJkJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBMb29rdXBGaWVsZCkuVXNlQXNHZXRPckRpc2NhcmQpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMubG9va3VwRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoW0ZpZWxkVHlwZUVudW0uQWxsZWdhdG8sIEZpZWxkVHlwZUVudW0uSW1tYWdpbmUsIEZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ11dLmluY2x1ZGVzKHRoaXMuZmllbGQuRmllbGRUeXBlKSkge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm11bGEgPSBudWxsO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiRm9ybXVsYVwiXS5kaXNhYmxlKCk7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJJbkxpc3RWaWV3XCJdLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJGb3JtdWxhXCJdLmVuYWJsZSgpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiSW5MaXN0Vmlld1wiXS5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBjYW1iaW8gZGVsIHZhbG9yZSBkZWxsYSBwcm9wcmlldMOgIEltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudCBuZWwgY2Fzb1xyXG4gICAqIGRpIGNhbXBpIGRpIHRpcG8gSW1tYWdpbmUuIFNlIFRSVUUgYWxsb3JhIHJpbXVvdmUgaSBGb3JtQ29udHJvbCBwZXIgbGUgcHJvcHJpZXTDoCBJc011bHRpQXR0YWNoXHJcbiAgICogZSBBbGxvd2VkRXh0ZW5zaW9ucyBlIGFnZ2l1bmdlIGkgRm9ybUNvbnRyb2wgcGVyIGxlIHByb3ByaWV0w6AgSW1nTmFtZSBlIENvbnRleHR1YWxBdHRhY2htZW50LCBcclxuICAgKiBhbHRyaW1lbnRpIGlsIGNvbnRyYXJpby5cclxuICAgKi9cclxuICBvbkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudENoYW5nZSgpIHtcclxuICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkltZ05hbWUgPSBudWxsO1xyXG4gICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5BbGxvd2VkRXh0ZW5zaW9ucyA9IFtdO1xyXG4gICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5Jc011bHRpQXR0YWNoID0gZmFsc2U7XHJcbiAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5Db250ZXh0dWFsQXR0YWNobWVudCA9IG51bGw7XHJcblxyXG4gICAgaWYgKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudCkge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXCJJc011bHRpQXR0YWNoXCIpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXCJBbGxvd2VkRXh0ZW5zaW9uc1wiKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJbWdOYW1lJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5JbWdOYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnQ29udGV4dHVhbEF0dGFjaG1lbnQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXCJJbWdOYW1lXCIpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXCJDb250ZXh0dWFsQXR0YWNobWVudFwiKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc011bHRpQXR0YWNoJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLklzTXVsdGlBdHRhY2gpKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKFwiQWxsb3dlZEV4dGVuc2lvbnNcIiwgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLkFsbG93ZWRFeHRlbnNpb25zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGludGVyY2V0dGFyZSBsJ2FnZ2l1bnRhIGRpIHVuIGFsbGVnYXRvIG5laSBjYW1waSBkaSB0aXBvIEltbWFnaW5lIHBlciBhZ2dpb3JuYXJlXHJcbiAgICogaWwgdmFsb3JlIGRlbGxhIHByb3ByaWV0w6AgQ29udGV4dHVhbEF0dGFjaG1lbnQgZSBsYSB2YWxpZGF6aW9uZSBkZWwgcmVsYXRpdm8gRm9ybUNvbnRyb2wuXHJcbiAgICogQHBhcmFtIGV2ZW50IEFycmF5IGNvbnRlbmVudGUgbCdlbGVuY28gYWdnaW9ybmF0byBkZWdsaSBhbGxlZ2F0aSBjYXJpY2F0aSAobmVsIG5vc3RybyBjYXNvIG5lIGNvbnRpZW5lIGFsIHBpw7kgMSkuXHJcbiAgICovXHJcbiAgY2F0Y2hDb250ZXh0dWFsQXR0YWNobWVudENoYW5nZShldmVudDogQXJyYXk8SUF0dGFjaG1lbnREVE8+KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5Db250ZXh0dWFsQXR0YWNobWVudCA9IGV2ZW50WzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQ29udGV4dHVhbEF0dGFjaG1lbnQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9sc1snQ29udGV4dHVhbEF0dGFjaG1lbnQnXS5zZXRWYWx1ZSgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5Db250ZXh0dWFsQXR0YWNobWVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gaW52b2NhdG8gYWxsYSBzZWxlemlvbmUgZGkgdW5hIGNsYXNzZSBuZWxsYSBzZWxlY3QgcGVyIGxlIGNvbG9ubmUgZGkgYm9vdHN0cmFwXHJcbiAgICogZGEgdXNhcmUgbmVsbGEgdmlzdWFsaXp6YXppb25lIGRlbCBjYW1wby4gUXVlc3RhIGZ1bnppb25lIG1hbmlwb2xhIGxhIHNvcmdlbnRlIGRhdGkgcGVyXHJcbiAgICogbGEgZXFwLXNlbGVjdCBpbiBtb2RvIGRhIGVzY2x1ZGVyZSBpIHZhbG9yaSBkZWxsJ2VudW1lcmF0b3JlIGNoZSBmYW5ubyByaWZlcmltZW50byBhZFxyXG4gICAqIHVuYSBsYXJnaGV6emEgZGkgc2NoZXJtbyBnacOgIHNlbGV6aW9uYXRhLiBFc2VtcGlvOiBwZXIgZ2xpIHNjaGVybWkgcGljY29saSAoc20pIGwndXRlbnRlXHJcbiAgICogc2VsZXppb25hIGxhIGNsYXNzZSBcImNvbC1zbS02XCIsIGFsIGNoYW5nZSBkZWwgdmFsb3JlIHF1ZXN0byBtZXRvZG8gcmltdW92ZSBkYWxsYSBzZWxlY3RcclxuICAgKiB0dXR0aSBnbGkgYWx0cmkgdmFsb3JpIHBlciBsYSBncmFuZGV6emEgZGkgc2NoZXJtbyBzZWxlemlvbmF0YS5cclxuICAgKi9cclxuICBvbkNvbFNwYW5TaXplU2VsZWN0KCkge1xyXG4gICAgLy8gUmVjdXBlcm8gbCdhcnJheSBkZWdsaSBvZ2dldHRpIGNoaWF2ZS12YWxvcmUgY2hlIHJhcHByZXNldGEgbCdlbnVtZXJhdG9yZVxyXG4gICAgbGV0IGNvbFNpemVDbGFzc0VudW1BcnJheSA9IHRoaXMuZW51bUhlbHBlci5nZXRFbnVtQXJyYXkoQ29sU3BhblNpemVzRW51bSwgZmFsc2UsIG51bGwpO1xyXG4gICAgLy8gQ29zdHJ1aXNjbyBsJ2FycmF5IGRlbGxlIGNsYXNzaSBzZWxlemlvbmF0ZSBkYWxsJ3V0ZW50ZSBpbiBmb3JtYXRvIHN0cmluZ2FcclxuICAgIGxldCBzZWxlY3RlZERpbWVuc2lvbnM6IEFycmF5PHN0cmluZz4gPSB0aGlzLmZpZWxkLkNvbFNwYW5TaXplcyA/IHRoaXMuZmllbGQuQ29sU3BhblNpemVzLm1hcChjb2wgPT4gQ29sU3BhblNpemVzRW51bVtjb2xdKSA6IFtdO1xyXG4gICAgLy8gRmlsdHJvIGkgdmFsb3JpIG90dGVudXRpIGRhbGwnZW51bWVyYXRvcmUgcGVyIGVzY2x1ZGVyZSB0dXR0aSBpIHZhbG9yaSBwZXIgbGVcclxuICAgIC8vIGdyYW5kZXp6ZSBkaSBzY2hlcm1vIGdpw6Agc2VsZXppb25hdGVhZCBlc2NsdXNpb25lIGRlaSB2YWxvcmkgc2VsZXppb25hdGkuXHJcbiAgICB0aGlzLmF2YWlsYWJsZUNvbFNwYW5TaXplcyA9IGNvbFNpemVDbGFzc0VudW1BcnJheS5maWx0ZXIoKHZhbHVlOiB7IGtleTogbnVtYmVyLCB2YWx1ZTogc3RyaW5nIH0pID0+XHJcbiAgICAgICFzZWxlY3RlZERpbWVuc2lvbnMuZmluZChjb2wgPT4gdmFsdWUudmFsdWUuaW5jbHVkZXMoY29sLnN1YnN0cmluZyg0LCA2KSkgJiYgdmFsdWUudmFsdWUgIT0gY29sKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBjYW1iaW8gZGVsIHRpcG8gZGkgdmlzdWFsaXp6YXppb25lIHNjZWx0YSBwZXIgaSBjYW1waSBkaSB0aXBvIGVsZW5jbyBnZW5lcmljby5cclxuICAgKiBTZSB2aWVuZSBzY2VsdGEgbGEgdmlzdWFsaXp6YXppb25lIGFkIGltbWFnaW5pIHN2dW90YSBsYSBsaXN0YSBkZWxsZSBjb3BwaWUgY2hpYXZlLXZhbG9yZSBpbnNlcml0ZVxyXG4gICAqIGluIHByZWNlZGVuemEsIGFsdHJpbWVudGkgc3Z1b3RhIGxhIGxpc3RhIGRlbGxlIGltbWFnaW5pIGNhcmljYXRlLlxyXG4gICAqL1xyXG4gIG9uUHJlc2VudGF0aW9uTW9kZUNoYW5nZSgpIHtcclxuICAgIGlmICgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuUHJlc2VudGF0aW9uTW9kZSA9PT0gTGlzdFByZXNlbnRhdGlvbkVudW0uSW1tYWdpbmkpIHtcclxuICAgICAgKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMgPSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkJ1dHRvbkltYWdlTGlzdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gaW52b2NhdG8gcXVhbmRvIHZpZW5lIGNhcmljYXRvIGlsIGNvbXBvbmVudGUgZXFwLWF0dGFjaG1lbnRzIHBlciBjYXJpY2FyZSBsZSBpbW1hZ2luaSBkYSB1c2FyZSBcclxuICAgKiBuZWxsYSB2aXN1YWxpenphemlvbmUgYWQgaW1tYWdpbmkgZGVpIGNhbXBpIGRpIHRpcG8gXCJFbGVuY28gZ2VuZXJpY29cIi4gQWdnaXVuZ2UgZHVlIGNvbG9ubmUgYSBxdWVsbGVcclxuICAgKiBjb25maWd1cmF0ZSBuZWwgY29tcG9uZW50ZSBpbiBjdWkgbCd1dGVudGUgcHXDsiBpbmRpY2FyZSBjaGlhdmUgZSB2YWxvcmUgZGVsbGEgc2NlbHRhLlxyXG4gICAqIEBwYXJhbSBjb21wb25lbnQgSXN0YW56YSBkZWwgY29tcG9uZW50ZSBlcXAtYXR0YWNobWVudHMgaW4gY3VpIGVmZmV0dHVhcmUgbGEgbW9kaWZpY2EuXHJcbiAgICovXHJcbiAgY29uZmlndXJlQnV0dG9uSW1hZ2VzQ29sdW1ucyhjb21wb25lbnQ6IEVxcEF0dGFjaG1lbnRzQ29tcG9uZW50KSB7XHJcbiAgICBjb21wb25lbnQuYXR0YWNobWVudHNDb2x1bW5zLnNwbGljZShcclxuICAgICAgY29tcG9uZW50LmF0dGFjaG1lbnRzQ29sdW1ucy5sZW5ndGggLSAxLCAwLFxyXG4gICAgICB7IGtleTogXCJCdXR0b25LZXlcIiwgZGlzcGxheTogXCJMYWJlbFwiLCB0eXBlOiBUeXBlQ29sdW1uLkV4dGVybmFsVGVtcGxhdGUsIGV4dGVybmFsVGVtcGxhdGU6IHRoaXMuYnV0dG9uSW1hZ2VzS2V5VmFsdWVJbnB1dENvbHVtbiB9XHJcbiAgICApO1xyXG5cclxuICAgIGNvbXBvbmVudC5hdHRhY2htZW50c0NvbHVtbnMuc3BsaWNlKFxyXG4gICAgICBjb21wb25lbnQuYXR0YWNobWVudHNDb2x1bW5zLmxlbmd0aCAtIDEsIDAsXHJcbiAgICAgIHsga2V5OiBcIkJ1dHRvblZhbHVlXCIsIGRpc3BsYXk6IFwiVmFsb3JlXCIsIHR5cGU6IFR5cGVDb2x1bW4uRXh0ZXJuYWxUZW1wbGF0ZSwgZXh0ZXJuYWxUZW1wbGF0ZTogdGhpcy5idXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIHNhbHZhdGFnZ2lvIGRlZ2xpIGFsbGVnYXRpIHF1YW5kbyB2aWVuZSBjb25maWd1cmF0byB1biBjYW1wbyBkaSB0aXBvIFwiRWxlbmNvIGdlbmVyaWNvXCJcclxuICAgKiBjb24gaWwgdGlwbyBkaSB2aXN1YWxpenphemlvbmUgYWQgaW1tYWdpbmkuIEludGVyY2V0dGEgbCdlbGVuY28gYWdnaW9ybmF0byBkZWxsZSBpbW1hZ2luaSBjYXJpY2F0ZSBlIGxvXHJcbiAgICogbWVtb3JpenphIG5lbGwnb2dnZXR0byBmaWVsZCBjb3JyZW50ZS5cclxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgQXJyYXkgYWdnaW9ybmF0byBkZWdsaSBhbGxlZ2F0aSBjYXJpY2F0aS5cclxuICAgKi9cclxuICBjYXRjaEJ1dHRvbkltYWdlc0NoYW5nZShhdHRhY2htZW50czogQXJyYXk8SUF0dGFjaG1lbnREVE8+KSB7XHJcbiAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0ID0gKGF0dGFjaG1lbnRzIGFzIEFycmF5PEJ1dHRvbkltYWdlPik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hpYW1hdG8gYWwga2V5dXAgZGVnbGkgaW5wdXQgdGVzdHVhbGkgY2hlIHByZXZlZG9ubyBsJ2FnZ2l1bnRhIGRlbCB2YWxvcmUgaW5zZXJpdG8gaW4gdW4gYXJyYXkuXHJcbiAgICogU2UgbCd1dGVudGUgcHJlbWUgaWwgdGFzdG8gaW52aW8sIGluIGJhc2UgYWwgdGlwbyBkaSBjYW1wbyBjaGUgc3RhIGluc2VyZW5kby9tb2RpZmljYW5kbywgcXVlc3RvIG1ldG9kb1xyXG4gICAqIGFnZ2l1bmdlIGlsIHZhbG9yZSBpbnNlcml0byBkYWxsJ3V0ZW50ZSBuZWxsYSBsaXN0YSBkaSBzdHJpbmdoZSBjb3JyZXR0YSAoaW4gaW5wdXQgdmllbmUgcGFzc2F0byBpbCBub21lXHJcbiAgICogZGVsbGEgcHJvcHJpZXTDoCBpbiBjdWkgaW5zZXJpcmUgbGEgc3RyaW5nYSkuXHJcbiAgICogQHBhcmFtIGV2ZW50IEV2ZW50byBjaGUgcmFwcHJlc2VudGEgaWwga2V5dXAgZGVsbCd1dGVudGVcclxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIE5vbWUgZGVsbGEgcHJvcHJpZXTDoCBkZWwgZmllbGQgaW4gY3VpIGluc2VyaXJlIGxhIHN0cmluZ2EgZGlnaXRhdGEuXHJcbiAgICovXHJcbiAgb25NdWx0aVNlbGVjdElucHV0S2V5dXAoZXZlbnQsIHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnTnVtcGFkRW50ZXInKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5maWVsZC5GaWVsZFR5cGUpIHtcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZUVudW0uTG9va3VwOlxyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5BbGxlZ2F0bzpcclxuICAgICAgICAgIGlmICghdGhpcy5maWVsZFtwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRbcHJvcGVydHlOYW1lXSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmZpZWxkW3Byb3BlcnR5TmFtZV0ucHVzaChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5JbW1hZ2luZTpcclxuICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb25bcHJvcGVydHlOYW1lXSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uW3Byb3BlcnR5TmFtZV0ucHVzaChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRWxlbmNvIGdlbmVyaWNvJ106XHJcbiAgICAgICAgICBpZiAoIXRoaXMua2V5VmFsdWVPYmplY3Qua2V5IHx8ICF0aGlzLmtleVZhbHVlT2JqZWN0LnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMpIHtcclxuICAgICAgICAgICAgKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMgPSB7fTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzW3RoaXMua2V5VmFsdWVPYmplY3Qua2V5XSA9IHRoaXMua2V5VmFsdWVPYmplY3QudmFsdWU7XHJcbiAgICAgICAgICB0aGlzLmtleVZhbHVlT2JqZWN0ID0geyBrZXk6ICcnLCB2YWx1ZTogJycgfTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGNoaWFtYXRvIHBlciBtb3N0cmFyZSBjb21lIGVsZW5jbyBsZSBvcHppb25pIGFnZ2l1bnRlIGluIHVuIGNhbXBvIGRpIHRpcG8gXCJFbGVuY28gZ2VuZXJpY29cIi5cclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSB1biBhcnJheSBkaSBvZ2dldHRpIGRlbCB0aXBvIHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfSBjb24gaSB2YWxvcmkgaW5zZXJpdGkgZGFsbCd1dGVudGUuXHJcbiAgICovXHJcbiAgZ2V0RGljdGlvbmFyeUtleVZhbHVlKCkge1xyXG4gICAgaWYgKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzKSB7XHJcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cygodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycykubWFwKGsgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBrZXk6IGssXHJcbiAgICAgICAgICB2YWx1ZTogKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnNba11cclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgcmltdW92ZXJlIHVuYSBvcHppb25lIGFnZ2l1bnRhIGFsIGNhbXBvIGRpIHRpcG8gXCJFbGVuY28gZ2VuZXJpY29cIlxyXG4gICAqIEBwYXJhbSBrZXkgTm9tZSBkZWxsYSBjaGlhdmUgZGEgcmltdW92ZXJlXHJcbiAgICovXHJcbiAgZGVsZXRlS2V5RnJvbURpY3Rpb25hcnkoa2V5OiBzdHJpbmcpIHtcclxuICAgIGRlbGV0ZSAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlyc1trZXldO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhcHJpcmUgaWwgZGlhbG9nIHBlciBhZ2dpdW5nZXJlL21vZGlmaWNhcmUgdW4gbWV0YWRhdGEgaW4gdW4gY2FtcG8gZGkgdGlwbyBBbGxlZ2F0byBvIEltbWFnaW5lLlxyXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBNZXRhZGF0YSBkYSBtb2RpZmljYXJlLCBzZSBudWxsIGFsbG9yYSBuZSBzdG8gY3JlYW5kbyB1bm8gbnVvdm8uXHJcbiAgICovXHJcbiAgb3Blbk1ldGFkYXRhRGlhbG9nKGZpZWxkOiBCYXNlRmllbGQgPSBudWxsKSB7XHJcbiAgICBpZiAoZmllbGQpIHtcclxuICAgICAgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvKSB7XHJcbiAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPSAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLmluZGV4T2YoZmllbGQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNZXRhZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZmllbGQpKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID0gKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcy5pbmRleE9mKGZpZWxkKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWV0YWRhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGZpZWxkKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNZXRhZGF0YSA9IG5ldyBCYXNlRmllbGQoKTtcclxuICAgICAgdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dNZXRhZGF0YVJlZiA9IHRoaXMuZGlhbG9nLm9wZW4odGhpcy5kaWFsb2dNZXRhZGF0YSwge1xyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICB3aWR0aDogJzc1JSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGRhbGwnb3V0cHV0IGRhbCBkaWFsb2cgcGVyIGFnZ2l1bmdlcmUvbW9kaWZpY2FyZSB1biBtZXRhZGF0YVxyXG4gICAqIG5laSBjYW1waSBkaSB0aXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuIFByaW1hIGRpIGFnZ2l1bmdlcmUgaWwgbWV0YWRhdGEgbmVsbCdlbGVuY29cclxuICAgKiBjb250b2xsYSBzZSBlc2lzdGUgdW4gYWx0cm8gbWV0YWRhdGEgY29uIGxvIHN0ZXNzbyBub21lIGUgbmVsIGNhc28gZ2VuZXJhIHVuIGVycm9yZVxyXG4gICAqIChpIG1ldGFkYXRhLCBjb21lIHBlciBpIGNhbXBpIGRlbGxhIGZvcm0sIGRldm9ubyBhdmVyZSB1biBub21lIHVuaXZvY28pLlxyXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBNZXRhZGF0YSBhZ2dpdW50byBvIG1vZGlmaWNhdG8sIHNlIG51bGwgYWxsb3JhIGlsIGRpYWxvZyDDqCBzdGF0byBjaGl1c28gc2VuemEgZmFyZSBtb2RpZmljaGUuXHJcbiAgICovXHJcbiAgb25TYXZlTWV0YWRhdGEobWV0YWRhdGE6IEJhc2VGaWVsZCkge1xyXG4gICAgaWYgKG1ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG9cclxuICAgICAgICAgICYmICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHNcclxuICAgICAgICAgICYmICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMuZmluZChcclxuICAgICAgICAgICAgKG0sIGkpID0+IG0uTGFiZWwgPT09IG1ldGFkYXRhLkxhYmVsXHJcbiAgICAgICAgICAgICAgJiYgKHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID09IG51bGwgPyB0cnVlIDogdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgIT09IGkpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSB8fFxyXG4gICAgICAgICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZVxyXG4gICAgICAgICAgJiYgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkc1xyXG4gICAgICAgICAgJiYgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcy5maW5kKFxyXG4gICAgICAgICAgICAobSwgaSkgPT4gbS5MYWJlbCA9PT0gbWV0YWRhdGEuTGFiZWxcclxuICAgICAgICAgICAgICAmJiAodGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPT0gbnVsbCA/IHRydWUgOiB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSAhPT0gaSlcclxuICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICAgICkge1xyXG4gICAgICAgIEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlLldhcm5pbmcoJ0ltcG9zc2liaWxlIGluc2VyaXJlIGR1ZSBtZXRhZGF0YSBjb24gbGEgc3Rlc3NhIGxhYmVsLicpO1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW1wb3NzaWJpbGUgaW5zZXJpcmUgZHVlIG1ldGFkYXRhIGNvbiBsYSBzdGVzc2EgbGFiZWwuJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSAhPSBudWxsICYmIHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID49IDApIHtcclxuICAgICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAgICAgICAgICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHNbdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGFdID0gbWV0YWRhdGE7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gICAgICAgICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkc1t0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YV0gPSBtZXRhZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvKSB7XHJcbiAgICAgICAgICBpZiAoISh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMpIHtcclxuICAgICAgICAgICAgKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcyA9IG5ldyBBcnJheTxCYXNlRmllbGQ+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLnB1c2gobWV0YWRhdGEpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uSW1tYWdpbmUpIHtcclxuICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcykge1xyXG4gICAgICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzID0gbmV3IEFycmF5PEJhc2VGaWVsZD4oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMucHVzaChtZXRhZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpYWxvZ01ldGFkYXRhUmVmLmNsb3NlKCk7XHJcbiAgICB0aGlzLnNldE1ldGFkYXRhT3JkaW5hbFBvc2l0aW9uKCk7XHJcbiAgICB0aGlzLnJlbG9hZE1ldGFkYXRhVGFibGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZGlzYWJpbGl0YXJlIGlsIHB1bHNhbnRlIHBlciBzYWx2YXJlIGlsIGNhbXBvIGluc2VyaXRvL21vZGlmaWNhdG8uXHJcbiAgICogQHJldHVybnMgUmVzdGl0dWlzY2UgdW4gYm9vbGVhbm8sIHNlIHRydWUgaWwgc2FsdmF0YWdnaW8gdmllbmUgZGlzYWJpbGl0YXRvLlxyXG4gICAqL1xyXG4gIGRpc2FibGVTYXZlRmllbGQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5maWVsZEZvcm1Hcm91cC5pbnZhbGlkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAodGhpcy5maWVsZC5GaWVsZFR5cGUpIHtcclxuXHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRWxlbmNvIGdlbmVyaWNvJ106XHJcbiAgICAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5QcmVzZW50YXRpb25Nb2RlICE9IExpc3RQcmVzZW50YXRpb25FbnVtLkltbWFnaW5pKSB7XHJcbiAgICAgICAgICByZXR1cm4gISh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzIHx8ICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgISh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5CdXR0b25JbWFnZUxpc3RcclxuICAgICAgICAgICAgfHwgKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkJ1dHRvbkltYWdlTGlzdC5sZW5ndGggPT09IDBcclxuICAgICAgICAgICAgfHwgISEodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0LmZpbmQoaSA9PiAhaS5CdXR0b25LZXkgfHwgIWkuQnV0dG9uVmFsdWUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtLkxvb2t1cDpcclxuICAgICAgICByZXR1cm4gISh0aGlzLmZpZWxkIGFzIExvb2t1cEZpZWxkKS5GaWVsZE5hbWVzIHx8ICh0aGlzLmZpZWxkIGFzIExvb2t1cEZpZWxkKS5GaWVsZE5hbWVzLmxlbmd0aCA9PT0gMDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHNhbHZhcmUgaWwgY2FtcG8gaW5zZXJpdG8vbW9kaWZpY2F0by5cclxuICAgKiBTZSDDqCBzdGF0byBpbnNlcml0byB1biBmaWVsZCBjb24gbGEgc3Rlc3NhIGxhYmVsIHZpZW5lIGdlbmVyYXRvIHVuIGVycm9yZSAobGUgbGFiZWwgZGV2b25vIGVzc2VyZSB1bml2b2NoZSkuXHJcbiAgICogVW5hIHZvbHRhIGFnZ2l1bnRvL2FnZ2lvcm5hdG8gaWwgY2FtcG8gbmVsbCdlbGVuY28gZGVpIEZpZWxkIGRlbGxhIEZvcm0gY2hpdWRlIGlsIGRpYWxvZyBlIHJpY2FyaWNhIGxhIHRhYmVsbGFcclxuICAgKiBjaGUgbW9zdHJhIGwnZWxlbmNvIGRlaSBjYW1waSBhZ2dpdW50aSBhbGxhIGZvcm0uXHJcbiAgICovXHJcbiAgc2F2ZUFuZEV4aXRBZGRGaWVsZChzYXZlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoc2F2ZSkge1xyXG4gICAgICB0aGlzLnNhdmVGaWVsZEV2ZW50LmVtaXQodGhpcy5maWVsZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNhdmVGaWVsZEV2ZW50LmVtaXQobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJpcHJpc3RpbmFyZSBsJ29nZ2V0dG8gZmllbGQgYWwgY2FtYmlvIGRlbCB0aXBvIHNlbGV6aW9uYXRvLlxyXG4gICAqIExhc2NpYSB2YWxvcml6emF0ZSBzb2xvIGxlIHByb3ByaWV0w6AgZGVsbCdvZ2dldHRvIEJhc2VGaWVsZCBjb211bmUgYSB0dXR0aSBpIHRpcGkgZGkgY2FtcG8uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXN0b3JlQmFzZUZpZWxkUHJvcGVydGllcygpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkKSB7XHJcbiAgICAgIGNvbnN0IHRtcEJhc2VGaWVsZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWVsZCkpO1xyXG4gICAgICB0aGlzLmZpZWxkID0gbmV3IEJhc2VGaWVsZCgpO1xyXG4gICAgICB0aGlzLmZpZWxkLkxhYmVsID0gdG1wQmFzZUZpZWxkLkxhYmVsO1xyXG4gICAgICB0aGlzLmZpZWxkLkRlc2NyaXB0aW9uID0gdG1wQmFzZUZpZWxkLkRlc2NyaXB0aW9uO1xyXG4gICAgICB0aGlzLmZpZWxkLlJlcXVpcmVkID0gdG1wQmFzZUZpZWxkLlJlcXVpcmVkO1xyXG4gICAgICB0aGlzLmZpZWxkLkZpZWxkVHlwZSA9IHRtcEJhc2VGaWVsZC5GaWVsZFR5cGU7XHJcbiAgICAgIHRoaXMuZmllbGQuRm9ybXVsYSA9IHRtcEJhc2VGaWVsZC5Gb3JtdWxhO1xyXG4gICAgICB0aGlzLmZpZWxkLkNvbFNwYW5TaXplcyA9IHRtcEJhc2VGaWVsZC5Db2xTcGFuU2l6ZXM7XHJcbiAgICAgIHRoaXMuZmllbGQuRmllbGRHcm91cCA9IHRtcEJhc2VGaWVsZC5GaWVsZEdyb3VwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25maWd1cmVDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5tZXRhZGF0YUNvbHVtbnMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBrZXk6ICdhY3Rpb24nLCBkaXNwbGF5OiAnJywgdHlwZTogVHlwZUNvbHVtbi5NZW51QWN0aW9uLCBidXR0b25NZW51SWNvbjogJ21vcmVfdmVydCcsIHN0eWxlczogeyBmbGV4OiAnMCAwIDYlJyB9LFxyXG4gICAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICAgIHsgbmFtZTogJ01vZGlmaWNhJywgaWNvbjogJ2VkaXQnLCBmbjogKGVsZW1lbnQsIGluZGV4LCBjb2wpID0+IHRoaXMub3Blbk1ldGFkYXRhRGlhbG9nKGVsZW1lbnQpIH0sXHJcbiAgICAgICAgICB7IG5hbWU6ICdFbGltaW5hJywgaWNvbjogJ2RlbGV0ZScsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy5kZWxldGVNZXRhZGF0YShlbGVtZW50KSB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAgeyBrZXk6ICdGaWVsZFR5cGUnLCBkaXNwbGF5OiAnVGlwb2xvZ2lhJywgdHlwZTogVHlwZUNvbHVtbi5FbnVtLCBlbnVtTW9kZWw6IEZpZWxkVHlwZUVudW0gfSxcclxuICAgICAgeyBrZXk6ICdMYWJlbCcsIGRpc3BsYXk6ICdMYWJlbCcgfSxcclxuICAgICAgeyBrZXk6ICdEZXNjcmlwdGlvbicsIGRpc3BsYXk6ICdEZXNjcml6aW9uZScgfSxcclxuICAgICAge1xyXG4gICAgICAgIGtleTogJ1JlcXVpcmVkJywgZGlzcGxheTogJ09iYmxpZ2F0b3JpbycsXHJcbiAgICAgICAgdmFsdWU6IChlbGVtZW50KSA9PiAhIWVsZW1lbnQuUmVxdWlyZWQsXHJcbiAgICAgICAgdHlwZTogVHlwZUNvbHVtbi5Cb29sZWFuLFxyXG4gICAgICAgIGJvb2xlYW5WYWx1ZXM6IHtcclxuICAgICAgICAgIHRydWU6ICc8aSBjbGFzcz1cImZhIGZhLWNoZWNrIHN1Y2Nlc3MtY29sb3JcIj48L2k+JyxcclxuICAgICAgICAgIGZhbHNlOiAnPGkgY2xhc3M9XCJmYSBmYS1jbG9zZSBlcnJvci1jb2xvclwiPjwvaT4nXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdHlsZXM6IHsgZmxleDogJzAgMCA3JScsIGNlbGxBbGlnbm1lbnQ6IENlbGxBbGlnbm1lbnRFbnVtLkNFTlRFUiB9XHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBlbGltaW5hcmUgdW4gbWV0YWRhdGEgYWdnaXVudG8gcGVyIHVuIGNhbXBvIGRpIHRpcG8gQWxsZWdhdG8gbyBJbW1hZ2luZS5cclxuICAgKiBAcGFyYW0gbWV0YWRhdGEgTWV0YWRhdGEgZGEgZWxpbWluYXJlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGVsZXRlTWV0YWRhdGEobWV0YWRhdGE6IEJhc2VGaWVsZCkge1xyXG4gICAgRXFwRHluYW1pY01vZHVsZURpYWxvZ1NlcnZpY2UuQ29uZmlybSgnRWxpbWluYXJlIGlsIG1ldGFkYXRhIHNlbGV6aW9uYXRvPycsICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvKSB7XHJcbiAgICAgICAgKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcy5zcGxpY2UoKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcy5pbmRleE9mKG1ldGFkYXRhKSwgMSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uSW1tYWdpbmUpIHtcclxuICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLnNwbGljZSgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLmluZGV4T2YobWV0YWRhdGEpLCAxKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldE1ldGFkYXRhT3JkaW5hbFBvc2l0aW9uKCk7XHJcbiAgICAgIHRoaXMucmVsb2FkTWV0YWRhdGFUYWJsZSgpO1xyXG4gICAgfSwgZmFsc2UsICdSaWNoaWVzdGEgY29uZmVybWEnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcG9zdGEgbCdvcmRpbmFtZW50byBkZWkgbWV0YWRhdGEgYWxsJ2ludGVybm8gZGVpIGNhbXBpIGRpIHRpcG8gQWxsZWdhdG8gZSBJbW1hZ2luZS5cclxuICAgKi9cclxuICBwcml2YXRlIHNldE1ldGFkYXRhT3JkaW5hbFBvc2l0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvKSB7XHJcbiAgICAgIGlmICgodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzKSB7XHJcbiAgICAgICAgKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcy5mb3JFYWNoKG1ldGFkYXRhID0+IHtcclxuICAgICAgICAgIG1ldGFkYXRhLk9yZGluYWxQb3NpdGlvbiA9ICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMuaW5kZXhPZihtZXRhZGF0YSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uSW1tYWdpbmUpIHtcclxuICAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMpIHtcclxuICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLmZvckVhY2gobWV0YWRhdGEgPT4ge1xyXG4gICAgICAgICAgbWV0YWRhdGEuT3JkaW5hbFBvc2l0aW9uID0gKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcy5pbmRleE9mKG1ldGFkYXRhKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaWNhcmljYXJlIGkgZGF0aSBkZWxsYSB0YWJlbGxhIGRlaSBtZXRhZGF0YSB2aXN1YWxpenphdGEgbmVsbGEgY3JlYXppb25lL21vZGlmaWNhIFxyXG4gICAqIGRlaSBjYW1waSBkaSB0aXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWxvYWRNZXRhZGF0YVRhYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubWV0YWRhdGFGaWVsZHNUYWJsZSkge1xyXG4gICAgICB0aGlzLm1ldGFkYXRhRmllbGRzVGFibGUucmVsb2FkRGF0YXRhYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDcwdmggIWltcG9ydGFudDsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyB0aXRsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj57e2luZGV4RmllbGQgIT0gbnVsbCAmJiBpbmRleEZpZWxkID49IDAgPyBcIk1vZGlmaWNhXCJcclxuICAgICAgICAgICAgOiBcIkFnZ2l1bmdpXCJ9fSBjYW1wbzwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgdGlwb0NhbXBvXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlRpcG8gY2FtcG8gKjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGVxcC1zZWxlY3QgW2VudW1EYXRhXT1cIkZpZWxkVHlwZUVudW1cIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuRmllbGRUeXBlXCIgW3Nob3dDYW5jZWxCdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25GaWVsZFR5cGVDaGFuZ2UoKVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidGaWVsZFR5cGUnXCIgW2VudW1EYXRhVG9FeGNsdWRlXT1cImZpZWxkVHlwZXNUb0V4Y2x1ZGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZXFwLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IExhYmVsICogPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkxhYmVsXCIgcmVxdWlyZWQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5MYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IERlc2NyaXppb25lICogPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9XCJEZXNjcmlwdGlvblwiIGZvcm1Db250cm9sTmFtZT1cIkRlc2NyaXB0aW9uXCIgcmVxdWlyZWQgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5EZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5SZXF1aXJlZFwiIGZvcm1Db250cm9sTmFtZT1cIlJlcXVpcmVkXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgT2JibGlnYXRvcmlvXHJcbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBGb3JtdWxhIChKYXZhc2NyaXB0KSA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiRm9ybXVsYVwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuRm9ybXVsYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiZm9ybXVsYUF1dG9jb21wbGV0ZVwiIChrZXl1cCk9XCJzZXRGb3JtdWxhQXV0b2NvbXBsZXRlT3B0aW9ucygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cInNldEZvcm11bGFBdXRvY29tcGxldGVPcHRpb25zKG51bGwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2Zvcm11bGFBdXRvY29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmb3JtdWxhQXV0b2NvbXBsZXRlT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b3B0aW9uLmxhYmVsfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgKm5nSWY9XCJmb3JtRmllbGRzR3JvdXBzXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlNlemlvbmU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiZm9ybUZpZWxkc0dyb3Vwc1wiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5GaWVsZEdyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXJyYXlLZXlQcm9wZXJ0eV09XCInTmFtZSdcIiBbYXJyYXlWYWx1ZVByb3BlcnR5XT1cIidOYW1lJ1wiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidGaWVsZEdyb3VwJ1wiIHJlcXVpcmVkIFtpbmNsdWRlRnVsbE9iamVjdF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5MYXJnaGV6emEgY2FtcG88L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiYXZhaWxhYmxlQ29sU3BhblNpemVzXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLkNvbFNwYW5TaXplc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FycmF5S2V5UHJvcGVydHldPVwiJ2tleSdcIiBbYXJyYXlWYWx1ZVByb3BlcnR5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25Db2xTcGFuU2l6ZVNlbGVjdCgpXCIgW2lzTXVsdGlTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidDb2xTcGFuU2l6ZXMnXCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5jbHVkZUZ1bGxPYmplY3RdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDwvZXFwLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jbkxpc3RWaWV3XCIgZm9ybUNvbnRyb2xOYW1lPVwiSW5MaXN0Vmlld1wiIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzWydJbkxpc3RWaWV3J10uZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICBNb3N0cmFyZSBuZWxsYSB2aXN1YWxpenphemlvbmUgYSBsaXN0YVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZFR5cGVGb3JtVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInJvdyBtdC0yIG1iLTFcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgdGV4dC1yaWdodCBidXR0b25zRm9ybVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWF0LXJhaXNlZC1idXR0b24gY2FuY2VsXCIgKGNsaWNrKT1cInNhdmVBbmRFeGl0QWRkRmllbGQoZmFsc2UpXCIgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICBBbm51bGxhXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1yLTIgc2F2ZVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQW5kRXhpdEFkZEZpZWxkKHRydWUpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVTYXZlRmllbGQoKVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgU2FsdmFcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48IS0tIEZPUk0gUFJPUFJJRVTDgCBDQU1QSSBESSBURVNUTyAtLT5cclxuPG5nLXRlbXBsYXRlICN0ZXh0RmllbGRGb3JtVGVtcGxhdGU+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TWFzY2hlcmE8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiVGV4dE1hc2tFbnVtXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLlRleHRNYXNrXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidUZXh0TWFzaydcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbmNyZWFzYWJsZVZhbHVlc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTRcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtYXNzaW1hIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ1cFwiIG9uY2xpY2s9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVuZ3RoTWF4Jykuc3RlcFVwKClcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZG93blwiIG9uY2xpY2s9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVuZ3RoTWF4Jykuc3RlcERvd24oKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJsZW5ndGhNYXhcIiBmb3JtQ29udHJvbE5hbWU9XCJNYXhMZW5naHRcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLk1heExlbmdodFwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTRcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtaW5pbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInVwXCIgb25jbGljaz1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsZW5ndGhNaW4nKS5zdGVwVXAoKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkb3duXCIgb25jbGljaz1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsZW5ndGhNaW4nKS5zdGVwRG93bigpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImxlbmd0aE1pblwiIGZvcm1Db250cm9sTmFtZT1cIk1pbkxlbmdodFwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTWluTGVuZ2h0XCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIEFSRUEgREkgVEVTVE8gLS0+XHJcbjxuZy10ZW1wbGF0ZSAjdGV4dGFyZWFGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJpbmNyZWFzYWJsZVZhbHVlcyBzZWNvbmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+IFJpZ2hlIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJyaWdoZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidXBcIiBvbmNsaWNrPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvd3MnKS5zdGVwVXAoKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkb3duXCIgb25jbGljaz1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb3dzJykuc3RlcERvd24oKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJyb3dzXCIgZm9ybUNvbnRyb2xOYW1lPVwiUm93c1wiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLlJvd3NcIj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtYXNzaW1hIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ1cFwiIG9uY2xpY2s9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVuZ3RoTWF4Jykuc3RlcFVwKClcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZG93blwiIG9uY2xpY2s9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVuZ3RoTWF4Jykuc3RlcERvd24oKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJsZW5ndGhNYXhcIiBmb3JtQ29udHJvbE5hbWU9XCJNYXhMZW5naHRcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLk1heExlbmdodFwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD4gTHVuZ2hlenphIG1pbmltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidXBcIiBvbmNsaWNrPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlbmd0aE1pbicpLnN0ZXBVcCgpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRvd25cIiBvbmNsaWNrPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlbmd0aE1pbicpLnN0ZXBEb3duKClcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwibGVuZ3RoTWluXCIgZm9ybUNvbnRyb2xOYW1lPVwiTWluTGVuZ2h0XCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5NaW5MZW5naHRcIj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgQk9PTEVBTkkgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYm9vbGVhZEZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jc1RyaXN0YXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNUcmlzdGF0ZVwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBBIHRyZSBzdGF0aVxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5UaXBvIGRpIHByZXNlbnRhemlvbmUgKjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJCb29sUHJlc2VudGFudGlvRW51bVwiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5QcmVzZXRhdGlvblR5cGVcIiByZXF1aXJlZFxyXG4gICAgICAgICAgICBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInUHJlc2V0YXRpb25UeXBlJ1wiPlxyXG4gICAgICAgIDwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgREFUQSAtLT5cclxuPG5nLXRlbXBsYXRlICNkYXRlRmllbGRGb3JtVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPlRpcG8gZGkgZGF0YTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJEYXRlVGltZVR5cGVFbnVtXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLklzT25seURhdGVcIiByZXF1aXJlZFxyXG4gICAgICAgICAgICBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInSXNPbmx5RGF0ZSdcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBGb3JtYXRvIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkRhdGVGb3JtYXRcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkRhdGVGb3JtYXRcIlxyXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ0luZGljYXJlIGlsIGZvcm1hdG8gc2VndWVuZG8gbGEgZ3VpZGEgZGVsIHBhY2NoZXR0byBtb21lbnRqcy4nXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gRGF0YSBtaW5pbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBkYXRhJ11cIiBjbGFzcz1cImRhdGVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuTWluRGF0ZVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInTWluRGF0ZSdcIlxyXG4gICAgICAgICAgICBbcGlja2VyTW9kZV09XCJwaWNrZXJNb2RlRW51bS5EQVRFXCIgW1VUQ0RhdGVdPVwidHJ1ZVwiIFtzaG93U2Vjb25kc109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgICAgIDxlcXAtZGF0ZXRpbWVwaWNrZXIgKm5nSWY9XCJmaWVsZC5Jc09ubHlEYXRlID09IERhdGVUaW1lVHlwZUVudW1bJ0RhdGEgZSBvcmEnXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NaW5EYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNaW5EYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLkRBVEVUSU1FXCIgW1VUQ0RhdGVdPVwidHJ1ZVwiIFtzaG93U2Vjb25kc109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgICAgIDxlcXAtZGF0ZXRpbWVwaWNrZXIgKm5nSWY9XCJmaWVsZC5Jc09ubHlEYXRlID09IERhdGVUaW1lVHlwZUVudW1bJ1NvbG8gb3JhcmlvJ11cIiBjbGFzcz1cImRhdGVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuTWluRGF0ZVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInTWluRGF0ZSdcIlxyXG4gICAgICAgICAgICBbcGlja2VyTW9kZV09XCJwaWNrZXJNb2RlRW51bS5USU1FXCIgW1VUQ0RhdGVdPVwidHJ1ZVwiIFtzaG93U2Vjb25kc109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBEYXRhIG1hc3NpbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBkYXRhJ11cIiBjbGFzcz1cImRhdGVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuTWF4RGF0ZVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInTWF4RGF0ZSdcIlxyXG4gICAgICAgICAgICBbcGlja2VyTW9kZV09XCJwaWNrZXJNb2RlRW51bS5EQVRFXCIgW1VUQ0RhdGVdPVwidHJ1ZVwiIFtzaG93U2Vjb25kc109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgICAgIDxlcXAtZGF0ZXRpbWVwaWNrZXIgKm5nSWY9XCJmaWVsZC5Jc09ubHlEYXRlID09IERhdGVUaW1lVHlwZUVudW1bJ0RhdGEgZSBvcmEnXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NYXhEYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNYXhEYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLkRBVEVUSU1FXCIgW1VUQ0RhdGVdPVwidHJ1ZVwiIFtzaG93U2Vjb25kc109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgICAgIDxlcXAtZGF0ZXRpbWVwaWNrZXIgKm5nSWY9XCJmaWVsZC5Jc09ubHlEYXRlID09IERhdGVUaW1lVHlwZUVudW1bJ1NvbG8gb3JhcmlvJ11cIiBjbGFzcz1cImRhdGVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuTWF4RGF0ZVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInTWF4RGF0ZSdcIlxyXG4gICAgICAgICAgICBbcGlja2VyTW9kZV09XCJwaWNrZXJNb2RlRW51bS5USU1FXCIgW1VUQ0RhdGVdPVwidHJ1ZVwiIFtzaG93U2Vjb25kc109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEZPUk0gUFJPUFJJRVTDgCBDQU1QSSBOVU1FUklDSSAtLT5cclxuPG5nLXRlbXBsYXRlICNudW1lcmljRmllbGRGb3JtVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLklzSW50ZWdlclwiIGZvcm1Db250cm9sTmFtZT1cIklzSW50ZWdlclwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBWYWxvcmUgaW50ZXJvXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWZpZWxkLklzSW50ZWdlclwiIGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gU2VwYXJhdG9yZSBkZWNpbWFsaSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJEZWNpbWFsU2VwYXJhdG9yXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5EZWNpbWFsU2VwYXJhdG9yXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFmaWVsZC5Jc0ludGVnZXJcIiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFByZWNpc2lvbmUgZGVjaW1hbGkgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiRGVjaW1hbFByZWNpc2lvblwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5EZWNpbWFsUHJlY2lzaW9uXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFNlcGFyYXRvcmUgbWlnbGlhaWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiVGhvdXNhbmRzU2VwYXJhdG9yXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5UaG91c2FuZHNTZXBhcmF0b3JcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gU2ltYm9sbyB2YWx1dGEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiQ3VycmVuY3lTeW1ib2xcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkN1cnJlbmN5U3ltYm9sXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFZhbG9yZSBtYXNzaW1vIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIk1pblZhbHVlXCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuTWluVmFsdWVcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVmFsb3JlIG1pbmltbyA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJNYXhWYWx1ZVwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLk1heFZhbHVlXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgQUxMRUdBVE8gLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYXR0YWNobWVudEZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jc011bHRpQXR0YWNoXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNNdWx0aUF0dGFjaFwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBBbGxlZ2F0aSBtdWx0aXBsaVxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5Fc3RlbnNpb25pIGFjY2V0dGF0ZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnMuY29uY2F0KEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9ucylcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuQWxsb3dlZEV4dGVuc2lvbnNcIiBbYXJyYXlLZXlQcm9wZXJ0eV09XCIna2V5J1wiIFthcnJheVZhbHVlUHJvcGVydHldPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgICAgICAgIFtpc011bHRpU2VsZWN0XT1cInRydWVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ0FsbG93ZWRFeHRlbnNpb25zJ1wiXHJcbiAgICAgICAgICAgIFtpbmNsdWRlRnVsbE9iamVjdF09XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBtdC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICBFbGVuY28gbWV0YWRhdGFcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNiB0ZXh0LXJpZ2h0IGJ1dHRvbnNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHNhdmVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1ldGFkYXRhRGlhbG9nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPkFnZ2l1bmdpIGFsbGVnYXRvPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxlcXAtdGFibGUgI21ldGFkYXRhRmllbGRzVGFibGUgW2NyZWF0ZU1hdENhcmRdPVwiZmFsc2VcIiBbY29sdW1uc109XCJtZXRhZGF0YUNvbHVtbnNcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJmaWVsZC5NZXRhZGF0YUZpZWxkc1wiIFtlbXB0eVRhYmxlTWVzc2FnZV09XCInTmVzc3VuIG1ldGFkYXRhIGluc2VyaXRvJ1wiIFtzZWFyY2hUZXh0XT1cIidDZXJjYSdcIj5cclxuICAgICAgICA8L2VxcC10YWJsZT5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgSU1NQUdJTkUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiBtYi0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIiBmb3JtQ29udHJvbE5hbWU9XCJJbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIlxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiAobmdNb2RlbENoYW5nZSk9XCJvbkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudENoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgIEltbWFnaW5lIHByZS1jYXJpY2F0YSBuZWwgY2FtcG9cclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiBtYi0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5FbmFibGVEcmF3aW5nXCIgZm9ybUNvbnRyb2xOYW1lPVwiRW5hYmxlRHJhd2luZ1wiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBBYmlsaXRhIGlsIGRpc2Vnbm9cclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgKm5nSWY9XCIhZmllbGQuSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50XCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5BdHRhY2hEZWZpbml0aW9uLklzTXVsdGlBdHRhY2hcIiBmb3JtQ29udHJvbE5hbWU9XCJJc011bHRpQXR0YWNoXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgIEltbWFnaW5pIG11bHRpcGxlXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiAqbmdJZj1cIiFmaWVsZC5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkVzdGVuc2lvbmkgYWNjZXR0YXRlPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGVxcC1zZWxlY3QgW2FycmF5RGF0YV09XCJBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnNcIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuQXR0YWNoRGVmaW5pdGlvbi5BbGxvd2VkRXh0ZW5zaW9uc1wiXHJcbiAgICAgICAgICAgIFthcnJheUtleVByb3BlcnR5XT1cIidrZXknXCIgW2FycmF5VmFsdWVQcm9wZXJ0eV09XCIndmFsdWUnXCIgW2lzTXVsdGlTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInQWxsb3dlZEV4dGVuc2lvbnMnXCIgW2luY2x1ZGVGdWxsT2JqZWN0XT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCIgKm5nSWY9XCJmaWVsZC5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBOb21lIGltbWFnaW5lIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkltZ05hbWVcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkltZ05hbWVcIiByZXF1aXJlZD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC04IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCIgKm5nSWY9XCJmaWVsZC5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIj5cclxuICAgICAgICA8ZXFwLWF0dGFjaG1lbnRzIFthdHRhY2htZW50c0xpc3RdPVwiZmllbGQuX2NvbnRleHR1YWxBdHRhY2htZW50c1wiIFtzaG93TWF0Q2FyZF09XCJmYWxzZVwiIFthbGxvd09ubHlJbWFnZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW3Nob3dJbmxpbmVQcmV2aWV3XT1cInRydWVcIiBbbXVsdGlwbGVBdHRhY2htZW50XT1cImZhbHNlXCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAobG9jYWxFZGl0ZWRBdHRhY2htZW50cyk9XCJjYXRjaENvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKCRldmVudClcIiAjY29udGV4dHVhbEF0dGFjaG1lbnRFcXBBdHRhY2htZW50cz5cclxuICAgICAgICA8L2VxcC1hdHRhY2htZW50cz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBtdC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICBFbGVuY28gbWV0YWRhdGFcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNiB0ZXh0LXJpZ2h0IGJ1dHRvbnNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHNhdmVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1ldGFkYXRhRGlhbG9nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPkFnZ2l1bmdpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxlcXAtdGFibGUgI21ldGFkYXRhRmllbGRzVGFibGUgW2NyZWF0ZU1hdENhcmRdPVwiZmFsc2VcIiBbY29sdW1uc109XCJtZXRhZGF0YUNvbHVtbnNcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJmaWVsZC5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzXCIgW2VtcHR5VGFibGVNZXNzYWdlXT1cIidOZXNzdW4gbWV0YWRhdGEgaW5zZXJpdG8nXCJcclxuICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwiJ0NlcmNhJ1wiPlxyXG4gICAgICAgIDwvZXFwLXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEZPUk0gUFJPUFJJRVTDgCBDQU1QSSBMSVNUQSBESSBWQUxPUkkgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjbGlzdFZhbHVlRmllbGRGb3JtVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLklzTXVsdGlDaG9pY2hlXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNNdWx0aUNob2ljaGVcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgU2NlbHRhIG11bHRpcGxhXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPlRpcG8gZGkgcHJlc2VudGF6aW9uZSo8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiTGlzdFByZXNlbnRhdGlvbkVudW1cIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZVwiIHJlcXVpcmVkXHJcbiAgICAgICAgICAgIFtzaG93Q2FuY2VsQnV0dG9uXT1cImZhbHNlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidQcmVzZW50YXRpb25Nb2RlJ1wiXHJcbiAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25QcmVzZW50YXRpb25Nb2RlQ2hhbmdlKClcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgbXQtMlwiICpuZ0lmPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZSAhPSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGg0IGNsYXNzPVwia2V5LXZhbHVlLWxpc3Qtc2VjdGlvbi10aXRsZVwiPiA8L2g0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IExhYmVsIG9wemlvbmUgKGludmlvIHBlciBjb25mZXJtYXJlKTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImtleVZhbHVlT2JqZWN0LmtleVwiIChrZXl1cCk9XCJvbk11bHRpU2VsZWN0SW5wdXRLZXl1cCgkZXZlbnQsIG51bGwpXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBWYWxvcmUgb3B6aW9uZSAoaW52aW8gcGVyIGNvbmZlcm1hcmUpPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwia2V5VmFsdWVPYmplY3QudmFsdWVcIiAoa2V5dXApPVwib25NdWx0aVNlbGVjdElucHV0S2V5dXAoJGV2ZW50LCBudWxsKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yLTNcIj5PcHppb25pIGluc2VyaXRlOjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZhbHVlLXBhaXJzLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGtleVZhbHVlUGFpciBvZiBnZXREaWN0aW9uYXJ5S2V5VmFsdWUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtci0xXCIgKGNsaWNrKT1cImRlbGV0ZUtleUZyb21EaWN0aW9uYXJ5KGtleVZhbHVlUGFpci5rZXkpXCI+Y2xvc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGI+TGFiZWw6IDwvYj4ge3trZXlWYWx1ZVBhaXIua2V5fX0gLSA8Yj5WYWxvcmU6IDwvYj4ge3trZXlWYWx1ZVBhaXIudmFsdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTEyIG10LTJcIiAqbmdJZj1cImZpZWxkLlByZXNlbnRhdGlvbk1vZGUgPT0gTGlzdFByZXNlbnRhdGlvbkVudW0uSW1tYWdpbmlcIj5cclxuICAgICAgICA8ZXFwLWF0dGFjaG1lbnRzIFthdHRhY2htZW50c0xpc3RdPVwiZmllbGQuQnV0dG9uSW1hZ2VMaXN0XCIgW3Nob3dNYXRDYXJkXT1cImZhbHNlXCIgW2FsbG93T25seUltYWdlc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiZmFsc2VcIiBbc2hvd0lubGluZVByZXZpZXddPVwidHJ1ZVwiIFttdWx0aXBsZUF0dGFjaG1lbnRdPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93ZWRUeXBlc109XCJbQXR0YWNobWVudFR5cGUuRklMRV1cIiAobG9jYWxFZGl0ZWRBdHRhY2htZW50cyk9XCJjYXRjaEJ1dHRvbkltYWdlc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uQ29tcG9uZW50TG9hZGVkKT1cImNvbmZpZ3VyZUJ1dHRvbkltYWdlc0NvbHVtbnMoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvZXFwLWF0dGFjaG1lbnRzPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEZPUk0gUFJPUFJJRVTDgCBDQU1QSSBMT09LVVAgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjbG9va3VwRmllbGRGb3JtVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLlVzZUFzR2V0T3JEaXNjYXJkXCIgZm9ybUNvbnRyb2xOYW1lPVwiVXNlQXNHZXRPckRpc2NhcmRcIiBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiU2UgdHJ1ZSBsYSBsb29rdXAgdmllbmUgdmlzdWFsaXp6YXRhIGluIHVuYSBtb2RhbGUgcGVyIGxvIHNjZWdsaSBzY2FydGFcIj5cclxuICAgICAgICAgICAgVXNhIHBlciBzY2VnbGkgbyBzY2FydGFcclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBOb21lIGVudGl0w6AgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIG1hdFRvb2x0aXA9XCJOb21lIGRlbGwnZW50aXTDoCByZWxhemlvbmF0YVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiRW50aXR5U291cmNlTmFtZVwiIHJlcXVpcmVkIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuRW50aXR5U291cmNlTmFtZVwiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgbXQtMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBOb21pIGRlaSBjYW1waSAoaW52aW8gcGVyIGNvbmZlcm1hcmUpIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkVsZW5jbyBkaSBjYW1waSBvcmRpbmF0byBjaGUgdmVycsOgIHZpc3VhbGl6emF0byBuZWxsYSBsb29rdXAgKHByZW1lcmUgaW52aW8gcGVyIGNvbmZlcm1hcmUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJvbk11bHRpU2VsZWN0SW5wdXRLZXl1cCgkZXZlbnQsICdGaWVsZE5hbWVzJylcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTggZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtci0zXCI+Tm9taSBzZWxlemlvbmF0aTo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXh0ZW5zaW9uLWNvbnRhaW5lclwiICpuZ0Zvcj1cImxldCBleHRlbnNpb24gb2YgZmllbGQuRmllbGROYW1lczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZXh0ZW5zaW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWwtMVwiIChjbGljayk9XCJmaWVsZC5GaWVsZE5hbWVzLnNwbGljZShpLDEpXCI+Y2xvc2VcclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIERJQUxPRyBQRVIgQUdHSVVOR0VSRSBVTiBNRVRBREFUQSBORUkgQ0FNUEkgREkgVElQTyBBTExFR0FUTyBPIElNTUFHSU5FIC0tPlxyXG48bmctdGVtcGxhdGUgI2RpYWxvZ01ldGFkYXRhPlxyXG4gICAgPGVxcC1keW5hbWljLW1vZHVsZS1hZGQtZm9ybS1maWVsZCBbZmllbGRdPVwic2VsZWN0ZWRNZXRhZGF0YVwiIFthdmFpbGFibGVGaWVsZHNdPVwiYXZhaWxhYmxlRmllbGRzXCJcclxuICAgICAgICBbaW5kZXhGaWVsZF09XCJpbmRleFNlbGVjdGVkTWV0YWRhdGFcIiAoc2F2ZUZpZWxkRXZlbnQpPVwib25TYXZlTWV0YWRhdGEoJGV2ZW50KVwiIFtmaWVsZFR5cGVzVG9FeGNsdWRlXT1cIls2LDcsMTBdXCI+XHJcbiAgICA8L2VxcC1keW5hbWljLW1vZHVsZS1hZGQtZm9ybS1maWVsZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uSW1hZ2VzS2V5VmFsdWVJbnB1dENvbHVtbiBsZXQtcm93PVwicm93XCIgbGV0LWNvbD1cImNvbFwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IHt7Y29sLmRpc3BsYXl9fSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJyb3dbY29sLmtleV1cIiByZXF1aXJlZD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvbmctdGVtcGxhdGU+Il19