@simpleangularcontrols/sac-common 10.0.0-rc.29 → 10.0.0-rc.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/simpleangularcontrols-sac-common.umd.js +1848 -1249
- package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
- package/common/basedatetimecontrol.d.ts +47 -21
- package/common/baseinputcontrol.d.ts +10 -8
- package/common/baselistcontrol.d.ts +15 -15
- package/common/basemodelcontrol.d.ts +59 -43
- package/common/baseselectcontrol.d.ts +5 -5
- package/common/baseuploadcontrol.d.ts +77 -57
- package/components/browser/browser.d.ts +86 -89
- package/components/browser/models/browserfile.d.ts +6 -6
- package/components/browser/models/browserfiledeleterequest.d.ts +7 -7
- package/components/browser/models/browserfilerenamerequest.d.ts +10 -10
- package/components/browser/models/browserfileresponse.d.ts +2 -2
- package/components/browser/models/browserfilesaverequest.d.ts +7 -7
- package/components/browser/models/browsernode.d.ts +13 -13
- package/components/browser/models/browsernodedeleterequest.d.ts +6 -6
- package/components/browser/models/browsernodenewrequest.d.ts +7 -7
- package/components/browser/models/browsernoderenamerequest.d.ts +7 -7
- package/components/browser/models/browsernoderequest.d.ts +7 -7
- package/components/browser/models/browsernoderesponse.d.ts +1 -1
- package/controls/buttons/button.d.ts +25 -19
- package/controls/checkbox/checkbox.d.ts +3 -3
- package/controls/checkbox/radiobutton.d.ts +19 -13
- package/controls/checkbox/radiobuttons.d.ts +13 -10
- package/controls/confirm/confirm.button.d.ts +3 -3
- package/controls/confirm/confirm.d.ts +13 -12
- package/controls/confirm/confirm.service.d.ts +14 -14
- package/controls/contextmenu/contextmenu.d.ts +33 -27
- package/controls/contextmenu/contextmenu.interface.d.ts +6 -0
- package/controls/contextmenu/contextmenuanchor.d.ts +4 -4
- package/controls/contextmenu/contextmenucontainer.d.ts +4 -4
- package/controls/contextmenu/contextmenuitembutton.d.ts +12 -12
- package/controls/datetime/date.d.ts +11 -11
- package/controls/datetime/dateselector.d.ts +47 -40
- package/controls/datetime/datetime.d.ts +15 -14
- package/controls/datetime/time.d.ts +22 -12
- package/controls/dialog/dialog.d.ts +28 -22
- package/controls/form/form.d.ts +17 -12
- package/controls/grid/grid.d.ts +1 -0
- package/controls/grid/gridbutton.d.ts +1 -0
- package/controls/grid/gridcolumn.d.ts +5 -1
- package/controls/grid/gridcolumnaction.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +8 -3
- package/controls/grid/model.d.ts +5 -2
- package/controls/grid/paging.d.ts +2 -3
- package/controls/input/input.d.ts +7 -7
- package/controls/input/inputarea.d.ts +8 -6
- package/controls/input/inputcurrency.d.ts +4 -1
- package/controls/input/inputdecimal.d.ts +14 -14
- package/controls/input/inputemail.d.ts +4 -4
- package/controls/input/inputinteger.d.ts +14 -14
- package/controls/input/inputpassword.d.ts +3 -3
- package/controls/input/inputsearch.d.ts +8 -5
- package/controls/layout/formlayout.d.ts +8 -5
- package/controls/list/buildvaluestring.d.ts +2 -2
- package/controls/list/dropdown.d.ts +23 -22
- package/controls/list/dropdownoptions.d.ts +10 -10
- package/controls/list/listbox.d.ts +25 -23
- package/controls/multilanguage/multilanguageinput.d.ts +25 -25
- package/controls/multilanguage/multilanguageinputarea.d.ts +27 -27
- package/controls/static/formcontainer.d.ts +8 -8
- package/controls/static/staticlabel.d.ts +5 -5
- package/controls/tabs/tab.d.ts +2 -2
- package/controls/tabs/tabitem.d.ts +7 -7
- package/controls/tinymce/tinymce.d.ts +37 -37
- package/controls/tinymce/tinymcedialogsettings.d.ts +6 -6
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +2 -2
- package/controls/tinymce/tinymceinstance.d.ts +2 -2
- package/controls/tooltip/tooltip.d.ts +10 -5
- package/controls/treeview/treeview.d.ts +50 -5
- package/controls/upload/dropzonemultiple.d.ts +16 -16
- package/controls/upload/dropzonesingle.d.ts +11 -11
- package/controls/upload/uploadmultiple.d.ts +12 -12
- package/controls/upload/uploadsingle.d.ts +7 -7
- package/controls/validation/validationsummary.d.ts +12 -11
- package/controls/wizard/wizard.d.ts +25 -18
- package/controls/wizard/wizarditem.d.ts +5 -5
- package/enums/ButtonRoleType.d.ts +26 -1
- package/enums/ControlHeight.d.ts +1 -1
- package/enums/IconType.d.ts +1 -1
- package/esm2015/common/basedatetimecontrol.js +47 -22
- package/esm2015/common/baseinputcontrol.js +13 -11
- package/esm2015/common/baselistcontrol.js +21 -17
- package/esm2015/common/basemodelcontrol.js +72 -49
- package/esm2015/common/baseselectcontrol.js +11 -9
- package/esm2015/common/baseuploadcontrol.js +69 -49
- package/esm2015/components/browser/browser.js +93 -105
- package/esm2015/components/browser/models/browserfile.js +1 -1
- package/esm2015/components/browser/models/browserfiledeleterequest.js +6 -4
- package/esm2015/components/browser/models/browserfilerenamerequest.js +6 -4
- package/esm2015/components/browser/models/browserfileresponse.js +1 -1
- package/esm2015/components/browser/models/browserfilesaverequest.js +5 -3
- package/esm2015/components/browser/models/browsernode.js +1 -1
- package/esm2015/components/browser/models/browsernodedeleterequest.js +6 -4
- package/esm2015/components/browser/models/browsernodenewrequest.js +6 -4
- package/esm2015/components/browser/models/browsernoderenamerequest.js +6 -4
- package/esm2015/components/browser/models/browsernoderequest.js +6 -4
- package/esm2015/components/browser/models/browsernoderesponse.js +1 -1
- package/esm2015/controls/buttons/button.js +26 -20
- package/esm2015/controls/checkbox/checkbox.js +3 -3
- package/esm2015/controls/checkbox/radiobutton.js +21 -15
- package/esm2015/controls/checkbox/radiobuttons.js +14 -11
- package/esm2015/controls/confirm/confirm.button.js +4 -4
- package/esm2015/controls/confirm/confirm.js +14 -13
- package/esm2015/controls/confirm/confirm.service.js +21 -21
- package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -1
- package/esm2015/controls/contextmenu/contextmenu.js +29 -23
- package/esm2015/controls/contextmenu/contextmenuanchor.js +4 -4
- package/esm2015/controls/contextmenu/contextmenucontainer.js +4 -4
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +10 -10
- package/esm2015/controls/datetime/date.js +13 -13
- package/esm2015/controls/datetime/dateselector.js +55 -54
- package/esm2015/controls/datetime/datetime.js +17 -16
- package/esm2015/controls/datetime/time.js +24 -14
- package/esm2015/controls/dialog/dialog.js +31 -24
- package/esm2015/controls/form/form.js +18 -13
- package/esm2015/controls/grid/grid.js +2 -1
- package/esm2015/controls/grid/gridbutton.js +2 -1
- package/esm2015/controls/grid/gridcolumn.js +6 -2
- package/esm2015/controls/grid/gridcolumnaction.js +2 -2
- package/esm2015/controls/grid/gridcolumnbase.js +9 -4
- package/esm2015/controls/grid/model.js +5 -2
- package/esm2015/controls/grid/paging.js +6 -7
- package/esm2015/controls/input/input.js +8 -8
- package/esm2015/controls/input/inputarea.js +9 -7
- package/esm2015/controls/input/inputcurrency.js +6 -3
- package/esm2015/controls/input/inputdecimal.js +21 -27
- package/esm2015/controls/input/inputemail.js +5 -5
- package/esm2015/controls/input/inputinteger.js +19 -23
- package/esm2015/controls/input/inputpassword.js +4 -4
- package/esm2015/controls/input/inputsearch.js +9 -6
- package/esm2015/controls/layout/formlayout.js +10 -7
- package/esm2015/controls/list/buildvaluestring.js +6 -6
- package/esm2015/controls/list/dropdown.js +28 -27
- package/esm2015/controls/list/dropdownoptions.js +12 -12
- package/esm2015/controls/list/listbox.js +26 -24
- package/esm2015/controls/multilanguage/multilanguageinput.js +29 -29
- package/esm2015/controls/multilanguage/multilanguageinputarea.js +31 -31
- package/esm2015/controls/static/formcontainer.js +10 -10
- package/esm2015/controls/static/staticlabel.js +7 -7
- package/esm2015/controls/tabs/tab.js +2 -2
- package/esm2015/controls/tabs/tabitem.js +5 -5
- package/esm2015/controls/tinymce/tinymce.js +35 -35
- package/esm2015/controls/tinymce/tinymcedialogsettings.js +4 -4
- package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +1 -1
- package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
- package/esm2015/controls/tooltip/tooltip.js +13 -8
- package/esm2015/controls/treeview/treeview.js +52 -7
- package/esm2015/controls/upload/dropzonemultiple.js +18 -18
- package/esm2015/controls/upload/dropzonesingle.js +12 -12
- package/esm2015/controls/upload/uploadmultiple.js +14 -14
- package/esm2015/controls/upload/uploadsingle.js +8 -8
- package/esm2015/controls/validation/validationsummary.js +14 -13
- package/esm2015/controls/wizard/wizard.js +24 -17
- package/esm2015/controls/wizard/wizarditem.js +4 -4
- package/esm2015/enums/ButtonRoleType.js +1 -1
- package/esm2015/enums/ControlHeight.js +2 -2
- package/esm2015/enums/IconType.js +2 -2
- package/esm2015/interfaces/ISacConfigurationService.js +1 -1
- package/esm2015/interfaces/ISacFileBrowserService.js +1 -1
- package/esm2015/interfaces/ISacLabelSizes.js +1 -1
- package/esm2015/interfaces/ISacLanguageService.js +1 -1
- package/esm2015/interfaces/ISacLocalisationService.js +1 -1
- package/esm2015/interfaces/ISacUploadEventCompleteState.js +1 -1
- package/esm2015/interfaces/iabstractcontrollabel.js +1 -1
- package/esm2015/interfaces/iconfirmcomponent.js +1 -1
- package/esm2015/interfaces/idatetimecontrol.js +1 -1
- package/esm2015/interfaces/iuploadcontrol.js +1 -1
- package/esm2015/interfaces/treeviewaction.interface.js +1 -1
- package/esm2015/models/languagemodel.js +5 -3
- package/esm2015/public_api.js +3 -2
- package/esm2015/services/index.js +4 -4
- package/esm2015/services/sac-configuration.service.js +7 -1
- package/esm2015/services/sac-filebrowser.service.js +46 -38
- package/esm2015/services/sac-localisation.service.js +11 -7
- package/esm2015/services/sac-validationkey.service.js +148 -1
- package/esm2015/utilities/convertion.js +7 -5
- package/esm2015/utilities/datatypes.js +6 -4
- package/esm2015/utilities/enums.js +9 -8
- package/esm2015/utilities/guid.js +2 -2
- package/esm2015/utilities/interpolation.js +16 -9
- package/esm2015/utilities/popuphelper.js +62 -25
- package/esm2015/utilities/positioncalculator.js +209 -0
- package/esm2015/utilities/positioncalculator.ngfactory.js +7 -0
- package/esm2015/utilities/positionelements.js +108 -0
- package/esm2015/utilities/positionelements.ngfactory.js +7 -0
- package/esm2015/utilities/testingattribute.pipe.js +17 -2
- package/esm2015/validation/email.validator.js +11 -2
- package/esm2015/validation/equals.validator.js +11 -1
- package/esm2015/validation/index.js +1 -1
- package/esm2015/validation/invaliddate.validator.js +11 -2
- package/esm2015/validation/isDateValid.js +11 -10
- package/esm2015/validation/maxdate.validator.js +14 -4
- package/esm2015/validation/maxtime.validator.js +14 -4
- package/esm2015/validation/maxvalue.validator.js +12 -2
- package/esm2015/validation/mindate.validator.js +14 -4
- package/esm2015/validation/minfiles.validator.js +12 -2
- package/esm2015/validation/mintextlength.validator.js +9 -1
- package/esm2015/validation/mintime.validator.js +14 -4
- package/esm2015/validation/minvalue.validator.js +12 -2
- package/esm2015/validation/multilanguagerequired.validator.js +11 -1
- package/esm2015/validation/multilanguagerequiredany.validator.js +11 -1
- package/esm2015/validation/notequals.validator.js +11 -1
- package/esm2015/validation/pattern.validator.js +12 -2
- package/esm2015/validation/required.validator.js +11 -2
- package/esm2015/validation/validation.class.js +84 -101
- package/esm2015/validation/validationerrorcreator.js +12 -1
- package/esm2015/validation/validationerroritem.js +11 -9
- package/fesm2015/simpleangularcontrols-sac-common.js +1823 -1226
- package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +9 -1
- package/interfaces/ISacFileBrowserService.d.ts +43 -43
- package/interfaces/ISacLabelSizes.d.ts +15 -12
- package/interfaces/ISacLanguageService.d.ts +3 -3
- package/interfaces/ISacLocalisationService.d.ts +2 -2
- package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
- package/interfaces/iabstractcontrollabel.d.ts +4 -1
- package/interfaces/iconfirmcomponent.d.ts +6 -6
- package/interfaces/idatetimecontrol.d.ts +10 -1
- package/interfaces/treeviewaction.interface.d.ts +9 -0
- package/models/languagemodel.d.ts +9 -9
- package/package.json +1 -1
- package/public_api.d.ts +2 -1
- package/services/index.d.ts +3 -3
- package/services/sac-configuration.service.d.ts +8 -0
- package/services/sac-filebrowser.service.d.ts +78 -70
- package/services/sac-localisation.service.d.ts +11 -7
- package/services/sac-validationkey.service.d.ts +147 -0
- package/simpleangularcontrols-sac-common-10.0.0-rc.30.tgz +0 -0
- package/simpleangularcontrols-sac-common.metadata.json +1 -1
- package/utilities/convertion.d.ts +4 -4
- package/utilities/datatypes.d.ts +3 -3
- package/utilities/enums.d.ts +8 -1
- package/utilities/guid.d.ts +1 -1
- package/utilities/interpolation.d.ts +9 -8
- package/utilities/popuphelper.d.ts +47 -10
- package/utilities/positioncalculator.d.ts +82 -0
- package/utilities/positionelements.d.ts +30 -0
- package/utilities/positionelements.ngfactory.d.ts +1 -0
- package/utilities/testingattribute.pipe.d.ts +16 -1
- package/validation/email.validator.d.ts +7 -0
- package/validation/equals.validator.d.ts +8 -0
- package/validation/invaliddate.validator.d.ts +7 -0
- package/validation/isDateValid.d.ts +5 -2
- package/validation/maxdate.validator.d.ts +8 -0
- package/validation/maxtime.validator.d.ts +8 -0
- package/validation/maxvalue.validator.d.ts +8 -0
- package/validation/mindate.validator.d.ts +8 -0
- package/validation/minfiles.validator.d.ts +8 -0
- package/validation/mintextlength.validator.d.ts +8 -0
- package/validation/mintime.validator.d.ts +8 -0
- package/validation/minvalue.validator.d.ts +8 -0
- package/validation/multilanguagerequired.validator.d.ts +9 -1
- package/validation/multilanguagerequiredany.validator.d.ts +9 -1
- package/validation/notequals.validator.d.ts +8 -0
- package/validation/pattern.validator.d.ts +8 -0
- package/validation/required.validator.d.ts +7 -0
- package/validation/validation.class.d.ts +83 -100
- package/validation/validationerrorcreator.d.ts +9 -0
- package/validation/validationerroritem.d.ts +16 -16
- package/esm2015/utilities/positioning.js +0 -301
- package/esm2015/utilities/positioning.ngfactory.js +0 -7
- package/simpleangularcontrols-sac-common-10.0.0-rc.29.tgz +0 -0
- package/utilities/positioning.d.ts +0 -82
- /package/utilities/{positioning.ngfactory.d.ts → positioncalculator.ngfactory.d.ts} +0 -0
|
@@ -24,195 +24,178 @@ const moment = moment_['default'];
|
|
|
24
24
|
// #endregion Variables
|
|
25
25
|
// #region Exported Classes
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Class with standard validators
|
|
28
28
|
*/
|
|
29
29
|
export class Validation {
|
|
30
30
|
// #region Public Static Methods
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
* @param errorType
|
|
32
|
+
* This method is called by every validator. It sets both the errorType of the validated item and the ErrorMessage (according to errorType, FieldName and Parameters).
|
|
33
|
+
* @param errorType Type of the error
|
|
34
34
|
* @param errorMessageKey Error Message Key
|
|
35
|
-
* @param errorMessageValidationSummaryKey Error Message Key
|
|
36
|
-
* @param fieldName
|
|
37
|
-
* @param parameters
|
|
35
|
+
* @param errorMessageValidationSummaryKey Error Message Key for Validation Summary
|
|
36
|
+
* @param fieldName Label or name of the field
|
|
37
|
+
* @param parameters Parameters that can be used as placeholders in messages
|
|
38
38
|
*/
|
|
39
39
|
static GetValidationErrorItem(errorType, errorMessageKey, errorMessageValidationSummaryKey, fieldName = null, parameters = new Map()) {
|
|
40
40
|
return CreateValidationError(errorType, errorMessageKey, errorMessageValidationSummaryKey, parameters);
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @param
|
|
45
|
-
* @param
|
|
46
|
-
* @
|
|
47
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
43
|
+
* Validates field for email address
|
|
44
|
+
* @param validationMessage Validation message displayed at the control
|
|
45
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
46
|
+
* @returns ValidatorFn validator function
|
|
48
47
|
*/
|
|
49
48
|
static email(validationMessage, validationMessageSummary) {
|
|
50
49
|
return emailValidator(validationMessage, validationMessageSummary);
|
|
51
50
|
}
|
|
52
51
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
*/
|
|
52
|
+
* Validator validate if value is the requiredValue
|
|
53
|
+
* @param requiredValue Value that control should have
|
|
54
|
+
* @param validationMessage Validation message near the control
|
|
55
|
+
* @param validationMessageSummary Validation message inside the validation summary
|
|
56
|
+
* @returns ValidatorFn validator function
|
|
57
|
+
*/
|
|
61
58
|
static equals(requiredValue, validationMessage, validationMessageSummary) {
|
|
62
59
|
return equalsValueValidator(requiredValue, validationMessage, validationMessageSummary);
|
|
63
60
|
}
|
|
64
61
|
/**
|
|
65
|
-
* Validator
|
|
66
|
-
* @param
|
|
67
|
-
* @param
|
|
68
|
-
* @
|
|
69
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
62
|
+
* Validator that checks if the value is a date.
|
|
63
|
+
* @param validationMessage Validation message displayed at the control
|
|
64
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
65
|
+
* @returns ValidatorFn validator function
|
|
70
66
|
*/
|
|
71
67
|
static isValidDate(validationMessage, validationMessageSummary) {
|
|
72
68
|
return isValidDateValidator(validationMessage, validationMessageSummary);
|
|
73
69
|
}
|
|
74
70
|
/**
|
|
75
|
-
*
|
|
76
|
-
* @param
|
|
77
|
-
* @param
|
|
78
|
-
* @param
|
|
79
|
-
* @
|
|
80
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
71
|
+
* Validates if the date is older than maxDate
|
|
72
|
+
* @param maxDate Maximum date allowed
|
|
73
|
+
* @param validationMessage Validation message displayed at the control
|
|
74
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
75
|
+
* @returns ValidatorFn validator function
|
|
81
76
|
*/
|
|
82
77
|
static maxDate(maxDate, validationMessage, validationMessageSummary) {
|
|
83
78
|
return maxDateValidator(maxDate, validationMessage, validationMessageSummary);
|
|
84
79
|
}
|
|
85
80
|
/**
|
|
86
|
-
*
|
|
87
|
-
* @param
|
|
88
|
-
* @param
|
|
89
|
-
* @param
|
|
90
|
-
* @
|
|
91
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
81
|
+
* Validates if the time is earlier than maxTime.
|
|
82
|
+
* @param maxTime Maximum time allowed
|
|
83
|
+
* @param validationMessage Validation message displayed at the control
|
|
84
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
85
|
+
* @returns ValidatorFn validator function
|
|
92
86
|
*/
|
|
93
87
|
static maxTime(maxTime, validationMessage, validationMessageSummary) {
|
|
94
88
|
return maxTimeValidator(maxTime, validationMessage, validationMessageSummary);
|
|
95
89
|
}
|
|
96
90
|
/**
|
|
97
|
-
* Validator
|
|
98
|
-
* @param
|
|
99
|
-
* @param
|
|
100
|
-
* @param
|
|
101
|
-
* @
|
|
102
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
91
|
+
* Validator for Max Value
|
|
92
|
+
* @param maxvalue Maximum value allowed
|
|
93
|
+
* @param validationMessage Validation message displayed at the control
|
|
94
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
95
|
+
* @returns ValidatorFn validator function
|
|
103
96
|
*/
|
|
104
97
|
static maxValue(maxvalue, validationMessage, validationMessageSummary) {
|
|
105
98
|
return maxValueValidator(maxvalue, validationMessage, validationMessageSummary);
|
|
106
99
|
}
|
|
107
100
|
/**
|
|
108
|
-
*
|
|
109
|
-
* @param
|
|
110
|
-
* @param
|
|
111
|
-
* @param
|
|
112
|
-
* @
|
|
113
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
101
|
+
* Validates if the date is newer than minDate
|
|
102
|
+
* @param minDate Minimum date allowed
|
|
103
|
+
* @param validationMessage Validation message displayed at the control
|
|
104
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
105
|
+
* @returns ValidatorFn validator function
|
|
114
106
|
*/
|
|
115
107
|
static minDate(minDate, validationMessage, validationMessageSummary) {
|
|
116
108
|
return minDateValidator(minDate, validationMessage, validationMessageSummary);
|
|
117
109
|
}
|
|
118
110
|
/**
|
|
119
|
-
* Validator
|
|
120
|
-
* @param
|
|
121
|
-
* @param
|
|
122
|
-
* @param
|
|
123
|
-
* @
|
|
124
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
111
|
+
* Validator for min. number of uploads
|
|
112
|
+
* @param minFiles Minimum number of files that must be uploaded
|
|
113
|
+
* @param validationMessage Validation message displayed below the control
|
|
114
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
115
|
+
* @returns ValidatorFn validator function
|
|
125
116
|
*/
|
|
126
117
|
static minFiles(minFiles, validationMessage, validationMessageSummary) {
|
|
127
118
|
return minFilesValidator(minFiles, validationMessage, validationMessageSummary);
|
|
128
119
|
}
|
|
129
120
|
/**
|
|
130
|
-
*
|
|
131
|
-
* @param
|
|
132
|
-
* @param
|
|
133
|
-
* @param
|
|
134
|
-
* @
|
|
135
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
121
|
+
* Validates the length of the value in the control
|
|
122
|
+
* @param mintextlength Minimum length of the value
|
|
123
|
+
* @param validationMessage Validation message displayed at the control
|
|
124
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
125
|
+
* @returns ValidatorFn validator function
|
|
136
126
|
*/
|
|
137
127
|
static minTextLength(minlength, validationMessage, validationMessageSummary) {
|
|
138
128
|
return minTextLengthValidator(minlength, validationMessage, validationMessageSummary);
|
|
139
129
|
}
|
|
140
130
|
/**
|
|
141
|
-
*
|
|
142
|
-
* @param
|
|
143
|
-
* @param
|
|
144
|
-
* @param
|
|
145
|
-
* @
|
|
146
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
131
|
+
* Validates if the time is later than minTime.
|
|
132
|
+
* @param minTime Minimum time allowed
|
|
133
|
+
* @param validationMessage Validation message displayed at the control
|
|
134
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
135
|
+
* @returns ValidatorFn validator function
|
|
147
136
|
*/
|
|
148
137
|
static minTime(minTime, validationMessage, validationMessageSummary) {
|
|
149
138
|
return minTimeValidator(minTime, validationMessage, validationMessageSummary);
|
|
150
139
|
}
|
|
151
140
|
/**
|
|
152
|
-
* Validator
|
|
153
|
-
* @param
|
|
154
|
-
* @param
|
|
155
|
-
* @param
|
|
156
|
-
* @
|
|
157
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
141
|
+
* Validator that checks if the value is greater than minValue.
|
|
142
|
+
* @param minvalue Minimum value allowed
|
|
143
|
+
* @param validationMessage Validation message displayed at the control
|
|
144
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
145
|
+
* @returns ValidatorFn validator function
|
|
158
146
|
*/
|
|
159
147
|
static minValue(minvalue, validationMessage, validationMessageSummary) {
|
|
160
148
|
return minValueValidator(minvalue, validationMessage, validationMessageSummary);
|
|
161
149
|
}
|
|
162
150
|
/**
|
|
163
|
-
* Validator
|
|
164
|
-
* @param
|
|
165
|
-
* @param
|
|
166
|
-
* @param
|
|
167
|
-
* @
|
|
168
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
151
|
+
* Validator for MultiLanguage Control that checks if a value has been entered in all languages
|
|
152
|
+
* @param languages Languages that can be captured in the control
|
|
153
|
+
* @param validationMessage Validation message displayed below the control
|
|
154
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
155
|
+
* @returns ValidatorFn validator function
|
|
169
156
|
*/
|
|
170
157
|
static multilanguageRequired(languages, validationMessage, validationMessageSummary) {
|
|
171
158
|
return multilanguageRequiredValidator(languages, validationMessage, validationMessageSummary);
|
|
172
159
|
}
|
|
173
160
|
/**
|
|
174
|
-
* Validator
|
|
175
|
-
* @param
|
|
176
|
-
* @param
|
|
177
|
-
* @param
|
|
178
|
-
* @
|
|
179
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
161
|
+
* Validator for MultiLanguage Control that checks if at least one value has been entered
|
|
162
|
+
* @param languages Languages that can be captured in the control
|
|
163
|
+
* @param validationMessage Validation message displayed below the control
|
|
164
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
165
|
+
* @returns ValidatorFn validator function
|
|
180
166
|
*/
|
|
181
167
|
static multilanguageRequiredAny(languages, validationMessage, validationMessageSummary) {
|
|
182
168
|
return multilanguageRequiredAnyValidator(languages, validationMessage, validationMessageSummary);
|
|
183
169
|
}
|
|
184
170
|
/**
|
|
185
171
|
* Validator validate if value is not the invalidValue
|
|
186
|
-
* @param invalidValue Value that control
|
|
187
|
-
* @param
|
|
188
|
-
* @param
|
|
189
|
-
* @
|
|
190
|
-
* @param validationMessageSummary validation inside the validation summary
|
|
172
|
+
* @param invalidValue Value that control should not have
|
|
173
|
+
* @param validationMessage Validation message near the control
|
|
174
|
+
* @param validationMessageSummary Validation message inside the validation summary
|
|
175
|
+
* @returns ValidatorFn validator function
|
|
191
176
|
*/
|
|
192
177
|
static notequals(invalidValue, validationMessage, validationMessageSummary) {
|
|
193
178
|
return notEqualsValueValidator(invalidValue, validationMessage, validationMessageSummary);
|
|
194
179
|
}
|
|
195
180
|
/**
|
|
196
|
-
*
|
|
197
|
-
* @param
|
|
198
|
-
* @param
|
|
199
|
-
* @param
|
|
200
|
-
* @
|
|
201
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
181
|
+
* Validation with a RegEx pattern
|
|
182
|
+
* @param pattern RegEx pattern that the value must match
|
|
183
|
+
* @param validationMessage Validation message displayed below the control
|
|
184
|
+
* @param validationMessageSummary Validation message displayed in the Validation Summary
|
|
185
|
+
* @returns ValidatorFn validator function
|
|
202
186
|
*/
|
|
203
187
|
static pattern(pattern, validationMessage, validationMessageSummary) {
|
|
204
188
|
return patternValidator(pattern, validationMessage, validationMessageSummary);
|
|
205
189
|
}
|
|
206
190
|
/**
|
|
207
|
-
* Validator
|
|
208
|
-
* @
|
|
209
|
-
* @param
|
|
210
|
-
* @param
|
|
211
|
-
* @param validationMessageSummary Validierungsmeldung die im Validation Summary angezeigt wird
|
|
191
|
+
* Validator for Required State
|
|
192
|
+
* @returns ValidatorFn validator function
|
|
193
|
+
* @param validationMessage Validation message that
|
|
194
|
+
* @param validationMessageSummary Validation message that is displayed in the Validation Summary
|
|
212
195
|
*/
|
|
213
196
|
static required(validationMessage, validationMessageSummary) {
|
|
214
197
|
return requiredValidator(validationMessage, validationMessageSummary);
|
|
215
198
|
}
|
|
216
199
|
}
|
|
217
200
|
// #endregion Exported Classes
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInZhbGlkYXRpb24vdmFsaWRhdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJB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QUMsQ0FBQztJQUMxRSxDQUFDO0NBR0o7QUFFRCw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xuaW1wb3J0IHsgZW1haWxWYWxpZGF0b3IgfSBmcm9tICcuL2VtYWlsLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBlcXVhbHNWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vZXF1YWxzLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vaW52YWxpZGRhdGUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1heERhdGVWYWxpZGF0b3IgfSBmcm9tICcuL21heGRhdGUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1heFRpbWVWYWxpZGF0b3IgfSBmcm9tICcuL21heHRpbWUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1heFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh2YWx1ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWluRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vbWluZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWluRmlsZXNWYWxpZGF0b3IgfSBmcm9tICcuL21pbmZpbGVzLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5UZXh0TGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50ZXh0bGVuZ3RoLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5UaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9taW50aW1lLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5WYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbWludmFsdWUudmFsaWRhdG9yJztcbmltcG9ydCB7IG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZXJlcXVpcmVkLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnlWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZGFueS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL25vdGVxdWFscy52YWxpZGF0b3InO1xuaW1wb3J0IHsgcGF0dGVyblZhbGlkYXRvciB9IGZyb20gJy4vcGF0dGVybi52YWxpZGF0b3InO1xuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDcmVhdGVWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL3ZhbGlkYXRpb25lcnJvcmNyZWF0b3InO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbi8vICNyZWdpb24gVmFyaWFibGVzXG5cbi8qKlxuICogTW9tZW50XG4gKi9cbmNvbnN0IG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcblxuLy8gI2VuZHJlZ2lvbiBWYXJpYWJsZXNcblxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG5cbi8qKlxuICogS2xhc3NlIG1pdCBTdGFuZGFyZCBWYWxpZGF0b3JlblxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbiB7XG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgU3RhdGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERpZSBNZXRob2RlIGlzdCB2b24gamVkZW0gVmFsaWRhdG9yIGF1ZmdlcnVmZW4uIERpZSBzZXR6dCBzb3dvaGwgZGVuIGVycm9yVHlwZSBkZXMgZ2VycMO8ZnRlIEl0ZW0sIGFscyBhdWNoIGRpZSBFcnJvck1lc3NhZ2UgKGdlbcOkc3Mgdm9uIGVycm9yVHlwZSwgRmllbGROYW1lIHVuZCBQYXJhbWV0ZXJzKS5cbiAgICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cCBkZW4gRmVobGVyXG4gICAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxuICAgICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmw7xyIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgIExhYmVsIG9kZXIgTmFtZSBkZXMgRmVsZGVzXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgUGFyYW1ldGVybiBkaWUgaW4gZGVuIE1lbGR1bmdlbiBhbHMgUGxhdHpoYWx0ZXIgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBHZXRWYWxpZGF0aW9uRXJyb3JJdGVtKFxuICAgICAgICBlcnJvclR5cGU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JNZXNzYWdlS2V5OiBzdHJpbmcsXG4gICAgICAgIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5OiBzdHJpbmcsXG4gICAgICAgIGZpZWxkTmFtZTogc3RyaW5nID0gbnVsbCxcbiAgICAgICAgcGFyYW1ldGVyczogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KClcbiAgICApOiBhbnkge1xuICAgICAgICByZXR1cm4gQ3JlYXRlVmFsaWRhdGlvbkVycm9yKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlS2V5LCBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSwgcGFyYW1ldGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ0IEZlbGQgYXVmIEUtTWFpbCBBZHJlc3NlXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsZGllcnQgd2VyZGVuIHNvbGxcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBlbWFpbCh2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICogVmFsaWRhdG9yIHZhbGlkYXRlIGlmIHZhbHVlIGlzIHRoZSByZXF1aXJlZFZhbHVlXG4gICAqIEBwYXJhbSByZXF1aXJlZFZhbHVlIFZhbHVlIHRoYXQgY29udHJvbCBzaG91bGQgaGF2ZVxuICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRvIGJlIHZhbGlkYXRlXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgb2YgY29udHJvbFxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgdmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcbiAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSB2YWxpZGF0aW9uIGluc2lkZSB0aGUgdmFsaWRhdGlvbiBzdW1tYXJ5XG5cbiAgICovXG4gICAgcHVibGljIHN0YXRpYyBlcXVhbHMocmVxdWlyZWRWYWx1ZTogYW55LCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBlcXVhbHNWYWx1ZVZhbGlkYXRvcihyZXF1aXJlZFZhbHVlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZGVyIHByw7xmdCBvYiBkZXIgV2VydCBlaW4gRGF0dW0gaXN0LlxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgbWl0IElEYXRlVGltZUNvbnRyb2wgSW50ZXJmYWNlIGltcGxlbWVudGllcnVuZ1xuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGJlaW0gQ29udHJvbCBhbmdlemVpZ3Qgd2lyZFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBpc1ZhbGlkRGF0ZSh2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZVZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgb2IgZGFzIERhdHVtIMOkbHRlciBhbHMgbWF4RGF0ZSBpc3RcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGwuIE11c3MgSURhdGVUaW1lQ29udHJvbCBpbXBsZW1lbnRpZXJ0IGhhYmVuXG4gICAgICogQHBhcmFtIG1heERhdGUgbWF4LiBEYXR1bVxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1heERhdGUobWF4RGF0ZTogRGF0ZSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWF4RGF0ZVZhbGlkYXRvcihtYXhEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgb2IgZGllIFplaXQgZnLDvGhlciBhbHMgbWF4VGltZSBpc3QuXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxuICAgICAqIEBwYXJhbSBtYXhUaW1lIE1pbi4gWmVpdFxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1heFRpbWUobWF4VGltZTogRGF0ZSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWF4VGltZVZhbGlkYXRvcihtYXhUaW1lLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZsO8ciBNYXggVmFsdWVcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2VyZGVuIHNvbGxcbiAgICAgKiBAcGFyYW0gbWF4dmFsdWUgTWF4LiBXZXJ0XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWF4VmFsdWUobWF4dmFsdWU6IG51bWJlciwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWF4VmFsdWVWYWxpZGF0b3IobWF4dmFsdWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkaWVydCBvYiBkYXMgRGF0dW0gbmV1ZXIgYWxzIG1pbkRhdGUgaXN0XG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdlcmRlbiBzb2xsLiBNdXNzIElEYXRlVGltZUNvbnRyb2wgaW1wbGVtZW50aWVydCBoYWJlblxuICAgICAqIEBwYXJhbSBtaW5EYXRlIE1pbi4gRGF0dW1cbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5EYXRlKG1pbkRhdGU6IERhdGUsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG1pbkRhdGVWYWxpZGF0b3IobWluRGF0ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGbDvHIgbWluLiBBbnphaGwgdm9uIFVwbG9hZHNcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGF0aWVydCB3ZXJkZW4gc29sbC4gQ29udHJvbCBtdXNzIElVcGxvYWRDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cbiAgICAgKiBAcGFyYW0gbWluRmlsZXMgTWluLiBBbnphaGwgRmlsZXMgZGllIGhvY2hnZWxhZGVuIHdlcmRlbiBtw7xzc2VuXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgdW50ZXJoYWxiIGRlcyBDb250cm9scyBhbmdlemVpZ3Qgd2lyZFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5GaWxlcyhtaW5GaWxlczogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5GaWxlc1ZhbGlkYXRvcihtaW5GaWxlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ0IGF1ZiBkaWUgTMOkbmdlIGRlcyBXZXJ0ZXMgaW0gQ29udHJvbFxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBtaW50ZXh0bGVuZ3RoIE1pbi4gTMOkbmdlIGRlcyBXZXJ0ZXNcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5UZXh0TGVuZ3RoKG1pbmxlbmd0aDogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5UZXh0TGVuZ3RoVmFsaWRhdG9yKG1pbmxlbmd0aCwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ0IG9iIGRpZSBaZWl0IHNww6R0ZXIgYWxzIG1pblRpbWUgaXN0LlxuICAgICAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgZGFzIFZhbGlkaWVydCB3ZXJkZW4gc29sbC4gTXVzcyBJRGF0ZVRpbWVDb250cm9sIGltcGxlbWVudGllcnQgaGFiZW5cbiAgICAgKiBAcGFyYW0gbWluVGltZSBNaW4uIFplaXRcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5UaW1lKG1pblRpbWU6IERhdGUsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluVGltZVZhbGlkYXRvcihtaW5UaW1lLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZsO8ciBNaW4gVmFsdWVcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGllcnQgd2lyZFxuICAgICAqIEBwYXJhbSBtaW52YWx1ZSBNaW4uIFZhbHVlXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBkZXMgQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkaWVydW5nc21lbGR1bmcgZGllIGltIFZhbGlkYXRpb24gU3VtbWFyeSBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWluVmFsdWUobWludmFsdWU6IG51bWJlciwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IobWludmFsdWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmw7xyIE11bHRpTGFuZ3VhZ2UgQ29udHJvbCwgd2VsY2hlciDDvGJlcnByw7xmdCBvYiBhbGxlIFNwcmFjaGVuIGVyZmFzc3Qgc2luZC5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGF0aWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBsYW5ndWFnZXMgU3ByYWNoZW4gZGllIGltIENvbnRyb2wgZXJmYXNzdCB3ZXJkZW4ga8O2bm5lbi5cbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcbiAgICAgICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxuICAgICk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZFZhbGlkYXRvcihsYW5ndWFnZXMsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmw7xyIE11bHRpTGFuZ3VhZ2UgQ29udHJvbCwgd2VsY2hlciDDvGJlcnByw7xmdCBvYiBtaW4uIGVpbiBXZXJ0IGVyZmFzc3Qgd3VyZGVcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyBWYWxpZGF0aWVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBsYW5ndWFnZXMgU3ByYWNoZW4gZGllIGltIENvbnRyb2wgZXJmYXNzdCB3ZXJkZW4ga8O2bm5lbi5cbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSB1bnRlcmhhbGIgZGVzIENvbnRyb2xzIGFuZ2V6ZWlndCB3aXJkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueShcbiAgICAgICAgbGFuZ3VhZ2VzOiBMYW5ndWFnZU1vZGVsW10sXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeVxuICAgICk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueVZhbGlkYXRvcihsYW5ndWFnZXMsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyBub3QgdGhlIGludmFsaWRWYWx1ZVxuICAgICAqIEBwYXJhbSBpbnZhbGlkVmFsdWUgVmFsdWUgdGhhdCBjb250cm9sIGRvZXNuJ3Qgc2hvdWxkIGhhdmVcbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRvIGJlIHZhbGlkYXRlXG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvZiBjb250cm9sXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIHZhbGlkYXRpb24gbWVzc2FnZSBuZWFyIHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSB2YWxpZGF0aW9uIGluc2lkZSB0aGUgdmFsaWRhdGlvbiBzdW1tYXJ5XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBub3RlcXVhbHMoaW52YWxpZFZhbHVlOiBhbnksIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIG5vdEVxdWFsc1ZhbHVlVmFsaWRhdG9yKGludmFsaWRWYWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRpZXJ1bmcgbWl0IGVpbmVtIFJlZ0V4IFBhdHRlcm5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGRhcyB2YWxpZGllcnQgd2VyZGVuIHNvbGwuXG4gICAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggUGF0dGVyblxuICAgICAqIEBwYXJhbSBmaWVsZE5hbWUgTGFiZWwgZGVzIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkaWVydW5nc21lbGR1bmcgZGllXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZSBpbSBWYWxpZGF0aW9uIFN1bW1hcnkgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHBhdHRlcm4ocGF0dGVybjogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBwYXR0ZXJuVmFsaWRhdG9yKHBhdHRlcm4sIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmw7xyIFJlcXVpcmVkIFN0YXRlXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBkYXMgVmFsaWRpZXJ0IHdpcmRcbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIExhYmVsIGRlcyBDb250cm9sc1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGllcnVuZ3NtZWxkdW5nIGRpZVxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRpZXJ1bmdzbWVsZHVuZyBkaWUgaW0gVmFsaWRhdGlvbiBTdW1tYXJ5IGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZXF1aXJlZCh2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiByZXF1aXJlZFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBTdGF0aWMgTWV0aG9kc1xufVxuXG4vLyAjZW5kcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcbiJdfQ==
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInZhbGlkYXRpb24vdmFsaWRhdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJB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QztDQUdKO0FBRUQsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VNb2RlbCB9IGZyb20gJy4uL21vZGVscy9sYW5ndWFnZW1vZGVsJztcbmltcG9ydCB7IGVtYWlsVmFsaWRhdG9yIH0gZnJvbSAnLi9lbWFpbC52YWxpZGF0b3InO1xuaW1wb3J0IHsgZXF1YWxzVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL2VxdWFscy52YWxpZGF0b3InO1xuaW1wb3J0IHsgaXNWYWxpZERhdGVWYWxpZGF0b3IgfSBmcm9tICcuL2ludmFsaWRkYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtYXhEYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXhkYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtYXhUaW1lVmFsaWRhdG9yIH0gZnJvbSAnLi9tYXh0aW1lLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtYXhWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4vbWF4dmFsdWUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pbkRhdGVWYWxpZGF0b3IgfSBmcm9tICcuL21pbmRhdGUudmFsaWRhdG9yJztcbmltcG9ydCB7IG1pbkZpbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5maWxlcy52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWluVGV4dExlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4vbWludGV4dGxlbmd0aC52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWluVGltZVZhbGlkYXRvciB9IGZyb20gJy4vbWludGltZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbWluVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL21pbnZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VyZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yIH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlcmVxdWlyZWRhbnkudmFsaWRhdG9yJztcbmltcG9ydCB7IG5vdEVxdWFsc1ZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi9ub3RlcXVhbHMudmFsaWRhdG9yJztcbmltcG9ydCB7IHBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcbmltcG9ydCB7IHJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgQ3JlYXRlVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uZXJyb3JjcmVhdG9yJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vLyAjcmVnaW9uIFZhcmlhYmxlc1xuXG4vKipcbiAqIE1vbWVudFxuICovXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbi8vICNlbmRyZWdpb24gVmFyaWFibGVzXG5cbi8vICNyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuXG4vKipcbiAqIENsYXNzIHdpdGggc3RhbmRhcmQgdmFsaWRhdG9yc1xuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbiB7XG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgU3RhdGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBieSBldmVyeSB2YWxpZGF0b3IuIEl0IHNldHMgYm90aCB0aGUgZXJyb3JUeXBlIG9mIHRoZSB2YWxpZGF0ZWQgaXRlbSBhbmQgdGhlIEVycm9yTWVzc2FnZSAoYWNjb3JkaW5nIHRvIGVycm9yVHlwZSwgRmllbGROYW1lIGFuZCBQYXJhbWV0ZXJzKS5cbiAgICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cGUgb2YgdGhlIGVycm9yXG4gICAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBFcnJvciBNZXNzYWdlIEtleVxuICAgICAqIEBwYXJhbSBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSBFcnJvciBNZXNzYWdlIEtleSBmb3IgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBMYWJlbCBvciBuYW1lIG9mIHRoZSBmaWVsZFxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIFBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgdXNlZCBhcyBwbGFjZWhvbGRlcnMgaW4gbWVzc2FnZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIEdldFZhbGlkYXRpb25FcnJvckl0ZW0oXG4gICAgICAgIGVycm9yVHlwZTogc3RyaW5nLFxuICAgICAgICBlcnJvck1lc3NhZ2VLZXk6IHN0cmluZyxcbiAgICAgICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcbiAgICAgICAgZmllbGROYW1lOiBzdHJpbmcgPSBudWxsLFxuICAgICAgICBwYXJhbWV0ZXJzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKVxuICAgICk6IGFueSB7XG4gICAgICAgIHJldHVybiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2VLZXksIGVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5LCBwYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZXMgZmllbGQgZm9yIGVtYWlsIGFkZHJlc3NcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBhdCB0aGUgY29udHJvbFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBpbiB0aGUgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHJldHVybnMgVmFsaWRhdG9yRm4gdmFsaWRhdG9yIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBlbWFpbCh2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcih2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdmFsaWRhdGUgaWYgdmFsdWUgaXMgdGhlIHJlcXVpcmVkVmFsdWVcbiAgICAgKiBAcGFyYW0gcmVxdWlyZWRWYWx1ZSBWYWx1ZSB0aGF0IGNvbnRyb2wgc2hvdWxkIGhhdmVcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBtZXNzYWdlIG5lYXIgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBpbnNpZGUgdGhlIHZhbGlkYXRpb24gc3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXF1YWxzKHJlcXVpcmVkVmFsdWU6IGFueSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gZXF1YWxzVmFsdWVWYWxpZGF0b3IocmVxdWlyZWRWYWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHRoYXQgY2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBhIGRhdGUuXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYXQgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaXNWYWxpZERhdGUodmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gaXNWYWxpZERhdGVWYWxpZGF0b3IodmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIGlmIHRoZSBkYXRlIGlzIG9sZGVyIHRoYW4gbWF4RGF0ZVxuICAgICAqIEBwYXJhbSBtYXhEYXRlIE1heGltdW0gZGF0ZSBhbGxvd2VkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYXQgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWF4RGF0ZShtYXhEYXRlOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhEYXRlVmFsaWRhdG9yKG1heERhdGUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRlcyBpZiB0aGUgdGltZSBpcyBlYXJsaWVyIHRoYW4gbWF4VGltZS5cbiAgICAgKiBAcGFyYW0gbWF4VGltZSBNYXhpbXVtIHRpbWUgYWxsb3dlZFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGF0aW9uIG1lc3NhZ2UgZGlzcGxheWVkIGF0IHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGF0aW9uIG1lc3NhZ2UgZGlzcGxheWVkIGluIHRoZSBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKiBAcmV0dXJucyBWYWxpZGF0b3JGbiB2YWxpZGF0b3IgZnVuY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG1heFRpbWUobWF4VGltZTogRGF0ZSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWF4VGltZVZhbGlkYXRvcihtYXhUaW1lLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZm9yIE1heCBWYWx1ZVxuICAgICAqIEBwYXJhbSBtYXh2YWx1ZSBNYXhpbXVtIHZhbHVlIGFsbG93ZWRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBhdCB0aGUgY29udHJvbFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBpbiB0aGUgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHJldHVybnMgVmFsaWRhdG9yRm4gdmFsaWRhdG9yIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtYXhWYWx1ZShtYXh2YWx1ZTogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtYXhWYWx1ZVZhbGlkYXRvcihtYXh2YWx1ZSwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIGlmIHRoZSBkYXRlIGlzIG5ld2VyIHRoYW4gbWluRGF0ZVxuICAgICAqIEBwYXJhbSBtaW5EYXRlIE1pbmltdW0gZGF0ZSBhbGxvd2VkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYXQgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWluRGF0ZShtaW5EYXRlOiBEYXRlLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5EYXRlVmFsaWRhdG9yKG1pbkRhdGUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmb3IgbWluLiBudW1iZXIgb2YgdXBsb2Fkc1xuICAgICAqIEBwYXJhbSBtaW5GaWxlcyBNaW5pbXVtIG51bWJlciBvZiBmaWxlcyB0aGF0IG11c3QgYmUgdXBsb2FkZWRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBiZWxvdyB0aGUgY29udHJvbFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBpbiB0aGUgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHJldHVybnMgVmFsaWRhdG9yRm4gdmFsaWRhdG9yIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5GaWxlcyhtaW5GaWxlczogbnVtYmVyLCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtaW5GaWxlc1ZhbGlkYXRvcihtaW5GaWxlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIHRoZSBsZW5ndGggb2YgdGhlIHZhbHVlIGluIHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIG1pbnRleHRsZW5ndGggTWluaW11bSBsZW5ndGggb2YgdGhlIHZhbHVlXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYXQgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWluVGV4dExlbmd0aChtaW5sZW5ndGg6IG51bWJlciwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluVGV4dExlbmd0aFZhbGlkYXRvcihtaW5sZW5ndGgsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRlcyBpZiB0aGUgdGltZSBpcyBsYXRlciB0aGFuIG1pblRpbWUuXG4gICAgICogQHBhcmFtIG1pblRpbWUgTWluaW11bSB0aW1lIGFsbG93ZWRcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBhdCB0aGUgY29udHJvbFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBpbiB0aGUgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHJldHVybnMgVmFsaWRhdG9yRm4gdmFsaWRhdG9yIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtaW5UaW1lKG1pblRpbWU6IERhdGUsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluVGltZVZhbGlkYXRvcihtaW5UaW1lLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBtaW5WYWx1ZS5cbiAgICAgKiBAcGFyYW0gbWludmFsdWUgTWluaW11bSB2YWx1ZSBhbGxvd2VkXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYXQgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWluVmFsdWUobWludmFsdWU6IG51bWJlciwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbWluVmFsdWVWYWxpZGF0b3IobWludmFsdWUsIHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciBmb3IgTXVsdGlMYW5ndWFnZSBDb250cm9sIHRoYXQgY2hlY2tzIGlmIGEgdmFsdWUgaGFzIGJlZW4gZW50ZXJlZCBpbiBhbGwgbGFuZ3VhZ2VzXG4gICAgICogQHBhcmFtIGxhbmd1YWdlcyBMYW5ndWFnZXMgdGhhdCBjYW4gYmUgY2FwdHVyZWQgaW4gdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2UgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBiZWxvdyB0aGUgY29udHJvbFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRhdGlvbiBtZXNzYWdlIGRpc3BsYXllZCBpbiB0aGUgVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHJldHVybnMgVmFsaWRhdG9yRm4gdmFsaWRhdG9yIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtdWx0aWxhbmd1YWdlUmVxdWlyZWQoXG4gICAgICAgIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdLFxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nLFxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnlcbiAgICApOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiBtdWx0aWxhbmd1YWdlUmVxdWlyZWRWYWxpZGF0b3IobGFuZ3VhZ2VzLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgZm9yIE11bHRpTGFuZ3VhZ2UgQ29udHJvbCB0aGF0IGNoZWNrcyBpZiBhdCBsZWFzdCBvbmUgdmFsdWUgaGFzIGJlZW4gZW50ZXJlZFxuICAgICAqIEBwYXJhbSBsYW5ndWFnZXMgTGFuZ3VhZ2VzIHRoYXQgY2FuIGJlIGNhcHR1cmVkIGluIHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxuICAgICAgICBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5XG4gICAgKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55VmFsaWRhdG9yKGxhbmd1YWdlcywgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHZhbGlkYXRlIGlmIHZhbHVlIGlzIG5vdCB0aGUgaW52YWxpZFZhbHVlXG4gICAgICogQHBhcmFtIGludmFsaWRWYWx1ZSBWYWx1ZSB0aGF0IGNvbnRyb2wgc2hvdWxkIG5vdCBoYXZlXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBuZWFyIHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSBWYWxpZGF0aW9uIG1lc3NhZ2UgaW5zaWRlIHRoZSB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAgKiBAcmV0dXJucyBWYWxpZGF0b3JGbiB2YWxpZGF0b3IgZnVuY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG5vdGVxdWFscyhpbnZhbGlkVmFsdWU6IGFueSwgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gbm90RXF1YWxzVmFsdWVWYWxpZGF0b3IoaW52YWxpZFZhbHVlLCB2YWxpZGF0aW9uTWVzc2FnZSwgdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0aW9uIHdpdGggYSBSZWdFeCBwYXR0ZXJuXG4gICAgICogQHBhcmFtIHBhdHRlcm4gUmVnRXggcGF0dGVybiB0aGF0IHRoZSB2YWx1ZSBtdXN0IG1hdGNoXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25NZXNzYWdlIFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gdmFsaWRhdGlvbk1lc3NhZ2VTdW1tYXJ5IFZhbGlkYXRpb24gbWVzc2FnZSBkaXNwbGF5ZWQgaW4gdGhlIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcGF0dGVybihwYXR0ZXJuOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIHBhdHRlcm5WYWxpZGF0b3IocGF0dGVybiwgdmFsaWRhdGlvbk1lc3NhZ2UsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIGZvciBSZXF1aXJlZCBTdGF0ZVxuICAgICAqIEByZXR1cm5zIFZhbGlkYXRvckZuIHZhbGlkYXRvciBmdW5jdGlvblxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZSBWYWxpZGF0aW9uIG1lc3NhZ2UgdGhhdFxuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkgVmFsaWRhdGlvbiBtZXNzYWdlIHRoYXQgaXMgZGlzcGxheWVkIGluIHRoZSBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlcXVpcmVkKHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcsIHZhbGlkYXRpb25NZXNzYWdlU3VtbWFyeSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmVkVmFsaWRhdG9yKHZhbGlkYXRpb25NZXNzYWdlLCB2YWxpZGF0aW9uTWVzc2FnZVN1bW1hcnkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIFN0YXRpYyBNZXRob2RzXG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuIl19
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { ValidationErrorItem } from './validationerroritem';
|
|
2
|
+
// #region Exported Functions
|
|
3
|
+
/**
|
|
4
|
+
* Creates a structured validation error object for validation result reporting.
|
|
5
|
+
*
|
|
6
|
+
* @param errorType Identifier for the validation error type (e.g. 'required', 'invalid').
|
|
7
|
+
* @param errorMessageKey Resource key used for the control-level error text.
|
|
8
|
+
* @param errorMessageValidationSummaryKey Resource key used for summary-level error text.
|
|
9
|
+
* @param parameters Optional placeholder parameters to replace in error messages.
|
|
10
|
+
* @returns The generated validation error object.
|
|
11
|
+
*/
|
|
2
12
|
export function CreateValidationError(errorType, errorMessageKey, errorMessageValidationSummaryKey, parameters = new Map()) {
|
|
3
13
|
const item = new ValidationErrorItem(errorType, errorMessageKey, errorMessageValidationSummaryKey);
|
|
4
14
|
if (parameters !== null && parameters !== undefined && parameters.size > 0) {
|
|
@@ -8,4 +18,5 @@ export function CreateValidationError(errorType, errorMessageKey, errorMessageVa
|
|
|
8
18
|
}
|
|
9
19
|
return { [errorType]: item };
|
|
10
20
|
}
|
|
11
|
-
|
|
21
|
+
// #endregion Exported Functions
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbmVycm9yY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInZhbGlkYXRpb24vdmFsaWRhdGlvbmVycm9yY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCw2QkFBNkI7QUFFN0I7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLFNBQWlCLEVBQ2pCLGVBQXVCLEVBQ3ZCLGdDQUF3QyxFQUN4QyxhQUErQixJQUFJLEdBQUcsRUFBZTtJQUVyRCxNQUFNLElBQUksR0FBd0IsSUFBSSxtQkFBbUIsQ0FDckQsU0FBUyxFQUNULGVBQWUsRUFDZixnQ0FBZ0MsQ0FDbkMsQ0FBQztJQUVGLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQ3hFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNqQyxDQUFDO0FBRUQsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySXRlbSB9IGZyb20gJy4vdmFsaWRhdGlvbmVycm9yaXRlbSc7XG5cbi8vICNyZWdpb24gRXhwb3J0ZWQgRnVuY3Rpb25zXG5cbi8qKlxuICogQ3JlYXRlcyBhIHN0cnVjdHVyZWQgdmFsaWRhdGlvbiBlcnJvciBvYmplY3QgZm9yIHZhbGlkYXRpb24gcmVzdWx0IHJlcG9ydGluZy5cbiAqXG4gKiBAcGFyYW0gZXJyb3JUeXBlIElkZW50aWZpZXIgZm9yIHRoZSB2YWxpZGF0aW9uIGVycm9yIHR5cGUgKGUuZy4gJ3JlcXVpcmVkJywgJ2ludmFsaWQnKS5cbiAqIEBwYXJhbSBlcnJvck1lc3NhZ2VLZXkgUmVzb3VyY2Uga2V5IHVzZWQgZm9yIHRoZSBjb250cm9sLWxldmVsIGVycm9yIHRleHQuXG4gKiBAcGFyYW0gZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXkgUmVzb3VyY2Uga2V5IHVzZWQgZm9yIHN1bW1hcnktbGV2ZWwgZXJyb3IgdGV4dC5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIHBsYWNlaG9sZGVyIHBhcmFtZXRlcnMgdG8gcmVwbGFjZSBpbiBlcnJvciBtZXNzYWdlcy5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmF0ZWQgdmFsaWRhdGlvbiBlcnJvciBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXG4gICAgZXJyb3JUeXBlOiBzdHJpbmcsXG4gICAgZXJyb3JNZXNzYWdlS2V5OiBzdHJpbmcsXG4gICAgZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXk6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKVxuKTogYW55IHtcbiAgICBjb25zdCBpdGVtOiBWYWxpZGF0aW9uRXJyb3JJdGVtID0gbmV3IFZhbGlkYXRpb25FcnJvckl0ZW0oXG4gICAgICAgIGVycm9yVHlwZSxcbiAgICAgICAgZXJyb3JNZXNzYWdlS2V5LFxuICAgICAgICBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleVxuICAgICk7XG5cbiAgICBpZiAocGFyYW1ldGVycyAhPT0gbnVsbCAmJiBwYXJhbWV0ZXJzICE9PSB1bmRlZmluZWQgJiYgcGFyYW1ldGVycy5zaXplID4gMCkge1xuICAgICAgICBwYXJhbWV0ZXJzLmZvckVhY2goKHYsIGspID0+IHtcbiAgICAgICAgICAgIGl0ZW0ucGFyYW1ldGVycy5zZXQoaywgdik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7IFtlcnJvclR5cGVdOiBpdGVtIH07XG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgRnVuY3Rpb25zXG4iXX0=
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Class for validation errors
|
|
3
3
|
* */
|
|
4
4
|
export class ValidationErrorItem {
|
|
5
|
+
// #endregion Properties
|
|
6
|
+
// #region Constructors
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
7
|
-
* @param errorType Type
|
|
8
|
-
* @param errorMessageKey Key
|
|
9
|
-
* @param errorMessageSummaryKey Key
|
|
10
|
-
* @param fieldName Name
|
|
8
|
+
* Constructor
|
|
9
|
+
* @param errorType Type of the error
|
|
10
|
+
* @param errorMessageKey Key for error message
|
|
11
|
+
* @param errorMessageSummaryKey Key for error message in Validation Summary
|
|
12
|
+
* @param fieldName Name of the label or designation of the field
|
|
11
13
|
*/
|
|
12
14
|
constructor(errorType, errorMessageKey, errorMessageSummaryKey, fieldName = null) {
|
|
13
15
|
/**
|
|
14
|
-
* Label
|
|
16
|
+
* Label or name of the field
|
|
15
17
|
*/
|
|
16
18
|
this.fieldName = null;
|
|
17
19
|
/**
|
|
18
|
-
* Map
|
|
20
|
+
* Map with parameters that can be used as placeholders in messages
|
|
19
21
|
*/
|
|
20
22
|
this.parameters = new Map();
|
|
21
23
|
this.errorType = errorType;
|
|
@@ -24,4 +26,4 @@ export class ValidationErrorItem {
|
|
|
24
26
|
this.fieldName = fieldName;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbmVycm9yaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInZhbGlkYXRpb24vdmFsaWRhdGlvbmVycm9yaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7S0FFSztBQUNMLE1BQU0sT0FBTyxtQkFBbUI7SUE0QjVCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFBWSxTQUFpQixFQUFFLGVBQXVCLEVBQUUsc0JBQThCLEVBQUUsWUFBb0IsSUFBSTtRQXJCaEg7O1dBRUc7UUFDSSxjQUFTLEdBQVcsSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBQ0ksZUFBVSxHQUFxQixJQUFJLEdBQUcsRUFBZSxDQUFDO1FBY3pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxzQkFBc0IsQ0FBQztRQUMvRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENsYXNzIGZvciB2YWxpZGF0aW9uIGVycm9yc1xuICogKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXJyb3JJdGVtIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIEVycm9yIE1lc3NhZ2UgS2V5XG4gICAgICovXG4gICAgcHVibGljIGVycm9yTWVzc2FnZUtleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRXJyb3IgTWVzc2FnZSBLZXkgZm9yIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIHB1YmxpYyBlcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHlwZSBvZiB0aGUgZXJyb3JcbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3JUeXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBMYWJlbCBvciBuYW1lIG9mIHRoZSBmaWVsZFxuICAgICAqL1xuICAgIHB1YmxpYyBmaWVsZE5hbWU6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBNYXAgd2l0aCBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHVzZWQgYXMgcGxhY2Vob2xkZXJzIGluIG1lc3NhZ2VzXG4gICAgICovXG4gICAgcHVibGljIHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZXJyb3JUeXBlIFR5cGUgb2YgdGhlIGVycm9yXG4gICAgICogQHBhcmFtIGVycm9yTWVzc2FnZUtleSBLZXkgZm9yIGVycm9yIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gZXJyb3JNZXNzYWdlU3VtbWFyeUtleSBLZXkgZm9yIGVycm9yIG1lc3NhZ2UgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICogQHBhcmFtIGZpZWxkTmFtZSBOYW1lIG9mIHRoZSBsYWJlbCBvciBkZXNpZ25hdGlvbiBvZiB0aGUgZmllbGRcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihlcnJvclR5cGU6IHN0cmluZywgZXJyb3JNZXNzYWdlS2V5OiBzdHJpbmcsIGVycm9yTWVzc2FnZVN1bW1hcnlLZXk6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcgPSBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3JUeXBlID0gZXJyb3JUeXBlO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZUtleSA9IGVycm9yTWVzc2FnZUtleTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VWYWxpZGF0aW9uU3VtbWFyeUtleSA9IGVycm9yTWVzc2FnZVN1bW1hcnlLZXk7XG4gICAgICAgIHRoaXMuZmllbGROYW1lID0gZmllbGROYW1lO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
|