cdk-nextjs 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.jsii +1254 -733
  2. package/API.md +2458 -1108
  3. package/README.md +37 -5
  4. package/docs/cdk-nextjs-NextjsRegionalFunctions.png +0 -0
  5. package/docs/cdk-nextjs-cfn-exec-policy.json +27 -0
  6. package/docs/cdk-nextjs.drawio +71 -11
  7. package/lib/constants.d.ts +2 -1
  8. package/lib/constants.js +2 -1
  9. package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +1 -1
  10. package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
  11. package/lib/index.d.ts +3 -2
  12. package/lib/index.js +8 -2
  13. package/lib/nextjs-api.d.ts +71 -0
  14. package/lib/nextjs-api.js +173 -0
  15. package/lib/nextjs-assets-deployment.js +2 -2
  16. package/lib/nextjs-build/nextjs-build.d.ts +1 -1
  17. package/lib/nextjs-build/nextjs-build.js +2 -2
  18. package/lib/nextjs-compute/nextjs-containers.js +1 -1
  19. package/lib/nextjs-compute/nextjs-functions.d.ts +3 -1
  20. package/lib/nextjs-compute/nextjs-functions.js +11 -10
  21. package/lib/nextjs-distribution.d.ts +2 -2
  22. package/lib/nextjs-distribution.js +2 -2
  23. package/lib/nextjs-file-system.js +1 -1
  24. package/lib/nextjs-post-deploy.js +1 -1
  25. package/lib/nextjs-static-assets.d.ts +0 -4
  26. package/lib/nextjs-static-assets.js +2 -2
  27. package/lib/nextjs-vpc.js +1 -1
  28. package/lib/root-constructs/nextjs-base-construct.d.ts +137 -0
  29. package/lib/root-constructs/nextjs-base-construct.js +112 -0
  30. package/lib/root-constructs/nextjs-global-containers.d.ts +5 -32
  31. package/lib/root-constructs/nextjs-global-containers.js +10 -83
  32. package/lib/root-constructs/nextjs-global-functions.d.ts +5 -32
  33. package/lib/root-constructs/nextjs-global-functions.js +12 -84
  34. package/lib/root-constructs/nextjs-regional-containers.d.ts +5 -21
  35. package/lib/root-constructs/nextjs-regional-containers.js +10 -71
  36. package/lib/root-constructs/nextjs-regional-functions.d.ts +37 -0
  37. package/lib/root-constructs/nextjs-regional-functions.js +58 -0
  38. package/package.json +10 -10
  39. package/lib/root-constructs/nextjs-base-overrides.d.ts +0 -30
  40. package/lib/root-constructs/nextjs-base-overrides.js +0 -3
  41. package/lib/root-constructs/nextjs-base-props.d.ts +0 -64
  42. package/lib/root-constructs/nextjs-base-props.js +0 -3
@@ -254,5 +254,5 @@ class NextjsDistribution extends constructs_1.Construct {
254
254
  }
255
255
  exports.NextjsDistribution = NextjsDistribution;
256
256
  _a = JSII_RTTI_SYMBOL_1;
