@netforbpo/aws-cdk-aws-connect-lib 0.2.7 → 0.2.8

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
@@ -9760,7 +9760,7 @@
9760
9760
  },
9761
9761
  "locationInModule": {
9762
9762
  "filename": "src/data_table.ts",
9763
- "line": 235
9763
+ "line": 245
9764
9764
  },
9765
9765
  "parameters": [
9766
9766
  {
@@ -9789,7 +9789,7 @@
9789
9789
  "kind": "class",
9790
9790
  "locationInModule": {
9791
9791
  "filename": "src/data_table.ts",
9792
- "line": 186
9792
+ "line": 196
9793
9793
  },
9794
9794
  "methods": [
9795
9795
  {
@@ -9798,7 +9798,7 @@
9798
9798
  },
9799
9799
  "locationInModule": {
9800
9800
  "filename": "src/data_table.ts",
9801
- "line": 187
9801
+ "line": 197
9802
9802
  },
9803
9803
  "name": "fromLookup",
9804
9804
  "parameters": [
@@ -9835,7 +9835,7 @@
9835
9835
  },
9836
9836
  "locationInModule": {
9837
9837
  "filename": "src/data_table.ts",
9838
- "line": 118
9838
+ "line": 125
9839
9839
  },
9840
9840
  "name": "addAttribute",
9841
9841
  "parameters": [
@@ -9867,7 +9867,7 @@
9867
9867
  },
9868
9868
  "locationInModule": {
9869
9869
  "filename": "src/data_table.ts",
9870
- "line": 170
9870
+ "line": 180
9871
9871
  },
9872
9872
  "name": "addRecord",
9873
9873
  "parameters": [
@@ -9909,7 +9909,7 @@
9909
9909
  "immutable": true,
9910
9910
  "locationInModule": {
9911
9911
  "filename": "src/data_table.ts",
9912
- "line": 255
9912
+ "line": 265
9913
9913
  },
9914
9914
  "name": "dataTableArn",
9915
9915
  "overrides": "@netforbpo/aws-cdk-aws-connect-lib.IDataTable",
@@ -9917,6 +9917,22 @@
9917
9917
  "primitive": "string"
9918
9918
  }
9919
9919
  },
9920
+ {
9921
+ "docs": {
9922
+ "stability": "experimental",
9923
+ "summary": "the ID of the data table."
9924
+ },
9925
+ "immutable": true,
9926
+ "locationInModule": {
9927
+ "filename": "src/data_table.ts",
9928
+ "line": 269
9929
+ },
9930
+ "name": "dataTableId",
9931
+ "overrides": "@netforbpo/aws-cdk-aws-connect-lib.IDataTable",
9932
+ "type": {
9933
+ "primitive": "string"
9934
+ }
9935
+ },
9920
9936
  {
9921
9937
  "docs": {
9922
9938
  "stability": "experimental"
@@ -9924,7 +9940,7 @@
9924
9940
  "immutable": true,
9925
9941
  "locationInModule": {
9926
9942
  "filename": "src/data_table.ts",
9927
- "line": 251
9943
+ "line": 261
9928
9944
  },
9929
9945
  "name": "instanceArn",
9930
9946
  "type": {
@@ -9944,7 +9960,7 @@
9944
9960
  "kind": "interface",
9945
9961
  "locationInModule": {
9946
9962
  "filename": "src/data_table.ts",
9947
- "line": 88
9963
+ "line": 94
9948
9964
  },
9949
9965
  "name": "DataTableAttribute",
9950
9966
  "properties": [
@@ -9956,7 +9972,7 @@
9956
9972
  "immutable": true,
9957
9973
  "locationInModule": {
9958
9974
  "filename": "src/data_table.ts",
9959
- "line": 89
9975
+ "line": 95
9960
9976
  },
9961
9977
  "name": "attributeId",
9962
9978
  "type": {
@@ -9980,7 +9996,7 @@
9980
9996
  "immutable": true,
9981
9997
  "locationInModule": {
9982
9998
  "filename": "src/data_table.ts",
9983
- "line": 90
9999
+ "line": 96
9984
10000
  },
9985
10001
  "name": "name",
9986
10002
  "type": {
@@ -10000,7 +10016,7 @@
10000
10016
  "kind": "interface",
10001
10017
  "locationInModule": {
10002
10018
  "filename": "src/data_table.ts",
10003
- "line": 80
10019
+ "line": 86
10004
10020
  },
10005
10021
  "name": "DataTableAttributeProps",
10006
10022
  "properties": [
@@ -10012,7 +10028,7 @@
10012
10028
  "immutable": true,
10013
10029
  "locationInModule": {
10014
10030
  "filename": "src/data_table.ts",
10015
- "line": 81
10031
+ "line": 87
10016
10032
  },
10017
10033
  "name": "name",
10018
10034
  "type": {
@@ -10027,7 +10043,7 @@
10027
10043
  "immutable": true,
10028
10044
  "locationInModule": {
10029
10045
  "filename": "src/data_table.ts",
10030
- "line": 84
10046
+ "line": 90
10031
10047
  },
10032
10048
  "name": "valueType",
10033
10049
  "type": {
@@ -10042,7 +10058,7 @@
10042
10058
  "immutable": true,
10043
10059
  "locationInModule": {
10044
10060
  "filename": "src/data_table.ts",
10045
- "line": 82
10061
+ "line": 88
10046
10062
  },
10047
10063
  "name": "description",
10048
10064
  "optional": true,
@@ -10058,7 +10074,7 @@
10058
10074
  "immutable": true,
10059
10075
  "locationInModule": {
10060
10076
  "filename": "src/data_table.ts",
10061
- "line": 83
10077
+ "line": 89
10062
10078
  },
10063
10079
  "name": "primary",
10064
10080
  "optional": true,
@@ -10074,7 +10090,7 @@
10074
10090
  "immutable": true,
10075
10091
  "locationInModule": {
10076
10092
  "filename": "src/data_table.ts",
10077
- "line": 85
10093
+ "line": 91
10078
10094
  },
10079
10095
  "name": "validation",
10080
10096
  "optional": true,
@@ -10095,7 +10111,7 @@
10095
10111
  "kind": "interface",
10096
10112
  "locationInModule": {
10097
10113
  "filename": "src/data_table.ts",
10098
- "line": 62
10114
+ "line": 68
10099
10115
  },
10100
10116
  "name": "DataTableEnumProperty",
10101
10117
  "properties": [
@@ -10107,7 +10123,7 @@
10107
10123
  "immutable": true,
10108
10124
  "locationInModule": {
10109
10125
  "filename": "src/data_table.ts",
10110
- "line": 63
10126
+ "line": 69
10111
10127
  },
10112
10128
  "name": "strict",
10113
10129
  "optional": true,
@@ -10123,7 +10139,7 @@
10123
10139
  "immutable": true,
10124
10140
  "locationInModule": {
10125
10141
  "filename": "src/data_table.ts",
10126
- "line": 64
10142
+ "line": 70
10127
10143
  },
10128
10144
  "name": "values",
10129
10145
  "optional": true,
@@ -10149,7 +10165,7 @@
10149
10165
  "kind": "interface",
10150
10166
  "locationInModule": {
10151
10167
  "filename": "src/data_table.ts",
10152
- "line": 99
10168
+ "line": 105
10153
10169
  },
10154
10170
  "name": "DataTableLookupOptions",
10155
10171
  "properties": [
@@ -10161,7 +10177,7 @@
10161
10177
  "immutable": true,
10162
10178
  "locationInModule": {
10163
10179
  "filename": "src/data_table.ts",
10164
- "line": 100
10180
+ "line": 106
10165
10181
  },
10166
10182
  "name": "instanceArn",
10167
10183
  "type": {
@@ -10176,7 +10192,7 @@
10176
10192
  "immutable": true,
10177
10193
  "locationInModule": {
10178
10194
  "filename": "src/data_table.ts",
10179
- "line": 101
10195
+ "line": 107
10180
10196
  },
10181
10197
  "name": "dataTableArn",
10182
10198
  "optional": true,
@@ -10192,7 +10208,7 @@
10192
10208
  "immutable": true,
10193
10209
  "locationInModule": {
10194
10210
  "filename": "src/data_table.ts",
10195
- "line": 102
10211
+ "line": 108
10196
10212
  },
10197
10213
  "name": "dataTableId",
10198
10214
  "optional": true,
@@ -10208,7 +10224,7 @@
10208
10224
  "immutable": true,
10209
10225
  "locationInModule": {
10210
10226
  "filename": "src/data_table.ts",
10211
- "line": 103
10227
+ "line": 109
10212
10228
  },
10213
10229
  "name": "name",
10214
10230
  "optional": true,
@@ -10229,7 +10245,7 @@
10229
10245
  "kind": "interface",
10230
10246
  "locationInModule": {
10231
10247
  "filename": "src/data_table.ts",
10232
- "line": 39
10248
+ "line": 45
10233
10249
  },
10234
10250
  "name": "DataTableProps",
10235
10251
  "properties": [
@@ -10242,7 +10258,7 @@
10242
10258
  "immutable": true,
10243
10259
  "locationInModule": {
10244
10260
  "filename": "src/data_table.ts",
10245
- "line": 43
10261
+ "line": 49
10246
10262
  },
10247
10263
  "name": "instance",
10248
10264
  "type": {
@@ -10259,7 +10275,7 @@
10259
10275
  "immutable": true,
10260
10276
  "locationInModule": {
10261
10277
  "filename": "src/data_table.ts",
10262
- "line": 47
10278
+ "line": 53
10263
10279
  },
10264
10280
  "name": "name",
10265
10281
  "type": {
@@ -10275,7 +10291,7 @@
10275
10291
  "immutable": true,
10276
10292
  "locationInModule": {
10277
10293
  "filename": "src/data_table.ts",
10278
- "line": 51
10294
+ "line": 57
10279
10295
  },
10280
10296
  "name": "description",
10281
10297
  "optional": true,
@@ -10293,7 +10309,7 @@
10293
10309
  "immutable": true,
10294
10310
  "locationInModule": {
10295
10311
  "filename": "src/data_table.ts",
10296
- "line": 55
10312
+ "line": 61
10297
10313
  },
10298
10314
  "name": "timeZone",
10299
10315
  "optional": true,
@@ -10311,7 +10327,7 @@
10311
10327
  "immutable": true,
10312
10328
  "locationInModule": {
10313
10329
  "filename": "src/data_table.ts",
10314
- "line": 59
10330
+ "line": 65
10315
10331
  },
10316
10332
  "name": "valueLockLevel",
10317
10333
  "optional": true,
@@ -10332,7 +10348,7 @@
10332
10348
  "kind": "interface",
10333
10349
  "locationInModule": {
10334
10350
  "filename": "src/data_table.ts",
10335
- "line": 67
10351
+ "line": 73
10336
10352
  },
10337
10353
  "name": "DataTableValidationProps",
10338
10354
  "properties": [
@@ -10344,7 +10360,7 @@
10344
10360
  "immutable": true,
10345
10361
  "locationInModule": {
10346
10362
  "filename": "src/data_table.ts",
10347
- "line": 68
10363
+ "line": 74
10348
10364
  },
10349
10365
  "name": "enum",
10350
10366
  "optional": true,
@@ -10360,7 +10376,7 @@
10360
10376
  "immutable": true,
10361
10377
  "locationInModule": {
10362
10378
  "filename": "src/data_table.ts",
10363
- "line": 69
10379
+ "line": 75
10364
10380
  },
10365
10381
  "name": "exclusiveMaximum",
10366
10382
  "optional": true,
@@ -10376,7 +10392,7 @@
10376
10392
  "immutable": true,
10377
10393
  "locationInModule": {
10378
10394
  "filename": "src/data_table.ts",
10379
- "line": 70
10395
+ "line": 76
10380
10396
  },
10381
10397
  "name": "exclusiveMinimum",
10382
10398
  "optional": true,
@@ -10392,7 +10408,7 @@
10392
10408
  "immutable": true,
10393
10409
  "locationInModule": {
10394
10410
  "filename": "src/data_table.ts",
10395
- "line": 71
10411
+ "line": 77
10396
10412
  },
10397
10413
  "name": "maximum",
10398
10414
  "optional": true,
@@ -10408,7 +10424,7 @@
10408
10424
  "immutable": true,
10409
10425
  "locationInModule": {
10410
10426
  "filename": "src/data_table.ts",
10411
- "line": 72
10427
+ "line": 78
10412
10428
  },
10413
10429
  "name": "maxLength",
10414
10430
  "optional": true,
@@ -10424,7 +10440,7 @@
10424
10440
  "immutable": true,
10425
10441
  "locationInModule": {
10426
10442
  "filename": "src/data_table.ts",
10427
- "line": 73
10443
+ "line": 79
10428
10444
  },
10429
10445
  "name": "maxValues",
10430
10446
  "optional": true,
@@ -10440,7 +10456,7 @@
10440
10456
  "immutable": true,
10441
10457
  "locationInModule": {
10442
10458
  "filename": "src/data_table.ts",
10443
- "line": 74
10459
+ "line": 80
10444
10460
  },
10445
10461
  "name": "minimum",
10446
10462
  "optional": true,
@@ -10456,7 +10472,7 @@
10456
10472
  "immutable": true,
10457
10473
  "locationInModule": {
10458
10474
  "filename": "src/data_table.ts",
10459
- "line": 75
10475
+ "line": 81
10460
10476
  },
10461
10477
  "name": "minLength",
10462
10478
  "optional": true,
@@ -10472,7 +10488,7 @@
10472
10488
  "immutable": true,
10473
10489
  "locationInModule": {
10474
10490
  "filename": "src/data_table.ts",
10475
- "line": 76
10491
+ "line": 82
10476
10492
  },
10477
10493
  "name": "minValues",
10478
10494
  "optional": true,
@@ -10488,7 +10504,7 @@
10488
10504
  "immutable": true,
10489
10505
  "locationInModule": {
10490
10506
  "filename": "src/data_table.ts",
10491
- "line": 77
10507
+ "line": 83
10492
10508
  },
10493
10509
  "name": "multipleOf",
10494
10510
  "optional": true,
@@ -10508,7 +10524,7 @@
10508
10524
  "kind": "enum",
10509
10525
  "locationInModule": {
10510
10526
  "filename": "src/data_table.ts",
10511
- "line": 23
10527
+ "line": 29
10512
10528
  },
10513
10529
  "members": [
10514
10530
  {
@@ -10554,7 +10570,7 @@
10554
10570
  "kind": "enum",
10555
10571
  "locationInModule": {
10556
10572
  "filename": "src/data_table.ts",
10557
- "line": 31
10573
+ "line": 37
10558
10574
  },
10559
10575
  "members": [
10560
10576
  {
@@ -11378,7 +11394,7 @@
11378
11394
  "kind": "interface",
11379
11395
  "locationInModule": {
11380
11396
  "filename": "src/data_table.ts",
11381
- "line": 16
11397
+ "line": 18
11382
11398
  },
11383
11399
  "name": "IDataTable",
11384
11400
  "properties": [
@@ -11391,12 +11407,28 @@
11391
11407
  "immutable": true,
11392
11408
  "locationInModule": {
11393
11409
  "filename": "src/data_table.ts",
11394
- "line": 20
11410
+ "line": 22
11395
11411
  },
11396
11412
  "name": "dataTableArn",
11397
11413
  "type": {
11398
11414
  "primitive": "string"
11399
11415
  }
11416
+ },
11417
+ {
11418
+ "abstract": true,
11419
+ "docs": {
11420
+ "stability": "experimental",
11421
+ "summary": "the ID of the data table."
11422
+ },
11423
+ "immutable": true,
11424
+ "locationInModule": {
11425
+ "filename": "src/data_table.ts",
11426
+ "line": 26
11427
+ },
11428
+ "name": "dataTableId",
11429
+ "type": {
11430
+ "primitive": "string"
11431
+ }
11400
11432
  }
11401
11433
  ],
11402
11434
  "symbolId": "src/data_table:IDataTable"
@@ -16260,6 +16292,6 @@
16260
16292
  "symbolId": "src/user:UserProps"
16261
16293
  }
16262
16294
  },
16263
- "version": "0.2.7",
16264
- "fingerprint": "d0pqu2+QhDqYgX5WcShOK9FhK6zai8OCA/P323aZI2w="
16295
+ "version": "0.2.8",
16296
+ "fingerprint": "2ON7Z4CSmDoSkKVaYD8EIMwm2G1lSapYhwz6Ja2s+VI="
16265
16297
  }
package/CHANGELOG.md CHANGED
@@ -1,4 +1,11 @@
1
1
 
2
+ ## [0.2.7](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.6...v0.2.7) (2026-10-12)
3
+
4
+ ### Features
5
+
6
+ * allow attaching storage, lambdas, and lex bots from other scopes ([c8ab43c](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/c8ab43c40a4ed2d8f58b446db138a5a1af1ccdcc))
7
+ * remove extraneous debug line ([932ecfc](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/932ecfc0322f0ce9f64c2f0a9aa711f76b2a7d37))
8
+
2
9
  ## [0.2.6](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.5...v0.2.6) (2026-10-09)
3
10
 
4
11
  ### Bug Fixes
@@ -58,7 +58,7 @@ var ContactFlowType;
58
58
  ContactFlowType["CAMPAIGN"] = "CAMPAIGN";
59
59
  })(ContactFlowType || (exports.ContactFlowType = ContactFlowType = {}));
60
60
  class ContactFlow extends aws_cdk_lib_1.Resource {
61
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlow", version: "0.2.7" };
61
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlow", version: "0.2.8" };
62
62
  static fromLookup(scope, id, options) {
63
63
  throw new Error('Not implemented (Bad Amazon API. Produces a security token invalid)');
64
64
  if (aws_cdk_lib_1.Token.isUnresolved(options.contactFlowName)
@@ -44,7 +44,7 @@ var ContactFlowModuleState;
44
44
  ContactFlowModuleState["ARCHIVED"] = "ARCHIVED";
45
45
  })(ContactFlowModuleState || (exports.ContactFlowModuleState = ContactFlowModuleState = {}));
46
46
  class ContactFlowModule extends aws_cdk_lib_1.Resource {
47
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlowModule", version: "0.2.7" };
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlowModule", version: "0.2.8" };
48
48
  static fromLookup(scope, id, options) {
49
49
  throw new Error('Not implemented (Bad Amazon API. Produces a security token invalid)');
50
50
  if (aws_cdk_lib_1.Token.isUnresolved(options.contactFlowModuleName)
@@ -6,6 +6,10 @@ export interface IDataTable extends IResource {
6
6
  * The ARN of the data table
7
7
  */
8
8
  readonly dataTableArn: string;
9
+ /**
10
+ * the ID of the data table
11
+ */
12
+ readonly dataTableId: string;
9
13
  }
10
14
  export declare enum DataTableValueLockLevel {
11
15
  DATA_TABLE = "DATA_TABLE",
@@ -78,6 +82,7 @@ export interface DataTableLookupOptions {
78
82
  }
79
83
  declare abstract class DataTableBase extends Resource implements IDataTable {
80
84
  abstract readonly dataTableArn: string;
85
+ abstract readonly dataTableId: string;
81
86
  abstract readonly instanceArn: string;
82
87
  private definedAttributes;
83
88
  /**
@@ -109,5 +114,6 @@ export declare class DataTable extends DataTableBase {
109
114
  constructor(scope: Construct, id: string, props: DataTableProps);
110
115
  get instanceArn(): string;
111
116
  get dataTableArn(): string;
117
+ get dataTableId(): string;
112
118
  }
113
119
  export {};
package/lib/data_table.js CHANGED
@@ -132,7 +132,7 @@ class DataTableBase extends aws_cdk_lib_1.Resource {
132
132
  }
133
133
  }
134
134
  class DataTable extends DataTableBase {
135
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.DataTable", version: "0.2.7" };
135
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.DataTable", version: "0.2.8" };
136
136
  static fromLookup(scope, id, options) {
137
137
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
138
138
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -195,10 +195,14 @@ class DataTable extends DataTableBase {
195
195
  get dataTableArn() {
196
196
  return this.resource.attrArn;
197
197
  }
198
+ get dataTableId() {
199
+ return aws_cdk_lib_1.Fn.select(3, aws_cdk_lib_1.Fn.split('/', this.dataTableArn));
200
+ }
198
201
  }
199
202
  exports.DataTable = DataTable;
200
203
  class LookedUpDataTable extends DataTableBase {
201
204
  dataTableArn;
205
+ dataTableId;
202
206
  instanceArn;
203
207
  incompleteDefinition;
204
208
  constructor(scope, id, props, isIncomplete) {
@@ -209,7 +213,8 @@ class LookedUpDataTable extends DataTableBase {
209
213
  (0, metadata_resource_1.addConstructMetadata)(this, props);
210
214
  this.instanceArn = props.instanceArn;
211
215
  this.dataTableArn = props.dataTableArn;
216
+ this.dataTableId = this.dataTableArn.split('/')[3];
212
217
  this.incompleteDefinition = isIncomplete;
213
218
  }
214
219
  }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV90YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhX3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNkNBT3FCO0FBQ3JCLDRFQUE4RDtBQUM5RCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBVzlFLElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUNqQyxvREFBeUIsQ0FBQTtJQUN6QiwwREFBK0IsQ0FBQTtJQUMvQixrREFBdUIsQ0FBQTtJQUN2QiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQU1sQztBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsNkNBQXVCLENBQUE7SUFDdkIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQU5XLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBTTdCO0FBd0RELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFTRixNQUFlLGFBQWMsU0FBUSxzQkFBUTtJQUluQyxpQkFBaUIsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV2RTs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxNQUErQixFQUFFLEtBQXlCLFNBQVM7UUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSx5QkFBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLElBQUksYUFBYSxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUU7WUFDeEYsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFlBQVksRUFB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TCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDOztBQXZFSCw4QkF3RUM7QUFFRCxNQUFNLGlCQUFrQixTQUFRLGFBQWE7SUFDM0IsWUFBWSxDQUFTO0lBQ3JCLFdBQVcsQ0FBUztJQUNwQixvQkFBb0IsQ0FBVTtJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQVUsRUFBRSxZQUFxQjtRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7XG4gIGF3c19jb25uZWN0IGFzIGNvbm5lY3QsXG4gIENvbnRleHRQcm92aWRlciwgSVJlc29sdmFibGUsXG4gIElSZXNvdXJjZSxcbiAgUmVzb3VyY2UsXG4gIFRva2VuLFxuICBWYWxpZGF0aW9uRXJyb3IsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJSW5zdGFuY2UgfSBmcm9tICcuL2luc3RhbmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGRhdGEgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFUYWJsZUFybjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBEYXRhVGFibGVWYWx1ZUxvY2tMZXZlbCB7XG4gIERBVEFfVEFCTEUgPSAnREFUQV9UQUJMRScsXG4gIFBSSU1BUllfVkFMVUUgPSAnUFJJTUFSWV9WQUxVRScsXG4gIEFUVFJJQlVURSA9ICdBVFRSSUJVVEUnLFxuICBWQUxVRSA9ICdWQUxVRScsXG4gIE5PTkUgPSAnTk9ORScsXG59XG5cbmV4cG9ydCBlbnVtIERhdGFUYWJsZVZhbHVlVHlwZSB7XG4gIFRFWFQgPSAnVEVYVCcsXG4gIE5VTUJFUiA9ICdOVU1CRVInLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBURVhUX0xJU1QgPSAnVEVYVF9MSVNUJyxcbiAgTlVNQkVSX0xJU1QgPSAnTlVNQkVSX0xJU1QnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgY29ubmVjdCBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGRhdGEgdGFibGUgdG8uXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZTogSUluc3RhbmNlO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRhdGEgdGFibGUuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGRhdGEgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGltZXpvbmUgZm9yIHJlc29sdmluZyB0aW1lLWJhc2VkIGR5bmFtaWMgdmFsdWVzLiBEZWZhdWx0cyB0byBVVENcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVab25lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxvY2sgbGV2ZWwgdG8gY29udHJvbCBjb25jdXJyZW50IGVkaXRzLiBEZWZhdWx0cyB0byBOT05FXG4gICAqL1xuICByZWFkb25seSB2YWx1ZUxvY2tMZXZlbD86IERhdGFUYWJsZVZhbHVlTG9ja0xldmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUVudW1Qcm9wZXJ0eSB7XG4gIHJlYWRvbmx5IHN0cmljdD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZhbHVlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVZhbGlkYXRpb25Qcm9wcyB7XG4gIHJlYWRvbmx5IGVudW0/OiBEYXRhVGFibGVFbnVtUHJvcGVydHk7XG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZU1heGltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZU1pbmltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heGltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heExlbmd0aD86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWF4VmFsdWVzPzogbnVtYmVyO1xuICByZWFkb25seSBtaW5pbXVtPzogbnVtYmVyO1xuICByZWFkb25seSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1pblZhbHVlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgbXVsdGlwbGVPZj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVBdHRyaWJ1dGVQcm9wcyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByaW1hcnk/OiBib29sZWFuO1xuICByZWFkb25seSB2YWx1ZVR5cGU6IERhdGFUYWJsZVZhbHVlVHlwZTtcbiAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IERhdGFUYWJsZVZhbGlkYXRpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVBdHRyaWJ1dGUge1xuICByZWFkb25seSBhdHRyaWJ1dGVJZDogSVJlc29sdmFibGUgfCBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgRFVNTVlfREFUQV9UQUJMRV9QUk9QUyA9IHtcbiAgaW5zdGFuY2VBcm46ICdpbnN0YW5jZS1hcm4nLFxuICBkYXRhVGFibGVBcm46ICdkYXRhLXRhYmxlLWFybicsXG4gIG5hbWU6ICduYW1lJyxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlTG9va3VwT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRhdGFUYWJsZUFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgZGF0YVRhYmxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG59XG5cbmFic3RyYWN0IGNsYXNzIERhdGFUYWJsZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhVGFibGUge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGF0YVRhYmxlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVmaW5lZEF0dHJpYnV0ZXM6IE1hcDxzdHJpbmcsIERhdGFUYWJsZUF0dHJpYnV0ZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhbiBhdHRyaWJ1dGUgZm9yIHRoZSBkYXRhIHRhYmxlXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBhZGRBdHRyaWJ1dGUoY29uZmlnOiBEYXRhVGFibGVBdHRyaWJ1dGVQcm9wcywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkgOiBEYXRhVGFibGVBdHRyaWJ1dGUge1xuICAgIGNvbnN0IGF0dHJpYiA9IG5ldyBjb25uZWN0LkNmbkRhdGFUYWJsZUF0dHJpYnV0ZSh0aGlzLCBpZCB8fCBgQXR0cmlidXRlLSR7Y29uZmlnLm5hbWV9fWAsIHtcbiAgICAgIGluc3RhbmNlQXJuOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgZGF0YVRhYmxlQXJuOiB0aGlzLmRhdGFUYWJsZUFybixcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IGNvbmZpZy5kZXNjcmlwdGlvbixcbiAgICAgIHByaW1hcnk6IGNvbmZpZy5wcmltYXJ5LFxuICAgICAgdmFsdWVUeXBlOiBjb25maWcudmFsdWVUeXBlLFxuICAgICAgdmFsaWRhdGlvbjogY29uZmlnLnZhbGlkYXRpb24sXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbmZvID0ge1xuICAgICAgYXR0cmlidXRlSWQ6IGF0dHJpYi5hdHRyQXR0cmlidXRlSWQsXG4gICAgICBuYW1lOiBjb25maWcubmFtZSxcbiAgICB9O1xuICAgIHRoaXMuZGVmaW5lZEF0dHJpYnV0ZXMuc2V0KGNvbmZpZy5uYW1lLCBpbmZvKTtcblxuICAgIHJldHVybiBpbmZvO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEhhc2goZGF0YTogYW55LCB7IGpzb25fZW5jb2RlID0gdHJ1ZSwgbGVuZ3RoID0gOCB9OiB7IGpzb25fZW5jb2RlPzogYm9vbGVhbjsgbGVuZ3RoPzogbnVtYmVyIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgaWYgKGpzb25fZW5jb2RlKSB7XG4gICAgICBkYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgfVxuICAgIGNvbnN0IG1kNSA9IGNyeXB0by5jcmVhdGVIYXNoKCdtZDUnKS51cGRhdGUoZGF0YSkuZGlnZXN0KCdoZXgnKTtcbiAgICByZXR1cm4gbWQ1LnNsaWNlKDAsIGxlbmd0aCkudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwQXR0cmlidXRlcyh2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBjb25uZWN0LkNmbkRhdGFUYWJsZVJlY29yZC5WYWx1ZVByb3BlcnR5W10ge1xuICAgIGNvbnN0IHJldCA6IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlUmVjb3JkLlZhbHVlUHJvcGVydHlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlcykpIHtcbiAgICAgIGNvbnN0IGxvb2t1cCA9IHRoaXMuZGVmaW5lZEF0dHJpYnV0ZXMuZ2V0KGtleSk7XG4gICAgICBpZiAoIWxvb2t1cCB8fCAhbG9va3VwLmF0dHJpYnV0ZUlkKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEFyZ3VtZW50c2AsIGBLZXkgJHtrZXl9IHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgZGVmaW5lZCBpdCB3aXRoIERhdGFUYWJsZS5hZGRBdHRyaWJ1dGVgLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgLy8gVGhpcyBpZ25vcmUgaXMgYmVjYXVzZSB3ZSBDQU4gcHVzaCBhIElSZXNvbHZhYmxlIHRvIGF0dHJpYnV0ZUlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgYXR0cmlidXRlSWQ6IGxvb2t1cC5hdHRyaWJ1dGVJZCxcbiAgICAgICAgYXR0cmlidXRlVmFsdWU6IHZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJlY29yZCBpbnRvIHRoZSBkYXRhIHRhYmxlLlxuICAgKiBSZXF1aXJlcyB0aGF0IGFsbCBhdHRyaWJ1dGVzIHdlcmUgZGVmaW5lZCB2aWEge0RhdGFUYWJsZS5hZGRBdHRyaWJ1dGV9XG4gICAqXG4gICAqIEBwYXJhbSBwcmltYXJ5X3ZhbHVlcyBUbyBzZXQgdGhlIGRlZmF1bHQgcmVjb3Jkcywgc3BlY2lmeSBhbmQgZW1wdHkgb2JqZWN0ICh7fSlcbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKi9cbiAgYWRkUmVjb3JkKHByaW1hcnlfdmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCB2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gKSB7XG4gICAgY29uc3Qga2V5aGFzaCA9IHRoaXMuYnVpbGRIYXNoKHByaW1hcnlfdmFsdWVzKTtcbiAgICBuZXcgY29ubmVjdC5DZm5EYXRhVGFibGVSZWNvcmQoXG4gICAgICB0aGlzLCBgUmVjb3JkLSR7a2V5aGFzaH1gLFxuICAgICAge1xuICAgICAgICBpbnN0YW5jZUFybjogdGhpcy5pbnN0YW5jZUFybixcbiAgICAgICAgZGF0YVRhYmxlQXJuOiB0aGlzLmRhdGFUYWJsZUFybixcbiAgICAgICAgZGF0YVRhYmxlUmVjb3JkOiB7XG4gICAgICAgICAgcHJpbWFyeVZhbHVlczogdGhpcy5tYXBBdHRyaWJ1dGVzKHByaW1hcnlfdmFsdWVzKSxcbiAgICAgICAgICB2YWx1ZXM6IHRoaXMubWFwQXR0cmlidXRlcyh2YWx1ZXMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhVGFibGUgZXh0ZW5kcyBEYXRhVGFibGVCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tTG9va3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhdGFUYWJsZUxvb2t1cE9wdGlvbnMpOiBJRGF0YVRhYmxlIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMubmFtZSlcbiAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlQXJuKVxuICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuZGF0YVRhYmxlSWQpXG4gICAgICB8fCBUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy5kYXRhVGFibGVBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBBcmd1bWVudHNgLCAnQWxsIGFyZ3VtZW50cyB0byBEYXRhVGFibGUuZnJvbUxvb2t1cCgpIG11c3QgYmUgY29uY3JldGUgKG5vIFRva2VucyknLCBzY29wZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB7fTtcblxuICAgIGZpbHRlci5yZXNvdXJjZU1vZGVsID0ge1xuICAgICAgSW5zdGFuY2VBcm46IG9wdGlvbnMuaW5zdGFuY2VBcm4sXG4gICAgfTtcbiAgICBpZiAob3B0aW9ucy5kYXRhVGFibGVBcm4pIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBvcHRpb25zLmRhdGFUYWJsZUFybjtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuZGF0YVRhYmxlSWQpIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBgJHtvcHRpb25zLmluc3RhbmNlQXJufS9kYXRhLXRhYmxlLyR7b3B0aW9ucy5kYXRhVGFibGVJZH1gO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5uYW1lKSB7XG4gICAgICBmaWx0ZXIucHJvcGVydHlNYXRjaCB8fD0ge307XG4gICAgICBmaWx0ZXIucHJvcGVydHlNYXRjaC5OYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9W10gPSBDb250ZXh0UHJvdmlkZXIuZ2V0VmFsdWUoc2NvcGUsIHtcbiAgICAgIHByb3ZpZGVyOiBjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuQ0NfQVBJX1BST1ZJREVSLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgdHlwZU5hbWU6ICdBV1M6OkNvbm5lY3Q6OkRhdGFUYWJsZScsXG4gICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgcHJvcGVydGllc1RvUmV0dXJuOiBbJ0FybicsICdOYW1lJ10sXG4gICAgICAgIGV4cGVjdGVkTWF0Y2hDb3VudDogJ2V4YWN0bHktb25lJyxcbiAgICAgIH0gYXMgY3hzY2hlbWEuQ2NBcGlDb250ZXh0UXVlcnksXG4gICAgICBkdW1teVZhbHVlOiB1bmRlZmluZWQsXG4gICAgfSkudmFsdWU7XG5cbiAgICBsZXQgaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlWzBdKSB7XG4gICAgICBpbnN0YW5jZSA9IHtcbiAgICAgICAgaW5zdGFuY2VBcm46IG9wdGlvbnMuaW5zdGFuY2VBcm4sXG4gICAgICAgIGRhdGFUYWJsZUFybjogcmVzcG9uc2VbMF0uQXJuLFxuICAgICAgICBuYW1lOiByZXNwb25zZVswXS5OYW1lLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBMb29rZWRVcERhdGFUYWJsZShzY29wZSwgaWQsIGluc3RhbmNlID8/IERVTU1ZX0RBVEFfVEFCTEVfUFJPUFMsIGluc3RhbmNlID09PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZTogSUluc3RhbmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBjb25uZWN0LkNmbkRhdGFUYWJsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YVRhYmxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZSA9IHByb3BzLmluc3RhbmNlO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY29ubmVjdC5DZm5EYXRhVGFibGUodGhpcywgJ0RhdGFUYWJsZScsIHtcbiAgICAgIGluc3RhbmNlQXJuOiBwcm9wcy5pbnN0YW5jZS5pbnN0YW5jZUFybixcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBzdGF0dXM6ICdQVUJMSVNIRUQnLCAvLyBvbmx5IG9uZSB2YWx1ZSBhbGxvd2VkXG4gICAgICB0aW1lWm9uZTogcHJvcHMudGltZVpvbmUgfHwgJ1VUQycsXG4gICAgICB2YWx1ZUxvY2tMZXZlbDogcHJvcHMudmFsdWVMb2NrTGV2ZWwgfHwgRGF0YVRhYmxlVmFsdWVMb2NrTGV2ZWwuTk9ORSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpbnN0YW5jZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmluc3RhbmNlQXJuO1xuICB9XG5cbiAgZ2V0IGRhdGFUYWJsZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlLmF0dHJBcm47XG4gIH1cbn1cblxuY2xhc3MgTG9va2VkVXBEYXRhVGFibGUgZXh0ZW5kcyBEYXRhVGFibGVCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFUYWJsZUFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluY29tcGxldGVEZWZpbml0aW9uOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBhbnksIGlzSW5jb21wbGV0ZTogYm9vbGVhbikge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcy5vd25lckFjY291bnRJZCxcbiAgICB9KTtcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLmluc3RhbmNlQXJuID0gcHJvcHMuaW5zdGFuY2VBcm47XG4gICAgdGhpcy5kYXRhVGFibGVBcm4gPSBwcm9wcy5kYXRhVGFibGVBcm47XG4gICAgdGhpcy5pbmNvbXBsZXRlRGVmaW5pdGlvbiA9IGlzSW5jb21wbGV0ZTtcbiAgfVxufVxuXG4iXX0=
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV90YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhX3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNkNBU3FCO0FBQ3JCLDRFQUE4RDtBQUM5RCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBZTlFLElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUNqQyxvREFBeUIsQ0FBQTtJQUN6QiwwREFBK0IsQ0FBQTtJQUMvQixrREFBdUIsQ0FBQTtJQUN2QiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQU1sQztBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsNkNBQXVCLENBQUE7SUFDdkIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQU5XLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBTTdCO0FBd0RELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFTRixNQUFlLGFBQWMsU0FBUSxzQkFBUTtJQUtuQyxpQkFBaUIsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV2RTs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxNQUErQixFQUFFLEtBQXlCLFNBQVM7UUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSx5QkFBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLElBQUksYUFBYSxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUU7WUFDeEYsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFlBQVksRUFB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LENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGdCQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxnQkFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUEzRUgsOEJBNEVDO0FBRUQsTUFBTSxpQkFBa0IsU0FBUSxhQUFhO0lBQzNCLFlBQVksQ0FBUztJQUNyQixXQUFXLENBQVM7SUFDcEIsV0FBVyxDQUFTO0lBQ3BCLG9CQUFvQixDQUFVO0lBRTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBVSxFQUFFLFlBQXFCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsY0FBYztTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQge1xuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBDb250ZXh0UHJvdmlkZXIsXG4gIElSZXNvbHZhYmxlLFxuICBJUmVzb3VyY2UsXG4gIEZuLFxuICBSZXNvdXJjZSxcbiAgVG9rZW4sXG4gIFZhbGlkYXRpb25FcnJvcixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnYXdzLWNkay1saWIvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElJbnN0YW5jZSB9IGZyb20gJy4vaW5zdGFuY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGUgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZGF0YSB0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVRhYmxlQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0aGUgSUQgb2YgdGhlIGRhdGEgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFUYWJsZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIERhdGFUYWJsZVZhbHVlTG9ja0xldmVsIHtcbiAgREFUQV9UQUJMRSA9ICdEQVRBX1RBQkxFJyxcbiAgUFJJTUFSWV9WQUxVRSA9ICdQUklNQVJZX1ZBTFVFJyxcbiAgQVRUUklCVVRFID0gJ0FUVFJJQlVURScsXG4gIFZBTFVFID0gJ1ZBTFVFJyxcbiAgTk9ORSA9ICdOT05FJyxcbn1cblxuZXhwb3J0IGVudW0gRGF0YVRhYmxlVmFsdWVUeXBlIHtcbiAgVEVYVCA9ICdURVhUJyxcbiAgTlVNQkVSID0gJ05VTUJFUicsXG4gIEJPT0xFQU4gPSAnQk9PTEVBTicsXG4gIFRFWFRfTElTVCA9ICdURVhUX0xJU1QnLFxuICBOVU1CRVJfTElTVCA9ICdOVU1CRVJfTElTVCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlUHJvcHMge1xuICAvKipcbiAgICogVGhlIEFXUyBjb25uZWN0IGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgZGF0YSB0YWJsZSB0by5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlOiBJSW5zdGFuY2U7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGF0YSB0YWJsZS4gTXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZGF0YSB0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB0aW1lem9uZSBmb3IgcmVzb2x2aW5nIHRpbWUtYmFzZWQgZHluYW1pYyB2YWx1ZXMuIERlZmF1bHRzIHRvIFVUQ1xuICAgKi9cbiAgcmVhZG9ubHkgdGltZVpvbmU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbG9jayBsZXZlbCB0byBjb250cm9sIGNvbmN1cnJlbnQgZWRpdHMuIERlZmF1bHRzIHRvIE5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlTG9ja0xldmVsPzogRGF0YVRhYmxlVmFsdWVMb2NrTGV2ZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRW51bVByb3BlcnR5IHtcbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdmFsdWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlVmFsaWRhdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgZW51bT86IERhdGFUYWJsZUVudW1Qcm9wZXJ0eTtcbiAgcmVhZG9ubHkgZXhjbHVzaXZlTWF4aW11bT86IG51bWJlcjtcbiAgcmVhZG9ubHkgZXhjbHVzaXZlTWluaW11bT86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWF4aW11bT86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICByZWFkb25seSBtYXhWYWx1ZXM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1pbmltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1pbkxlbmd0aD86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWluVmFsdWVzPzogbnVtYmVyO1xuICByZWFkb25seSBtdWx0aXBsZU9mPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUF0dHJpYnV0ZVByb3BzIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJpbWFyeT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZhbHVlVHlwZTogRGF0YVRhYmxlVmFsdWVUeXBlO1xuICByZWFkb25seSB2YWxpZGF0aW9uPzogRGF0YVRhYmxlVmFsaWRhdGlvblByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUF0dHJpYnV0ZSB7XG4gIHJlYWRvbmx5IGF0dHJpYnV0ZUlkOiBJUmVzb2x2YWJsZSB8IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG5jb25zdCBEVU1NWV9EQVRBX1RBQkxFX1BST1BTID0ge1xuICBpbnN0YW5jZUFybjogJ2luc3RhbmNlLWFybicsXG4gIGRhdGFUYWJsZUFybjogJ2RhdGEtdGFibGUtYXJuJyxcbiAgbmFtZTogJ25hbWUnLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVMb29rdXBPcHRpb25zIHtcbiAgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgZGF0YVRhYmxlQXJuPzogc3RyaW5nO1xuICByZWFkb25seSBkYXRhVGFibGVJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgRGF0YVRhYmxlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSURhdGFUYWJsZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkYXRhVGFibGVBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRhdGFUYWJsZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVmaW5lZEF0dHJpYnV0ZXM6IE1hcDxzdHJpbmcsIERhdGFUYWJsZUF0dHJpYnV0ZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhbiBhdHRyaWJ1dGUgZm9yIHRoZSBkYXRhIHRhYmxlXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBhZGRBdHRyaWJ1dGUoY29uZmlnOiBEYXRhVGFibGVBdHRyaWJ1dGVQcm9wcywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IERhdGFUYWJsZUF0dHJpYnV0ZSB7XG4gICAgY29uc3QgYXR0cmliID0gbmV3IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlQXR0cmlidXRlKHRoaXMsIGlkIHx8IGBBdHRyaWJ1dGUtJHtjb25maWcubmFtZX19YCwge1xuICAgICAgaW5zdGFuY2VBcm46IHRoaXMuaW5zdGFuY2VBcm4sXG4gICAgICBkYXRhVGFibGVBcm46IHRoaXMuZGF0YVRhYmxlQXJuLFxuICAgICAgbmFtZTogY29uZmlnLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29uZmlnLmRlc2NyaXB0aW9uLFxuICAgICAgcHJpbWFyeTogY29uZmlnLnByaW1hcnksXG4gICAgICB2YWx1ZVR5cGU6IGNvbmZpZy52YWx1ZVR5cGUsXG4gICAgICB2YWxpZGF0aW9uOiBjb25maWcudmFsaWRhdGlvbixcbiAgICB9KTtcblxuICAgIGNvbnN0IGluZm8gPSB7XG4gICAgICBhdHRyaWJ1dGVJZDogYXR0cmliLmF0dHJBdHRyaWJ1dGVJZCxcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5kZWZpbmVkQXR0cmlidXRlcy5zZXQoY29uZmlnLm5hbWUsIGluZm8pO1xuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSGFzaChkYXRhOiBhbnksIHsganNvbl9lbmNvZGUgPSB0cnVlLCBsZW5ndGggPSA4IH06IHtcbiAgICBqc29uX2VuY29kZT86IGJvb2xlYW47XG4gICAgbGVuZ3RoPzogbnVtYmVyO1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIGlmIChqc29uX2VuY29kZSkge1xuICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgIH1cbiAgICBjb25zdCBtZDUgPSBjcnlwdG8uY3JlYXRlSGFzaCgnbWQ1JykudXBkYXRlKGRhdGEpLmRpZ2VzdCgnaGV4Jyk7XG4gICAgcmV0dXJuIG1kNS5zbGljZSgwLCBsZW5ndGgpLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcEF0dHJpYnV0ZXModmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogY29ubmVjdC5DZm5EYXRhVGFibGVSZWNvcmQuVmFsdWVQcm9wZXJ0eVtdIHtcbiAgICBjb25zdCByZXQ6IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlUmVjb3JkLlZhbHVlUHJvcGVydHlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlcykpIHtcbiAgICAgIGNvbnN0IGxvb2t1cCA9IHRoaXMuZGVmaW5lZEF0dHJpYnV0ZXMuZ2V0KGtleSk7XG4gICAgICBpZiAoIWxvb2t1cCB8fCAhbG9va3VwLmF0dHJpYnV0ZUlkKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEFyZ3VtZW50c2AsIGBLZXkgJHtrZXl9IHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgZGVmaW5lZCBpdCB3aXRoIERhdGFUYWJsZS5hZGRBdHRyaWJ1dGVgLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgLy8gVGhpcyBpZ25vcmUgaXMgYmVjYXVzZSB3ZSBDQU4gcHVzaCBhIElSZXNvbHZhYmxlIHRvIGF0dHJpYnV0ZUlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgYXR0cmlidXRlSWQ6IGxvb2t1cC5hdHRyaWJ1dGVJZCxcbiAgICAgICAgYXR0cmlidXRlVmFsdWU6IHZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJlY29yZCBpbnRvIHRoZSBkYXRhIHRhYmxlLlxuICAgKiBSZXF1aXJlcyB0aGF0IGFsbCBhdHRyaWJ1dGVzIHdlcmUgZGVmaW5lZCB2aWEge0RhdGFUYWJsZS5hZGRBdHRyaWJ1dGV9XG4gICAqXG4gICAqIEBwYXJhbSBwcmltYXJ5X3ZhbHVlcyBUbyBzZXQgdGhlIGRlZmF1bHQgcmVjb3Jkcywgc3BlY2lmeSBhbmQgZW1wdHkgb2JqZWN0ICh7fSlcbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKi9cbiAgYWRkUmVjb3JkKHByaW1hcnlfdmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCB2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBrZXloYXNoID0gdGhpcy5idWlsZEhhc2gocHJpbWFyeV92YWx1ZXMpO1xuICAgIG5ldyBjb25uZWN0LkNmbkRhdGFUYWJsZVJlY29yZChcbiAgICAgIHRoaXMsIGBSZWNvcmQtJHtrZXloYXNofWAsXG4gICAgICB7XG4gICAgICAgIGluc3RhbmNlQXJuOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgICBkYXRhVGFibGVBcm46IHRoaXMuZGF0YVRhYmxlQXJuLFxuICAgICAgICBkYXRhVGFibGVSZWNvcmQ6IHtcbiAgICAgICAgICBwcmltYXJ5VmFsdWVzOiB0aGlzLm1hcEF0dHJpYnV0ZXMocHJpbWFyeV92YWx1ZXMpLFxuICAgICAgICAgIHZhbHVlczogdGhpcy5tYXBBdHRyaWJ1dGVzKHZhbHVlcyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZSBleHRlbmRzIERhdGFUYWJsZUJhc2Uge1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb29rdXAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogRGF0YVRhYmxlTG9va3VwT3B0aW9ucyk6IElEYXRhVGFibGUge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy5uYW1lKVxuICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pXG4gICAgICB8fCBUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy5kYXRhVGFibGVJZClcbiAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmRhdGFUYWJsZUFybikpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEFyZ3VtZW50c2AsICdBbGwgYXJndW1lbnRzIHRvIERhdGFUYWJsZS5mcm9tTG9va3VwKCkgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKScsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgZmlsdGVyLnJlc291cmNlTW9kZWwgPSB7XG4gICAgICBJbnN0YW5jZUFybjogb3B0aW9ucy5pbnN0YW5jZUFybixcbiAgICB9O1xuICAgIGlmIChvcHRpb25zLmRhdGFUYWJsZUFybikge1xuICAgICAgZmlsdGVyLmV4YWN0SWRlbnRpZmllciA9IG9wdGlvbnMuZGF0YVRhYmxlQXJuO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5kYXRhVGFibGVJZCkge1xuICAgICAgZmlsdGVyLmV4YWN0SWRlbnRpZmllciA9IGAke29wdGlvbnMuaW5zdGFuY2VBcm59L2RhdGEtdGFibGUvJHtvcHRpb25zLmRhdGFUYWJsZUlkfWA7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLk5hbWUgPSBvcHRpb25zLm5hbWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2U6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVIsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0eXBlTmFtZTogJ0FXUzo6Q29ubmVjdDo6RGF0YVRhYmxlJyxcbiAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICBwcm9wZXJ0aWVzVG9SZXR1cm46IFsnQXJuJywgJ05hbWUnXSxcbiAgICAgICAgZXhwZWN0ZWRNYXRjaENvdW50OiAnZXhhY3RseS1vbmUnLFxuICAgICAgfSBhcyBjeHNjaGVtYS5DY0FwaUNvbnRleHRRdWVyeSxcbiAgICAgIGR1bW15VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB9KS52YWx1ZTtcblxuICAgIGxldCBpbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbMF0pIHtcbiAgICAgIGluc3RhbmNlID0ge1xuICAgICAgICBpbnN0YW5jZUFybjogb3B0aW9ucy5pbnN0YW5jZUFybixcbiAgICAgICAgZGF0YVRhYmxlQXJuOiByZXNwb25zZVswXS5Bcm4sXG4gICAgICAgIG5hbWU6IHJlc3BvbnNlWzBdLk5hbWUsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExvb2tlZFVwRGF0YVRhYmxlKHNjb3BlLCBpZCwgaW5zdGFuY2UgPz8gRFVNTVlfREFUQV9UQUJMRV9QUk9QUywgaW5zdGFuY2UgPT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlOiBJSW5zdGFuY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhVGFibGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLmluc3RhbmNlID0gcHJvcHMuaW5zdGFuY2U7XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjb25uZWN0LkNmbkRhdGFUYWJsZSh0aGlzLCAnRGF0YVRhYmxlJywge1xuICAgICAgaW5zdGFuY2VBcm46IHByb3BzLmluc3RhbmNlLmluc3RhbmNlQXJuLFxuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHN0YXR1czogJ1BVQkxJU0hFRCcsIC8vIG9ubHkgb25lIHZhbHVlIGFsbG93ZWRcbiAgICAgIHRpbWVab25lOiBwcm9wcy50aW1lWm9uZSB8fCAnVVRDJyxcbiAgICAgIHZhbHVlTG9ja0xldmVsOiBwcm9wcy52YWx1ZUxvY2tMZXZlbCB8fCBEYXRhVGFibGVWYWx1ZUxvY2tMZXZlbC5OT05FLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGluc3RhbmNlQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VBcm47XG4gIH1cblxuICBnZXQgZGF0YVRhYmxlQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2UuYXR0ckFybjtcbiAgfVxuXG4gIGdldCBkYXRhVGFibGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGbi5zZWxlY3QoMywgRm4uc3BsaXQoJy8nLCB0aGlzLmRhdGFUYWJsZUFybikpO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwRGF0YVRhYmxlIGV4dGVuZHMgRGF0YVRhYmxlQmFzZSB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhVGFibGVBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFUYWJsZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb21wbGV0ZURlZmluaXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSwgaXNJbmNvbXBsZXRlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHByb3BzLm93bmVyQWNjb3VudElkLFxuICAgIH0pO1xuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMuaW5zdGFuY2VBcm4gPSBwcm9wcy5pbnN0YW5jZUFybjtcbiAgICB0aGlzLmRhdGFUYWJsZUFybiA9IHByb3BzLmRhdGFUYWJsZUFybjtcbiAgICB0aGlzLmRhdGFUYWJsZUlkID0gdGhpcy5kYXRhVGFibGVBcm4uc3BsaXQoJy8nKVszXTtcbiAgICB0aGlzLmluY29tcGxldGVEZWZpbml0aW9uID0gaXNJbmNvbXBsZXRlO1xuICB9XG59XG5cbiJdfQ==
@@ -4,7 +4,7 @@ exports.EmailAddress = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  class EmailAddress extends aws_cdk_lib_1.Resource {
7
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.EmailAddress", version: "0.2.7" };
7
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.EmailAddress", version: "0.2.8" };
8
8
  resource;
9
9
  constructor(scope, id, props) {
10
10
  super(scope, id);
@@ -50,7 +50,7 @@ var HoursOfOperationDayOfWeek;
50
50
  HoursOfOperationDayOfWeek["SATURDAY"] = "SATURDAY";
51
51
  })(HoursOfOperationDayOfWeek || (exports.HoursOfOperationDayOfWeek = HoursOfOperationDayOfWeek = {}));
52
52
  class HoursOfOperationDefinition {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperationDefinition", version: "0.2.7" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperationDefinition", version: "0.2.8" };
54
54
  static dayOfWeek(day, startTime, endTime) {
55
55
  return new HoursOfOperationDefinition({ config: { dayOfWeek: day, startTime: startTime, endTime: endTime } });
56
56
  }
@@ -83,7 +83,7 @@ class HoursOfOperationDefinition {
83
83
  }
84
84
  exports.HoursOfOperationDefinition = HoursOfOperationDefinition;
85
85
  class HoursOfOperation extends aws_cdk_lib_1.Resource {
86
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperation", version: "0.2.7" };
86
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperation", version: "0.2.8" };
87
87
  static fromLookup(scope, id, options) {
88
88
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
89
89
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
package/lib/instance.js CHANGED
@@ -104,7 +104,7 @@ const DUMMY_INSTANCE_PROPS = {
104
104
  instanceId: 'instance-12345',
105
105
  };
106
106
  class Instance extends InstanceBase {
107
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Instance", version: "0.2.7" };
107
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Instance", version: "0.2.8" };
108
108
  static fromLookup(scope, id, options) {
109
109
  if (aws_cdk_lib_1.Token.isUnresolved(options.instanceId)
110
110
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceName)
@@ -15,7 +15,7 @@ var PhoneNumberType;
15
15
  PhoneNumberType["SHORT_CODE"] = "SHORT_CODE";
16
16
  })(PhoneNumberType || (exports.PhoneNumberType = PhoneNumberType = {}));
17
17
  class PhoneNumber extends aws_cdk_lib_1.Resource {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.PhoneNumber", version: "0.2.7" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.PhoneNumber", version: "0.2.8" };
19
19
  resource;
20
20
  constructor(scope, id, props) {
21
21
  super(scope, id);
package/lib/queue.js CHANGED
@@ -45,7 +45,7 @@ var QueueStatus;
45
45
  QueueStatus["DISABLED"] = "DISABLED";
46
46
  })(QueueStatus || (exports.QueueStatus = QueueStatus = {}));
47
47
  class Queue extends aws_cdk_lib_1.Resource {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Queue", version: "0.2.7" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Queue", version: "0.2.8" };
49
49
  static fromLookup(scope, id, options) {
50
50
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
51
51
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -51,7 +51,7 @@ const DUMMY_QUICK_CONNECT_PROPS = {
51
51
  name: 'quick-connect-name',
52
52
  };
53
53
  class QuickConnect extends aws_cdk_lib_1.Resource {
54
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.QuickConnect", version: "0.2.7" };
54
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.QuickConnect", version: "0.2.8" };
55
55
  static fromLookup(scope, id, options) {
56
56
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
57
57
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -54,7 +54,7 @@ const DUMMY_ROUTING_PROFILE_PROPS = {
54
54
  routingProfileArn: 'routing-profile-arn',
55
55
  };
56
56
  class RoutingProfile extends aws_cdk_lib_1.Resource {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.RoutingProfile", version: "0.2.7" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.RoutingProfile", version: "0.2.8" };
58
58
  static fromLookup(scope, id, options) {
59
59
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
60
60
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -40,7 +40,7 @@ const cxschema = __importStar(require("aws-cdk-lib/cloud-assembly-schema"));
40
40
  const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
41
41
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
42
42
  class SecurityProfile extends aws_cdk_lib_1.Resource {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.SecurityProfile", version: "0.2.7" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.SecurityProfile", version: "0.2.8" };
44
44
  static fromLookup(scope, id, options) {
45
45
  if (aws_cdk_lib_1.Token.isUnresolved(options.securityProfileName)
46
46
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -41,7 +41,7 @@ var StorageConfigType;
41
41
  StorageConfigType["KINESIS_FIREHOSE"] = "KINESIS_FIREHOSE";
42
42
  })(StorageConfigType || (exports.StorageConfigType = StorageConfigType = {}));
43
43
  class StorageConfig {
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.7" };
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.8" };
45
45
  static buildS3(resourceType, props) {
46
46
  return new StorageConfig({
47
47
  resourceType,
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
7
7
  class TrafficDistributionGroup extends aws_cdk_lib_1.Resource {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.7" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.8" };
9
9
  resource;
10
10
  constructor(scope, id, props) {
11
11
  super(scope, id);
package/lib/user.js CHANGED
@@ -50,7 +50,7 @@ const DUMMY_USER_PROPS = {
50
50
  username: 'user-name',
51
51
  };
52
52
  class User extends aws_cdk_lib_1.Resource {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.7" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.8" };
54
54
  static fromLookup(scope, id, options) {
55
55
  if (aws_cdk_lib_1.Token.isUnresolved(options.username)
56
56
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
package/package.json CHANGED
@@ -80,7 +80,7 @@
80
80
  "publishConfig": {
81
81
  "access": "public"
82
82
  },
83
- "version": "0.2.7",
83
+ "version": "0.2.8",
84
84
  "packageManager": "yarn@1.22.22",
85
85
  "types": "lib/index.d.ts",
86
86
  "jsii": {