cdk-nextjs 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -5348,7 +5348,7 @@
5348
5348
  },
5349
5349
  "locationInModule": {
5350
5350
  "filename": "src/nextjs-distribution.ts",
5351
- "line": 131
5351
+ "line": 132
5352
5352
  },
5353
5353
  "parameters": [
5354
5354
  {
@@ -5374,7 +5374,7 @@
5374
5374
  "kind": "class",
5375
5375
  "locationInModule": {
5376
5376
  "filename": "src/nextjs-distribution.ts",
5377
- "line": 94
5377
+ "line": 95
5378
5378
  },
5379
5379
  "name": "NextjsDistribution",
5380
5380
  "properties": [
@@ -5384,7 +5384,7 @@
5384
5384
  },
5385
5385
  "locationInModule": {
5386
5386
  "filename": "src/nextjs-distribution.ts",
5387
- "line": 95
5387
+ "line": 96
5388
5388
  },
5389
5389
  "name": "distribution",
5390
5390
  "type": {
@@ -5404,7 +5404,7 @@
5404
5404
  "kind": "interface",
5405
5405
  "locationInModule": {
5406
5406
  "filename": "src/nextjs-distribution.ts",
5407
- "line": 47
5407
+ "line": 48
5408
5408
  },
5409
5409
  "name": "NextjsDistributionOverrides",
5410
5410
  "properties": [
@@ -5416,7 +5416,7 @@
5416
5416
  "immutable": true,
5417
5417
  "locationInModule": {
5418
5418
  "filename": "src/nextjs-distribution.ts",
5419
- "line": 49
5419
+ "line": 50
5420
5420
  },
5421
5421
  "name": "distributionProps",
5422
5422
  "optional": true,
@@ -5432,7 +5432,7 @@
5432
5432
  "immutable": true,
5433
5433
  "locationInModule": {
5434
5434
  "filename": "src/nextjs-distribution.ts",
5435
- "line": 53
5435
+ "line": 54
5436
5436
  },
5437
5437
  "name": "dynamicBehaviorOptions",
5438
5438
  "optional": true,
@@ -5448,7 +5448,7 @@
5448
5448
  "immutable": true,
5449
5449
  "locationInModule": {
5450
5450
  "filename": "src/nextjs-distribution.ts",
5451
- "line": 54
5451
+ "line": 55
5452
5452
  },
5453
5453
  "name": "dynamicCachePolicyProps",
5454
5454
  "optional": true,
@@ -5464,7 +5464,7 @@
5464
5464
  "immutable": true,
5465
5465
  "locationInModule": {
5466
5466
  "filename": "src/nextjs-distribution.ts",
5467
- "line": 56
5467
+ "line": 57
5468
5468
  },
5469
5469
  "name": "dynamicHttpOriginProps",
5470
5470
  "optional": true,
@@ -5480,7 +5480,7 @@
5480
5480
  "immutable": true,
5481
5481
  "locationInModule": {
5482
5482
  "filename": "src/nextjs-distribution.ts",
5483
- "line": 55
5483
+ "line": 56
5484
5484
  },
5485
5485
  "name": "dynamicResponseHeadersPolicyProps",
5486
5486
  "optional": true,
@@ -5496,7 +5496,7 @@
5496
5496
  "immutable": true,
5497
5497
  "locationInModule": {
5498
5498
  "filename": "src/nextjs-distribution.ts",
5499
- "line": 48
5499
+ "line": 49
5500
5500
  },
5501
5501
  "name": "edgeFunctionProps",
5502
5502
  "optional": true,
@@ -5512,7 +5512,7 @@
5512
5512
  "immutable": true,
5513
5513
  "locationInModule": {
5514
5514
  "filename": "src/nextjs-distribution.ts",
5515
- "line": 50
5515
+ "line": 51
5516
5516
  },
5517
5517
  "name": "imageBehaviorOptions",
5518
5518
  "optional": true,
@@ -5528,7 +5528,7 @@
5528
5528
  "immutable": true,
5529
5529
  "locationInModule": {
5530
5530
  "filename": "src/nextjs-distribution.ts",
5531
- "line": 51
5531
+ "line": 52
5532
5532
  },
5533
5533
  "name": "imageCachePolicyProps",
5534
5534
  "optional": true,
@@ -5544,7 +5544,7 @@
5544
5544
  "immutable": true,
5545
5545
  "locationInModule": {
5546
5546
  "filename": "src/nextjs-distribution.ts",
5547
- "line": 52
5547
+ "line": 53
5548
5548
  },
5549
5549
  "name": "imageResponseHeadersPolicyProps",
5550
5550
  "optional": true,
@@ -5560,7 +5560,7 @@
5560
5560
  "immutable": true,
5561
5561
  "locationInModule": {
5562
5562
  "filename": "src/nextjs-distribution.ts",
5563
- "line": 59
5563
+ "line": 60
5564
5564
  },
5565
5565
  "name": "s3BucketOriginProps",
5566
5566
  "optional": true,
@@ -5576,7 +5576,7 @@
5576
5576
  "immutable": true,
5577
5577
  "locationInModule": {
5578
5578
  "filename": "src/nextjs-distribution.ts",
5579
- "line": 57
5579
+ "line": 58
5580
5580
  },
5581
5581
  "name": "staticBehaviorOptions",
5582
5582
  "optional": true,
@@ -5592,7 +5592,7 @@
5592
5592
  "immutable": true,
5593
5593
  "locationInModule": {
5594
5594
  "filename": "src/nextjs-distribution.ts",
5595
- "line": 58
5595
+ "line": 59
5596
5596
  },
5597
5597
  "name": "staticResponseHeadersPolicyProps",
5598
5598
  "optional": true,
@@ -5613,7 +5613,7 @@
5613
5613
  "kind": "interface",
5614
5614
  "locationInModule": {
5615
5615
  "filename": "src/nextjs-distribution.ts",
5616
- "line": 62
5616
+ "line": 63
5617
5617
  },
5618
5618
  "name": "NextjsDistributionProps",
5619
5619
  "properties": [
@@ -5627,7 +5627,7 @@
5627
5627
  "immutable": true,
5628
5628
  "locationInModule": {
5629
5629
  "filename": "src/nextjs-distribution.ts",
5630
- "line": 67
5630
+ "line": 68
5631
5631
  },
5632
5632
  "name": "assetsBucket",
5633
5633
  "type": {
@@ -5643,7 +5643,7 @@
5643
5643
  "immutable": true,
5644
5644
  "locationInModule": {
5645
5645
  "filename": "src/nextjs-distribution.ts",
5646
- "line": 77
5646
+ "line": 78
5647
5647
  },
5648
5648
  "name": "dynamicUrl",
5649
5649
  "type": {
@@ -5658,7 +5658,7 @@
5658
5658
  "immutable": true,
5659
5659
  "locationInModule": {
5660
5660
  "filename": "src/nextjs-distribution.ts",
5661
- "line": 82
5661
+ "line": 83
5662
5662
  },
5663
5663
  "name": "nextjsType",
5664
5664
  "type": {
@@ -5674,7 +5674,7 @@
5674
5674
  "immutable": true,
5675
5675
  "locationInModule": {
5676
5676
  "filename": "src/nextjs-distribution.ts",
5677
- "line": 91
5677
+ "line": 92
5678
5678
  },
5679
5679
  "name": "publicDirEntries",
5680
5680
  "type": {
@@ -5694,7 +5694,7 @@
5694
5694
  "immutable": true,
5695
5695
  "locationInModule": {
5696
5696
  "filename": "src/nextjs-distribution.ts",
5697
- "line": 68
5697
+ "line": 69
5698
5698
  },
5699
5699
  "name": "basePath",
5700
5700
  "optional": true,
@@ -5711,7 +5711,7 @@
5711
5711
  "immutable": true,
5712
5712
  "locationInModule": {
5713
5713
  "filename": "src/nextjs-distribution.ts",
5714
- "line": 72
5714
+ "line": 73
5715
5715
  },
5716
5716
  "name": "certificate",
5717
5717
  "optional": true,
@@ -5727,7 +5727,7 @@
5727
5727
  "immutable": true,
5728
5728
  "locationInModule": {
5729
5729
  "filename": "src/nextjs-distribution.ts",
5730
- "line": 73
5730
+ "line": 74
5731
5731
  },
5732
5732
  "name": "distribution",
5733
5733
  "optional": true,
@@ -5744,7 +5744,7 @@
5744
5744
  "immutable": true,
5745
5745
  "locationInModule": {
5746
5746
  "filename": "src/nextjs-distribution.ts",
5747
- "line": 81
5747
+ "line": 82
5748
5748
  },
5749
5749
  "name": "functionArn",
5750
5750
  "optional": true,
@@ -5761,7 +5761,7 @@
5761
5761
  "immutable": true,
5762
5762
  "locationInModule": {
5763
5763
  "filename": "src/nextjs-distribution.ts",
5764
- "line": 86
5764
+ "line": 87
5765
5765
  },
5766
5766
  "name": "overrides",
5767
5767
  "optional": true,
@@ -13873,6 +13873,6 @@
13873
13873
  "symbolId": "src/nextjs-build/nextjs-build:PublicDirEntry"
13874
13874
  }
13875
13875
  },
13876
- "version": "0.0.13",
13877
- "fingerprint": "WQLTg6n5noL6AyMtkjaG8YM6wk10WJ1Ggi6QyZjDdqY="
13876
+ "version": "0.0.15",
13877
+ "fingerprint": "8gacDhiWl4+PIwaUorStX4Dp7ZLLP7pWbl318t/7vYA="
13878
13878
  }
@@ -1915,12 +1915,12 @@ ${(0, import_util_hex_encoding.toHex)(hashedRequest)}`;
1915
1915
  }
1916
1916
  });
1917
1917
 
1918
- // src/lambdas/sign-fn-url/sign-fn-url.lambda.ts
1919
- var sign_fn_url_lambda_exports = {};
1920
- __export(sign_fn_url_lambda_exports, {
1918
+ // src/lambdas/sign-fn-url/sign-fn-url.edge-lambda.ts
1919
+ var sign_fn_url_edge_lambda_exports = {};
1920
+ __export(sign_fn_url_edge_lambda_exports, {
1921
1921
  handler: () => handler
1922
1922
  });
1923
- module.exports = __toCommonJS(sign_fn_url_lambda_exports);
1923
+ module.exports = __toCommonJS(sign_fn_url_edge_lambda_exports);
1924
1924
 
1925
1925
  // src/lambdas/sign-fn-url/sign-request.ts
1926
1926
  var import_sha256_js = __toESM(require_main2());
@@ -2004,7 +2004,7 @@ function queryStringToQueryParamBag(querystring) {
2004
2004
  return newParams;
2005
2005
  }
2006
2006
 
2007
- // src/lambdas/sign-fn-url/sign-fn-url.lambda.ts
2007
+ // src/lambdas/sign-fn-url/sign-fn-url.edge-lambda.ts
2008
2008
  var debug = true;
2009
2009
  var handler = async (event) => {
2010
2010
  const request = event.Records[0]?.cf.request;
@@ -1,13 +1,13 @@
1
- import * as lambda from 'aws-cdk-lib/aws-lambda';
1
+ import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
2
2
  import { Construct } from 'constructs';
3
3
  /**
4
4
  * Props for SignFnUrlFunction
5
5
  */
6
- export interface SignFnUrlFunctionProps extends lambda.FunctionOptions {
6
+ export interface SignFnUrlFunctionProps extends cloudfront.experimental.EdgeFunctionProps {
7
7
  }
8
8
  /**
9
9
  * An AWS Lambda function which executes src/lambdas/sign-fn-url/sign-fn-url.
10
10
  */
11
- export declare class SignFnUrlFunction extends lambda.Function {
11
+ export declare class SignFnUrlFunction extends cloudfront.experimental.EdgeFunction {
12
12
  constructor(scope: Construct, id: string, props?: SignFnUrlFunctionProps);
13
13
  }
@@ -3,20 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SignFnUrlFunction = void 0;
4
4
  // ~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm dlx projen".
5
5
  const path = require("path");
6
+ const cloudfront = require("aws-cdk-lib/aws-cloudfront");
6
7
  const lambda = require("aws-cdk-lib/aws-lambda");
7
8
  /**
8
9
  * An AWS Lambda function which executes src/lambdas/sign-fn-url/sign-fn-url.
9
10
  */
10
- class SignFnUrlFunction extends lambda.Function {
11
+ class SignFnUrlFunction extends cloudfront.experimental.EdgeFunction {
11
12
  constructor(scope, id, props) {
12
13
  super(scope, id, {
13
- description: 'src/lambdas/sign-fn-url/sign-fn-url.lambda.ts',
14
+ description: 'src/lambdas/sign-fn-url/sign-fn-url.edge-lambda.ts',
14
15
  ...props,
15
16
  runtime: new lambda.Runtime('nodejs22.x', lambda.RuntimeFamily.NODEJS),
16
17
  handler: 'index.handler',
17
- code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/sign-fn-url/sign-fn-url.lambda')),
18
+ code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/sign-fn-url/sign-fn-url.edge-lambda')),
18
19
  });
19
20
  }
20
21
  }
21
22
  exports.SignFnUrlFunction = SignFnUrlFunction;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRkFBa0Y7QUFDbEYsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdEQUF3RCxDQUFDLENBQUM7U0FDNUcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVkQsOENBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgU2lnbkZuVXJsRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduRm5VcmxGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpZ25GblVybEZ1bmN0aW9uIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTaWduRm5VcmxGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9sYW1iZGFzL3NpZ24tZm4tdXJsL3NpZ24tZm4tdXJsLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMjIueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL2Fzc2V0cy9sYW1iZGFzL3NpZ24tZm4tdXJsL3NpZ24tZm4tdXJsLmxhbWJkYScpKSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRkFBa0Y7QUFDbEYsNkJBQTZCO0FBQzdCLHlEQUF5RDtBQUN6RCxpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFVBQVUsQ0FBQyxZQUFZLENBQUMsWUFBWTtJQUN6RSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsNkRBQTZELENBQUMsQ0FBQztTQUNqSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFWRCw4Q0FVQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIFNpZ25GblVybEZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkZuVXJsRnVuY3Rpb25Qcm9wcyBleHRlbmRzIGNsb3VkZnJvbnQuZXhwZXJpbWVudGFsLkVkZ2VGdW5jdGlvblByb3BzIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9sYW1iZGFzL3NpZ24tZm4tdXJsL3NpZ24tZm4tdXJsLlxuICovXG5leHBvcnQgY2xhc3MgU2lnbkZuVXJsRnVuY3Rpb24gZXh0ZW5kcyBjbG91ZGZyb250LmV4cGVyaW1lbnRhbC5FZGdlRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFNpZ25GblVybEZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2xhbWJkYXMvc2lnbi1mbi11cmwvc2lnbi1mbi11cmwuZWRnZS1sYW1iZGEudHMnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBydW50aW1lOiBuZXcgbGFtYmRhLlJ1bnRpbWUoJ25vZGVqczIyLngnLCBsYW1iZGEuUnVudGltZUZhbWlseS5OT0RFSlMpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi8uLi9hc3NldHMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC5lZGdlLWxhbWJkYScpKSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handler = void 0;
4
+ const sign_request_1 = require("./sign-request");
5
+ const debug = true;
6
+ /**
7
+ * This Lambda@Edge handler fixes s3 requests, fixes the host header, and
8
+ * signs requests as they're destined for Lambda Function URL that requires
9
+ * IAM Auth.
10
+ *
11
+ * This can be deleted/removed when CloudFront OAC Lambda supports POST requests.
12
+ */
13
+ const handler = async (event) => {
14
+ const request = event.Records[0]?.cf.request;
15
+ if (!request)
16
+ throw new Error("request missing");
17
+ if (debug)
18
+ console.log("input request", JSON.stringify(request, null, 2));
19
+ escapeQuerystring(request);
20
+ await (0, sign_request_1.signRequest)(request);
21
+ if (debug)
22
+ console.log("output request", JSON.stringify(request), null, 2);
23
+ return request;
24
+ };
25
+ exports.handler = handler;
26
+ /**
27
+ * Lambda URL will reject query parameters with brackets so we need to encode
28
+ * https://github.dev/pwrdrvr/lambda-url-signing/blob/main/packages/edge-to-origin/src/translate-request.ts#L19-L31
29
+ */
30
+ function escapeQuerystring(request) {
31
+ request.querystring = request.querystring
32
+ .replace(/\[/g, "%5B")
33
+ .replace(/]/g, "%5D");
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1mbi11cmwuZWRnZS1sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9zaWduLWZuLXVybC9zaWduLWZuLXVybC5lZGdlLWxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBNkM7QUFFN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRW5COzs7Ozs7R0FNRztBQUNJLE1BQU0sT0FBTyxHQUE2QixLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDL0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxPQUFPO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELElBQUksS0FBSztRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLE1BQU0sSUFBQSwwQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTNCLElBQUksS0FBSztRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBVlcsUUFBQSxPQUFPLFdBVWxCO0FBRUY7OztHQUdHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxPQUEwQjtJQUNuRCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXO1NBQ3RDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1NBQ3JCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2xvdWRGcm9udFJlcXVlc3QsIENsb3VkRnJvbnRSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBzaWduUmVxdWVzdCB9IGZyb20gXCIuL3NpZ24tcmVxdWVzdFwiO1xuXG5jb25zdCBkZWJ1ZyA9IHRydWU7XG5cbi8qKlxuICogVGhpcyBMYW1iZGFARWRnZSBoYW5kbGVyIGZpeGVzIHMzIHJlcXVlc3RzLCBmaXhlcyB0aGUgaG9zdCBoZWFkZXIsIGFuZFxuICogc2lnbnMgcmVxdWVzdHMgYXMgdGhleSdyZSBkZXN0aW5lZCBmb3IgTGFtYmRhIEZ1bmN0aW9uIFVSTCB0aGF0IHJlcXVpcmVzXG4gKiBJQU0gQXV0aC5cbiAqXG4gKiBUaGlzIGNhbiBiZSBkZWxldGVkL3JlbW92ZWQgd2hlbiBDbG91ZEZyb250IE9BQyBMYW1iZGEgc3VwcG9ydHMgUE9TVCByZXF1ZXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZXI6IENsb3VkRnJvbnRSZXF1ZXN0SGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4ge1xuICBjb25zdCByZXF1ZXN0ID0gZXZlbnQuUmVjb3Jkc1swXT8uY2YucmVxdWVzdDtcbiAgaWYgKCFyZXF1ZXN0KSB0aHJvdyBuZXcgRXJyb3IoXCJyZXF1ZXN0IG1pc3NpbmdcIik7XG4gIGlmIChkZWJ1ZykgY29uc29sZS5sb2coXCJpbnB1dCByZXF1ZXN0XCIsIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QsIG51bGwsIDIpKTtcblxuICBlc2NhcGVRdWVyeXN0cmluZyhyZXF1ZXN0KTtcbiAgYXdhaXQgc2lnblJlcXVlc3QocmVxdWVzdCk7XG5cbiAgaWYgKGRlYnVnKSBjb25zb2xlLmxvZyhcIm91dHB1dCByZXF1ZXN0XCIsIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpLCBudWxsLCAyKTtcbiAgcmV0dXJuIHJlcXVlc3Q7XG59O1xuXG4vKipcbiAqIExhbWJkYSBVUkwgd2lsbCByZWplY3QgcXVlcnkgcGFyYW1ldGVycyB3aXRoIGJyYWNrZXRzIHNvIHdlIG5lZWQgdG8gZW5jb2RlXG4gKiBodHRwczovL2dpdGh1Yi5kZXYvcHdyZHJ2ci9sYW1iZGEtdXJsLXNpZ25pbmcvYmxvYi9tYWluL3BhY2thZ2VzL2VkZ2UtdG8tb3JpZ2luL3NyYy90cmFuc2xhdGUtcmVxdWVzdC50cyNMMTktTDMxXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVF1ZXJ5c3RyaW5nKHJlcXVlc3Q6IENsb3VkRnJvbnRSZXF1ZXN0KSB7XG4gIHJlcXVlc3QucXVlcnlzdHJpbmcgPSByZXF1ZXN0LnF1ZXJ5c3RyaW5nXG4gICAgLnJlcGxhY2UoL1xcWy9nLCBcIiU1QlwiKVxuICAgIC5yZXBsYWNlKC9dL2csIFwiJTVEXCIpO1xufVxuIl19
@@ -89,5 +89,5 @@ class NextjsAssetsDeployment extends constructs_1.Construct {
89
89
  }
90
90
  exports.NextjsAssetsDeployment = NextjsAssetsDeployment;
91
91
  _a = JSII_RTTI_SYMBOL_1;
92
- NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.0.13" };
92
+ NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.0.15" };
93
93
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBS2dDO0FBRWhDLDJDQUF1QztBQUN2QyxxQ0FJa0I7QUFzR2xCOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQVVuRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFrQztRQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksWUFBWSxHQUE2QixTQUFTLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVk7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUs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WSxFQUFFLGdDQUFnQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVc7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoSEgsd0RBaUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoL3Bvc2l4XCI7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQWNjZXNzUG9pbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVmc1wiO1xuaW1wb3J0IHtcbiAgQXJjaGl0ZWN0dXJlLFxuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9ESVIsXG4gIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICBJTUFHRV9DQUNIRV9ESVIsXG59IGZyb20gXCIuL2NvbW1vblwiO1xuaW1wb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQnVpbGQgfSBmcm9tIFwiLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi9yb290LWNvbnN0cnVjdHMvbmV4dGpzLWJhc2UtcHJvcHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/OiBPcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMge1xuICByZWFkb25seSBhY2Nlc3NQb2ludDogQWNjZXNzUG9pbnQ7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5idWlsZEltYWdlRGlnZXN0fVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBkb2NrZXJJbWFnZUNvZGU6IERvY2tlckltYWdlQ29kZTsgLy8gVE9ETzogcmVtb3ZlIGFuZCBidWlsZCBmcm9tIGNvbW1vbiBidWlsZGVyIGJhc2U/XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5jb250YWluZXJNb3VudFBhdGhGb3JFZnN9XG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJNb3VudFBhdGhGb3JFZnM6IE5leHRqc0J1aWxkW1wiY29udGFpbmVyTW91bnRQYXRoRm9yRWZzXCJdO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2V9XG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzQnVja2V0PzogQnVja2V0O1xuICByZWFkb25seSB2cGM6IElWcGM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb1MzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1zM1wiO1xuICBkZXN0aW5hdGlvbkJ1Y2tldE5hbWU6IHN0cmluZztcbiAgZGVzdGluYXRpb25LZXlQcmVmaXg/OiBzdHJpbmc7XG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb0ZzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1mc1wiO1xuICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZVMzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1zM1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgYnVja2V0UHJlZml4Pzogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZUZzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1mc1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUHJvcGVydGllcyB7XG4gIGFjdGlvbnM6IChGc1RvUzNBY3Rpb24gfCBGc1RvRnNBY3Rpb24gfCBQcnVuZVMzQWN0aW9uIHwgUHJ1bmVGc0FjdGlvbilbXTtcbiAgLyoqXG4gICAqIHtAbGluayBOZXh0anNBc3NldERlcGxveW1lbnRQcm9wcy5idWlsZGVySW1hZ2VEaWdlc3R9XG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIGltYWdlQ2FjaGVQYXRoOiBzdHJpbmc7XG4gIHByZXJlbmRlck1hbmlmZXN0UGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlcGxveXMgc3RhdGljIGFzc2V0cyB0byBTMyBhbmQgY2FjaGUgYXNzZXRzIHRvIEVGUyBpbiBMYW1iZGEgQ3VzdG9tIFJlc291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQXNzZXRzRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGN1c3RvbVJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcbiAgZG9ja2VySW1hZ2VGdW5jdGlvbjogRG9ja2VySW1hZ2VGdW5jdGlvbjtcbiAgLyoqXG4gICAqIE9ubHkgdXNlZCBmb3IgYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2BcbiAgICovXG4gIHByZXZpZXdNb2RlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZG9ja2VySW1hZ2VGdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gdGhpcy5jcmVhdGVDdXN0b21SZXNvdXJjZSgpO1xuICAgIHRoaXMucHJldmlld01vZGVJZCA9IHRoaXMuY3VzdG9tUmVzb3VyY2UuZ2V0QXR0U3RyaW5nKFwicHJldmlld01vZGVJZFwiKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnVuY3Rpb24oKSB7XG4gICAgbGV0IGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9jZXNzLmFyY2ggPT09IFwieDY0XCIpIHtcbiAgICAgIGFyY2hpdGVjdHVyZSA9IEFyY2hpdGVjdHVyZS5YODZfNjQ7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmFyY2ggPT09IFwiYXJtNjRcIikge1xuICAgICAgYXJjaGl0ZWN0dXJlID0gQXJjaGl0ZWN0dXJlLkFSTV82NDtcbiAgICB9XG4gICAgY29uc3QgZm4gPSBuZXcgRG9ja2VySW1hZ2VGdW5jdGlvbih0aGlzLCBcIkZuXCIsIHtcbiAgICAgIGFyY2hpdGVjdHVyZSxcbiAgICAgIGNvZGU6IHRoaXMucHJvcHMuZG9ja2VySW1hZ2VDb2RlLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGZpbGVzeXN0ZW06IEZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KFxuICAgICAgICB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucHJvcHMuZGVidWcgIT09IGZhbHNlKSB7XG4gICAgICBmbi5hZGRFbnZpcm9ubWVudChcIkRFQlVHXCIsIFwiMVwiKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0KSB7XG4gICAgICB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5ncmFudFJlYWRXcml0ZShmbik7XG4gICAgfVxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tUmVzb3VyY2UoKSB7XG4gICAgY29uc3Qgcm9vdCA9IFwiL2FwcFwiO1xuICAgIGNvbnN0IGFjdGlvbnM6IEN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImFjdGlvbnNcIl0gPSBbXTtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQ/LmJ1Y2tldE5hbWUpIHtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiZnMtdG8tczNcIixcbiAgICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwicHVibGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gc3RhdGljIGZpbGVzXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImZzLXRvLXMzXCIsXG4gICAgICAgICAgc291cmNlUGF0aDogam9pbihyb290LCBcIi5uZXh0XCIsIFwic3RhdGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbktleVByZWZpeDogXCJfbmV4dC9zdGF0aWNcIixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICAgIGFjdGlvbnMucHVzaChcbiAgICAgIC8vIGRhdGEgY2FjaGUgLSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9jYWNoaW5nI2RhdGEtY2FjaGVcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJjYWNoZVwiLCBcImZldGNoLWNhY2hlXCIpLFxuICAgICAgICBkZXN0aW5hdGlvblBhdGg6IGpvaW4oXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICAgICAgREFUQV9DQUNIRV9ESVIsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgLy8gZnVsbCByb3V0ZSBjYWNoZSAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZnVsbC1yb3V0ZS1jYWNoZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4oXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBcIi5uZXh0XCIsXG4gICAgICAgICAgXCJzdGFuZGFsb25lXCIsXG4gICAgICAgICAgdGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIlwiLFxuICAgICAgICAgIFwiLm5leHRcIixcbiAgICAgICAgICBcInNlcnZlclwiLFxuICAgICAgICAgIFwiYXBwXCIsXG4gICAgICAgICksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICAvLyBpbWFnZXMgYXJlIG9wdGltaXplZCBhdCBydW50aW1lIHNvIG5vdGhpbmcgdG8gZGVwbG95XG4gICAgKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBDdXN0b21SZXNvdXJjZVByb3BlcnRpZXMgPSB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYnVpbGRJbWFnZURpZ2VzdDogdGhpcy5wcm9wcy5idWlsZEltYWdlRGlnZXN0LFxuICAgICAgaW1hZ2VDYWNoZVBhdGg6IGpvaW4oXG4gICAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgICBJTUFHRV9DQUNIRV9ESVIsXG4gICAgICApLFxuICAgICAgcHJlcmVuZGVyTWFuaWZlc3RQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJwcmVyZW5kZXItbWFuaWZlc3QuanNvblwiKSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJDdXN0b21SZXNvdXJjZVwiLCB7XG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6TmV4dGpzQXNzZXRzRGVwbG95bWVudFwiLFxuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmRvY2tlckltYWdlRnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==