257
- NextjsDistribution[_a] = { fqn: "cdk-nextjs.NextjsDistribution", version: "0.4.2" };
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWRpc3RyaWJ1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXh0anMtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQThDO0FBRTlDLCtEQTJCb0M7QUFDcEMsK0VBTTRDO0FBSTVDLDJDQUF1QztBQUN2QywyQ0FBeUM7QUFvRHpDLE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFvQy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQWpDbkI7OztXQUdHO1FBQ0ssa0NBQTZCLEdBQW9DO1lBQ3ZFLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUN2QyxZQUFZLEVBQUU7Z0JBQ1osV0FBVyxFQUFFLG1DQUFrQixDQUFDLFVBQVU7Z0JBQzFDLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1lBQ0QsY0FBYyxFQUFFO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLGNBQWMsRUFBRSxzQ0FBcUIsQ0FBQywrQkFBK0I7YUFDdEU7WUFFRCx1QkFBdUIsRUFBRTtnQkFDdkIsbUJBQW1CLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUN2QyxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7U0FDdEUsQ0FBQztRQVlBLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxVQUFVLEtB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QUMzQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxXQUFtQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7O0FBdFNILGdEQXVTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSUNlcnRpZmljYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIEFkZEJlaGF2aW9yT3B0aW9ucyxcbiAgQWxsb3dlZE1ldGhvZHMsXG4gIEJlaGF2aW9yT3B0aW9ucyxcbiAgQ2FjaGVDb29raWVCZWhhdmlvcixcbiAgQ2FjaGVIZWFkZXJCZWhhdmlvcixcbiAgQ2FjaGVQb2xpY3ksXG4gIENhY2hlUG9saWN5UHJvcHMsXG4gIENhY2hlUXVlcnlTdHJpbmdCZWhhdmlvcixcbiAgQ2FjaGVkTWV0aG9kcyxcbiAgRnVuY3Rpb24gYXMgQ2xvdWRGcm9udEZ1bmN0aW9uLFxuICBEaXN0cmlidXRpb24sXG4gIEZ1bmN0aW9uQXNzb2NpYXRpb24sXG4gIEZ1bmN0aW9uQ29kZSxcbiAgRnVuY3Rpb25FdmVudFR5cGUsXG4gIEhlYWRlcnNGcmFtZU9wdGlvbixcbiAgSGVhZGVyc1JlZmVycmVyUG9saWN5LFxuICBIdHRwVmVyc2lvbixcbiAgSU9yaWdpbixcbiAgSU9yaWdpblJlcXVlc3RQb2xpY3ksXG4gIE9yaWdpblByb3RvY29sUG9saWN5LFxuICBPcmlnaW5SZXF1ZXN0UG9saWN5LFxuICBSZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gIFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLFxuICBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yLFxuICBTZWN1cml0eVBvbGljeVByb3RvY29sLFxuICBWaWV3ZXJQcm90b2NvbFBvbGljeSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250XCI7XG5pbXBvcnQge1xuICBGdW5jdGlvblVybE9yaWdpbixcbiAgRnVuY3Rpb25VcmxPcmlnaW5XaXRoT0FDUHJvcHMsXG4gIFMzQnVja2V0T3JpZ2luLFxuICBWcGNPcmlnaW4sXG4gIFZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IElGdW5jdGlvblVybCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE5leHRqc1R5cGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRGlzdHJpYnV0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERpc3RyaWJ1dGlvblByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbFMzT3JpZ2luQnVja2V0V2l0aE9BQ1Byb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxTM09yaWdpbkJ1Y2tldFdpdGhPQUNQcm9wc1wiO1xuaW1wb3J0IHsgUHVibGljRGlyRW50cnkgfSBmcm9tIFwiLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzRGlzdHJpYnV0aW9uT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uUHJvcHM/OiBPcHRpb25hbERpc3RyaWJ1dGlvblByb3BzO1xuICByZWFkb25seSBpbWFnZUJlaGF2aW9yT3B0aW9ucz86IEFkZEJlaGF2aW9yT3B0aW9ucztcbiAgcmVhZG9ubHkgaW1hZ2VDYWNoZVBvbGljeVByb3BzPzogQ2FjaGVQb2xpY3lQcm9wcztcbiAgcmVhZG9ubHkgaW1hZ2VSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xuICByZWFkb25seSBkeW5hbWljQmVoYXZpb3JPcHRpb25zPzogQWRkQmVoYXZpb3JPcHRpb25zO1xuICByZWFkb25seSBkeW5hbWljQ2FjaGVQb2xpY3lQcm9wcz86IENhY2hlUG9saWN5UHJvcHM7XG4gIHJlYWRvbmx5IGR5bmFtaWNSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xuICByZWFkb25seSBkeW5hbWljRnVuY3Rpb25VcmxPcmlnaW5XaXRoT0FDUHJvcHM/OiBGdW5jdGlvblVybE9yaWdpbldpdGhPQUNQcm9wcztcbiAgcmVhZG9ubHkgZHluYW1pY1ZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzPzogVnBjT3JpZ2luV2l0aEVuZHBvaW50UHJvcHM7XG4gIHJlYWRvbmx5IHN0YXRpY0JlaGF2aW9yT3B0aW9ucz86IEFkZEJlaGF2aW9yT3B0aW9ucztcbiAgcmVhZG9ubHkgc3RhdGljUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcztcbiAgcmVhZG9ubHkgczNCdWNrZXRPcmlnaW5Qcm9wcz86IE9wdGlvbmFsUzNPcmlnaW5CdWNrZXRXaXRoT0FDUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICogQnVja2V0IGNvbnRhaW5pbmcgc3RhdGljIGFzc2V0cy5cbiAgICogTXVzdCBiZSBwcm92aWRlZCBpZiB5b3Ugd2FudCB0byBzZXJ2ZSBzdGF0aWMgZmlsZXMuXG4gICAqL1xuICByZWFkb25seSBhc3NldHNCdWNrZXQ6IElCdWNrZXQ7XG4gIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgYnV0IG9ubHkgYXBwbGljYWJsZSBmb3IgYE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNgXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uPzogRGlzdHJpYnV0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1R5cGUuR0xPQkFMX0ZVTkNUSU9OU2BcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uVXJsPzogSUZ1bmN0aW9uVXJsO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNgIG9yIGBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlNgXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXI/OiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgcmVhZG9ubHkgbmV4dGpzVHlwZTogTmV4dGpzVHlwZTtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHByb3BzIGZvciBldmVyeSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNEaXN0cmlidXRpb25PdmVycmlkZXM7XG4gIC8qKlxuICAgKiBQYXRoIHRvIGRpcmVjdG9yeSBvZiBOZXh0LmpzIGFwcCdzIHB1YmxpYyBkaXJlY3RvcnkuIFVzZWQgdG8gYWRkIHN0YXRpY1xuICAgKiBiZWhhdmlvcnMgdG8gZGlzdHJpYnV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljRGlyRW50cmllczogUHVibGljRGlyRW50cnlbXTtcbn1cblxuZXhwb3J0IGNsYXNzIE5leHRqc0Rpc3RyaWJ1dGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGRpc3RyaWJ1dGlvbjogRGlzdHJpYnV0aW9uO1xuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzO1xuICAvKipcbiAgICogQ29tbW9uIHNlY3VyaXR5IGhlYWRlcnMgYXBwbGllZCBieSBkZWZhdWx0IHRvIGFsbCBvcmlnaW5zXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL3VzaW5nLW1hbmFnZWQtcmVzcG9uc2UtaGVhZGVycy1wb2xpY2llcy5odG1sI21hbmFnZWQtcmVzcG9uc2UtaGVhZGVycy1wb2xpY2llcy1zZWN1cml0eVxuICAgKi9cbiAgcHJpdmF0ZSBjb21tb25TZWN1cml0eUhlYWRlcnNCZWhhdmlvcjogUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciA9IHtcbiAgICBjb250ZW50VHlwZU9wdGlvbnM6IHsgb3ZlcnJpZGU6IGZhbHNlIH0sXG4gICAgZnJhbWVPcHRpb25zOiB7XG4gICAgICBmcmFtZU9wdGlvbjogSGVhZGVyc0ZyYW1lT3B0aW9uLlNBTUVPUklHSU4sXG4gICAgICBvdmVycmlkZTogZmFsc2UsXG4gICAgfSxcbiAgICByZWZlcnJlclBvbGljeToge1xuICAgICAgb3ZlcnJpZGU6IGZhbHNlLFxuICAgICAgcmVmZXJyZXJQb2xpY3k6IEhlYWRlcnNSZWZlcnJlclBvbGljeS5TVFJJQ1RfT1JJR0lOX1dIRU5fQ1JPU1NfT1JJR0lOLFxuICAgIH0sXG5cbiAgICBzdHJpY3RUcmFuc3BvcnRTZWN1cml0eToge1xuICAgICAgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb24uZGF5cygzNjUpLFxuICAgICAgaW5jbHVkZVN1YmRvbWFpbnM6IHRydWUsXG4gICAgICBvdmVycmlkZTogZmFsc2UsXG4gICAgICBwcmVsb2FkOiB0cnVlLFxuICAgIH0sXG4gICAgeHNzUHJvdGVjdGlvbjogeyBvdmVycmlkZTogZmFsc2UsIHByb3RlY3Rpb246IHRydWUsIG1vZGVCbG9jazogdHJ1ZSB9LFxuICB9O1xuICBwcml2YXRlIHN0YXRpY09yaWdpbjogSU9yaWdpbjtcbiAgcHJpdmF0ZSBkeW5hbWljT3JpZ2luOiBJT3JpZ2luO1xuICBwcml2YXRlIGR5bmFtaWNPcmlnaW5SZXNwb25zZVBvbGljeTogSU9yaWdpblJlcXVlc3RQb2xpY3k7XG4gIHByaXZhdGUgZHluYW1pY0Nsb3VkRnJvbnRGdW5jdGlvbkFzc29jaWF0aW9uczogRnVuY3Rpb25Bc3NvY2lhdGlvbltdO1xuICBwcml2YXRlIGlzRnVuY3Rpb25Db21wdXRlOiBib29sZWFuO1xuICBwcml2YXRlIHN0YXRpY0JlaGF2aW9yT3B0aW9uczogQmVoYXZpb3JPcHRpb25zO1xuICBwcml2YXRlIGR5bmFtaWNCZWhhdmlvck9wdGlvbnM6IEJlaGF2aW9yT3B0aW9ucztcbiAgcHJpdmF0ZSBpbWFnZUJlaGF2aW9yT3B0aW9uczogQmVoYXZpb3JPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNEaXN0cmlidXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuc3RhdGljT3JpZ2luID0gdGhpcy5jcmVhdGVTdGF0aWNPcmlnaW4oKTtcbiAgICB0aGlzLmlzRnVuY3Rpb25Db21wdXRlID0gcHJvcHMubmV4dGpzVHlwZSA9PT0gTmV4dGpzVHlwZS5HTE9CQUxfRlVOQ1RJT05TO1xuICAgIHRoaXMuZHluYW1pY09yaWdpbiA9IHRoaXMuY3JlYXRlRHluYW1pY09yaWdpbigpO1xuICAgIHRoaXMuZHluYW1pY09yaWdpblJlc3BvbnNlUG9saWN5ID0gdGhpcy5jcmVhdGVEeW5hbWljT3JpZ2luUmVxdWVzdFBvbGljeSgpO1xuICAgIHRoaXMuZHluYW1pY0Nsb3VkRnJvbnRGdW5jdGlvbkFzc29jaWF0aW9ucyA9XG4gICAgICB0aGlzLmNyZWF0ZUR5bmFtaWNDbG91ZEZyb250RnVuY3Rpb25Bc3NvY2lhdGlvbnMoKTtcbiAgICB0aGlzLnN0YXRpY0JlaGF2aW9yT3B0aW9ucyA9IHRoaXMuY3JlYXRlU3RhdGljQmVoYXZpb3JPcHRpb25zKCk7XG4gICAgdGhpcy5keW5hbWljQmVoYXZpb3JPcHRpb25zID0gdGhpcy5jcmVhdGVEeW5hbWljQmVoYXZpb3JPcHRpb25zKCk7XG4gICAgdGhpcy5pbWFnZUJlaGF2aW9yT3B0aW9ucyA9IHRoaXMuY3JlYXRlSW1hZ2VCZWhhdmlvck9wdGlvbnMoKTtcbiAgICB0aGlzLmRpc3RyaWJ1dGlvbiA9IHRoaXMuZ2V0RGlzdHJpYnV0aW9uKCk7XG4gICAgdGhpcy5hZGRTdGF0aWNCZWhhdmlvcnMoKTtcbiAgICB0aGlzLmFkZER5bmFtaWNCZWhhdmlvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3RhdGljT3JpZ2luKCk6IElPcmlnaW4ge1xuICAgIGNvbnN0IHMzT3JpZ2luID0gUzNCdWNrZXRPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0NvbnRyb2woXG4gICAgICB0aGlzLnByb3BzLmFzc2V0c0J1Y2tldCxcbiAgICAgIHRoaXMucHJvcHMub3ZlcnJpZGVzPy5zM0J1Y2tldE9yaWdpblByb3BzLFxuICAgICk7XG4gICAgcmV0dXJuIHMzT3JpZ2luO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY09yaWdpbigpOiBJT3JpZ2luIHtcbiAgICBpZiAodGhpcy5pc0Z1bmN0aW9uQ29tcHV0ZSkge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmZ1bmN0aW9uVXJsKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzLmZ1bmN0aW9uVXJsXCIpO1xuICAgICAgcmV0dXJuIEZ1bmN0aW9uVXJsT3JpZ2luLndpdGhPcmlnaW5BY2Nlc3NDb250cm9sKFxuICAgICAgICB0aGlzLnByb3BzLmZ1bmN0aW9uVXJsLFxuICAgICAgICB0aGlzLnByb3BzLm92ZXJyaWRlcz8uZHluYW1pY0Z1bmN0aW9uVXJsT3JpZ2luV2l0aE9BQ1Byb3BzLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbG9hZEJhbGFuY2VyID0gdGhpcy5wcm9wcy5sb2FkQmFsYW5jZXI7XG4gICAgICBpZiAoIWxvYWRCYWxhbmNlcilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBOZXh0anNEaXN0cmlidXRpb25Qcm9wcy5sb2FkQmFsYW5jZXJcIik7XG4gICAgICByZXR1cm4gVnBjT3JpZ2luLndpdGhBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcihsb2FkQmFsYW5jZXIsIHtcbiAgICAgICAgcHJvdG9jb2xQb2xpY3k6IHRoaXMucHJvcHMuY2VydGlmaWNhdGVcbiAgICAgICAgICA/IE9yaWdpblByb3RvY29sUG9saWN5LkhUVFBTX09OTFlcbiAgICAgICAgICA6IE9yaWdpblByb3RvY29sUG9saWN5LkhUVFBfT05MWSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmR5bmFtaWNWcGNPcmlnaW5XaXRoRW5kcG9pbnRQcm9wcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogTGFtYmRhIEZ1bmN0aW9uIFVSTHMgXCJleHBlY3QgdGhlIGBIb3N0YCBoZWFkZXIgdG8gY29udGFpbiB0aGUgb3JpZ2luIGRvbWFpblxuICAgKiBuYW1lLCBub3QgdGhlIGRvbWFpbiBuYW1lIG9mIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbi5cIlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS91c2luZy1tYW5hZ2VkLW9yaWdpbi1yZXF1ZXN0LXBvbGljaWVzLmh0bWwjbWFuYWdlZC1vcmlnaW4tcmVxdWVzdC1wb2xpY3ktYWxsLXZpZXdlci1leGNlcHQtaG9zdC1oZWFkZXJcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY09yaWdpblJlcXVlc3RQb2xpY3koKTogSU9yaWdpblJlcXVlc3RQb2xpY3kge1xuICAgIHJldHVybiB0aGlzLmlzRnVuY3Rpb25Db21wdXRlXG4gICAgICA/IE9yaWdpblJlcXVlc3RQb2xpY3kuQUxMX1ZJRVdFUl9FWENFUFRfSE9TVF9IRUFERVJcbiAgICAgIDogT3JpZ2luUmVxdWVzdFBvbGljeS5BTExfVklFV0VSO1xuICB9XG4gIC8qKlxuICAgKiBFbnN1cmVzIE5leHQuanMgYHJlcXVlc3QudXJsYCB3aWxsIGJlIGNvcnJlY3QgZG9tYWluIGluc3RlYWQgb2YgVVJMIG9mXG4gICAqIGNvbXB1dGUgKExhbWJkYSBvciBGYXJnYXRlKVxuICAgKiBAc2VlIGh0dHBzOi8vb3Blbi1uZXh0LmpzLm9yZy9hZHZhbmNlZC93b3JrYXJvdW5kI3dvcmthcm91bmQtc2V0LXgtZm9yd2FyZGVkLWhvc3QtaGVhZGVyLWF3cy1zcGVjaWZpY1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ2xvdWRGcm9udEZ1bmN0aW9uQXNzb2NpYXRpb25zKCk6IEZ1bmN0aW9uQXNzb2NpYXRpb25bXSB7XG4gICAgY29uc3QgYXNzb2NpYXRpb25zOiBGdW5jdGlvbkFzc29jaWF0aW9uW10gPSBbXTtcbiAgICBpZiAodGhpcy5pc0Z1bmN0aW9uQ29tcHV0ZSkge1xuICAgICAgY29uc3QgY2xvdWRGcm9udEZuID0gbmV3IENsb3VkRnJvbnRGdW5jdGlvbih0aGlzLCBcIkNsb3VkRnJvbnRGblwiLCB7XG4gICAgICAgIGNvZGU6IEZ1bmN0aW9uQ29kZS5mcm9tSW5saW5lKGBcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LnJlcXVlc3Q7XG4gICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnNbXCJ4LWZvcndhcmRlZC1ob3N0XCJdID0gcmVxdWVzdC5oZWFkZXJzLmhvc3Q7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYCksXG4gICAgICB9KTtcbiAgICAgIGFzc29jaWF0aW9ucy5wdXNoKHtcbiAgICAgICAgZXZlbnRUeXBlOiBGdW5jdGlvbkV2ZW50VHlwZS5WSUVXRVJfUkVRVUVTVCxcbiAgICAgICAgZnVuY3Rpb246IGNsb3VkRnJvbnRGbixcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYXNzb2NpYXRpb25zO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlU3RhdGljQmVoYXZpb3JPcHRpb25zKCk6IEJlaGF2aW9yT3B0aW9ucyB7XG4gICAgY29uc3Qgc3RhdGljQmVoYXZpb3JPcHRpb25zID0gdGhpcy5wcm9wcy5vdmVycmlkZXM/LnN0YXRpY0JlaGF2aW9yT3B0aW9ucztcbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnNQb2xpY3kgPVxuICAgICAgc3RhdGljQmVoYXZpb3JPcHRpb25zPy5yZXNwb25zZUhlYWRlcnNQb2xpY3kgPz9cbiAgICAgIG5ldyBSZXNwb25zZUhlYWRlcnNQb2xpY3kodGhpcywgXCJTdGF0aWNSZXNwb25zZUhlYWRlcnNQb2xpY3lcIiwge1xuICAgICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjogdGhpcy5jb21tb25TZWN1cml0eUhlYWRlcnNCZWhhdmlvcixcbiAgICAgICAgY29tbWVudDogYE5leHRqcyBTdGF0aWMgUmVzcG9uc2UgSGVhZGVycyBQb2xpY3kgZm9yICR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfWAsXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5zdGF0aWNSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyxcbiAgICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBhbGxvd2VkTWV0aG9kczogQWxsb3dlZE1ldGhvZHMuQUxMT1dfR0VUX0hFQURfT1BUSU9OUyxcbiAgICAgIGNhY2hlZE1ldGhvZHM6IENhY2hlZE1ldGhvZHMuQ0FDSEVfR0VUX0hFQURfT1BUSU9OUyxcbiAgICAgIGNhY2hlUG9saWN5OiBDYWNoZVBvbGljeS5DQUNISU5HX09QVElNSVpFRCxcbiAgICAgIG9yaWdpbjogdGhpcy5zdGF0aWNPcmlnaW4sXG4gICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAuLi5zdGF0aWNCZWhhdmlvck9wdGlvbnMsXG4gICAgfTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUR5bmFtaWNCZWhhdmlvck9wdGlvbnMoKTogQmVoYXZpb3JPcHRpb25zIHtcbiAgICBjb25zdCBkeW5hbWljQmVoYXZpb3JPcHRpb25zID0gdGhpcy5wcm9wcy5vdmVycmlkZXM/LmR5bmFtaWNCZWhhdmlvck9wdGlvbnM7XG4gICAgLy8gY3JlYXRlIGRlZmF1bHQgY2FjaGUgcG9saWN5IGlmIG5vdCBwcm92aWRlZFxuICAgIGNvbnN0IGNhY2hlUG9saWN5ID1cbiAgICAgIGR5bmFtaWNCZWhhdmlvck9wdGlvbnM/LmNhY2hlUG9saWN5ID8/XG4gICAgICBuZXcgQ2FjaGVQb2xpY3kodGhpcywgXCJEeW5hbWljQ2FjaGVQb2xpY3lcIiwge1xuICAgICAgICBxdWVyeVN0cmluZ0JlaGF2aW9yOiBDYWNoZVF1ZXJ5U3RyaW5nQmVoYXZpb3IuYWxsKCksXG4gICAgICAgIGhlYWRlckJlaGF2aW9yOiBDYWNoZUhlYWRlckJlaGF2aW9yLmFsbG93TGlzdChcbiAgICAgICAgICBcImFjY2VwdFwiLFxuICAgICAgICAgIFwicnNjXCIsXG4gICAgICAgICAgXCJuZXh0LXJvdXRlci1wcmVmZXRjaFwiLFxuICAgICAgICAgIFwibmV4dC1yb3V0ZXItc3RhdGUtdHJlZVwiLFxuICAgICAgICAgIFwibmV4dC11cmxcIixcbiAgICAgICAgICBcIngtcHJlcmVuZGVyLXJldmFsaWRhdGVcIixcbiAgICAgICAgKSxcbiAgICAgICAgY29va2llQmVoYXZpb3I6IENhY2hlQ29va2llQmVoYXZpb3IuYWxsKCksXG4gICAgICAgIGVuYWJsZUFjY2VwdEVuY29kaW5nQnJvdGxpOiB0cnVlLFxuICAgICAgICBlbmFibGVBY2NlcHRFbmNvZGluZ0d6aXA6IHRydWUsXG4gICAgICAgIGNvbW1lbnQ6IGBOZXh0anMgRHluYW1pYyBDYWNoZSBQb2xpY3kgZm9yICR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfWAsXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5keW5hbWljQ2FjaGVQb2xpY3lQcm9wcyxcbiAgICAgIH0pO1xuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9XG4gICAgICBkeW5hbWljQmVoYXZpb3JPcHRpb25zPy5yZXNwb25zZUhlYWRlcnNQb2xpY3kgPz9cbiAgICAgIG5ldyBSZXNwb25zZUhlYWRlcnNQb2xpY3kodGhpcywgXCJEeW5hbWljUmVzcG9uc2VIZWFkZXJzUG9saWN5XCIsIHtcbiAgICAgICAgc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I6IHRoaXMuY29tbW9uU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsXG4gICAgICAgIGNvbW1lbnQ6IGBOZXh0anMgRHluYW1pYyBSZXNwb25zZSBIZWFkZXJzIFBvbGljeSBmb3IgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9YCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmR5bmFtaWNCZWhhdmlvck9wdGlvbnM/LnJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IGJlaGF2aW9yT3B0aW9uczogQmVoYXZpb3JPcHRpb25zID0ge1xuICAgICAgYWxsb3dlZE1ldGhvZHM6IEFsbG93ZWRNZXRob2RzLkFMTE9XX0FMTCxcbiAgICAgIGNhY2hlUG9saWN5LFxuICAgICAgZnVuY3Rpb25Bc3NvY2lhdGlvbnM6IHRoaXMuZHluYW1pY0Nsb3VkRnJvbnRGdW5jdGlvbkFzc29jaWF0aW9ucyxcbiAgICAgIG9yaWdpbjogdGhpcy5keW5hbWljT3JpZ2luLFxuICAgICAgb3JpZ2luUmVxdWVzdFBvbGljeTogdGhpcy5keW5hbWljT3JpZ2luUmVzcG9uc2VQb2xpY3ksXG4gICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAuLi5keW5hbWljQmVoYXZpb3JPcHRpb25zLFxuICAgIH07XG4gICAgcmV0dXJuIGJlaGF2aW9yT3B0aW9ucztcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUltYWdlQmVoYXZpb3JPcHRpb25zKCk6IEJlaGF2aW9yT3B0aW9ucyB7XG4gICAgY29uc3QgaW1hZ2VCZWhhdmlvck9wdGlvbnMgPSB0aGlzLnByb3BzLm92ZXJyaWRlcz8uaW1hZ2VCZWhhdmlvck9wdGlvbnM7XG4gICAgLy8gYWRkIGRlZmF1bHQgY2FjaGUgcG9saWN5IGlmIG5vdCBwcm92aWRlZFxuICAgIGNvbnN0IGNhY2hlUG9saWN5ID1cbiAgICAgIGltYWdlQmVoYXZpb3JPcHRpb25zPy5jYWNoZVBvbGljeSA/P1xuICAgICAgbmV3IENhY2hlUG9saWN5KHRoaXMsIFwiSW1hZ2VDYWNoZVBvbGljeVwiLCB7XG4gICAgICAgIC8vIFNFQ1VSSVRZIE5PVEU6IGJ5IGRlZmF1bHQgd2UgZG9uJ3QgaW5jbHVkZSBjb29raWVzIGluIGNhY2hlIGZvclxuICAgICAgICAvLyBpbWFnZXMgYi9jIGl0IHNpZ25pZmljYW50bHkgaW1wcm92ZXMgaW1hZ2UgcGVyZiBmb3IgbW9zdCBzaXRlcyBCVVRcbiAgICAgICAgLy8gaWYgeW91IGhhdmUgcHJpdmF0ZSBpbWFnZXMgbG9ja2VkIGJlaGluZCBhdXRoIGltcGxlbWVudGVkIHdpdGggY29va2llc1xuICAgICAgICAvLyB5b3UgbmVlZCB0byBvdmVycmlkZSB0aGlzLlxuICAgICAgICBxdWVyeVN0cmluZ0JlaGF2aW9yOiBDYWNoZVF1ZXJ5U3RyaW5nQmVoYXZpb3IuYWxsKCksXG4gICAgICAgIGhlYWRlckJlaGF2aW9yOiBDYWNoZUhlYWRlckJlaGF2aW9yLmFsbG93TGlzdChcImFjY2VwdFwiKSxcbiAgICAgICAgY29va2llQmVoYXZpb3I6IENhY2hlQ29va2llQmVoYXZpb3Iubm9uZSgpLFxuICAgICAgICBlbmFibGVBY2NlcHRFbmNvZGluZ0Jyb3RsaTogdHJ1ZSxcbiAgICAgICAgZW5hYmxlQWNjZXB0RW5jb2RpbmdHemlwOiB0cnVlLFxuICAgICAgICBjb21tZW50OiBgTmV4dGpzIEltYWdlIENhY2hlIFBvbGljeSBmb3IgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9YCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmltYWdlQ2FjaGVQb2xpY3lQcm9wcyxcbiAgICAgIH0pO1xuICAgIC8vIGFkZCBkZWZhdWx0IHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5IGlmIG5vdCBwcm92aWRlZFxuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9XG4gICAgICBpbWFnZUJlaGF2aW9yT3B0aW9ucz8ucmVzcG9uc2VIZWFkZXJzUG9saWN5ID8/XG4gICAgICBuZXcgUmVzcG9uc2VIZWFkZXJzUG9saWN5KHRoaXMsIFwiSW1hZ2VSZXNwb25zZUhlYWRlcnNQb2xpY3lcIiwge1xuICAgICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjogdGhpcy5jb21tb25TZWN1cml0eUhlYWRlcnNCZWhhdmlvcixcbiAgICAgICAgY29tbWVudDogYE5leHRqcyBJbWFnZSBSZXNwb25zZSBIZWFkZXJzIFBvbGljeSBmb3IgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9YCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmltYWdlUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMsXG4gICAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgYWxsb3dlZE1ldGhvZHM6IEFsbG93ZWRNZXRob2RzLkFMTE9XX0dFVF9IRUFEX09QVElPTlMsXG4gICAgICBjYWNoZWRNZXRob2RzOiBDYWNoZWRNZXRob2RzLkNBQ0hFX0dFVF9IRUFEX09QVElPTlMsXG4gICAgICBmdW5jdGlvbkFzc29jaWF0aW9uczogdGhpcy5keW5hbWljQ2xvdWRGcm9udEZ1bmN0aW9uQXNzb2NpYXRpb25zLFxuICAgICAgb3JpZ2luOiB0aGlzLmR5bmFtaWNPcmlnaW4sXG4gICAgICBvcmlnaW5SZXF1ZXN0UG9saWN5OiB0aGlzLmR5bmFtaWNPcmlnaW5SZXNwb25zZVBvbGljeSxcbiAgICAgIGNhY2hlUG9saWN5LFxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICAgICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IFZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgICAgLi4uaW1hZ2VCZWhhdmlvck9wdGlvbnMsXG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlcyBvciB1c2VzIHVzZXIgc3BlY2lmaWVkIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uXG4gICAqL1xuICBwcml2YXRlIGdldERpc3RyaWJ1dGlvbigpOiBEaXN0cmlidXRpb24ge1xuICAgIGxldCBkaXN0cmlidXRpb246IERpc3RyaWJ1dGlvbjtcbiAgICBpZiAodGhpcy5wcm9wcy5kaXN0cmlidXRpb24pIHtcbiAgICAgIGRpc3RyaWJ1dGlvbiA9IHRoaXMucHJvcHMuZGlzdHJpYnV0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXN0cmlidXRpb24gPSBuZXcgRGlzdHJpYnV0aW9uKHRoaXMsIFwiRGlzdHJpYnV0aW9uXCIsIHtcbiAgICAgICAgbWluaW11bVByb3RvY29sVmVyc2lvbjogU2VjdXJpdHlQb2xpY3lQcm90b2NvbC5UTFNfVjFfMl8yMDIxLFxuICAgICAgICBkZWZhdWx0QmVoYXZpb3I6IHRoaXMuZHluYW1pY0JlaGF2aW9yT3B0aW9ucyxcbiAgICAgICAgLy8gYmVzdCB0byB1c2UgSFRUUCAyIGFuZCAzIGZvciBjb21wYXRhYmlsaXR5IChIVFRQIDIpIGFuZCBwZXJmb3JtYW5jZSAoSFRUUDMpXG4gICAgICAgIC8vIENsb3VkRnJvbnQgd2lsbCBjaG9vc2UgYmVzdCBvcHRpb24gZm9yIGNsaWVudFxuICAgICAgICBodHRwVmVyc2lvbjogSHR0cFZlcnNpb24uSFRUUDJfQU5EXzMsXG4gICAgICAgIGNvbW1lbnQ6IGBjZGstbmV4dGpzIERpc3RyaWJ1dGlvbiBmb3IgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9YCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmRpc3RyaWJ1dGlvblByb3BzLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBkaXN0cmlidXRpb247XG4gIH1cbiAgcHJpdmF0ZSBhZGREeW5hbWljQmVoYXZpb3JzKCkge1xuICAgIC8vIEltYWdlIEJlaGF2aW9yXG4gICAgdGhpcy5kaXN0cmlidXRpb24uYWRkQmVoYXZpb3IoXG4gICAgICB0aGlzLmdldFBhdGhQYXR0ZXJuKFwiX25leHQvaW1hZ2UqXCIpLFxuICAgICAgdGhpcy5pbWFnZUJlaGF2aW9yT3B0aW9ucy5vcmlnaW4sXG4gICAgICB0aGlzLmltYWdlQmVoYXZpb3JPcHRpb25zLFxuICAgICk7XG4gICAgLy8gUm9vdCBQYXRoIEJlaGF2aW9yc1xuICAgIGlmICh0aGlzLnByb3BzLmJhc2VQYXRoKSB7XG4gICAgICAvLyBiZWNhdXNlIHdlIGFscmVhZHkgaGF2ZSBhIGJhc2VQYXRoIHdlIGRvbid0IHVzZSAvIGluc3RlYWQgd2UgdXNlIC9iYXNlLXBhdGhcbiAgICAgIHRoaXMuZGlzdHJpYnV0aW9uLmFkZEJlaGF2aW9yKFxuICAgICAgICB0aGlzLnByb3BzLmJhc2VQYXRoLFxuICAgICAgICB0aGlzLmR5bmFtaWNCZWhhdmlvck9wdGlvbnMub3JpZ2luLFxuICAgICAgICB0aGlzLmR5bmFtaWNCZWhhdmlvck9wdGlvbnMsXG4gICAgICApO1xuICAgICAgLy8gd2hlbiBiYXNlUGF0aCBpcyBzZXQsIHdlIGVtdWxhdGUgdGhlIFwiZGVmYXVsdCBiZWhhdmlvclwiICgqKSBmb3IgdGhlIHNpdGUgYXMgYC9iYXNlLXBhdGgvKmBcbiAgICAgIHRoaXMuZGlzdHJpYnV0aW9uLmFkZEJlaGF2aW9yKFxuICAgICAgICB0aGlzLmdldFBhdGhQYXR0ZXJuKFwiKlwiKSxcbiAgICAgICAgdGhpcy5keW5hbWljQmVoYXZpb3JPcHRpb25zLm9yaWdpbixcbiAgICAgICAgdGhpcy5keW5hbWljQmVoYXZpb3JPcHRpb25zLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgbm8gYmFzZSBwYXRoLCB0aGVuIGRlZmF1bHQgYmVoYXZpb3Igd2lsbCBoYW5kbGUgYWxsIG90aGVyIHBhdGhzXG4gICAgfVxuICB9XG4gIHByaXZhdGUgYWRkU3RhdGljQmVoYXZpb3JzKCkge1xuICAgIHRoaXMuZGlzdHJpYnV0aW9uLmFkZEJlaGF2aW9yKFxuICAgICAgdGhpcy5nZXRQYXRoUGF0dGVybihcIl9uZXh0L3N0YXRpYypcIiksXG4gICAgICB0aGlzLnN0YXRpY09yaWdpbixcbiAgICAgIHRoaXMuc3RhdGljQmVoYXZpb3JPcHRpb25zLFxuICAgICk7XG4gICAgLy8gMjIgPSAyNSAobWF4KSAtIDEgKF9uZXh0L2ltYWdlKSAtIDEgKF9uZXh0L3N0YXRpYykgLSAxICgqKVxuICAgIGlmICh0aGlzLnByb3BzLnB1YmxpY0RpckVudHJpZXMubGVuZ3RoID49IDIyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUb28gbWFueSBwdWJsaWMvIGZpbGVzIGluIE5leHQuanMgYnVpbGQuIENsb3VkRnJvbnQgbGltaXRzIERpc3RyaWJ1dGlvbnMgdG8gMjUgQ2FjaGUgQmVoYXZpb3JzLiBTZWUgZG9jdW1lbnRlZCBsaW1pdCBoZXJlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvY2xvdWRmcm9udC1saW1pdHMuaHRtbCNsaW1pdHMtd2ViLWRpc3RyaWJ1dGlvbnMuIFRyeSBpbmNsdWRpbmcgYWxsIHB1YmxpYyBmaWxlcyBpbnRvIDEgdG9wIGxldmVsIGRpcmVjdG9yeSAoaS5lLiBzdGF0aWMvKikuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgcHVibGljRmlsZSBvZiB0aGlzLnByb3BzLnB1YmxpY0RpckVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHBhdGhQYXR0ZXJuID0gcHVibGljRmlsZS5pc0RpcmVjdG9yeVxuICAgICAgICA/IGAke3B1YmxpY0ZpbGUubmFtZX0vKmBcbiAgICAgICAgOiBwdWJsaWNGaWxlLm5hbWU7XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOV9cXC0uKiQvflwiJ0A6Kz8mXSskLy50ZXN0KHBhdGhQYXR0ZXJuKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgQ2xvdWRGcm9udCBEaXN0cmlidXRpb24gQ2FjaGUgQmVoYXZpb3IgUGF0aCBQYXR0ZXJuOiAke3BhdGhQYXR0ZXJufS4gUGxlYXNlIHNlZSBkb2N1bWVudGF0aW9uIGhlcmU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9kaXN0cmlidXRpb24td2ViLXZhbHVlcy1zcGVjaWZ5Lmh0bWwjRG93bmxvYWREaXN0VmFsdWVzUGF0aFBhdHRlcm5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgZmluYWxQYXRoUGF0dGVybiA9IHRoaXMuZ2V0UGF0aFBhdHRlcm4ocGF0aFBhdHRlcm4pO1xuICAgICAgdGhpcy5kaXN0cmlidXRpb24uYWRkQmVoYXZpb3IoXG4gICAgICAgIGZpbmFsUGF0aFBhdHRlcm4sXG4gICAgICAgIHRoaXMuc3RhdGljT3JpZ2luLFxuICAgICAgICB0aGlzLnN0YXRpY0JlaGF2aW9yT3B0aW9ucyxcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBPcHRpb25hbGx5IHByZXBlbmRzIGJhc2UgcGF0aCB0byBnaXZlbiBwYXRoIHBhdHRlcm4uXG4gICAqL1xuICBwcml2YXRlIGdldFBhdGhQYXR0ZXJuKHBhdGhQYXR0ZXJuOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5iYXNlUGF0aCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMucHJvcHMuYmFzZVBhdGh9LyR7cGF0aFBhdHRlcm59YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHBhdGhQYXR0ZXJuO1xuICAgIH1cbiAgfVxufVxuIl19
257
+ NextjsDistribution[_a] = { fqn: "cdk-nextjs.NextjsDistribution", version: "0.4.4" };
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWRpc3RyaWJ1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXh0anMtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQThDO0FBRTlDLCtEQTJCb0M7QUFDcEMsK0VBTTRDO0FBSTVDLDJDQUF1QztBQUN2QywyQ0FBeUM7QUFvRHpDLE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFvQy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQWpDbkI7OztXQUdHO1FBQ0ssa0NBQTZCLEdBQW9DO1lBQ3ZFLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUN2QyxZQUFZLEVBQUU7Z0JBQ1osV0FBVyxFQUFFLG1DQUFrQixDQUFDLFVBQVU7Z0JBQzFDLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1lBQ0QsY0FBYyxFQUFFO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLGNBQWMsRUFBRSxzQ0FBcUIsQ0FBQywrQkFBK0I7YUFDdEU7WUFFRCx1QkFBdUIsRUFBRTtnQkFDdkIsbUJBQW1CLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUN2QyxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7U0FDdEUsQ0FBQztRQVlBLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxVQUFVLEtB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QUMzQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxXQUFtQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7O0FBdFNILGdEQXVTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSUNlcnRpZmljYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIEFkZEJlaGF2aW9yT3B0aW9ucyxcbiAgQWxsb3dlZE1ldGhvZHMsXG4gIEJlaGF2aW9yT3B0aW9ucyxcbiAgQ2FjaGVDb29raWVCZWhhdmlvcixcbiAgQ2FjaGVIZWFkZXJCZWhhdmlvcixcbiAgQ2FjaGVQb2xpY3ksXG4gIENhY2hlUG9saWN5UHJvcHMsXG4gIENhY2hlUXVlcnlTdHJpbmdCZWhhdmlvcixcbiAgQ2FjaGVkTWV0aG9kcyxcbiAgRnVuY3Rpb24gYXMgQ2xvdWRGcm9udEZ1bmN0aW9uLFxuICBEaXN0cmlidXRpb24sXG4gIEZ1bmN0aW9uQXNzb2NpYXRpb24sXG4gIEZ1bmN0aW9uQ29kZSxcbiAgRnVuY3Rpb25FdmVudFR5cGUsXG4gIEhlYWRlcnNGcmFtZU9wdGlvbixcbiAgSGVhZGVyc1JlZmVycmVyUG9saWN5LFxuICBIdHRwVmVyc2lvbixcbiAgSU9yaWdpbixcbiAgSU9yaWdpblJlcXVlc3RQb2xpY3ksXG4gIE9yaWdpblByb3RvY29sUG9saWN5LFxuICBPcmlnaW5SZXF1ZXN0UG9saWN5LFxuICBSZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gIFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLFxuICBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yLFxuICBTZWN1cml0eVBvbGljeVByb3RvY29sLFxuICBWaWV3ZXJQcm90b2NvbFBvbGljeSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250XCI7XG5pbXBvcnQge1xuICBGdW5jdGlvblVybE9yaWdpbixcbiAgRnVuY3Rpb25VcmxPcmlnaW5XaXRoT0FDUHJvcHMsXG4gIFMzQnVja2V0T3JpZ2luLFxuICBWcGNPcmlnaW4sXG4gIFZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IElGdW5jdGlvblVybCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE5leHRqc1R5cGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRGlzdHJpYnV0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERpc3RyaWJ1dGlvblByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbFMzT3JpZ2luQnVja2V0V2l0aE9BQ1Byb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxTM09yaWdpbkJ1Y2tldFdpdGhPQUNQcm9wc1wiO1xuaW1wb3J0IHsgUHVibGljRGlyRW50cnkgfSBmcm9tIFwiLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzRGlzdHJpYnV0aW9uT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uUHJvcHM/OiBPcHRpb25hbERpc3RyaWJ1dGlvblByb3BzO1xuICByZWFkb25seSBpbWFnZUJlaGF2aW9yT3B0aW9ucz86IEFkZEJlaGF2aW9yT3B0aW9ucztcbiAgcmVhZG9ubHkgaW1hZ2VDYWNoZVBvbGljeVByb3BzPzogQ2FjaGVQb2xpY3lQcm9wcztcbiAgcmVhZG9ubHkgaW1hZ2VSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xuICByZWFkb25seSBkeW5hbWljQmVoYXZpb3JPcHRpb25zPzogQWRkQmVoYXZpb3JPcHRpb25zO1xuICByZWFkb25seSBkeW5hbWljQ2FjaGVQb2xpY3lQcm9wcz86IENhY2hlUG9saWN5UHJvcHM7XG4gIHJlYWRvbmx5IGR5bmFtaWNSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xuICByZWFkb25seSBkeW5hbWljRnVuY3Rpb25VcmxPcmlnaW5XaXRoT0FDUHJvcHM/OiBGdW5jdGlvblVybE9yaWdpbldpdGhPQUNQcm9wcztcbiAgcmVhZG9ubHkgZHluYW1pY1ZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzPzogVnBjT3JpZ2luV2l0aEVuZHBvaW50UHJvcHM7XG4gIHJlYWRvbmx5IHN0YXRpY0JlaGF2aW9yT3B0aW9ucz86IEFkZEJlaGF2aW9yT3B0aW9ucztcbiAgcmVhZG9ubHkgc3RhdGljUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcztcbiAgcmVhZG9ubHkgczNCdWNrZXRPcmlnaW5Qcm9wcz86IE9wdGlvbmFsUzNPcmlnaW5CdWNrZXRXaXRoT0FDUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICogQnVja2V0IGNvbnRhaW5pbmcgc3RhdGljIGFzc2V0cy5cbiAgICogTXVzdCBiZSBwcm92aWRlZCBpZiB5b3Ugd2FudCB0byBzZXJ2ZSBzdGF0aWMgZmlsZXMuXG4gICAqL1xuICByZWFkb25seSBhc3NldHNCdWNrZXQ6IElCdWNrZXQ7XG4gIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgYnV0IG9ubHkgYXBwbGljYWJsZSBmb3IgYE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNgXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uPzogRGlzdHJpYnV0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1R5cGUuR0xPQkFMX0ZVTkNUSU9OU2BcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uVXJsPzogSUZ1bmN0aW9uVXJsO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNgIG9yIGBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlNgXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXI/OiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgcmVhZG9ubHkgbmV4dGpzVHlwZTogTmV4dGpzVHlwZTtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHByb3BzIGZvciBldmVyeSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNEaXN0cmlidXRpb25PdmVycmlkZXM7XG4gIC8qKlxuICAgKiBFbnRyaWVzIChmaWxlcy9kaXJlY3Rvcmllcykgd2l0aGluIE5leHQuanMgYXBwJ3MgcHVibGljIGRpcmVjdG9yeS4gVXNlZCB0b1xuICAgKiBhZGQgc3RhdGljIGJlaGF2aW9ycyB0byBkaXN0cmlidXRpb24uXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJFbnRyaWVzOiBQdWJsaWNEaXJFbnRyeVtdO1xufVxuXG5leHBvcnQgY2xhc3MgTmV4dGpzRGlzdHJpYnV0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZGlzdHJpYnV0aW9uOiBEaXN0cmlidXRpb247XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHM7XG4gIC8qKlxuICAgKiBDb21tb24gc2VjdXJpdHkgaGVhZGVycyBhcHBsaWVkIGJ5IGRlZmF1bHQgdG8gYWxsIG9yaWdpbnNcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvdXNpbmctbWFuYWdlZC1yZXNwb25zZS1oZWFkZXJzLXBvbGljaWVzLmh0bWwjbWFuYWdlZC1yZXNwb25zZS1oZWFkZXJzLXBvbGljaWVzLXNlY3VyaXR5XG4gICAqL1xuICBwcml2YXRlIGNvbW1vblNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yOiBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yID0ge1xuICAgIGNvbnRlbnRUeXBlT3B0aW9uczogeyBvdmVycmlkZTogZmFsc2UgfSxcbiAgICBmcmFtZU9wdGlvbnM6IHtcbiAgICAgIGZyYW1lT3B0aW9uOiBIZWFkZXJzRnJhbWVPcHRpb24uU0FNRU9SSUdJTixcbiAgICAgIG92ZXJyaWRlOiBmYWxzZSxcbiAgICB9LFxuICAgIHJlZmVycmVyUG9saWN5OiB7XG4gICAgICBvdmVycmlkZTogZmFsc2UsXG4gICAgICByZWZlcnJlclBvbGljeTogSGVhZGVyc1JlZmVycmVyUG9saWN5LlNUUklDVF9PUklHSU5fV0hFTl9DUk9TU19PUklHSU4sXG4gICAgfSxcblxuICAgIHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5OiB7XG4gICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5kYXlzKDM2NSksXG4gICAgICBpbmNsdWRlU3ViZG9tYWluczogdHJ1ZSxcbiAgICAgIG92ZXJyaWRlOiBmYWxzZSxcbiAgICAgIHByZWxvYWQ6IHRydWUsXG4gICAgfSxcbiAgICB4c3NQcm90ZWN0aW9uOiB7IG92ZXJyaWRlOiBmYWxzZSwgcHJvdGVjdGlvbjogdHJ1ZSwgbW9kZUJsb2NrOiB0cnVlIH0sXG4gIH07XG4gIHByaXZhdGUgc3RhdGljT3JpZ2luOiBJT3JpZ2luO1xuICBwcml2YXRlIGR5bmFtaWNPcmlnaW46IElPcmlnaW47XG4gIHByaXZhdGUgZHluYW1pY09yaWdpblJlc3BvbnNlUG9saWN5OiBJT3JpZ2luUmVxdWVzdFBvbGljeTtcbiAgcHJpdmF0ZSBkeW5hbWljQ2xvdWRGcm9udEZ1bmN0aW9uQXNzb2NpYXRpb25zOiBGdW5jdGlvbkFzc29jaWF0aW9uW107XG4gIHByaXZhdGUgaXNGdW5jdGlvbkNvbXB1dGU6IGJvb2xlYW47XG4gIHByaXZhdGUgc3RhdGljQmVoYXZpb3JPcHRpb25zOiBCZWhhdmlvck9wdGlvbnM7XG4gIHByaXZhdGUgZHluYW1pY0JlaGF2aW9yT3B0aW9uczogQmVoYXZpb3JPcHRpb25zO1xuICBwcml2YXRlIGltYWdlQmVoYXZpb3JPcHRpb25zOiBCZWhhdmlvck9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5zdGF0aWNPcmlnaW4gPSB0aGlzLmNyZWF0ZVN0YXRpY09yaWdpbigpO1xuICAgIHRoaXMuaXNGdW5jdGlvbkNvbXB1dGUgPSBwcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLkdMT0JBTF9GVU5DVElPTlM7XG4gICAgdGhpcy5keW5hbWljT3JpZ2luID0gdGhpcy5jcmVhdGVEeW5hbWljT3JpZ2luKCk7XG4gICAgdGhpcy5keW5hbWljT3JpZ2luUmVzcG9uc2VQb2xpY3kgPSB0aGlzLmNyZWF0ZUR5bmFtaWNPcmlnaW5SZXF1ZXN0UG9saWN5KCk7XG4gICAgdGhpcy5keW5hbWljQ2xvdWRGcm9udEZ1bmN0aW9uQXNzb2NpYXRpb25zID1cbiAgICAgIHRoaXMuY3JlYXRlRHluYW1pY0Nsb3VkRnJvbnRGdW5jdGlvbkFzc29jaWF0aW9ucygpO1xuICAgIHRoaXMuc3RhdGljQmVoYXZpb3JPcHRpb25zID0gdGhpcy5jcmVhdGVTdGF0aWNCZWhhdmlvck9wdGlvbnMoKTtcbiAgICB0aGlzLmR5bmFtaWNCZWhhdmlvck9wdGlvbnMgPSB0aGlzLmNyZWF0ZUR5bmFtaWNCZWhhdmlvck9wdGlvbnMoKTtcbiAgICB0aGlzLmltYWdlQmVoYXZpb3JPcHRpb25zID0gdGhpcy5jcmVhdGVJbWFnZUJlaGF2aW9yT3B0aW9ucygpO1xuICAgIHRoaXMuZGlzdHJpYnV0aW9uID0gdGhpcy5nZXREaXN0cmlidXRpb24oKTtcbiAgICB0aGlzLmFkZFN0YXRpY0JlaGF2aW9ycygpO1xuICAgIHRoaXMuYWRkRHluYW1pY0JlaGF2aW9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdGF0aWNPcmlnaW4oKTogSU9yaWdpbiB7XG4gICAgY29uc3QgczNPcmlnaW4gPSBTM0J1Y2tldE9yaWdpbi53aXRoT3JpZ2luQWNjZXNzQ29udHJvbChcbiAgICAgIHRoaXMucHJvcHMuYXNzZXRzQnVja2V0LFxuICAgICAgdGhpcy5wcm9wcy5vdmVycmlkZXM/LnMzQnVja2V0T3JpZ2luUHJvcHMsXG4gICAgKTtcbiAgICByZXR1cm4gczNPcmlnaW47XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljT3JpZ2luKCk6IElPcmlnaW4ge1xuICAgIGlmICh0aGlzLmlzRnVuY3Rpb25Db21wdXRlKSB7XG4gICAgICBpZiAoIXRoaXMucHJvcHMuZnVuY3Rpb25VcmwpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMuZnVuY3Rpb25VcmxcIik7XG4gICAgICByZXR1cm4gRnVuY3Rpb25VcmxPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0NvbnRyb2woXG4gICAgICAgIHRoaXMucHJvcHMuZnVuY3Rpb25VcmwsXG4gICAgICAgIHRoaXMucHJvcHMub3ZlcnJpZGVzPy5keW5hbWljRnVuY3Rpb25VcmxPcmlnaW5XaXRoT0FDUHJvcHMsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsb2FkQmFsYW5jZXIgPSB0aGlzLnByb3BzLmxvYWRCYWxhbmNlcjtcbiAgICAgIGlmICghbG9hZEJhbGFuY2VyKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzLmxvYWRCYWxhbmNlclwiKTtcbiAgICAgIHJldHVybiBWcGNPcmlnaW4ud2l0aEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyKGxvYWRCYWxhbmNlciwge1xuICAgICAgICBwcm90b2NvbFBvbGljeTogdGhpcy5wcm9wcy5jZXJ0aWZpY2F0ZVxuICAgICAgICAgID8gT3JpZ2luUHJvdG9jb2xQb2xpY3kuSFRUUFNfT05MWVxuICAgICAgICAgIDogT3JpZ2luUHJvdG9jb2xQb2xpY3kuSFRUUF9PTkxZLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZHluYW1pY1ZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBMYW1iZGEgRnVuY3Rpb24gVVJMcyBcImV4cGVjdCB0aGUgYEhvc3RgIGhlYWRlciB0byBjb250YWluIHRoZSBvcmlnaW4gZG9tYWluXG4gICAqIG5hbWUsIG5vdCB0aGUgZG9tYWluIG5hbWUgb2YgdGhlIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uLlwiXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL3VzaW5nLW1hbmFnZWQtb3JpZ2luLXJlcXVlc3QtcG9saWNpZXMuaHRtbCNtYW5hZ2VkLW9yaWdpbi1yZXF1ZXN0LXBvbGljeS1hbGwtdmlld2VyLWV4Y2VwdC1ob3N0LWhlYWRlclxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljT3JpZ2luUmVxdWVzdFBvbGljeSgpOiBJT3JpZ2luUmVxdWVzdFBvbGljeSB7XG4gICAgcmV0dXJuIHRoaXMuaXNGdW5jdGlvbkNvbXB1dGVcbiAgICAgID8gT3JpZ2luUmVxdWVzdFBvbGljeS5BTExfVklFV0VSX0VYQ0VQVF9IT1NUX0hFQURFUlxuICAgICAgOiBPcmlnaW5SZXF1ZXN0UG9saWN5LkFMTF9WSUVXRVI7XG4gIH1cbiAgLyoqXG4gICAqIEVuc3VyZXMgTmV4dC5qcyBgcmVxdWVzdC51cmxgIHdpbGwgYmUgY29ycmVjdCBkb21haW4gaW5zdGVhZCBvZiBVUkwgb2ZcbiAgICogY29tcHV0ZSAoTGFtYmRhIG9yIEZhcmdhdGUpXG4gICAqIEBzZWUgaHR0cHM6Ly9vcGVuLW5leHQuanMub3JnL2FkdmFuY2VkL3dvcmthcm91bmQjd29ya2Fyb3VuZC1zZXQteC1mb3J3YXJkZWQtaG9zdC1oZWFkZXItYXdzLXNwZWNpZmljXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUR5bmFtaWNDbG91ZEZyb250RnVuY3Rpb25Bc3NvY2lhdGlvbnMoKTogRnVuY3Rpb25Bc3NvY2lhdGlvbltdIHtcbiAgICBjb25zdCBhc3NvY2lhdGlvbnM6IEZ1bmN0aW9uQXNzb2NpYXRpb25bXSA9IFtdO1xuICAgIGlmICh0aGlzLmlzRnVuY3Rpb25Db21wdXRlKSB7XG4gICAgICBjb25zdCBjbG91ZEZyb250Rm4gPSBuZXcgQ2xvdWRGcm9udEZ1bmN0aW9uKHRoaXMsIFwiQ2xvdWRGcm9udEZuXCIsIHtcbiAgICAgICAgY29kZTogRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUoYFxuICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gZXZlbnQucmVxdWVzdDtcbiAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVyc1tcIngtZm9yd2FyZGVkLWhvc3RcIl0gPSByZXF1ZXN0LmhlYWRlcnMuaG9zdDtcbiAgICAgICAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBgKSxcbiAgICAgIH0pO1xuICAgICAgYXNzb2NpYXRpb25zLnB1c2goe1xuICAgICAgICBldmVudFR5cGU6IEZ1bmN0aW9uRXZlbnRUeXBlLlZJRVdFUl9SRVFVRVNULFxuICAgICAgICBmdW5jdGlvbjogY2xvdWRGcm9udEZuLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBhc3NvY2lhdGlvbnM7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVTdGF0aWNCZWhhdmlvck9wdGlvbnMoKTogQmVoYXZpb3JPcHRpb25zIHtcbiAgICBjb25zdCBzdGF0aWNCZWhhdmlvck9wdGlvbnMgPSB0aGlzLnByb3BzLm92ZXJyaWRlcz8uc3RhdGljQmVoYXZpb3JPcHRpb25zO1xuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9XG4gICAgICBzdGF0aWNCZWhhdmlvck9wdGlvbnM/LnJlc3BvbnNlSGVhZGVyc1BvbGljeSA/P1xuICAgICAgbmV3IFJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCBcIlN0YXRpY1Jlc3BvbnNlSGVhZGVyc1BvbGljeVwiLCB7XG4gICAgICAgIHNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yOiB0aGlzLmNvbW1vblNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yLFxuICAgICAgICBjb21tZW50OiBgTmV4dGpzIFN0YXRpYyBSZXNwb25zZSBIZWFkZXJzIFBvbGljeSBmb3IgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9YCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LnN0YXRpY1Jlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLFxuICAgICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFsbG93ZWRNZXRob2RzOiBBbGxvd2VkTWV0aG9kcy5BTExPV19HRVRfSEVBRF9PUFRJT05TLFxuICAgICAgY2FjaGVkTWV0aG9kczogQ2FjaGVkTWV0aG9kcy5DQUNIRV9HRVRfSEVBRF9PUFRJT05TLFxuICAgICAgY2FjaGVQb2xpY3k6IENhY2hlUG9saWN5LkNBQ0hJTkdfT1BUSU1JWkVELFxuICAgICAgb3JpZ2luOiB0aGlzLnN0YXRpY09yaWdpbixcbiAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBWaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgIC4uLnN0YXRpY0JlaGF2aW9yT3B0aW9ucyxcbiAgICB9O1xuICB9XG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0JlaGF2aW9yT3B0aW9ucygpOiBCZWhhdmlvck9wdGlvbnMge1xuICAgIGNvbnN0IGR5bmFtaWNCZWhhdmlvck9wdGlvbnMgPSB0aGlzLnByb3BzLm92ZXJyaWRlcz8uZHluYW1pY0JlaGF2aW9yT3B0aW9ucztcbiAgICAvLyBjcmVhdGUgZGVmYXVsdCBjYWNoZSBwb2xpY3kgaWYgbm90IHByb3ZpZGVkXG4gICAgY29uc3QgY2FjaGVQb2xpY3kgPVxuICAgICAgZHluYW1pY0JlaGF2aW9yT3B0aW9ucz8uY2FjaGVQb2xpY3kgPz9cbiAgICAgIG5ldyBDYWNoZVBvbGljeSh0aGlzLCBcIkR5bmFtaWNDYWNoZVBvbGljeVwiLCB7XG4gICAgICAgIHF1ZXJ5U3RyaW5nQmVoYXZpb3I6IENhY2hlUXVlcnlTdHJpbmdCZWhhdmlvci5hbGwoKSxcbiAgICAgICAgaGVhZGVyQmVoYXZpb3I6IENhY2hlSGVhZGVyQmVoYXZpb3IuYWxsb3dMaXN0KFxuICAgICAgICAgIFwiYWNjZXB0XCIsXG4gICAgICAgICAgXCJyc2NcIixcbiAgICAgICAgICBcIm5leHQtcm91dGVyLXByZWZldGNoXCIsXG4gICAgICAgICAgXCJuZXh0LXJvdXRlci1zdGF0ZS10cmVlXCIsXG4gICAgICAgICAgXCJuZXh0LXVybFwiLFxuICAgICAgICAgIFwieC1wcmVyZW5kZXItcmV2YWxpZGF0ZVwiLFxuICAgICAgICApLFxuICAgICAgICBjb29raWVCZWhhdmlvcjogQ2FjaGVDb29raWVCZWhhdmlvci5hbGwoKSxcbiAgICAgICAgZW5hYmxlQWNjZXB0RW5jb2RpbmdCcm90bGk6IHRydWUsXG4gICAgICAgIGVuYWJsZUFjY2VwdEVuY29kaW5nR3ppcDogdHJ1ZSxcbiAgICAgICAgY29tbWVudDogYE5leHRqcyBEeW5hbWljIENhY2hlIFBvbGljeSBmb3IgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9YCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmR5bmFtaWNDYWNoZVBvbGljeVByb3BzLFxuICAgICAgfSk7XG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID1cbiAgICAgIGR5bmFtaWNCZWhhdmlvck9wdGlvbnM/LnJlc3BvbnNlSGVhZGVyc1BvbGljeSA/P1xuICAgICAgbmV3IFJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCBcIkR5bmFtaWNSZXNwb25zZUhlYWRlcnNQb2xpY3lcIiwge1xuICAgICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjogdGhpcy5jb21tb25TZWN1cml0eUhlYWRlcnNCZWhhdmlvcixcbiAgICAgICAgY29tbWVudDogYE5leHRqcyBEeW5hbWljIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGZvciAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX1gLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZHluYW1pY0JlaGF2aW9yT3B0aW9ucz8ucmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICAgICAgfSk7XG4gICAgY29uc3QgYmVoYXZpb3JPcHRpb25zOiBCZWhhdmlvck9wdGlvbnMgPSB7XG4gICAgICBhbGxvd2VkTWV0aG9kczogQWxsb3dlZE1ldGhvZHMuQUxMT1dfQUxMLFxuICAgICAgY2FjaGVQb2xpY3ksXG4gICAgICBmdW5jdGlvbkFzc29jaWF0aW9uczogdGhpcy5keW5hbWljQ2xvdWRGcm9udEZ1bmN0aW9uQXNzb2NpYXRpb25zLFxuICAgICAgb3JpZ2luOiB0aGlzLmR5bmFtaWNPcmlnaW4sXG4gICAgICBvcmlnaW5SZXF1ZXN0UG9saWN5OiB0aGlzLmR5bmFtaWNPcmlnaW5SZXNwb25zZVBvbGljeSxcbiAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBWaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgIC4uLmR5bmFtaWNCZWhhdmlvck9wdGlvbnMsXG4gICAgfTtcbiAgICByZXR1cm4gYmVoYXZpb3JPcHRpb25zO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VCZWhhdmlvck9wdGlvbnMoKTogQmVoYXZpb3JPcHRpb25zIHtcbiAgICBjb25zdCBpbWFnZUJlaGF2aW9yT3B0aW9ucyA9IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5pbWFnZUJlaGF2aW9yT3B0aW9ucztcbiAgICAvLyBhZGQgZGVmYXVsdCBjYWNoZSBwb2xpY3kgaWYgbm90IHByb3ZpZGVkXG4gICAgY29uc3QgY2FjaGVQb2xpY3kgPVxuICAgICAgaW1hZ2VCZWhhdmlvck9wdGlvbnM/LmNhY2hlUG9saWN5ID8/XG4gICAgICBuZXcgQ2FjaGVQb2xpY3kodGhpcywgXCJJbWFnZUNhY2hlUG9saWN5XCIsIHtcbiAgICAgICAgLy8gU0VDVVJJVFkgTk9URTogYnkgZGVmYXVsdCB3ZSBkb24ndCBpbmNsdWRlIGNvb2tpZXMgaW4gY2FjaGUgZm9yXG4gICAgICAgIC8vIGltYWdlcyBiL2MgaXQgc2lnbmlmaWNhbnRseSBpbXByb3ZlcyBpbWFnZSBwZXJmIGZvciBtb3N0IHNpdGVzIEJVVFxuICAgICAgICAvLyBpZiB5b3UgaGF2ZSBwcml2YXRlIGltYWdlcyBsb2NrZWQgYmVoaW5kIGF1dGggaW1wbGVtZW50ZWQgd2l0aCBjb29raWVzXG4gICAgICAgIC8vIHlvdSBuZWVkIHRvIG92ZXJyaWRlIHRoaXMuXG4gICAgICAgIHF1ZXJ5U3RyaW5nQmVoYXZpb3I6IENhY2hlUXVlcnlTdHJpbmdCZWhhdmlvci5hbGwoKSxcbiAgICAgICAgaGVhZGVyQmVoYXZpb3I6IENhY2hlSGVhZGVyQmVoYXZpb3IuYWxsb3dMaXN0KFwiYWNjZXB0XCIpLFxuICAgICAgICBjb29raWVCZWhhdmlvcjogQ2FjaGVDb29raWVCZWhhdmlvci5ub25lKCksXG4gICAgICAgIGVuYWJsZUFjY2VwdEVuY29kaW5nQnJvdGxpOiB0cnVlLFxuICAgICAgICBlbmFibGVBY2NlcHRFbmNvZGluZ0d6aXA6IHRydWUsXG4gICAgICAgIGNvbW1lbnQ6IGBOZXh0anMgSW1hZ2UgQ2FjaGUgUG9saWN5IGZvciAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX1gLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uaW1hZ2VDYWNoZVBvbGljeVByb3BzLFxuICAgICAgfSk7XG4gICAgLy8gYWRkIGRlZmF1bHQgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kgaWYgbm90IHByb3ZpZGVkXG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID1cbiAgICAgIGltYWdlQmVoYXZpb3JPcHRpb25zPy5yZXNwb25zZUhlYWRlcnNQb2xpY3kgPz9cbiAgICAgIG5ldyBSZXNwb25zZUhlYWRlcnNQb2xpY3kodGhpcywgXCJJbWFnZVJlc3BvbnNlSGVhZGVyc1BvbGljeVwiLCB7XG4gICAgICAgIHNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yOiB0aGlzLmNvbW1vblNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yLFxuICAgICAgICBjb21tZW50OiBgTmV4dGpzIEltYWdlIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGZvciAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX1gLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uaW1hZ2VSZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyxcbiAgICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBhbGxvd2VkTWV0aG9kczogQWxsb3dlZE1ldGhvZHMuQUxMT1dfR0VUX0hFQURfT1BUSU9OUyxcbiAgICAgIGNhY2hlZE1ldGhvZHM6IENhY2hlZE1ldGhvZHMuQ0FDSEVfR0VUX0hFQURfT1BUSU9OUyxcbiAgICAgIGZ1bmN0aW9uQXNzb2NpYXRpb25zOiB0aGlzLmR5bmFtaWNDbG91ZEZyb250RnVuY3Rpb25Bc3NvY2lhdGlvbnMsXG4gICAgICBvcmlnaW46IHRoaXMuZHluYW1pY09yaWdpbixcbiAgICAgIG9yaWdpblJlcXVlc3RQb2xpY3k6IHRoaXMuZHluYW1pY09yaWdpblJlc3BvbnNlUG9saWN5LFxuICAgICAgY2FjaGVQb2xpY3ksXG4gICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAuLi5pbWFnZUJlaGF2aW9yT3B0aW9ucyxcbiAgICB9O1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIG9yIHVzZXMgdXNlciBzcGVjaWZpZWQgQ2xvdWRGcm9udCBEaXN0cmlidXRpb25cbiAgICovXG4gIHByaXZhdGUgZ2V0RGlzdHJpYnV0aW9uKCk6IERpc3RyaWJ1dGlvbiB7XG4gICAgbGV0IGRpc3RyaWJ1dGlvbjogRGlzdHJpYnV0aW9uO1xuICAgIGlmICh0aGlzLnByb3BzLmRpc3RyaWJ1dGlvbikge1xuICAgICAgZGlzdHJpYnV0aW9uID0gdGhpcy5wcm9wcy5kaXN0cmlidXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3RyaWJ1dGlvbiA9IG5ldyBEaXN0cmlidXRpb24odGhpcywgXCJEaXN0cmlidXRpb25cIiwge1xuICAgICAgICBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uOiBTZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMjEsXG4gICAgICAgIGRlZmF1bHRCZWhhdmlvcjogdGhpcy5keW5hbWljQmVoYXZpb3JPcHRpb25zLFxuICAgICAgICAvLyBiZXN0IHRvIHVzZSBIVFRQIDIgYW5kIDMgZm9yIGNvbXBhdGFiaWxpdHkgKEhUVFAgMikgYW5kIHBlcmZvcm1hbmNlIChIVFRQMylcbiAgICAgICAgLy8gQ2xvdWRGcm9udCB3aWxsIGNob29zZSBiZXN0IG9wdGlvbiBmb3IgY2xpZW50XG4gICAgICAgIGh0dHBWZXJzaW9uOiBIdHRwVmVyc2lvbi5IVFRQMl9BTkRfMyxcbiAgICAgICAgY29tbWVudDogYGNkay1uZXh0anMgRGlzdHJpYnV0aW9uIGZvciAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX1gLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGRpc3RyaWJ1dGlvbjtcbiAgfVxuICBwcml2YXRlIGFkZER5bmFtaWNCZWhhdmlvcnMoKSB7XG4gICAgLy8gSW1hZ2UgQmVoYXZpb3JcbiAgICB0aGlzLmRpc3RyaWJ1dGlvbi5hZGRCZWhhdmlvcihcbiAgICAgIHRoaXMuZ2V0UGF0aFBhdHRlcm4oXCJfbmV4dC9pbWFnZSpcIiksXG4gICAgICB0aGlzLmltYWdlQmVoYXZpb3JPcHRpb25zLm9yaWdpbixcbiAgICAgIHRoaXMuaW1hZ2VCZWhhdmlvck9wdGlvbnMsXG4gICAgKTtcbiAgICAvLyBSb290IFBhdGggQmVoYXZpb3JzXG4gICAgaWYgKHRoaXMucHJvcHMuYmFzZVBhdGgpIHtcbiAgICAgIC8vIGJlY2F1c2Ugd2UgYWxyZWFkeSBoYXZlIGEgYmFzZVBhdGggd2UgZG9uJ3QgdXNlIC8gaW5zdGVhZCB3ZSB1c2UgL2Jhc2UtcGF0aFxuICAgICAgdGhpcy5kaXN0cmlidXRpb24uYWRkQmVoYXZpb3IoXG4gICAgICAgIHRoaXMucHJvcHMuYmFzZVBhdGgsXG4gICAgICAgIHRoaXMuZHluYW1pY0JlaGF2aW9yT3B0aW9ucy5vcmlnaW4sXG4gICAgICAgIHRoaXMuZHluYW1pY0JlaGF2aW9yT3B0aW9ucyxcbiAgICAgICk7XG4gICAgICAvLyB3aGVuIGJhc2VQYXRoIGlzIHNldCwgd2UgZW11bGF0ZSB0aGUgXCJkZWZhdWx0IGJlaGF2aW9yXCIgKCopIGZvciB0aGUgc2l0ZSBhcyBgL2Jhc2UtcGF0aC8qYFxuICAgICAgdGhpcy5kaXN0cmlidXRpb24uYWRkQmVoYXZpb3IoXG4gICAgICAgIHRoaXMuZ2V0UGF0aFBhdHRlcm4oXCIqXCIpLFxuICAgICAgICB0aGlzLmR5bmFtaWNCZWhhdmlvck9wdGlvbnMub3JpZ2luLFxuICAgICAgICB0aGlzLmR5bmFtaWNCZWhhdmlvck9wdGlvbnMsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpZiBubyBiYXNlIHBhdGgsIHRoZW4gZGVmYXVsdCBiZWhhdmlvciB3aWxsIGhhbmRsZSBhbGwgb3RoZXIgcGF0aHNcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBhZGRTdGF0aWNCZWhhdmlvcnMoKSB7XG4gICAgdGhpcy5kaXN0cmlidXRpb24uYWRkQmVoYXZpb3IoXG4gICAgICB0aGlzLmdldFBhdGhQYXR0ZXJuKFwiX25leHQvc3RhdGljKlwiKSxcbiAgICAgIHRoaXMuc3RhdGljT3JpZ2luLFxuICAgICAgdGhpcy5zdGF0aWNCZWhhdmlvck9wdGlvbnMsXG4gICAgKTtcbiAgICAvLyAyMiA9IDI1IChtYXgpIC0gMSAoX25leHQvaW1hZ2UpIC0gMSAoX25leHQvc3RhdGljKSAtIDEgKCopXG4gICAgaWYgKHRoaXMucHJvcHMucHVibGljRGlyRW50cmllcy5sZW5ndGggPj0gMjIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRvbyBtYW55IHB1YmxpYy8gZmlsZXMgaW4gTmV4dC5qcyBidWlsZC4gQ2xvdWRGcm9udCBsaW1pdHMgRGlzdHJpYnV0aW9ucyB0byAyNSBDYWNoZSBCZWhhdmlvcnMuIFNlZSBkb2N1bWVudGVkIGxpbWl0IGhlcmU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9jbG91ZGZyb250LWxpbWl0cy5odG1sI2xpbWl0cy13ZWItZGlzdHJpYnV0aW9ucy4gVHJ5IGluY2x1ZGluZyBhbGwgcHVibGljIGZpbGVzIGludG8gMSB0b3AgbGV2ZWwgZGlyZWN0b3J5IChpLmUuIHN0YXRpYy8qKS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBwdWJsaWNGaWxlIG9mIHRoaXMucHJvcHMucHVibGljRGlyRW50cmllcykge1xuICAgICAgY29uc3QgcGF0aFBhdHRlcm4gPSBwdWJsaWNGaWxlLmlzRGlyZWN0b3J5XG4gICAgICAgID8gYCR7cHVibGljRmlsZS5uYW1lfS8qYFxuICAgICAgICA6IHB1YmxpY0ZpbGUubmFtZTtcbiAgICAgIGlmICghL15bYS16QS1aMC05X1xcLS4qJC9+XCInQDorPyZdKyQvLnRlc3QocGF0aFBhdHRlcm4pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBDbG91ZEZyb250IERpc3RyaWJ1dGlvbiBDYWNoZSBCZWhhdmlvciBQYXRoIFBhdHRlcm46ICR7cGF0aFBhdHRlcm59LiBQbGVhc2Ugc2VlIGRvY3VtZW50YXRpb24gaGVyZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2Rpc3RyaWJ1dGlvbi13ZWItdmFsdWVzLXNwZWNpZnkuaHRtbCNEb3dubG9hZERpc3RWYWx1ZXNQYXRoUGF0dGVybmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCBmaW5hbFBhdGhQYXR0ZXJuID0gdGhpcy5nZXRQYXRoUGF0dGVybihwYXRoUGF0dGVybik7XG4gICAgICB0aGlzLmRpc3RyaWJ1dGlvbi5hZGRCZWhhdmlvcihcbiAgICAgICAgZmluYWxQYXRoUGF0dGVybixcbiAgICAgICAgdGhpcy5zdGF0aWNPcmlnaW4sXG4gICAgICAgIHRoaXMuc3RhdGljQmVoYXZpb3JPcHRpb25zLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIE9wdGlvbmFsbHkgcHJlcGVuZHMgYmFzZSBwYXRoIHRvIGdpdmVuIHBhdGggcGF0dGVybi5cbiAgICovXG4gIHByaXZhdGUgZ2V0UGF0aFBhdHRlcm4ocGF0aFBhdHRlcm46IHN0cmluZykge1xuICAgIGlmICh0aGlzLnByb3BzLmJhc2VQYXRoKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5iYXNlUGF0aH0vJHtwYXRoUGF0dGVybn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGF0aFBhdHRlcm47XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -71,5 +71,5 @@ class NextjsFileSystem extends constructs_1.Construct {
71
71
  }
