cdk-nextjs 0.7.12 → 0.7.14
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/.jsii +346 -100
- package/.jsii.tabl.json +1 -1
- package/API.md +208 -0
- package/README.md +115 -100
- package/docs/breaking-changes.md +4 -2
- package/docs/development-guide.md +10 -0
- package/docs/harness-coverage.md +16 -6
- package/docs/next-build-output-guide.md +1 -1
- package/lib/adapter/adapter.mjs +4 -1
- package/lib/generated-structs/OptionalNextjsApiProps.d.ts +6 -0
- package/lib/generated-structs/OptionalNextjsApiProps.js +1 -1
- package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +27 -0
- package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
- package/lib/nextjs-api.d.ts +11 -0
- package/lib/nextjs-api.js +63 -9
- package/lib/nextjs-api.test.js +127 -1
- package/lib/nextjs-build/nextjs-build.js +1 -1
- package/lib/nextjs-cache.js +1 -1
- package/lib/nextjs-compute/nextjs-containers.js +1 -1
- package/lib/nextjs-compute/nextjs-functions.js +1 -1
- package/lib/nextjs-distribution.d.ts +92 -2
- package/lib/nextjs-distribution.js +223 -109
- package/lib/nextjs-distribution.test.js +492 -12
- package/lib/nextjs-post-deploy.js +1 -1
- package/lib/nextjs-static-assets.js +1 -1
- package/lib/nextjs-static-assets.test.js +19 -7
- package/lib/root-constructs/nextjs-base-construct.d.ts +7 -0
- package/lib/root-constructs/nextjs-base-construct.js +14 -2
- package/lib/root-constructs/nextjs-global-containers.d.ts +16 -1
- package/lib/root-constructs/nextjs-global-containers.js +5 -2
- package/lib/root-constructs/nextjs-global-functions.d.ts +16 -1
- package/lib/root-constructs/nextjs-global-functions.js +5 -2
- package/lib/root-constructs/nextjs-regional-containers.js +1 -1
- package/lib/root-constructs/nextjs-regional-functions.js +3 -2
- package/lib/runtime/lambda.mjs +4 -1
- package/lib/runtime/server.mjs +4 -1
- package/lib/utils/viewer-request-functions.d.ts +53 -0
- package/lib/utils/viewer-request-functions.js +172 -0
- package/lib/utils/viewer-request-functions.test.d.ts +1 -0
- package/lib/utils/viewer-request-functions.test.js +43 -0
- package/package.json +4 -1
- package/scripts/e2e-harness/README.md +10 -8
- package/scripts/e2e-harness/app.js +7 -2
- package/scripts/render-diagrams.mjs +121 -0
|
@@ -14,7 +14,7 @@ const base_path_1 = require("../utils/base-path");
|
|
|
14
14
|
* for containers.
|
|
15
15
|
*/
|
|
16
16
|
class NextjsGlobalContainers extends nextjs_base_construct_1.NextjsBaseConstruct {
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsGlobalContainers", version: "0.7.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsGlobalContainers", version: "0.7.14" };
|
|
18
18
|
nextjsContainers;
|
|
19
19
|
nextjsDistribution;
|
|
20
20
|
nextjsPostDeploy;
|
|
@@ -78,9 +78,12 @@ class NextjsGlobalContainers extends nextjs_base_construct_1.NextjsBaseConstruct
|
|
|
78
78
|
nextjsType: this.nextjsType,
|
|
79
79
|
overrides: this.props.overrides?.nextjsDistribution,
|
|
80
80
|
publicDirEntries: this.nextjsBuild.publicDirEntries,
|
|
81
|
+
serviceWorkerAllowed: this.serviceWorkerAllowed,
|
|
82
|
+
viewerRequestFunctionCode: this.props.viewerRequestFunctionCode,
|
|
83
|
+
viewerRequestKeyValueStore: this.props.viewerRequestKeyValueStore,
|
|
81
84
|
...this.props.overrides?.nextjsGlobalContainers?.nextjsDistributionProps,
|
|
82
85
|
});
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
exports.NextjsGlobalContainers = NextjsGlobalContainers;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWdsb2JhbC1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtZ2xvYmFsLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLDRDQUEwQztBQUMxQyxtRUFLaUM7QUFHakMsMkVBRzZDO0FBQzdDLGdFQUdnQztBQUVoQyxrREFBOEM7QUEyRDlDOzs7OztHQUtHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQ0FBbUI7O0lBQzdELGdCQUFnQixDQUFtQjtJQUNuQyxrQkFBa0IsQ0FBcUI7SUFDdkMsZ0JBQWdCLENBQW1CO0lBQ25DOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUEsb0JBQVEsRUFDYixXQUFXLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQzVELElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQThCO0lBRTNDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWtDO1FBRWxDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxzQkFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUMxRCxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDO1FBQ25FLDJFQUEyRTtRQUMzRSx5RUFBeUU7UUFDekUsd0VBQXdFO1FBQ3hFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDakQsWUFBWSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUM3Qyw0QkFBNEIsRUFDNUIsWUFBWSxDQUFDLGNBQWMsQ0FDNUIsQ0FBQztRQUNGLHVFQUF1RTtRQUN2RSwrREFBK0Q7UUFDL0Qsc0RBQXNEO1FBQ3RELGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQzdDLG1DQUFtQyxFQUNuQyxHQUFHLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLDRDQUE0QztRQUM1QyxPQUFPLElBQUksb0NBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3BELEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYztZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1lBQ2pDLGVBQWUsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDekUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0I7WUFDakUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0I7WUFDdkQsU0FBUyxFQUFFO2dCQUNULEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO2dCQUN6QyxlQUFlLEVBQUU7b0JBQ2YsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlO29CQUMxRCxvRUFBb0U7b0JBQ3BFLG1FQUFtRTtvQkFDbkUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQzNEO2FBQ0Y7WUFDRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQjtTQUN2RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE9BQU8sSUFBSSx3Q0FBa0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDeEQsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNO1lBQzVDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHlCQUF5QjtZQUN2RCxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLFdBQVc7WUFDaEUsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtZQUNyQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLFlBQVk7WUFDbEUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxrQkFBa0I7WUFDbkQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7WUFDbkQsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUI7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0Rkgsd0RBdUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlzdHJpYnV0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250XCI7XG5pbXBvcnQgeyBJQ2x1c3RlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXh0anNUeXBlIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdE92ZXJyaWRlcyxcbiAgTmV4dGpzQmFzZU92ZXJyaWRlcyxcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdCxcbiAgTmV4dGpzQmFzZVByb3BzLFxufSBmcm9tIFwiLi9uZXh0anMtYmFzZS1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IE9wdGlvbmFsTmV4dGpzQ29udGFpbmVyc1Byb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzQ29udGFpbmVyc1Byb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0NvbnRhaW5lcnMsXG4gIE5leHRqc0NvbnRhaW5lcnNPdmVycmlkZXMsXG59IGZyb20gXCIuLi9uZXh0anMtY29tcHV0ZS9uZXh0anMtY29udGFpbmVyc1wiO1xuaW1wb3J0IHtcbiAgTmV4dGpzRGlzdHJpYnV0aW9uLFxuICBOZXh0anNEaXN0cmlidXRpb25PdmVycmlkZXMsXG59IGZyb20gXCIuLi9uZXh0anMtZGlzdHJpYnV0aW9uXCI7XG5pbXBvcnQgeyBOZXh0anNQb3N0RGVwbG95IH0gZnJvbSBcIi4uL25leHRqcy1wb3N0LWRlcGxveVwiO1xuaW1wb3J0IHsgam9pblBhdGggfSBmcm9tIFwiLi4vdXRpbHMvYmFzZS1wYXRoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzR2xvYmFsQ29udGFpbmVyc0NvbnN0cnVjdE92ZXJyaWRlcyBleHRlbmRzIE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNDb250YWluZXJzUHJvcHM/OiBPcHRpb25hbE5leHRqc0NvbnRhaW5lcnNQcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzRGlzdHJpYnV0aW9uUHJvcHM/OiBPcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzO1xufVxuXG4vKipcbiAqIE92ZXJyaWRlcyBmb3IgYE5leHRqc0dsb2JhbENvbnRhaW5lcnNgLiBPdmVycmlkZXMgYXJlIGxvd2VyIGxldmVsIHRoYW5cbiAqIHByb3BzIGFuZCBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIENESyBDb25zdHJ1Y3RzIGdpdmluZyB5b3UgbW9yZSBjb250cm9sLiBJdCdzXG4gKiByZWNvbW1lbmRlZCB0byB1c2UgY2F1dGlvbiBhbmQgcmV2aWV3IHNvdXJjZSBjb2RlIHNvIHlvdSBrbm93IGhvdyB0aGV5J3JlIHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzR2xvYmFsQ29udGFpbmVyc092ZXJyaWRlcyBleHRlbmRzIE5leHRqc0Jhc2VPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNHbG9iYWxDb250YWluZXJzPzogTmV4dGpzR2xvYmFsQ29udGFpbmVyc0NvbnN0cnVjdE92ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzQ29udGFpbmVycz86IE5leHRqc0NvbnRhaW5lcnNPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc0Rpc3RyaWJ1dGlvbj86IE5leHRqc0Rpc3RyaWJ1dGlvbk92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNHbG9iYWxDb250YWluZXJzUHJvcHMgZXh0ZW5kcyBOZXh0anNCYXNlUHJvcHMge1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci4gV2hlbiBwcm92aWRlZCwgaXQgaXMgcGFzc2VkXG4gICAqIGRpcmVjdGx5IHRvIGBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlYC4gSWYgdGhlIEFMQiBhbHJlYWR5XG4gICAqIGhhcyBhIGxpc3RlbmVyIG9uIHBvcnQgODAsIGNhbGwgYHJlbW92ZUF1dG9DcmVhdGVkTGlzdGVuZXIoKWAgYWZ0ZXJcbiAgICogY29uc3RydWN0aW9uIHRvIGF2b2lkIGRlcGxveW1lbnQgZmFpbHVyZXMuXG4gICAqL1xuICByZWFkb25seSBhbGI/OiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gIC8qKlxuICAgKiBCcmluZyB5b3VyIG93biBkaXN0cmlidXRpb24uIENhbiBiZSB1c2VkIHdpdGggYGJhc2VQYXRoYCB0byBob3N0IG11bHRpcGxlXG4gICAqIGFwcHMgb24gdGhlIHNhbWUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqL1xuICByZWFkb25seSBkaXN0cmlidXRpb24/OiBEaXN0cmlidXRpb247XG4gIC8qKlxuICAgKiBCcmluZyB5b3VyIG93biBFQ1MgY2x1c3Rlci4gV2hlbiBwcm92aWRlZCwgY2RrLW5leHRqcyB3aWxsIHNraXAgY3JlYXRpbmdcbiAgICogYSBuZXcgY2x1c3RlciBhbmQgVlBDIGdhdGV3YXkgZW5kcG9pbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZWNzQ2x1c3Rlcj86IElDbHVzdGVyO1xuICAvKipcbiAgICogUGF0aCB0byBBUEkgUm91dGUgSGFuZGxlciB0aGF0IHJldHVybnMgSFRUUCAyMDAgdG8gZW5zdXJlIGNvbXB1dGUgaGVhbHRoLlxuICAgKiBVc2VkIGJ5IHRoZSBBTEIgdGFyZ2V0IGdyb3VwIGFuZCB0aGUgRUNTIGNvbnRhaW5lciBoZWFsdGggY2hlY2ssIGJvdGggb2ZcbiAgICogd2hpY2ggaGF2ZSB0byBiZSBhYmxlIHRvIHRlbGwgYSBydW5uaW5nIHRhc2sgZnJvbSBhIHdlZGdlZCBvbmUuXG4gICAqXG4gICAqIEdpdmUgdGhlIHBhdGggYXMgeW91ciBhcHAgcm91dGVzIGl0LCB3aXRob3V0IHlvdXIgYXBwJ3MgYGJhc2VQYXRoYCDigJRcbiAgICogY2RrLW5leHRqcyBhZGRzIHRoYXQgcHJlZml4LCBzaW5jZSBib3RoIGNoZWNrcyBoaXQgdGhlIGFwcCBkaXJlY3RseS5cbiAgICogQGV4YW1wbGUgXCIvYXBpL2hlYWx0aFwiXG4gICAqIEBleGFtcGxlXG4gICAqIC8vIGFwaS9oZWFsdGgvcm91dGUudHNcbiAgICogaW1wb3J0IHsgTmV4dFJlc3BvbnNlIH0gZnJvbSBcIm5leHQvc2VydmVyXCI7XG4gICAqXG4gICAqIGV4cG9ydCBmdW5jdGlvbiBHRVQoKSB7XG4gICAqICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKFwiXCIpO1xuICAgKiB9XG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja1BhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHByb3BzIG9mIGFueSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNHbG9iYWxDb250YWluZXJzT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIERlcGxveSBOZXh0LmpzIGdsb2JhbGx5IGRpc3RyaWJ1dGVkIHdpdGggY29udGFpbmVycy4gVXNlcyBbQ2xvdWRGcm9udFxuICogRGlzdHJpYnV0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvZGlzdHJpYnV0aW9uLXdvcmtpbmctd2l0aC5odG1sKVxuICogYXMgQ29udGVudCBEZWxpdmVyeSBOZXR3b3JrIChDRE4pIGZvciBnbG9iYWwgZGlzdHJpYnV0aW9uIGFuZCBbQVdTIEZhcmdhdGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1MvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL0FXU19GYXJnYXRlLmh0bWwpXG4gKiBmb3IgY29udGFpbmVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc0dsb2JhbENvbnRhaW5lcnMgZXh0ZW5kcyBOZXh0anNCYXNlQ29uc3RydWN0IHtcbiAgbmV4dGpzQ29udGFpbmVyczogTmV4dGpzQ29udGFpbmVycztcbiAgbmV4dGpzRGlzdHJpYnV0aW9uOiBOZXh0anNEaXN0cmlidXRpb247XG4gIG5leHRqc1Bvc3REZXBsb3k6IE5leHRqc1Bvc3REZXBsb3k7XG4gIC8qKlxuICAgKiBQdWJsaWMgVVJMIG9mIHRoZSBhcHAsIGluY2x1ZGluZyBgYmFzZVBhdGhgIOKAlCB0aGUgYXBwIG9ubHkgYW5zd2VycyB1bmRlclxuICAgKiB0aGF0IHByZWZpeCwgYW5kIGl0J3MgZGVyaXZlZCBmcm9tIHRoZSBhcHAncyBvd24gYGJhc2VQYXRoYCB3aGVuIHRoZSBwcm9wIGlzXG4gICAqIGxlZnQgdW5zZXQsIHNvIGl0J3MgdGhlcmUgd2hldGhlciBvciBub3QgeW91IGFza2VkIGZvciBpdC5cbiAgICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gam9pblBhdGgoXG4gICAgICBgaHR0cHM6Ly8ke3RoaXMubmV4dGpzRGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbi5kb21haW5OYW1lfWAsXG4gICAgICB0aGlzLnJlc29sdmVkQmFzZVBhdGgsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc0dsb2JhbENvbnRhaW5lcnNQcm9wcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IE5leHRqc0dsb2JhbENvbnRhaW5lcnNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcywgTmV4dGpzVHlwZS5HTE9CQUxfQ09OVEFJTkVSUyk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgdGhpcy5uZXh0anNDb250YWluZXJzID0gdGhpcy5jcmVhdGVOZXh0anNDb250YWluZXJzKCk7XG4gICAgdGhpcy5uZXh0anNEaXN0cmlidXRpb24gPSB0aGlzLmNyZWF0ZU5leHRqc0Rpc3RyaWJ1dGlvbigpO1xuICAgIGNvbnN0IHsgdGFza0RlZmluaXRpb24gfSA9IHRoaXMubmV4dGpzQ29udGFpbmVycy5hbGJGYXJnYXRlU2VydmljZTtcbiAgICAvLyBMZXRzIG9uLWRlbWFuZCByZXZhbGlkYXRpb24gZXZpY3Qgc3RhbGUgcmVzcG9uc2VzIGZyb20gdGhlIENETiBlZGdlLCBub3RcbiAgICAvLyBqdXN0IHRoZSBvcmlnaW4ncyBjYWNoZS4gVGhlIG9yaWdpbiBpcyB0aGUgQUxCLCB3aGljaCB0aGUgdGFzayBkb2Vzbid0XG4gICAgLy8gZGVwZW5kIG9uLCBzbyBuYW1pbmcgdGhlIGRpc3RyaWJ1dGlvbiBoZXJlIG1ha2VzIG5vIGRlcGVuZGVuY3kgY3ljbGUuXG4gICAgY29uc3QgeyBkaXN0cmlidXRpb24gfSA9IHRoaXMubmV4dGpzRGlzdHJpYnV0aW9uO1xuICAgIGRpc3RyaWJ1dGlvbi5ncmFudENyZWF0ZUludmFsaWRhdGlvbih0YXNrRGVmaW5pdGlvbi50YXNrUm9sZSk7XG4gICAgdGFza0RlZmluaXRpb24uZGVmYXVsdENvbnRhaW5lcj8uYWRkRW52aXJvbm1lbnQoXG4gICAgICBcIkNES19ORVhUSlNfRElTVFJJQlVUSU9OX0lEXCIsXG4gICAgICBkaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uSWQsXG4gICAgKTtcbiAgICAvLyBUaGUgQUxCIGlzIHJlYWNoYWJsZSB0aHJvdWdoIHRoZSBkaXN0cmlidXRpb24ncyBWUEMgb3JpZ2luIGFsb25lLCBzb1xuICAgIC8vIGBDbG91ZEZyb250LUZvcndhcmRlZC1Qcm90b2AgaXMgYWx3YXlzIENsb3VkRnJvbnQncyBvd247IHNlZVxuICAgIC8vIGB2aWV3ZXJIZWFkZXJzYCBpbiBzcmMvcnVudGltZS9odHRwL25vZGUtc2VydmVyLnRzLlxuICAgIHRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXI/LmFkZEVudmlyb25tZW50KFxuICAgICAgXCJDREtfTkVYVEpTX1RSVVNUX0NMT1VERlJPTlRfUFJPVE9cIixcbiAgICAgIFwiMVwiLFxuICAgICk7XG4gICAgdGhpcy5uZXh0anNQb3N0RGVwbG95ID0gdGhpcy5jcmVhdGVOZXh0anNQb3N0RGVwbG95KFxuICAgICAgdGhpcy5uZXh0anNEaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0NvbnRhaW5lcnMoKTogTmV4dGpzQ29udGFpbmVycyB7XG4gICAgLy8gQ3JlYXRlIGNvbnRhaW5lcnMgd2l0aCBsb2NhbCBidWlsZCBvdXRwdXRcbiAgICByZXR1cm4gbmV3IE5leHRqc0NvbnRhaW5lcnModGhpcywgXCJOZXh0anNDb250YWluZXJzXCIsIHtcbiAgICAgIC4uLnRoaXMuY29tcHV0ZUJhc2VQcm9wcygpLFxuICAgICAgYWxiOiB0aGlzLnByb3BzLmFsYixcbiAgICAgIGJ1aWxkRGlyZWN0b3J5OiB0aGlzLnByb3BzLmJ1aWxkRGlyZWN0b3J5LFxuICAgICAgZWNzQ2x1c3RlcjogdGhpcy5wcm9wcy5lY3NDbHVzdGVyLFxuICAgICAgaGVhbHRoQ2hlY2tQYXRoOiB0aGlzLnJlc29sdmVkSGVhbHRoQ2hlY2tQYXRoKHRoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRoKSxcbiAgICAgIHJlbGF0aXZlRW50cnlwb2ludFBhdGg6IHRoaXMubmV4dGpzQnVpbGQucmVsYXRpdmVQYXRoVG9FbnRyeXBvaW50LFxuICAgICAgcmVsYXRpdmVQcm9qZWN0RGlyOiB0aGlzLm5leHRqc0J1aWxkLnJlbGF0aXZlUHJvamVjdERpcixcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQ29udGFpbmVycyxcbiAgICAgICAgZWNzQ2x1c3RlclByb3BzOiB7XG4gICAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0NvbnRhaW5lcnM/LmVjc0NsdXN0ZXJQcm9wcyxcbiAgICAgICAgICAvLyBDb25kaXRpb25hbCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIHRoZSBGdW5jdGlvbnMnIGB2cGNgOiBhc3NpZ25lZFxuICAgICAgICAgIC8vIHVuY29uZGl0aW9uYWxseSwgYW4gdW5zZXQgYHZwY2AgcHJvcCB3b3VsZCBlcmFzZSB0aGUgb3ZlcnJpZGUncy5cbiAgICAgICAgICAuLi4odGhpcy5iYXNlUHJvcHMudnBjID8geyB2cGM6IHRoaXMuYmFzZVByb3BzLnZwYyB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNHbG9iYWxDb250YWluZXJzPy5uZXh0anNDb250YWluZXJzUHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0Rpc3RyaWJ1dGlvbigpIHtcbiAgICByZXR1cm4gbmV3IE5leHRqc0Rpc3RyaWJ1dGlvbih0aGlzLCBcIk5leHRqc0Rpc3RyaWJ1dGlvblwiLCB7XG4gICAgICBhc3NldHNCdWNrZXQ6IHRoaXMubmV4dGpzU3RhdGljQXNzZXRzLmJ1Y2tldCxcbiAgICAgIGFzc2V0UHJlZml4OiB0aGlzLm5leHRqc0J1aWxkLm5leHRDb25maWdBc3NldFByZWZpeFBhdGgsXG4gICAgICBiYXNlUGF0aDogdGhpcy5yZXNvbHZlZEJhc2VQYXRoLFxuICAgICAgY2VydGlmaWNhdGU6IHRoaXMubmV4dGpzQ29udGFpbmVycy5hbGJGYXJnYXRlU2VydmljZS5jZXJ0aWZpY2F0ZSxcbiAgICAgIGRpc3RyaWJ1dGlvbjogdGhpcy5wcm9wcy5kaXN0cmlidXRpb24sXG4gICAgICBsb2FkQmFsYW5jZXI6IHRoaXMubmV4dGpzQ29udGFpbmVycy5hbGJGYXJnYXRlU2VydmljZS5sb2FkQmFsYW5jZXIsXG4gICAgICBuZXh0anNUeXBlOiB0aGlzLm5leHRqc1R5cGUsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNEaXN0cmlidXRpb24sXG4gICAgICBwdWJsaWNEaXJFbnRyaWVzOiB0aGlzLm5leHRqc0J1aWxkLnB1YmxpY0RpckVudHJpZXMsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzR2xvYmFsQ29udGFpbmVycz8ubmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWdsb2JhbC1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtZ2xvYmFsLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVFBLDRDQUEwQztBQUMxQyxtRUFLaUM7QUFHakMsMkVBRzZDO0FBQzdDLGdFQUdnQztBQUVoQyxrREFBOEM7QUEwRTlDOzs7OztHQUtHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQ0FBbUI7O0lBQzdELGdCQUFnQixDQUFtQjtJQUNuQyxrQkFBa0IsQ0FBcUI7SUFDdkMsZ0JBQWdCLENBQW1CO0lBQ25DOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUEsb0JBQVEsRUFDYixXQUFXLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQzVELElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQThCO0lBRTNDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWtDO1FBRWxDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxzQkFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUMxRCxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDO1FBQ25FLDJFQUEyRTtRQUMzRSx5RUFBeUU7UUFDekUsd0VBQXdFO1FBQ3hFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtC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REEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXN0cmlidXRpb24sXG4gIEZ1bmN0aW9uQ29kZSxcbiAgSUtleVZhbHVlU3RvcmUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiO1xuaW1wb3J0IHsgSUNsdXN0ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTmV4dGpzVHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXMsXG4gIE5leHRqc0Jhc2VPdmVycmlkZXMsXG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3QsXG4gIE5leHRqc0Jhc2VQcm9wcyxcbn0gZnJvbSBcIi4vbmV4dGpzLWJhc2UtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc0NvbnRhaW5lcnNQcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0NvbnRhaW5lcnNQcm9wc1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzXCI7XG5pbXBvcnQge1xuICBOZXh0anNDb250YWluZXJzLFxuICBOZXh0anNDb250YWluZXJzT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi4vbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWNvbnRhaW5lcnNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Rpc3RyaWJ1dGlvbixcbiAgTmV4dGpzRGlzdHJpYnV0aW9uT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi4vbmV4dGpzLWRpc3RyaWJ1dGlvblwiO1xuaW1wb3J0IHsgTmV4dGpzUG9zdERlcGxveSB9IGZyb20gXCIuLi9uZXh0anMtcG9zdC1kZXBsb3lcIjtcbmltcG9ydCB7IGpvaW5QYXRoIH0gZnJvbSBcIi4uL3V0aWxzL2Jhc2UtcGF0aFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0dsb2JhbENvbnRhaW5lcnNDb25zdHJ1Y3RPdmVycmlkZXMgZXh0ZW5kcyBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzQ29udGFpbmVyc1Byb3BzPzogT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHM7XG4gIHJlYWRvbmx5IG5leHRqc0Rpc3RyaWJ1dGlvblByb3BzPzogT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wcztcbn1cblxuLyoqXG4gKiBPdmVycmlkZXMgZm9yIGBOZXh0anNHbG9iYWxDb250YWluZXJzYC4gT3ZlcnJpZGVzIGFyZSBsb3dlciBsZXZlbCB0aGFuXG4gKiBwcm9wcyBhbmQgYXJlIHBhc3NlZCBkaXJlY3RseSB0byBDREsgQ29uc3RydWN0cyBnaXZpbmcgeW91IG1vcmUgY29udHJvbC4gSXQnc1xuICogcmVjb21tZW5kZWQgdG8gdXNlIGNhdXRpb24gYW5kIHJldmlldyBzb3VyY2UgY29kZSBzbyB5b3Uga25vdyBob3cgdGhleSdyZSB1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0dsb2JhbENvbnRhaW5lcnNPdmVycmlkZXMgZXh0ZW5kcyBOZXh0anNCYXNlT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzR2xvYmFsQ29udGFpbmVycz86IE5leHRqc0dsb2JhbENvbnRhaW5lcnNDb25zdHJ1Y3RPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc0NvbnRhaW5lcnM/OiBOZXh0anNDb250YWluZXJzT3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNEaXN0cmlidXRpb24/OiBOZXh0anNEaXN0cmlidXRpb25PdmVycmlkZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzR2xvYmFsQ29udGFpbmVyc1Byb3BzIGV4dGVuZHMgTmV4dGpzQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIEJyaW5nIHlvdXIgb3duIEFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXIuIFdoZW4gcHJvdmlkZWQsIGl0IGlzIHBhc3NlZFxuICAgKiBkaXJlY3RseSB0byBgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZWAuIElmIHRoZSBBTEIgYWxyZWFkeVxuICAgKiBoYXMgYSBsaXN0ZW5lciBvbiBwb3J0IDgwLCBjYWxsIGByZW1vdmVBdXRvQ3JlYXRlZExpc3RlbmVyKClgIGFmdGVyXG4gICAqIGNvbnN0cnVjdGlvbiB0byBhdm9pZCBkZXBsb3ltZW50IGZhaWx1cmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxiPzogSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gZGlzdHJpYnV0aW9uLiBDYW4gYmUgdXNlZCB3aXRoIGBiYXNlUGF0aGAgdG8gaG9zdCBtdWx0aXBsZVxuICAgKiBhcHBzIG9uIHRoZSBzYW1lIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uPzogRGlzdHJpYnV0aW9uO1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gRUNTIGNsdXN0ZXIuIFdoZW4gcHJvdmlkZWQsIGNkay1uZXh0anMgd2lsbCBza2lwIGNyZWF0aW5nXG4gICAqIGEgbmV3IGNsdXN0ZXIgYW5kIFZQQyBnYXRld2F5IGVuZHBvaW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGVjc0NsdXN0ZXI/OiBJQ2x1c3RlcjtcbiAgLyoqXG4gICAqIFBhdGggdG8gQVBJIFJvdXRlIEhhbmRsZXIgdGhhdCByZXR1cm5zIEhUVFAgMjAwIHRvIGVuc3VyZSBjb21wdXRlIGhlYWx0aC5cbiAgICogVXNlZCBieSB0aGUgQUxCIHRhcmdldCBncm91cCBhbmQgdGhlIEVDUyBjb250YWluZXIgaGVhbHRoIGNoZWNrLCBib3RoIG9mXG4gICAqIHdoaWNoIGhhdmUgdG8gYmUgYWJsZSB0byB0ZWxsIGEgcnVubmluZyB0YXNrIGZyb20gYSB3ZWRnZWQgb25lLlxuICAgKlxuICAgKiBHaXZlIHRoZSBwYXRoIGFzIHlvdXIgYXBwIHJvdXRlcyBpdCwgd2l0aG91dCB5b3VyIGFwcCdzIGBiYXNlUGF0aGAg4oCUXG4gICAqIGNkay1uZXh0anMgYWRkcyB0aGF0IHByZWZpeCwgc2luY2UgYm90aCBjaGVja3MgaGl0IHRoZSBhcHAgZGlyZWN0bHkuXG4gICAqIEBleGFtcGxlIFwiL2FwaS9oZWFsdGhcIlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBhcGkvaGVhbHRoL3JvdXRlLnRzXG4gICAqIGltcG9ydCB7IE5leHRSZXNwb25zZSB9IGZyb20gXCJuZXh0L3NlcnZlclwiO1xuICAgKlxuICAgKiBleHBvcnQgZnVuY3Rpb24gR0VUKCkge1xuICAgKiAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbihcIlwiKTtcbiAgICogfVxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2tQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBwcm9wcyBvZiBhbnkgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzR2xvYmFsQ29udGFpbmVyc092ZXJyaWRlcztcbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgRnVuY3Rpb24gY29kZSBydW4gZmlyc3Qgb24gZXZlcnkgdmlld2VyIHJlcXVlc3QsIHN0YXRpYyBhc3NldHNcbiAgICogaW5jbHVkZWQg4oCUIEhUVFAgQmFzaWMgYXV0aCBvbiBhIHByZS1sYXVuY2ggc2l0ZSwgc2F5LiBJdCBtdXN0IGRlZmluZVxuICAgKiBgdmlld2VyUmVxdWVzdChldmVudClgLCBhcyBhIGZ1bmN0aW9uIG9yIGEgYHZhcmAvYGxldGAvYGNvbnN0YC5cbiAgICogQHNlZSBOZXh0anNEaXN0cmlidXRpb25Qcm9wcy52aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgdmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZT86IEZ1bmN0aW9uQ29kZTtcbiAgLyoqXG4gICAqIEEgQ2xvdWRGcm9udCBLZXlWYWx1ZVN0b3JlIGB2aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlYCBjYW4gcmVhZCB3aXRoXG4gICAqIGBjZi5rdnMoKWAsIHNvIGNyZWRlbnRpYWxzIHN0YXkgb3V0IG9mIHRoZSB0ZW1wbGF0ZS5cbiAgICogQHNlZSBOZXh0anNEaXN0cmlidXRpb25Qcm9wcy52aWV3ZXJSZXF1ZXN0S2V5VmFsdWVTdG9yZVxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHZpZXdlclJlcXVlc3RLZXlWYWx1ZVN0b3JlPzogSUtleVZhbHVlU3RvcmU7XG59XG5cbi8qKlxuICogRGVwbG95IE5leHQuanMgZ2xvYmFsbHkgZGlzdHJpYnV0ZWQgd2l0aCBjb250YWluZXJzLiBVc2VzIFtDbG91ZEZyb250XG4gKiBEaXN0cmlidXRpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9kaXN0cmlidXRpb24td29ya2luZy13aXRoLmh0bWwpXG4gKiBhcyBDb250ZW50IERlbGl2ZXJ5IE5ldHdvcmsgKENETikgZm9yIGdsb2JhbCBkaXN0cmlidXRpb24gYW5kIFtBV1MgRmFyZ2F0ZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvQVdTX0ZhcmdhdGUuaHRtbClcbiAqIGZvciBjb250YWluZXJzLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzR2xvYmFsQ29udGFpbmVycyBleHRlbmRzIE5leHRqc0Jhc2VDb25zdHJ1Y3Qge1xuICBuZXh0anNDb250YWluZXJzOiBOZXh0anNDb250YWluZXJzO1xuICBuZXh0anNEaXN0cmlidXRpb246IE5leHRqc0Rpc3RyaWJ1dGlvbjtcbiAgbmV4dGpzUG9zdERlcGxveTogTmV4dGpzUG9zdERlcGxveTtcbiAgLyoqXG4gICAqIFB1YmxpYyBVUkwgb2YgdGhlIGFwcCwgaW5jbHVkaW5nIGBiYXNlUGF0aGAg4oCUIHRoZSBhcHAgb25seSBhbnN3ZXJzIHVuZGVyXG4gICAqIHRoYXQgcHJlZml4LCBhbmQgaXQncyBkZXJpdmVkIGZyb20gdGhlIGFwcCdzIG93biBgYmFzZVBhdGhgIHdoZW4gdGhlIHByb3AgaXNcbiAgICogbGVmdCB1bnNldCwgc28gaXQncyB0aGVyZSB3aGV0aGVyIG9yIG5vdCB5b3UgYXNrZWQgZm9yIGl0LlxuICAgKi9cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBqb2luUGF0aChcbiAgICAgIGBodHRwczovLyR7dGhpcy5uZXh0anNEaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uLmRvbWFpbk5hbWV9YCxcbiAgICAgIHRoaXMucmVzb2x2ZWRCYXNlUGF0aCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzR2xvYmFsQ29udGFpbmVyc1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTmV4dGpzR2xvYmFsQ29udGFpbmVyc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzLCBOZXh0anNUeXBlLkdMT0JBTF9DT05UQUlORVJTKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICB0aGlzLm5leHRqc0NvbnRhaW5lcnMgPSB0aGlzLmNyZWF0ZU5leHRqc0NvbnRhaW5lcnMoKTtcbiAgICB0aGlzLm5leHRqc0Rpc3RyaWJ1dGlvbiA9IHRoaXMuY3JlYXRlTmV4dGpzRGlzdHJpYnV0aW9uKCk7XG4gICAgY29uc3QgeyB0YXNrRGVmaW5pdGlvbiB9ID0gdGhpcy5uZXh0anNDb250YWluZXJzLmFsYkZhcmdhdGVTZXJ2aWNlO1xuICAgIC8vIExldHMgb24tZGVtYW5kIHJldmFsaWRhdGlvbiBldmljdCBzdGFsZSByZXNwb25zZXMgZnJvbSB0aGUgQ0ROIGVkZ2UsIG5vdFxuICAgIC8vIGp1c3QgdGhlIG9yaWdpbidzIGNhY2hlLiBUaGUgb3JpZ2luIGlzIHRoZSBBTEIsIHdoaWNoIHRoZSB0YXNrIGRvZXNuJ3RcbiAgICAvLyBkZXBlbmQgb24sIHNvIG5hbWluZyB0aGUgZGlzdHJpYnV0aW9uIGhlcmUgbWFrZXMgbm8gZGVwZW5kZW5jeSBjeWNsZS5cbiAgICBjb25zdCB7IGRpc3RyaWJ1dGlvbiB9ID0gdGhpcy5uZXh0anNEaXN0cmlidXRpb247XG4gICAgZGlzdHJpYnV0aW9uLmdyYW50Q3JlYXRlSW52YWxpZGF0aW9uKHRhc2tEZWZpbml0aW9uLnRhc2tSb2xlKTtcbiAgICB0YXNrRGVmaW5pdGlvbi5kZWZhdWx0Q29udGFpbmVyPy5hZGRFbnZpcm9ubWVudChcbiAgICAgIFwiQ0RLX05FWFRKU19ESVNUUklCVVRJT05fSURcIixcbiAgICAgIGRpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25JZCxcbiAgICApO1xuICAgIC8vIFRoZSBBTEIgaXMgcmVhY2hhYmxlIHRocm91Z2ggdGhlIGRpc3RyaWJ1dGlvbidzIFZQQyBvcmlnaW4gYWxvbmUsIHNvXG4gICAgLy8gYENsb3VkRnJvbnQtRm9yd2FyZGVkLVByb3RvYCBpcyBhbHdheXMgQ2xvdWRGcm9udCdzIG93bjsgc2VlXG4gICAgLy8gYHZpZXdlckhlYWRlcnNgIGluIHNyYy9ydW50aW1lL2h0dHAvbm9kZS1zZXJ2ZXIudHMuXG4gICAgdGFza0RlZmluaXRpb24uZGVmYXVsdENvbnRhaW5lcj8uYWRkRW52aXJvbm1lbnQoXG4gICAgICBcIkNES19ORVhUSlNfVFJVU1RfQ0xPVURGUk9OVF9QUk9UT1wiLFxuICAgICAgXCIxXCIsXG4gICAgKTtcbiAgICB0aGlzLm5leHRqc1Bvc3REZXBsb3kgPSB0aGlzLmNyZWF0ZU5leHRqc1Bvc3REZXBsb3koXG4gICAgICB0aGlzLm5leHRqc0Rpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb24sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzQ29udGFpbmVycygpOiBOZXh0anNDb250YWluZXJzIHtcbiAgICAvLyBDcmVhdGUgY29udGFpbmVycyB3aXRoIGxvY2FsIGJ1aWxkIG91dHB1dFxuICAgIHJldHVybiBuZXcgTmV4dGpzQ29udGFpbmVycyh0aGlzLCBcIk5leHRqc0NvbnRhaW5lcnNcIiwge1xuICAgICAgLi4udGhpcy5jb21wdXRlQmFzZVByb3BzKCksXG4gICAgICBhbGI6IHRoaXMucHJvcHMuYWxiLFxuICAgICAgYnVpbGREaXJlY3Rvcnk6IHRoaXMucHJvcHMuYnVpbGREaXJlY3RvcnksXG4gICAgICBlY3NDbHVzdGVyOiB0aGlzLnByb3BzLmVjc0NsdXN0ZXIsXG4gICAgICBoZWFsdGhDaGVja1BhdGg6IHRoaXMucmVzb2x2ZWRIZWFsdGhDaGVja1BhdGgodGhpcy5wcm9wcy5oZWFsdGhDaGVja1BhdGgpLFxuICAgICAgcmVsYXRpdmVFbnRyeXBvaW50UGF0aDogdGhpcy5uZXh0anNCdWlsZC5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQsXG4gICAgICByZWxhdGl2ZVByb2plY3REaXI6IHRoaXMubmV4dGpzQnVpbGQucmVsYXRpdmVQcm9qZWN0RGlyLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNDb250YWluZXJzLFxuICAgICAgICBlY3NDbHVzdGVyUHJvcHM6IHtcbiAgICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQ29udGFpbmVycz8uZWNzQ2x1c3RlclByb3BzLFxuICAgICAgICAgIC8vIENvbmRpdGlvbmFsIGZvciB0aGUgc2FtZSByZWFzb24gYXMgdGhlIEZ1bmN0aW9ucycgYHZwY2A6IGFzc2lnbmVkXG4gICAgICAgICAgLy8gdW5jb25kaXRpb25hbGx5LCBhbiB1bnNldCBgdnBjYCBwcm9wIHdvdWxkIGVyYXNlIHRoZSBvdmVycmlkZSdzLlxuICAgICAgICAgIC4uLih0aGlzLmJhc2VQcm9wcy52cGMgPyB7IHZwYzogdGhpcy5iYXNlUHJvcHMudnBjIH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0dsb2JhbENvbnRhaW5lcnM/Lm5leHRqc0NvbnRhaW5lcnNQcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzRGlzdHJpYnV0aW9uKCkge1xuICAgIHJldHVybiBuZXcgTmV4dGpzRGlzdHJpYnV0aW9uKHRoaXMsIFwiTmV4dGpzRGlzdHJpYnV0aW9uXCIsIHtcbiAgICAgIGFzc2V0c0J1Y2tldDogdGhpcy5uZXh0anNTdGF0aWNBc3NldHMuYnVja2V0LFxuICAgICAgYXNzZXRQcmVmaXg6IHRoaXMubmV4dGpzQnVpbGQubmV4dENvbmZpZ0Fzc2V0UHJlZml4UGF0aCxcbiAgICAgIGJhc2VQYXRoOiB0aGlzLnJlc29sdmVkQmFzZVBhdGgsXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5uZXh0anNDb250YWluZXJzLmFsYkZhcmdhdGVTZXJ2aWNlLmNlcnRpZmljYXRlLFxuICAgICAgZGlzdHJpYnV0aW9uOiB0aGlzLnByb3BzLmRpc3RyaWJ1dGlvbixcbiAgICAgIGxvYWRCYWxhbmNlcjogdGhpcy5uZXh0anNDb250YWluZXJzLmFsYkZhcmdhdGVTZXJ2aWNlLmxvYWRCYWxhbmNlcixcbiAgICAgIG5leHRqc1R5cGU6IHRoaXMubmV4dGpzVHlwZSxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Rpc3RyaWJ1dGlvbixcbiAgICAgIHB1YmxpY0RpckVudHJpZXM6IHRoaXMubmV4dGpzQnVpbGQucHVibGljRGlyRW50cmllcyxcbiAgICAgIHNlcnZpY2VXb3JrZXJBbGxvd2VkOiB0aGlzLnNlcnZpY2VXb3JrZXJBbGxvd2VkLFxuICAgICAgdmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZTogdGhpcy5wcm9wcy52aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlLFxuICAgICAgdmlld2VyUmVxdWVzdEtleVZhbHVlU3RvcmU6IHRoaXMucHJvcHMudmlld2VyUmVxdWVzdEtleVZhbHVlU3RvcmUsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzR2xvYmFsQ29udGFpbmVycz8ubmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Distribution } from "aws-cdk-lib/aws-cloudfront";
|
|
1
|
+
import { Distribution, FunctionCode, IKeyValueStore } from "aws-cdk-lib/aws-cloudfront";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { NextjsBaseConstructOverrides, NextjsBaseOverrides, NextjsBaseConstruct, NextjsBaseProps } from "./nextjs-base-construct";
|
|
4
4
|
import { OptionalNextjsDistributionProps } from "../generated-structs/OptionalNextjsDistributionProps";
|
|
@@ -41,6 +41,21 @@ export interface NextjsGlobalFunctionsProps extends NextjsBaseProps {
|
|
|
41
41
|
* Override props of any construct.
|
|
42
42
|
*/
|
|
43
43
|
readonly overrides?: NextjsGlobalFunctionsOverrides;
|
|
44
|
+
/**
|
|
45
|
+
* CloudFront Function code run first on every viewer request, static assets
|
|
46
|
+
* included — HTTP Basic auth on a pre-launch site, say. It must define
|
|
47
|
+
* `viewerRequest(event)`, as a function or a `var`/`let`/`const`.
|
|
48
|
+
* @see NextjsDistributionProps.viewerRequestFunctionCode
|
|
49
|
+
* @default - none
|
|
50
|
+
*/
|
|
51
|
+
readonly viewerRequestFunctionCode?: FunctionCode;
|
|
52
|
+
/**
|
|
53
|
+
* A CloudFront KeyValueStore `viewerRequestFunctionCode` can read with
|
|
54
|
+
* `cf.kvs()`, so credentials stay out of the template.
|
|
55
|
+
* @see NextjsDistributionProps.viewerRequestKeyValueStore
|
|
56
|
+
* @default - none
|
|
57
|
+
*/
|
|
58
|
+
readonly viewerRequestKeyValueStore?: IKeyValueStore;
|
|
44
59
|
}
|
|
45
60
|
/**
|
|
46
61
|
* Deploy Next.js globally distributed with functions. Uses [CloudFront
|
|
@@ -17,7 +17,7 @@ const base_path_1 = require("../utils/base-path");
|
|
|
17
17
|
* for functions.
|
|
18
18
|
*/
|
|
19
19
|
class NextjsGlobalFunctions extends nextjs_base_construct_1.NextjsBaseConstruct {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsGlobalFunctions", version: "0.7.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsGlobalFunctions", version: "0.7.14" };
|
|
21
21
|
nextjsFunctions;
|
|
22
22
|
nextjsDistribution;
|
|
23
23
|
nextjsPostDeploy;
|
|
@@ -92,6 +92,7 @@ class NextjsGlobalFunctions extends nextjs_base_construct_1.NextjsBaseConstruct
|
|
|
92
92
|
nextjsType: this.nextjsType,
|
|
93
93
|
overrides: this.props.overrides?.nextjsDistribution,
|
|
94
94
|
publicDirEntries: this.nextjsBuild.publicDirEntries,
|
|
95
|
+
serviceWorkerAllowed: this.serviceWorkerAllowed,
|
|
95
96
|
// The default group backs the default behavior, so only the rest need
|
|
96
97
|
// behaviors of their own.
|
|
97
98
|
functionGroups: this.nextjsFunctions.functionGroups
|
|
@@ -101,9 +102,11 @@ class NextjsGlobalFunctions extends nextjs_base_construct_1.NextjsBaseConstruct
|
|
|
101
102
|
functionUrl: group.functionUrl,
|
|
102
103
|
})),
|
|
103
104
|
functionGroupBehaviors: this.nextjsBuild.functionGroupBehaviors,
|
|
105
|
+
viewerRequestFunctionCode: this.props.viewerRequestFunctionCode,
|
|
106
|
+
viewerRequestKeyValueStore: this.props.viewerRequestKeyValueStore,
|
|
104
107
|
...this.props.overrides?.nextjsGlobalFunctions?.nextjsDistributionProps,
|
|
105
108
|
});
|
|
106
109
|
}
|
|
107
110
|
}
|
|
108
111
|
exports.NextjsGlobalFunctions = NextjsGlobalFunctions;
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWdsb2JhbC1mdW5jdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1nbG9iYWwtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw2Q0FBb0M7QUFFcEMsaURBQThEO0FBRTlELGlEQUFzRDtBQUV0RCxnRUFBb0U7QUFDcEUsNENBQTBDO0FBQzFDLG1FQUtpQztBQU9qQyxnRUFHZ0M7QUFFaEMsa0RBQThDO0FBMEM5Qzs7Ozs7R0FLRztBQUNILE1BQWEscUJBQXNCLFNBQVEsMkNBQW1COztJQUM1RCxlQUFlLENBQWtCO0lBQ2pDLGtCQUFrQixDQUFxQjtJQUN2QyxnQkFBZ0IsQ0FBbUI7SUFDbkM7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBQSxvQkFBUSxFQUNiLFdBQVcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBNkI7SUFFMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsc0JBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzFELDhFQUE4RTtRQUM5RSw0RUFBNEU7UUFDNUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUN2RCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxD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U0FDeEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwR0gsc0RBcUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IERpc3RyaWJ1dGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiO1xuaW1wb3J0IHsgUG9saWN5LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgRnVuY3Rpb24gYXMgTGFtYmRhRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0ZVTkNUSU9OX0dST1VQIH0gZnJvbSBcIi4uL2FkYXB0ZXIvZnVuY3Rpb24tZ3JvdXBzXCI7XG5pbXBvcnQgeyBOZXh0anNUeXBlIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdE92ZXJyaWRlcyxcbiAgTmV4dGpzQmFzZU92ZXJyaWRlcyxcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdCxcbiAgTmV4dGpzQmFzZVByb3BzLFxufSBmcm9tIFwiLi9uZXh0anMtYmFzZS1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IE9wdGlvbmFsTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wc1wiO1xuaW1wb3J0IHtcbiAgTmV4dGpzRnVuY3Rpb25Hcm91cCxcbiAgTmV4dGpzRnVuY3Rpb25zLFxuICBOZXh0anNGdW5jdGlvbnNPdmVycmlkZXMsXG59IGZyb20gXCIuLi9uZXh0anMtY29tcHV0ZS9uZXh0anMtZnVuY3Rpb25zXCI7XG5pbXBvcnQge1xuICBOZXh0anNEaXN0cmlidXRpb24sXG4gIE5leHRqc0Rpc3RyaWJ1dGlvbk92ZXJyaWRlcyxcbn0gZnJvbSBcIi4uL25leHRqcy1kaXN0cmlidXRpb25cIjtcbmltcG9ydCB7IE5leHRqc1Bvc3REZXBsb3kgfSBmcm9tIFwiLi4vbmV4dGpzLXBvc3QtZGVwbG95XCI7XG5pbXBvcnQgeyBqb2luUGF0aCB9IGZyb20gXCIuLi91dGlscy9iYXNlLXBhdGhcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNHbG9iYWxGdW5jdGlvbnNDb25zdHJ1Y3RPdmVycmlkZXMgZXh0ZW5kcyBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzRGlzdHJpYnV0aW9uUHJvcHM/OiBPcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzO1xufVxuXG4vKipcbiAqIE92ZXJyaWRlcyBmb3IgYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2AuIE92ZXJyaWRlcyBhcmUgbG93ZXIgbGV2ZWwgdGhhblxuICogcHJvcHMgYW5kIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gQ0RLIENvbnN0cnVjdHMgZ2l2aW5nIHlvdSBtb3JlIGNvbnRyb2wuIEl0J3NcbiAqIHJlY29tbWVuZGVkIHRvIHVzZSBjYXV0aW9uIGFuZCByZXZpZXcgc291cmNlIGNvZGUgc28geW91IGtub3cgaG93IHRoZXkncmUgdXNlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0anNHbG9iYWxGdW5jdGlvbnNPdmVycmlkZXMgZXh0ZW5kcyBOZXh0anNCYXNlT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzR2xvYmFsRnVuY3Rpb25zPzogTmV4dGpzR2xvYmFsRnVuY3Rpb25zQ29uc3RydWN0T3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNGdW5jdGlvbnM/OiBOZXh0anNGdW5jdGlvbnNPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc0Rpc3RyaWJ1dGlvbj86IE5leHRqc0Rpc3RyaWJ1dGlvbk92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNHbG9iYWxGdW5jdGlvbnNQcm9wcyBleHRlbmRzIE5leHRqc0Jhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBCcmluZyB5b3VyIG93biBkaXN0cmlidXRpb24uIENhbiBiZSB1c2VkIHdpdGggYGJhc2VQYXRoYCB0byBob3N0IG11bHRpcGxlXG4gICAqIGFwcHMgb24gdGhlIHNhbWUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqL1xuICByZWFkb25seSBkaXN0cmlidXRpb24/OiBEaXN0cmlidXRpb247XG4gIC8qKlxuICAgKiBQYWNrYWdlIHNldHMgb2Ygcm91dGVzIGludG8gc2VwYXJhdGUgTGFtYmRhIGZ1bmN0aW9ucywgZWFjaCBmcm9udGVkIGJ5IGl0c1xuICAgKiBvd24gQ2xvdWRGcm9udCBiZWhhdmlvcnMuXG4gICAqXG4gICAqIFJlYWNoIGZvciB0aGlzIHdoZW4gYSBzaW5nbGUgZnVuY3Rpb24gZXhjZWVkcyBMYW1iZGEncyAyNTAgTUIgdW56aXBwZWRcbiAgICogbGltaXQg4oCUIGNkay1uZXh0anMgdGhyb3dzIGF0IHN5bnRoIHdpdGggdGhlIG1lYXN1cmVkIHNpemUgd2hlbiBpdCBkb2VzLiBJdCBpc1xuICAgKiBub3QgYSBwZXJmb3JtYW5jZSBvciBpc29sYXRpb24gZmVhdHVyZTogZXZlcnkgZ3JvdXAgc2hpcHMgdGhlIHNhbWUgTmV4dC5qc1xuICAgKiBydW50aW1lLCBzbyBzcGxpdHRpbmcgb25seSBtb3ZlcyByb3V0ZS1sb2NhbCBjb2RlLlxuICAgKlxuICAgKiBAc2VlIE5leHRqc0Z1bmN0aW9uR3JvdXAgZm9yIHRoZSBwYXR0ZXJuIGdyYW1tYXIgYW5kIGl0cyBsaW1pdHMuXG4gICAqIEBkZWZhdWx0IC0gb25lIGZ1bmN0aW9uIHNlcnZlcyBldmVyeSByb3V0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25Hcm91cHM/OiBOZXh0anNGdW5jdGlvbkdyb3VwW107XG4gIC8qKlxuICAgKiBPdmVycmlkZSBwcm9wcyBvZiBhbnkgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzR2xvYmFsRnVuY3Rpb25zT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIERlcGxveSBOZXh0LmpzIGdsb2JhbGx5IGRpc3RyaWJ1dGVkIHdpdGggZnVuY3Rpb25zLiBVc2VzIFtDbG91ZEZyb250XG4gKiBEaXN0cmlidXRpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9kaXN0cmlidXRpb24td29ya2luZy13aXRoLmh0bWwpXG4gKiBhcyBDb250ZW50IERlbGl2ZXJ5IE5ldHdvcmsgKENETikgZm9yIGdsb2JhbCBkaXN0cmlidXRpb24gYW5kIFtBV1MgTGFtYmRhIEZ1bmN0aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2VsY29tZS5odG1sKVxuICogZm9yIGZ1bmN0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc0dsb2JhbEZ1bmN0aW9ucyBleHRlbmRzIE5leHRqc0Jhc2VDb25zdHJ1Y3Qge1xuICBuZXh0anNGdW5jdGlvbnM6IE5leHRqc0Z1bmN0aW9ucztcbiAgbmV4dGpzRGlzdHJpYnV0aW9uOiBOZXh0anNEaXN0cmlidXRpb247XG4gIG5leHRqc1Bvc3REZXBsb3k6IE5leHRqc1Bvc3REZXBsb3k7XG4gIC8qKlxuICAgKiBQdWJsaWMgVVJMIG9mIHRoZSBhcHAsIGluY2x1ZGluZyBgYmFzZVBhdGhgIOKAlCB0aGUgYXBwIG9ubHkgYW5zd2VycyB1bmRlclxuICAgKiB0aGF0IHByZWZpeCwgYW5kIGl0J3MgZGVyaXZlZCBmcm9tIHRoZSBhcHAncyBvd24gYGJhc2VQYXRoYCB3aGVuIHRoZSBwcm9wIGlzXG4gICAqIGxlZnQgdW5zZXQsIHNvIGl0J3MgdGhlcmUgd2hldGhlciBvciBub3QgeW91IGFza2VkIGZvciBpdC5cbiAgICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gam9pblBhdGgoXG4gICAgICBgaHR0cHM6Ly8ke3RoaXMubmV4dGpzRGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbi5kb21haW5OYW1lfWAsXG4gICAgICB0aGlzLnJlc29sdmVkQmFzZVBhdGgsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc0dsb2JhbEZ1bmN0aW9uc1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNHbG9iYWxGdW5jdGlvbnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMsIE5leHRqc1R5cGUuR0xPQkFMX0ZVTkNUSU9OUyk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgdGhpcy5uZXh0anNGdW5jdGlvbnMgPSB0aGlzLmNyZWF0ZU5leHRqc0Z1bmN0aW9ucygpO1xuICAgIHRoaXMubmV4dGpzRGlzdHJpYnV0aW9uID0gdGhpcy5jcmVhdGVOZXh0anNEaXN0cmlidXRpb24oKTtcbiAgICAvLyBFdmVyeSBncm91cCwgbm90IGp1c3QgdGhlIGRlZmF1bHQgb25lOiBgcmV2YWxpZGF0ZVRhZ2AvYHJldmFsaWRhdGVQYXRoYCBjYW5cbiAgICAvLyBiZSBjYWxsZWQgZnJvbSBhbnkgcm91dGUgaGFuZGxlciwgc28gYW55IGZ1bmN0aW9uIG1heSBuZWVkIHRvIGludmFsaWRhdGUuXG4gICAgY29uc3QgZnVuY3Rpb25zID0gdGhpcy5uZXh0anNGdW5jdGlvbnMuZnVuY3Rpb25Hcm91cHMubWFwKFxuICAgICAgKGdyb3VwKSA9PiBncm91cC5mdW5jdGlvbixcbiAgICApO1xuICAgIHRoaXMud2lyZUNsb3VkRnJvbnRJbnZhbGlkYXRpb24oZnVuY3Rpb25zKTtcbiAgICB0aGlzLm5leHRqc1Bvc3REZXBsb3kgPSB0aGlzLmNyZWF0ZU5leHRqc1Bvc3REZXBsb3koXG4gICAgICB0aGlzLm5leHRqc0Rpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb24sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMZXRzIGBmdW5jdGlvbnNgIGludmFsaWRhdGUgdGhlIGRpc3RyaWJ1dGlvbiwgc28gb24tZGVtYW5kIHJldmFsaWRhdGlvblxuICAgKiAocmV2YWxpZGF0ZVRhZy9yZXZhbGlkYXRlUGF0aCkgY2FuIGV2aWN0IHN0YWxlIHJlc3BvbnNlcyBmcm9tIHRoZSBDRE4gZWRnZVxuICAgKiBjYWNoZSwgbm90IGp1c3QgdGhlIG9yaWdpbidzIFMzL0R5bmFtb0RCIGNhY2hlLlxuICAgKlxuICAgKiBUaGUgZGlzdHJpYnV0aW9uJ3Mgb3JpZ2luIGlzIHRoZSBmdW5jdGlvbnMnIFVSTCwgc28gYSBmdW5jdGlvbiBuYW1pbmcgdGhlXG4gICAqIGRpc3RyaWJ1dGlvbiBiYWNrIOKAlCBpbiBpdHMgZW52aXJvbm1lbnQsIG9yIGluIGl0cyByb2xlJ3MgZGVmYXVsdCBwb2xpY3ksXG4gICAqIHdoaWNoIGEgZnVuY3Rpb24gZGVwZW5kcyBvbiDigJQgd291bGQgYmUgYSBjaXJjdWxhciBDbG91ZEZvcm1hdGlvblxuICAgKiBkZXBlbmRlbmN5LiBTbyB0aGUgSUQgaXMgcHVibGlzaGVkIHRvIGFuIFNTTSBQYXJhbWV0ZXIgd2hvc2UgKm5hbWUqIGlzXG4gICAqIHN0YXRpYywgYW5kIHRoZSBncmFudHMgZ28gaW4gYSBzZXBhcmF0ZSBwb2xpY3kgdGhhdCBkZXBlbmRzIG9uIHRoZVxuICAgKiBkaXN0cmlidXRpb24gd2hpbGUgbm8gZnVuY3Rpb24gZGVwZW5kcyBvbiBpdC5cbiAgICovXG4gIHByaXZhdGUgd2lyZUNsb3VkRnJvbnRJbnZhbGlkYXRpb24oZnVuY3Rpb25zOiBMYW1iZGFGdW5jdGlvbltdKSB7XG4gICAgY29uc3QgeyBkaXN0cmlidXRpb24gfSA9IHRoaXMubmV4dGpzRGlzdHJpYnV0aW9uO1xuICAgIGNvbnN0IHBhcmFtZXRlck5hbWUgPSBgY2RrLW5leHRqcy1kaXN0cmlidXRpb24taWQtJHt0aGlzLm5vZGUuYWRkcn1gO1xuICAgIG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJEaXN0cmlidXRpb25JZFBhcmFtZXRlclwiLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lLFxuICAgICAgc3RyaW5nVmFsdWU6IGRpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25JZCxcbiAgICB9KTtcbiAgICBuZXcgUG9saWN5KHRoaXMsIFwiSW52YWxpZGF0aW9uUG9saWN5XCIsIHtcbiAgICAgIC8vIEEgYG5ldyBGdW5jdGlvbmAgYWx3YXlzIGhhcyBhIHJvbGU7IG9ubHkgaW1wb3J0ZWQgb25lcyBsYWNrIGl0LlxuICAgICAgcm9sZXM6IGZ1bmN0aW9ucy5tYXAoKGZuKSA9PiBmbi5yb2xlISksXG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcInNzbTpHZXRQYXJhbWV0ZXJcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgICBzZXJ2aWNlOiBcInNzbVwiLFxuICAgICAgICAgICAgICByZXNvdXJjZTogXCJwYXJhbWV0ZXJcIixcbiAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBwYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcImNsb3VkZnJvbnQ6Q3JlYXRlSW52YWxpZGF0aW9uXCJdLFxuICAgICAgICAgIHJlc291cmNlczogW2Rpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25Bcm5dLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgZnVuY3Rpb25zLmZvckVhY2goKGZuKSA9PlxuICAgICAgZm4uYWRkRW52aXJvbm1lbnQoXCJDREtfTkVYVEpTX0RJU1RSSUJVVElPTl9JRF9QQVJBTV9OQU1FXCIsIHBhcmFtZXRlck5hbWUpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0Rpc3RyaWJ1dGlvbigpIHtcbiAgICByZXR1cm4gbmV3IE5leHRqc0Rpc3RyaWJ1dGlvbih0aGlzLCBcIk5leHRqc0Rpc3RyaWJ1dGlvblwiLCB7XG4gICAgICBhc3NldHNCdWNrZXQ6IHRoaXMubmV4dGpzU3RhdGljQXNzZXRzLmJ1Y2tldCxcbiAgICAgIGFzc2V0UHJlZml4OiB0aGlzLm5leHRqc0J1aWxkLm5leHRDb25maWdBc3NldFByZWZpeFBhdGgsXG4gICAgICBiYXNlUGF0aDogdGhpcy5yZXNvbHZlZEJhc2VQYXRoLFxuICAgICAgZGlzdHJpYnV0aW9uOiB0aGlzLnByb3BzLmRpc3RyaWJ1dGlvbixcbiAgICAgIGZ1bmN0aW9uVXJsOiB0aGlzLm5leHRqc0Z1bmN0aW9ucy5mdW5jdGlvblVybCxcbiAgICAgIG5leHRqc1R5cGU6IHRoaXMubmV4dGpzVHlwZSxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Rpc3RyaWJ1dGlvbixcbiAgICAgIHB1YmxpY0RpckVudHJpZXM6IHRoaXMubmV4dGpzQnVpbGQucHVibGljRGlyRW50cmllcyxcbiAgICAgIC8vIFRoZSBkZWZhdWx0IGdyb3VwIGJhY2tzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLCBzbyBvbmx5IHRoZSByZXN0IG5lZWRcbiAgICAgIC8vIGJlaGF2aW9ycyBvZiB0aGVpciBvd24uXG4gICAgICBmdW5jdGlvbkdyb3VwczogdGhpcy5uZXh0anNGdW5jdGlvbnMuZnVuY3Rpb25Hcm91cHNcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm5hbWUgIT09IERFRkFVTFRfRlVOQ1RJT05fR1JPVVApXG4gICAgICAgIC5tYXAoKGdyb3VwKSA9PiAoe1xuICAgICAgICAgIG5hbWU6IGdyb3VwLm5hbWUsXG4gICAgICAgICAgZnVuY3Rpb25Vcmw6IGdyb3VwLmZ1bmN0aW9uVXJsISxcbiAgICAgICAgfSkpLFxuICAgICAgZnVuY3Rpb25Hcm91cEJlaGF2aW9yczogdGhpcy5uZXh0anNCdWlsZC5mdW5jdGlvbkdyb3VwQmVoYXZpb3JzLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0dsb2JhbEZ1bmN0aW9ucz8ubmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWdsb2JhbC1mdW5jdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1nbG9iYWwtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw2Q0FBb0M7QUFNcEMsaURBQThEO0FBRTlELGlEQUFzRDtBQUV0RCxnRUFBb0U7QUFDcEUsNENBQTBDO0FBQzFDLG1FQUtpQztBQU9qQyxnRUFHZ0M7QUFFaEMsa0RBQThDO0FBeUQ5Qzs7Ozs7R0FLRztBQUNILE1BQWEscUJBQXNCLFNBQVEsMkNBQW1COztJQUM1RCxlQUFlLENBQWtCO0lBQ2pDLGtCQUFrQixDQUFxQjtJQUN2QyxnQkFBZ0IsQ0FBbUI7SUFDbkM7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBQSxvQkFBUSxFQUNiLFdBQVcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBNkI7SUFFMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsc0JBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzFELDhFQUE4RTtRQUM5RSw0RUFBNEU7UUFDNUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUN2RCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxD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QUMsS0FBSyxDQUFDLHlCQUF5QjtZQUMvRCwwQkFBMEIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQjtZQUNqRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QjtTQUN4RSxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXZHSCxzREF3R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgRGlzdHJpYnV0aW9uLFxuICBGdW5jdGlvbkNvZGUsXG4gIElLZXlWYWx1ZVN0b3JlLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIjtcbmltcG9ydCB7IFBvbGljeSwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IEZ1bmN0aW9uIGFzIExhbWJkYUZ1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IFN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3NtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgREVGQVVMVF9GVU5DVElPTl9HUk9VUCB9IGZyb20gXCIuLi9hZGFwdGVyL2Z1bmN0aW9uLWdyb3Vwc1wiO1xuaW1wb3J0IHsgTmV4dGpzVHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXMsXG4gIE5leHRqc0Jhc2VPdmVycmlkZXMsXG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3QsXG4gIE5leHRqc0Jhc2VQcm9wcyxcbn0gZnJvbSBcIi4vbmV4dGpzLWJhc2UtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Z1bmN0aW9uR3JvdXAsXG4gIE5leHRqc0Z1bmN0aW9ucyxcbiAgTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi4vbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHtcbiAgTmV4dGpzRGlzdHJpYnV0aW9uLFxuICBOZXh0anNEaXN0cmlidXRpb25PdmVycmlkZXMsXG59IGZyb20gXCIuLi9uZXh0anMtZGlzdHJpYnV0aW9uXCI7XG5pbXBvcnQgeyBOZXh0anNQb3N0RGVwbG95IH0gZnJvbSBcIi4uL25leHRqcy1wb3N0LWRlcGxveVwiO1xuaW1wb3J0IHsgam9pblBhdGggfSBmcm9tIFwiLi4vdXRpbHMvYmFzZS1wYXRoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzR2xvYmFsRnVuY3Rpb25zQ29uc3RydWN0T3ZlcnJpZGVzIGV4dGVuZHMgTmV4dGpzQmFzZUNvbnN0cnVjdE92ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IG5leHRqc0Rpc3RyaWJ1dGlvblByb3BzPzogT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wcztcbn1cblxuLyoqXG4gKiBPdmVycmlkZXMgZm9yIGBOZXh0anNHbG9iYWxGdW5jdGlvbnNgLiBPdmVycmlkZXMgYXJlIGxvd2VyIGxldmVsIHRoYW5cbiAqIHByb3BzIGFuZCBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIENESyBDb25zdHJ1Y3RzIGdpdmluZyB5b3UgbW9yZSBjb250cm9sLiBJdCdzXG4gKiByZWNvbW1lbmRlZCB0byB1c2UgY2F1dGlvbiBhbmQgcmV2aWV3IHNvdXJjZSBjb2RlIHNvIHlvdSBrbm93IGhvdyB0aGV5J3JlIHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzR2xvYmFsRnVuY3Rpb25zT3ZlcnJpZGVzIGV4dGVuZHMgTmV4dGpzQmFzZU92ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IG5leHRqc0dsb2JhbEZ1bmN0aW9ucz86IE5leHRqc0dsb2JhbEZ1bmN0aW9uc0NvbnN0cnVjdE92ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzRnVuY3Rpb25zPzogTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNEaXN0cmlidXRpb24/OiBOZXh0anNEaXN0cmlidXRpb25PdmVycmlkZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzR2xvYmFsRnVuY3Rpb25zUHJvcHMgZXh0ZW5kcyBOZXh0anNCYXNlUHJvcHMge1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gZGlzdHJpYnV0aW9uLiBDYW4gYmUgdXNlZCB3aXRoIGBiYXNlUGF0aGAgdG8gaG9zdCBtdWx0aXBsZVxuICAgKiBhcHBzIG9uIHRoZSBzYW1lIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uPzogRGlzdHJpYnV0aW9uO1xuICAvKipcbiAgICogUGFja2FnZSBzZXRzIG9mIHJvdXRlcyBpbnRvIHNlcGFyYXRlIExhbWJkYSBmdW5jdGlvbnMsIGVhY2ggZnJvbnRlZCBieSBpdHNcbiAgICogb3duIENsb3VkRnJvbnQgYmVoYXZpb3JzLlxuICAgKlxuICAgKiBSZWFjaCBmb3IgdGhpcyB3aGVuIGEgc2luZ2xlIGZ1bmN0aW9uIGV4Y2VlZHMgTGFtYmRhJ3MgMjUwIE1CIHVuemlwcGVkXG4gICAqIGxpbWl0IOKAlCBjZGstbmV4dGpzIHRocm93cyBhdCBzeW50aCB3aXRoIHRoZSBtZWFzdXJlZCBzaXplIHdoZW4gaXQgZG9lcy4gSXQgaXNcbiAgICogbm90IGEgcGVyZm9ybWFuY2Ugb3IgaXNvbGF0aW9uIGZlYXR1cmU6IGV2ZXJ5IGdyb3VwIHNoaXBzIHRoZSBzYW1lIE5leHQuanNcbiAgICogcnVudGltZSwgc28gc3BsaXR0aW5nIG9ubHkgbW92ZXMgcm91dGUtbG9jYWwgY29kZS5cbiAgICpcbiAgICogQHNlZSBOZXh0anNGdW5jdGlvbkdyb3VwIGZvciB0aGUgcGF0dGVybiBncmFtbWFyIGFuZCBpdHMgbGltaXRzLlxuICAgKiBAZGVmYXVsdCAtIG9uZSBmdW5jdGlvbiBzZXJ2ZXMgZXZlcnkgcm91dGVcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uR3JvdXBzPzogTmV4dGpzRnVuY3Rpb25Hcm91cFtdO1xuICAvKipcbiAgICogT3ZlcnJpZGUgcHJvcHMgb2YgYW55IGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0dsb2JhbEZ1bmN0aW9uc092ZXJyaWRlcztcbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgRnVuY3Rpb24gY29kZSBydW4gZmlyc3Qgb24gZXZlcnkgdmlld2VyIHJlcXVlc3QsIHN0YXRpYyBhc3NldHNcbiAgICogaW5jbHVkZWQg4oCUIEhUVFAgQmFzaWMgYXV0aCBvbiBhIHByZS1sYXVuY2ggc2l0ZSwgc2F5LiBJdCBtdXN0IGRlZmluZVxuICAgKiBgdmlld2VyUmVxdWVzdChldmVudClgLCBhcyBhIGZ1bmN0aW9uIG9yIGEgYHZhcmAvYGxldGAvYGNvbnN0YC5cbiAgICogQHNlZSBOZXh0anNEaXN0cmlidXRpb25Qcm9wcy52aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgdmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZT86IEZ1bmN0aW9uQ29kZTtcbiAgLyoqXG4gICAqIEEgQ2xvdWRGcm9udCBLZXlWYWx1ZVN0b3JlIGB2aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlYCBjYW4gcmVhZCB3aXRoXG4gICAqIGBjZi5rdnMoKWAsIHNvIGNyZWRlbnRpYWxzIHN0YXkgb3V0IG9mIHRoZSB0ZW1wbGF0ZS5cbiAgICogQHNlZSBOZXh0anNEaXN0cmlidXRpb25Qcm9wcy52aWV3ZXJSZXF1ZXN0S2V5VmFsdWVTdG9yZVxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHZpZXdlclJlcXVlc3RLZXlWYWx1ZVN0b3JlPzogSUtleVZhbHVlU3RvcmU7XG59XG5cbi8qKlxuICogRGVwbG95IE5leHQuanMgZ2xvYmFsbHkgZGlzdHJpYnV0ZWQgd2l0aCBmdW5jdGlvbnMuIFVzZXMgW0Nsb3VkRnJvbnRcbiAqIERpc3RyaWJ1dGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2Rpc3RyaWJ1dGlvbi13b3JraW5nLXdpdGguaHRtbClcbiAqIGFzIENvbnRlbnQgRGVsaXZlcnkgTmV0d29yayAoQ0ROKSBmb3IgZ2xvYmFsIGRpc3RyaWJ1dGlvbiBhbmQgW0FXUyBMYW1iZGEgRnVuY3Rpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93ZWxjb21lLmh0bWwpXG4gKiBmb3IgZnVuY3Rpb25zLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzR2xvYmFsRnVuY3Rpb25zIGV4dGVuZHMgTmV4dGpzQmFzZUNvbnN0cnVjdCB7XG4gIG5leHRqc0Z1bmN0aW9uczogTmV4dGpzRnVuY3Rpb25zO1xuICBuZXh0anNEaXN0cmlidXRpb246IE5leHRqc0Rpc3RyaWJ1dGlvbjtcbiAgbmV4dGpzUG9zdERlcGxveTogTmV4dGpzUG9zdERlcGxveTtcbiAgLyoqXG4gICAqIFB1YmxpYyBVUkwgb2YgdGhlIGFwcCwgaW5jbHVkaW5nIGBiYXNlUGF0aGAg4oCUIHRoZSBhcHAgb25seSBhbnN3ZXJzIHVuZGVyXG4gICAqIHRoYXQgcHJlZml4LCBhbmQgaXQncyBkZXJpdmVkIGZyb20gdGhlIGFwcCdzIG93biBgYmFzZVBhdGhgIHdoZW4gdGhlIHByb3AgaXNcbiAgICogbGVmdCB1bnNldCwgc28gaXQncyB0aGVyZSB3aGV0aGVyIG9yIG5vdCB5b3UgYXNrZWQgZm9yIGl0LlxuICAgKi9cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBqb2luUGF0aChcbiAgICAgIGBodHRwczovLyR7dGhpcy5uZXh0anNEaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uLmRvbWFpbk5hbWV9YCxcbiAgICAgIHRoaXMucmVzb2x2ZWRCYXNlUGF0aCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzR2xvYmFsRnVuY3Rpb25zUHJvcHM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0dsb2JhbEZ1bmN0aW9uc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcywgTmV4dGpzVHlwZS5HTE9CQUxfRlVOQ1RJT05TKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICB0aGlzLm5leHRqc0Z1bmN0aW9ucyA9IHRoaXMuY3JlYXRlTmV4dGpzRnVuY3Rpb25zKCk7XG4gICAgdGhpcy5uZXh0anNEaXN0cmlidXRpb24gPSB0aGlzLmNyZWF0ZU5leHRqc0Rpc3RyaWJ1dGlvbigpO1xuICAgIC8vIEV2ZXJ5IGdyb3VwLCBub3QganVzdCB0aGUgZGVmYXVsdCBvbmU6IGByZXZhbGlkYXRlVGFnYC9gcmV2YWxpZGF0ZVBhdGhgIGNhblxuICAgIC8vIGJlIGNhbGxlZCBmcm9tIGFueSByb3V0ZSBoYW5kbGVyLCBzbyBhbnkgZnVuY3Rpb24gbWF5IG5lZWQgdG8gaW52YWxpZGF0ZS5cbiAgICBjb25zdCBmdW5jdGlvbnMgPSB0aGlzLm5leHRqc0Z1bmN0aW9ucy5mdW5jdGlvbkdyb3Vwcy5tYXAoXG4gICAgICAoZ3JvdXApID0+IGdyb3VwLmZ1bmN0aW9uLFxuICAgICk7XG4gICAgdGhpcy53aXJlQ2xvdWRGcm9udEludmFsaWRhdGlvbihmdW5jdGlvbnMpO1xuICAgIHRoaXMubmV4dGpzUG9zdERlcGxveSA9IHRoaXMuY3JlYXRlTmV4dGpzUG9zdERlcGxveShcbiAgICAgIHRoaXMubmV4dGpzRGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExldHMgYGZ1bmN0aW9uc2AgaW52YWxpZGF0ZSB0aGUgZGlzdHJpYnV0aW9uLCBzbyBvbi1kZW1hbmQgcmV2YWxpZGF0aW9uXG4gICAqIChyZXZhbGlkYXRlVGFnL3JldmFsaWRhdGVQYXRoKSBjYW4gZXZpY3Qgc3RhbGUgcmVzcG9uc2VzIGZyb20gdGhlIENETiBlZGdlXG4gICAqIGNhY2hlLCBub3QganVzdCB0aGUgb3JpZ2luJ3MgUzMvRHluYW1vREIgY2FjaGUuXG4gICAqXG4gICAqIFRoZSBkaXN0cmlidXRpb24ncyBvcmlnaW4gaXMgdGhlIGZ1bmN0aW9ucycgVVJMLCBzbyBhIGZ1bmN0aW9uIG5hbWluZyB0aGVcbiAgICogZGlzdHJpYnV0aW9uIGJhY2sg4oCUIGluIGl0cyBlbnZpcm9ubWVudCwgb3IgaW4gaXRzIHJvbGUncyBkZWZhdWx0IHBvbGljeSxcbiAgICogd2hpY2ggYSBmdW5jdGlvbiBkZXBlbmRzIG9uIOKAlCB3b3VsZCBiZSBhIGNpcmN1bGFyIENsb3VkRm9ybWF0aW9uXG4gICAqIGRlcGVuZGVuY3kuIFNvIHRoZSBJRCBpcyBwdWJsaXNoZWQgdG8gYW4gU1NNIFBhcmFtZXRlciB3aG9zZSAqbmFtZSogaXNcbiAgICogc3RhdGljLCBhbmQgdGhlIGdyYW50cyBnbyBpbiBhIHNlcGFyYXRlIHBvbGljeSB0aGF0IGRlcGVuZHMgb24gdGhlXG4gICAqIGRpc3RyaWJ1dGlvbiB3aGlsZSBubyBmdW5jdGlvbiBkZXBlbmRzIG9uIGl0LlxuICAgKi9cbiAgcHJpdmF0ZSB3aXJlQ2xvdWRGcm9udEludmFsaWRhdGlvbihmdW5jdGlvbnM6IExhbWJkYUZ1bmN0aW9uW10pIHtcbiAgICBjb25zdCB7IGRpc3RyaWJ1dGlvbiB9ID0gdGhpcy5uZXh0anNEaXN0cmlidXRpb247XG4gICAgY29uc3QgcGFyYW1ldGVyTmFtZSA9IGBjZGstbmV4dGpzLWRpc3RyaWJ1dGlvbi1pZC0ke3RoaXMubm9kZS5hZGRyfWA7XG4gICAgbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCBcIkRpc3RyaWJ1dGlvbklkUGFyYW1ldGVyXCIsIHtcbiAgICAgIHBhcmFtZXRlck5hbWUsXG4gICAgICBzdHJpbmdWYWx1ZTogZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbklkLFxuICAgIH0pO1xuICAgIG5ldyBQb2xpY3kodGhpcywgXCJJbnZhbGlkYXRpb25Qb2xpY3lcIiwge1xuICAgICAgLy8gQSBgbmV3IEZ1bmN0aW9uYCBhbHdheXMgaGFzIGEgcm9sZTsgb25seSBpbXBvcnRlZCBvbmVzIGxhY2sgaXQuXG4gICAgICByb2xlczogZnVuY3Rpb25zLm1hcCgoZm4pID0+IGZuLnJvbGUhKSxcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wic3NtOkdldFBhcmFtZXRlclwiXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIFN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgICAgIHNlcnZpY2U6IFwic3NtXCIsXG4gICAgICAgICAgICAgIHJlc291cmNlOiBcInBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHBhcmFtZXRlck5hbWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wiY2xvdWRmcm9udDpDcmVhdGVJbnZhbGlkYXRpb25cIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbkFybl0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcbiAgICBmdW5jdGlvbnMuZm9yRWFjaCgoZm4pID0+XG4gICAgICBmbi5hZGRFbnZpcm9ubWVudChcIkNES19ORVhUSlNfRElTVFJJQlVUSU9OX0lEX1BBUkFNX05BTUVcIiwgcGFyYW1ldGVyTmFtZSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzRGlzdHJpYnV0aW9uKCkge1xuICAgIHJldHVybiBuZXcgTmV4dGpzRGlzdHJpYnV0aW9uKHRoaXMsIFwiTmV4dGpzRGlzdHJpYnV0aW9uXCIsIHtcbiAgICAgIGFzc2V0c0J1Y2tldDogdGhpcy5uZXh0anNTdGF0aWNBc3NldHMuYnVja2V0LFxuICAgICAgYXNzZXRQcmVmaXg6IHRoaXMubmV4dGpzQnVpbGQubmV4dENvbmZpZ0Fzc2V0UHJlZml4UGF0aCxcbiAgICAgIGJhc2VQYXRoOiB0aGlzLnJlc29sdmVkQmFzZVBhdGgsXG4gICAgICBkaXN0cmlidXRpb246IHRoaXMucHJvcHMuZGlzdHJpYnV0aW9uLFxuICAgICAgZnVuY3Rpb25Vcmw6IHRoaXMubmV4dGpzRnVuY3Rpb25zLmZ1bmN0aW9uVXJsLFxuICAgICAgbmV4dGpzVHlwZTogdGhpcy5uZXh0anNUeXBlLFxuICAgICAgb3ZlcnJpZGVzOiB0aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzRGlzdHJpYnV0aW9uLFxuICAgICAgcHVibGljRGlyRW50cmllczogdGhpcy5uZXh0anNCdWlsZC5wdWJsaWNEaXJFbnRyaWVzLFxuICAgICAgc2VydmljZVdvcmtlckFsbG93ZWQ6IHRoaXMuc2VydmljZVdvcmtlckFsbG93ZWQsXG4gICAgICAvLyBUaGUgZGVmYXVsdCBncm91cCBiYWNrcyB0aGUgZGVmYXVsdCBiZWhhdmlvciwgc28gb25seSB0aGUgcmVzdCBuZWVkXG4gICAgICAvLyBiZWhhdmlvcnMgb2YgdGhlaXIgb3duLlxuICAgICAgZnVuY3Rpb25Hcm91cHM6IHRoaXMubmV4dGpzRnVuY3Rpb25zLmZ1bmN0aW9uR3JvdXBzXG4gICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5uYW1lICE9PSBERUZBVUxUX0ZVTkNUSU9OX0dST1VQKVxuICAgICAgICAubWFwKChncm91cCkgPT4gKHtcbiAgICAgICAgICBuYW1lOiBncm91cC5uYW1lLFxuICAgICAgICAgIGZ1bmN0aW9uVXJsOiBncm91cC5mdW5jdGlvblVybCEsXG4gICAgICAgIH0pKSxcbiAgICAgIGZ1bmN0aW9uR3JvdXBCZWhhdmlvcnM6IHRoaXMubmV4dGpzQnVpbGQuZnVuY3Rpb25Hcm91cEJlaGF2aW9ycyxcbiAgICAgIHZpZXdlclJlcXVlc3RGdW5jdGlvbkNvZGU6IHRoaXMucHJvcHMudmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZSxcbiAgICAgIHZpZXdlclJlcXVlc3RLZXlWYWx1ZVN0b3JlOiB0aGlzLnByb3BzLnZpZXdlclJlcXVlc3RLZXlWYWx1ZVN0b3JlLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0dsb2JhbEZ1bmN0aW9ucz8ubmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,7 +13,7 @@ const base_path_1 = require("../utils/base-path");
|
|
|
13
13
|
* for containers.
|
|
14
14
|
*/
|
|
15
15
|
class NextjsRegionalContainers extends nextjs_base_construct_1.NextjsBaseConstruct {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsRegionalContainers", version: "0.7.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsRegionalContainers", version: "0.7.14" };
|
|
17
17
|
nextjsContainers;
|
|
18
18
|
nextjsPostDeploy;
|
|
19
19
|
/**
|
|
@@ -11,7 +11,7 @@ const nextjs_base_construct_1 = require("./nextjs-base-construct");
|
|
|
11
11
|
* for routing requests and AWS Lambda Functions for server-side rendering.
|
|
12
12
|
*/
|
|
13
13
|
class NextjsRegionalFunctions extends nextjs_base_construct_1.NextjsBaseConstruct {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsRegionalFunctions", version: "0.7.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-nextjs.NextjsRegionalFunctions", version: "0.7.14" };
|
|
15
15
|
nextjsFunctions;
|
|
16
16
|
nextjsApi;
|
|
17
17
|
nextjsPostDeploy;
|
|
@@ -34,6 +34,7 @@ class NextjsRegionalFunctions extends nextjs_base_construct_1.NextjsBaseConstruc
|
|
|
34
34
|
basePath: this.resolvedBasePath,
|
|
35
35
|
overrides: this.props.overrides?.nextjsApi,
|
|
36
36
|
publicDirEntries: this.nextjsBuild.publicDirEntries,
|
|
37
|
+
serviceWorkerAllowed: this.serviceWorkerAllowed,
|
|
37
38
|
// `serverFunction` above is the default group's, which the `{proxy+}`
|
|
38
39
|
// catch-all reaches; the rest get resources of their own.
|
|
39
40
|
functionGroups: this.nextjsFunctions.functionGroups.filter((group) => group.name !== function_groups_1.DEFAULT_FUNCTION_GROUP),
|
|
@@ -43,4 +44,4 @@ class NextjsRegionalFunctions extends nextjs_base_construct_1.NextjsBaseConstruc
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
exports.NextjsRegionalFunctions = NextjsRegionalFunctions;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXJlZ2lvbmFsLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb290LWNvbnN0cnVjdHMvbmV4dGpzLXJlZ2lvbmFsLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsZ0VBQW9FO0FBQ3BFLDRDQUEwQztBQUUxQyw4Q0FBOEQ7QUFDOUQsbUVBS2lDO0FBNkNqQzs7O0dBR0c7QUFDSCxNQUFhLHVCQUF3QixTQUFRLDJDQUFtQjs7SUFDOUQsZUFBZSxDQUFrQjtJQUNqQyxTQUFTLENBQVk7SUFDckIsZ0JBQWdCLENBQW1CO0lBQ25DLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVPLEtBQUssQ0FBK0I7SUFFNUMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBbUM7UUFFbkMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLHNCQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLElBQUksc0JBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNO1lBQ2xELHFCQUFxQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTO1lBQ3hELGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVE7WUFDN0MsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVM7WUFDMUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7WUFDbkQsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQyxzRUFBc0U7WUFDdEUsMERBQTBEO1lBQzFELGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQ3hELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLHdDQUFzQixDQUNqRDtZQUNELHNCQUFzQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCO1lBQy9ELEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsY0FBYztTQUNqRSxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXhDSCwwREF5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgREVGQVVMVF9GVU5DVElPTl9HUk9VUCB9IGZyb20gXCIuLi9hZGFwdGVyL2Z1bmN0aW9uLWdyb3Vwc1wiO1xuaW1wb3J0IHsgTmV4dGpzVHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsTmV4dGpzQXBpUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNBcGlQcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQXBpLCBOZXh0anNBcGlPdmVycmlkZXMgfSBmcm9tIFwiLi4vbmV4dGpzLWFwaVwiO1xuaW1wb3J0IHtcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdCxcbiAgTmV4dGpzQmFzZVByb3BzLFxuICBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzLFxuICBOZXh0anNCYXNlT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi9uZXh0anMtYmFzZS1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Z1bmN0aW9uR3JvdXAsXG4gIE5leHRqc0Z1bmN0aW9ucyxcbiAgTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi4vbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgTmV4dGpzUG9zdERlcGxveSB9IGZyb20gXCIuLi9uZXh0anMtcG9zdC1kZXBsb3lcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc0NvbnN0cnVjdE92ZXJyaWRlcyBleHRlbmRzIE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNBcGlQcm9wcz86IE9wdGlvbmFsTmV4dGpzQXBpUHJvcHM7XG59XG5cbi8qKlxuICogT3ZlcnJpZGVzIGZvciBgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnNgLiBPdmVycmlkZXMgYXJlIGxvd2VyIGxldmVsIHRoYW5cbiAqIHByb3BzIGFuZCBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIENESyBDb25zdHJ1Y3RzIGdpdmluZyB5b3UgbW9yZSBjb250cm9sLiBJdCdzXG4gKiByZWNvbW1lbmRlZCB0byB1c2UgY2F1dGlvbiBhbmQgcmV2aWV3IHNvdXJjZSBjb2RlIHNvIHlvdSBrbm93IGhvdyB0aGV5J3JlIHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnNPdmVycmlkZXMgZXh0ZW5kcyBOZXh0anNCYXNlT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzUmVnaW9uYWxGdW5jdGlvbnM/OiBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc0NvbnN0cnVjdE92ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzRnVuY3Rpb25zPzogTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNBcGk/OiBOZXh0anNBcGlPdmVycmlkZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnNQcm9wcyBleHRlbmRzIE5leHRqc0Jhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBQYWNrYWdlIHNldHMgb2Ygcm91dGVzIGludG8gc2VwYXJhdGUgTGFtYmRhIGZ1bmN0aW9ucywgZWFjaCBmcm9udGVkIGJ5IGl0c1xuICAgKiBvd24gQVBJIEdhdGV3YXkgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBSZWFjaCBmb3IgdGhpcyB3aGVuIGEgc2luZ2xlIGZ1bmN0aW9uIGV4Y2VlZHMgTGFtYmRhJ3MgMjUwIE1CIHVuemlwcGVkXG4gICAqIGxpbWl0IOKAlCBjZGstbmV4dGpzIHRocm93cyBhdCBzeW50aCB3aXRoIHRoZSBtZWFzdXJlZCBzaXplIHdoZW4gaXQgZG9lcy4gSXQgaXNcbiAgICogbm90IGEgcGVyZm9ybWFuY2Ugb3IgaXNvbGF0aW9uIGZlYXR1cmU6IGV2ZXJ5IGdyb3VwIHNoaXBzIHRoZSBzYW1lIE5leHQuanNcbiAgICogcnVudGltZSwgc28gc3BsaXR0aW5nIG9ubHkgbW92ZXMgcm91dGUtbG9jYWwgY29kZS5cbiAgICpcbiAgICogQHNlZSBOZXh0anNGdW5jdGlvbkdyb3VwIGZvciB0aGUgcGF0dGVybiBncmFtbWFyIGFuZCBpdHMgbGltaXRzLiBBUEkgR2F0ZXdheVxuICAgKiBjb3VsZCBleHByZXNzIG1vcmUgdGhhbiBDbG91ZEZyb250IGNhbiwgYnV0IHRoZSBncmFtbWFyIGlzIGRlbGliZXJhdGVseSB0aGVcbiAgICogc2FtZSBpbiBib3RoIHNvIHN3aXRjaGluZyBkZXBsb3ltZW50IHR5cGUgbmV2ZXIgcmVncm91cHMgcm91dGVzLlxuICAgKiBAZGVmYXVsdCAtIG9uZSBmdW5jdGlvbiBzZXJ2ZXMgZXZlcnkgcm91dGVcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uR3JvdXBzPzogTmV4dGpzRnVuY3Rpb25Hcm91cFtdO1xuICAvKipcbiAgICogT3ZlcnJpZGUgcHJvcHMgb2YgYW55IGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIERlcGxveSBOZXh0LmpzIHJlZ2lvbmFsbHkgd2l0aCBmdW5jdGlvbnMuIFVzZXMgQVBJIEdhdGV3YXkgUkVTVCBBUElcbiAqIGZvciByb3V0aW5nIHJlcXVlc3RzIGFuZCBBV1MgTGFtYmRhIEZ1bmN0aW9ucyBmb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnMgZXh0ZW5kcyBOZXh0anNCYXNlQ29uc3RydWN0IHtcbiAgbmV4dGpzRnVuY3Rpb25zOiBOZXh0anNGdW5jdGlvbnM7XG4gIG5leHRqc0FwaTogTmV4dGpzQXBpO1xuICBuZXh0anNQb3N0RGVwbG95OiBOZXh0anNQb3N0RGVwbG95O1xuICBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmV4dGpzQXBpLnVybDtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zUHJvcHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzLCBOZXh0anNUeXBlLlJFR0lPTkFMX0ZVTkNUSU9OUyk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgdGhpcy5uZXh0anNGdW5jdGlvbnMgPSB0aGlzLmNyZWF0ZU5leHRqc0Z1bmN0aW9ucygpO1xuICAgIHRoaXMubmV4dGpzQXBpID0gdGhpcy5jcmVhdGVOZXh0anNBcGkoKTtcbiAgICB0aGlzLm5leHRqc1Bvc3REZXBsb3kgPSB0aGlzLmNyZWF0ZU5leHRqc1Bvc3REZXBsb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzQXBpKCkge1xuICAgIHJldHVybiBuZXcgTmV4dGpzQXBpKHRoaXMsIFwiTmV4dGpzQXBpXCIsIHtcbiAgICAgIHN0YXRpY0Fzc2V0c0J1Y2tldDogdGhpcy5uZXh0anNTdGF0aWNBc3NldHMuYnVja2V0LFxuICAgICAgc3RhdGljQXNzZXRzS2V5UHJlZml4OiB0aGlzLm5leHRqc1N0YXRpY0Fzc2V0cy5rZXlQcmVmaXgsXG4gICAgICBzZXJ2ZXJGdW5jdGlvbjogdGhpcy5uZXh0anNGdW5jdGlvbnMuZnVuY3Rpb24sXG4gICAgICBiYXNlUGF0aDogdGhpcy5yZXNvbHZlZEJhc2VQYXRoLFxuICAgICAgb3ZlcnJpZGVzOiB0aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQXBpLFxuICAgICAgcHVibGljRGlyRW50cmllczogdGhpcy5uZXh0anNCdWlsZC5wdWJsaWNEaXJFbnRyaWVzLFxuICAgICAgc2VydmljZVdvcmtlckFsbG93ZWQ6IHRoaXMuc2VydmljZVdvcmtlckFsbG93ZWQsXG4gICAgICAvLyBgc2VydmVyRnVuY3Rpb25gIGFib3ZlIGlzIHRoZSBkZWZhdWx0IGdyb3VwJ3MsIHdoaWNoIHRoZSBge3Byb3h5K31gXG4gICAgICAvLyBjYXRjaC1hbGwgcmVhY2hlczsgdGhlIHJlc3QgZ2V0IHJlc291cmNlcyBvZiB0aGVpciBvd24uXG4gICAgICBmdW5jdGlvbkdyb3VwczogdGhpcy5uZXh0anNGdW5jdGlvbnMuZnVuY3Rpb25Hcm91cHMuZmlsdGVyKFxuICAgICAgICAoZ3JvdXApID0+IGdyb3VwLm5hbWUgIT09IERFRkFVTFRfRlVOQ1RJT05fR1JPVVAsXG4gICAgICApLFxuICAgICAgZnVuY3Rpb25Hcm91cEJlaGF2aW9yczogdGhpcy5uZXh0anNCdWlsZC5mdW5jdGlvbkdyb3VwQmVoYXZpb3JzLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zPy5uZXh0anNBcGlQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/lib/runtime/lambda.mjs
CHANGED
|
@@ -36914,6 +36914,8 @@ var require_package = __commonJS({
|
|
|
36914
36914
|
compat: "pnpm dlx projen compat",
|
|
36915
36915
|
compile: "pnpm dlx projen compile",
|
|
36916
36916
|
default: "pnpm dlx projen default",
|
|
36917
|
+
diagrams: "pnpm dlx projen diagrams",
|
|
36918
|
+
"diagrams:check": "pnpm dlx projen diagrams:check",
|
|
36917
36919
|
docgen: "pnpm dlx projen docgen",
|
|
36918
36920
|
eject: "pnpm dlx projen eject",
|
|
36919
36921
|
eslint: "pnpm dlx projen eslint",
|
|
@@ -36951,6 +36953,7 @@ var require_package = __commonJS({
|
|
|
36951
36953
|
"@aws-sdk/client-s3": "^3.1141.0",
|
|
36952
36954
|
"@aws-sdk/client-ssm": "^3.1141.0",
|
|
36953
36955
|
"@aws-sdk/lib-storage": "^3.1141.0",
|
|
36956
|
+
"@iconify-json/logos": "1.2.16",
|
|
36954
36957
|
"@mrgrain/jsii-struct-builder": "^0.7.64",
|
|
36955
36958
|
"@next/routing": "16.4.0",
|
|
36956
36959
|
"@smithy/signature-v4": "^2.3.0",
|
|
@@ -37033,7 +37036,7 @@ var require_package = __commonJS({
|
|
|
37033
37036
|
publishConfig: {
|
|
37034
37037
|
access: "public"
|
|
37035
37038
|
},
|
|
37036
|
-
version: "0.7.
|
|
37039
|
+
version: "0.7.14",
|
|
37037
37040
|
packageManager: "pnpm@10.32.1",
|
|
37038
37041
|
jest: {
|
|
37039
37042
|
coverageProvider: "v8",
|
package/lib/runtime/server.mjs
CHANGED
|
@@ -36914,6 +36914,8 @@ var require_package = __commonJS({
|
|
|
36914
36914
|
compat: "pnpm dlx projen compat",
|
|
36915
36915
|
compile: "pnpm dlx projen compile",
|
|
36916
36916
|
default: "pnpm dlx projen default",
|
|
36917
|
+
diagrams: "pnpm dlx projen diagrams",
|
|
36918
|
+
"diagrams:check": "pnpm dlx projen diagrams:check",
|
|
36917
36919
|
docgen: "pnpm dlx projen docgen",
|
|
36918
36920
|
eject: "pnpm dlx projen eject",
|
|
36919
36921
|
eslint: "pnpm dlx projen eslint",
|
|
@@ -36951,6 +36953,7 @@ var require_package = __commonJS({
|
|
|
36951
36953
|
"@aws-sdk/client-s3": "^3.1141.0",
|
|
36952
36954
|
"@aws-sdk/client-ssm": "^3.1141.0",
|
|
36953
36955
|
"@aws-sdk/lib-storage": "^3.1141.0",
|
|
36956
|
+
"@iconify-json/logos": "1.2.16",
|
|
36954
36957
|
"@mrgrain/jsii-struct-builder": "^0.7.64",
|
|
36955
36958
|
"@next/routing": "16.4.0",
|
|
36956
36959
|
"@smithy/signature-v4": "^2.3.0",
|
|
@@ -37033,7 +37036,7 @@ var require_package = __commonJS({
|
|
|
37033
37036
|
publishConfig: {
|
|
37034
37037
|
access: "public"
|
|
37035
37038
|
},
|
|
37036
|
-
version: "0.7.
|
|
37039
|
+
version: "0.7.14",
|
|
37037
37040
|
packageManager: "pnpm@10.32.1",
|
|
37038
37041
|
jest: {
|
|
37039
37042
|
coverageProvider: "v8",
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The code of cdk-nextjs's CloudFront Functions, and of `viewerRequestFunctionCode`
|
|
3
|
+
* spliced into them. Plain strings: `NextjsDistribution` creates the functions.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Where a viewer-request handler calls `viewerRequestFunctionCode`, before any
|
|
7
|
+
* logic of its own. Replaced at synth, never deployed.
|
|
8
|
+
*/
|
|
9
|
+
export declare const VIEWER_REQUEST_HOOK = "/*@viewerRequest@*/";
|
|
10
|
+
/**
|
|
11
|
+
* CloudFront's maximum CloudFront Function size.
|
|
12
|
+
* @see https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-functions
|
|
13
|
+
*/
|
|
14
|
+
export declare const MAX_FUNCTION_CODE_BYTES: number;
|
|
15
|
+
/**
|
|
16
|
+
* NextjsGlobalFunctions' viewer-request handler: redirects repeated slashes,
|
|
17
|
+
* and overwrites `x-forwarded-host` with the viewer's `Host` so Next.js
|
|
18
|
+
* `request.url` is the site's domain rather than the Function URL's.
|
|
19
|
+
* @see https://open-next.js.org/advanced/workaround#workaround-set-x-forwarded-host-header-aws-specific
|
|
20
|
+
*/
|
|
21
|
+
export declare const X_FORWARDED_HOST_HANDLER = "\n async function handler(event) {/*@viewerRequest@*/\n const request = event.request;\n const uri = request.uri;\n\n if (/\\\\|\\/\\//.test(uri)) {\n let location = uri.replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\");\n const qs = [];\n Object.keys(request.querystring).forEach((name) => {\n const q = request.querystring[name];\n (q.multiValue || [q]).forEach((entry) => {\n qs.push(entry.value === \"\" ? name : name + \"=\" + entry.value);\n });\n });\n if (qs.length) {\n location += \"?\" + qs.join(\"&\");\n }\n return {\n statusCode: 308,\n statusDescription: \"Permanent Redirect\",\n headers: { location: { value: location } },\n };\n }\n\n request.headers[\"x-forwarded-host\"] = request.headers.host;\n return request;\n }\n ";
|
|
22
|
+
/**
|
|
23
|
+
* The handler of a behavior with no viewer-request logic of its own, which
|
|
24
|
+
* only runs `viewerRequestFunctionCode`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const PASS_THROUGH_HANDLER = "\n async function handler(event) {/*@viewerRequest@*/\n return event.request;\n }\n ";
|
|
27
|
+
/**
|
|
28
|
+
* The `assetPrefix` behavior's handler: an S3 origin keys on the request URI
|
|
29
|
+
* and `originPath` can only prepend, so the prefix is swapped for the
|
|
30
|
+
* `basePath` here. Both are synth-time literals.
|
|
31
|
+
*/
|
|
32
|
+
export declare function assetPrefixRewriteHandler(basePath: string, assetPrefix: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Checks `viewerRequestFunctionCode` defines `viewerRequest` and doesn't use
|
|
35
|
+
* the name `handler`.
|
|
36
|
+
*
|
|
37
|
+
* Any use of `handler` is refused, not just a declaration: an assignment
|
|
38
|
+
* (`var handler =`, destructuring, `globalThis["handler"] =`) would replace
|
|
39
|
+
* cdk-nextjs's handler, and with it the `x-forwarded-host` overwrite, and a
|
|
40
|
+
* `let`/`const`/`class` would make the file a syntax error. Telling these
|
|
41
|
+
* apart from a local of the same name takes a parser, so a local, or the
|
|
42
|
+
* word in a comment or string, is refused too; that errs towards refusing
|
|
43
|
+
* code that would have worked.
|
|
44
|
+
*/
|
|
45
|
+
export declare function checkViewerRequestCode(userCode: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* The deployed code of a cdk-nextjs handler: with `userCode` first in the file
|
|
48
|
+
* (where CloudFront wants `import cf from "cloudfront"`) and awaited where the
|
|
49
|
+
* handler says {@link VIEWER_REQUEST_HOOK}, or with the marker dropped when
|
|
50
|
+
* there is none. Indentation is dropped too, since it counts toward the
|
|
51
|
+
* 10 KB; none of this code has a multi-line string for that to change.
|
|
52
|
+
*/
|
|
53
|
+
export declare function spliceViewerRequest(handler: string, userCode: string | undefined): string;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PASS_THROUGH_HANDLER = exports.X_FORWARDED_HOST_HANDLER = exports.MAX_FUNCTION_CODE_BYTES = exports.VIEWER_REQUEST_HOOK = void 0;
|
|
4
|
+
exports.assetPrefixRewriteHandler = assetPrefixRewriteHandler;
|
|
5
|
+
exports.checkViewerRequestCode = checkViewerRequestCode;
|
|
6
|
+
exports.spliceViewerRequest = spliceViewerRequest;
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
/**
|
|
9
|
+
* The code of cdk-nextjs's CloudFront Functions, and of `viewerRequestFunctionCode`
|
|
10
|
+
* spliced into them. Plain strings: `NextjsDistribution` creates the functions.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Where a viewer-request handler calls `viewerRequestFunctionCode`, before any
|
|
14
|
+
* logic of its own. Replaced at synth, never deployed.
|
|
15
|
+
*/
|
|
16
|
+
exports.VIEWER_REQUEST_HOOK = "/*@viewerRequest@*/";
|
|
17
|
+
/**
|
|
18
|
+
* CloudFront's maximum CloudFront Function size.
|
|
19
|
+
* @see https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-functions
|
|
20
|
+
*/
|
|
21
|
+
exports.MAX_FUNCTION_CODE_BYTES = 10 * 1024;
|
|
22
|
+
// Next.js answers any path containing a backslash or a repeated
|
|
23
|
+
// slash with a 308 to the collapsed path
|
|
24
|
+
// (`normalizeRepeatedSlashes`, called from `base-server.ts`), and so
|
|
25
|
+
// does this runtime. Behind a Lambda Function URL the origin never
|
|
26
|
+
// gets the chance: Origin Access Control signs the raw path while the
|
|
27
|
+
// Function URL canonicalizes it before verifying, so the origin
|
|
28
|
+
// answers 403 SignatureDoesNotMatch. Doing the redirect here is what
|
|
29
|
+
// makes `/basepath//to-sv` behave as it does under `next start`.
|
|
30
|
+
//
|
|
31
|
+
// A bare `//` reaches here too, and is answered the same way -
|
|
32
|
+
// measured, because `//` at the start of a request target is also the
|
|
33
|
+
// authority form and it was not obvious CloudFront would route it to a
|
|
34
|
+
// function at all. It does: `GET //` answers 308 to `/` with
|
|
35
|
+
// `x-cache: FunctionGeneratedResponse`, over both HTTP/1.1 and HTTP/2,
|
|
36
|
+
// which is what `test/e2e/hydration` asks for.
|
|
37
|
+
//
|
|
38
|
+
// Two things Next.js does that this does not:
|
|
39
|
+
//
|
|
40
|
+
// - the body it sends with its own redirect (the destination, as
|
|
41
|
+
// text). A generated response can carry one on
|
|
42
|
+
// cloudfront-js-2.0, but none is sent yet; no known client reads
|
|
43
|
+
// it.
|
|
44
|
+
// - the original order of the query string. The event exposes
|
|
45
|
+
// `querystring` as an object, never as the raw string, so
|
|
46
|
+
// `/x//y?a=1&b=2` redirects to `/x/y?b=2&a=1`. The pairs all
|
|
47
|
+
// survive; only their order is CloudFront's rather than the
|
|
48
|
+
// client's, and a redirect target is not order-sensitive.
|
|
49
|
+
//
|
|
50
|
+
// A repeated key's `multiValue` already holds its first value, which
|
|
51
|
+
// `value` repeats, so it is one or the other, never both. Names and
|
|
52
|
+
// values arrive as the client sent them, still percent-encoded
|
|
53
|
+
// (measured: `?a=%20b%26c&p=1+2` reads back unchanged), so they are
|
|
54
|
+
// joined as-is; encoding them again would turn `%20` into `%2520`.
|
|
55
|
+
//
|
|
56
|
+
// These notes live out here rather than in the code because
|
|
57
|
+
// CloudFront counts comments toward the function's 10 KB, which
|
|
58
|
+
// `viewerRequestFunctionCode` shares.
|
|
59
|
+
//
|
|
60
|
+
// Only the ES6+ that cloudfront-js-2.0 documents: `const`/`let`, arrow
|
|
61
|
+
// functions, `Object.keys`; no destructuring, spread or `for...of`.
|
|
62
|
+
// Strings are concatenated rather than templated, since a template
|
|
63
|
+
// literal in here would need every backtick and `${` escaped.
|
|
64
|
+
// https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-javascript-runtime-20.html
|
|
65
|
+
/**
|
|
66
|
+
* NextjsGlobalFunctions' viewer-request handler: redirects repeated slashes,
|
|
67
|
+
* and overwrites `x-forwarded-host` with the viewer's `Host` so Next.js
|
|
68
|
+
* `request.url` is the site's domain rather than the Function URL's.
|
|
69
|
+
* @see https://open-next.js.org/advanced/workaround#workaround-set-x-forwarded-host-header-aws-specific
|
|
70
|
+
*/
|
|
71
|
+
exports.X_FORWARDED_HOST_HANDLER = `
|
|
72
|
+
async function handler(event) {${exports.VIEWER_REQUEST_HOOK}
|
|
73
|
+
const request = event.request;
|
|
74
|
+
const uri = request.uri;
|
|
75
|
+
|
|
76
|
+
if (/\\\\|\\/\\//.test(uri)) {
|
|
77
|
+
let location = uri.replace(/\\\\/g, "/").replace(/\\/\\/+/g, "/");
|
|
78
|
+
const qs = [];
|
|
79
|
+
Object.keys(request.querystring).forEach((name) => {
|
|
80
|
+
const q = request.querystring[name];
|
|
81
|
+
(q.multiValue || [q]).forEach((entry) => {
|
|
82
|
+
qs.push(entry.value === "" ? name : name + "=" + entry.value);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
if (qs.length) {
|
|
86
|
+
location += "?" + qs.join("&");
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
statusCode: 308,
|
|
90
|
+
statusDescription: "Permanent Redirect",
|
|
91
|
+
headers: { location: { value: location } },
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
request.headers["x-forwarded-host"] = request.headers.host;
|
|
96
|
+
return request;
|
|
97
|
+
}
|
|
98
|
+
`;
|
|
99
|
+
/**
|
|
100
|
+
* The handler of a behavior with no viewer-request logic of its own, which
|
|
101
|
+
* only runs `viewerRequestFunctionCode`.
|
|
102
|
+
*/
|
|
103
|
+
exports.PASS_THROUGH_HANDLER = `
|
|
104
|
+
async function handler(event) {${exports.VIEWER_REQUEST_HOOK}
|
|
105
|
+
return event.request;
|
|
106
|
+
}
|
|
107
|
+
`;
|
|
108
|
+
/**
|
|
109
|
+
* The `assetPrefix` behavior's handler: an S3 origin keys on the request URI
|
|
110
|
+
* and `originPath` can only prepend, so the prefix is swapped for the
|
|
111
|
+
* `basePath` here. Both are synth-time literals.
|
|
112
|
+
*/
|
|
113
|
+
function assetPrefixRewriteHandler(basePath, assetPrefix) {
|
|
114
|
+
return `
|
|
115
|
+
async function handler(event) {${exports.VIEWER_REQUEST_HOOK}
|
|
116
|
+
const request = event.request;
|
|
117
|
+
request.uri = ${JSON.stringify(basePath ? `/${basePath}` : "")} + request.uri.slice(${assetPrefix.length});
|
|
118
|
+
return request;
|
|
119
|
+
}
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Checks `viewerRequestFunctionCode` defines `viewerRequest` and doesn't use
|
|
124
|
+
* the name `handler`.
|
|
125
|
+
*
|
|
126
|
+
* Any use of `handler` is refused, not just a declaration: an assignment
|
|
127
|
+
* (`var handler =`, destructuring, `globalThis["handler"] =`) would replace
|
|
128
|
+
* cdk-nextjs's handler, and with it the `x-forwarded-host` overwrite, and a
|
|
129
|
+
* `let`/`const`/`class` would make the file a syntax error. Telling these
|
|
130
|
+
* apart from a local of the same name takes a parser, so a local, or the
|
|
131
|
+
* word in a comment or string, is refused too; that errs towards refusing
|
|
132
|
+
* code that would have worked.
|
|
133
|
+
*/
|
|
134
|
+
function checkViewerRequestCode(userCode) {
|
|
135
|
+
if (!/\bfunction\s+viewerRequest\s*\(|(?:\b(?:var|let|const)\s+|,\s*)viewerRequest\s*=(?!=)/.test(userCode)) {
|
|
136
|
+
throw new Error(`${constants_1.LOG_PREFIX} \`viewerRequestFunctionCode\` must define ` +
|
|
137
|
+
`\`viewerRequest(event)\`, as a function or a \`var\`/\`let\`/` +
|
|
138
|
+
`\`const\`, which cdk-nextjs calls from its own viewer-request ` +
|
|
139
|
+
`handler.`);
|
|
140
|
+
}
|
|
141
|
+
if (/\bhandler\b/.test(userCode)) {
|
|
142
|
+
throw new Error(`${constants_1.LOG_PREFIX} \`viewerRequestFunctionCode\` uses the name ` +
|
|
143
|
+
`\`handler\`, which is cdk-nextjs's own function in the same file. ` +
|
|
144
|
+
`Rename it (a mention in a comment or string counts too); your entry ` +
|
|
145
|
+
`point is \`viewerRequest\`, called with the same event, and it may ` +
|
|
146
|
+
`return the same request or response.`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The deployed code of a cdk-nextjs handler: with `userCode` first in the file
|
|
151
|
+
* (where CloudFront wants `import cf from "cloudfront"`) and awaited where the
|
|
152
|
+
* handler says {@link VIEWER_REQUEST_HOOK}, or with the marker dropped when
|
|
153
|
+
* there is none. Indentation is dropped too, since it counts toward the
|
|
154
|
+
* 10 KB; none of this code has a multi-line string for that to change.
|
|
155
|
+
*/
|
|
156
|
+
function spliceViewerRequest(handler, userCode) {
|
|
157
|
+
const dedent = (code) => code.replace(/^[ \t]+/gm, "");
|
|
158
|
+
if (userCode === undefined) {
|
|
159
|
+
return dedent(handler.replace(exports.VIEWER_REQUEST_HOOK, ""));
|
|
160
|
+
}
|
|
161
|
+
// A response has a status; anything else returned is the request to carry
|
|
162
|
+
// on with. `await` takes a synchronous `viewerRequest` as it is.
|
|
163
|
+
return `${userCode}\n${dedent(handler.replace(exports.VIEWER_REQUEST_HOOK, `
|
|
164
|
+
const viewerResult = await viewerRequest(event);
|
|
165
|
+
if (viewerResult && viewerResult.statusCode) {
|
|
166
|
+
return viewerResult;
|
|
167
|
+
}
|
|
168
|
+
if (viewerResult) {
|
|
169
|
+
event.request = viewerResult;
|
|
170
|
+
}`))}`;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLXJlcXVlc3QtZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3ZpZXdlci1yZXF1ZXN0LWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpSEEsOERBYUM7QUFjRCx3REFzQkM7QUFTRCxrREF1QkM7QUFsTUQsNENBQTBDO0FBRTFDOzs7R0FHRztBQUVIOzs7R0FHRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcscUJBQXFCLENBQUM7QUFFekQ7OztHQUdHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRWpELGdFQUFnRTtBQUNoRSx5Q0FBeUM7QUFDekMscUVBQXFFO0FBQ3JFLG1FQUFtRTtBQUNuRSxzRUFBc0U7QUFDdEUsZ0VBQWdFO0FBQ2hFLHFFQUFxRTtBQUNyRSxpRUFBaUU7QUFDakUsRUFBRTtBQUNGLCtEQUErRDtBQUMvRCxzRUFBc0U7QUFDdEUsdUVBQXVFO0FBQ3ZFLDZEQUE2RDtBQUM3RCx1RUFBdUU7QUFDdkUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiw4Q0FBOEM7QUFDOUMsRUFBRTtBQUNGLGlFQUFpRTtBQUNqRSxpREFBaUQ7QUFDakQsbUVBQW1FO0FBQ25FLFFBQVE7QUFDUiw4REFBOEQ7QUFDOUQsNERBQTREO0FBQzVELCtEQUErRDtBQUMvRCw4REFBOEQ7QUFDOUQsNERBQTREO0FBQzVELEVBQUU7QUFDRixxRUFBcUU7QUFDckUsb0VBQW9FO0FBQ3BFLCtEQUErRDtBQUMvRCxvRUFBb0U7QUFDcEUsbUVBQW1FO0FBQ25FLEVBQUU7QUFDRiw0REFBNEQ7QUFDNUQsZ0VBQWdFO0FBQ2hFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLG9FQUFvRTtBQUNwRSxtRUFBbUU7QUFDbkUsOERBQThEO0FBQzlELDBHQUEwRztBQUUxRzs7Ozs7R0FLRztBQUNVLFFBQUEsd0JBQXdCLEdBQUc7bUNBQ0wsMkJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCbkQsQ0FBQztBQUVKOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7bUNBQ0QsMkJBQW1COzs7R0FHbkQsQ0FBQztBQUVKOzs7O0dBSUc7QUFDSCxTQUFnQix5QkFBeUIsQ0FDdkMsUUFBZ0IsRUFDaEIsV0FBbUI7SUFFbkIsT0FBTzttQ0FDMEIsMkJBQW1COztvQkFFbEMsSUFBSSxDQUFDLFNBQVMsQ0FDNUIsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQy9CLHdCQUF3QixXQUFXLENBQUMsTUFBTTs7O0dBRzVDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixzQkFBc0IsQ0FBQyxRQUFnQjtJQUNyRCxJQUNFLENBQUMsdUZBQXVGLENBQUMsSUFBSSxDQUMzRixRQUFRLENBQ1QsRUFDRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLHNCQUFVLDZDQUE2QztZQUN4RCwrREFBK0Q7WUFDL0QsZ0VBQWdFO1lBQ2hFLFVBQVUsQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxzQkFBVSwrQ0FBK0M7WUFDMUQsb0VBQW9FO1lBQ3BFLHNFQUFzRTtZQUN0RSxxRUFBcUU7WUFDckUsc0NBQXNDLENBQ3pDLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxPQUFlLEVBQ2YsUUFBNEI7SUFFNUIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMkJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsMEVBQTBFO0lBQzFFLGlFQUFpRTtJQUNqRSxPQUFPLEdBQUcsUUFBUSxLQUFLLE1BQU0sQ0FDM0IsT0FBTyxDQUFDLE9BQU8sQ0FDYiwyQkFBbUIsRUFDbkI7Ozs7Ozs7UUFPRSxDQUNILENBQ0YsRUFBRSxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExPR19QUkVGSVggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogVGhlIGNvZGUgb2YgY2RrLW5leHRqcydzIENsb3VkRnJvbnQgRnVuY3Rpb25zLCBhbmQgb2YgYHZpZXdlclJlcXVlc3RGdW5jdGlvbkNvZGVgXG4gKiBzcGxpY2VkIGludG8gdGhlbS4gUGxhaW4gc3RyaW5nczogYE5leHRqc0Rpc3RyaWJ1dGlvbmAgY3JlYXRlcyB0aGUgZnVuY3Rpb25zLlxuICovXG5cbi8qKlxuICogV2hlcmUgYSB2aWV3ZXItcmVxdWVzdCBoYW5kbGVyIGNhbGxzIGB2aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlYCwgYmVmb3JlIGFueVxuICogbG9naWMgb2YgaXRzIG93bi4gUmVwbGFjZWQgYXQgc3ludGgsIG5ldmVyIGRlcGxveWVkLlxuICovXG5leHBvcnQgY29uc3QgVklFV0VSX1JFUVVFU1RfSE9PSyA9IFwiLypAdmlld2VyUmVxdWVzdEAqL1wiO1xuXG4vKipcbiAqIENsb3VkRnJvbnQncyBtYXhpbXVtIENsb3VkRnJvbnQgRnVuY3Rpb24gc2l6ZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2Nsb3VkZnJvbnQtbGltaXRzLmh0bWwjbGltaXRzLWZ1bmN0aW9uc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0ZVTkNUSU9OX0NPREVfQllURVMgPSAxMCAqIDEwMjQ7XG5cbi8vIE5leHQuanMgYW5zd2VycyBhbnkgcGF0aCBjb250YWluaW5nIGEgYmFja3NsYXNoIG9yIGEgcmVwZWF0ZWRcbi8vIHNsYXNoIHdpdGggYSAzMDggdG8gdGhlIGNvbGxhcHNlZCBwYXRoXG4vLyAoYG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlc2AsIGNhbGxlZCBmcm9tIGBiYXNlLXNlcnZlci50c2ApLCBhbmQgc29cbi8vIGRvZXMgdGhpcyBydW50aW1lLiBCZWhpbmQgYSBMYW1iZGEgRnVuY3Rpb24gVVJMIHRoZSBvcmlnaW4gbmV2ZXJcbi8vIGdldHMgdGhlIGNoYW5jZTogT3JpZ2luIEFjY2VzcyBDb250cm9sIHNpZ25zIHRoZSByYXcgcGF0aCB3aGlsZSB0aGVcbi8vIEZ1bmN0aW9uIFVSTCBjYW5vbmljYWxpemVzIGl0IGJlZm9yZSB2ZXJpZnlpbmcsIHNvIHRoZSBvcmlnaW5cbi8vIGFuc3dlcnMgNDAzIFNpZ25hdHVyZURvZXNOb3RNYXRjaC4gRG9pbmcgdGhlIHJlZGlyZWN0IGhlcmUgaXMgd2hhdFxuLy8gbWFrZXMgYC9iYXNlcGF0aC8vdG8tc3ZgIGJlaGF2ZSBhcyBpdCBkb2VzIHVuZGVyIGBuZXh0IHN0YXJ0YC5cbi8vXG4vLyBBIGJhcmUgYC8vYCByZWFjaGVzIGhlcmUgdG9vLCBhbmQgaXMgYW5zd2VyZWQgdGhlIHNhbWUgd2F5IC1cbi8vIG1lYXN1cmVkLCBiZWNhdXNlIGAvL2AgYXQgdGhlIHN0YXJ0IG9mIGEgcmVxdWVzdCB0YXJnZXQgaXMgYWxzbyB0aGVcbi8vIGF1dGhvcml0eSBmb3JtIGFuZCBpdCB3YXMgbm90IG9idmlvdXMgQ2xvdWRGcm9udCB3b3VsZCByb3V0ZSBpdCB0byBhXG4vLyBmdW5jdGlvbiBhdCBhbGwuIEl0IGRvZXM6IGBHRVQgLy9gIGFuc3dlcnMgMzA4IHRvIGAvYCB3aXRoXG4vLyBgeC1jYWNoZTogRnVuY3Rpb25HZW5lcmF0ZWRSZXNwb25zZWAsIG92ZXIgYm90aCBIVFRQLzEuMSBhbmQgSFRUUC8yLFxuLy8gd2hpY2ggaXMgd2hhdCBgdGVzdC9lMmUvaHlkcmF0aW9uYCBhc2tzIGZvci5cbi8vXG4vLyBUd28gdGhpbmdzIE5leHQuanMgZG9lcyB0aGF0IHRoaXMgZG9lcyBub3Q6XG4vL1xuLy8gLSB0aGUgYm9keSBpdCBzZW5kcyB3aXRoIGl0cyBvd24gcmVkaXJlY3QgKHRoZSBkZXN0aW5hdGlvbiwgYXNcbi8vICAgdGV4dCkuIEEgZ2VuZXJhdGVkIHJlc3BvbnNlIGNhbiBjYXJyeSBvbmUgb25cbi8vICAgY2xvdWRmcm9udC1qcy0yLjAsIGJ1dCBub25lIGlzIHNlbnQgeWV0OyBubyBrbm93biBjbGllbnQgcmVhZHNcbi8vICAgaXQuXG4vLyAtIHRoZSBvcmlnaW5hbCBvcmRlciBvZiB0aGUgcXVlcnkgc3RyaW5nLiBUaGUgZXZlbnQgZXhwb3Nlc1xuLy8gICBgcXVlcnlzdHJpbmdgIGFzIGFuIG9iamVjdCwgbmV2ZXIgYXMgdGhlIHJhdyBzdHJpbmcsIHNvXG4vLyAgIGAveC8veT9hPTEmYj0yYCByZWRpcmVjdHMgdG8gYC94L3k/Yj0yJmE9MWAuIFRoZSBwYWlycyBhbGxcbi8vICAgc3Vydml2ZTsgb25seSB0aGVpciBvcmRlciBpcyBDbG91ZEZyb250J3MgcmF0aGVyIHRoYW4gdGhlXG4vLyAgIGNsaWVudCdzLCBhbmQgYSByZWRpcmVjdCB0YXJnZXQgaXMgbm90IG9yZGVyLXNlbnNpdGl2ZS5cbi8vXG4vLyBBIHJlcGVhdGVkIGtleSdzIGBtdWx0aVZhbHVlYCBhbHJlYWR5IGhvbGRzIGl0cyBmaXJzdCB2YWx1ZSwgd2hpY2hcbi8vIGB2YWx1ZWAgcmVwZWF0cywgc28gaXQgaXMgb25lIG9yIHRoZSBvdGhlciwgbmV2ZXIgYm90aC4gTmFtZXMgYW5kXG4vLyB2YWx1ZXMgYXJyaXZlIGFzIHRoZSBjbGllbnQgc2VudCB0aGVtLCBzdGlsbCBwZXJjZW50LWVuY29kZWRcbi8vIChtZWFzdXJlZDogYD9hPSUyMGIlMjZjJnA9MSsyYCByZWFkcyBiYWNrIHVuY2hhbmdlZCksIHNvIHRoZXkgYXJlXG4vLyBqb2luZWQgYXMtaXM7IGVuY29kaW5nIHRoZW0gYWdhaW4gd291bGQgdHVybiBgJTIwYCBpbnRvIGAlMjUyMGAuXG4vL1xuLy8gVGhlc2Ugbm90ZXMgbGl2ZSBvdXQgaGVyZSByYXRoZXIgdGhhbiBpbiB0aGUgY29kZSBiZWNhdXNlXG4vLyBDbG91ZEZyb250IGNvdW50cyBjb21tZW50cyB0b3dhcmQgdGhlIGZ1bmN0aW9uJ3MgMTAgS0IsIHdoaWNoXG4vLyBgdmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZWAgc2hhcmVzLlxuLy9cbi8vIE9ubHkgdGhlIEVTNisgdGhhdCBjbG91ZGZyb250LWpzLTIuMCBkb2N1bWVudHM6IGBjb25zdGAvYGxldGAsIGFycm93XG4vLyBmdW5jdGlvbnMsIGBPYmplY3Qua2V5c2A7IG5vIGRlc3RydWN0dXJpbmcsIHNwcmVhZCBvciBgZm9yLi4ub2ZgLlxuLy8gU3RyaW5ncyBhcmUgY29uY2F0ZW5hdGVkIHJhdGhlciB0aGFuIHRlbXBsYXRlZCwgc2luY2UgYSB0ZW1wbGF0ZVxuLy8gbGl0ZXJhbCBpbiBoZXJlIHdvdWxkIG5lZWQgZXZlcnkgYmFja3RpY2sgYW5kIGAke2AgZXNjYXBlZC5cbi8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9mdW5jdGlvbnMtamF2YXNjcmlwdC1ydW50aW1lLTIwLmh0bWxcblxuLyoqXG4gKiBOZXh0anNHbG9iYWxGdW5jdGlvbnMnIHZpZXdlci1yZXF1ZXN0IGhhbmRsZXI6IHJlZGlyZWN0cyByZXBlYXRlZCBzbGFzaGVzLFxuICogYW5kIG92ZXJ3cml0ZXMgYHgtZm9yd2FyZGVkLWhvc3RgIHdpdGggdGhlIHZpZXdlcidzIGBIb3N0YCBzbyBOZXh0LmpzXG4gKiBgcmVxdWVzdC51cmxgIGlzIHRoZSBzaXRlJ3MgZG9tYWluIHJhdGhlciB0aGFuIHRoZSBGdW5jdGlvbiBVUkwncy5cbiAqIEBzZWUgaHR0cHM6Ly9vcGVuLW5leHQuanMub3JnL2FkdmFuY2VkL3dvcmthcm91bmQjd29ya2Fyb3VuZC1zZXQteC1mb3J3YXJkZWQtaG9zdC1oZWFkZXItYXdzLXNwZWNpZmljXG4gKi9cbmV4cG9ydCBjb25zdCBYX0ZPUldBUkRFRF9IT1NUX0hBTkRMRVIgPSBgXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHske1ZJRVdFUl9SRVFVRVNUX0hPT0t9XG4gICAgY29uc3QgcmVxdWVzdCA9IGV2ZW50LnJlcXVlc3Q7XG4gICAgY29uc3QgdXJpID0gcmVxdWVzdC51cmk7XG5cbiAgICBpZiAoL1xcXFxcXFxcfFxcXFwvXFxcXC8vLnRlc3QodXJpKSkge1xuICAgICAgbGV0IGxvY2F0aW9uID0gdXJpLnJlcGxhY2UoL1xcXFxcXFxcL2csIFwiL1wiKS5yZXBsYWNlKC9cXFxcL1xcXFwvKy9nLCBcIi9cIik7XG4gICAgICBjb25zdCBxcyA9IFtdO1xuICAgICAgT2JqZWN0LmtleXMocmVxdWVzdC5xdWVyeXN0cmluZykuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBxID0gcmVxdWVzdC5xdWVyeXN0cmluZ1tuYW1lXTtcbiAgICAgICAgKHEubXVsdGlWYWx1ZSB8fCBbcV0pLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgcXMucHVzaChlbnRyeS52YWx1ZSA9PT0gXCJcIiA/IG5hbWUgOiBuYW1lICsgXCI9XCIgKyBlbnRyeS52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICBpZiAocXMubGVuZ3RoKSB7XG4gICAgICAgIGxvY2F0aW9uICs9IFwiP1wiICsgcXMuam9pbihcIiZcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXNDb2RlOiAzMDgsXG4gICAgICAgIHN0YXR1c0Rlc2NyaXB0aW9uOiBcIlBlcm1hbmVudCBSZWRpcmVjdFwiLFxuICAgICAgICBoZWFkZXJzOiB7IGxvY2F0aW9uOiB7IHZhbHVlOiBsb2NhdGlvbiB9IH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJlcXVlc3QuaGVhZGVyc1tcIngtZm9yd2FyZGVkLWhvc3RcIl0gPSByZXF1ZXN0LmhlYWRlcnMuaG9zdDtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuICBgO1xuXG4vKipcbiAqIFRoZSBoYW5kbGVyIG9mIGEgYmVoYXZpb3Igd2l0aCBubyB2aWV3ZXItcmVxdWVzdCBsb2dpYyBvZiBpdHMgb3duLCB3aGljaFxuICogb25seSBydW5zIGB2aWV3ZXJSZXF1ZXN0RnVuY3Rpb25Db2RlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IFBBU1NfVEhST1VHSF9IQU5ETEVSID0gYFxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7JHtWSUVXRVJfUkVRVUVTVF9IT09LfVxuICAgIHJldHVybiBldmVudC5yZXF1ZXN0O1xuICB9XG4gIGA7XG5cbi8qKlxuICogVGhlIGBhc3NldFByZWZpeGAgYmVoYXZpb3IncyBoYW5kbGVyOiBhbiBTMyBvcmlnaW4ga2V5cyBvbiB0aGUgcmVxdWVzdCBVUklcbiAqIGFuZCBgb3JpZ2luUGF0aGAgY2FuIG9ubHkgcHJlcGVuZCwgc28gdGhlIHByZWZpeCBpcyBzd2FwcGVkIGZvciB0aGVcbiAqIGBiYXNlUGF0aGAgaGVyZS4gQm90aCBhcmUgc3ludGgtdGltZSBsaXRlcmFscy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2V0UHJlZml4UmV3cml0ZUhhbmRsZXIoXG4gIGJhc2VQYXRoOiBzdHJpbmcsXG4gIGFzc2V0UHJlZml4OiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gYFxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7JHtWSUVXRVJfUkVRVUVTVF9IT09LfVxuICAgIGNvbnN0IHJlcXVlc3QgPSBldmVudC5yZXF1ZXN0O1xuICAgIHJlcXVlc3QudXJpID0gJHtKU09OLnN0cmluZ2lmeShcbiAgICAgIGJhc2VQYXRoID8gYC8ke2Jhc2VQYXRofWAgOiBcIlwiLFxuICAgICl9ICsgcmVxdWVzdC51cmkuc2xpY2UoJHthc3NldFByZWZpeC5sZW5ndGh9KTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuICBgO1xufVxuXG4vKipcbiAqIENoZWNrcyBgdmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZWAgZGVmaW5lcyBgdmlld2VyUmVxdWVzdGAgYW5kIGRvZXNuJ3QgdXNlXG4gKiB0aGUgbmFtZSBgaGFuZGxlcmAuXG4gKlxuICogQW55IHVzZSBvZiBgaGFuZGxlcmAgaXMgcmVmdXNlZCwgbm90IGp1c3QgYSBkZWNsYXJhdGlvbjogYW4gYXNzaWdubWVudFxuICogKGB2YXIgaGFuZGxlciA9YCwgZGVzdHJ1Y3R1cmluZywgYGdsb2JhbFRoaXNbXCJoYW5kbGVyXCJdID1gKSB3b3VsZCByZXBsYWNlXG4gKiBjZGstbmV4dGpzJ3MgaGFuZGxlciwgYW5kIHdpdGggaXQgdGhlIGB4LWZvcndhcmRlZC1ob3N0YCBvdmVyd3JpdGUsIGFuZCBhXG4gKiBgbGV0YC9gY29uc3RgL2BjbGFzc2Agd291bGQgbWFrZSB0aGUgZmlsZSBhIHN5bnRheCBlcnJvci4gVGVsbGluZyB0aGVzZVxuICogYXBhcnQgZnJvbSBhIGxvY2FsIG9mIHRoZSBzYW1lIG5hbWUgdGFrZXMgYSBwYXJzZXIsIHNvIGEgbG9jYWwsIG9yIHRoZVxuICogd29yZCBpbiBhIGNvbW1lbnQgb3Igc3RyaW5nLCBpcyByZWZ1c2VkIHRvbzsgdGhhdCBlcnJzIHRvd2FyZHMgcmVmdXNpbmdcbiAqIGNvZGUgdGhhdCB3b3VsZCBoYXZlIHdvcmtlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrVmlld2VyUmVxdWVzdENvZGUodXNlckNvZGU6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoXG4gICAgIS9cXGJmdW5jdGlvblxccyt2aWV3ZXJSZXF1ZXN0XFxzKlxcKHwoPzpcXGIoPzp2YXJ8bGV0fGNvbnN0KVxccyt8LFxccyopdmlld2VyUmVxdWVzdFxccyo9KD8hPSkvLnRlc3QoXG4gICAgICB1c2VyQ29kZSxcbiAgICApXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke0xPR19QUkVGSVh9IFxcYHZpZXdlclJlcXVlc3RGdW5jdGlvbkNvZGVcXGAgbXVzdCBkZWZpbmUgYCArXG4gICAgICAgIGBcXGB2aWV3ZXJSZXF1ZXN0KGV2ZW50KVxcYCwgYXMgYSBmdW5jdGlvbiBvciBhIFxcYHZhclxcYC9cXGBsZXRcXGAvYCArXG4gICAgICAgIGBcXGBjb25zdFxcYCwgd2hpY2ggY2RrLW5leHRqcyBjYWxscyBmcm9tIGl0cyBvd24gdmlld2VyLXJlcXVlc3QgYCArXG4gICAgICAgIGBoYW5kbGVyLmAsXG4gICAgKTtcbiAgfVxuICBpZiAoL1xcYmhhbmRsZXJcXGIvLnRlc3QodXNlckNvZGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7TE9HX1BSRUZJWH0gXFxgdmlld2VyUmVxdWVzdEZ1bmN0aW9uQ29kZVxcYCB1c2VzIHRoZSBuYW1lIGAgK1xuICAgICAgICBgXFxgaGFuZGxlclxcYCwgd2hpY2ggaXMgY2RrLW5leHRqcydzIG93biBmdW5jdGlvbiBpbiB0aGUgc2FtZSBmaWxlLiBgICtcbiAgICAgICAgYFJlbmFtZSBpdCAoYSBtZW50aW9uIGluIGEgY29tbWVudCBvciBzdHJpbmcgY291bnRzIHRvbyk7IHlvdXIgZW50cnkgYCArXG4gICAgICAgIGBwb2ludCBpcyBcXGB2aWV3ZXJSZXF1ZXN0XFxgLCBjYWxsZWQgd2l0aCB0aGUgc2FtZSBldmVudCwgYW5kIGl0IG1heSBgICtcbiAgICAgICAgYHJldHVybiB0aGUgc2FtZSByZXF1ZXN0IG9yIHJlc3BvbnNlLmAsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBkZXBsb3llZCBjb2RlIG9mIGEgY2RrLW5leHRqcyBoYW5kbGVyOiB3aXRoIGB1c2VyQ29kZWAgZmlyc3QgaW4gdGhlIGZpbGVcbiAqICh3aGVyZSBDbG91ZEZyb250IHdhbnRzIGBpbXBvcnQgY2YgZnJvbSBcImNsb3VkZnJvbnRcImApIGFuZCBhd2FpdGVkIHdoZXJlIHRoZVxuICogaGFuZGxlciBzYXlzIHtAbGluayBWSUVXRVJfUkVRVUVTVF9IT09LfSwgb3Igd2l0aCB0aGUgbWFya2VyIGRyb3BwZWQgd2hlblxuICogdGhlcmUgaXMgbm9uZS4gSW5kZW50YXRpb24gaXMgZHJvcHBlZCB0b28sIHNpbmNlIGl0IGNvdW50cyB0b3dhcmQgdGhlXG4gKiAxMCBLQjsgbm9uZSBvZiB0aGlzIGNvZGUgaGFzIGEgbXVsdGktbGluZSBzdHJpbmcgZm9yIHRoYXQgdG8gY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaWNlVmlld2VyUmVxdWVzdChcbiAgaGFuZGxlcjogc3RyaW5nLFxuICB1c2VyQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgZGVkZW50ID0gKGNvZGU6IHN0cmluZykgPT4gY29kZS5yZXBsYWNlKC9eWyBcXHRdKy9nbSwgXCJcIik7XG4gIGlmICh1c2VyQ29kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZGVudChoYW5kbGVyLnJlcGxhY2UoVklFV0VSX1JFUVVFU1RfSE9PSywgXCJcIikpO1xuICB9XG4gIC8vIEEgcmVzcG9uc2UgaGFzIGEgc3RhdHVzOyBhbnl0aGluZyBlbHNlIHJldHVybmVkIGlzIHRoZSByZXF1ZXN0IHRvIGNhcnJ5XG4gIC8vIG9uIHdpdGguIGBhd2FpdGAgdGFrZXMgYSBzeW5jaHJvbm91cyBgdmlld2VyUmVxdWVzdGAgYXMgaXQgaXMuXG4gIHJldHVybiBgJHt1c2VyQ29kZX1cXG4ke2RlZGVudChcbiAgICBoYW5kbGVyLnJlcGxhY2UoXG4gICAgICBWSUVXRVJfUkVRVUVTVF9IT09LLFxuICAgICAgYFxuICAgICAgY29uc3Qgdmlld2VyUmVzdWx0ID0gYXdhaXQgdmlld2VyUmVxdWVzdChldmVudCk7XG4gICAgICBpZiAodmlld2VyUmVzdWx0ICYmIHZpZXdlclJlc3VsdC5zdGF0dXNDb2RlKSB7XG4gICAgICAgIHJldHVybiB2aWV3ZXJSZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAodmlld2VyUmVzdWx0KSB7XG4gICAgICAgIGV2ZW50LnJlcXVlc3QgPSB2aWV3ZXJSZXN1bHQ7XG4gICAgICB9YCxcbiAgICApLFxuICApfWA7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|