@liflig/cdk 2.9.2 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/webapp/index.d.ts +1 -0
- package/lib/webapp/index.js +4 -2
- package/lib/webapp/security-headers.d.ts +18 -20
- package/lib/webapp/security-headers.js +69 -68
- package/lib/webapp/webapp.d.ts +34 -17
- package/lib/webapp/webapp.js +7 -11
- package/package.json +7 -7
package/lib/webapp/index.d.ts
CHANGED
package/lib/webapp/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Webapp = void 0;
|
|
3
|
+
exports.generateContentSecurityPolicyHeader = exports.Webapp = void 0;
|
|
4
4
|
var webapp_1 = require("./webapp");
|
|
5
5
|
Object.defineProperty(exports, "Webapp", { enumerable: true, get: function () { return webapp_1.Webapp; } });
|
|
6
|
-
|
|
6
|
+
var security_headers_1 = require("./security-headers");
|
|
7
|
+
Object.defineProperty(exports, "generateContentSecurityPolicyHeader", { enumerable: true, get: function () { return security_headers_1.generateContentSecurityPolicyHeader; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2ViYXBwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUE4QztBQUFyQyxnR0FBQSxNQUFNLE9BQUE7QUFDZix1REFBd0U7QUFBL0QsdUlBQUEsbUNBQW1DLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBXZWJhcHAsIFdlYmFwcFByb3BzIH0gZnJvbSBcIi4vd2ViYXBwXCJcbmV4cG9ydCB7IGdlbmVyYXRlQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyIH0gZnJvbSBcIi4vc2VjdXJpdHktaGVhZGVyc1wiXG4iXX0=
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import * as constructs from "constructs";
|
|
2
2
|
import * as cloudfront from "aws-cdk-lib/aws-cloudfront";
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
preload?: boolean;
|
|
13
|
-
}
|
|
3
|
+
export type WebappSecurityHeadersProps = Partial<cloudfront.ResponseSecurityHeadersBehavior & {
|
|
4
|
+
contentSecurityPolicy?: cloudfront.ResponseSecurityHeadersBehavior["contentSecurityPolicy"] & {
|
|
5
|
+
/**
|
|
6
|
+
* Whether to only monitor the effects of the content security policy without actually blocking anything.
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
reportOnly?: boolean;
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
14
12
|
export interface ContentSecurityPolicyHeader {
|
|
15
|
-
reportOnly?: boolean;
|
|
16
13
|
baseUri?: string;
|
|
17
14
|
childSrc?: string;
|
|
18
15
|
defaultSrc?: string;
|
|
@@ -28,13 +25,14 @@ export interface ContentSecurityPolicyHeader {
|
|
|
28
25
|
styleSrc?: string;
|
|
29
26
|
connectSrc?: string;
|
|
30
27
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Helper function that generates a string containing a Content Security Policy that can be
|
|
30
|
+
* used in a security header.
|
|
31
|
+
*
|
|
32
|
+
* NOTE: The string can be further extended using string concatenation for directives that aren't currently supported by the function.
|
|
33
|
+
*/
|
|
34
|
+
export declare function generateContentSecurityPolicyHeader(headerOptions?: ContentSecurityPolicyHeader): string;
|
|
37
35
|
export declare class WebappSecurityHeaders extends constructs.Construct {
|
|
38
|
-
readonly
|
|
39
|
-
constructor(scope: constructs.Construct, id: string, props:
|
|
36
|
+
readonly responseHeadersPolicy: cloudfront.ResponseHeadersPolicy;
|
|
37
|
+
constructor(scope: constructs.Construct, id: string, props: WebappSecurityHeadersProps);
|
|
40
38
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebappSecurityHeaders = void 0;
|
|
3
|
+
exports.WebappSecurityHeaders = exports.generateContentSecurityPolicyHeader = void 0;
|
|
4
|
+
const cdk = require("aws-cdk-lib");
|
|
4
5
|
const constructs = require("constructs");
|
|
5
6
|
const cloudfront = require("aws-cdk-lib/aws-cloudfront");
|
|
6
7
|
function validateCspParam(param) {
|
|
@@ -19,17 +20,23 @@ function validateCspParam(param) {
|
|
|
19
20
|
function trim(value) {
|
|
20
21
|
return value.replace(/\s+/g, " ").trim();
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Helper function that generates a string containing a Content Security Policy that can be
|
|
25
|
+
* used in a security header.
|
|
26
|
+
*
|
|
27
|
+
* NOTE: The string can be further extended using string concatenation for directives that aren't currently supported by the function.
|
|
28
|
+
*/
|
|
22
29
|
function generateContentSecurityPolicyHeader(headerOptions) {
|
|
23
30
|
const defaultValues = {
|
|
24
31
|
baseUri: "'self'",
|
|
25
|
-
childSrc: "'
|
|
26
|
-
connectSrc: "'self'",
|
|
27
|
-
defaultSrc: "'
|
|
32
|
+
childSrc: "'self'",
|
|
33
|
+
connectSrc: "'self' https:",
|
|
34
|
+
defaultSrc: "'none'",
|
|
28
35
|
fontSrc: "'self'",
|
|
29
|
-
formAction: "'
|
|
36
|
+
formAction: "'none'",
|
|
30
37
|
frameAncestors: "'none'",
|
|
31
38
|
frameSrc: "'self'",
|
|
32
|
-
imgSrc: "'self'",
|
|
39
|
+
imgSrc: "'self' data:",
|
|
33
40
|
manifestSrc: "'self'",
|
|
34
41
|
mediaSrc: "'self'",
|
|
35
42
|
objectSrc: "'none'",
|
|
@@ -53,74 +60,68 @@ function generateContentSecurityPolicyHeader(headerOptions) {
|
|
|
53
60
|
headerValue += `media-src ${trim(options.mediaSrc)};`;
|
|
54
61
|
headerValue += `object-src ${trim(options.objectSrc)};`;
|
|
55
62
|
headerValue += `script-src ${trim(options.scriptSrc)};`;
|
|
56
|
-
headerValue += `style-src ${trim(options.styleSrc)}
|
|
63
|
+
headerValue += `style-src ${trim(options.styleSrc)}`;
|
|
57
64
|
return trim(headerValue);
|
|
58
65
|
}
|
|
59
|
-
|
|
60
|
-
const defaultValues = {
|
|
61
|
-
maxAge: 63072000,
|
|
62
|
-
includeSubDomains: false,
|
|
63
|
-
preload: false,
|
|
64
|
-
};
|
|
65
|
-
const options = {
|
|
66
|
-
...defaultValues,
|
|
67
|
-
...headerOptions,
|
|
68
|
-
};
|
|
69
|
-
let headerValue = "";
|
|
70
|
-
headerValue += `max-age=${options.maxAge};`;
|
|
71
|
-
headerValue += options.preload ? "preload;" : "";
|
|
72
|
-
headerValue += options.includeSubDomains ? "includeSubDomains;" : "";
|
|
73
|
-
return trim(headerValue);
|
|
74
|
-
}
|
|
75
|
-
function generateReferrerPolicyHeader(headerOptions) {
|
|
76
|
-
const defaultValues = {
|
|
77
|
-
value: "strict-origin-when-cross-origin",
|
|
78
|
-
};
|
|
79
|
-
const options = {
|
|
80
|
-
...defaultValues,
|
|
81
|
-
...headerOptions,
|
|
82
|
-
};
|
|
83
|
-
return options.value;
|
|
84
|
-
}
|
|
85
|
-
function generateFrameOptionsHeader(headerOptions) {
|
|
86
|
-
const defaultValues = {
|
|
87
|
-
value: "DENY",
|
|
88
|
-
};
|
|
89
|
-
const options = {
|
|
90
|
-
...defaultValues,
|
|
91
|
-
...headerOptions,
|
|
92
|
-
};
|
|
93
|
-
return trim(options.value);
|
|
94
|
-
}
|
|
66
|
+
exports.generateContentSecurityPolicyHeader = generateContentSecurityPolicyHeader;
|
|
95
67
|
class WebappSecurityHeaders extends constructs.Construct {
|
|
96
68
|
constructor(scope, id, props) {
|
|
97
|
-
var _a;
|
|
98
69
|
super(scope, id);
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
70
|
+
const { contentSecurityPolicy: contentSecurityPolicyOverride, ...overrides } = props;
|
|
71
|
+
const contentSecurityPolicyCustomHeader = contentSecurityPolicyOverride || {
|
|
72
|
+
reportOnly: false,
|
|
73
|
+
contentSecurityPolicy: generateContentSecurityPolicyHeader(),
|
|
74
|
+
override: true,
|
|
75
|
+
};
|
|
76
|
+
const defaultValues = {
|
|
77
|
+
contentTypeOptions: {
|
|
78
|
+
override: true,
|
|
79
|
+
},
|
|
80
|
+
referrerPolicy: {
|
|
81
|
+
override: true,
|
|
82
|
+
referrerPolicy: cloudfront.HeadersReferrerPolicy.SAME_ORIGIN,
|
|
83
|
+
},
|
|
84
|
+
frameOptions: {
|
|
85
|
+
frameOption: cloudfront.HeadersFrameOption.DENY,
|
|
86
|
+
override: true,
|
|
87
|
+
},
|
|
88
|
+
strictTransportSecurity: {
|
|
89
|
+
override: true,
|
|
90
|
+
accessControlMaxAge: cdk.Duration.days(182.5),
|
|
91
|
+
includeSubdomains: false,
|
|
92
|
+
preload: false,
|
|
93
|
+
},
|
|
94
|
+
xssProtection: {
|
|
95
|
+
override: true,
|
|
96
|
+
protection: true,
|
|
97
|
+
modeBlock: true,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
this.responseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, "ResponseHeadersPolicy", {
|
|
101
|
+
securityHeadersBehavior: {
|
|
102
|
+
...defaultValues,
|
|
103
|
+
...overrides,
|
|
104
|
+
...(!contentSecurityPolicyCustomHeader.reportOnly && {
|
|
105
|
+
contentSecurityPolicy: {
|
|
106
|
+
contentSecurityPolicy: contentSecurityPolicyCustomHeader.contentSecurityPolicy,
|
|
107
|
+
override: contentSecurityPolicyCustomHeader.override,
|
|
108
|
+
},
|
|
109
|
+
}),
|
|
110
|
+
},
|
|
111
|
+
...(contentSecurityPolicyCustomHeader.reportOnly && {
|
|
112
|
+
customHeadersBehavior: {
|
|
113
|
+
// Report only is not supported by securityHeadersBehavior in AWS and must be defined as custom header
|
|
114
|
+
customHeaders: [
|
|
115
|
+
{
|
|
116
|
+
header: "Content-Security-Policy-Report-Only",
|
|
117
|
+
value: contentSecurityPolicyCustomHeader.contentSecurityPolicy,
|
|
118
|
+
override: contentSecurityPolicyCustomHeader.override,
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
}),
|
|
122
123
|
});
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
exports.WebappSecurityHeaders = WebappSecurityHeaders;
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvc2VjdXJpdHktaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMseURBQXdEO0FBeUN4RCxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7S0FDekQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtLQUN6RDtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0tBQzFEO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsNERBQTREO0FBQzVELFNBQVMsSUFBSSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsU0FBUyxtQ0FBbUMsQ0FDMUMsYUFBMkM7SUFFM0MsTUFBTSxhQUFhLEdBQUc7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsY0FBYyxFQUFFLFFBQVE7UUFDeEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FB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WUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNyRCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUF2Q0Qsc0RBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJhbWVPcHRpb25zSGVhZGVyIHtcbiAgdmFsdWU/OiBcIkRFTllcIiB8IFwiU0FNRU9SSUdJTlwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmZXJyZXJQb2xpY3lIZWFkZXIge1xuICB2YWx1ZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyIHtcbiAgbWF4QWdlPzogbnVtYmVyXG4gIGluY2x1ZGVTdWJEb21haW5zPzogYm9vbGVhblxuICBwcmVsb2FkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlciB7XG4gIHJlcG9ydE9ubHk/OiBib29sZWFuXG4gIGJhc2VVcmk/OiBzdHJpbmdcbiAgY2hpbGRTcmM/OiBzdHJpbmdcbiAgZGVmYXVsdFNyYz86IHN0cmluZ1xuICBmb250U3JjPzogc3RyaW5nXG4gIGZyYW1lU3JjPzogc3RyaW5nXG4gIGZvcm1BY3Rpb24/OiBzdHJpbmdcbiAgZnJhbWVBbmNlc3RvcnM/OiBzdHJpbmdcbiAgaW1nU3JjPzogc3RyaW5nXG4gIG1hbmlmZXN0U3JjPzogc3RyaW5nXG4gIG1lZGlhU3JjPzogc3RyaW5nXG4gIG9iamVjdFNyYz86IHN0cmluZ1xuICBzY3JpcHRTcmM/OiBzdHJpbmdcbiAgc3R5bGVTcmM/OiBzdHJpbmdcbiAgY29ubmVjdFNyYz86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SGVhZGVycyB7XG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclxuICBzdHJpY3RUcmFuc3BvcnRTZWN1cml0eT86IFN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyXG4gIHJlZmVycmVyUG9saWN5PzogUmVmZXJyZXJQb2xpY3lIZWFkZXJcbiAgZnJhbWVPcHRpb25zPzogRnJhbWVPcHRpb25zSGVhZGVyXG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ3NwUGFyYW0ocGFyYW06IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXJhbS5pbmRleE9mKCdcIicpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKCdDU1Agb3ZlcnJpZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIgXCInKVxuICB9XG5cbiAgaWYgKHBhcmFtLmluZGV4T2YoXCI7XCIpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKFwiQ1NQIG92ZXJyaWRlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIDtcIilcbiAgfVxuXG4gIGlmIChwYXJhbS5pbmRleE9mKFwiXFxcXFwiKSAhPT0gLTEpIHtcbiAgICB0aHJvdyBFcnJvcihcIkNTUCBvdmVycmlkZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciBcXFxcXCIpXG4gIH1cblxuICByZXR1cm4gcGFyYW1cbn1cblxuLyogUmVwbGFjZSBhbGwgd2hpdGVzcGFjZSBpbiBhIHN0cmluZyB3aXRoIGEgc2luZ2xlIHNwYWNlICovXG5mdW5jdGlvbiB0cmltKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFxzKy9nLCBcIiBcIikudHJpbSgpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyKFxuICBoZWFkZXJPcHRpb25zPzogQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyLFxuKSB7XG4gIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSB7XG4gICAgYmFzZVVyaTogXCInc2VsZidcIixcbiAgICBjaGlsZFNyYzogXCInbm9uZSdcIixcbiAgICBjb25uZWN0U3JjOiBcIidzZWxmJ1wiLFxuICAgIGRlZmF1bHRTcmM6IFwiJ3NlbGYnXCIsXG4gICAgZm9udFNyYzogXCInc2VsZidcIixcbiAgICBmb3JtQWN0aW9uOiBcIidzZWxmJ1wiLFxuICAgIGZyYW1lQW5jZXN0b3JzOiBcIidub25lJ1wiLFxuICAgIGZyYW1lU3JjOiBcIidzZWxmJ1wiLFxuICAgIGltZ1NyYzogXCInc2VsZidcIixcbiAgICBtYW5pZmVzdFNyYzogXCInc2VsZidcIixcbiAgICBtZWRpYVNyYzogXCInc2VsZidcIixcbiAgICBvYmplY3RTcmM6IFwiJ25vbmUnXCIsXG4gICAgc2NyaXB0U3JjOiBcIidzZWxmJ1wiLFxuICAgIHN0eWxlU3JjOiBcIidzZWxmJ1wiLFxuICB9XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cblxuICBPYmplY3QudmFsdWVzKG9wdGlvbnMpLmZvckVhY2goXG4gICAgKHYpID0+IHR5cGVvZiB2ID09PSBcInN0cmluZ1wiICYmIHZhbGlkYXRlQ3NwUGFyYW0odiksXG4gIClcblxuICBsZXQgaGVhZGVyVmFsdWUgPSBcIlwiXG4gIGhlYWRlclZhbHVlICs9IGBiYXNlLXVyaSAke3RyaW0ob3B0aW9ucy5iYXNlVXJpKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgY2hpbGQtc3JjICR7dHJpbShvcHRpb25zLmNoaWxkU3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgY29ubmVjdC1zcmMgJHt0cmltKG9wdGlvbnMuY29ubmVjdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYGRlZmF1bHQtc3JjICR7dHJpbShvcHRpb25zLmRlZmF1bHRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBmb250LXNyYyAke3RyaW0ob3B0aW9ucy5mb250U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgZnJhbWUtc3JjICR7dHJpbShvcHRpb25zLmZyYW1lU3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgaW1nLXNyYyAke3RyaW0ob3B0aW9ucy5pbWdTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBtYW5pZmVzdC1zcmMgJHt0cmltKG9wdGlvbnMubWFuaWZlc3RTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBtZWRpYS1zcmMgJHt0cmltKG9wdGlvbnMubWVkaWFTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBvYmplY3Qtc3JjICR7dHJpbShvcHRpb25zLm9iamVjdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYHNjcmlwdC1zcmMgJHt0cmltKG9wdGlvbnMuc2NyaXB0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgc3R5bGUtc3JjICR7dHJpbShvcHRpb25zLnN0eWxlU3JjKX07YFxuXG4gIHJldHVybiB0cmltKGhlYWRlclZhbHVlKVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICBoZWFkZXJPcHRpb25zPzogU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIsXG4pIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICBtYXhBZ2U6IDYzMDcyMDAwLFxuICAgIGluY2x1ZGVTdWJEb21haW5zOiBmYWxzZSxcbiAgICBwcmVsb2FkOiBmYWxzZSxcbiAgfVxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuICBsZXQgaGVhZGVyVmFsdWUgPSBcIlwiXG4gIGhlYWRlclZhbHVlICs9IGBtYXgtYWdlPSR7b3B0aW9ucy5tYXhBZ2V9O2BcbiAgaGVhZGVyVmFsdWUgKz0gb3B0aW9ucy5wcmVsb2FkID8gXCJwcmVsb2FkO1wiIDogXCJcIlxuICBoZWFkZXJWYWx1ZSArPSBvcHRpb25zLmluY2x1ZGVTdWJEb21haW5zID8gXCJpbmNsdWRlU3ViRG9tYWlucztcIiA6IFwiXCJcbiAgcmV0dXJuIHRyaW0oaGVhZGVyVmFsdWUpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlUmVmZXJyZXJQb2xpY3lIZWFkZXIoaGVhZGVyT3B0aW9ucz86IFJlZmVycmVyUG9saWN5SGVhZGVyKSB7XG4gIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSB7XG4gICAgdmFsdWU6IFwic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpblwiLFxuICB9XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAuLi5oZWFkZXJPcHRpb25zLFxuICB9XG4gIHJldHVybiBvcHRpb25zLnZhbHVlXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRnJhbWVPcHRpb25zSGVhZGVyKGhlYWRlck9wdGlvbnM/OiBGcmFtZU9wdGlvbnNIZWFkZXIpIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICB2YWx1ZTogXCJERU5ZXCIsXG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cbiAgcmV0dXJuIHRyaW0ob3B0aW9ucy52YWx1ZSlcbn1cblxuZXhwb3J0IGNsYXNzIFdlYmFwcFNlY3VyaXR5SGVhZGVycyBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5SGVhZGVyc0Z1bmN0aW9uOiBjbG91ZGZyb250LkZ1bmN0aW9uXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjdXJpdHlIZWFkZXJzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgY3NwSGVhZGVyTmFtZSA9IHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeT8ucmVwb3J0T25seVxuICAgICAgPyBcImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5XCJcbiAgICAgIDogXCJjb250ZW50LXNlY3VyaXR5LXBvbGljeVwiXG5cbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBnZW5lcmF0ZUNvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcihcbiAgICAgIHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICApXG4gICAgY29uc3Qgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHkgPSBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICAgICAgcHJvcHMuc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHksXG4gICAgKVxuICAgIGNvbnN0IHJlZmVycmVyUG9saWN5ID0gZ2VuZXJhdGVSZWZlcnJlclBvbGljeUhlYWRlcihwcm9wcy5yZWZlcnJlclBvbGljeSlcbiAgICBjb25zdCBmcmFtZU9wdGlvbnMgPSBnZW5lcmF0ZUZyYW1lT3B0aW9uc0hlYWRlcihwcm9wcy5mcmFtZU9wdGlvbnMpXG5cbiAgICBjb25zdCBsYW1iZGFDb2RlID0gYGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHtcbiAgICAgIHZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlO1xuICAgICAgdmFyIGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzO1xuICAgICAgaGVhZGVyc1sncmVmZXJyZXItcG9saWN5J10gPSB7dmFsdWU6ICcke3JlZmVycmVyUG9saWN5fSd9O1xuICAgICAgaGVhZGVyc1snc3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSddID0ge3ZhbHVlOiAnJHtzdHJpY3RUcmFuc3BvcnRTZWN1cml0eX0nfTtcbiAgICAgIGhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHt2YWx1ZTogJ25vc25pZmYnfTtcbiAgICAgIGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnJHtmcmFtZU9wdGlvbnN9J307XG4gICAgICBoZWFkZXJzWyd4LXhzcy1wcm90ZWN0aW9uJ10gPSB7dmFsdWU6ICcxOyBtb2RlPWJsb2NrJ307XG4gICAgICBoZWFkZXJzWycke2NzcEhlYWRlck5hbWV9J10gPSB7dmFsdWU6IFwiJHtjb250ZW50U2VjdXJpdHlQb2xpY3l9XCJ9O1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1gXG5cbiAgICAvLyBIYXJkY29kZWQgbG9naWNhbCBJRCBkdWUgdG8gYnVnOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gICAgY29uc3QgZnVuY3Rpb25JZCA9IGBGdW5jdGlvbiR7dGhpcy5ub2RlLmFkZHJ9YFxuXG4gICAgdGhpcy5zZWN1cml0eUhlYWRlcnNGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHRoaXMsIGZ1bmN0aW9uSWQsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICAgIGNvZGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUobGFtYmRhQ29kZSksXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvc2VjdXJpdHktaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBa0M7QUFDbEMseUNBQXdDO0FBQ3hDLHlEQUF3RDtBQStCeEQsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhO0lBQ3JDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM3QixNQUFNLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBO0tBQ3pEO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7S0FDekQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQTtLQUMxRDtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxTQUFTLElBQUksQ0FBQyxLQUFhO0lBQ3pCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDMUMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUNBQW1DLENBQ2pELGFBQTJDO0lBRTNDLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFVBQVUsRUFBRSxlQUFlO1FBQzNCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGNBQWMsRUFBRSxRQUFRO1FBQ3hCLFFBQVEsRUFBRSxRQUFRO1FB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QWlCLEVBQUUsS0FBSztnQkFDeEIsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELGFBQWEsRUFBRTtnQkFDYixRQUFRLEVBQUUsSUFBSTtnQkFDZCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRixDQUFBO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUMvRCxJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCO1lBQ0UsdUJBQXVCLEVBQUU7Z0JBQ3ZCLEdBQUcsYUFBYTtnQkFDaEIsR0FBRyxTQUFTO2dCQUNaLEdBQUcsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLFVBQVUsSUFBSTtvQkFDbkQscUJBQXFCLEVBQUU7d0JBQ3JCLHFCQUFxQixFQUNuQixpQ0FBaUMsQ0FBQyxxQkFBcUI7d0JBQ3pELFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQyxRQUFRO3FCQUNyRDtpQkFDRixDQUFDO2FBQ0g7WUFDRCxHQUFHLENBQUMsaUNBQWlDLENBQUMsVUFBVSxJQUFJO2dCQUNsRCxxQkFBcUIsRUFBRTtvQkFDckIsc0dBQXNHO29CQUN0RyxhQUFhLEVBQUU7d0JBQ2I7NEJBQ0UsTUFBTSxFQUFFLHFDQUFxQzs0QkFDN0MsS0FBSyxFQUFFLGlDQUFpQyxDQUFDLHFCQUFxQjs0QkFDOUQsUUFBUSxFQUFFLGlDQUFpQyxDQUFDLFFBQVE7eUJBQ3JEO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztTQUNILENBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQS9FRCxzREErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIlxuXG5leHBvcnQgdHlwZSBXZWJhcHBTZWN1cml0eUhlYWRlcnNQcm9wcyA9IFBhcnRpYWw8XG4gIGNsb3VkZnJvbnQuUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciAmIHtcbiAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBjbG91ZGZyb250LlJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3JbXCJjb250ZW50U2VjdXJpdHlQb2xpY3lcIl0gJiB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZXRoZXIgdG8gb25seSBtb25pdG9yIHRoZSBlZmZlY3RzIG9mIHRoZSBjb250ZW50IHNlY3VyaXR5IHBvbGljeSB3aXRob3V0IGFjdHVhbGx5IGJsb2NraW5nIGFueXRoaW5nLlxuICAgICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgICAqL1xuICAgICAgcmVwb3J0T25seT86IGJvb2xlYW5cbiAgICB9XG4gIH1cbj5cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIge1xuICBiYXNlVXJpPzogc3RyaW5nXG4gIGNoaWxkU3JjPzogc3RyaW5nXG4gIGRlZmF1bHRTcmM/OiBzdHJpbmdcbiAgZm9udFNyYz86IHN0cmluZ1xuICBmcmFtZVNyYz86IHN0cmluZ1xuICBmb3JtQWN0aW9uPzogc3RyaW5nXG4gIGZyYW1lQW5jZXN0b3JzPzogc3RyaW5nXG4gIGltZ1NyYz86IHN0cmluZ1xuICBtYW5pZmVzdFNyYz86IHN0cmluZ1xuICBtZWRpYVNyYz86IHN0cmluZ1xuICBvYmplY3RTcmM/OiBzdHJpbmdcbiAgc2NyaXB0U3JjPzogc3RyaW5nXG4gIHN0eWxlU3JjPzogc3RyaW5nXG4gIGNvbm5lY3RTcmM/OiBzdHJpbmdcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDc3BQYXJhbShwYXJhbTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHBhcmFtLmluZGV4T2YoJ1wiJykgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoJ0NTUCBvdmVycmlkZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciBcIicpXG4gIH1cblxuICBpZiAocGFyYW0uaW5kZXhPZihcIjtcIikgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJDU1Agb3ZlcnJpZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIgO1wiKVxuICB9XG5cbiAgaWYgKHBhcmFtLmluZGV4T2YoXCJcXFxcXCIpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKFwiQ1NQIG92ZXJyaWRlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIFxcXFxcIilcbiAgfVxuXG4gIHJldHVybiBwYXJhbVxufVxuXG4vKiBSZXBsYWNlIGFsbCB3aGl0ZXNwYWNlIGluIGEgc3RyaW5nIHdpdGggYSBzaW5nbGUgc3BhY2UgKi9cbmZ1bmN0aW9uIHRyaW0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csIFwiIFwiKS50cmltKClcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgYSBzdHJpbmcgY29udGFpbmluZyBhIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRoYXQgY2FuIGJlXG4gKiB1c2VkIGluIGEgc2VjdXJpdHkgaGVhZGVyLlxuICpcbiAqIE5PVEU6IFRoZSBzdHJpbmcgY2FuIGJlIGZ1cnRoZXIgZXh0ZW5kZWQgdXNpbmcgc3RyaW5nIGNvbmNhdGVuYXRpb24gZm9yIGRpcmVjdGl2ZXMgdGhhdCBhcmVuJ3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUNvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcihcbiAgaGVhZGVyT3B0aW9ucz86IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcixcbikge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0ge1xuICAgIGJhc2VVcmk6IFwiJ3NlbGYnXCIsXG4gICAgY2hpbGRTcmM6IFwiJ3NlbGYnXCIsXG4gICAgY29ubmVjdFNyYzogXCInc2VsZicgaHR0cHM6XCIsXG4gICAgZGVmYXVsdFNyYzogXCInbm9uZSdcIixcbiAgICBmb250U3JjOiBcIidzZWxmJ1wiLFxuICAgIGZvcm1BY3Rpb246IFwiJ25vbmUnXCIsXG4gICAgZnJhbWVBbmNlc3RvcnM6IFwiJ25vbmUnXCIsXG4gICAgZnJhbWVTcmM6IFwiJ3NlbGYnXCIsXG4gICAgaW1nU3JjOiBcIidzZWxmJyBkYXRhOlwiLFxuICAgIG1hbmlmZXN0U3JjOiBcIidzZWxmJ1wiLFxuICAgIG1lZGlhU3JjOiBcIidzZWxmJ1wiLFxuICAgIG9iamVjdFNyYzogXCInbm9uZSdcIixcbiAgICBzY3JpcHRTcmM6IFwiJ3NlbGYnXCIsXG4gICAgc3R5bGVTcmM6IFwiJ3NlbGYnXCIsXG4gIH1cblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuXG4gIE9iamVjdC52YWx1ZXMob3B0aW9ucykuZm9yRWFjaChcbiAgICAodikgPT4gdHlwZW9mIHYgPT09IFwic3RyaW5nXCIgJiYgdmFsaWRhdGVDc3BQYXJhbSh2KSxcbiAgKVxuXG4gIGxldCBoZWFkZXJWYWx1ZSA9IFwiXCJcbiAgaGVhZGVyVmFsdWUgKz0gYGJhc2UtdXJpICR7dHJpbShvcHRpb25zLmJhc2VVcmkpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBjaGlsZC1zcmMgJHt0cmltKG9wdGlvbnMuY2hpbGRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBjb25uZWN0LXNyYyAke3RyaW0ob3B0aW9ucy5jb25uZWN0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgZGVmYXVsdC1zcmMgJHt0cmltKG9wdGlvbnMuZGVmYXVsdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYGZvbnQtc3JjICR7dHJpbShvcHRpb25zLmZvbnRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBmcmFtZS1zcmMgJHt0cmltKG9wdGlvbnMuZnJhbWVTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBpbWctc3JjICR7dHJpbShvcHRpb25zLmltZ1NyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1hbmlmZXN0LXNyYyAke3RyaW0ob3B0aW9ucy5tYW5pZmVzdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1lZGlhLXNyYyAke3RyaW0ob3B0aW9ucy5tZWRpYVNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG9iamVjdC1zcmMgJHt0cmltKG9wdGlvbnMub2JqZWN0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgc2NyaXB0LXNyYyAke3RyaW0ob3B0aW9ucy5zY3JpcHRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBzdHlsZS1zcmMgJHt0cmltKG9wdGlvbnMuc3R5bGVTcmMpfWBcblxuICByZXR1cm4gdHJpbShoZWFkZXJWYWx1ZSlcbn1cbmV4cG9ydCBjbGFzcyBXZWJhcHBTZWN1cml0eUhlYWRlcnMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3k6IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFdlYmFwcFNlY3VyaXR5SGVhZGVyc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCB7XG4gICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IGNvbnRlbnRTZWN1cml0eVBvbGljeU92ZXJyaWRlLFxuICAgICAgLi4ub3ZlcnJpZGVzXG4gICAgfSA9IHByb3BzXG5cbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3lDdXN0b21IZWFkZXIgPSBjb250ZW50U2VjdXJpdHlQb2xpY3lPdmVycmlkZSB8fCB7XG4gICAgICByZXBvcnRPbmx5OiBmYWxzZSxcbiAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeTogZ2VuZXJhdGVDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIoKSxcbiAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZXM6IE9taXQ8XG4gICAgICBjbG91ZGZyb250LlJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsXG4gICAgICBcImNvbnRlbnRTZWN1cml0eVBvbGljeVwiXG4gICAgPiA9IHtcbiAgICAgIGNvbnRlbnRUeXBlT3B0aW9uczoge1xuICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZWZlcnJlclBvbGljeToge1xuICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgcmVmZXJyZXJQb2xpY3k6IGNsb3VkZnJvbnQuSGVhZGVyc1JlZmVycmVyUG9saWN5LlNBTUVfT1JJR0lOLFxuICAgICAgfSxcbiAgICAgIGZyYW1lT3B0aW9uczoge1xuICAgICAgICBmcmFtZU9wdGlvbjogY2xvdWRmcm9udC5IZWFkZXJzRnJhbWVPcHRpb24uREVOWSxcbiAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICB9LFxuICAgICAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk6IHtcbiAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xNYXhBZ2U6IGNkay5EdXJhdGlvbi5kYXlzKDE4Mi41KSxcbiAgICAgICAgaW5jbHVkZVN1YmRvbWFpbnM6IGZhbHNlLFxuICAgICAgICBwcmVsb2FkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB4c3NQcm90ZWN0aW9uOiB7XG4gICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICBwcm90ZWN0aW9uOiB0cnVlLFxuICAgICAgICBtb2RlQmxvY2s6IHRydWUsXG4gICAgICB9LFxuICAgIH1cblxuICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gbmV3IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5KFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzcG9uc2VIZWFkZXJzUG9saWN5XCIsXG4gICAgICB7XG4gICAgICAgIHNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yOiB7XG4gICAgICAgICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAgICAgICAuLi5vdmVycmlkZXMsXG4gICAgICAgICAgLi4uKCFjb250ZW50U2VjdXJpdHlQb2xpY3lDdXN0b21IZWFkZXIucmVwb3J0T25seSAmJiB7XG4gICAgICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5OlxuICAgICAgICAgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeUN1c3RvbUhlYWRlci5jb250ZW50U2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICAgIG92ZXJyaWRlOiBjb250ZW50U2VjdXJpdHlQb2xpY3lDdXN0b21IZWFkZXIub3ZlcnJpZGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgICAuLi4oY29udGVudFNlY3VyaXR5UG9saWN5Q3VzdG9tSGVhZGVyLnJlcG9ydE9ubHkgJiYge1xuICAgICAgICAgIGN1c3RvbUhlYWRlcnNCZWhhdmlvcjoge1xuICAgICAgICAgICAgLy8gUmVwb3J0IG9ubHkgaXMgbm90IHN1cHBvcnRlZCBieSBzZWN1cml0eUhlYWRlcnNCZWhhdmlvciBpbiBBV1MgYW5kIG11c3QgYmUgZGVmaW5lZCBhcyBjdXN0b20gaGVhZGVyXG4gICAgICAgICAgICBjdXN0b21IZWFkZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBoZWFkZXI6IFwiQ29udGVudC1TZWN1cml0eS1Qb2xpY3ktUmVwb3J0LU9ubHlcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogY29udGVudFNlY3VyaXR5UG9saWN5Q3VzdG9tSGVhZGVyLmNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZTogY29udGVudFNlY3VyaXR5UG9saWN5Q3VzdG9tSGVhZGVyLm92ZXJyaWRlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgKVxuICB9XG59XG4iXX0=
|
package/lib/webapp/webapp.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import * as origins from "aws-cdk-lib/aws-cloudfront-origins";
|
|
|
5
5
|
import * as r53 from "aws-cdk-lib/aws-route53";
|
|
6
6
|
import * as s3 from "aws-cdk-lib/aws-s3";
|
|
7
7
|
import * as webappDeploy from "@capraconsulting/webapp-deploy-lambda";
|
|
8
|
-
import {
|
|
8
|
+
import { WebappSecurityHeadersProps } from "./security-headers";
|
|
9
9
|
export interface WebappProps {
|
|
10
10
|
/**
|
|
11
11
|
* ACM certificate that covers the specifeid domain names.
|
|
@@ -42,27 +42,44 @@ export interface WebappProps {
|
|
|
42
42
|
*/
|
|
43
43
|
webAclErrorPagePath?: string;
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* If enabled, the default behavior is to add the following headers with fairly strict defaults. Most of the headers can be customized:
|
|
48
|
-
* - Content-Security-Policy
|
|
49
|
-
* - Referrer-Policy
|
|
50
|
-
* - Strict-Transport-Security
|
|
51
|
-
* - X-Content-Type-Options
|
|
52
|
-
* - X-Frame-Options
|
|
53
|
-
* - X-XSS-Protection
|
|
54
|
-
*
|
|
55
|
-
* @default - No security headers will be added to responses
|
|
45
|
+
* Enable, disable or configure security headers for the web application
|
|
46
|
+
* @default - a set of strict security headers are configured by default
|
|
56
47
|
*/
|
|
57
|
-
|
|
48
|
+
securityHeaders?: {
|
|
49
|
+
/**
|
|
50
|
+
* Enable adding common security headers to CloudFront responses
|
|
51
|
+
*
|
|
52
|
+
* If enabled, the default behavior is to add the following headers with fairly strict defaults. Most of the headers can be customized:
|
|
53
|
+
* - Content-Security-Policy
|
|
54
|
+
* - Referrer-Policy
|
|
55
|
+
* - Strict-Transport-Security
|
|
56
|
+
* - X-Content-Type-Options
|
|
57
|
+
* - X-Frame-Options
|
|
58
|
+
* - X-XSS-Protection
|
|
59
|
+
*
|
|
60
|
+
*
|
|
61
|
+
* @default true
|
|
62
|
+
*/
|
|
63
|
+
enabled?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Security headers overrides.
|
|
66
|
+
*
|
|
67
|
+
* Used to override certain default security header values if the webapp requires different settings than the defaults.
|
|
68
|
+
*
|
|
69
|
+
* NOTE: If you need to disable certain headers, you must explicitly set them to undefined
|
|
70
|
+
*
|
|
71
|
+
* @default - A set of strict security header values will be used
|
|
72
|
+
*/
|
|
73
|
+
behaviorOverrides?: WebappSecurityHeadersProps;
|
|
74
|
+
};
|
|
58
75
|
/**
|
|
59
|
-
*
|
|
76
|
+
* Cloudfront behavior overrides.
|
|
60
77
|
*
|
|
61
|
-
* Used to override
|
|
78
|
+
* Used to override cloudfront behavior
|
|
62
79
|
*
|
|
63
|
-
*
|
|
80
|
+
* NOTE: ResponseHeadersPolicy defined here will overwrite BOTH the default security headers policy and
|
|
81
|
+
* any values specified in securityHeaders.behaviorOverrides.
|
|
64
82
|
*/
|
|
65
|
-
securityHeadersOverrides?: SecurityHeaders;
|
|
66
83
|
overrideCloudFrontBehaviourOptions?: Partial<cloudfront.BehaviorOptions>;
|
|
67
84
|
}
|
|
68
85
|
/**
|
package/lib/webapp/webapp.js
CHANGED
|
@@ -19,6 +19,7 @@ const security_headers_1 = require("./security-headers");
|
|
|
19
19
|
*/
|
|
20
20
|
class Webapp extends constructs.Construct {
|
|
21
21
|
constructor(scope, id, props) {
|
|
22
|
+
var _a, _b, _c;
|
|
22
23
|
super(scope, id);
|
|
23
24
|
if (props.webAclErrorPagePath != null && props.webAclId == null) {
|
|
24
25
|
throw new Error("webAclErrorPagePath set but webAclId is missing");
|
|
@@ -62,23 +63,18 @@ class Webapp extends constructs.Construct {
|
|
|
62
63
|
responsePagePath: props.webAclErrorPagePath,
|
|
63
64
|
});
|
|
64
65
|
}
|
|
65
|
-
let
|
|
66
|
-
if (props.
|
|
66
|
+
let responseHeadersPolicy;
|
|
67
|
+
if ((_b = (_a = props.securityHeaders) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : true) {
|
|
67
68
|
const securityHeaders = new security_headers_1.WebappSecurityHeaders(this, "SecurityHeaders", {
|
|
68
|
-
...props.
|
|
69
|
+
...(_c = props.securityHeaders) === null || _c === void 0 ? void 0 : _c.behaviorOverrides,
|
|
69
70
|
});
|
|
70
|
-
|
|
71
|
-
{
|
|
72
|
-
function: securityHeaders.securityHeadersFunction,
|
|
73
|
-
eventType: cloudfront.FunctionEventType.VIEWER_RESPONSE,
|
|
74
|
-
},
|
|
75
|
-
];
|
|
71
|
+
responseHeadersPolicy = securityHeaders.responseHeadersPolicy;
|
|
76
72
|
}
|
|
77
73
|
this.distribution = new cloudfront.Distribution(this, "Distribution", {
|
|
78
74
|
defaultBehavior: {
|
|
79
75
|
origin: this.webappOrigin,
|
|
80
76
|
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
81
|
-
|
|
77
|
+
responseHeadersPolicy: responseHeadersPolicy,
|
|
82
78
|
...props.overrideCloudFrontBehaviourOptions,
|
|
83
79
|
},
|
|
84
80
|
defaultRootObject: "index.html",
|
|
@@ -118,4 +114,4 @@ class Webapp extends constructs.Construct {
|
|
|
118
114
|
}
|
|
119
115
|
}
|
|
120
116
|
exports.Webapp = Webapp;
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dlYmFwcC93ZWJhcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBRXhDLHlEQUF3RDtBQUN4RCw4REFBNkQ7QUFDN0QsMkNBQTBDO0FBQzFDLCtDQUE4QztBQUM5Qyx3REFBdUQ7QUFDdkQseUNBQXdDO0FBQ3hDLHNFQUFxRTtBQUNyRSx5REFBMkU7QUE4RDNFOzs7Ozs7R0FNRztBQUNILE1BQWEsTUFBTyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBSzlDLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1NBQ25FO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoRCxVQUFVLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVU7U0FDM0MsQ0FBQyxDQUFBO1FBRUYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FDOUQsSUFBSSxFQUNKLHNCQUFzQixDQUN2QixDQUFBO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FDbkMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztZQUN6QixVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUM7U0FDbEQs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LENBQUUsZ0JBQWdCLG1DQUFJLEtBQUssQ0FBQTtRQUV6RCxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM1QyxNQUFNLEVBQUUsTUFBTTtZQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM1QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDekQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBeklELHdCQXlJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY2VydGlmaWNhdGVtYW5hZ2VyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCJcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250XCJcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250LW9yaWdpbnNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIHI1MyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIlxuaW1wb3J0ICogYXMgcjUzdCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIHdlYmFwcERlcGxveSBmcm9tIFwiQGNhcHJhY29uc3VsdGluZy93ZWJhcHAtZGVwbG95LWxhbWJkYVwiXG5pbXBvcnQgeyBXZWJhcHBTZWN1cml0eUhlYWRlcnMsIFNlY3VyaXR5SGVhZGVycyB9IGZyb20gXCIuL3NlY3VyaXR5LWhlYWRlcnNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYmFwcFByb3BzIHtcbiAgLyoqXG4gICAqIEFDTSBjZXJ0aWZpY2F0ZSB0aGF0IGNvdmVycyB0aGUgc3BlY2lmZWlkIGRvbWFpbiBuYW1lcy5cbiAgICpcbiAgICogVGhpcyBjZXJ0aWZpY2F0ZSBtdXN0IGJlIGNyZWF0ZWQgaW4gdGhlIHJlZ2lvbiB1cy1lYXN0LTEuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIENsb3VkRnJvbnQgd2lsZGNhcmQgY2VydGlmaWNhdGUgKCouY2xvdWRmcm9udC5uZXQpIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIGNsb3VkZnJvbnRDZXJ0aWZpY2F0ZT86IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGVcbiAgLyoqXG4gICAqIExpc3Qgb2YgZG9tYWluIG5hbWVzIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbiBzaG91bGQgdXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEdlbmVyYXRlZCBuYW1lIChlLmcuLCBkMTExMTExYWJjZGVmOC5jbG91ZGZyb250Lm5ldClcbiAgICovXG4gIGRvbWFpbk5hbWVzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIEFXUyBXQUYgd2ViIEFDTCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIFRvIHNwZWNpZnkgYSB3ZWIgQUNMIGNyZWF0ZWQgdXNpbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEFXUyBXQUYsIHVzZSB0aGUgQUNMIEFSTiwgZm9yIGV4YW1wbGVcbiAgICogYGFybjphd3M6d2FmdjI6dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpnbG9iYWwvd2ViYWNsL0V4YW1wbGVXZWJBQ0wvNDczZTY0ZmQtZjMwYi00NzY1LTgxYTAtNjJhZDk2ZGQxNjdhYC5cbiAgICogVG8gc3BlY2lmeSBhIHdlYiBBQ0wgY3JlYXRlZCB1c2luZyBBV1MgV0FGIENsYXNzaWMsIHVzZSB0aGUgQUNMIElELCBmb3IgZXhhbXBsZSBgNDczZTY0ZmQtZjMwYi00NzY1LTgxYTAtNjJhZDk2ZGQxNjdhYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBBV1MgV2ViIEFwcGxpY2F0aW9uIEZpcmV3YWxsIHdlYiBhY2Nlc3MgY29udHJvbCBsaXN0ICh3ZWIgQUNMKS5cbiAgICovXG4gIHdlYkFjbElkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgc2VydmVkIGZvciB1c2VycyBub3QgYWxsb3dlZCB0byBhY2Nlc3NcbiAgICogdGhlIHNpdGUgd2hlbiB1c2luZyBXQUYuIEUuZy4gXCIvNHh4LWVycm9ycy80MDMtZm9yYmlkZGVuLmh0bWxcIi5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoaXMgd2lsIGNhdGNoIGFueSA0MDMgZXJyb3JzIGZyb20gdGhlIG9yaWdpbihzKSwgdGhhdCBtaWdodFxuICAgKiBjb3ZlciBhbnkgb3RoZXIgYmVoYXZpb3JzIGlzIGFkZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBwYWdlIGZvciA0MDMgZXJyb3JzLlxuICAgKi9cbiAgd2ViQWNsRXJyb3JQYWdlUGF0aD86IHN0cmluZ1xuICAvKipcbiAgICogRW5hYmxlIGFkZGluZyBjb21tb24gc2VjdXJpdHkgaGVhZGVycyB0byBDbG91ZEZyb250IHJlc3BvbnNlcyB1c2luZyBhIENsb3VkRnJvbnQgRnVuY3Rpb24uXG4gICAqXG4gICAqIElmIGVuYWJsZWQsIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGFkZCB0aGUgZm9sbG93aW5nIGhlYWRlcnMgd2l0aCBmYWlybHkgc3RyaWN0IGRlZmF1bHRzLiBNb3N0IG9mIHRoZSBoZWFkZXJzIGNhbiBiZSBjdXN0b21pemVkOlxuICAgKiAtIENvbnRlbnQtU2VjdXJpdHktUG9saWN5XG4gICAqIC0gUmVmZXJyZXItUG9saWN5XG4gICAqIC0gU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eVxuICAgKiAtIFgtQ29udGVudC1UeXBlLU9wdGlvbnNcbiAgICogLSBYLUZyYW1lLU9wdGlvbnNcbiAgICogLSBYLVhTUy1Qcm90ZWN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gc2VjdXJpdHkgaGVhZGVycyB3aWxsIGJlIGFkZGVkIHRvIHJlc3BvbnNlc1xuICAgKi9cbiAgZW5hYmxlU2VjdXJpdHlIZWFkZXJzPzogYm9vbGVhblxuICAvKipcbiAgICogU2VjdXJpdHkgaGVhZGVycyBvdmVycmlkZXMuXG4gICAqXG4gICAqIFVzZWQgdG8gb3ZlcnJpZGUgY2VydGFpbiBzZWN1cml0eSBoZWFkZXIgdmFsdWVzIGlmIHRoZSB3ZWJhcHAgcmVxdWlyZXMgbW9yZSBsYXggc2V0dGluZ3MgY29tcGFyZWQgdG8gdGhlIGRlZmF1bHRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEEgc2V0IG9mIHN0cmljdCBzZWN1cml0eSBoZWFkZXIgdmFsdWVzIHdpbGwgYmUgdXNlZFxuICAgKi9cbiAgc2VjdXJpdHlIZWFkZXJzT3ZlcnJpZGVzPzogU2VjdXJpdHlIZWFkZXJzXG4gIG92ZXJyaWRlQ2xvdWRGcm9udEJlaGF2aW91ck9wdGlvbnM/OiBQYXJ0aWFsPGNsb3VkZnJvbnQuQmVoYXZpb3JPcHRpb25zPlxufVxuXG4vKipcbiAqIENsb3VkRnJvbnQgZm9yIGEgU2luZ2xlLVBhZ2UtQXBwbGljYXRpb24uXG4gKlxuICogQSBidWNrZXQgd2lsbCBiZSBjcmVhdGVkIGFuZCBpdHMgcHJlZml4IFwid2ViXCIgaXMgdXNlZCB0b1xuICogc2VydmUgZmlsZXMuIFVzZSB0aGUgYWRkRGVwbG95bWVudCBtZXRob2QgdG8gYXV0b21hdGljYWxseVxuICogZGVwbG95IGZpbGVzIGFzIHBhcnQgdGhlIHRoZSBDREsgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFdlYmFwcCBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb25cbiAgcHVibGljIHJlYWRvbmx5IHdlYmFwcEJ1Y2tldDogczMuQnVja2V0XG4gIHB1YmxpYyByZWFkb25seSB3ZWJhcHBPcmlnaW46IG9yaWdpbnMuUzNPcmlnaW5cblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJhcHBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGlmIChwcm9wcy53ZWJBY2xFcnJvclBhZ2VQYXRoICE9IG51bGwgJiYgcHJvcHMud2ViQWNsSWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwid2ViQWNsRXJyb3JQYWdlUGF0aCBzZXQgYnV0IHdlYkFjbElkIGlzIG1pc3NpbmdcIilcbiAgICB9XG5cbiAgICB0aGlzLndlYmFwcEJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJCdWNrZXRcIiwge1xuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgIH0pXG5cbiAgICBjb25zdCBvcmlnaW5BY2Nlc3NJZGVudGl0eSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpbkFjY2Vzc0lkZW50aXR5KFxuICAgICAgdGhpcyxcbiAgICAgIFwiT3JpZ2luQWNjZXNzSWRlbnRpdHlcIixcbiAgICApXG5cbiAgICB0aGlzLndlYmFwcEJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFt0aGlzLndlYmFwcEJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwiKlwiKV0sXG4gICAgICAgIGFjdGlvbnM6IFtcInMzOkdldE9iamVjdFwiXSxcbiAgICAgICAgcHJpbmNpcGFsczogW29yaWdpbkFjY2Vzc0lkZW50aXR5LmdyYW50UHJpbmNpcGFsXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIHRoaXMud2ViYXBwQnVja2V0LmFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW3RoaXMud2ViYXBwQnVja2V0LmJ1Y2tldEFybl0sXG4gICAgICAgIC8vIEdyYW50IHMzOkxpc3RCdWNrZXQgc28gdGhhdCBDbG91ZEZyb250IHJlY2VpdmVzIDQwNCBmcm9tXG4gICAgICAgIC8vIHRoZSBvcmlnaW4gcmF0aGVyIHRoYW4gNDAzIHdoZW4gYWNjZXNzaW5nIGZpbGVzIHRoYXRcbiAgICAgICAgLy8gZG9lcyBub3QgZXhpc3QuIFdlIGNhbm5vdCBmYWxsYmFjayB0byBpbmRleC5odG1sIGZvciA0MDNcbiAgICAgICAgLy8gZXJyb3JzIHNpbmNlIGl0IHdvdWxkIGFsc28gYmUgc2VydmVkIGlmIHVzaW5nIGEgV0FGLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9wcmVtaXVtc3VwcG9ydC9rbm93bGVkZ2UtY2VudGVyL3MzLXdlYnNpdGUtY2xvdWRmcm9udC1lcnJvci00MDMvI1RoZV9yZXF1ZXN0ZWRfb2JqZWN0c19tdXN0X2V4aXN0X2luX3RoZV9idWNrZXRcbiAgICAgICAgYWN0aW9uczogW1wiczM6TGlzdEJ1Y2tldFwiXSxcbiAgICAgICAgcHJpbmNpcGFsczogW29yaWdpbkFjY2Vzc0lkZW50aXR5LmdyYW50UHJpbmNpcGFsXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIHRoaXMud2ViYXBwT3JpZ2luID0gbmV3IG9yaWdpbnMuUzNPcmlnaW4odGhpcy53ZWJhcHBCdWNrZXQsIHtcbiAgICAgIC8vIHdlYmFwcC1kZXBsb3ktbGFtYmRhIHdpbGwgdXBsb2FkIGZpbGVzIHRvIHRoaXMgZm9sZGVyXG4gICAgICAvLyBzaW5jZSBpdCBrZWVwcyBzb21lIG90aGVyIGFkbWluaXN0cmF0aXZlIGZpbGVzIG91dHNpZGUuXG4gICAgICBvcmlnaW5QYXRoOiBcIi93ZWJcIixcbiAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5LFxuICAgIH0pXG5cbiAgICBjb25zdCBlcnJvclJlc3BvbnNlczogY2xvdWRmcm9udC5FcnJvclJlc3BvbnNlW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh0dHBTdGF0dXM6IDQwNCxcbiAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6IFwiL2luZGV4Lmh0bWxcIixcbiAgICAgIH0sXG4gICAgXVxuXG4gICAgaWYgKHByb3BzLndlYkFjbEVycm9yUGFnZVBhdGggIT0gbnVsbCkge1xuICAgICAgZXJyb3JSZXNwb25zZXMucHVzaCh7XG4gICAgICAgIGh0dHBTdGF0dXM6IDQwMyxcbiAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiA0MDMsXG4gICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6IHByb3BzLndlYkFjbEVycm9yUGFnZVBhdGgsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxldCBmdW5jdGlvbkFzc29jaWF0aW9uczogY2xvdWRmcm9udC5GdW5jdGlvbkFzc29jaWF0aW9uW10gfCB1bmRlZmluZWRcbiAgICBpZiAocHJvcHMuZW5hYmxlU2VjdXJpdHlIZWFkZXJzKSB7XG4gICAgICBjb25zdCBzZWN1cml0eUhlYWRlcnMgPSBuZXcgV2ViYXBwU2VjdXJpdHlIZWFkZXJzKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIlNlY3VyaXR5SGVhZGVyc1wiLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucHJvcHMuc2VjdXJpdHlIZWFkZXJzT3ZlcnJpZGVzLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgZnVuY3Rpb25Bc3NvY2lhdGlvbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBmdW5jdGlvbjogc2VjdXJpdHlIZWFkZXJzLnNlY3VyaXR5SGVhZGVyc0Z1bmN0aW9uLFxuICAgICAgICAgIGV2ZW50VHlwZTogY2xvdWRmcm9udC5GdW5jdGlvbkV2ZW50VHlwZS5WSUVXRVJfUkVTUE9OU0UsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgfVxuXG4gICAgdGhpcy5kaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24odGhpcywgXCJEaXN0cmlidXRpb25cIiwge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIG9yaWdpbjogdGhpcy53ZWJhcHBPcmlnaW4sXG4gICAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBjbG91ZGZyb250LlZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgICAgICBmdW5jdGlvbkFzc29jaWF0aW9uczogZnVuY3Rpb25Bc3NvY2lhdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLm92ZXJyaWRlQ2xvdWRGcm9udEJlaGF2aW91ck9wdGlvbnMsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdFJvb3RPYmplY3Q6IFwiaW5kZXguaHRtbFwiLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBwcm9wcy5jbG91ZGZyb250Q2VydGlmaWNhdGUsXG4gICAgICBkb21haW5OYW1lczogcHJvcHMuZG9tYWluTmFtZXMsXG4gICAgICBlcnJvclJlc3BvbnNlcyxcbiAgICAgIHdlYkFjbElkOiBwcm9wcy53ZWJBY2xJZCxcbiAgICB9KVxuICB9XG5cbiAgYWRkRG5zUmVjb3JkKGhvc3RlZFpvbmU6IHI1My5JSG9zdGVkWm9uZSwgZG9tYWluTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbmV3IHI1My5BUmVjb3JkKHRoaXMsIGBEbnNSZWNvcmQke2RvbWFpbk5hbWV9YCwge1xuICAgICAgem9uZTogaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IGAke2RvbWFpbk5hbWV9LmAsXG4gICAgICB0YXJnZXQ6IHI1My5SZWNvcmRUYXJnZXQuZnJvbUFsaWFzKFxuICAgICAgICBuZXcgcjUzdC5DbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSxcbiAgICAgICksXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBkZXBsb3ltZW50IHVzaW5nIHdlYmFwcC1kZXBsb3ktbGFtYmRhLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NhcHJhY29uc3VsdGluZy93ZWJhcHAtZGVwbG95LWxhbWJkYVxuICAgKiBmb3IgZGV0YWlscyBhYm91dCBob3cgdGhpcyB3b3Jrcy5cbiAgICovXG4gIGFkZERlcGxveW1lbnQoXG4gICAgLyoqXG4gICAgICogVGhlIGRlcGxveW1lbnQgc291cmNlLlxuICAgICAqL1xuICAgIHNvdXJjZTogd2ViYXBwRGVwbG95LklTb3VyY2UsXG4gICAgcHJvcHM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEluY2x1ZGUgc291cmNlIG1hcHMgaW4gdGhlIGRlcGxveW1lbnQuXG4gICAgICAgKlxuICAgICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgICAqL1xuICAgICAgZGVwbG95U291cmNlTWFwcz86IGJvb2xlYW5cbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBkZXBsb3lTb3VyY2VNYXBzID0gcHJvcHM/LmRlcGxveVNvdXJjZU1hcHMgPz8gZmFsc2VcblxuICAgIG5ldyB3ZWJhcHBEZXBsb3kuV2ViYXBwRGVwbG95KHRoaXMsIFwiRGVwbG95XCIsIHtcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgd2ViQnVja2V0OiB0aGlzLndlYmFwcEJ1Y2tldCxcbiAgICAgIGRpc3RyaWJ1dGlvbjogdGhpcy5kaXN0cmlidXRpb24sXG4gICAgICBleGNsdWRlUGF0dGVybjogZGVwbG95U291cmNlTWFwcyA/IHVuZGVmaW5lZCA6IFwiXFxcXC5tYXAkXCIsXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dlYmFwcC93ZWJhcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBRXhDLHlEQUF3RDtBQUN4RCw4REFBNkQ7QUFDN0QsMkNBQTBDO0FBQzFDLCtDQUE4QztBQUM5Qyx3REFBdUQ7QUFDdkQseUNBQXdDO0FBQ3hDLHNFQUFxRTtBQUNyRSx5REFHMkI7QUErRTNCOzs7Ozs7R0FNRztBQUNILE1BQWEsTUFBTyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBSzlDLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBa0I7O1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQTtTQUNuRTtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDaEQsVUFBVSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1NBQzNDLENBQUMsQ0FBQTtRQUVGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQzlELElBQUksRUFDSixzQkFBc0IsQ0FDdkIsQ0FBQTtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQ25DLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDO1NBQ2xE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RXpELElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzVDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzVCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUN6RCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFySUQsd0JBcUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjZXJ0aWZpY2F0ZW1hbmFnZXIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIlxuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIlxuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgcjUzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiXG5pbXBvcnQgKiBhcyByNTN0IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgd2ViYXBwRGVwbG95IGZyb20gXCJAY2FwcmFjb25zdWx0aW5nL3dlYmFwcC1kZXBsb3ktbGFtYmRhXCJcbmltcG9ydCB7XG4gIFdlYmFwcFNlY3VyaXR5SGVhZGVycyxcbiAgV2ViYXBwU2VjdXJpdHlIZWFkZXJzUHJvcHMsXG59IGZyb20gXCIuL3NlY3VyaXR5LWhlYWRlcnNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYmFwcFByb3BzIHtcbiAgLyoqXG4gICAqIEFDTSBjZXJ0aWZpY2F0ZSB0aGF0IGNvdmVycyB0aGUgc3BlY2lmZWlkIGRvbWFpbiBuYW1lcy5cbiAgICpcbiAgICogVGhpcyBjZXJ0aWZpY2F0ZSBtdXN0IGJlIGNyZWF0ZWQgaW4gdGhlIHJlZ2lvbiB1cy1lYXN0LTEuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIENsb3VkRnJvbnQgd2lsZGNhcmQgY2VydGlmaWNhdGUgKCouY2xvdWRmcm9udC5uZXQpIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIGNsb3VkZnJvbnRDZXJ0aWZpY2F0ZT86IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGVcbiAgLyoqXG4gICAqIExpc3Qgb2YgZG9tYWluIG5hbWVzIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbiBzaG91bGQgdXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEdlbmVyYXRlZCBuYW1lIChlLmcuLCBkMTExMTExYWJjZGVmOC5jbG91ZGZyb250Lm5ldClcbiAgICovXG4gIGRvbWFpbk5hbWVzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIEFXUyBXQUYgd2ViIEFDTCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIFRvIHNwZWNpZnkgYSB3ZWIgQUNMIGNyZWF0ZWQgdXNpbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEFXUyBXQUYsIHVzZSB0aGUgQUNMIEFSTiwgZm9yIGV4YW1wbGVcbiAgICogYGFybjphd3M6d2FmdjI6dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpnbG9iYWwvd2ViYWNsL0V4YW1wbGVXZWJBQ0wvNDczZTY0ZmQtZjMwYi00NzY1LTgxYTAtNjJhZDk2ZGQxNjdhYC5cbiAgICogVG8gc3BlY2lmeSBhIHdlYiBBQ0wgY3JlYXRlZCB1c2luZyBBV1MgV0FGIENsYXNzaWMsIHVzZSB0aGUgQUNMIElELCBmb3IgZXhhbXBsZSBgNDczZTY0ZmQtZjMwYi00NzY1LTgxYTAtNjJhZDk2ZGQxNjdhYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBBV1MgV2ViIEFwcGxpY2F0aW9uIEZpcmV3YWxsIHdlYiBhY2Nlc3MgY29udHJvbCBsaXN0ICh3ZWIgQUNMKS5cbiAgICovXG4gIHdlYkFjbElkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgc2VydmVkIGZvciB1c2VycyBub3QgYWxsb3dlZCB0byBhY2Nlc3NcbiAgICogdGhlIHNpdGUgd2hlbiB1c2luZyBXQUYuIEUuZy4gXCIvNHh4LWVycm9ycy80MDMtZm9yYmlkZGVuLmh0bWxcIi5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoaXMgd2lsIGNhdGNoIGFueSA0MDMgZXJyb3JzIGZyb20gdGhlIG9yaWdpbihzKSwgdGhhdCBtaWdodFxuICAgKiBjb3ZlciBhbnkgb3RoZXIgYmVoYXZpb3JzIGlzIGFkZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBwYWdlIGZvciA0MDMgZXJyb3JzLlxuICAgKi9cbiAgd2ViQWNsRXJyb3JQYWdlUGF0aD86IHN0cmluZ1xuICAvKipcbiAgICogIEVuYWJsZSwgZGlzYWJsZSBvciBjb25maWd1cmUgc2VjdXJpdHkgaGVhZGVycyBmb3IgdGhlIHdlYiBhcHBsaWNhdGlvblxuICAgKiBAZGVmYXVsdCAtIGEgc2V0IG9mIHN0cmljdCBzZWN1cml0eSBoZWFkZXJzIGFyZSBjb25maWd1cmVkIGJ5IGRlZmF1bHRcbiAgICovXG4gIHNlY3VyaXR5SGVhZGVycz86IHtcbiAgICAvKipcbiAgICAgKiBFbmFibGUgYWRkaW5nIGNvbW1vbiBzZWN1cml0eSBoZWFkZXJzIHRvIENsb3VkRnJvbnQgcmVzcG9uc2VzXG4gICAgICpcbiAgICAgKiBJZiBlbmFibGVkLCB0aGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBhZGQgdGhlIGZvbGxvd2luZyBoZWFkZXJzIHdpdGggZmFpcmx5IHN0cmljdCBkZWZhdWx0cy4gTW9zdCBvZiB0aGUgaGVhZGVycyBjYW4gYmUgY3VzdG9taXplZDpcbiAgICAgKiAtIENvbnRlbnQtU2VjdXJpdHktUG9saWN5XG4gICAgICogLSBSZWZlcnJlci1Qb2xpY3lcbiAgICAgKiAtIFN0cmljdC1UcmFuc3BvcnQtU2VjdXJpdHlcbiAgICAgKiAtIFgtQ29udGVudC1UeXBlLU9wdGlvbnNcbiAgICAgKiAtIFgtRnJhbWUtT3B0aW9uc1xuICAgICAqIC0gWC1YU1MtUHJvdGVjdGlvblxuICAgICAqXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAvKipcbiAgICAgKiBTZWN1cml0eSBoZWFkZXJzIG92ZXJyaWRlcy5cbiAgICAgKlxuICAgICAqIFVzZWQgdG8gb3ZlcnJpZGUgY2VydGFpbiBkZWZhdWx0IHNlY3VyaXR5IGhlYWRlciB2YWx1ZXMgaWYgdGhlIHdlYmFwcCByZXF1aXJlcyBkaWZmZXJlbnQgc2V0dGluZ3MgdGhhbiB0aGUgZGVmYXVsdHMuXG4gICAgICpcbiAgICAgKiBOT1RFOiBJZiB5b3UgbmVlZCB0byBkaXNhYmxlIGNlcnRhaW4gaGVhZGVycywgeW91IG11c3QgZXhwbGljaXRseSBzZXQgdGhlbSB0byB1bmRlZmluZWRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gQSBzZXQgb2Ygc3RyaWN0IHNlY3VyaXR5IGhlYWRlciB2YWx1ZXMgd2lsbCBiZSB1c2VkXG4gICAgICovXG4gICAgYmVoYXZpb3JPdmVycmlkZXM/OiBXZWJhcHBTZWN1cml0eUhlYWRlcnNQcm9wc1xuICB9XG4gIC8qKlxuICAgKiBDbG91ZGZyb250IGJlaGF2aW9yIG92ZXJyaWRlcy5cbiAgICpcbiAgICogVXNlZCB0byBvdmVycmlkZSBjbG91ZGZyb250IGJlaGF2aW9yXG4gICAqXG4gICAqIE5PVEU6IFJlc3BvbnNlSGVhZGVyc1BvbGljeSBkZWZpbmVkIGhlcmUgd2lsbCBvdmVyd3JpdGUgQk9USCB0aGUgZGVmYXVsdCBzZWN1cml0eSBoZWFkZXJzIHBvbGljeSBhbmRcbiAgICogYW55IHZhbHVlcyBzcGVjaWZpZWQgaW4gc2VjdXJpdHlIZWFkZXJzLmJlaGF2aW9yT3ZlcnJpZGVzLlxuICAgKi9cbiAgb3ZlcnJpZGVDbG91ZEZyb250QmVoYXZpb3VyT3B0aW9ucz86IFBhcnRpYWw8Y2xvdWRmcm9udC5CZWhhdmlvck9wdGlvbnM+XG59XG5cbi8qKlxuICogQ2xvdWRGcm9udCBmb3IgYSBTaW5nbGUtUGFnZS1BcHBsaWNhdGlvbi5cbiAqXG4gKiBBIGJ1Y2tldCB3aWxsIGJlIGNyZWF0ZWQgYW5kIGl0cyBwcmVmaXggXCJ3ZWJcIiBpcyB1c2VkIHRvXG4gKiBzZXJ2ZSBmaWxlcy4gVXNlIHRoZSBhZGREZXBsb3ltZW50IG1ldGhvZCB0byBhdXRvbWF0aWNhbGx5XG4gKiBkZXBsb3kgZmlsZXMgYXMgcGFydCB0aGUgdGhlIENESyBkZXBsb3ltZW50LlxuICovXG5leHBvcnQgY2xhc3MgV2ViYXBwIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblxuICBwdWJsaWMgcmVhZG9ubHkgd2ViYXBwQnVja2V0OiBzMy5CdWNrZXRcbiAgcHVibGljIHJlYWRvbmx5IHdlYmFwcE9yaWdpbjogb3JpZ2lucy5TM09yaWdpblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYmFwcFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgaWYgKHByb3BzLndlYkFjbEVycm9yUGFnZVBhdGggIT0gbnVsbCAmJiBwcm9wcy53ZWJBY2xJZCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ3ZWJBY2xFcnJvclBhZ2VQYXRoIHNldCBidXQgd2ViQWNsSWQgaXMgbWlzc2luZ1wiKVxuICAgIH1cblxuICAgIHRoaXMud2ViYXBwQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCBcIkJ1Y2tldFwiLCB7XG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgfSlcblxuICAgIGNvbnN0IG9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkoXG4gICAgICB0aGlzLFxuICAgICAgXCJPcmlnaW5BY2Nlc3NJZGVudGl0eVwiLFxuICAgIClcblxuICAgIHRoaXMud2ViYXBwQnVja2V0LmFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW3RoaXMud2ViYXBwQnVja2V0LmFybkZvck9iamVjdHMoXCIqXCIpXSxcbiAgICAgICAgYWN0aW9uczogW1wiczM6R2V0T2JqZWN0XCJdLFxuICAgICAgICBwcmluY2lwYWxzOiBbb3JpZ2luQWNjZXNzSWRlbnRpdHkuZ3JhbnRQcmluY2lwYWxdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgdGhpcy53ZWJhcHBCdWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy53ZWJhcHBCdWNrZXQuYnVja2V0QXJuXSxcbiAgICAgICAgLy8gR3JhbnQgczM6TGlzdEJ1Y2tldCBzbyB0aGF0IENsb3VkRnJvbnQgcmVjZWl2ZXMgNDA0IGZyb21cbiAgICAgICAgLy8gdGhlIG9yaWdpbiByYXRoZXIgdGhhbiA0MDMgd2hlbiBhY2Nlc3NpbmcgZmlsZXMgdGhhdFxuICAgICAgICAvLyBkb2VzIG5vdCBleGlzdC4gV2UgY2Fubm90IGZhbGxiYWNrIHRvIGluZGV4Lmh0bWwgZm9yIDQwM1xuICAgICAgICAvLyBlcnJvcnMgc2luY2UgaXQgd291bGQgYWxzbyBiZSBzZXJ2ZWQgaWYgdXNpbmcgYSBXQUYuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2F3cy5hbWF6b24uY29tL3ByZW1pdW1zdXBwb3J0L2tub3dsZWRnZS1jZW50ZXIvczMtd2Vic2l0ZS1jbG91ZGZyb250LWVycm9yLTQwMy8jVGhlX3JlcXVlc3RlZF9vYmplY3RzX211c3RfZXhpc3RfaW5fdGhlX2J1Y2tldFxuICAgICAgICBhY3Rpb25zOiBbXCJzMzpMaXN0QnVja2V0XCJdLFxuICAgICAgICBwcmluY2lwYWxzOiBbb3JpZ2luQWNjZXNzSWRlbnRpdHkuZ3JhbnRQcmluY2lwYWxdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgdGhpcy53ZWJhcHBPcmlnaW4gPSBuZXcgb3JpZ2lucy5TM09yaWdpbih0aGlzLndlYmFwcEJ1Y2tldCwge1xuICAgICAgLy8gd2ViYXBwLWRlcGxveS1sYW1iZGEgd2lsbCB1cGxvYWQgZmlsZXMgdG8gdGhpcyBmb2xkZXJcbiAgICAgIC8vIHNpbmNlIGl0IGtlZXBzIHNvbWUgb3RoZXIgYWRtaW5pc3RyYXRpdmUgZmlsZXMgb3V0c2lkZS5cbiAgICAgIG9yaWdpblBhdGg6IFwiL3dlYlwiLFxuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHksXG4gICAgfSlcblxuICAgIGNvbnN0IGVycm9yUmVzcG9uc2VzOiBjbG91ZGZyb250LkVycm9yUmVzcG9uc2VbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgaHR0cFN0YXR1czogNDA0LFxuICAgICAgICByZXNwb25zZUh0dHBTdGF0dXM6IDIwMCxcbiAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogXCIvaW5kZXguaHRtbFwiLFxuICAgICAgfSxcbiAgICBdXG5cbiAgICBpZiAocHJvcHMud2ViQWNsRXJyb3JQYWdlUGF0aCAhPSBudWxsKSB7XG4gICAgICBlcnJvclJlc3BvbnNlcy5wdXNoKHtcbiAgICAgICAgaHR0cFN0YXR1czogNDAzLFxuICAgICAgICByZXNwb25zZUh0dHBTdGF0dXM6IDQwMyxcbiAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogcHJvcHMud2ViQWNsRXJyb3JQYWdlUGF0aCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgbGV0IHJlc3BvbnNlSGVhZGVyc1BvbGljeTogY2xvdWRmcm9udC5JUmVzcG9uc2VIZWFkZXJzUG9saWN5IHwgdW5kZWZpbmVkXG5cbiAgICBpZiAocHJvcHMuc2VjdXJpdHlIZWFkZXJzPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IHNlY3VyaXR5SGVhZGVycyA9IG5ldyBXZWJhcHBTZWN1cml0eUhlYWRlcnMoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiU2VjdXJpdHlIZWFkZXJzXCIsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wcm9wcy5zZWN1cml0eUhlYWRlcnM/LmJlaGF2aW9yT3ZlcnJpZGVzLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gc2VjdXJpdHlIZWFkZXJzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVxuICAgIH1cblxuICAgIHRoaXMuZGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHRoaXMsIFwiRGlzdHJpYnV0aW9uXCIsIHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBvcmlnaW46IHRoaXMud2ViYXBwT3JpZ2luLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5OiByZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gICAgICAgIC4uLnByb3BzLm92ZXJyaWRlQ2xvdWRGcm9udEJlaGF2aW91ck9wdGlvbnMsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdFJvb3RPYmplY3Q6IFwiaW5kZXguaHRtbFwiLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBwcm9wcy5jbG91ZGZyb250Q2VydGlmaWNhdGUsXG4gICAgICBkb21haW5OYW1lczogcHJvcHMuZG9tYWluTmFtZXMsXG4gICAgICBlcnJvclJlc3BvbnNlcyxcbiAgICAgIHdlYkFjbElkOiBwcm9wcy53ZWJBY2xJZCxcbiAgICB9KVxuICB9XG5cbiAgYWRkRG5zUmVjb3JkKGhvc3RlZFpvbmU6IHI1My5JSG9zdGVkWm9uZSwgZG9tYWluTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbmV3IHI1My5BUmVjb3JkKHRoaXMsIGBEbnNSZWNvcmQke2RvbWFpbk5hbWV9YCwge1xuICAgICAgem9uZTogaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IGAke2RvbWFpbk5hbWV9LmAsXG4gICAgICB0YXJnZXQ6IHI1My5SZWNvcmRUYXJnZXQuZnJvbUFsaWFzKFxuICAgICAgICBuZXcgcjUzdC5DbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSxcbiAgICAgICksXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBkZXBsb3ltZW50IHVzaW5nIHdlYmFwcC1kZXBsb3ktbGFtYmRhLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NhcHJhY29uc3VsdGluZy93ZWJhcHAtZGVwbG95LWxhbWJkYVxuICAgKiBmb3IgZGV0YWlscyBhYm91dCBob3cgdGhpcyB3b3Jrcy5cbiAgICovXG4gIGFkZERlcGxveW1lbnQoXG4gICAgLyoqXG4gICAgICogVGhlIGRlcGxveW1lbnQgc291cmNlLlxuICAgICAqL1xuICAgIHNvdXJjZTogd2ViYXBwRGVwbG95LklTb3VyY2UsXG4gICAgcHJvcHM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEluY2x1ZGUgc291cmNlIG1hcHMgaW4gdGhlIGRlcGxveW1lbnQuXG4gICAgICAgKlxuICAgICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgICAqL1xuICAgICAgZGVwbG95U291cmNlTWFwcz86IGJvb2xlYW5cbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBkZXBsb3lTb3VyY2VNYXBzID0gcHJvcHM/LmRlcGxveVNvdXJjZU1hcHMgPz8gZmFsc2VcblxuICAgIG5ldyB3ZWJhcHBEZXBsb3kuV2ViYXBwRGVwbG95KHRoaXMsIFwiRGVwbG95XCIsIHtcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgd2ViQnVja2V0OiB0aGlzLndlYmFwcEJ1Y2tldCxcbiAgICAgIGRpc3RyaWJ1dGlvbjogdGhpcy5kaXN0cmlidXRpb24sXG4gICAgICBleGNsdWRlUGF0dGVybjogZGVwbG95U291cmNlTWFwcyA/IHVuZGVmaW5lZCA6IFwiXFxcXC5tYXAkXCIsXG4gICAgfSlcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liflig/cdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "CDK library for Liflig",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@commitlint/cli": "17.4.2",
|
|
38
38
|
"@commitlint/config-conventional": "17.4.2",
|
|
39
|
-
"@aws-cdk/assert": "2.
|
|
40
|
-
"@types/aws-lambda": "8.10.
|
|
39
|
+
"@aws-cdk/assert": "2.62.0",
|
|
40
|
+
"@types/aws-lambda": "8.10.110",
|
|
41
41
|
"@types/jest": "27.5.2",
|
|
42
42
|
"@types/node": "18.11.18",
|
|
43
43
|
"@typescript-eslint/eslint-plugin": "5.49.0",
|
|
44
44
|
"@typescript-eslint/parser": "5.49.0",
|
|
45
|
-
"aws-cdk": "2.
|
|
46
|
-
"aws-cdk-lib": "2.
|
|
47
|
-
"constructs": "10.1.
|
|
45
|
+
"aws-cdk": "2.62.0",
|
|
46
|
+
"aws-cdk-lib": "2.62.0",
|
|
47
|
+
"constructs": "10.1.232",
|
|
48
48
|
"eslint": "8.32.0",
|
|
49
49
|
"eslint-config-prettier": "8.6.0",
|
|
50
50
|
"eslint-plugin-prettier": "4.2.1",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"jest": "27.5.1",
|
|
53
53
|
"jest-cdk-snapshot": "2.0.1",
|
|
54
54
|
"prettier": "2.8.3",
|
|
55
|
-
"semantic-release": "20.0
|
|
55
|
+
"semantic-release": "20.1.0",
|
|
56
56
|
"ts-jest": "27.1.5",
|
|
57
57
|
"ts-node": "10.9.1",
|
|
58
58
|
"typescript": "4.9.4"
|