72
72
  exports.NextjsFileSystem = NextjsFileSystem;
73
73
  _a = JSII_RTTI_SYMBOL_1;
74
- NextjsFileSystem[_a] = { fqn: "cdk-nextjs.NextjsFileSystem", version: "0.4.2" };
74
+ NextjsFileSystem[_a] = { fqn: "cdk-nextjs.NextjsFileSystem", version: "0.4.4" };
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWZpbGUtc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1maWxlLXN5c3RlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUU1QyxpREFNNkI7QUFFN0IsMkNBQXVDO0FBaUJ2Qzs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBSzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNLLGdCQUFnQjtRQUN0QixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNwRCxTQUFTLEVBQUUsSUFBSTtZQUNmLGVBQWUsRUFBRSx5QkFBZSxDQUFDLGFBQWE7WUFDOUMsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUNwQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ25CLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxlQUFlO1NBQ3pDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxpQkFBaUI7UUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLHFCQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN2RCxxRUFBcUU7WUFDckUsa0RBQWtEO1lBQ2xELFNBQVMsRUFBRTtnQkFDVCxRQUFRLEVBQUUsR0FBRztnQkFDYixRQUFRLEVBQUUsR0FBRztnQkFDYixXQUFXLEVBQUUsS0FBSzthQUNuQjtZQUNELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQiw0RUFBNEU7WUFDNUUsSUFBSSxFQUFFLGFBQWE7WUFDbkIsZ0ZBQWdGO1lBQ2hGLFNBQVMsRUFBRTtnQkFDVCxHQUFHO2dCQUNILEdBQUc7YUFDSjtZQUNELEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO1NBQzFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFxQjtRQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQTdESCw0Q0E4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9ucywgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBBY2Nlc3NQb2ludCxcbiAgQWNjZXNzUG9pbnRQcm9wcyxcbiAgRmlsZVN5c3RlbSxcbiAgRmlsZVN5c3RlbVByb3BzLFxuICBMaWZlY3ljbGVQb2xpY3ksXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWZzXCI7XG5pbXBvcnQgeyBJUm9sZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0ZpbGVTeXN0ZW1PdmVycmlkZXMge1xuICByZWFkb25seSBmaWxlU3lzdGVtUHJvcHM/OiBGaWxlU3lzdGVtUHJvcHM7XG4gIHJlYWRvbmx5IGFjY2Vzc1BvaW50UHJvcHM/OiBBY2Nlc3NQb2ludFByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0ZpbGVTeXN0ZW1Qcm9wcyB7XG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0ZpbGVTeXN0ZW1PdmVycmlkZXM7XG4gIHJlYWRvbmx5IHZwYzogSVZwYztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxvd0NvbXB1dGVQcm9wcyB7XG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcmVhZG9ubHkgcm9sZTogSVJvbGU7XG59XG5cbi8qKlxuICogTmV4dC5qcyBOZXR3b3JrIEZpbGUgU3lzdGVtIGVuYWJsaW5nIHNoYXJpbmcgb2YgaW1hZ2Ugb3B0aW1pemF0aW9uIGNhY2hlLFxuICogZGF0YSBjYWNoLCBhbmQgcGFnZXMgY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNGaWxlU3lzdGVtIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZmlsZVN5c3RlbTogRmlsZVN5c3RlbTtcbiAgYWNjZXNzUG9pbnQ6IEFjY2Vzc1BvaW50O1xuICBwcml2YXRlIHByb3BzOiBOZXh0anNGaWxlU3lzdGVtUHJvcHM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0ZpbGVTeXN0ZW1Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZmlsZVN5c3RlbSA9IHRoaXMuY3JlYXRlRmlsZVN5c3RlbSgpO1xuICAgIHRoaXMuYWNjZXNzUG9pbnQgPSB0aGlzLmNyZWF0ZUFjY2Vzc1BvaW50KCk7XG4gIH1cbiAgLyoqXG4gICAqIENyZWF0ZXMgRUZTIEZpbGUgU3lzdGVtXG4gICAqXG4gICAqIE5vdGUsIHRoZSByZXNvdXJjZSBwb2xpY3kgZm9yIHRoZSBGaWxlIFN5c3RlbSB3aWxsIGluY2x1ZGUgdGhlIGJvb2xlYW5cbiAgICogY29uZGl0aW9uLCBgXCJlbGFzdGljZmlsZXN5c3RlbTpBY2Nlc3NlZFZpYU1vdW50VGFyZ2V0XCI6IFwidHJ1ZVwiYCB3aGljaCBmcm9tXG4gICAqIENESyBbZG9jc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWZzLXJlYWRtZS5odG1sI3Blcm1pc3Npb25zKVxuICAgKiBzYXlzLCBcIm9ubHkgYWxsb3cgYWNjZXNzIHRvIGNsaWVudHMgdXNpbmcgSUFNIGF1dGhlbnRpY2F0aW9uIGFuZCBkZW55IGFjY2Vzc1xuICAgKiB0byBhbm9ueW1vdXMgY2xpZW50c1wiLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lZnMvbGF0ZXN0L3VnL2FjY2Vzcy1jb250cm9sLWJsb2NrLXB1YmxpYy1hY2Nlc3MuaHRtbFxuICAgKlxuICAgKiBJZGVhbGx5IHdlIGNvdWxkIGFkZCBJQU0gc3RyaW5nIGNvbmRpdGlvbiBgZWxhc3RpY2ZpbGVzeXN0ZW06QWNjZXNzUG9pbnRBcm5gXG4gICAqIHRvIHRoZSByZXNvdXJjZSBwb2xpY3kgYnV0IHRoaXMgY2F1c2VzIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUZpbGVTeXN0ZW0oKSB7XG4gICAgY29uc3QgZmlsZVN5c3RlbSA9IG5ldyBGaWxlU3lzdGVtKHRoaXMsIFwiRmlsZVN5c3RlbVwiLCB7XG4gICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBsaWZlY3ljbGVQb2xpY3k6IExpZmVjeWNsZVBvbGljeS5BRlRFUl8zMF9EQVlTLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgdnBjOiB0aGlzLnByb3BzLnZwYyxcbiAgICAgIGFsbG93QW5vbnltb3VzQWNjZXNzOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5maWxlU3lzdGVtUHJvcHMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbGVTeXN0ZW07XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVBY2Nlc3NQb2ludCgpIHtcbiAgICBjb25zdCB1aWQgPSBcIjEwMDFcIjtcbiAgICBjb25zdCBnaWQgPSBcIjEwMDFcIjtcbiAgICBjb25zdCBhY2Nlc3NQb2ludCA9IG5ldyBBY2Nlc3NQb2ludCh0aGlzLCBcIkFjY2Vzc1BvaW50XCIsIHtcbiAgICAgIC8vIGFzIC9jZGstbmV4dGpzIGRvZXNuJ3QgZXhpc3QgaW4gYSBuZXcgZWZzIGZpbGVzeXN0ZW0sIHRoZSBlZnMgd2lsbFxuICAgICAgLy8gY3JlYXRlIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgZm9sbG93aW5nIG9wdGlvbnNcbiAgICAgIGNyZWF0ZUFjbDoge1xuICAgICAgICBvd25lckdpZDogZ2lkLFxuICAgICAgICBvd25lclVpZDogdWlkLFxuICAgICAgICBwZXJtaXNzaW9uczogXCI3NTVcIixcbiAgICAgIH0sXG4gICAgICBmaWxlU3lzdGVtOiB0aGlzLmZpbGVTeXN0ZW0sXG4gICAgICAvLyBhcmJpdHJhcmlseSBuYW1lZCBwYXRoIHdoaWNoIGlzIGV4cG9zZWQgdG8gTkZTIGNsaWVudHM6IGxhbWJkYSBvciBmYXJnYXRlXG4gICAgICBwYXRoOiBcIi9jZGstbmV4dGpzXCIsXG4gICAgICAvLyBlbmZvcmNlIFBPU0lYIGlkZW50aXR5IHNvIGNvbnRhaW5lciB3aWwgYWNjZXNzIGZpbGUgc3lzdGVtIHdpdGggdGhpcyBpZGVudGl0eVxuICAgICAgcG9zaXhVc2VyOiB7XG4gICAgICAgIGdpZCxcbiAgICAgICAgdWlkLFxuICAgICAgfSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5hY2Nlc3NQb2ludFByb3BzLFxuICAgIH0pO1xuICAgIHJldHVybiBhY2Nlc3NQb2ludDtcbiAgfVxuICBhbGxvd0NvbXB1dGUoeyBjb25uZWN0aW9ucywgcm9sZSB9OiBBbGxvd0NvbXB1dGVQcm9wcykge1xuICAgIHRoaXMuZmlsZVN5c3RlbS5jb25uZWN0aW9ucy5hbGxvd0RlZmF1bHRQb3J0RnJvbShjb25uZWN0aW9ucyk7XG4gICAgdGhpcy5maWxlU3lzdGVtLmdyYW50UmVhZFdyaXRlKHJvbGUpO1xuICB9XG59XG4iXX0=
@@ -74,5 +74,5 @@ class NextjsPostDeploy extends constructs_1.Construct {
74
74
  }
