@decaf-ts/decorator-validation 1.6.5 → 1.7.1
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/dist/decorator-validation.cjs +1202 -386
- package/dist/decorator-validation.esm.cjs +1158 -341
- package/lib/constants/index.cjs +1 -1
- package/lib/esm/index.d.ts +5 -37
- package/lib/esm/index.js +6 -38
- package/lib/esm/model/Model.d.ts +107 -35
- package/lib/esm/model/Model.js +110 -45
- package/lib/esm/model/constants.d.ts +3 -3
- package/lib/esm/model/constants.js +4 -4
- package/lib/esm/model/construction.d.ts +3 -3
- package/lib/esm/model/construction.js +4 -4
- package/lib/esm/model/decorators.d.ts +3 -3
- package/lib/esm/model/decorators.js +5 -3
- package/lib/esm/model/index.d.ts +1 -0
- package/lib/esm/model/index.js +2 -1
- package/lib/esm/model/types.d.ts +30 -11
- package/lib/esm/model/types.js +1 -1
- package/lib/esm/model/utils.d.ts +3 -0
- package/lib/esm/model/utils.js +11 -0
- package/lib/esm/model/validation.d.ts +5 -5
- package/lib/esm/model/validation.js +8 -9
- package/lib/esm/utils/Decoration.d.ts +123 -0
- package/lib/esm/utils/Decoration.js +192 -0
- package/lib/esm/utils/constants.d.ts +27 -9
- package/lib/esm/utils/constants.js +28 -10
- package/lib/esm/utils/dates.d.ts +26 -16
- package/lib/esm/utils/dates.js +27 -17
- package/lib/esm/utils/decorators.d.ts +41 -0
- package/lib/esm/utils/decorators.js +42 -1
- package/lib/esm/utils/hashing.d.ts +50 -6
- package/lib/esm/utils/hashing.js +49 -5
- package/lib/esm/utils/index.d.ts +1 -0
- package/lib/esm/utils/index.js +2 -1
- package/lib/esm/utils/registry.d.ts +3 -3
- package/lib/esm/utils/registry.js +1 -1
- package/lib/esm/utils/serialization.d.ts +1 -1
- package/lib/esm/utils/serialization.js +4 -3
- package/lib/esm/utils/strings.d.ts +4 -4
- package/lib/esm/utils/strings.js +5 -5
- package/lib/esm/utils/types.d.ts +123 -16
- package/lib/esm/utils/types.js +1 -1
- package/lib/esm/validation/Validators/DateValidator.d.ts +40 -8
- package/lib/esm/validation/Validators/DateValidator.js +41 -9
- package/lib/esm/validation/Validators/EmailValidator.d.ts +39 -7
- package/lib/esm/validation/Validators/EmailValidator.js +40 -8
- package/lib/esm/validation/Validators/ListValidator.d.ts +44 -6
- package/lib/esm/validation/Validators/ListValidator.js +45 -7
- package/lib/esm/validation/Validators/MaxValidator.d.ts +52 -6
- package/lib/esm/validation/Validators/MaxValidator.js +53 -7
- package/lib/esm/validation/Validators/MinValidator.d.ts +52 -6
- package/lib/esm/validation/Validators/MinValidator.js +53 -7
- package/lib/esm/validation/Validators/PasswordValidator.js +1 -1
- package/lib/esm/validation/Validators/PatternValidator.d.ts +75 -9
- package/lib/esm/validation/Validators/PatternValidator.js +76 -10
- package/lib/esm/validation/Validators/RequiredValidator.d.ts +52 -6
- package/lib/esm/validation/Validators/RequiredValidator.js +53 -7
- package/lib/esm/validation/Validators/TypeValidator.d.ts +60 -6
- package/lib/esm/validation/Validators/TypeValidator.js +69 -7
- package/lib/esm/validation/Validators/URLValidator.d.ts +41 -7
- package/lib/esm/validation/Validators/URLValidator.js +42 -8
- package/lib/esm/validation/Validators/Validator.d.ts +76 -16
- package/lib/esm/validation/Validators/Validator.js +68 -11
- package/lib/esm/validation/Validators/ValidatorRegistry.d.ts +1 -7
- package/lib/esm/validation/Validators/ValidatorRegistry.js +4 -11
- package/lib/esm/validation/decorators.d.ts +50 -40
- package/lib/esm/validation/decorators.js +102 -53
- package/lib/esm/validation/types.d.ts +146 -28
- package/lib/esm/validation/types.js +1 -1
- package/lib/index.cjs +7 -39
- package/lib/index.d.ts +5 -37
- package/lib/model/Model.cjs +114 -51
- package/lib/model/Model.d.ts +107 -35
- package/lib/model/constants.cjs +4 -4
- package/lib/model/constants.d.ts +3 -3
- package/lib/model/construction.cjs +4 -4
- package/lib/model/construction.d.ts +3 -3
- package/lib/model/decorators.cjs +6 -4
- package/lib/model/decorators.d.ts +3 -3
- package/lib/model/index.cjs +2 -1
- package/lib/model/index.d.ts +1 -0
- package/lib/model/types.cjs +1 -1
- package/lib/model/types.d.ts +30 -11
- package/lib/model/utils.cjs +15 -0
- package/lib/model/utils.d.ts +3 -0
- package/lib/model/validation.cjs +11 -12
- package/lib/model/validation.d.ts +5 -5
- package/lib/utils/Decoration.cjs +196 -0
- package/lib/utils/Decoration.d.ts +123 -0
- package/lib/utils/constants.cjs +29 -11
- package/lib/utils/constants.d.ts +27 -9
- package/lib/utils/dates.cjs +28 -18
- package/lib/utils/dates.d.ts +26 -16
- package/lib/utils/decorators.cjs +42 -1
- package/lib/utils/decorators.d.ts +41 -0
- package/lib/utils/hashing.cjs +49 -5
- package/lib/utils/hashing.d.ts +50 -6
- package/lib/utils/index.cjs +2 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/registry.cjs +1 -1
- package/lib/utils/registry.d.ts +3 -3
- package/lib/utils/serialization.cjs +5 -4
- package/lib/utils/serialization.d.ts +1 -1
- package/lib/utils/strings.cjs +5 -5
- package/lib/utils/strings.d.ts +4 -4
- package/lib/utils/types.cjs +1 -1
- package/lib/utils/types.d.ts +123 -16
- package/lib/validation/Validation.cjs +1 -1
- package/lib/validation/Validators/DateValidator.cjs +41 -9
- package/lib/validation/Validators/DateValidator.d.ts +40 -8
- package/lib/validation/Validators/DiffValidator.cjs +1 -1
- package/lib/validation/Validators/EmailValidator.cjs +40 -8
- package/lib/validation/Validators/EmailValidator.d.ts +39 -7
- package/lib/validation/Validators/EqualsValidator.cjs +1 -1
- package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +1 -1
- package/lib/validation/Validators/GreaterThanValidator.cjs +1 -1
- package/lib/validation/Validators/LessThanOrEqualValidator.cjs +1 -1
- package/lib/validation/Validators/LessThanValidator.cjs +1 -1
- package/lib/validation/Validators/ListValidator.cjs +45 -7
- package/lib/validation/Validators/ListValidator.d.ts +44 -6
- package/lib/validation/Validators/MaxLengthValidator.cjs +1 -1
- package/lib/validation/Validators/MaxValidator.cjs +53 -7
- package/lib/validation/Validators/MaxValidator.d.ts +52 -6
- package/lib/validation/Validators/MinLengthValidator.cjs +1 -1
- package/lib/validation/Validators/MinValidator.cjs +53 -7
- package/lib/validation/Validators/MinValidator.d.ts +52 -6
- package/lib/validation/Validators/PasswordValidator.cjs +1 -1
- package/lib/validation/Validators/PatternValidator.cjs +76 -10
- package/lib/validation/Validators/PatternValidator.d.ts +75 -9
- package/lib/validation/Validators/RequiredValidator.cjs +53 -7
- package/lib/validation/Validators/RequiredValidator.d.ts +52 -6
- package/lib/validation/Validators/StepValidator.cjs +1 -1
- package/lib/validation/Validators/TypeValidator.cjs +71 -9
- package/lib/validation/Validators/TypeValidator.d.ts +60 -6
- package/lib/validation/Validators/URLValidator.cjs +42 -8
- package/lib/validation/Validators/URLValidator.d.ts +41 -7
- package/lib/validation/Validators/Validator.cjs +69 -12
- package/lib/validation/Validators/Validator.d.ts +76 -16
- package/lib/validation/Validators/ValidatorRegistry.cjs +4 -12
- package/lib/validation/Validators/ValidatorRegistry.d.ts +1 -7
- package/lib/validation/Validators/constants.cjs +2 -2
- package/lib/validation/Validators/decorators.cjs +2 -2
- package/lib/validation/Validators/index.cjs +1 -1
- package/lib/validation/Validators/utils.cjs +3 -3
- package/lib/validation/decorators.cjs +105 -56
- package/lib/validation/decorators.d.ts +50 -40
- package/lib/validation/index.cjs +1 -1
- package/lib/validation/types.cjs +1 -1
- package/lib/validation/types.d.ts +146 -28
- package/package.json +2 -1
|
@@ -1,14 +1,54 @@
|
|
|
1
1
|
import { ValidatorOptions } from "../types";
|
|
2
2
|
/**
|
|
3
|
-
* @
|
|
4
|
-
* @
|
|
3
|
+
* @description Abstract base class for all validators in the validation framework
|
|
4
|
+
* @summary The Validator class provides the foundation for all validator implementations.
|
|
5
|
+
* It handles type checking, error message formatting, and defines the common interface
|
|
6
|
+
* that all validators must implement. This class is designed to be extended by specific
|
|
7
|
+
* validator implementations that provide concrete validation logic.
|
|
5
8
|
*
|
|
6
|
-
* @param {string}
|
|
7
|
-
* @param {string
|
|
8
|
-
* @param {string[]} [acceptedTypes] defines the value types this validator can validate
|
|
9
|
+
* @param {string} message - Default error message to display when validation fails, defaults to {@link DEFAULT_ERROR_MESSAGES#DEFAULT}
|
|
10
|
+
* @param {string[]} acceptedTypes - Array of type names that this validator can validate
|
|
9
11
|
*
|
|
10
12
|
* @class Validator
|
|
11
13
|
* @abstract
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // Example of extending the Validator class to create a custom validator
|
|
18
|
+
* class CustomValidator extends Validator<CustomValidatorOptions> {
|
|
19
|
+
* constructor(message: string = "Custom validation failed") {
|
|
20
|
+
* // Specify that this validator accepts String and Number types
|
|
21
|
+
* super(message, String.name, Number.name);
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* public hasErrors(value: any, options?: CustomValidatorOptions): string | undefined {
|
|
25
|
+
* // Implement custom validation logic
|
|
26
|
+
* if (someCondition) {
|
|
27
|
+
* return this.getMessage(options?.message || this.message);
|
|
28
|
+
* }
|
|
29
|
+
* return undefined; // No errors
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @mermaid
|
|
35
|
+
* sequenceDiagram
|
|
36
|
+
* participant C as Client
|
|
37
|
+
* participant V as Validator Subclass
|
|
38
|
+
* participant B as Base Validator
|
|
39
|
+
*
|
|
40
|
+
* C->>V: new CustomValidator(message)
|
|
41
|
+
* V->>B: super(message, acceptedTypes)
|
|
42
|
+
* B->>B: Store message and types
|
|
43
|
+
* B->>B: Wrap hasErrors with type checking
|
|
44
|
+
* C->>V: hasErrors(value, options)
|
|
45
|
+
* alt value type not in acceptedTypes
|
|
46
|
+
* B-->>C: Type error message
|
|
47
|
+
* else value type is accepted
|
|
48
|
+
* V->>V: Custom validation logic
|
|
49
|
+
* V-->>C: Validation result
|
|
50
|
+
* end
|
|
51
|
+
*
|
|
12
52
|
* @category Validators
|
|
13
53
|
*/
|
|
14
54
|
export declare abstract class Validator<V extends ValidatorOptions = ValidatorOptions> {
|
|
@@ -16,29 +56,49 @@ export declare abstract class Validator<V extends ValidatorOptions = ValidatorOp
|
|
|
16
56
|
readonly acceptedTypes?: string[];
|
|
17
57
|
protected constructor(message?: string, ...acceptedTypes: string[]);
|
|
18
58
|
/**
|
|
19
|
-
* @
|
|
20
|
-
* @
|
|
21
|
-
*
|
|
59
|
+
* @description Formats an error message with optional arguments
|
|
60
|
+
* @summary Creates a formatted error message by replacing placeholders with provided arguments.
|
|
61
|
+
* This method uses the string formatting utility to generate consistent error messages
|
|
62
|
+
* across all validators.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} message - The message template with placeholders
|
|
65
|
+
* @param {...any} args - Values to insert into the message template
|
|
66
|
+
* @return {string} The formatted error message
|
|
22
67
|
* @protected
|
|
23
68
|
*/
|
|
24
69
|
protected getMessage(message: string, ...args: any[]): string;
|
|
25
70
|
/**
|
|
26
|
-
* @
|
|
27
|
-
* @
|
|
71
|
+
* @description Creates a type-checking wrapper around the hasErrors method
|
|
72
|
+
* @summary Wraps the hasErrors method with type validation logic to ensure that
|
|
73
|
+
* the value being validated is of an accepted type before performing specific validation.
|
|
74
|
+
* This method is called during construction if acceptedTypes are provided.
|
|
75
|
+
*
|
|
76
|
+
* @param {Function} unbound - The original hasErrors method to be wrapped
|
|
77
|
+
* @return {Function} A new function that performs type checking before calling the original method
|
|
28
78
|
* @private
|
|
29
79
|
*/
|
|
30
80
|
private checkTypeAndHasErrors;
|
|
31
81
|
/**
|
|
32
|
-
* @
|
|
33
|
-
* @
|
|
34
|
-
*
|
|
35
|
-
*
|
|
82
|
+
* @description Validates a value against specific validation rules
|
|
83
|
+
* @summary Abstract method that must be implemented by all validator subclasses.
|
|
84
|
+
* This method contains the core validation logic that determines whether a value
|
|
85
|
+
* is valid according to the specific rules of the validator. If the value is valid,
|
|
86
|
+
* the method returns undefined; otherwise, it returns an error message.
|
|
87
|
+
*
|
|
88
|
+
* @template V - Type of the options object that can be passed to the validator
|
|
89
|
+
* @param {any} value - The value to validate
|
|
90
|
+
* @param {V} [options] - Optional configuration options for customizing validation behavior
|
|
36
91
|
*
|
|
37
|
-
* @
|
|
92
|
+
* @return {string | undefined} Error message if validation fails, undefined if validation passes
|
|
38
93
|
*
|
|
39
94
|
* @abstract
|
|
40
95
|
*
|
|
41
|
-
* @see Model#
|
|
96
|
+
* @see Model#validate
|
|
42
97
|
*/
|
|
43
98
|
abstract hasErrors(value: any, options?: V, instanceObj?: any): string | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* @summary Duck typing for Validators
|
|
101
|
+
* @param val
|
|
102
|
+
*/
|
|
103
|
+
static isValidator(val: any): boolean;
|
|
44
104
|
}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ValidatorRegistry = void 0;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @summary Duck typing for Validators
|
|
7
|
-
* @function isValidator
|
|
8
|
-
* @param val
|
|
9
|
-
*/
|
|
10
|
-
function isValidator(val) {
|
|
11
|
-
return val.constructor && val["hasErrors"];
|
|
12
|
-
}
|
|
4
|
+
const Validator_1 = require("./Validator.cjs");
|
|
13
5
|
/**
|
|
14
6
|
* @summary Base Implementation of a Validator Registry
|
|
15
7
|
*
|
|
@@ -48,7 +40,7 @@ class ValidatorRegistry {
|
|
|
48
40
|
if (!(validatorKey in this.cache))
|
|
49
41
|
return undefined;
|
|
50
42
|
const classOrInstance = this.cache[validatorKey];
|
|
51
|
-
if (isValidator(classOrInstance))
|
|
43
|
+
if (Validator_1.Validator.isValidator(classOrInstance))
|
|
52
44
|
return classOrInstance;
|
|
53
45
|
const constructor = classOrInstance.default || classOrInstance;
|
|
54
46
|
const instance = new constructor();
|
|
@@ -62,7 +54,7 @@ class ValidatorRegistry {
|
|
|
62
54
|
*/
|
|
63
55
|
register(...validator) {
|
|
64
56
|
validator.forEach((v) => {
|
|
65
|
-
if (isValidator(v)) {
|
|
57
|
+
if (Validator_1.Validator.isValidator(v)) {
|
|
66
58
|
// const k =
|
|
67
59
|
if (v.validationKey in this.cache)
|
|
68
60
|
return;
|
|
@@ -83,4 +75,4 @@ class ValidatorRegistry {
|
|
|
83
75
|
}
|
|
84
76
|
}
|
|
85
77
|
exports.ValidatorRegistry = ValidatorRegistry;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL1ZhbGlkYXRvclJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtDQUF3QztBQUV4Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLGlCQUFpQjtJQU01QixZQUFZLEdBQUcsVUFBK0M7UUFIdEQsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUl0QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEdBQUcsQ0FBc0IsWUFBb0I7UUFDM0MsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUVwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELElBQUkscUJBQVMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQUUsT0FBTyxlQUFvQixDQUFDO1FBQ3hFLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxPQUFPLElBQUksZUFBZSxDQUFDO1FBQy9ELE1BQU0sUUFBUSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDcEMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQ04sR0FBRyxTQUFzQztRQUV6QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxxQkFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3QixZQUFZO2dCQUVaLElBQUssQ0FBeUIsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsT0FBTztnQkFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBRSxDQUF5QixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBd0IsQ0FBQztnQkFDcEUsSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsT0FBTztnQkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJO29CQUFFLE9BQU87Z0JBQ2xCLE1BQU0sR0FBRyxHQUEyQixFQUFFLENBQUM7Z0JBQ3ZDLEdBQUcsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUM7Z0JBRWpELElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFwRUQsOENBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRGVmaW5pdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgSVZhbGlkYXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBCYXNlIEltcGxlbWVudGF0aW9uIG9mIGEgVmFsaWRhdG9yIFJlZ2lzdHJ5XG4gKlxuICogQHByb3Age1ZhbGlkYXRvcltdfSBbdmFsaWRhdG9yc10gdGhlIGluaXRpYWwgdmFsaWRhdG9ycyB0byByZWdpc3RlclxuICpcbiAqIEBjbGFzcyBWYWxpZGF0b3JSZWdpc3RyeVxuICogQGltcGxlbWVudHMgSVZhbGlkYXRvclJlZ2lzdHJ5PFQ+XG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRvclJlZ2lzdHJ5PFQgZXh0ZW5kcyBWYWxpZGF0b3I+XG4gIGltcGxlbWVudHMgSVZhbGlkYXRvclJlZ2lzdHJ5PFQ+XG57XG4gIHByaXZhdGUgY2FjaGU6IGFueSA9IHt9O1xuICBwcml2YXRlIGN1c3RvbUtleUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKC4uLnZhbGlkYXRvcnM6IChWYWxpZGF0b3JEZWZpbml0aW9uIHwgVmFsaWRhdG9yKVtdKSB7XG4gICAgdGhpcy5jdXN0b21LZXlDYWNoZSA9IHt9O1xuICAgIHRoaXMucmVnaXN0ZXIoLi4udmFsaWRhdG9ycyk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgcmV0cmlldmVzIHRoZSBjdXN0b20ga2V5c1xuICAgKi9cbiAgZ2V0Q3VzdG9tS2V5cygpOiB7IFtpbmRleGVyOiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY3VzdG9tS2V5Q2FjaGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHJldHJpZXZlcyB0aGUgcmVnaXN0ZXJlZCB2YWxpZGF0b3JzIGtleXNcbiAgICovXG4gIGdldEtleXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNhY2hlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgYSB2YWxpZGF0b3JcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbGlkYXRvcktleSBvbmUgb2YgdGhlIHtAbGluayBWYWxpZGF0aW9uS2V5c31cbiAgICogQHJldHVybiB7VmFsaWRhdG9yIHwgdW5kZWZpbmVkfSB0aGUgcmVnaXN0ZXJlZCBWYWxpZGF0b3Igb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbm8gbWF0Y2hpbmcgdGhlIHByb3ZpZGVkIGtleVxuICAgKi9cbiAgZ2V0PFQgZXh0ZW5kcyBWYWxpZGF0b3I+KHZhbGlkYXRvcktleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCEodmFsaWRhdG9yS2V5IGluIHRoaXMuY2FjaGUpKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgY2xhc3NPckluc3RhbmNlID0gdGhpcy5jYWNoZVt2YWxpZGF0b3JLZXldO1xuICAgIGlmIChWYWxpZGF0b3IuaXNWYWxpZGF0b3IoY2xhc3NPckluc3RhbmNlKSkgcmV0dXJuIGNsYXNzT3JJbnN0YW5jZSBhcyBUO1xuICAgIGNvbnN0IGNvbnN0cnVjdG9yID0gY2xhc3NPckluc3RhbmNlLmRlZmF1bHQgfHwgY2xhc3NPckluc3RhbmNlO1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGNvbnN0cnVjdG9yKCk7XG4gICAgdGhpcy5jYWNoZVt2YWxpZGF0b3JLZXldID0gaW5zdGFuY2U7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyB0aGUgcHJvdmlkZWQgdmFsaWRhdG9ycyBvbnRvIHRoZSByZWdpc3RyeVxuICAgKlxuICAgKiBAcGFyYW0ge1RbXSB8IFZhbGlkYXRvckRlZmluaXRpb25bXX0gdmFsaWRhdG9yXG4gICAqL1xuICByZWdpc3RlcjxUIGV4dGVuZHMgVmFsaWRhdG9yPihcbiAgICAuLi52YWxpZGF0b3I6IChWYWxpZGF0b3JEZWZpbml0aW9uIHwgVClbXVxuICApOiB2b2lkIHtcbiAgICB2YWxpZGF0b3IuZm9yRWFjaCgodikgPT4ge1xuICAgICAgaWYgKFZhbGlkYXRvci5pc1ZhbGlkYXRvcih2KSkge1xuICAgICAgICAvLyBjb25zdCBrID1cblxuICAgICAgICBpZiAoKHYgYXMgVmFsaWRhdG9yRGVmaW5pdGlvbikudmFsaWRhdGlvbktleSBpbiB0aGlzLmNhY2hlKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2FjaGVbKHYgYXMgVmFsaWRhdG9yRGVmaW5pdGlvbikudmFsaWRhdGlvbktleV0gPSB2O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeyB2YWxpZGF0aW9uS2V5LCB2YWxpZGF0b3IsIHNhdmUgfSA9IHYgYXMgVmFsaWRhdG9yRGVmaW5pdGlvbjtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25LZXkgaW4gdGhpcy5jYWNoZSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmNhY2hlW3ZhbGlkYXRpb25LZXldID0gdmFsaWRhdG9yO1xuICAgICAgICBpZiAoIXNhdmUpIHJldHVybjtcbiAgICAgICAgY29uc3Qgb2JqOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgICAgIG9ialt2YWxpZGF0aW9uS2V5LnRvVXBwZXJDYXNlKCldID0gdmFsaWRhdGlvbktleTtcblxuICAgICAgICB0aGlzLmN1c3RvbUtleUNhY2hlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXN0b21LZXlDYWNoZSwgb2JqKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { ValidatorDefinition } from "../types";
|
|
2
2
|
import { IValidatorRegistry } from "../types";
|
|
3
|
-
import
|
|
4
|
-
/**
|
|
5
|
-
* @summary Duck typing for Validators
|
|
6
|
-
* @function isValidator
|
|
7
|
-
* @param val
|
|
8
|
-
*/
|
|
9
|
-
export declare function isValidator(val: any): any;
|
|
3
|
+
import { Validator } from "./Validator";
|
|
10
4
|
/**
|
|
11
5
|
* @summary Base Implementation of a Validator Registry
|
|
12
6
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_PATTERNS = exports.COMPARISON_ERROR_MESSAGES = exports.DEFAULT_ERROR_MESSAGES = exports.DAYS_OF_WEEK_NAMES = exports.MONTH_NAMES = exports.ValidationKeys = exports.ComparisonValidationKeys = void 0;
|
|
4
|
-
const constants_1 = require("
|
|
4
|
+
const constants_1 = require("./../../utils/constants.cjs");
|
|
5
5
|
/**
|
|
6
6
|
* @summary Keys used for comparison-based validations.
|
|
7
7
|
*
|
|
@@ -178,4 +178,4 @@ exports.DEFAULT_PATTERNS = {
|
|
|
178
178
|
CHAR8_ONE_OF_EACH: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&_\-.,])[A-Za-z\d@$!%*?&_\-.,]{8,}$/g,
|
|
179
179
|
},
|
|
180
180
|
};
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtEO0FBRWxEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxXQUFXO0lBQ2pCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLGtCQUFrQixFQUFFLGlCQUFpQjtJQUNyQyxZQUFZLEVBQUUsYUFBYTtJQUMzQixxQkFBcUIsRUFBRSxvQkFBb0I7Q0FDbkMsQ0FBQztBQUVYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDVSxRQUFBLGNBQWMsR0FBRztJQUM1QixPQUFPLEVBQUUsR0FBRyxxQkFBUyxDQUFDLE9BQU8sYUFBYTtJQUMxQyxTQUFTLEVBQUUsV0FBVztJQUN0QixRQUFRLEVBQUUsVUFBVTtJQUNwQixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLEVBQUUsV0FBVztJQUN2QixVQUFVLEVBQUUsV0FBVztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsR0FBRyxnQ0FBd0I7Q0FDbkIsQ0FBQztBQUVYOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLFdBQVcsR0FBRztJQUN6QixTQUFTO0lBQ1QsVUFBVTtJQUNWLE9BQU87SUFDUCxPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixRQUFRO0lBQ1IsVUFBVTtDQUNYLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDVSxRQUFBLHNCQUFzQixHQUEyQjtJQUM1RCxRQUFRLEVBQUUsd0JBQXdCO0lBQ2xDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0IsR0FBRyxFQUFFLDBCQUEwQjtJQUMvQixVQUFVLEVBQUUsMkJBQTJCO0lBQ3ZDLFVBQVUsRUFBRSwyQkFBMkI7SUFDdkMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxLQUFLLEVBQUUsZ0NBQWdDO0lBQ3ZDLEdBQUcsRUFBRSw4QkFBOEI7SUFDbkMsSUFBSSxFQUFFLDBDQUEwQztJQUNoRCxJQUFJLEVBQUUsa0NBQWtDO0lBQ3hDLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQ04sNEhBQTRIO0lBQzlILElBQUksRUFBRSxxQkFBcUI7SUFDM0IsZUFBZSxFQUFFLCtCQUErQjtJQUNoRCxNQUFNLEVBQUUsdUNBQXVDO0lBQy9DLElBQUksRUFBRSw2Q0FBNkM7SUFDbkQsU0FBUyxFQUFFLHdDQUF3QztJQUNuRCxrQkFBa0IsRUFBRSxvREFBb0Q7SUFDeEUsWUFBWSxFQUFFLDJDQUEyQztJQUN6RCxxQkFBcUIsRUFDbkIsdURBQXVEO0NBQzFELENBQUM7QUFFVyxRQUFBLHlCQUF5QixHQUFHO0lBQ3ZDLFlBQVksRUFDVixzRUFBc0U7SUFDeEUsNkJBQTZCLEVBQzNCLHVGQUF1RjtJQUN6RixvQkFBb0IsRUFDbEIsMEVBQTBFO0lBQzVFLGtCQUFrQixFQUNoQiw0REFBNEQ7SUFDOUQsNEJBQTRCLEVBQzFCLHNFQUFzRTtJQUN4RSwrQkFBK0IsRUFDN0Isc0ZBQXNGO0lBQ3hGLDRCQUE0QixFQUMxQixtREFBbUQ7SUFDckQsNEJBQTRCLEVBQzFCLGtEQUFrRDtJQUNwRCx1QkFBdUIsRUFBRSx5Q0FBeUM7SUFDbEUsd0JBQXdCLEVBQ3RCLHdEQUF3RDtJQUMxRCxjQUFjLEVBQUUseUNBQXlDO0NBQzFELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLEtBQUssRUFDSCw0SkFBNEo7SUFDOUosR0FBRyxFQUFFLHlhQUF5YTtJQUM5YSxRQUFRLEVBQUU7UUFDUixpQkFBaUIsRUFDZixpRkFBaUY7S0FDcEY7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxLZXlzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEtleXMgdXNlZCBmb3IgY29tcGFyaXNvbi1iYXNlZCB2YWxpZGF0aW9ucy5cbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRVFVQUxTIC0gVmFsaWRhdGVzIGlmIHR3byB2YWx1ZXMgYXJlIGVxdWFsLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IERJRkYgLSBWYWxpZGF0ZXMgaWYgdHdvIHZhbHVlcyBhcmUgZGlmZmVyZW50LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTiAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTl9PUl9FUVVBTCAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IEdSRUFURVJfVEhBTiAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IEdSRUFURVJfVEhBTl9PUl9FUVVBTCAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICpcbiAqIEBjb25zdGFudCBDb21wYXJpc29uVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJvZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IENvbXBhcmlzb25WYWxpZGF0aW9uS2V5cyA9IHtcbiAgRVFVQUxTOiBcImVxdWFsc1wiLFxuICBESUZGOiBcImRpZmZlcmVudFwiLFxuICBMRVNTX1RIQU46IFwibGVzc1RoYW5cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcImxlc3NUaGFuT3JFcXVhbFwiLFxuICBHUkVBVEVSX1RIQU46IFwiZ3JlYXRlclRoYW5cIixcbiAgR1JFQVRFUl9USEFOX09SX0VRVUFMOiBcImdyZWF0ZXJUaGFuT3JFcXVhbFwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUga2V5cyB1c2VkIGZvciB2YWxpZGF0aW9uXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFJFRkxFQ1QgcHJlZml4ZXMgb3RoZXJzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgc2V0cyBhcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1JTiBkZWZpbmVzIG1pbiB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZpbmVzIG1heCB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNURVAgZGVmaW5lcyBzdGVwXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOX0xFTkdUSCBkZWZpbmVzIG1pbiBsZW5ndGhcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNQVhfTEVOR1RIIGRlZmluZXMgbWF4IGxlbmd0aFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBVFRFUk4gZGVmaW5lcyBwYXR0ZXJuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRU1BSUwgZGVmaW5lcyBlbWFpbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFVSTCBkZWZpbmVzIHVybFxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmaW5lcyBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZpbmVzIHR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZpbmVzIHBhc3N3b3JkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElTVCBkZWZpbmVzIGxpc3RcbiAqXG4gKiBAY29uc3RhbnQgVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRpb25LZXlzID0ge1xuICBSRUZMRUNUOiBgJHtNb2RlbEtleXMuUkVGTEVDVH12YWxpZGF0aW9uLmAsXG4gIFZBTElEQVRPUjogXCJ2YWxpZGF0b3JcIixcbiAgUkVRVUlSRUQ6IFwicmVxdWlyZWRcIixcbiAgTUlOOiBcIm1pblwiLFxuICBNQVg6IFwibWF4XCIsXG4gIFNURVA6IFwic3RlcFwiLFxuICBNSU5fTEVOR1RIOiBcIm1pbmxlbmd0aFwiLFxuICBNQVhfTEVOR1RIOiBcIm1heGxlbmd0aFwiLFxuICBQQVRURVJOOiBcInBhdHRlcm5cIixcbiAgRU1BSUw6IFwiZW1haWxcIixcbiAgVVJMOiBcInVybFwiLFxuICBEQVRFOiBcImRhdGVcIixcbiAgVFlQRTogXCJ0eXBlXCIsXG4gIFBBU1NXT1JEOiBcInBhc3N3b3JkXCIsXG4gIExJU1Q6IFwibGlzdFwiLFxuICBGT1JNQVQ6IFwiZm9ybWF0XCIsXG4gIC4uLkNvbXBhcmlzb25WYWxpZGF0aW9uS2V5cyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQHN1bW1hcnkgbGlzdCBvZiBtb250aCBuYW1lc1xuICogQGRlc2NyaXB0aW9uIFN0b3JlcyBtb250aCBuYW1lcy4gQ2FuIGJlIGNoYW5nZWQgZm9yIGxvY2FsaXphdGlvbiBwdXJwb3Nlc1xuICpcbiAqIEBjb25zdGFudCBNT05USF9OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgTU9OVEhfTkFNRVMgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbi8qKlxuICogQHN1bW1hcnkgbGlzdCBvZiBuYW1lcyBvZiBkYXlzIG9mIHRoZSB3ZWVrXG4gKiBAZGVzY3JpcHRpb24gU3RvcmVzIG5hbWVzIGZvciBkYXlzIG9mIHRoZSB3ZWVrLiBDYW4gYmUgY2hhbmdlZCBmb3IgbG9jYWxpemF0aW9uIHB1cnBvc2VzXG4gKlxuICogQGNvbnN0YW50IERBWVNfT0ZfV0VFS19OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREFZU19PRl9XRUVLX05BTUVTID0gW1xuICBcIlN1bmRheVwiLFxuICBcIk1vbmRheVwiLFxuICBcIlR1ZXNkYXlcIixcbiAgXCJXZWRuZXNkYXlcIixcbiAgXCJUaHVyc2RheVwiLFxuICBcIkZyaWRheVwiLFxuICBcIlNhdHVyZGF5XCIsXG5dO1xuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGRlZmF1bHQgZXJyb3IgbWVzc2FnZXNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNSU5fTEVOR1RIIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWF9MRU5HVEggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUEFUVEVSTiBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBFTUFJTCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBVUkwgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTVEVQIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gREVGQVVMVCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBMSVNUIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1RfSU5TSURFIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1PREVMX05PVF9GT1VORCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqXG4gKiBAY29uc3RhbnQgREVGQVVMVF9FUlJPUl9NRVNTQUdFU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FUlJPUl9NRVNTQUdFUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgUkVRVUlSRUQ6IFwiVGhpcyBmaWVsZCBpcyByZXF1aXJlZFwiLFxuICBNSU46IFwiVGhlIG1pbmltdW0gdmFsdWUgaXMgezB9XCIsXG4gIE1BWDogXCJUaGUgbWF4aW11bSB2YWx1ZSBpcyB7MH1cIixcbiAgTUlOX0xFTkdUSDogXCJUaGUgbWluaW11bSBsZW5ndGggaXMgezB9XCIsXG4gIE1BWF9MRU5HVEg6IFwiVGhlIG1heGltdW0gbGVuZ3RoIGlzIHswfVwiLFxuICBQQVRURVJOOiBcIlRoZSB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0dGVyblwiLFxuICBFTUFJTDogXCJUaGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgZW1haWxcIixcbiAgVVJMOiBcIlRoZSB2YWx1ZSBpcyBub3QgYSB2YWxpZCBVUkxcIixcbiAgVFlQRTogXCJJbnZhbGlkIHR5cGUuIEV4cGVjdGVkIHswfSwgcmVjZWl2ZWQgezF9XCIsXG4gIFNURVA6IFwiSW52YWxpZCB2YWx1ZS4gTm90IGEgc3RlcCBvZiB7MH1cIixcbiAgREFURTogXCJJbnZhbGlkIHZhbHVlLiBub3QgYSB2YWxpZCBEYXRlXCIsXG4gIERFRkFVTFQ6IFwiVGhlcmUgaXMgYW4gRXJyb3JcIixcbiAgUEFTU1dPUkQ6XG4gICAgXCJNdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBhbmQgY29udGFpbiBvbmUgb2YgbnVtYmVyLCBsb3dlciBhbmQgdXBwZXIgY2FzZSBsZXR0ZXJzLCBhbmQgc3BlY2lhbCBjaGFyYWN0ZXIgKEAkISUqPyZfLS4sKVwiLFxuICBMSVNUOiBcIkludmFsaWQgbGlzdCBvZiB7MH1cIixcbiAgTU9ERUxfTk9UX0ZPVU5EOiBcIk5vIG1vZGVsIHJlZ2lzdGVyZWQgdW5kZXIgezB9XCIsXG4gIEVRVUFMUzogXCJUaGlzIGZpZWxkIG11c3QgYmUgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIERJRkY6IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGRpZmZlcmVudCBmcm9tIGZpZWxkIHswfVwiLFxuICBMRVNTX1RIQU46IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiBmaWVsZCB7MH1cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcIlRoaXMgZmllbGQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIEdSRUFURVJfVEhBTjogXCJUaGlzIGZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIGZpZWxkIHswfVwiLFxuICBHUkVBVEVSX1RIQU5fT1JfRVFVQUw6XG4gICAgXCJUaGlzIGZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGZpZWxkIHswfVwiLFxufTtcblxuZXhwb3J0IGNvbnN0IENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMgPSB7XG4gIElOVkFMSURfUEFUSDpcbiAgICBcIkludmFsaWQgcGF0aCBhcmd1bWVudC4gRXhwZWN0ZWQgbm9uLWVtcHR5IHN0cmluZyBidXQgcmVjZWl2ZWQ6ICd7MH0nXCIsXG4gIENPTlRFWFRfTk9UX09CSkVDVF9DT01QQVJJU09OOlxuICAgIFwiVW5hYmxlIHRvIGFjY2VzcyBwYXJlbnQgYXQgbGV2ZWwgezB9IGZvciBwYXRoICd7MX0nOiBjdXJyZW50IGNvbnRleHQgaXMgbm90IGFuIG9iamVjdFwiLFxuICBOT19QQVJFTlRfQ09NUEFSSVNPTjpcbiAgICBcIlVuYWJsZSB0byBhY2Nlc3MgcGFyZW50IGF0IGxldmVsIHswfSBmb3IgcGF0aCAnezF9Jzogbm8gcGFyZW50IGF2YWlsYWJsZVwiLFxuICBQUk9QRVJUWV9OT1RfRk9VTkQ6XG4gICAgXCJGYWlsZWQgdG8gcmVzb2x2ZSBwYXRoIHswfTogcHJvcGVydHkgJ3sxfScgZG9lcyBub3QgZXhpc3QuXCIsXG4gIFBST1BFUlRZX05PVF9GT1VORF9PTl9QQVJFTlQ6XG4gICAgXCJGYWlsZWQgdG8gcmVzb2x2ZSBwYXRoIHswfTogcHJvcGVydHkgJ3sxfScgZG9lcyBub3QgZXhpc3Qgb24gcGFyZW50LlwiLFxuICBQUk9QRVJUWV9OT1RfRk9VTkRfQUZURVJfUEFSRU5UOlxuICAgIFwiRmFpbGVkIHRvIHJlc29sdmUgcGF0aCB7MH06IHByb3BlcnR5ICd7MX0nIGRvZXMgbm90IGV4aXN0IGFmdGVyIHsyfSBwYXJlbnQgbGV2ZWwocykuXCIsXG4gIFVOU1VQUE9SVEVEX1RZUEVTX0NPTVBBUklTT046XG4gICAgXCJVbnN1cHBvcnRlZCB0eXBlcyBmb3IgY29tcGFyaXNvbjogJ3swfScgYW5kICd7MX0nXCIsXG4gIE5VTExfT1JfVU5ERUZJTkVEX0NPTVBBUklTT046XG4gICAgXCJDb21wYXJpc29uIGZhaWxlZCBkdWUgdG8gbnVsbCBvciB1bmRlZmluZWQgdmFsdWVcIixcbiAgSU5WQUxJRF9EQVRFX0NPTVBBUklTT046IFwiSW52YWxpZCBEYXRlIG9iamVjdHMgYXJlIG5vdCBjb21wYXJhYmxlXCIsXG4gIFRZUEVfTUlTTUFUQ0hfQ09NUEFSSVNPTjpcbiAgICBcIkNhbm5vdCBjb21wYXJlIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXM6IHswfSBhbmQgezF9LlwiLFxuICBOQU5fQ09NUEFSSVNPTjogXCJDb21wYXJpc29uIG5vdCBzdXBwb3J0ZWQgZm9yIE5hTiB2YWx1ZXNcIixcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgdmFyaW91cyBkZWZhdWx0IHJlZ2V4cCBwYXR0ZXJucyB1c2VkXG4gKlxuICogQGVudW0gREVGQVVMVF9QQVRURVJOU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QQVRURVJOUyA9IHtcbiAgRU1BSUw6XG4gICAgL1thLXpBLVowLTkhIyQlJicqKy89P15fYHt8fX4tXSsoPzpcXC5bYS16QS1aMC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSpAKD86W2EtekEtWjAtOV0oPzpbYS16MC05LV0qW2EtekEtWjAtOV0pP1xcLikrW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV0qW2EtekEtWjAtOV0pPy8sXG4gIFVSTDogL14oPzooPzooPzpodHRwcz98ZnRwKTopP1xcL1xcLykoPzpcXFMrKD86OlxcUyopP0ApPyg/Oig/ISg/OjEwfDEyNykoPzpcXC5cXGR7MSwzfSl7M30pKD8hKD86MTY5XFwuMjU0fDE5MlxcLjE2OCkoPzpcXC5cXGR7MSwzfSl7Mn0pKD8hMTcyXFwuKD86MVs2LTldfDJcXGR8M1swLTFdKSg/OlxcLlxcZHsxLDN9KXsyfSkoPzpbMS05XVxcZD98MVxcZFxcZHwyWzAxXVxcZHwyMlswLTNdKSg/OlxcLig/OjE/XFxkezEsMn18MlswLTRdXFxkfDI1WzAtNV0pKXsyfSg/OlxcLig/OlsxLTldXFxkP3wxXFxkXFxkfDJbMC00XVxcZHwyNVswLTRdKSl8KD86KD86W2EtejAtOVxcdTAwYTEtXFx1ZmZmZl1bYS16MC05XFx1MDBhMS1cXHVmZmZmXy1dezAsNjJ9KT9bYS16MC05XFx1MDBhMS1cXHVmZmZmXVxcLikrKD86W2EtelxcdTAwYTEtXFx1ZmZmZl17Mix9XFwuPykpKD86OlxcZHsyLDV9KT8oPzpbLz8jXVxcUyopPyQvaSxcbiAgUEFTU1dPUkQ6IHtcbiAgICBDSEFSOF9PTkVfT0ZfRUFDSDpcbiAgICAgIC9eKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qXFxkKSg/PS4qW0AkISUqPyZfXFwtLixdKVtBLVphLXpcXGRAJCElKj8mX1xcLS4sXXs4LH0kL2csXG4gIH0sXG59O1xuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWtEO0FBRWxEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxXQUFXO0lBQ2pCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLGtCQUFrQixFQUFFLGlCQUFpQjtJQUNyQyxZQUFZLEVBQUUsYUFBYTtJQUMzQixxQkFBcUIsRUFBRSxvQkFBb0I7Q0FDbkMsQ0FBQztBQUVYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDVSxRQUFBLGNBQWMsR0FBRztJQUM1QixPQUFPLEVBQUUsR0FBRyxxQkFBUyxDQUFDLE9BQU8sYUFBYTtJQUMxQyxTQUFTLEVBQUUsV0FBVztJQUN0QixRQUFRLEVBQUUsVUFBVTtJQUNwQixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLEVBQUUsV0FBVztJQUN2QixVQUFVLEVBQUUsV0FBVztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsR0FBRyxnQ0FBd0I7Q0FDbkIsQ0FBQztBQUVYOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLFdBQVcsR0FBRztJQUN6QixTQUFTO0lBQ1QsVUFBVTtJQUNWLE9BQU87SUFDUCxPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixRQUFRO0lBQ1IsVUFBVTtDQUNYLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDVSxRQUFBLHNCQUFzQixHQUEyQjtJQUM1RCxRQUFRLEVBQUUsd0JBQXdCO0lBQ2xDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0IsR0FBRyxFQUFFLDBCQUEwQjtJQUMvQixVQUFVLEVBQUUsMkJBQTJCO0lBQ3ZDLFVBQVUsRUFBRSwyQkFBMkI7SUFDdkMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxLQUFLLEVBQUUsZ0NBQWdDO0lBQ3ZDLEdBQUcsRUFBRSw4QkFBOEI7SUFDbkMsSUFBSSxFQUFFLDBDQUEwQztJQUNoRCxJQUFJLEVBQUUsa0NBQWtDO0lBQ3hDLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQ04sNEhBQTRIO0lBQzlILElBQUksRUFBRSxxQkFBcUI7SUFDM0IsZUFBZSxFQUFFLCtCQUErQjtJQUNoRCxNQUFNLEVBQUUsdUNBQXVDO0lBQy9DLElBQUksRUFBRSw2Q0FBNkM7SUFDbkQsU0FBUyxFQUFFLHdDQUF3QztJQUNuRCxrQkFBa0IsRUFBRSxvREFBb0Q7SUFDeEUsWUFBWSxFQUFFLDJDQUEyQztJQUN6RCxxQkFBcUIsRUFDbkIsdURBQXVEO0NBQzFELENBQUM7QUFFVyxRQUFBLHlCQUF5QixHQUFHO0lBQ3ZDLFlBQVksRUFDVixzRUFBc0U7SUFDeEUsNkJBQTZCLEVBQzNCLHVGQUF1RjtJQUN6RixvQkFBb0IsRUFDbEIsMEVBQTBFO0lBQzVFLGtCQUFrQixFQUNoQiw0REFBNEQ7SUFDOUQsNEJBQTRCLEVBQzFCLHNFQUFzRTtJQUN4RSwrQkFBK0IsRUFDN0Isc0ZBQXNGO0lBQ3hGLDRCQUE0QixFQUMxQixtREFBbUQ7SUFDckQsNEJBQTRCLEVBQzFCLGtEQUFrRDtJQUNwRCx1QkFBdUIsRUFBRSx5Q0FBeUM7SUFDbEUsd0JBQXdCLEVBQ3RCLHdEQUF3RDtJQUMxRCxjQUFjLEVBQUUseUNBQXlDO0NBQzFELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLEtBQUssRUFDSCw0SkFBNEo7SUFDOUosR0FBRyxFQUFFLHlhQUF5YTtJQUM5YSxRQUFRLEVBQUU7UUFDUixpQkFBaUIsRUFDZixpRkFBaUY7S0FDcEY7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxLZXlzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEtleXMgdXNlZCBmb3IgY29tcGFyaXNvbi1iYXNlZCB2YWxpZGF0aW9ucy5cbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRVFVQUxTIC0gVmFsaWRhdGVzIGlmIHR3byB2YWx1ZXMgYXJlIGVxdWFsLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IERJRkYgLSBWYWxpZGF0ZXMgaWYgdHdvIHZhbHVlcyBhcmUgZGlmZmVyZW50LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTiAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTl9PUl9FUVVBTCAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IEdSRUFURVJfVEhBTiAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBhbm90aGVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IEdSRUFURVJfVEhBTl9PUl9FUVVBTCAtIFZhbGlkYXRlcyBpZiBhIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBhbm90aGVyLlxuICpcbiAqIEBjb25zdGFudCBDb21wYXJpc29uVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJvZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IENvbXBhcmlzb25WYWxpZGF0aW9uS2V5cyA9IHtcbiAgRVFVQUxTOiBcImVxdWFsc1wiLFxuICBESUZGOiBcImRpZmZlcmVudFwiLFxuICBMRVNTX1RIQU46IFwibGVzc1RoYW5cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcImxlc3NUaGFuT3JFcXVhbFwiLFxuICBHUkVBVEVSX1RIQU46IFwiZ3JlYXRlclRoYW5cIixcbiAgR1JFQVRFUl9USEFOX09SX0VRVUFMOiBcImdyZWF0ZXJUaGFuT3JFcXVhbFwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUga2V5cyB1c2VkIGZvciB2YWxpZGF0aW9uXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFJFRkxFQ1QgcHJlZml4ZXMgb3RoZXJzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgc2V0cyBhcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1JTiBkZWZpbmVzIG1pbiB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZpbmVzIG1heCB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNURVAgZGVmaW5lcyBzdGVwXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOX0xFTkdUSCBkZWZpbmVzIG1pbiBsZW5ndGhcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNQVhfTEVOR1RIIGRlZmluZXMgbWF4IGxlbmd0aFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBVFRFUk4gZGVmaW5lcyBwYXR0ZXJuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRU1BSUwgZGVmaW5lcyBlbWFpbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFVSTCBkZWZpbmVzIHVybFxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmaW5lcyBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZpbmVzIHR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZpbmVzIHBhc3N3b3JkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElTVCBkZWZpbmVzIGxpc3RcbiAqXG4gKiBAY29uc3RhbnQgVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRpb25LZXlzID0ge1xuICBSRUZMRUNUOiBgJHtNb2RlbEtleXMuUkVGTEVDVH12YWxpZGF0aW9uLmAsXG4gIFZBTElEQVRPUjogXCJ2YWxpZGF0b3JcIixcbiAgUkVRVUlSRUQ6IFwicmVxdWlyZWRcIixcbiAgTUlOOiBcIm1pblwiLFxuICBNQVg6IFwibWF4XCIsXG4gIFNURVA6IFwic3RlcFwiLFxuICBNSU5fTEVOR1RIOiBcIm1pbmxlbmd0aFwiLFxuICBNQVhfTEVOR1RIOiBcIm1heGxlbmd0aFwiLFxuICBQQVRURVJOOiBcInBhdHRlcm5cIixcbiAgRU1BSUw6IFwiZW1haWxcIixcbiAgVVJMOiBcInVybFwiLFxuICBEQVRFOiBcImRhdGVcIixcbiAgVFlQRTogXCJ0eXBlXCIsXG4gIFBBU1NXT1JEOiBcInBhc3N3b3JkXCIsXG4gIExJU1Q6IFwibGlzdFwiLFxuICBGT1JNQVQ6IFwiZm9ybWF0XCIsXG4gIC4uLkNvbXBhcmlzb25WYWxpZGF0aW9uS2V5cyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQHN1bW1hcnkgbGlzdCBvZiBtb250aCBuYW1lc1xuICogQGRlc2NyaXB0aW9uIFN0b3JlcyBtb250aCBuYW1lcy4gQ2FuIGJlIGNoYW5nZWQgZm9yIGxvY2FsaXphdGlvbiBwdXJwb3Nlc1xuICpcbiAqIEBjb25zdGFudCBNT05USF9OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgTU9OVEhfTkFNRVMgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbi8qKlxuICogQHN1bW1hcnkgbGlzdCBvZiBuYW1lcyBvZiBkYXlzIG9mIHRoZSB3ZWVrXG4gKiBAZGVzY3JpcHRpb24gU3RvcmVzIG5hbWVzIGZvciBkYXlzIG9mIHRoZSB3ZWVrLiBDYW4gYmUgY2hhbmdlZCBmb3IgbG9jYWxpemF0aW9uIHB1cnBvc2VzXG4gKlxuICogQGNvbnN0YW50IERBWVNfT0ZfV0VFS19OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREFZU19PRl9XRUVLX05BTUVTID0gW1xuICBcIlN1bmRheVwiLFxuICBcIk1vbmRheVwiLFxuICBcIlR1ZXNkYXlcIixcbiAgXCJXZWRuZXNkYXlcIixcbiAgXCJUaHVyc2RheVwiLFxuICBcIkZyaWRheVwiLFxuICBcIlNhdHVyZGF5XCIsXG5dO1xuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGRlZmF1bHQgZXJyb3IgbWVzc2FnZXNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNSU5fTEVOR1RIIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWF9MRU5HVEggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUEFUVEVSTiBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBFTUFJTCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBVUkwgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTVEVQIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gREVGQVVMVCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBMSVNUIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1RfSU5TSURFIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1PREVMX05PVF9GT1VORCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqXG4gKiBAY29uc3RhbnQgREVGQVVMVF9FUlJPUl9NRVNTQUdFU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FUlJPUl9NRVNTQUdFUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgUkVRVUlSRUQ6IFwiVGhpcyBmaWVsZCBpcyByZXF1aXJlZFwiLFxuICBNSU46IFwiVGhlIG1pbmltdW0gdmFsdWUgaXMgezB9XCIsXG4gIE1BWDogXCJUaGUgbWF4aW11bSB2YWx1ZSBpcyB7MH1cIixcbiAgTUlOX0xFTkdUSDogXCJUaGUgbWluaW11bSBsZW5ndGggaXMgezB9XCIsXG4gIE1BWF9MRU5HVEg6IFwiVGhlIG1heGltdW0gbGVuZ3RoIGlzIHswfVwiLFxuICBQQVRURVJOOiBcIlRoZSB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0dGVyblwiLFxuICBFTUFJTDogXCJUaGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgZW1haWxcIixcbiAgVVJMOiBcIlRoZSB2YWx1ZSBpcyBub3QgYSB2YWxpZCBVUkxcIixcbiAgVFlQRTogXCJJbnZhbGlkIHR5cGUuIEV4cGVjdGVkIHswfSwgcmVjZWl2ZWQgezF9XCIsXG4gIFNURVA6IFwiSW52YWxpZCB2YWx1ZS4gTm90IGEgc3RlcCBvZiB7MH1cIixcbiAgREFURTogXCJJbnZhbGlkIHZhbHVlLiBub3QgYSB2YWxpZCBEYXRlXCIsXG4gIERFRkFVTFQ6IFwiVGhlcmUgaXMgYW4gRXJyb3JcIixcbiAgUEFTU1dPUkQ6XG4gICAgXCJNdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBhbmQgY29udGFpbiBvbmUgb2YgbnVtYmVyLCBsb3dlciBhbmQgdXBwZXIgY2FzZSBsZXR0ZXJzLCBhbmQgc3BlY2lhbCBjaGFyYWN0ZXIgKEAkISUqPyZfLS4sKVwiLFxuICBMSVNUOiBcIkludmFsaWQgbGlzdCBvZiB7MH1cIixcbiAgTU9ERUxfTk9UX0ZPVU5EOiBcIk5vIG1vZGVsIHJlZ2lzdGVyZWQgdW5kZXIgezB9XCIsXG4gIEVRVUFMUzogXCJUaGlzIGZpZWxkIG11c3QgYmUgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIERJRkY6IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGRpZmZlcmVudCBmcm9tIGZpZWxkIHswfVwiLFxuICBMRVNTX1RIQU46IFwiVGhpcyBmaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiBmaWVsZCB7MH1cIixcbiAgTEVTU19USEFOX09SX0VRVUFMOiBcIlRoaXMgZmllbGQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZmllbGQgezB9XCIsXG4gIEdSRUFURVJfVEhBTjogXCJUaGlzIGZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIGZpZWxkIHswfVwiLFxuICBHUkVBVEVSX1RIQU5fT1JfRVFVQUw6XG4gICAgXCJUaGlzIGZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGZpZWxkIHswfVwiLFxufTtcblxuZXhwb3J0IGNvbnN0IENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMgPSB7XG4gIElOVkFMSURfUEFUSDpcbiAgICBcIkludmFsaWQgcGF0aCBhcmd1bWVudC4gRXhwZWN0ZWQgbm9uLWVtcHR5IHN0cmluZyBidXQgcmVjZWl2ZWQ6ICd7MH0nXCIsXG4gIENPTlRFWFRfTk9UX09CSkVDVF9DT01QQVJJU09OOlxuICAgIFwiVW5hYmxlIHRvIGFjY2VzcyBwYXJlbnQgYXQgbGV2ZWwgezB9IGZvciBwYXRoICd7MX0nOiBjdXJyZW50IGNvbnRleHQgaXMgbm90IGFuIG9iamVjdFwiLFxuICBOT19QQVJFTlRfQ09NUEFSSVNPTjpcbiAgICBcIlVuYWJsZSB0byBhY2Nlc3MgcGFyZW50IGF0IGxldmVsIHswfSBmb3IgcGF0aCAnezF9Jzogbm8gcGFyZW50IGF2YWlsYWJsZVwiLFxuICBQUk9QRVJUWV9OT1RfRk9VTkQ6XG4gICAgXCJGYWlsZWQgdG8gcmVzb2x2ZSBwYXRoIHswfTogcHJvcGVydHkgJ3sxfScgZG9lcyBub3QgZXhpc3QuXCIsXG4gIFBST1BFUlRZX05PVF9GT1VORF9PTl9QQVJFTlQ6XG4gICAgXCJGYWlsZWQgdG8gcmVzb2x2ZSBwYXRoIHswfTogcHJvcGVydHkgJ3sxfScgZG9lcyBub3QgZXhpc3Qgb24gcGFyZW50LlwiLFxuICBQUk9QRVJUWV9OT1RfRk9VTkRfQUZURVJfUEFSRU5UOlxuICAgIFwiRmFpbGVkIHRvIHJlc29sdmUgcGF0aCB7MH06IHByb3BlcnR5ICd7MX0nIGRvZXMgbm90IGV4aXN0IGFmdGVyIHsyfSBwYXJlbnQgbGV2ZWwocykuXCIsXG4gIFVOU1VQUE9SVEVEX1RZUEVTX0NPTVBBUklTT046XG4gICAgXCJVbnN1cHBvcnRlZCB0eXBlcyBmb3IgY29tcGFyaXNvbjogJ3swfScgYW5kICd7MX0nXCIsXG4gIE5VTExfT1JfVU5ERUZJTkVEX0NPTVBBUklTT046XG4gICAgXCJDb21wYXJpc29uIGZhaWxlZCBkdWUgdG8gbnVsbCBvciB1bmRlZmluZWQgdmFsdWVcIixcbiAgSU5WQUxJRF9EQVRFX0NPTVBBUklTT046IFwiSW52YWxpZCBEYXRlIG9iamVjdHMgYXJlIG5vdCBjb21wYXJhYmxlXCIsXG4gIFRZUEVfTUlTTUFUQ0hfQ09NUEFSSVNPTjpcbiAgICBcIkNhbm5vdCBjb21wYXJlIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXM6IHswfSBhbmQgezF9LlwiLFxuICBOQU5fQ09NUEFSSVNPTjogXCJDb21wYXJpc29uIG5vdCBzdXBwb3J0ZWQgZm9yIE5hTiB2YWx1ZXNcIixcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgdmFyaW91cyBkZWZhdWx0IHJlZ2V4cCBwYXR0ZXJucyB1c2VkXG4gKlxuICogQGVudW0gREVGQVVMVF9QQVRURVJOU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QQVRURVJOUyA9IHtcbiAgRU1BSUw6XG4gICAgL1thLXpBLVowLTkhIyQlJicqKy89P15fYHt8fX4tXSsoPzpcXC5bYS16QS1aMC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSpAKD86W2EtekEtWjAtOV0oPzpbYS16MC05LV0qW2EtekEtWjAtOV0pP1xcLikrW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV0qW2EtekEtWjAtOV0pPy8sXG4gIFVSTDogL14oPzooPzooPzpodHRwcz98ZnRwKTopP1xcL1xcLykoPzpcXFMrKD86OlxcUyopP0ApPyg/Oig/ISg/OjEwfDEyNykoPzpcXC5cXGR7MSwzfSl7M30pKD8hKD86MTY5XFwuMjU0fDE5MlxcLjE2OCkoPzpcXC5cXGR7MSwzfSl7Mn0pKD8hMTcyXFwuKD86MVs2LTldfDJcXGR8M1swLTFdKSg/OlxcLlxcZHsxLDN9KXsyfSkoPzpbMS05XVxcZD98MVxcZFxcZHwyWzAxXVxcZHwyMlswLTNdKSg/OlxcLig/OjE/XFxkezEsMn18MlswLTRdXFxkfDI1WzAtNV0pKXsyfSg/OlxcLig/OlsxLTldXFxkP3wxXFxkXFxkfDJbMC00XVxcZHwyNVswLTRdKSl8KD86KD86W2EtejAtOVxcdTAwYTEtXFx1ZmZmZl1bYS16MC05XFx1MDBhMS1cXHVmZmZmXy1dezAsNjJ9KT9bYS16MC05XFx1MDBhMS1cXHVmZmZmXVxcLikrKD86W2EtelxcdTAwYTEtXFx1ZmZmZl17Mix9XFwuPykpKD86OlxcZHsyLDV9KT8oPzpbLz8jXVxcUyopPyQvaSxcbiAgUEFTU1dPUkQ6IHtcbiAgICBDSEFSOF9PTkVfT0ZfRUFDSDpcbiAgICAgIC9eKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qXFxkKSg/PS4qW0AkISUqPyZfXFwtLixdKVtBLVphLXpcXGRAJCElKj8mX1xcLS4sXXs4LH0kL2csXG4gIH0sXG59O1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validator = validator;
|
|
4
|
-
const Validation_1 = require("
|
|
4
|
+
const Validation_1 = require("./../Validation.cjs");
|
|
5
5
|
const constants_1 = require("./constants.cjs");
|
|
6
6
|
const reflection_1 = require("@decaf-ts/reflection");
|
|
7
7
|
/**
|
|
@@ -26,4 +26,4 @@ function validator(...keys) {
|
|
|
26
26
|
return original;
|
|
27
27
|
}), (0, reflection_1.metadata)(Validation_1.Validation.key(constants_1.ValidationKeys.VALIDATOR), keys));
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSw4QkFjQztBQTlCRCxvREFBMkM7QUFFM0MsK0NBQTZDO0FBQzdDLHFEQUF1RDtBQUd2RDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixTQUFTLENBQXNCLEdBQUcsSUFBYztJQUM5RCxPQUFPLElBQUEsa0JBQUssRUFDVixDQUFDLENBQUMsUUFBd0IsRUFBRSxFQUFFO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtZQUN6Qix1QkFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsSUFBSTthQUNZLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBbUIsRUFDcEIsSUFBQSxxQkFBUSxFQUFDLHVCQUFVLENBQUMsR0FBRyxDQUFDLDBCQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ3pELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL1ZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIi4uLy4uL21vZGVsL3R5cGVzXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgYXBwbHksIG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0b3JEZWZpbml0aW9uIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgTWFya3MgdGhlIGNsYXNzIGFzIGEgdmFsaWRhdG9yIGZvciBhIGNlcnRhaW4ga2V5LlxuICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyB0aGUgY2xhc3MgaW4gdGhlIHtAbGluayBWYWxpZGF0aW9ufSB3aXRoIHRoZSBwcm92aWRlZCBrZXlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5cyB0aGUgdmFsaWRhdGlvbiBrZXlcbiAqXG4gKiBAZnVuY3Rpb24gdmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRvcjxUIGV4dGVuZHMgVmFsaWRhdG9yPiguLi5rZXlzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gYXBwbHkoXG4gICAgKChvcmlnaW5hbDogQ29uc3RydWN0b3I8VD4pID0+IHtcbiAgICAgIGtleXMuZm9yRWFjaCgoazogc3RyaW5nKSA9PiB7XG4gICAgICAgIFZhbGlkYXRpb24ucmVnaXN0ZXIoe1xuICAgICAgICAgIHZhbGlkYXRvcjogb3JpZ2luYWwsXG4gICAgICAgICAgdmFsaWRhdGlvbktleTogayxcbiAgICAgICAgICBzYXZlOiB0cnVlLFxuICAgICAgICB9IGFzIFZhbGlkYXRvckRlZmluaXRpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gb3JpZ2luYWw7XG4gICAgfSkgYXMgQ2xhc3NEZWNvcmF0b3IsXG4gICAgbWV0YWRhdGEoVmFsaWRhdGlvbi5rZXkoVmFsaWRhdGlvbktleXMuVkFMSURBVE9SKSwga2V5cylcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -38,4 +38,4 @@ __exportStar(require("./URLValidator.cjs"), exports);
|
|
|
38
38
|
__exportStar(require("./Validator.cjs"), exports);
|
|
39
39
|
__exportStar(require("./ValidatorRegistry.cjs"), exports);
|
|
40
40
|
__exportStar(require("./utils.cjs"), exports);
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBNEI7QUFDNUIsc0RBQWdDO0FBQ2hDLG1EQUE2QjtBQUM3QixzREFBZ0M7QUFDaEMsdURBQWlDO0FBQ2pDLHdEQUFrQztBQUNsQyw2REFBdUM7QUFDdkMsb0VBQThDO0FBQzlDLDBEQUFvQztBQUNwQyxpRUFBMkM7QUFDM0Msc0RBQWdDO0FBQ2hDLDJEQUFxQztBQUNyQyxxREFBK0I7QUFDL0IsMkRBQXFDO0FBQ3JDLHFEQUErQjtBQUMvQiwwREFBb0M7QUFDcEMseURBQW1DO0FBQ25DLDBEQUFvQztBQUNwQyxzREFBZ0M7QUFDaEMsc0RBQWdDO0FBQ2hDLHFEQUErQjtBQUMvQixrREFBNEI7QUFDNUIsMERBQW9DO0FBQ3BDLDhDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGF0ZVZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGlmZlZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRW1haWxWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0VxdWFsc1ZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JlYXRlclRoYW5WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyZWF0ZXJUaGFuT3JFcXVhbFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTGVzc1RoYW5WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xlc3NUaGFuT3JFcXVhbFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTGlzdFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWF4TGVuZ3RoVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NYXhWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01pbkxlbmd0aFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWluVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9QYXNzd29yZFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUGF0dGVyblZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVxdWlyZWRWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1N0ZXBWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1R5cGVWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VSTFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WYWxpZGF0b3JSZWdpc3RyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
|
|
@@ -4,8 +4,8 @@ exports.getValueByPath = getValueByPath;
|
|
|
4
4
|
exports.isValidForGteOrLteComparison = isValidForGteOrLteComparison;
|
|
5
5
|
exports.isLessThan = isLessThan;
|
|
6
6
|
exports.isGreaterThan = isGreaterThan;
|
|
7
|
-
const constants_1 = require("
|
|
8
|
-
const strings_1 = require("
|
|
7
|
+
const constants_1 = require("./../../constants/index.cjs");
|
|
8
|
+
const strings_1 = require("./../../utils/strings.cjs");
|
|
9
9
|
const constants_2 = require("./constants.cjs");
|
|
10
10
|
/**
|
|
11
11
|
* Safely retrieves a nested property value from an object using a dot-notated path string.
|
|
@@ -177,4 +177,4 @@ function isGreaterThan(a, b) {
|
|
|
177
177
|
}
|
|
178
178
|
throw new TypeError((0, strings_1.sf)(constants_2.COMPARISON_ERROR_MESSAGES.UNSUPPORTED_TYPES_COMPARISON, getTypeName(a), getTypeName(b)));
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLHdDQW9EQztBQXFDRCxvRUFVQztBQWNELGdDQXlDQztBQWNELHNDQXdDQztBQWhPRCwrQ0FBd0Q7QUFDeEQsaURBQXlDO0FBQ3pDLDJDQUF3RDtBQUV4RDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLGNBQWMsQ0FBSSxHQUF3QixFQUFFLElBQVk7SUFDdEUsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUEsWUFBRSxFQUFDLHFDQUF5QixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU5QywrQkFBK0I7SUFDL0IsSUFBSSxjQUFjLEdBQVEsR0FBRyxDQUFDO0lBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxJQUFJLE9BQU8sY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQ2IsSUFBQSxZQUFFLEVBQUMscUNBQXlCLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FD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QVRJT05fUEFSRU5UX0tFWSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHNmIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0cmluZ3NcIjtcbmltcG9ydCB7IENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBTYWZlbHkgcmV0cmlldmVzIGEgbmVzdGVkIHByb3BlcnR5IHZhbHVlIGZyb20gYW4gb2JqZWN0IHVzaW5nIGEgZG90LW5vdGF0ZWQgcGF0aCBzdHJpbmcuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgcmV0dXJuIHR5cGUgb2YgdGhlIHByb3BlcnR5IHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gb2JqIC0gVGhlIHNvdXJjZSBvYmplY3QgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZyb20uXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIEEgZG90LXNlcGFyYXRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwYXRoIHRvIHRoZSBkZXNpcmVkIHByb3BlcnR5IChlLmcuLCBcInVzZXIuYWRkcmVzcy5zdHJlZXRcIikuXG4gKlxuICogQHJldHVybnMge1R9IC0gVGhlIHZhbHVlIGZvdW5kIGF0IHRoZSBzcGVjaWZpZWQgcGF0aFxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSAtIFRocm93cyBhbiBlcnJvciBpZiB0aGUgcGF0aCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGlmIGFueSBwYXJ0IG9mIHRoZSBwYXRoIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZUJ5UGF0aDxUPihvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sIHBhdGg6IHN0cmluZyk6IFQge1xuICBpZiAodHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIgfHwgIXBhdGgudHJpbSgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKHNmKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuSU5WQUxJRF9QQVRILCBwYXRoKSk7XG4gIH1cblxuICAvLyBQcm9jZXNzIHBhcmVudCBkaXJlY3RvcnkgYWNjZXNzICguLi8pXG4gIGNvbnN0IHBhcmVudEFjY2Vzc29ycyA9IHBhdGgubWF0Y2goL1xcLlxcLlxcLy9nKSB8fCBbXTtcbiAgY29uc3QgcGFyZW50TGV2ZWwgPSBwYXJlbnRBY2Nlc3NvcnMubGVuZ3RoO1xuICBjb25zdCBjbGVhblBhdGggPSBwYXRoLnJlcGxhY2UoL1xcLlxcLlxcLy9nLCBcIlwiKTtcblxuICAvLyBOYXZpZ2F0ZSB1cCB0aGUgcGFyZW50IGNoYWluXG4gIGxldCBjdXJyZW50Q29udGV4dDogYW55ID0gb2JqO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmVudExldmVsOyBpKyspIHtcbiAgICBpZiAoIWN1cnJlbnRDb250ZXh0IHx8IHR5cGVvZiBjdXJyZW50Q29udGV4dCAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBzZihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLkNPTlRFWFRfTk9UX09CSkVDVF9DT01QQVJJU09OLCBpICsgMSwgcGF0aClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFjdXJyZW50Q29udGV4dFtWQUxJREFUSU9OX1BBUkVOVF9LRVldKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIHNmKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuTk9fUEFSRU5UX0NPTVBBUklTT04sIGkgKyAxLCBwYXRoKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjdXJyZW50Q29udGV4dCA9IGN1cnJlbnRDb250ZXh0W1ZBTElEQVRJT05fUEFSRU5UX0tFWV07XG4gIH1cblxuICAvLyBQcm9jZXNzIGRvdCBub3RhdGlvbiBwYXRoXG4gIGNvbnN0IHBhcnRzID0gY2xlYW5QYXRoLnNwbGl0KFwiLlwiKTtcbiAgbGV0IGN1cnJlbnRWYWx1ZTogYW55ID0gY3VycmVudENvbnRleHQ7XG5cbiAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgaWYgKFxuICAgICAgY3VycmVudFZhbHVlICE9PSBudWxsICYmXG4gICAgICB0eXBlb2YgY3VycmVudFZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgICBwYXJ0IGluIGN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgY3VycmVudFZhbHVlID0gKGN1cnJlbnRWYWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtwYXJ0XTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3JNc2dUZW1wbGF0ZSA9XG4gICAgICAgIHBhcmVudExldmVsID09PSAwXG4gICAgICAgICAgPyBDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLlBST1BFUlRZX05PVF9GT1VORFxuICAgICAgICAgIDogcGFyZW50TGV2ZWwgPT09IDFcbiAgICAgICAgICAgID8gQ09NUEFSSVNPTl9FUlJPUl9NRVNTQUdFUy5QUk9QRVJUWV9OT1RfRk9VTkRfT05fUEFSRU5UXG4gICAgICAgICAgICA6IENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuUFJPUEVSVFlfTk9UX0ZPVU5EX0FGVEVSX1BBUkVOVDtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKHNmKGVycm9yTXNnVGVtcGxhdGUsIHBhdGgsIHBhcnQsIHBhcmVudExldmVsKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGN1cnJlbnRWYWx1ZSBhcyBUO1xufVxuXG5jb25zdCBnZXRUeXBlTmFtZSA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIFwibnVsbFwiO1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gXCJEYXRlXCI7XG4gIGlmIChOdW1iZXIuaXNOYU4odmFsdWUpKSByZXR1cm4gXCJOYU5cIjtcbiAgaWYgKHZhbHVlID09PSBJbmZpbml0eSkgcmV0dXJuIFwiSW5maW5pdHlcIjtcbiAgaWYgKHZhbHVlID09PSAtSW5maW5pdHkpIHJldHVybiBcIi1JbmZpbml0eVwiO1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiBcImFycmF5XCI7XG4gIHJldHVybiB0eXBlb2YgdmFsdWU7XG59O1xuXG5jb25zdCBpc1N1cHBvcnRlZCA9IChcbiAgdmFsdWU6IHVua25vd25cbik6IHZhbHVlIGlzIHVuZGVmaW5lZCB8IG51bWJlciB8IGJpZ2ludCB8IERhdGUgPT4ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB0cnVlO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHJldHVybiB0cnVlO1xuXG4gIC8vIE51bWJlcnMgbXVzdCBiZSBmaW5pdGUgKGV4Y2x1ZGVzIE5hTiwgSW5maW5pdHksIC1JbmZpbml0eSlcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2YWx1ZSk7XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgd2hldGhlciB0d28gdmFsdWVzIGFyZSBlbGlnaWJsZSBmb3IgY29tcGFyaXNvbiB1c2luZyA+PSBvciA8PSBvcGVyYXRvcnMuXG4gKlxuICogU3VwcG9ydGVkIHR5cGVzOiBgdW5kZWZpbmVkYCwgYG51bWJlcmAsIGBiaWdpbnRgLCBhbmQgYERhdGVgLlxuICpcbiAqIEBwYXJhbSBhIC0gVGhlIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0gYiAtIFRoZSBzZWNvbmQgdmFsdWUgdG8gY29tcGFyZS5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBib3RoIHZhbHVlcyBhcmUgb2Ygc3VwcG9ydGVkIHR5cGVzLlxuICpcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gSWYgZWl0aGVyIHZhbHVlIGlzIG9mIGFuIHVuc3VwcG9ydGVkIHR5cGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRm9yR3RlT3JMdGVDb21wYXJpc29uKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIGlmIChpc1N1cHBvcnRlZChhKSAmJiBpc1N1cHBvcnRlZChiKSkgcmV0dXJuIHRydWU7XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICBzZihcbiAgICAgIENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuVU5TVVBQT1JURURfVFlQRVNfQ09NUEFSSVNPTixcbiAgICAgIGdldFR5cGVOYW1lKGEpLFxuICAgICAgZ2V0VHlwZU5hbWUoYilcbiAgICApXG4gICk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgQ29tcGFyZXMgdHdvIHZhbHVlcyB0byBkZXRlcm1pbmUgaWYgdGhlIGZpcnN0IGlzIGxlc3MgdGhhbiB0aGUgc2Vjb25kLlxuICogQGRlc2NyaXB0aW9uIFN1cHBvcnRzIG51bWJlcnMgYW5kIGRhdGVzLiBUaHJvd3MgYW4gZXJyb3IgZm9yIHVuc3VwcG9ydGVkIHR5cGVzLlxuICpcbiAqIEBwYXJhbSB7YW55fSBhIC0gVGhlIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0ge2FueX0gYiAtIFRoZSBzZWNvbmQgdmFsdWUgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICpcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGBhYCBpcyBsZXNzIHRoYW4gYGJgLCBmYWxzZSBvdGhlcndpc2UuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIGVpdGhlciBgYWAgb3IgYGJgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYC5cbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gSWYgdmFsdWVzIGFyZSBvZiBtaXNtYXRjaGVkIG9yIHVuc3VwcG9ydGVkIHR5cGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNMZXNzVGhhbihhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICBpZiAoW251bGwsIHVuZGVmaW5lZF0uaW5jbHVkZXMoYSkgfHwgW251bGwsIHVuZGVmaW5lZF0uaW5jbHVkZXMoYikpXG4gICAgdGhyb3cgbmV3IEVycm9yKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuTlVMTF9PUl9VTkRFRklORURfQ09NUEFSSVNPTik7XG5cbiAgLy8gVmFsaWRhdGUgdHlwZSBjb21wYXRpYmlsaXR5XG4gIGNvbnN0IGFUeXBlID0gdHlwZW9mIGE7XG4gIGNvbnN0IGJUeXBlID0gdHlwZW9mIGI7XG5cbiAgaWYgKGFUeXBlICE9PSBiVHlwZSkge1xuICAgIC8vIEFsbG93IG51bWJlciBYIGJpZ2ludFxuICAgIGlmIChhVHlwZSA9PT0gXCJiaWdpbnRcIiAmJiBiVHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBOdW1iZXIoYSkgPCAoYiBhcyBudW1iZXIpO1xuICAgIGlmIChhVHlwZSA9PT0gXCJudW1iZXJcIiAmJiBiVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICAgIHJldHVybiAoYSBhcyBudW1iZXIpIDwgTnVtYmVyKGIpO1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBzZihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLlRZUEVfTUlTTUFUQ0hfQ09NUEFSSVNPTiwgYVR5cGUsIGJUeXBlKVxuICAgICk7XG4gIH1cblxuICBpZiAoXG4gICAgKGFUeXBlID09PSBcIm51bWJlclwiICYmIGJUeXBlID09PSBcIm51bWJlclwiKSB8fFxuICAgIChhVHlwZSA9PT0gXCJiaWdpbnRcIiAmJiBiVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgKSB7XG4gICAgaWYgKE51bWJlci5pc05hTihhKSB8fCBOdW1iZXIuaXNOYU4oYikpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuTkFOX0NPTVBBUklTT04pO1xuICAgIHJldHVybiBhIDwgYjtcbiAgfVxuXG4gIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGlmIChpc05hTihhLmdldFRpbWUoKSkgfHwgaXNOYU4oYi5nZXRUaW1lKCkpKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLklOVkFMSURfREFURV9DT01QQVJJU09OKTtcbiAgICByZXR1cm4gYS5nZXRUaW1lKCkgPCBiLmdldFRpbWUoKTtcbiAgfVxuXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgc2YoXG4gICAgICBDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLlVOU1VQUE9SVEVEX1RZUEVTX0NPTVBBUklTT04sXG4gICAgICBnZXRUeXBlTmFtZShhKSxcbiAgICAgIGdldFR5cGVOYW1lKGIpXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgYWAgaXMgZ3JlYXRlciB0aGFuIGBiYC5cbiAqIFN1cHBvcnRzIGNvbXBhcmlzb24gZm9yIG51bWJlcnMgYW5kIERhdGUgb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0ge2FueX0gYSAtIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAqIEBwYXJhbSB7YW55fSBiIC0gVGhlIHZhbHVlIHRvIGNvbXBhcmUgYWdhaW5zdC5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBgYWAgaXMgZ3JlYXRlciB0aGFuIGBiYCwgb3RoZXJ3aXNlIGZhbHNlLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBlaXRoZXIgYGFgIG9yIGBiYCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IElmIHZhbHVlcyBhcmUgb2YgbWlzbWF0Y2hlZCBvciB1bnN1cHBvcnRlZCB0eXBlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzR3JlYXRlclRoYW4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKFtudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKGEpIHx8IFtudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKGIpKVxuICAgIHRocm93IG5ldyBFcnJvcihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLk5VTExfT1JfVU5ERUZJTkVEX0NPTVBBUklTT04pO1xuXG4gIGNvbnN0IGFUeXBlID0gdHlwZW9mIGE7XG4gIGNvbnN0IGJUeXBlID0gdHlwZW9mIGI7XG5cbiAgaWYgKGFUeXBlICE9PSBiVHlwZSkge1xuICAgIC8vIEFsbG93IG51bWJlciBYIGJpZ2ludFxuICAgIGlmIChhVHlwZSA9PT0gXCJiaWdpbnRcIiAmJiBiVHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBOdW1iZXIoYSkgPiAoYiBhcyBudW1iZXIpO1xuICAgIGlmIChhVHlwZSA9PT0gXCJudW1iZXJcIiAmJiBiVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICAgIHJldHVybiAoYSBhcyBudW1iZXIpID4gTnVtYmVyKGIpO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIHNmKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuVFlQRV9NSVNNQVRDSF9DT01QQVJJU09OLCBhVHlwZSwgYlR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIGlmIChcbiAgICAoYVR5cGUgPT09IFwibnVtYmVyXCIgJiYgYlR5cGUgPT09IFwibnVtYmVyXCIpIHx8XG4gICAgKGFUeXBlID09PSBcImJpZ2ludFwiICYmIGJUeXBlID09PSBcImJpZ2ludFwiKVxuICApIHtcbiAgICBpZiAoTnVtYmVyLmlzTmFOKGEpIHx8IE51bWJlci5pc05hTihiKSlcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoQ09NUEFSSVNPTl9FUlJPUl9NRVNTQUdFUy5OQU5fQ09NUEFSSVNPTik7XG4gICAgcmV0dXJuIGEgPiBiO1xuICB9XG5cbiAgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgaWYgKGlzTmFOKGEuZ2V0VGltZSgpKSB8fCBpc05hTihiLmdldFRpbWUoKSkpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuSU5WQUxJRF9EQVRFX0NPTVBBUklTT04pO1xuICAgIHJldHVybiBhLmdldFRpbWUoKSA+IGIuZ2V0VGltZSgpO1xuICB9XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICBzZihcbiAgICAgIENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuVU5TVVBQT1JURURfVFlQRVNfQ09NUEFSSVNPTixcbiAgICAgIGdldFR5cGVOYW1lKGEpLFxuICAgICAgZ2V0VHlwZU5hbWUoYilcbiAgICApXG4gICk7XG59XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLHdDQW9EQztBQXFDRCxvRUFVQztBQWNELGdDQXlDQztBQWNELHNDQXdDQztBQWhPRCwyREFBd0Q7QUFDeEQsdURBQXlDO0FBQ3pDLCtDQUF3RDtBQUV4RDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLGNBQWMsQ0FBSSxHQUF3QixFQUFFLElBQVk7SUFDdEUsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUEsWUFBRSxFQUFDLHFDQUF5QixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU5QywrQkFBK0I7SUFDL0IsSUFBSSxjQUFjLEdBQVEsR0FBRyxDQUFDO0lBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxJQUFJLE9BQU8sY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQ2IsSUFBQSxZQUFFLEVBQUMscUNBQXlCLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FD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QVRJT05fUEFSRU5UX0tFWSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHNmIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0cmluZ3NcIjtcbmltcG9ydCB7IENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBTYWZlbHkgcmV0cmlldmVzIGEgbmVzdGVkIHByb3BlcnR5IHZhbHVlIGZyb20gYW4gb2JqZWN0IHVzaW5nIGEgZG90LW5vdGF0ZWQgcGF0aCBzdHJpbmcuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgcmV0dXJuIHR5cGUgb2YgdGhlIHByb3BlcnR5IHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gb2JqIC0gVGhlIHNvdXJjZSBvYmplY3QgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZyb20uXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIEEgZG90LXNlcGFyYXRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwYXRoIHRvIHRoZSBkZXNpcmVkIHByb3BlcnR5IChlLmcuLCBcInVzZXIuYWRkcmVzcy5zdHJlZXRcIikuXG4gKlxuICogQHJldHVybnMge1R9IC0gVGhlIHZhbHVlIGZvdW5kIGF0IHRoZSBzcGVjaWZpZWQgcGF0aFxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSAtIFRocm93cyBhbiBlcnJvciBpZiB0aGUgcGF0aCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGlmIGFueSBwYXJ0IG9mIHRoZSBwYXRoIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZUJ5UGF0aDxUPihvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sIHBhdGg6IHN0cmluZyk6IFQge1xuICBpZiAodHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIgfHwgIXBhdGgudHJpbSgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKHNmKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuSU5WQUxJRF9QQVRILCBwYXRoKSk7XG4gIH1cblxuICAvLyBQcm9jZXNzIHBhcmVudCBkaXJlY3RvcnkgYWNjZXNzICguLi8pXG4gIGNvbnN0IHBhcmVudEFjY2Vzc29ycyA9IHBhdGgubWF0Y2goL1xcLlxcLlxcLy9nKSB8fCBbXTtcbiAgY29uc3QgcGFyZW50TGV2ZWwgPSBwYXJlbnRBY2Nlc3NvcnMubGVuZ3RoO1xuICBjb25zdCBjbGVhblBhdGggPSBwYXRoLnJlcGxhY2UoL1xcLlxcLlxcLy9nLCBcIlwiKTtcblxuICAvLyBOYXZpZ2F0ZSB1cCB0aGUgcGFyZW50IGNoYWluXG4gIGxldCBjdXJyZW50Q29udGV4dDogYW55ID0gb2JqO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmVudExldmVsOyBpKyspIHtcbiAgICBpZiAoIWN1cnJlbnRDb250ZXh0IHx8IHR5cGVvZiBjdXJyZW50Q29udGV4dCAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBzZihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLkNPTlRFWFRfTk9UX09CSkVDVF9DT01QQVJJU09OLCBpICsgMSwgcGF0aClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFjdXJyZW50Q29udGV4dFtWQUxJREFUSU9OX1BBUkVOVF9LRVldKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIHNmKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuTk9fUEFSRU5UX0NPTVBBUklTT04sIGkgKyAxLCBwYXRoKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjdXJyZW50Q29udGV4dCA9IGN1cnJlbnRDb250ZXh0W1ZBTElEQVRJT05fUEFSRU5UX0tFWV07XG4gIH1cblxuICAvLyBQcm9jZXNzIGRvdCBub3RhdGlvbiBwYXRoXG4gIGNvbnN0IHBhcnRzID0gY2xlYW5QYXRoLnNwbGl0KFwiLlwiKTtcbiAgbGV0IGN1cnJlbnRWYWx1ZTogYW55ID0gY3VycmVudENvbnRleHQ7XG5cbiAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgaWYgKFxuICAgICAgY3VycmVudFZhbHVlICE9PSBudWxsICYmXG4gICAgICB0eXBlb2YgY3VycmVudFZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgICBwYXJ0IGluIGN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgY3VycmVudFZhbHVlID0gKGN1cnJlbnRWYWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtwYXJ0XTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3JNc2dUZW1wbGF0ZSA9XG4gICAgICAgIHBhcmVudExldmVsID09PSAwXG4gICAgICAgICAgPyBDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLlBST1BFUlRZX05PVF9GT1VORFxuICAgICAgICAgIDogcGFyZW50TGV2ZWwgPT09IDFcbiAgICAgICAgICAgID8gQ09NUEFSSVNPTl9FUlJPUl9NRVNTQUdFUy5QUk9QRVJUWV9OT1RfRk9VTkRfT05fUEFSRU5UXG4gICAgICAgICAgICA6IENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuUFJPUEVSVFlfTk9UX0ZPVU5EX0FGVEVSX1BBUkVOVDtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKHNmKGVycm9yTXNnVGVtcGxhdGUsIHBhdGgsIHBhcnQsIHBhcmVudExldmVsKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGN1cnJlbnRWYWx1ZSBhcyBUO1xufVxuXG5jb25zdCBnZXRUeXBlTmFtZSA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIFwibnVsbFwiO1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gXCJEYXRlXCI7XG4gIGlmIChOdW1iZXIuaXNOYU4odmFsdWUpKSByZXR1cm4gXCJOYU5cIjtcbiAgaWYgKHZhbHVlID09PSBJbmZpbml0eSkgcmV0dXJuIFwiSW5maW5pdHlcIjtcbiAgaWYgKHZhbHVlID09PSAtSW5maW5pdHkpIHJldHVybiBcIi1JbmZpbml0eVwiO1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiBcImFycmF5XCI7XG4gIHJldHVybiB0eXBlb2YgdmFsdWU7XG59O1xuXG5jb25zdCBpc1N1cHBvcnRlZCA9IChcbiAgdmFsdWU6IHVua25vd25cbik6IHZhbHVlIGlzIHVuZGVmaW5lZCB8IG51bWJlciB8IGJpZ2ludCB8IERhdGUgPT4ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB0cnVlO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHJldHVybiB0cnVlO1xuXG4gIC8vIE51bWJlcnMgbXVzdCBiZSBmaW5pdGUgKGV4Y2x1ZGVzIE5hTiwgSW5maW5pdHksIC1JbmZpbml0eSlcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2YWx1ZSk7XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgd2hldGhlciB0d28gdmFsdWVzIGFyZSBlbGlnaWJsZSBmb3IgY29tcGFyaXNvbiB1c2luZyA+PSBvciA8PSBvcGVyYXRvcnMuXG4gKlxuICogU3VwcG9ydGVkIHR5cGVzOiBgdW5kZWZpbmVkYCwgYG51bWJlcmAsIGBiaWdpbnRgLCBhbmQgYERhdGVgLlxuICpcbiAqIEBwYXJhbSBhIC0gVGhlIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0gYiAtIFRoZSBzZWNvbmQgdmFsdWUgdG8gY29tcGFyZS5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBib3RoIHZhbHVlcyBhcmUgb2Ygc3VwcG9ydGVkIHR5cGVzLlxuICpcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gSWYgZWl0aGVyIHZhbHVlIGlzIG9mIGFuIHVuc3VwcG9ydGVkIHR5cGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRm9yR3RlT3JMdGVDb21wYXJpc29uKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIGlmIChpc1N1cHBvcnRlZChhKSAmJiBpc1N1cHBvcnRlZChiKSkgcmV0dXJuIHRydWU7XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICBzZihcbiAgICAgIENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuVU5TVVBQT1JURURfVFlQRVNfQ09NUEFSSVNPTixcbiAgICAgIGdldFR5cGVOYW1lKGEpLFxuICAgICAgZ2V0VHlwZU5hbWUoYilcbiAgICApXG4gICk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgQ29tcGFyZXMgdHdvIHZhbHVlcyB0byBkZXRlcm1pbmUgaWYgdGhlIGZpcnN0IGlzIGxlc3MgdGhhbiB0aGUgc2Vjb25kLlxuICogQGRlc2NyaXB0aW9uIFN1cHBvcnRzIG51bWJlcnMgYW5kIGRhdGVzLiBUaHJvd3MgYW4gZXJyb3IgZm9yIHVuc3VwcG9ydGVkIHR5cGVzLlxuICpcbiAqIEBwYXJhbSB7YW55fSBhIC0gVGhlIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0ge2FueX0gYiAtIFRoZSBzZWNvbmQgdmFsdWUgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICpcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGBhYCBpcyBsZXNzIHRoYW4gYGJgLCBmYWxzZSBvdGhlcndpc2UuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIGVpdGhlciBgYWAgb3IgYGJgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYC5cbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gSWYgdmFsdWVzIGFyZSBvZiBtaXNtYXRjaGVkIG9yIHVuc3VwcG9ydGVkIHR5cGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNMZXNzVGhhbihhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICBpZiAoW251bGwsIHVuZGVmaW5lZF0uaW5jbHVkZXMoYSkgfHwgW251bGwsIHVuZGVmaW5lZF0uaW5jbHVkZXMoYikpXG4gICAgdGhyb3cgbmV3IEVycm9yKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuTlVMTF9PUl9VTkRFRklORURfQ09NUEFSSVNPTik7XG5cbiAgLy8gVmFsaWRhdGUgdHlwZSBjb21wYXRpYmlsaXR5XG4gIGNvbnN0IGFUeXBlID0gdHlwZW9mIGE7XG4gIGNvbnN0IGJUeXBlID0gdHlwZW9mIGI7XG5cbiAgaWYgKGFUeXBlICE9PSBiVHlwZSkge1xuICAgIC8vIEFsbG93IG51bWJlciBYIGJpZ2ludFxuICAgIGlmIChhVHlwZSA9PT0gXCJiaWdpbnRcIiAmJiBiVHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBOdW1iZXIoYSkgPCAoYiBhcyBudW1iZXIpO1xuICAgIGlmIChhVHlwZSA9PT0gXCJudW1iZXJcIiAmJiBiVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICAgIHJldHVybiAoYSBhcyBudW1iZXIpIDwgTnVtYmVyKGIpO1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBzZihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLlRZUEVfTUlTTUFUQ0hfQ09NUEFSSVNPTiwgYVR5cGUsIGJUeXBlKVxuICAgICk7XG4gIH1cblxuICBpZiAoXG4gICAgKGFUeXBlID09PSBcIm51bWJlclwiICYmIGJUeXBlID09PSBcIm51bWJlclwiKSB8fFxuICAgIChhVHlwZSA9PT0gXCJiaWdpbnRcIiAmJiBiVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgKSB7XG4gICAgaWYgKE51bWJlci5pc05hTihhKSB8fCBOdW1iZXIuaXNOYU4oYikpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuTkFOX0NPTVBBUklTT04pO1xuICAgIHJldHVybiBhIDwgYjtcbiAgfVxuXG4gIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGlmIChpc05hTihhLmdldFRpbWUoKSkgfHwgaXNOYU4oYi5nZXRUaW1lKCkpKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLklOVkFMSURfREFURV9DT01QQVJJU09OKTtcbiAgICByZXR1cm4gYS5nZXRUaW1lKCkgPCBiLmdldFRpbWUoKTtcbiAgfVxuXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgc2YoXG4gICAgICBDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLlVOU1VQUE9SVEVEX1RZUEVTX0NPTVBBUklTT04sXG4gICAgICBnZXRUeXBlTmFtZShhKSxcbiAgICAgIGdldFR5cGVOYW1lKGIpXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgYWAgaXMgZ3JlYXRlciB0aGFuIGBiYC5cbiAqIFN1cHBvcnRzIGNvbXBhcmlzb24gZm9yIG51bWJlcnMgYW5kIERhdGUgb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0ge2FueX0gYSAtIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAqIEBwYXJhbSB7YW55fSBiIC0gVGhlIHZhbHVlIHRvIGNvbXBhcmUgYWdhaW5zdC5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBgYWAgaXMgZ3JlYXRlciB0aGFuIGBiYCwgb3RoZXJ3aXNlIGZhbHNlLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBlaXRoZXIgYGFgIG9yIGBiYCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IElmIHZhbHVlcyBhcmUgb2YgbWlzbWF0Y2hlZCBvciB1bnN1cHBvcnRlZCB0eXBlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzR3JlYXRlclRoYW4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKFtudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKGEpIHx8IFtudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKGIpKVxuICAgIHRocm93IG5ldyBFcnJvcihDT01QQVJJU09OX0VSUk9SX01FU1NBR0VTLk5VTExfT1JfVU5ERUZJTkVEX0NPTVBBUklTT04pO1xuXG4gIGNvbnN0IGFUeXBlID0gdHlwZW9mIGE7XG4gIGNvbnN0IGJUeXBlID0gdHlwZW9mIGI7XG5cbiAgaWYgKGFUeXBlICE9PSBiVHlwZSkge1xuICAgIC8vIEFsbG93IG51bWJlciBYIGJpZ2ludFxuICAgIGlmIChhVHlwZSA9PT0gXCJiaWdpbnRcIiAmJiBiVHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBOdW1iZXIoYSkgPiAoYiBhcyBudW1iZXIpO1xuICAgIGlmIChhVHlwZSA9PT0gXCJudW1iZXJcIiAmJiBiVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICAgIHJldHVybiAoYSBhcyBudW1iZXIpID4gTnVtYmVyKGIpO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIHNmKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuVFlQRV9NSVNNQVRDSF9DT01QQVJJU09OLCBhVHlwZSwgYlR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIGlmIChcbiAgICAoYVR5cGUgPT09IFwibnVtYmVyXCIgJiYgYlR5cGUgPT09IFwibnVtYmVyXCIpIHx8XG4gICAgKGFUeXBlID09PSBcImJpZ2ludFwiICYmIGJUeXBlID09PSBcImJpZ2ludFwiKVxuICApIHtcbiAgICBpZiAoTnVtYmVyLmlzTmFOKGEpIHx8IE51bWJlci5pc05hTihiKSlcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoQ09NUEFSSVNPTl9FUlJPUl9NRVNTQUdFUy5OQU5fQ09NUEFSSVNPTik7XG4gICAgcmV0dXJuIGEgPiBiO1xuICB9XG5cbiAgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgaWYgKGlzTmFOKGEuZ2V0VGltZSgpKSB8fCBpc05hTihiLmdldFRpbWUoKSkpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuSU5WQUxJRF9EQVRFX0NPTVBBUklTT04pO1xuICAgIHJldHVybiBhLmdldFRpbWUoKSA+IGIuZ2V0VGltZSgpO1xuICB9XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICBzZihcbiAgICAgIENPTVBBUklTT05fRVJST1JfTUVTU0FHRVMuVU5TVVBQT1JURURfVFlQRVNfQ09NUEFSSVNPTixcbiAgICAgIGdldFR5cGVOYW1lKGEpLFxuICAgICAgZ2V0VHlwZU5hbWUoYilcbiAgICApXG4gICk7XG59XG4iXX0=
|