awscdk-construct-scte-scheduler 0.0.23 → 0.0.24

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
@@ -4105,7 +4105,7 @@
4105
4105
  },
4106
4106
  "locationInModule": {
4107
4107
  "filename": "src/ScteScheduler.ts",
4108
- "line": 34
4108
+ "line": 35
4109
4109
  },
4110
4110
  "parameters": [
4111
4111
  {
@@ -4131,7 +4131,7 @@
4131
4131
  "kind": "class",
4132
4132
  "locationInModule": {
4133
4133
  "filename": "src/ScteScheduler.ts",
4134
- "line": 30
4134
+ "line": 31
4135
4135
  },
4136
4136
  "name": "ScteScheduler",
4137
4137
  "properties": [
@@ -4142,7 +4142,7 @@
4142
4142
  "immutable": true,
4143
4143
  "locationInModule": {
4144
4144
  "filename": "src/ScteScheduler.ts",
4145
- "line": 31
4145
+ "line": 32
4146
4146
  },
4147
4147
  "name": "lambda",
4148
4148
  "type": {
@@ -4156,7 +4156,7 @@
4156
4156
  "immutable": true,
4157
4157
  "locationInModule": {
4158
4158
  "filename": "src/ScteScheduler.ts",
4159
- "line": 32
4159
+ "line": 33
4160
4160
  },
4161
4161
  "name": "schedule",
4162
4162
  "optional": true,
@@ -4234,7 +4234,7 @@
4234
4234
  "immutable": true,
4235
4235
  "locationInModule": {
4236
4236
  "filename": "src/ScteScheduler.ts",
4237
- "line": 27
4237
+ "line": 28
4238
4238
  },
4239
4239
  "name": "callback",
4240
4240
  "optional": true,
@@ -4252,6 +4252,22 @@
4252
4252
  "filename": "src/ScteScheduler.ts",
4253
4253
  "line": 26
4254
4254
  },
4255
+ "name": "cronOptions",
4256
+ "optional": true,
4257
+ "type": {
4258
+ "fqn": "aws-cdk-lib.aws_events.CronOptions"
4259
+ }
4260
+ },
4261
+ {
4262
+ "abstract": true,
4263
+ "docs": {
4264
+ "stability": "stable"
4265
+ },
4266
+ "immutable": true,
4267
+ "locationInModule": {
4268
+ "filename": "src/ScteScheduler.ts",
4269
+ "line": 27
4270
+ },
4255
4271
  "name": "repeatCount",
4256
4272
  "optional": true,
4257
4273
  "type": {
@@ -4262,6 +4278,6 @@
4262
4278
  "symbolId": "src/ScteScheduler:ScteSchedulerProps"
4263
4279
  }
4264
4280
  },
4265
- "version": "0.0.23",
4266
- "fingerprint": "LtCUvPI+xXo3q5UKihSUaLZuywO58OUieQh0xAg6+IM="
4281
+ "version": "0.0.0",
4282
+ "fingerprint": "nzeGD1sEc+34HPHlOU/Dfu5t04gNORr0UQiJO076sak="
4267
4283
  }
package/API.md CHANGED
@@ -483,6 +483,7 @@ const scteSchedulerProps: ScteSchedulerProps = { ... }
483
483
  | <code><a href="#awscdk-construct-scte-scheduler.ScteSchedulerProps.property.intervalInMinutes">intervalInMinutes</a></code> | <code>number</code> | *No description.* |
484
484
  | <code><a href="#awscdk-construct-scte-scheduler.ScteSchedulerProps.property.scteDurationInSeconds">scteDurationInSeconds</a></code> | <code>number</code> | *No description.* |
485
485
  | <code><a href="#awscdk-construct-scte-scheduler.ScteSchedulerProps.property.callback">callback</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |
486
+ | <code><a href="#awscdk-construct-scte-scheduler.ScteSchedulerProps.property.cronOptions">cronOptions</a></code> | <code>aws-cdk-lib.aws_events.CronOptions</code> | *No description.* |
486
487
  | <code><a href="#awscdk-construct-scte-scheduler.ScteSchedulerProps.property.repeatCount">repeatCount</a></code> | <code>number</code> | *No description.* |
487
488
 
488
489
  ---
@@ -527,6 +528,16 @@ public readonly callback: IFunction;
527
528
 
528
529
  ---
529
530
 
531
+ ##### `cronOptions`<sup>Optional</sup> <a name="cronOptions" id="awscdk-construct-scte-scheduler.ScteSchedulerProps.property.cronOptions"></a>
532
+
533
+ ```typescript
534
+ public readonly cronOptions: CronOptions;
535
+ ```
536
+
537
+ - *Type:* aws-cdk-lib.aws_events.CronOptions
538
+
539
+ ---
540
+
530
541
  ##### `repeatCount`<sup>Optional</sup> <a name="repeatCount" id="awscdk-construct-scte-scheduler.ScteSchedulerProps.property.repeatCount"></a>
531
542
 
532
543
  ```typescript
@@ -24,7 +24,7 @@ class EventBridgeSchedule extends constructs_1.Construct {
24
24
  }
25
25
  exports.EventBridgeSchedule = EventBridgeSchedule;
26
26
  _a = JSII_RTTI_SYMBOL_1;
27
- EventBridgeSchedule[_a] = { fqn: "awscdk-construct-scte-scheduler.EventBridgeSchedule", version: "0.0.23" };
27
+ EventBridgeSchedule[_a] = { fqn: "awscdk-construct-scte-scheduler.EventBridgeSchedule", version: "0.0.0" };
28
28
  function isFunction(target) {
29
29
  return target instanceof aws_lambda_nodejs_1.NodejsFunction;
30
30
  }
@@ -0,0 +1,38 @@
1
+ import { Rule, Schedule } from 'aws-cdk-lib/aws-events';
2
+ import { LambdaFunction, SfnStateMachine } from 'aws-cdk-lib/aws-events-targets';
3
+ import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
4
+ import { StateMachine } from 'aws-cdk-lib/aws-stepfunctions';
5
+ import { Construct } from 'constructs';
6
+
7
+ export interface EventBridgeScheduleProps {
8
+ readonly target: NodejsFunction | StateMachine;
9
+ readonly schedule: Schedule;
10
+ }
11
+
12
+ export class EventBridgeSchedule extends Construct {
13
+ public rule: Rule;
14
+
15
+ constructor(scope: Construct, id: string, props: EventBridgeScheduleProps) {
16
+ super(scope, id);
17
+
18
+ const { target, schedule } = props;
19
+
20
+ this.rule = new Rule(this, 'InvokeFunctionEveryXMinutes', {
21
+ schedule,
22
+ });
23
+
24
+ if (isFunction(target)) {
25
+ this.rule.addTarget(
26
+ new LambdaFunction(target),
27
+ );
28
+ } else {
29
+ this.rule.addTarget(
30
+ new SfnStateMachine(target),
31
+ );
32
+ }
33
+ }
34
+ }
35
+
36
+ function isFunction(target: any): target is NodejsFunction {
37
+ return target instanceof NodejsFunction;
38
+ }
package/lib/Lambda.js CHANGED
@@ -41,5 +41,5 @@ class Lambda extends constructs_1.Construct {
41
41
  }
42
42
  exports.Lambda = Lambda;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- Lambda[_a] = { fqn: "awscdk-construct-scte-scheduler.Lambda", version: "0.0.23" };
44
+ Lambda[_a] = { fqn: "awscdk-construct-scte-scheduler.Lambda", version: "0.0.0" };
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsNkNBQXlEO0FBQ3pELGlEQUFzRDtBQUN0RCx1REFBaUQ7QUFDakQscUVBQStEO0FBQy9ELDJDQUF1QztBQU92QyxNQUFhLE1BQU8sU0FBUSxzQkFBUztJQUduQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQ0FBYyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUU7WUFDcEQsT0FBTyxFQUFFLG9CQUFPLENBQUMsV0FBVztZQUM1QixLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3BELDhDQUE4QztZQUM5Qyx3RUFBd0U7WUFDeEUsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixXQUFXLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBa0I7Z0JBQ3hDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUE0QjtnQkFDaEQsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLFlBQVksRUFBRSxHQUFHLHFCQUFxQixFQUFFO2FBQ3pDO1lBQ0QsWUFBWSxFQUFFLHNCQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7U0FDM0MsQ0FBQyxDQUFDO1FBQ0gsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUN2Qix5QkFBZSxDQUFDLFFBQVEsQ0FBQztZQUN2QixNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1NBQ2QsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztBQWxDSCx3QkFtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIGF3c19sb2dzIGFzIGxvZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhUHJvcHMge1xuICByZWFkb25seSBjaGFubmVsSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc2N0ZUR1cmF0aW9uSW5TZWNvbmRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZnVuYzogTm9kZWpzRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExhbWJkYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgY2hhbm5lbElkLCBzY3RlRHVyYXRpb25JblNlY29uZHMgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgVFNfRU5UUlkgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnY29kZScsICdpbmRleC50cycpO1xuICAgIGNvbnN0IEpTX0VOVFJZID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2NvZGUnLCAnaW5kZXguanMnKTtcblxuICAgIHRoaXMuZnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgJ1NjaGVkdWxlU0NURScsIHtcbiAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICBlbnRyeTogZnMuZXhpc3RzU3luYyhUU19FTlRSWSkgPyBUU19FTlRSWSA6IEpTX0VOVFJZLFxuICAgICAgLy8gcHJvamVjdFJvb3Q6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicpLFxuICAgICAgLy8gZGVwc0xvY2tGaWxlUGF0aDogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ3BhY2thZ2UtbG9jay5qc29uJyksXG4gICAgICBoYW5kbGVyOiAnaGFuZGxlcicsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIE5PREVfRU5WOiBwcm9jZXNzLmVudi5OT0RFX0VOViBhcyBzdHJpbmcsXG4gICAgICAgIFJFR0lPTjogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OIGFzIHN0cmluZyxcbiAgICAgICAgQ0hBTk5FTF9JRDogY2hhbm5lbElkLFxuICAgICAgICBBVkFJTF9MRU5HVEg6IGAke3NjdGVEdXJhdGlvbkluU2Vjb25kc31gLFxuICAgICAgfSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcbiAgICB9KTtcbiAgICAvLyBBZGQgYSBzdGF0ZW1lbnQgdG8gY2FsbCBNZWRpYUxpdmUgc2NoZWR1bGUgQVBJXG4gICAgdGhpcy5mdW5jLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIFBvbGljeVN0YXRlbWVudC5mcm9tSnNvbih7XG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgQWN0aW9uOiAnbWVkaWFsaXZlOionLFxuICAgICAgICBSZXNvdXJjZTogJyonLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufSJdfQ==
@@ -1,3 +1,4 @@
1
+ import { CronOptions } from 'aws-cdk-lib/aws-events';
1
2
  import { IFunction } from 'aws-cdk-lib/aws-lambda';
2
3
  import { Construct } from 'constructs';
3
4
  import { EventBridgeSchedule } from './EventBridgeSchedule';
@@ -6,6 +7,7 @@ export interface ScteSchedulerProps {
6
7
  readonly channelId: string;
7
8
  readonly scteDurationInSeconds: number;
8
9
  readonly intervalInMinutes: number;
10
+ readonly cronOptions?: CronOptions;
9
11
  readonly repeatCount?: number;
10
12
  readonly callback?: IFunction;
11
13
  }
@@ -15,43 +15,42 @@ const Lambda_1 = require("./Lambda");
15
15
  class ScteScheduler extends constructs_1.Construct {
16
16
  constructor(scope, id, props) {
17
17
  super(scope, id);
18
- const { channelId, scteDurationInSeconds, intervalInMinutes, repeatCount = 0, // 0 means infinite loop
19
- callback, } = props;
18
+ const { channelId, scteDurationInSeconds, intervalInMinutes, cronOptions, repeatCount = Infinity, callback, } = props;
20
19
  // Create Lambda function to insert SCTE message using the MediaLive schedule API
21
20
  this.lambda = new Lambda_1.Lambda(this, 'LambdaFunction', {
22
21
  channelId,
23
22
  scteDurationInSeconds,
24
23
  });
25
- if (repeatCount <= 0) {
24
+ // Create Step Functions state machine to invoke the Lambda function N times
25
+ const invoke = new aws_stepfunctions_tasks_1.LambdaInvoke(this, 'Invoke SCTE scheduler Lambda function', {
26
+ lambdaFunction: this.lambda.func,
27
+ inputPath: '$.Payload',
28
+ });
29
+ const wait1 = new aws_stepfunctions_1.Wait(this, `Wait for ${intervalInMinutes}-min`, {
30
+ time: aws_stepfunctions_1.WaitTime.duration(aws_cdk_lib_1.Duration.minutes(intervalInMinutes)),
31
+ });
32
+ const wait2 = new aws_stepfunctions_1.Wait(this, `Wait for ${intervalInMinutes * 60 + scteDurationInSeconds}-sec`, {
33
+ time: aws_stepfunctions_1.WaitTime.duration(aws_cdk_lib_1.Duration.seconds(intervalInMinutes * 60 + scteDurationInSeconds)),
34
+ });
35
+ const lastTask = callback ? new aws_stepfunctions_tasks_1.LambdaInvoke(this, 'Callback', {
36
+ lambdaFunction: callback,
37
+ }) : new aws_stepfunctions_1.Succeed(this, 'Done');
38
+ const stateMachine = new aws_stepfunctions_1.StateMachine(this, 'StateMachine', {
39
+ definitionBody: aws_stepfunctions_1.DefinitionBody.fromChainable(aws_stepfunctions_1.Chain.start(new aws_stepfunctions_1.Pass(this, 'Start', { parameters: { Payload: { i: 0 } } }))
40
+ .next(wait1)
41
+ .next(invoke)
42
+ .next(new aws_stepfunctions_1.Choice(this, `Check if repaeted ${repeatCount} times`)
43
+ .when(aws_stepfunctions_1.Condition.numberLessThan('$.Payload.i', repeatCount), wait1)
44
+ .otherwise(aws_stepfunctions_1.Chain.start(wait2).next(lastTask)))),
45
+ });
46
+ if (cronOptions) {
26
47
  // Create EventBridge rule to invoke the Lambda function every N minutes
27
48
  this.schedule = new EventBridgeSchedule_1.EventBridgeSchedule(this, 'EventBridgeSchedule', {
28
- target: this.lambda.func,
29
- schedule: aws_events_1.Schedule.rate(aws_cdk_lib_1.Duration.minutes(intervalInMinutes)),
49
+ target: stateMachine,
50
+ schedule: aws_events_1.Schedule.cron(cronOptions),
30
51
  });
31
52
  }
32
53
  else {
33
- // Create Step Functions state machine to invoke the Lambda function N times
34
- const invoke = new aws_stepfunctions_tasks_1.LambdaInvoke(this, 'Invoke SCTE scheduler Lambda function', {
35
- lambdaFunction: this.lambda.func,
36
- inputPath: '$.Payload',
37
- });
38
- const wait1 = new aws_stepfunctions_1.Wait(this, `Wait for ${intervalInMinutes}-min`, {
39
- time: aws_stepfunctions_1.WaitTime.duration(aws_cdk_lib_1.Duration.minutes(intervalInMinutes)),
40
- });
41
- const wait2 = new aws_stepfunctions_1.Wait(this, `Wait for ${intervalInMinutes * 60 + scteDurationInSeconds}-sec`, {
42
- time: aws_stepfunctions_1.WaitTime.duration(aws_cdk_lib_1.Duration.seconds(intervalInMinutes * 60 + scteDurationInSeconds)),
43
- });
44
- const lastTask = callback ? new aws_stepfunctions_tasks_1.LambdaInvoke(this, 'Callback', {
45
- lambdaFunction: callback,
46
- }) : new aws_stepfunctions_1.Succeed(this, 'Done');
47
- const stateMachine = new aws_stepfunctions_1.StateMachine(this, 'StateMachine', {
48
- definitionBody: aws_stepfunctions_1.DefinitionBody.fromChainable(aws_stepfunctions_1.Chain.start(new aws_stepfunctions_1.Pass(this, 'Start', { parameters: { Payload: { i: 0 } } }))
49
- .next(wait1)
50
- .next(invoke)
51
- .next(new aws_stepfunctions_1.Choice(this, `Check if repaeted ${repeatCount} times`)
52
- .when(aws_stepfunctions_1.Condition.numberLessThan('$.Payload.i', repeatCount), wait1)
53
- .otherwise(aws_stepfunctions_1.Chain.start(wait2).next(lastTask)))),
54
- });
55
54
  // Start the execution of the state machine immediately
56
55
  new custom_resources_1.AwsCustomResource(scope, 'StartStateMachine', {
57
56
  onCreate: {
@@ -73,5 +72,5 @@ class ScteScheduler extends constructs_1.Construct {
73
72
  }
74
73
  exports.ScteScheduler = ScteScheduler;
75
74
  _a = JSII_RTTI_SYMBOL_1;
76
- ScteScheduler[_a] = { fqn: "awscdk-construct-scte-scheduler.ScteScheduler", version: "0.0.23" };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2N0ZVNjaGVkdWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TY3RlU2NoZWR1bGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLDZDQUF1QztBQUN2Qyx1REFBa0Q7QUFFbEQscUVBVXVDO0FBQ3ZDLGlGQUFtRTtBQUNuRSxtRUFBOEc7QUFDOUcsMkNBQXVDO0FBQ3ZDLCtEQUE0RDtBQUM1RCxxQ0FBa0M7QUFVbEMsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFJMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFDSixTQUFTLEVBQ1QscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixXQUFXLEdBQUcsQ0FBQyxFQUFFLHdCQUF3QjtRQUN6QyxRQUFRLEdBQ1QsR0FBRyxLQUFLLENBQUM7UUFFVixpRkFBaUY7UUFDakYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDL0MsU0FBUztZQUNULHFCQUFxQjtTQUN0QixDQUFDLENBQUM7UUFFSCxJQUFJLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQix3RUFBd0U7WUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtnQkFDbkUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtnQkFDeEIsUUFBUSxFQUFFLHFCQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDN0QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTiw0RUFBNEU7WUFDNUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQ0FBWSxDQUFDLElBQUksRUFBRSx1Q0FBdUMsRUFBRTtnQkFDN0UsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtnQkFDaEMsU0FBUyxFQUFFLFdBQVc7YUFDdkIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSx3QkFBSSxDQUFDLElBQUksRUFBRSxZQUFZLGlCQUFpQixNQUFNLEVBQUU7Z0JBQ2hFLElBQUksRUFBRSw0QkFBUSxDQUFDLFFBQVEsQ0FBQyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQzdELENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksd0JBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcscUJBQXFCLE1BQU0sRUFBRTtnQkFDN0YsSUFBSSxFQUFFLDRCQUFRLENBQUMsUUFBUSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO2FBQzFGLENBQUMsQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQ0FBWSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQzdELGNBQWMsRUFBRSxRQUFRO2FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSwyQkFBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQixNQUFNLFlBQVksR0FBRyxJQUFJLGdDQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDMUQsY0FBYyxFQUFFLGtDQUFjLENBQUMsYUFBYSxDQUMxQyx5QkFBSyxDQUFDLEtBQUssQ0FDVCxJQUFJLHdCQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDL0Q7cUJBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQztxQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDO3FCQUNaLElBQUksQ0FDSCxJQUFJLDBCQUFNLENBQUMsSUFBSSxFQUFFLHFCQUFxQixXQUFXLFFBQVEsQ0FBQztxQkFDdkQsSUFBSSxDQUNILDZCQUFTLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFDcEQsS0FBSyxDQUNOO3FCQUNBLFNBQVMsQ0FDUix5QkFBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ2xDLENBQ0osQ0FDSjthQUNGLENBQUMsQ0FBQztZQUNILHVEQUF1RDtZQUN2RCxJQUFJLG9DQUFpQixDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtnQkFDaEQsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxlQUFlO29CQUN4QixNQUFNLEVBQUUsZ0JBQWdCO29CQUN4QixVQUFVLEVBQUU7d0JBQ1YsZUFBZSxFQUFFLFlBQVksQ0FBQyxlQUFlO3dCQUM3QyxLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQztvQkFDRCxrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QseUdBQXlHO2dCQUN6RyxNQUFNLEVBQUUsMENBQXVCLENBQUMsWUFBWSxDQUFDO29CQUMzQyxTQUFTLEVBQUUsMENBQXVCLENBQUMsWUFBWTtpQkFDaEQsQ0FBQzthQUNILENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQTlFSCxzQ0ErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgU2NoZWR1bGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHtcbiAgU3RhdGVNYWNoaW5lLFxuICBEZWZpbml0aW9uQm9keSxcbiAgQ2hhaW4sXG4gIENob2ljZSxcbiAgQ29uZGl0aW9uLFxuICBXYWl0LFxuICBXYWl0VGltZSxcbiAgUGFzcyxcbiAgU3VjY2VlZCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0IHsgTGFtYmRhSW52b2tlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3MnO1xuaW1wb3J0IHsgQXdzQ3VzdG9tUmVzb3VyY2UsIEF3c0N1c3RvbVJlc291cmNlUG9saWN5LCBQaHlzaWNhbFJlc291cmNlSWQgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRXZlbnRCcmlkZ2VTY2hlZHVsZSB9IGZyb20gJy4vRXZlbnRCcmlkZ2VTY2hlZHVsZSc7XG5pbXBvcnQgeyBMYW1iZGEgfSBmcm9tICcuL0xhbWJkYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2N0ZVNjaGVkdWxlclByb3BzIHtcbiAgcmVhZG9ubHkgY2hhbm5lbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNjdGVEdXJhdGlvbkluU2Vjb25kczogbnVtYmVyO1xuICByZWFkb25seSBpbnRlcnZhbEluTWludXRlczogbnVtYmVyO1xuICByZWFkb25seSByZXBlYXRDb3VudD86IG51bWJlcjtcbiAgcmVhZG9ubHkgY2FsbGJhY2s/OiBJRnVuY3Rpb247XG59XG5cbmV4cG9ydCBjbGFzcyBTY3RlU2NoZWR1bGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYTogTGFtYmRhO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NoZWR1bGU/OiBFdmVudEJyaWRnZVNjaGVkdWxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTY3RlU2NoZWR1bGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qge1xuICAgICAgY2hhbm5lbElkLFxuICAgICAgc2N0ZUR1cmF0aW9uSW5TZWNvbmRzLFxuICAgICAgaW50ZXJ2YWxJbk1pbnV0ZXMsXG4gICAgICByZXBlYXRDb3VudCA9IDAsIC8vIDAgbWVhbnMgaW5maW5pdGUgbG9vcFxuICAgICAgY2FsbGJhY2ssXG4gICAgfSA9IHByb3BzO1xuXG4gICAgLy8gQ3JlYXRlIExhbWJkYSBmdW5jdGlvbiB0byBpbnNlcnQgU0NURSBtZXNzYWdlIHVzaW5nIHRoZSBNZWRpYUxpdmUgc2NoZWR1bGUgQVBJXG4gICAgdGhpcy5sYW1iZGEgPSBuZXcgTGFtYmRhKHRoaXMsICdMYW1iZGFGdW5jdGlvbicsIHtcbiAgICAgIGNoYW5uZWxJZCxcbiAgICAgIHNjdGVEdXJhdGlvbkluU2Vjb25kcyxcbiAgICB9KTtcblxuICAgIGlmIChyZXBlYXRDb3VudCA8PSAwKSB7XG4gICAgICAvLyBDcmVhdGUgRXZlbnRCcmlkZ2UgcnVsZSB0byBpbnZva2UgdGhlIExhbWJkYSBmdW5jdGlvbiBldmVyeSBOIG1pbnV0ZXNcbiAgICAgIHRoaXMuc2NoZWR1bGUgPSBuZXcgRXZlbnRCcmlkZ2VTY2hlZHVsZSh0aGlzLCAnRXZlbnRCcmlkZ2VTY2hlZHVsZScsIHtcbiAgICAgICAgdGFyZ2V0OiB0aGlzLmxhbWJkYS5mdW5jLFxuICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmF0ZShEdXJhdGlvbi5taW51dGVzKGludGVydmFsSW5NaW51dGVzKSksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ3JlYXRlIFN0ZXAgRnVuY3Rpb25zIHN0YXRlIG1hY2hpbmUgdG8gaW52b2tlIHRoZSBMYW1iZGEgZnVuY3Rpb24gTiB0aW1lc1xuICAgICAgY29uc3QgaW52b2tlID0gbmV3IExhbWJkYUludm9rZSh0aGlzLCAnSW52b2tlIFNDVEUgc2NoZWR1bGVyIExhbWJkYSBmdW5jdGlvbicsIHtcbiAgICAgICAgbGFtYmRhRnVuY3Rpb246IHRoaXMubGFtYmRhLmZ1bmMsXG4gICAgICAgIGlucHV0UGF0aDogJyQuUGF5bG9hZCcsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHdhaXQxID0gbmV3IFdhaXQodGhpcywgYFdhaXQgZm9yICR7aW50ZXJ2YWxJbk1pbnV0ZXN9LW1pbmAsIHtcbiAgICAgICAgdGltZTogV2FpdFRpbWUuZHVyYXRpb24oRHVyYXRpb24ubWludXRlcyhpbnRlcnZhbEluTWludXRlcykpLFxuICAgICAgfSk7XG4gICAgICBjb25zdCB3YWl0MiA9IG5ldyBXYWl0KHRoaXMsIGBXYWl0IGZvciAke2ludGVydmFsSW5NaW51dGVzICogNjAgKyBzY3RlRHVyYXRpb25JblNlY29uZHN9LXNlY2AsIHtcbiAgICAgICAgdGltZTogV2FpdFRpbWUuZHVyYXRpb24oRHVyYXRpb24uc2Vjb25kcyhpbnRlcnZhbEluTWludXRlcyAqIDYwICsgc2N0ZUR1cmF0aW9uSW5TZWNvbmRzKSksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGxhc3RUYXNrID0gY2FsbGJhY2sgPyBuZXcgTGFtYmRhSW52b2tlKHRoaXMsICdDYWxsYmFjaycsIHtcbiAgICAgICAgbGFtYmRhRnVuY3Rpb246IGNhbGxiYWNrLFxuICAgICAgfSkgOiBuZXcgU3VjY2VlZCh0aGlzLCAnRG9uZScpO1xuICAgICAgY29uc3Qgc3RhdGVNYWNoaW5lID0gbmV3IFN0YXRlTWFjaGluZSh0aGlzLCAnU3RhdGVNYWNoaW5lJywge1xuICAgICAgICBkZWZpbml0aW9uQm9keTogRGVmaW5pdGlvbkJvZHkuZnJvbUNoYWluYWJsZShcbiAgICAgICAgICBDaGFpbi5zdGFydChcbiAgICAgICAgICAgIG5ldyBQYXNzKHRoaXMsICdTdGFydCcsIHsgcGFyYW1ldGVyczogeyBQYXlsb2FkOiB7IGk6IDAgfSB9IH0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC5uZXh0KHdhaXQxKVxuICAgICAgICAgICAgLm5leHQoaW52b2tlKVxuICAgICAgICAgICAgLm5leHQoXG4gICAgICAgICAgICAgIG5ldyBDaG9pY2UodGhpcywgYENoZWNrIGlmIHJlcGFldGVkICR7cmVwZWF0Q291bnR9IHRpbWVzYClcbiAgICAgICAgICAgICAgICAud2hlbihcbiAgICAgICAgICAgICAgICAgIENvbmRpdGlvbi5udW1iZXJMZXNzVGhhbignJC5QYXlsb2FkLmknLCByZXBlYXRDb3VudCksXG4gICAgICAgICAgICAgICAgICB3YWl0MSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLm90aGVyd2lzZShcbiAgICAgICAgICAgICAgICAgIENoYWluLnN0YXJ0KHdhaXQyKS5uZXh0KGxhc3RUYXNrKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgICAgLy8gU3RhcnQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgc3RhdGUgbWFjaGluZSBpbW1lZGlhdGVseVxuICAgICAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCAnU3RhcnRTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgICAgc2VydmljZTogJ1N0ZXBGdW5jdGlvbnMnLFxuICAgICAgICAgIGFjdGlvbjogJ1N0YXJ0RXhlY3V0aW9uJyxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICBzdGF0ZU1hY2hpbmVBcm46IHN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICAgICAgICBpbnB1dDogJ3sgXCJQYXlsb2FkXCI6IHsgXCJpXCI6IDAgfSB9JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKGAke2NyeXB0by5yYW5kb21VVUlEKCl9YCksXG4gICAgICAgIH0sXG4gICAgICAgIC8vV2lsbCBpZ25vcmUgYW55IHJlc291cmNlIGFuZCB1c2UgdGhlIGFzc3VtZWRSb2xlQXJuIGFzIHJlc291cmNlIGFuZCAnc3RzOkFzc3VtZVJvbGUnIGZvciBzZXJ2aWNlOmFjdGlvblxuICAgICAgICBwb2xpY3k6IEF3c0N1c3RvbVJlc291cmNlUG9saWN5LmZyb21TZGtDYWxscyh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
75
+ ScteScheduler[_a] = { fqn: "awscdk-construct-scte-scheduler.ScteScheduler", version: "0.0.0" };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2N0ZVNjaGVkdWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TY3RlU2NoZWR1bGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLDZDQUF1QztBQUN2Qyx1REFBK0Q7QUFFL0QscUVBVXVDO0FBQ3ZDLGlGQUFtRTtBQUNuRSxtRUFBOEc7QUFDOUcsMkNBQXVDO0FBQ3ZDLCtEQUE0RDtBQUM1RCxxQ0FBa0M7QUFXbEMsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFJMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFDSixTQUFTLEVBQ1QscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsV0FBVyxHQUFHLFFBQVEsRUFDdEIsUUFBUSxHQUNULEdBQUcsS0FBSyxDQUFDO1FBRVYsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQy9DLFNBQVM7WUFDVCxxQkFBcUI7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsNEVBQTRFO1FBQzVFLE1BQU0sTUFBTSxHQUFHLElBQUksc0NBQVksQ0FBQyxJQUFJLEVBQUUsdUNBQXVDLEVBQUU7WUFDN0UsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNoQyxTQUFTLEVBQUUsV0FBVztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLHdCQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksaUJBQWlCLE1BQU0sRUFBRTtZQUNoRSxJQUFJLEVBQUUsNEJBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUM3RCxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLHdCQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksaUJBQWlCLEdBQUcsRUFBRSxHQUFHLHFCQUFxQixNQUFNLEVBQUU7WUFDN0YsSUFBSSxFQUFFLDRCQUFRLENBQUMsUUFBUSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO1NBQzFGLENBQUMsQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQ0FBWSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDN0QsY0FBYyxFQUFFLFFBQVE7U0FDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLDJCQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFHLElBQUksZ0NBQVksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQzFELGNBQWMsRUFBRSxrQ0FBYyxDQUFDLGFBQWEsQ0FDMUMseUJBQUssQ0FBQyxLQUFLLENBQ1QsSUFBSSx3QkFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQy9EO2lCQUNFLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQztpQkFDWixJQUFJLENBQ0gsSUFBSSwwQkFBTSxDQUFDLElBQUksRUFBRSxxQkFBcUIsV0FBVyxRQUFRLENBQUM7aUJBQ3ZELElBQUksQ0FDSCw2QkFBUyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQ3BELEtBQUssQ0FDTjtpQkFDQSxTQUFTLENBQ1IseUJBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUNsQyxDQUNKLENBQ0o7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLHdFQUF3RTtZQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkseUNBQW1CLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO2dCQUNuRSxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsUUFBUSxFQUFFLHFCQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUNyQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLHVEQUF1RDtZQUN2RCxJQUFJLG9DQUFpQixDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtnQkFDaEQsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxlQUFlO29CQUN4QixNQUFNLEVBQUUsZ0JBQWdCO29CQUN4QixVQUFVLEVBQUU7d0JBQ1YsZUFBZSxFQUFFLFlBQVksQ0FBQyxlQUFlO3dCQUM3QyxLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQztvQkFDRCxrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QseUdBQXlHO2dCQUN6RyxNQUFNLEVBQUUsMENBQXVCLENBQUMsWUFBWSxDQUFDO29CQUMzQyxTQUFTLEVBQUUsMENBQXVCLENBQUMsWUFBWTtpQkFDaEQsQ0FBQzthQUNILENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQS9FSCxzQ0FnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgU2NoZWR1bGUsIENyb25PcHRpb25zIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgeyBJRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7XG4gIFN0YXRlTWFjaGluZSxcbiAgRGVmaW5pdGlvbkJvZHksXG4gIENoYWluLFxuICBDaG9pY2UsXG4gIENvbmRpdGlvbixcbiAgV2FpdCxcbiAgV2FpdFRpbWUsXG4gIFBhc3MsXG4gIFN1Y2NlZWQsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7IExhbWJkYUludm9rZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzJztcbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlLCBBd3NDdXN0b21SZXNvdXJjZVBvbGljeSwgUGh5c2ljYWxSZXNvdXJjZUlkIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEV2ZW50QnJpZGdlU2NoZWR1bGUgfSBmcm9tICcuL0V2ZW50QnJpZGdlU2NoZWR1bGUnO1xuaW1wb3J0IHsgTGFtYmRhIH0gZnJvbSAnLi9MYW1iZGEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjdGVTY2hlZHVsZXJQcm9wcyB7XG4gIHJlYWRvbmx5IGNoYW5uZWxJZDogc3RyaW5nO1xuICByZWFkb25seSBzY3RlRHVyYXRpb25JblNlY29uZHM6IG51bWJlcjtcbiAgcmVhZG9ubHkgaW50ZXJ2YWxJbk1pbnV0ZXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgY3Jvbk9wdGlvbnM/OiBDcm9uT3B0aW9ucztcbiAgcmVhZG9ubHkgcmVwZWF0Q291bnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNhbGxiYWNrPzogSUZ1bmN0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgU2N0ZVNjaGVkdWxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGE6IExhbWJkYTtcbiAgcHVibGljIHJlYWRvbmx5IHNjaGVkdWxlPzogRXZlbnRCcmlkZ2VTY2hlZHVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2N0ZVNjaGVkdWxlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGNoYW5uZWxJZCxcbiAgICAgIHNjdGVEdXJhdGlvbkluU2Vjb25kcyxcbiAgICAgIGludGVydmFsSW5NaW51dGVzLFxuICAgICAgY3Jvbk9wdGlvbnMsXG4gICAgICByZXBlYXRDb3VudCA9IEluZmluaXR5LFxuICAgICAgY2FsbGJhY2ssXG4gICAgfSA9IHByb3BzO1xuXG4gICAgLy8gQ3JlYXRlIExhbWJkYSBmdW5jdGlvbiB0byBpbnNlcnQgU0NURSBtZXNzYWdlIHVzaW5nIHRoZSBNZWRpYUxpdmUgc2NoZWR1bGUgQVBJXG4gICAgdGhpcy5sYW1iZGEgPSBuZXcgTGFtYmRhKHRoaXMsICdMYW1iZGFGdW5jdGlvbicsIHtcbiAgICAgIGNoYW5uZWxJZCxcbiAgICAgIHNjdGVEdXJhdGlvbkluU2Vjb25kcyxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTdGVwIEZ1bmN0aW9ucyBzdGF0ZSBtYWNoaW5lIHRvIGludm9rZSB0aGUgTGFtYmRhIGZ1bmN0aW9uIE4gdGltZXNcbiAgICBjb25zdCBpbnZva2UgPSBuZXcgTGFtYmRhSW52b2tlKHRoaXMsICdJbnZva2UgU0NURSBzY2hlZHVsZXIgTGFtYmRhIGZ1bmN0aW9uJywge1xuICAgICAgbGFtYmRhRnVuY3Rpb246IHRoaXMubGFtYmRhLmZ1bmMsXG4gICAgICBpbnB1dFBhdGg6ICckLlBheWxvYWQnLFxuICAgIH0pO1xuICAgIGNvbnN0IHdhaXQxID0gbmV3IFdhaXQodGhpcywgYFdhaXQgZm9yICR7aW50ZXJ2YWxJbk1pbnV0ZXN9LW1pbmAsIHtcbiAgICAgIHRpbWU6IFdhaXRUaW1lLmR1cmF0aW9uKER1cmF0aW9uLm1pbnV0ZXMoaW50ZXJ2YWxJbk1pbnV0ZXMpKSxcbiAgICB9KTtcbiAgICBjb25zdCB3YWl0MiA9IG5ldyBXYWl0KHRoaXMsIGBXYWl0IGZvciAke2ludGVydmFsSW5NaW51dGVzICogNjAgKyBzY3RlRHVyYXRpb25JblNlY29uZHN9LXNlY2AsIHtcbiAgICAgIHRpbWU6IFdhaXRUaW1lLmR1cmF0aW9uKER1cmF0aW9uLnNlY29uZHMoaW50ZXJ2YWxJbk1pbnV0ZXMgKiA2MCArIHNjdGVEdXJhdGlvbkluU2Vjb25kcykpLFxuICAgIH0pO1xuICAgIGNvbnN0IGxhc3RUYXNrID0gY2FsbGJhY2sgPyBuZXcgTGFtYmRhSW52b2tlKHRoaXMsICdDYWxsYmFjaycsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBjYWxsYmFjayxcbiAgICB9KSA6IG5ldyBTdWNjZWVkKHRoaXMsICdEb25lJyk7XG4gICAgY29uc3Qgc3RhdGVNYWNoaW5lID0gbmV3IFN0YXRlTWFjaGluZSh0aGlzLCAnU3RhdGVNYWNoaW5lJywge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IERlZmluaXRpb25Cb2R5LmZyb21DaGFpbmFibGUoXG4gICAgICAgIENoYWluLnN0YXJ0KFxuICAgICAgICAgIG5ldyBQYXNzKHRoaXMsICdTdGFydCcsIHsgcGFyYW1ldGVyczogeyBQYXlsb2FkOiB7IGk6IDAgfSB9IH0pLFxuICAgICAgICApXG4gICAgICAgICAgLm5leHQod2FpdDEpXG4gICAgICAgICAgLm5leHQoaW52b2tlKVxuICAgICAgICAgIC5uZXh0KFxuICAgICAgICAgICAgbmV3IENob2ljZSh0aGlzLCBgQ2hlY2sgaWYgcmVwYWV0ZWQgJHtyZXBlYXRDb3VudH0gdGltZXNgKVxuICAgICAgICAgICAgICAud2hlbihcbiAgICAgICAgICAgICAgICBDb25kaXRpb24ubnVtYmVyTGVzc1RoYW4oJyQuUGF5bG9hZC5pJywgcmVwZWF0Q291bnQpLFxuICAgICAgICAgICAgICAgIHdhaXQxLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5vdGhlcndpc2UoXG4gICAgICAgICAgICAgICAgQ2hhaW4uc3RhcnQod2FpdDIpLm5leHQobGFzdFRhc2spLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuICAgIGlmIChjcm9uT3B0aW9ucykge1xuICAgICAgLy8gQ3JlYXRlIEV2ZW50QnJpZGdlIHJ1bGUgdG8gaW52b2tlIHRoZSBMYW1iZGEgZnVuY3Rpb24gZXZlcnkgTiBtaW51dGVzXG4gICAgICB0aGlzLnNjaGVkdWxlID0gbmV3IEV2ZW50QnJpZGdlU2NoZWR1bGUodGhpcywgJ0V2ZW50QnJpZGdlU2NoZWR1bGUnLCB7XG4gICAgICAgIHRhcmdldDogc3RhdGVNYWNoaW5lLFxuICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUuY3Jvbihjcm9uT3B0aW9ucyksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RhcnQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgc3RhdGUgbWFjaGluZSBpbW1lZGlhdGVseVxuICAgICAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCAnU3RhcnRTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgICAgc2VydmljZTogJ1N0ZXBGdW5jdGlvbnMnLFxuICAgICAgICAgIGFjdGlvbjogJ1N0YXJ0RXhlY3V0aW9uJyxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICBzdGF0ZU1hY2hpbmVBcm46IHN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICAgICAgICBpbnB1dDogJ3sgXCJQYXlsb2FkXCI6IHsgXCJpXCI6IDAgfSB9JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKGAke2NyeXB0by5yYW5kb21VVUlEKCl9YCksXG4gICAgICAgIH0sXG4gICAgICAgIC8vV2lsbCBpZ25vcmUgYW55IHJlc291cmNlIGFuZCB1c2UgdGhlIGFzc3VtZWRSb2xlQXJuIGFzIHJlc291cmNlIGFuZCAnc3RzOkFzc3VtZVJvbGUnIGZvciBzZXJ2aWNlOmFjdGlvblxuICAgICAgICBwb2xpY3k6IEF3c0N1c3RvbVJlc291cmNlUG9saWN5LmZyb21TZGtDYWxscyh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -80,7 +80,7 @@
80
80
  "publishConfig": {
81
81
  "access": "public"
82
82
  },
83
- "version": "0.0.23",
83
+ "version": "0.0.24",
84
84
  "jest": {
85
85
  "coverageProvider": "v8",
86
86
  "testMatch": [