75
75
  exports.NextjsPostDeploy = NextjsPostDeploy;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- NextjsPostDeploy[_a] = { fqn: "cdk-nextjs.NextjsPostDeploy", version: "0.4.2" };
77
+ NextjsPostDeploy[_a] = { fqn: "cdk-nextjs.NextjsPostDeploy", version: "0.4.4" };
78
78
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXBvc3QtZGVwbG95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1wb3N0LWRlcGxveS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlDQUFpQztBQUNqQyw2Q0FBdUQ7QUFJdkQsdURBTWdDO0FBRWhDLDJDQUF1QztBQUN2QywyQ0FBeUM7QUFJekMsK0RBQWlFO0FBZ0ZqRTs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQU03QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEVBQUUsR0FBRyxJQUFJLHFCQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUN4QyxZQUFZLEVBQUUsSUFBQSx3Q0FBcUIsR0FBRTtZQUNyQyxJQUFJLEVBQUUsaUJBQUksQ0FBQyxTQUFTLENBQ2xCLElBQUEsZ0JBQUksRUFBQyxTQUFTLEVBQUUsa0RBQWtELENBQUMsQ0FDcEU7WUFDRCxVQUFVLEVBQUUsdUJBQVUsQ0FBQyxrQkFBa0IsQ0FDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQ3RCLHNCQUFVLENBQ1g7WUFDRCxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsSUFBSTtZQUNoQixPQUFPLEVBQUUsSUFBSSxvQkFBTyxDQUFDLFlBQVksRUFBRSwwQkFBYSxDQUFDLE1BQU0sQ0FBQztZQUN4RCxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxhQUFhO1NBQ3ZDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDL0IsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixNQUFNLFVBQVUsR0FBdUM7WUFDckQsbURBQW1EO1lBQ25ELE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDM0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7WUFDN0MsS0FBSyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVU7WUFDeEQsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxVQUFVO1lBQ2pFLDhCQUE4QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtnQkFDckQsQ0FBQyxDQUFDO29CQUNFLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjO29CQUN0RCxpQkFBaUIsRUFBRTt3QkFDakIsZUFBZSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO3dCQUN6QyxLQUFLLEVBQUU7NEJBQ0wsUUFBUSxFQUFFLENBQUM7NEJBQ1gsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNkO3FCQUNGO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0I7U0FDbEQsQ0FBQztRQUNGLE9BQU8sSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNoRCxVQUFVO1lBQ1YsWUFBWSxFQUFFLDBCQUEwQjtZQUN4QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXO1lBQzdDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsbUJBQW1CO1NBQzdDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBakVILDRDQWtFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElEaXN0cmlidXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQWNjZXNzUG9pbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVmc1wiO1xuaW1wb3J0IHtcbiAgQ29kZSxcbiAgRmlsZVN5c3RlbSxcbiAgRnVuY3Rpb24gYXMgTGFtYmRhRnVuY3Rpb24sXG4gIFJ1bnRpbWUsXG4gIFJ1bnRpbWVGYW1pbHksXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTU9VTlRfUEFUSCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxDdXN0b21SZXNvdXJjZVByb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxDdXN0b21SZXNvdXJjZVByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbEZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEZ1bmN0aW9uUHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsUG9zdERlcGxveUN1c3RvbVJlc291cmNlUHJvcGVydGllcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsUG9zdERlcGxveUN1c3RvbVJlc291cmNlUHJvcGVydGllc1wiO1xuaW1wb3J0IHsgZ2V0TGFtYmRhQXJjaGl0ZWN0dXJlIH0gZnJvbSBcIi4vdXRpbHMvZ2V0LWFyY2hpdGVjdHVyZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc1Bvc3REZXBsb3lPdmVycmlkZXMge1xuICByZWFkb25seSBmdW5jdGlvblByb3BzPzogT3B0aW9uYWxGdW5jdGlvblByb3BzO1xuICAvKipcbiAgICogUHJvcHMgdGhhdCBkZWZpbmUgdGhlIGN1c3RvbSByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tUmVzb3VyY2VQcm9wcz86IE9wdGlvbmFsQ3VzdG9tUmVzb3VyY2VQcm9wcztcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgcGFzc2VkIGludG8gY3VzdG9tIHJlc291cmNlIHRoYXQgYXJlIHBhc3NlZCB0byBMYW1iZGEgZXZlbnQgaGFuZGxlci5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVJlc291cmNlUHJvcGVydGllcz86IE9wdGlvbmFsUG9zdERlcGxveUN1c3RvbVJlc291cmNlUHJvcGVydGllcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNQb3N0RGVwbG95UHJvcHMge1xuICByZWFkb25seSBhY2Nlc3NQb2ludDogQWNjZXNzUG9pbnQ7XG4gIHJlYWRvbmx5IGJ1aWxkSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0J1aWxkLmJ1aWxkSW1hZ2VEaWdlc3R9XG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBsb2dzIGRldGFpbHMgaW4gY3VzdG9tIHJlc291cmNlIGxhbWJkYVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkZWJ1Zz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDbG91ZEZyb250IERpc3RyaWJ1dGlvbiB0byBpbnZhbGlkYXRlXG4gICAqL1xuICByZWFkb25seSBkaXN0cmlidXRpb24/OiBJRGlzdHJpYnV0aW9uO1xuICAvKipcbiAgICogT3ZlcnJpZGUgcHJvcHMgZm9yIGV2ZXJ5IGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc1Bvc3REZXBsb3lPdmVycmlkZXM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsYXRpdmVQYXRoVG9QYWNrYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogUmVxdWlyZWQgZm9yIGBOZXh0anNUeXBlLkdsb2JhbEZ1bmN0aW9uc2AgYW5kIGBOZXh0anNUeXBlLkdsb2JhbENvbnRhaW5lcnNgXG4gICAqL1xuICByZWFkb25seSBzdGF0aWNBc3NldHNCdWNrZXQ/OiBCdWNrZXQ7XG4gIHJlYWRvbmx5IHZwYzogSVZwYztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3N0RGVwbG95Q3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIEJ1aWxkIElEIG9mIGN1cnJlbnQgZGVwbG95bWVudC4gVXNlZCB0byBwcnVuZSBGaWxlU3lzdGVtIG9mIGRpcmVjdG9yaWVzXG4gICAqIHdpdGggb2xkIGJ1aWxkIGlkcyBhbmQgcHJ1bmUgUzMgYmFzZWQgb24gbWV0YWRhdCBhbmQgYG1zVHRsYFxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTmV4dGpzQnVpbGQuYnVpbGRJbWFnZURpZ2VzdH1cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2VEaWdlc3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0phdmFTY3JpcHRTREsvdjMvbGF0ZXN0L2NsaWVudC9jbG91ZGZyb250L2NvbW1hbmQvQ3JlYXRlSW52YWxpZGF0aW9uQ29tbWFuZC9cbiAgICogQGRlZmF1bHRcbiAgICoge1xuICAgICAgICBkaXN0cmlidXRpb25JZDogdGhpcy5wcm9wcy5kaXN0cmlidXRpb24/LmRpc3RyaWJ1dGlvbklkLFxuICAgICAgICBpbnZhbGlkYXRpb25CYXRjaDoge1xuICAgICAgICAgIGNhbGxlclJlZmVyZW5jZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHBhdGhzOiB7XG4gICAgICAgICAgICBxdWFudGl0eTogMSxcbiAgICAgICAgICAgIGl0ZW1zOiBbXCIvKlwiXSwgLy8gaW52YWxpZGF0ZSBhbGwgcGF0aHNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlSW52YWxpZGF0aW9uQ29tbWFuZElucHV0PzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqXG4gICAqIFRpbWUgdG8gbGl2ZSBpbiBtaWxsaXNlY29uZHNcbiAgICpcbiAgICogTXVzdCBiZSBzdHJpbmcgYmVjYXVzZSBvZiBDbG91ZEZvcm1hdGlvbiBDdXN0b20gUmVzb3VyY2UgbGltaXRhdGlvblxuICAgKiBAZGVmYXVsdCAoMTAwMCAqIDYwICogNjAgKiAyNCAqIDMwKS50b1N0cmluZygpXG4gICAqL1xuICByZWFkb25seSBtc1R0bDogc3RyaW5nO1xuICByZWFkb25seSBzdGF0aWNBc3NldHNCdWNrZXROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBlcmZvcm1zIHBvc3QgZGVwbG95bWVudCB0YXNrcyBpbiBjdXN0b20gcmVzb3VyY2UuXG4gKlxuICogMS4gQ2xvdWRGcm9udCBJbnZhbGlkYXRpb24gKGRlZmF1bHRzIHRvIC8qKVxuICogMi4gUHJ1bmVzIEZpbGVTeXN0ZW0gYnkgcmVtb3ZpbmcgZGlyZWN0b3JpZXMgdGhhdCBkb24ndCBtYXRjaCB0aGlzIGRlcGxveW1lbnRzIEJVSUxEX0lEXG4gKiAzLiBQcnVuZSBTMyBieSByZW1vdmluZyBvYmplY3RzIHRoYXQgZG9uJ3QgaGF2ZSBuZXh0LWJ1aWxkLWlkIG1ldGFkYXRhIG9mXG4gKiBjdXJyZW50IGJ1aWxkIGlkIEFORCBhcmUgb2xkZXIgdGhhbiBgbXNUdGxgXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNQb3N0RGVwbG95IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY3VzdG9tUmVzb3VyY2U6IEN1c3RvbVJlc291cmNlO1xuICBsYW1iZGFGdW5jdGlvbjogTGFtYmRhRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzUG9zdERlcGxveVByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNQb3N0RGVwbG95UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gdGhpcy5jcmVhdGVGdW5jdGlvbigpO1xuICAgIHRoaXMuY3VzdG9tUmVzb3VyY2UgPSB0aGlzLmNyZWF0ZUN1c3RvbVJlc291cmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZuID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIFwiRm5cIiwge1xuICAgICAgYXJjaGl0ZWN0dXJlOiBnZXRMYW1iZGFBcmNoaXRlY3R1cmUoKSxcbiAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KFxuICAgICAgICBqb2luKF9fZGlybmFtZSwgXCIuLi9hc3NldHMvbGFtYmRhcy9wb3N0LWRlcGxveS9wb3N0LWRlcGxveS5sYW1iZGFcIiksXG4gICAgICApLFxuICAgICAgZmlsZXN5c3RlbTogRmlsZVN5c3RlbS5mcm9tRWZzQWNjZXNzUG9pbnQoXG4gICAgICAgIHRoaXMucHJvcHMuYWNjZXNzUG9pbnQsXG4gICAgICAgIE1PVU5UX1BBVEgsXG4gICAgICApLFxuICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgICAgcnVudGltZTogbmV3IFJ1bnRpbWUoXCJub2RlanMyMi54XCIsIFJ1bnRpbWVGYW1pbHkuTk9ERUpTKSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmZ1bmN0aW9uUHJvcHMsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9wcy5kaXN0cmlidXRpb24/LmdyYW50Q3JlYXRlSW52YWxpZGF0aW9uKGZuKTtcbiAgICBpZiAodGhpcy5wcm9wcy5kZWJ1ZyAhPT0gZmFsc2UpIHtcbiAgICAgIGZuLmFkZEVudmlyb25tZW50KFwiREVCVUdcIiwgXCIxXCIpO1xuICAgIH1cbiAgICB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldD8uZ3JhbnRSZWFkV3JpdGUoZm4pO1xuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tUmVzb3VyY2UoKSB7XG4gICAgY29uc3QgcHJvcGVydGllczogUG9zdERlcGxveUN1c3RvbVJlc291cmNlUHJvcGVydGllcyA9IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhpcyBDUiBydW5zIGVhY2ggdGltZSBuZXcgYnVpbGRlciBpbWFnZVxuICAgICAgYnVpbGRJZDogdGhpcy5wcm9wcy5idWlsZElkLFxuICAgICAgYnVpbGRJbWFnZURpZ2VzdDogdGhpcy5wcm9wcy5idWlsZEltYWdlRGlnZXN0LFxuICAgICAgbXNUdGw6ICgxMDAwICogNjAgKiA2MCAqIDI0ICogMzApLnRvU3RyaW5nKCksIC8vIDEgbW9udGhcbiAgICAgIHN0YXRpY0Fzc2V0c0J1Y2tldE5hbWU6IHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0Py5idWNrZXROYW1lLFxuICAgICAgY3JlYXRlSW52YWxpZGF0aW9uQ29tbWFuZElucHV0OiB0aGlzLnByb3BzLmRpc3RyaWJ1dGlvblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGRpc3RyaWJ1dGlvbklkOiB0aGlzLnByb3BzLmRpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25JZCxcbiAgICAgICAgICAgIGludmFsaWRhdGlvbkJhdGNoOiB7XG4gICAgICAgICAgICAgIGNhbGxlclJlZmVyZW5jZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgICBwYXRoczoge1xuICAgICAgICAgICAgICAgIHF1YW50aXR5OiAxLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXCIvKlwiXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5jdXN0b21SZXNvdXJjZVByb3BlcnRpZXMsXG4gICAgfTtcbiAgICByZXR1cm4gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIFwiQ3VzdG9tUmVzb3VyY2VcIiwge1xuICAgICAgcHJvcGVydGllcyxcbiAgICAgIHJlc291cmNlVHlwZTogXCJDdXN0b206Ok5leHRqc1Bvc3REZXBsb3lcIixcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5jdXN0b21SZXNvdXJjZVByb3BzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -5,10 +5,6 @@ export interface NextjsStaticAssetsOverrides {
5
5
  }
6
6
  export interface NextjsStaticAssetsProps {
7
7
  readonly overrides?: NextjsStaticAssetsOverrides;
8
- /**
9
- * Required if `NextjsType.REGIONAL_CONTAINERS`
10
- */
11
- readonly vpcId?: string;
12
8
  }
13
9
  /**
14
10
  * Creates S3 Bucket for public and _next/static assets.
@@ -29,5 +29,5 @@ class NextjsStaticAssets extends constructs_1.Construct {
29
29
  }
30
30
  exports.NextjsStaticAssets = NextjsStaticAssets;
31
31
  _a = JSII_RTTI_SYMBOL_1;
32
- NextjsStaticAssets[_a] = { fqn: "cdk-nextjs.NextjsStaticAssets", version: "0.4.2" };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXN0YXRpYy1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV4dGpzLXN0YXRpYy1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsK0NBSzRCO0FBQzVCLDJDQUF1QztBQWN2Qzs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFLL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1lBQ3BDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxpQkFBaUIsRUFBRSxHQUFHO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsV0FBVztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXJCSCxnREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCbG9ja1B1YmxpY0FjY2VzcyxcbiAgQnVja2V0LFxuICBCdWNrZXRFbmNyeXB0aW9uLFxuICBCdWNrZXRQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNTdGF0aWNBc3NldHNPdmVycmlkZXMge1xuICByZWFkb25seSBidWNrZXRQcm9wcz86IEJ1Y2tldFByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc1N0YXRpY0Fzc2V0c1Byb3BzIHtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzU3RhdGljQXNzZXRzT3ZlcnJpZGVzO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1R5cGUuUkVHSU9OQUxfQ09OVEFJTkVSU2BcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgUzMgQnVja2V0IGZvciBwdWJsaWMgYW5kIF9uZXh0L3N0YXRpYyBhc3NldHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNTdGF0aWNBc3NldHMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBidWNrZXQ6IEJ1Y2tldDtcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNTdGF0aWNBc3NldHNQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV4dGpzU3RhdGljQXNzZXRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmJ1Y2tldCA9IHRoaXMuY3JlYXRlQnVja2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJ1Y2tldCgpIHtcbiAgICByZXR1cm4gbmV3IEJ1Y2tldCh0aGlzLCBcIkJ1Y2tldFwiLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgbWluaW11bVRMU1ZlcnNpb246IDEuMixcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5idWNrZXRQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
32
+ NextjsStaticAssets[_a] = { fqn: "cdk-nextjs.NextjsStaticAssets", version: "0.4.4" };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXN0YXRpYy1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV4dGpzLXN0YXRpYy1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsK0NBSzRCO0FBQzVCLDJDQUF1QztBQVV2Qzs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFLL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1lBQ3BDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxpQkFBaUIsRUFBRSxHQUFHO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsV0FBVztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXJCSCxnREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCbG9ja1B1YmxpY0FjY2VzcyxcbiAgQnVja2V0LFxuICBCdWNrZXRFbmNyeXB0aW9uLFxuICBCdWNrZXRQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNTdGF0aWNBc3NldHNPdmVycmlkZXMge1xuICByZWFkb25seSBidWNrZXRQcm9wcz86IEJ1Y2tldFByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc1N0YXRpY0Fzc2V0c1Byb3BzIHtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzU3RhdGljQXNzZXRzT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgUzMgQnVja2V0IGZvciBwdWJsaWMgYW5kIF9uZXh0L3N0YXRpYyBhc3NldHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNTdGF0aWNBc3NldHMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBidWNrZXQ6IEJ1Y2tldDtcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNTdGF0aWNBc3NldHNQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV4dGpzU3RhdGljQXNzZXRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmJ1Y2tldCA9IHRoaXMuY3JlYXRlQnVja2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJ1Y2tldCgpIHtcbiAgICByZXR1cm4gbmV3IEJ1Y2tldCh0aGlzLCBcIkJ1Y2tldFwiLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgbWluaW11bVRMU1ZlcnNpb246IDEuMixcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5idWNrZXRQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/lib/nextjs-vpc.js CHANGED
@@ -74,5 +74,5 @@ class NextjsVpc extends constructs_1.Construct {
74
74
  }
75
75
  exports.NextjsVpc = NextjsVpc;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- NextjsVpc[_a] = { fqn: "cdk-nextjs.NextjsVpc", version: "0.4.2" };
77
+ NextjsVpc[_a] = { fqn: "cdk-nextjs.NextjsVpc", version: "0.4.4" };
78
78
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXZwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXh0anMtdnBjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBSzZCO0FBQzdCLDJDQUF1QztBQUN2QywyQ0FBeUM7QUFtQnpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFLdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixPQUFPLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxFQUFFLENBQUMsRUFBRSw2QkFBNkI7WUFDeEMsbUJBQW1CLEVBQUU7Z0JBQ25CLDBFQUEwRTtnQkFDMUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxvQkFBVSxDQUFDLE1BQU0sRUFBRTtnQkFDakQsb0ZBQW9GO2dCQUNwRjtvQkFDRSxJQUFJLEVBQUUsbUJBQW1CO29CQUN6QixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxtQkFBbUI7aUJBQzNDO2dCQUNELHVDQUF1QztnQkFDdkMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLG9CQUFVLENBQUMsZ0JBQWdCLEVBQUU7YUFDckU7WUFDRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFFBQVE7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssc0JBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLEVBQUU7Z0JBQ3BELE9BQU8sRUFBRSx3Q0FBOEIsQ0FBQyxHQUFHO2FBQzVDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQWpESCw4QkFrREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UsXG4gIElWcGMsXG4gIFN1Ym5ldFR5cGUsXG4gIFZwYyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXh0anNUeXBlIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBPcHRpb25hbFZwY1Byb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxWcGNQcm9wc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc1ZwY092ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IHZwY1Byb3BzPzogT3B0aW9uYWxWcGNQcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNWcGNQcm9wcyB7XG4gIHJlYWRvbmx5IG5leHRqc1R5cGU6IE5leHRqc1R5cGU7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBhbnkgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzVnBjT3ZlcnJpZGVzO1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogSVZwYztcbn1cblxuLyoqXG4gKiBjZGstbmV4dGpzIHJlcXVpcmVzIGEgVlBDIGJlY2F1c2Ugb2YgdGhlIHVzZSBvZiBFRlMgYnV0IGlmIHlvdSdyZSBidWlsZGluZyBvblxuICogQVdTIHlvdSBwcm9iYWJseSBhbHJlYWR5IG5lZWQgb25lIGZvciBvdGhlciByZXNvdXJjZXMgKGkuZS4gUkRTL0F1cm9yYSkuXG4gKiBZb3UgY2FuIHByb3ZpZGUgeW91ciBvd24gVlBDIHZpYSBgb3ZlcnJpZGVzLm5leHRqc1ZwYy52cGNgIGJ1dCB5b3UnbGwgYmVcbiAqIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgVlBDLiBBbGwgY2RrLW5leHRqcyBjb25zdHJ1Y3RzIHJlcXVpcmUgYVxuICogYFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRGAgc3VibmV0IGZvciBFRlMgYW5kIGBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NgXG4gKiBmb3IgY29tcHV0ZS4gYE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc2AgcmVxdWlyZXMgYSBgU3VibmV0VHlwZS5QVUJMSUNgXG4gKiBzdWJuZXQgZm9yIENsb3VkRnJvbnQgdG8gcmVhY2ggdGhlIEFMQi4gYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2AgYW5kXG4gKiBgTmV4dGpzR2xvYmFsQ29udGFpbmVyc2AgZG9uJ3QgcmVxdWlyZSBhIGBTdWJuZXRUeXBlLlBVQkxJQ2Agc3VibmV0IGJlY2F1c2VcbiAqIENsb3VkRnJvbnQgYWNjZXNzZXMgdGhlaXIgY29tcHV0ZSBzZWN1cmVseSB0aHJvdWdoIEZ1bmN0aW9uIFVSTCBhbmQgVlBDXG4gKiBPcmlnaW4gQWNjZXNzLlxuICpcbiAqIE5vdGUsIGlmIHlvdSB1c2UgYE5leHRqc1ZwY2AgdGhlbiB0aGUgZGVmYXVsdCBDREsgVlBDIHdpbGwgYmUgY3JlYXRlZFxuICogZm9yIHlvdSB3aXRoIDIgQVpzIG9mIGFsbCAzIHR5cGVzIG9mIHN1Ym5ldHMgd2l0aCBhIE5BVCBHYXRld2F5IGluIHlvdXJcbiAqIGBTdWJuZXRUeXBlLlBVQkxJQ2Agc3VibmV0IHRvIGFsbG93IGZvciBzZWN1cmUgaW50ZXJuZXQgYWNjZXNzIGZyb20geW91clxuICogYFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU2Agc3VibmV0LiBUaGlzIGlzIHJlY29tbWVuZGVkIGJ5IEFXUywgYnV0XG4gKiBpdCBjb3N0cyAkNjUvbW9udGggZm9yIDIgQVpzLiBTZWUgZXhhbXBsZXMvbG93LWNvc3QgZm9yIGFsdGVybmF0aXZlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWMyLXJlYWRtZS5odG1sI3N1Ym5ldC10eXBlc1xuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzVnBjIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc1ZwY1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNWcGNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIGlmIChwcm9wcy52cGMpIHtcbiAgICAgIHRoaXMudnBjID0gcHJvcHMudnBjO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZwYyA9IHByb3BzLnZwYyA/PyB0aGlzLmNyZWF0ZVZwYygpO1xuICAgICAgdGhpcy5jcmVhdGVWcGNFbmRwb2ludHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZwYygpIHtcbiAgICByZXR1cm4gbmV3IFZwYyh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICBtYXhBenM6IDIsIC8vIG1pZ2h0IHdhbnQgMyBpbiBwcm9kdWN0aW9uXG4gICAgICBzdWJuZXRDb25maWd1cmF0aW9uOiBbXG4gICAgICAgIC8vIE5BVCBHYXRld2F5IGFuZCBBTEIgZm9yIE5leHRqc1JlZ2lvbmFsQ29udGFpbmVycyBsaXZlIGluIFB1YmxpYyBzdWJuZXRzXG4gICAgICAgIHsgbmFtZTogXCJQdWJsaWNcIiwgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICAgICAgLy8gQWxsIGNvbXB1dGUgYW5kIEFMQiBmb3IgTmV4dGpzR2xvYmFsQ29udGFpbmVycyBsaXZlcyBpbiBQcml2YXRlV2l0aEVncmVzcyBzdWJuZXRzXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIlByaXZhdGVXaXRoRWdyZXNzXCIsXG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTLFxuICAgICAgICB9LFxuICAgICAgICAvLyBFRlMgbGl2ZXMgaW4gUHJpdmF0ZUlzb2xhdGVkIHN1Ym5ldHNcbiAgICAgICAgeyBuYW1lOiBcIlByaXZhdGVJc29sYXRlZFwiLCBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURUQgfSxcbiAgICAgIF0sXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8udnBjUHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQmVzdCBwcmFjdGljZSBpcyB0byB1c2UgVlBDIGVuZHBvaW50cyBiZXR3ZWVuIFZQQyBhbmQgc2VydmVybGVzcyByZXNvdXJjZXNcbiAgICogc28gdGhhdCB0cmFmZmljIGRvZXMgbm90IGdvIG92ZXIgcHVibGljIGludGVybmV0LlxuICAgKlxuICAgKiBXaGlsZSBnYXRld2F5IGVuZHBvaW50cyBhcmUgZnJlZSwgaW50ZXJmYWNlIGVuZHBvaW50cyAodXNlIFByaXZhdGVMaW5rKVxuICAgKiBjb3N0IH4kNy9tb250aC9hei5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3d3dy5hbGV4ZGVicmllLmNvbS9wb3N0cy9hd3MtbGFtYmRhLXZwYy8jc2V0LXVwLWEtdnBjLWVuZHBvaW50LWZvci15b3VyLWF3cy1zZXJ2aWNlXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVZwY0VuZHBvaW50cygpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLkdMT0JBTF9GVU5DVElPTlMpIHtcbiAgICAgIHRoaXMudnBjLmFkZEludGVyZmFjZUVuZHBvaW50KFwiU3FzSW50ZXJmYWNlRW5kcG9pbnRcIiwge1xuICAgICAgICBzZXJ2aWNlOiBJbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU1FTLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,137 @@
1
+ import { Construct } from "constructs";
2
+ import { NextjsType } from "../constants";
3
+ import { OptionalNextjsAssetsDeploymentProps } from "../generated-structs/OptionalNextjsAssetsDeploymentProps";
4
+ import { OptionalNextjsBuildProps } from "../generated-structs/OptionalNextjsBuildProps";
5
+ import { OptionalNextjsFileSystemProps } from "../generated-structs/OptionalNextjsFileSystemProps";
6
+ import { OptionalNextjsPostDeployProps } from "../generated-structs/OptionalNextjsPostDeployProps";
7
+ import { OptionalNextjsVpcProps } from "../generated-structs/OptionalNextjsVpcProps";
8
+ import { NextjsAssetsDeployment, NextjsAssetDeploymentOverrides } from "../nextjs-assets-deployment";
9
+ import { NextjsBuild, NextjsBuildOverrides } from "../nextjs-build/nextjs-build";
10
+ import { NextjsFileSystem, NextjsFileSystemOverrides } from "../nextjs-file-system";
11
+ import { NextjsPostDeploy, NextjsPostDeployOverrides } from "../nextjs-post-deploy";
12
+ import { NextjsStaticAssets, NextjsStaticAssetsOverrides, NextjsStaticAssetsProps } from "../nextjs-static-assets";
13
+ import { NextjsVpc, NextjsVpcOverrides } from "../nextjs-vpc";
14
+ /**
15
+ * Base overrides for the props passed to constructs within root/top-level Next.js constructs
16
+ */
17
+ export interface NextjsBaseConstructOverrides {
18
+ readonly nextjsBuildProps?: OptionalNextjsBuildProps;
19
+ readonly nextjsVpcProps?: OptionalNextjsVpcProps;
20
+ readonly nextjsFileSystemProps?: OptionalNextjsFileSystemProps;
21
+ readonly nextjsAssetsDeploymentProps?: OptionalNextjsAssetsDeploymentProps;
22
+ readonly nextjsPostDeployProps?: OptionalNextjsPostDeployProps;
23
+ readonly nextjsStaticAssetsProps?: NextjsStaticAssetsProps;
24
+ }
25
+ /**
26
+ * Base overrides for constructs shared between all root/top-level Next.js constructs.
27
+ */
28
+ export interface NextjsBaseOverrides {
29
+ readonly nextjsBuild?: NextjsBuildOverrides;
30
+ readonly nextjsFileSystem?: NextjsFileSystemOverrides;
31
+ readonly nextjsVpc?: NextjsVpcOverrides;
32
+ readonly nextjsAssetsDeployment?: NextjsAssetDeploymentOverrides;
33
+ readonly nextjsPostDeploy?: NextjsPostDeployOverrides;
34
+ readonly nextjsStaticAssets?: NextjsStaticAssetsOverrides;
35
+ }
36
+ export interface NextjsBaseProps {
37
+ /**
38
+ * Prefix to the URI path the app will be served at.
39
+ * @example "/my-base-path"
40
+ */
41
+ readonly basePath?: string;
42
+ /**
43
+ * Command to generate optimized version of your Next.js app in container;
44
+ * @default "npm run build"
45
+ */
46
+ readonly buildCommand?: string;
47
+ /**
48
+ * [Build context](https://docs.docker.com/build/building/context/) for
49
+ * `docker build`. This directory should contain your lockfile (i.e.
50
+ * pnpm-lock.yaml) for your Next.js app. If you're not in a monorepo, then
51
+ * this will be the same directory as your Next.js app. If you are in a
52
+ * monorepo, then this value should be the root of your monorepo. You then
53
+ * must pass the relative path to your Next.js app via {@link NextjsBaseProps.relativePathToPackage}
54
+ *
55
+ * Note, by default cdk-nextjs' `builder.Dockerfile` is used to build your
56
+ * Next.js app. You can customize this by specifying `overrides.{nextjs...}.nextjsBuildProps.builderImageProps.file`.
57
+ * If you override the default, then you are responsible for ensuring the
58
+ * Dockerfile is in the build context directory before cdk-nextjs construct
59
+ * is instantiated.
60
+ * @example join(import.meta.dirname, "..") (monorepo)
61
+ */
62
+ readonly buildContext: string;
63
+ /**
64
+ * Path to API Route Handler that returns HTTP 200 to ensure compute health.
65
+ * @example "/api/health"
66
+ * @example
67
+ * // api/health/route.ts
68
+ * import { NextResponse } from "next/server";
69
+ *
70
+ * export function GET() {
71
+ * return NextResponse.json("");
72
+ * }
73
+ */
74
+ readonly healthCheckPath: string;
75
+ /**
76
+ * Use this if building in monorepo. This is the relative path from
77
+ * {@link NextjsBaseProps.buildContext} or root workspace to nested package
78
+ * containing Next.js app. See example below:
79
+ *
80
+ * Let's say you have a monorepo with the following folder structure:
81
+ * - my-monorepo/
82
+ * - packages/
83
+ * - ui/
84
+ * - package.json (nested)
85
+ * - package.json (root)
86
+ *
87
+ * And your Next.js app directory is the ui folder. Then you would set {@link NextjsBaseProps.buildContext}
88
+ * to `"/absolute/path/to/my-monorepo"` and {@link NextjsBaseProps.relativePathToPackage}
89
+ * to `"./packages/ui"`.
90
+ *
91
+ * Note, setting {@link NextjsBaseProps.buildContext} to the root of your
92
+ * monorepo will invalidate container runtime (i.e. docker) build cache when any file is
93
+ * changed in your monorepo. This is slows down deployments. Checkout how you
94
+ * can use [turbo](https://turbo.build/) in [Deploying with Docker Guide](https://turbo.build/repo/docs/handbook/deploying-with-docker)
95
+ * in the cdk-nextjs/examples/turbo.
96
+ *
97
+ * @example "./packages/ui"
98
+ */
99
+ readonly relativePathToPackage?: string;
100
+ /**
101
+ * @deprecated use relativePathToPackage
102
+ */
103
+ readonly relativePathToWorkspace?: string;
104
+ }
105
+ /**
106
+ * Required because if we add `overrides` onto `NextjsBaseProps` we get jsii
107
+ * error: `Interface ... re-declares member "overrides"`
108
+ */
109
+ export interface NextjsBaseConstructProps extends NextjsBaseProps {
110
+ readonly overrides?: NextjsBaseOverrides;
111
+ }
112
+ /**
113
+ * Base class for all Next.js root constructs
114
+ */
115
+ export declare abstract class NextjsBaseConstruct extends Construct {
116
+ nextjsBuild: NextjsBuild;
117
+ nextjsStaticAssets: NextjsStaticAssets;
118
+ nextjsVpc: NextjsVpc;
119
+ nextjsFileSystem: NextjsFileSystem;
120
+ nextjsAssetsDeployment: NextjsAssetsDeployment;
121
+ nextjsPostDeploy: NextjsPostDeploy;
122
+ abstract get url(): string;
123
+ protected readonly nextjsType: NextjsType;
124
+ protected readonly baseProps: NextjsBaseConstructProps;
125
+ protected readonly constructOverrides?: NextjsBaseConstructOverrides;
126
+ constructor(scope: Construct, id: string, props: NextjsBaseConstructProps, nextjsType: NextjsType);
127
+ /**
128
+ * Finds construct overrides (if present) on props for any `NextjsType`
129
+ */
130
+ private getConstructOverrides;
131
+ private createNextjsBuild;
132
+ private createNextjsStaticAssets;
133
+ private createVpc;
134
+ private createNextjsFileSystem;
135
+ private createNextjsAssetsDeployment;
136
+ private createNextjsPostDeploy;
137
+ }
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NextjsBaseConstruct = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const constructs_1 = require("constructs");
7
+ const constants_1 = require("../constants");
8
+ const nextjs_assets_deployment_1 = require("../nextjs-assets-deployment");
9
+ const nextjs_build_1 = require("../nextjs-build/nextjs-build");
10
+ const nextjs_file_system_1 = require("../nextjs-file-system");
11
+ const nextjs_post_deploy_1 = require("../nextjs-post-deploy");
12
+ const nextjs_static_assets_1 = require("../nextjs-static-assets");
13
+ const nextjs_vpc_1 = require("../nextjs-vpc");
14
+ const handle_deprecated_properties_1 = require("../utils/handle-deprecated-properties");
15
+ /**
16
+ * Base class for all Next.js root constructs
17
+ */
18
+ class NextjsBaseConstruct extends constructs_1.Construct {
19
+ constructor(scope, id, props, nextjsType) {
20
+ super(scope, id);
21
+ this.baseProps = (0, handle_deprecated_properties_1.handleDeprecatedProperties)(props);
22
+ this.nextjsType = nextjsType;
23
+ this.constructOverrides = this.getConstructOverrides(nextjsType);
24
+ this.nextjsBuild = this.createNextjsBuild();
25
+ this.nextjsStaticAssets = this.createNextjsStaticAssets();
26
+ this.nextjsVpc = this.createVpc();
27
+ this.nextjsFileSystem = this.createNextjsFileSystem();
28
+ this.nextjsAssetsDeployment = this.createNextjsAssetsDeployment();
29
+ this.nextjsPostDeploy = this.createNextjsPostDeploy();
30
+ }
31
+ /**
32
+ * Finds construct overrides (if present) on props for any `NextjsType`
33
+ */
34
+ getConstructOverrides(nextjsType) {
35
+ const nextjsTypeToKey = {
36
+ [constants_1.NextjsType.GLOBAL_CONTAINERS]: "nextjsGlobalContainers",
37
+ [constants_1.NextjsType.GLOBAL_FUNCTIONS]: "nextjsGlobalFunctions",
38
+ [constants_1.NextjsType.REGIONAL_CONTAINERS]: "nextjsRegionalContainers",
39
+ [constants_1.NextjsType.REGIONAL_FUNCTIONS]: "nextjsRegionalFunctions",
40
+ };
41
+ const key = nextjsTypeToKey[nextjsType];
42
+ const overrides = this.baseProps.overrides;
43
+ if (overrides && key in overrides) {
44
+ return overrides[key];
45
+ }
46
+ return;
47
+ }
48
+ createNextjsBuild() {
49
+ return new nextjs_build_1.NextjsBuild(this, "NextjsBuild", {
50
+ buildCommand: this.baseProps.buildCommand,
51
+ buildContext: this.baseProps.buildContext,
52
+ nextjsType: this.nextjsType,
53
+ relativePathToPackage: this.baseProps.relativePathToPackage,
54
+ overrides: this.baseProps.overrides?.nextjsBuild,
55
+ ...this.constructOverrides?.nextjsBuildProps,
56
+ });
57
+ }
58
+ createNextjsStaticAssets() {
59
+ return new nextjs_static_assets_1.NextjsStaticAssets(this, "NextjsStaticAssets", {
60
+ overrides: this.baseProps.overrides?.nextjsStaticAssets,
61
+ ...this.constructOverrides?.nextjsStaticAssetsProps,
62
+ });
63
+ }
64
+ createVpc() {
65
+ return new nextjs_vpc_1.NextjsVpc(this, "NextjsVpc", {
66
+ nextjsType: this.nextjsType,
67
+ overrides: this.baseProps.overrides?.nextjsVpc,
68
+ ...this.constructOverrides?.nextjsVpcProps,
69
+ });
70
+ }
71
+ createNextjsFileSystem() {
72
+ return new nextjs_file_system_1.NextjsFileSystem(this, "NextjsFileSystem", {
73
+ vpc: this.nextjsVpc.vpc,
74
+ overrides: this.baseProps.overrides?.nextjsFileSystem,
75
+ ...this.constructOverrides?.nextjsFileSystemProps,
76
+ });
77
+ }
78
+ createNextjsAssetsDeployment() {
79
+ return new nextjs_assets_deployment_1.NextjsAssetsDeployment(this, "NextjsAssetsDeployment", {
80
+ accessPoint: this.nextjsFileSystem.accessPoint,
81
+ basePath: this.baseProps.basePath,
82
+ buildId: this.nextjsBuild.buildId,
83
+ buildImageDigest: this.nextjsBuild.buildImageDigest,
84
+ dockerImageCode: this.nextjsBuild.imageForNextjsAssetsDeployment,
85
+ nextjsType: this.nextjsType,
86
+ overrides: this.baseProps.overrides?.nextjsAssetsDeployment,
87
+ relativePathToPackage: this.baseProps.relativePathToPackage,
88
+ staticAssetsBucket: this.nextjsStaticAssets.bucket,
89
+ vpc: this.nextjsVpc.vpc,
90
+ ...this.constructOverrides?.nextjsAssetsDeploymentProps,
91
+ });
92
+ }
93
+ createNextjsPostDeploy() {
94
+ const nextjsPostDeploy = new nextjs_post_deploy_1.NextjsPostDeploy(this, "NextjsPostDeploy", {
95
+ accessPoint: this.nextjsFileSystem.accessPoint,
96
+ buildId: this.nextjsBuild.buildId,
97
+ buildImageDigest: this.nextjsBuild.buildImageDigest,
98
+ overrides: this.baseProps.overrides?.nextjsPostDeploy,
99
+ relativePathToPackage: this.baseProps.relativePathToPackage,
100
+ staticAssetsBucket: this.nextjsStaticAssets.bucket,
101
+ vpc: this.nextjsVpc.vpc,
102
+ ...this.constructOverrides?.nextjsPostDeployProps,
103
+ });
104
+ // ensure NextjsAssetsDeployment finishes before NextjsPostDeploy
105
+ nextjsPostDeploy.node.addDependency(this.nextjsAssetsDeployment);
106
+ return nextjsPostDeploy;
107
+ }
108
+ }
109
+ exports.NextjsBaseConstruct = NextjsBaseConstruct;
110
+ _a = JSII_RTTI_SYMBOL_1;
111
+ NextjsBaseConstruct[_a] = { fqn: "cdk-nextjs.NextjsBaseConstruct", version: "0.4.4" };
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJhc2UtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtYmFzZS1jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMsNENBQTBDO0FBTTFDLDBFQUdxQztBQUNyQywrREFHc0M7QUFDdEMsOERBRytCO0FBQy9CLDhEQUcrQjtBQUMvQixrRUFJaUM7QUFDakMsOENBQThEO0FBQzlELHdGQUFtRjtBQXdHbkY7O0dBRUc7QUFDSCxNQUFzQixtQkFBb0IsU0FBUSxzQkFBUztJQWV6RCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUErQixFQUMvQixVQUFzQjtRQUV0QixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBQSx5REFBMEIsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3hELENBQUM7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QXFCO1lBQzNELGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNO1lBQ2xELEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDdkIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsMkJBQTJCO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHFDQUFnQixDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN0RSxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7WUFDOUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztZQUNqQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQjtZQUNuRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO1lBQ3JELHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCO1lBQzNELGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNO1lBQ2xELEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDdkIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCO1NBQ2xELENBQUMsQ0FBQztRQUNILGlFQUFpRTtRQUNqRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQzs7QUF0SEgsa0RBdUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE5leHRqc1R5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wc1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxOZXh0anNCdWlsZFByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzQnVpbGRQcm9wc1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxOZXh0anNGaWxlU3lzdGVtUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNGaWxlU3lzdGVtUHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsTmV4dGpzUG9zdERlcGxveVByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzUG9zdERlcGxveVByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc1ZwY1Byb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzVnBjUHJvcHNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Fzc2V0c0RlcGxveW1lbnQsXG4gIE5leHRqc0Fzc2V0RGVwbG95bWVudE92ZXJyaWRlcyxcbn0gZnJvbSBcIi4uL25leHRqcy1hc3NldHMtZGVwbG95bWVudFwiO1xuaW1wb3J0IHtcbiAgTmV4dGpzQnVpbGQsXG4gIE5leHRqc0J1aWxkT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi4vbmV4dGpzLWJ1aWxkL25leHRqcy1idWlsZFwiO1xuaW1wb3J0IHtcbiAgTmV4dGpzRmlsZVN5c3RlbSxcbiAgTmV4dGpzRmlsZVN5c3RlbU92ZXJyaWRlcyxcbn0gZnJvbSBcIi4uL25leHRqcy1maWxlLXN5c3RlbVwiO1xuaW1wb3J0IHtcbiAgTmV4dGpzUG9zdERlcGxveSxcbiAgTmV4dGpzUG9zdERlcGxveU92ZXJyaWRlcyxcbn0gZnJvbSBcIi4uL25leHRqcy1wb3N0LWRlcGxveVwiO1xuaW1wb3J0IHtcbiAgTmV4dGpzU3RhdGljQXNzZXRzLFxuICBOZXh0anNTdGF0aWNBc3NldHNPdmVycmlkZXMsXG4gIE5leHRqc1N0YXRpY0Fzc2V0c1Byb3BzLFxufSBmcm9tIFwiLi4vbmV4dGpzLXN0YXRpYy1hc3NldHNcIjtcbmltcG9ydCB7IE5leHRqc1ZwYywgTmV4dGpzVnBjT3ZlcnJpZGVzIH0gZnJvbSBcIi4uL25leHRqcy12cGNcIjtcbmltcG9ydCB7IGhhbmRsZURlcHJlY2F0ZWRQcm9wZXJ0aWVzIH0gZnJvbSBcIi4uL3V0aWxzL2hhbmRsZS1kZXByZWNhdGVkLXByb3BlcnRpZXNcIjtcblxuLyoqXG4gKiBCYXNlIG92ZXJyaWRlcyBmb3IgdGhlIHByb3BzIHBhc3NlZCB0byBjb25zdHJ1Y3RzIHdpdGhpbiByb290L3RvcC1sZXZlbCBOZXh0LmpzIGNvbnN0cnVjdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzQnVpbGRQcm9wcz86IE9wdGlvbmFsTmV4dGpzQnVpbGRQcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzVnBjUHJvcHM/OiBPcHRpb25hbE5leHRqc1ZwY1Byb3BzO1xuICByZWFkb25seSBuZXh0anNGaWxlU3lzdGVtUHJvcHM/OiBPcHRpb25hbE5leHRqc0ZpbGVTeXN0ZW1Qcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzQXNzZXRzRGVwbG95bWVudFByb3BzPzogT3B0aW9uYWxOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM7XG4gIHJlYWRvbmx5IG5leHRqc1Bvc3REZXBsb3lQcm9wcz86IE9wdGlvbmFsTmV4dGpzUG9zdERlcGxveVByb3BzO1xuICByZWFkb25seSBuZXh0anNTdGF0aWNBc3NldHNQcm9wcz86IE5leHRqc1N0YXRpY0Fzc2V0c1Byb3BzO1xufVxuXG4vKipcbiAqIEJhc2Ugb3ZlcnJpZGVzIGZvciBjb25zdHJ1Y3RzIHNoYXJlZCBiZXR3ZWVuIGFsbCByb290L3RvcC1sZXZlbCBOZXh0LmpzIGNvbnN0cnVjdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQmFzZU92ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IG5leHRqc0J1aWxkPzogTmV4dGpzQnVpbGRPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc0ZpbGVTeXN0ZW0/OiBOZXh0anNGaWxlU3lzdGVtT3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNWcGM/OiBOZXh0anNWcGNPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc0Fzc2V0c0RlcGxveW1lbnQ/OiBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc1Bvc3REZXBsb3k/OiBOZXh0anNQb3N0RGVwbG95T3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNTdGF0aWNBc3NldHM/OiBOZXh0anNTdGF0aWNBc3NldHNPdmVycmlkZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFByZWZpeCB0byB0aGUgVVJJIHBhdGggdGhlIGFwcCB3aWxsIGJlIHNlcnZlZCBhdC5cbiAgICogQGV4YW1wbGUgXCIvbXktYmFzZS1wYXRoXCJcbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogQ29tbWFuZCB0byBnZW5lcmF0ZSBvcHRpbWl6ZWQgdmVyc2lvbiBvZiB5b3VyIE5leHQuanMgYXBwIGluIGNvbnRhaW5lcjtcbiAgICogQGRlZmF1bHQgXCJucG0gcnVuIGJ1aWxkXCJcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFtCdWlsZCBjb250ZXh0XShodHRwczovL2RvY3MuZG9ja2VyLmNvbS9idWlsZC9idWlsZGluZy9jb250ZXh0LykgZm9yXG4gICAqIGBkb2NrZXIgYnVpbGRgLiBUaGlzIGRpcmVjdG9yeSBzaG91bGQgY29udGFpbiB5b3VyIGxvY2tmaWxlIChpLmUuXG4gICAqIHBucG0tbG9jay55YW1sKSBmb3IgeW91ciBOZXh0LmpzIGFwcC4gSWYgeW91J3JlIG5vdCBpbiBhIG1vbm9yZXBvLCB0aGVuXG4gICAqIHRoaXMgd2lsbCBiZSB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgeW91ciBOZXh0LmpzIGFwcC4gSWYgeW91IGFyZSBpbiBhXG4gICAqIG1vbm9yZXBvLCB0aGVuIHRoaXMgdmFsdWUgc2hvdWxkIGJlIHRoZSByb290IG9mIHlvdXIgbW9ub3JlcG8uIFlvdSB0aGVuXG4gICAqIG11c3QgcGFzcyB0aGUgcmVsYXRpdmUgcGF0aCB0byB5b3VyIE5leHQuanMgYXBwIHZpYSB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZX1cbiAgICpcbiAgICogTm90ZSwgYnkgZGVmYXVsdCBjZGstbmV4dGpzJyBgYnVpbGRlci5Eb2NrZXJmaWxlYCBpcyB1c2VkIHRvIGJ1aWxkIHlvdXJcbiAgICogTmV4dC5qcyBhcHAuIFlvdSBjYW4gY3VzdG9taXplIHRoaXMgYnkgc3BlY2lmeWluZyBgb3ZlcnJpZGVzLntuZXh0anMuLi59Lm5leHRqc0J1aWxkUHJvcHMuYnVpbGRlckltYWdlUHJvcHMuZmlsZWAuXG4gICAqIElmIHlvdSBvdmVycmlkZSB0aGUgZGVmYXVsdCwgdGhlbiB5b3UgYXJlIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGVcbiAgICogRG9ja2VyZmlsZSBpcyBpbiB0aGUgYnVpbGQgY29udGV4dCBkaXJlY3RvcnkgYmVmb3JlIGNkay1uZXh0anMgY29uc3RydWN0XG4gICAqIGlzIGluc3RhbnRpYXRlZC5cbiAgICogQGV4YW1wbGUgam9pbihpbXBvcnQubWV0YS5kaXJuYW1lLCBcIi4uXCIpIChtb25vcmVwbylcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29udGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0aCB0byBBUEkgUm91dGUgSGFuZGxlciB0aGF0IHJldHVybnMgSFRUUCAyMDAgdG8gZW5zdXJlIGNvbXB1dGUgaGVhbHRoLlxuICAgKiBAZXhhbXBsZSBcIi9hcGkvaGVhbHRoXCJcbiAgICogQGV4YW1wbGVcbiAgICogLy8gYXBpL2hlYWx0aC9yb3V0ZS50c1xuICAgKiBpbXBvcnQgeyBOZXh0UmVzcG9uc2UgfSBmcm9tIFwibmV4dC9zZXJ2ZXJcIjtcbiAgICpcbiAgICogZXhwb3J0IGZ1bmN0aW9uIEdFVCgpIHtcbiAgICogICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oXCJcIik7XG4gICAqIH1cbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIHRoaXMgaWYgYnVpbGRpbmcgaW4gbW9ub3JlcG8uIFRoaXMgaXMgdGhlIHJlbGF0aXZlIHBhdGggZnJvbVxuICAgKiB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLmJ1aWxkQ29udGV4dH0gb3Igcm9vdCB3b3Jrc3BhY2UgdG8gbmVzdGVkIHBhY2thZ2VcbiAgICogY29udGFpbmluZyBOZXh0LmpzIGFwcC4gU2VlIGV4YW1wbGUgYmVsb3c6XG4gICAqXG4gICAqIExldCdzIHNheSB5b3UgaGF2ZSBhIG1vbm9yZXBvIHdpdGggdGhlIGZvbGxvd2luZyBmb2xkZXIgc3RydWN0dXJlOlxuICAgKiAtIG15LW1vbm9yZXBvL1xuICAgKiAgIC0gcGFja2FnZXMvXG4gICAqICAgICAtIHVpL1xuICAgKiAgICAgICAtIHBhY2thZ2UuanNvbiAobmVzdGVkKVxuICAgKiAgIC0gcGFja2FnZS5qc29uIChyb290KVxuICAgKlxuICAgKiBBbmQgeW91ciBOZXh0LmpzIGFwcCBkaXJlY3RvcnkgaXMgdGhlIHVpIGZvbGRlci4gVGhlbiB5b3Ugd291bGQgc2V0IHtAbGluayBOZXh0anNCYXNlUHJvcHMuYnVpbGRDb250ZXh0fVxuICAgKiB0byBgXCIvYWJzb2x1dGUvcGF0aC90by9teS1tb25vcmVwb1wiYCBhbmQge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2V9XG4gICAqIHRvIGBcIi4vcGFja2FnZXMvdWlcImAuXG4gICAqXG4gICAqIE5vdGUsIHNldHRpbmcge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5idWlsZENvbnRleHR9IHRvIHRoZSByb290IG9mIHlvdXJcbiAgICogbW9ub3JlcG8gd2lsbCBpbnZhbGlkYXRlIGNvbnRhaW5lciBydW50aW1lIChpLmUuIGRvY2tlcikgYnVpbGQgY2FjaGUgd2hlbiBhbnkgZmlsZSBpc1xuICAgKiBjaGFuZ2VkIGluIHlvdXIgbW9ub3JlcG8uIFRoaXMgaXMgc2xvd3MgZG93biBkZXBsb3ltZW50cy4gQ2hlY2tvdXQgaG93IHlvdVxuICAgKiBjYW4gdXNlIFt0dXJib10oaHR0cHM6Ly90dXJiby5idWlsZC8pIGluIFtEZXBsb3lpbmcgd2l0aCBEb2NrZXIgR3VpZGVdKGh0dHBzOi8vdHVyYm8uYnVpbGQvcmVwby9kb2NzL2hhbmRib29rL2RlcGxveWluZy13aXRoLWRvY2tlcilcbiAgICogaW4gdGhlIGNkay1uZXh0anMvZXhhbXBsZXMvdHVyYm8uXG4gICAqXG4gICAqIEBleGFtcGxlIFwiLi9wYWNrYWdlcy91aVwiXG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1BhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgcmVsYXRpdmVQYXRoVG9QYWNrYWdlXG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1aXJlZCBiZWNhdXNlIGlmIHdlIGFkZCBgb3ZlcnJpZGVzYCBvbnRvIGBOZXh0anNCYXNlUHJvcHNgIHdlIGdldCBqc2lpXG4gKiBlcnJvcjogYEludGVyZmFjZSAuLi4gcmUtZGVjbGFyZXMgbWVtYmVyIFwib3ZlcnJpZGVzXCJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQmFzZUNvbnN0cnVjdFByb3BzIGV4dGVuZHMgTmV4dGpzQmFzZVByb3BzIHtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzQmFzZU92ZXJyaWRlcztcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgTmV4dC5qcyByb290IGNvbnN0cnVjdHNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5leHRqc0Jhc2VDb25zdHJ1Y3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBuZXh0anNCdWlsZDogTmV4dGpzQnVpbGQ7XG4gIG5leHRqc1N0YXRpY0Fzc2V0czogTmV4dGpzU3RhdGljQXNzZXRzO1xuICBuZXh0anNWcGM6IE5leHRqc1ZwYztcbiAgbmV4dGpzRmlsZVN5c3RlbTogTmV4dGpzRmlsZVN5c3RlbTtcbiAgbmV4dGpzQXNzZXRzRGVwbG95bWVudDogTmV4dGpzQXNzZXRzRGVwbG95bWVudDtcbiAgbmV4dGpzUG9zdERlcGxveTogTmV4dGpzUG9zdERlcGxveTtcblxuICBhYnN0cmFjdCBnZXQgdXJsKCk6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dGpzVHlwZTogTmV4dGpzVHlwZTtcbiAgLy8gdXNlIGJhc2VQcm9wcyBpbnN0ZWFkIG9mIHByb3BzIHNvIHRoYXQgY2hpbGQgY2xhc3NlcyBjYW4gdXNlIHByb3BzXG4gIHByb3RlY3RlZCByZWFkb25seSBiYXNlUHJvcHM6IE5leHRqc0Jhc2VDb25zdHJ1Y3RQcm9wcztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnN0cnVjdE92ZXJyaWRlcz86IE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNCYXNlQ29uc3RydWN0UHJvcHMsXG4gICAgbmV4dGpzVHlwZTogTmV4dGpzVHlwZSxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmJhc2VQcm9wcyA9IGhhbmRsZURlcHJlY2F0ZWRQcm9wZXJ0aWVzKHByb3BzKTtcbiAgICB0aGlzLm5leHRqc1R5cGUgPSBuZXh0anNUeXBlO1xuICAgIHRoaXMuY29uc3RydWN0T3ZlcnJpZGVzID0gdGhpcy5nZXRDb25zdHJ1Y3RPdmVycmlkZXMobmV4dGpzVHlwZSk7XG5cbiAgICB0aGlzLm5leHRqc0J1aWxkID0gdGhpcy5jcmVhdGVOZXh0anNCdWlsZCgpO1xuICAgIHRoaXMubmV4dGpzU3RhdGljQXNzZXRzID0gdGhpcy5jcmVhdGVOZXh0anNTdGF0aWNBc3NldHMoKTtcbiAgICB0aGlzLm5leHRqc1ZwYyA9IHRoaXMuY3JlYXRlVnBjKCk7XG4gICAgdGhpcy5uZXh0anNGaWxlU3lzdGVtID0gdGhpcy5jcmVhdGVOZXh0anNGaWxlU3lzdGVtKCk7XG4gICAgdGhpcy5uZXh0anNBc3NldHNEZXBsb3ltZW50ID0gdGhpcy5jcmVhdGVOZXh0anNBc3NldHNEZXBsb3ltZW50KCk7XG4gICAgdGhpcy5uZXh0anNQb3N0RGVwbG95ID0gdGhpcy5jcmVhdGVOZXh0anNQb3N0RGVwbG95KCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgY29uc3RydWN0IG92ZXJyaWRlcyAoaWYgcHJlc2VudCkgb24gcHJvcHMgZm9yIGFueSBgTmV4dGpzVHlwZWBcbiAgICovXG4gIHByaXZhdGUgZ2V0Q29uc3RydWN0T3ZlcnJpZGVzKG5leHRqc1R5cGU6IE5leHRqc1R5cGUpIHtcbiAgICBjb25zdCBuZXh0anNUeXBlVG9LZXk6IFJlY29yZDxOZXh0anNUeXBlLCBzdHJpbmc+ID0ge1xuICAgICAgW05leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNdOiBcIm5leHRqc0dsb2JhbENvbnRhaW5lcnNcIixcbiAgICAgIFtOZXh0anNUeXBlLkdMT0JBTF9GVU5DVElPTlNdOiBcIm5leHRqc0dsb2JhbEZ1bmN0aW9uc1wiLFxuICAgICAgW05leHRqc1R5cGUuUkVHSU9OQUxfQ09OVEFJTkVSU106IFwibmV4dGpzUmVnaW9uYWxDb250YWluZXJzXCIsXG4gICAgICBbTmV4dGpzVHlwZS5SRUdJT05BTF9GVU5DVElPTlNdOiBcIm5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zXCIsXG4gICAgfTtcbiAgICBjb25zdCBrZXkgPSBuZXh0anNUeXBlVG9LZXlbbmV4dGpzVHlwZV07XG4gICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5iYXNlUHJvcHMub3ZlcnJpZGVzIGFzXG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICB8IHVuZGVmaW5lZDtcbiAgICBpZiAob3ZlcnJpZGVzICYmIGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgIHJldHVybiBvdmVycmlkZXNba2V5XSBhcyBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0J1aWxkKCk6IE5leHRqc0J1aWxkIHtcbiAgICByZXR1cm4gbmV3IE5leHRqc0J1aWxkKHRoaXMsIFwiTmV4dGpzQnVpbGRcIiwge1xuICAgICAgYnVpbGRDb21tYW5kOiB0aGlzLmJhc2VQcm9wcy5idWlsZENvbW1hbmQsXG4gICAgICBidWlsZENvbnRleHQ6IHRoaXMuYmFzZVByb3BzLmJ1aWxkQ29udGV4dCxcbiAgICAgIG5leHRqc1R5cGU6IHRoaXMubmV4dGpzVHlwZSxcbiAgICAgIHJlbGF0aXZlUGF0aFRvUGFja2FnZTogdGhpcy5iYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlLFxuICAgICAgb3ZlcnJpZGVzOiB0aGlzLmJhc2VQcm9wcy5vdmVycmlkZXM/Lm5leHRqc0J1aWxkLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3RPdmVycmlkZXM/Lm5leHRqc0J1aWxkUHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc1N0YXRpY0Fzc2V0cygpOiBOZXh0anNTdGF0aWNBc3NldHMge1xuICAgIHJldHVybiBuZXcgTmV4dGpzU3RhdGljQXNzZXRzKHRoaXMsIFwiTmV4dGpzU3RhdGljQXNzZXRzXCIsIHtcbiAgICAgIG92ZXJyaWRlczogdGhpcy5iYXNlUHJvcHMub3ZlcnJpZGVzPy5uZXh0anNTdGF0aWNBc3NldHMsXG4gICAgICAuLi50aGlzLmNvbnN0cnVjdE92ZXJyaWRlcz8ubmV4dGpzU3RhdGljQXNzZXRzUHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZwYygpOiBOZXh0anNWcGMge1xuICAgIHJldHVybiBuZXcgTmV4dGpzVnBjKHRoaXMsIFwiTmV4dGpzVnBjXCIsIHtcbiAgICAgIG5leHRqc1R5cGU6IHRoaXMubmV4dGpzVHlwZSxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5iYXNlUHJvcHMub3ZlcnJpZGVzPy5uZXh0anNWcGMsXG4gICAgICAuLi50aGlzLmNvbnN0cnVjdE92ZXJyaWRlcz8ubmV4dGpzVnBjUHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0ZpbGVTeXN0ZW0oKTogTmV4dGpzRmlsZVN5c3RlbSB7XG4gICAgcmV0dXJuIG5ldyBOZXh0anNGaWxlU3lzdGVtKHRoaXMsIFwiTmV4dGpzRmlsZVN5c3RlbVwiLCB7XG4gICAgICB2cGM6IHRoaXMubmV4dGpzVnBjLnZwYyxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5iYXNlUHJvcHMub3ZlcnJpZGVzPy5uZXh0anNGaWxlU3lzdGVtLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3RPdmVycmlkZXM/Lm5leHRqc0ZpbGVTeXN0ZW1Qcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzQXNzZXRzRGVwbG95bWVudCgpOiBOZXh0anNBc3NldHNEZXBsb3ltZW50IHtcbiAgICByZXR1cm4gbmV3IE5leHRqc0Fzc2V0c0RlcGxveW1lbnQodGhpcywgXCJOZXh0anNBc3NldHNEZXBsb3ltZW50XCIsIHtcbiAgICAgIGFjY2Vzc1BvaW50OiB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0uYWNjZXNzUG9pbnQsXG4gICAgICBiYXNlUGF0aDogdGhpcy5iYXNlUHJvcHMuYmFzZVBhdGgsXG4gICAgICBidWlsZElkOiB0aGlzLm5leHRqc0J1aWxkLmJ1aWxkSWQsXG4gICAgICBidWlsZEltYWdlRGlnZXN0OiB0aGlzLm5leHRqc0J1aWxkLmJ1aWxkSW1hZ2VEaWdlc3QsXG4gICAgICBkb2NrZXJJbWFnZUNvZGU6IHRoaXMubmV4dGpzQnVpbGQuaW1hZ2VGb3JOZXh0anNBc3NldHNEZXBsb3ltZW50LFxuICAgICAgbmV4dGpzVHlwZTogdGhpcy5uZXh0anNUeXBlLFxuICAgICAgb3ZlcnJpZGVzOiB0aGlzLmJhc2VQcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Fzc2V0c0RlcGxveW1lbnQsXG4gICAgICByZWxhdGl2ZVBhdGhUb1BhY2thZ2U6IHRoaXMuYmFzZVByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgIHN0YXRpY0Fzc2V0c0J1Y2tldDogdGhpcy5uZXh0anNTdGF0aWNBc3NldHMuYnVja2V0LFxuICAgICAgdnBjOiB0aGlzLm5leHRqc1ZwYy52cGMsXG4gICAgICAuLi50aGlzLmNvbnN0cnVjdE92ZXJyaWRlcz8ubmV4dGpzQXNzZXRzRGVwbG95bWVudFByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXh0anNQb3N0RGVwbG95KCk6IE5leHRqc1Bvc3REZXBsb3kge1xuICAgIGNvbnN0IG5leHRqc1Bvc3REZXBsb3kgPSBuZXcgTmV4dGpzUG9zdERlcGxveSh0aGlzLCBcIk5leHRqc1Bvc3REZXBsb3lcIiwge1xuICAgICAgYWNjZXNzUG9pbnQ6IHRoaXMubmV4dGpzRmlsZVN5c3RlbS5hY2Nlc3NQb2ludCxcbiAgICAgIGJ1aWxkSWQ6IHRoaXMubmV4dGpzQnVpbGQuYnVpbGRJZCxcbiAgICAgIGJ1aWxkSW1hZ2VEaWdlc3Q6IHRoaXMubmV4dGpzQnVpbGQuYnVpbGRJbWFnZURpZ2VzdCxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5iYXNlUHJvcHMub3ZlcnJpZGVzPy5uZXh0anNQb3N0RGVwbG95LFxuICAgICAgcmVsYXRpdmVQYXRoVG9QYWNrYWdlOiB0aGlzLmJhc2VQcm9wcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2UsXG4gICAgICBzdGF0aWNBc3NldHNCdWNrZXQ6IHRoaXMubmV4dGpzU3RhdGljQXNzZXRzLmJ1Y2tldCxcbiAgICAgIHZwYzogdGhpcy5uZXh0anNWcGMudnBjLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3RPdmVycmlkZXM/Lm5leHRqc1Bvc3REZXBsb3lQcm9wcyxcbiAgICB9KTtcbiAgICAvLyBlbnN1cmUgTmV4dGpzQXNzZXRzRGVwbG95bWVudCBmaW5pc2hlcyBiZWZvcmUgTmV4dGpzUG9zdERlcGxveVxuICAgIG5leHRqc1Bvc3REZXBsb3kubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMubmV4dGpzQXNzZXRzRGVwbG95bWVudCk7XG4gICAgcmV0dXJuIG5leHRqc1Bvc3REZXBsb3k7XG4gIH1cbn1cbiJdfQ==
@@ -1,40 +1,25 @@
1
1
  import { Distribution } from "aws-cdk-lib/aws-cloudfront";
2
2
  import { Construct } from "constructs";
3
- import { BaseNextjsConstructOverrides, BaseNextjsOverrides } from "./nextjs-base-overrides";
4
- import { NextjsBaseProps } from "./nextjs-base-props";
5
3
  import { OptionalNextjsContainersProps } from "../generated-structs/OptionalNextjsContainersProps";
6
4
  import { OptionalNextjsDistributionProps } from "../generated-structs/OptionalNextjsDistributionProps";
7
- import { NextjsAssetsDeployment } from "../nextjs-assets-deployment";
8
- import { NextjsBuild } from "../nextjs-build/nextjs-build";
9
5
  import { NextjsContainers, NextjsContainersOverrides } from "../nextjs-compute/nextjs-containers";
10
6
  import { NextjsDistribution, NextjsDistributionOverrides } from "../nextjs-distribution";
11
- import { NextjsFileSystem } from "../nextjs-file-system";
12
- import { NextjsPostDeploy } from "../nextjs-post-deploy";
13
- import { NextjsStaticAssets, NextjsStaticAssetsOverrides, NextjsStaticAssetsProps } from "../nextjs-static-assets";
14
- import { NextjsVpc } from "../nextjs-vpc";
15
- export interface NextjsGlobalContainersConstructOverrides extends BaseNextjsConstructOverrides {
7
+ import { NextjsBaseConstructOverrides, NextjsBaseOverrides, NextjsBaseConstruct, NextjsBaseProps } from "./nextjs-base-construct";
8
+ export interface NextjsGlobalContainersConstructOverrides extends NextjsBaseConstructOverrides {
16
9
  readonly nextjsContainersProps?: OptionalNextjsContainersProps;
17
10
  readonly nextjsDistributionProps?: OptionalNextjsDistributionProps;
18
- readonly nextjsStaticAssetsProps?: NextjsStaticAssetsProps;
19
11
  }
20
12
  /**
21
13
  * Overrides for `NextjsGlobalContainers`. Overrides are lower level than
22
14
  * props and are passed directly to CDK Constructs giving you more control. It's
23
15
  * recommended to use caution and review source code so you know how they're used.
24
16
  */
25
- export interface NextjsGlobalContainersOverrides extends BaseNextjsOverrides {
17
+ export interface NextjsGlobalContainersOverrides extends NextjsBaseOverrides {
26
18
  readonly nextjsGlobalContainers?: NextjsGlobalContainersConstructOverrides;
27
19
  readonly nextjsContainers?: NextjsContainersOverrides;
28
20
  readonly nextjsDistribution?: NextjsDistributionOverrides;
29
- readonly nextjsStaticAssets?: NextjsStaticAssetsOverrides;
30
21
  }
31
22
  export interface NextjsGlobalContainersProps extends NextjsBaseProps {
32
- /**
33
- * Prefix to the URI path the app will be served at. Especially useful when
34
- * passing in your own `distribution`.
35
- * @example "/my-base-path"
36
- */
37
- readonly basePath?: string;
38
23
  /**
39
24
  * Bring your own distribution. Can be used with `basePath` to host multiple
40
25
  * apps on the same CloudFront distribution.
@@ -51,24 +36,12 @@ export interface NextjsGlobalContainersProps extends NextjsBaseProps {
51
36
  * as Content Delivery Network (CDN) for global distribution and [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)
52
37
  * for containers.
53
38
  */
54
- export declare class NextjsGlobalContainers extends Construct {
55
- nextjsBuild: NextjsBuild;
56
- nextjsStaticAssets: NextjsStaticAssets;
57
- nextjsVpc: NextjsVpc;
58
- nextjsFileSystem: NextjsFileSystem;
59
- nextjsAssetsDeployment: NextjsAssetsDeployment;
39
+ export declare class NextjsGlobalContainers extends NextjsBaseConstruct {
60
40
  nextjsContainers: NextjsContainers;
61
41
  nextjsDistribution: NextjsDistribution;
62
- nextjsPostDeploy: NextjsPostDeploy;
63
- private nextjsType;
42
+ get url(): string;
64
43
  private props;
65
44
  constructor(scope: Construct, id: string, props: NextjsGlobalContainersProps);
66
- private createNextjsBuild;
67
- private createNextjsStaticAssets;
68
- private createVpc;
69
- private createNextjsFileSystem;
70
- private createNextjsAssetsDeployment;
71
45
  private createNextjsContainers;
72
46
  private createNextjsDistribution;
73
- private createNextjsPostDeploy;
74
47
  }