truemark-cdk-lib 1.0.2-alpha.13 → 1.0.2-alpha.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.
@@ -47,6 +47,24 @@ export interface CertificateOptions {
47
47
  */
48
48
  readonly subjectAlternativeNames?: string[];
49
49
  }
50
+ export interface ARecordOptions {
51
+ /**
52
+ * The identifier to use. One is generated if not provided.
53
+ */
54
+ readonly id?: string;
55
+ /**
56
+ * The resource record cache time to live (TTL).
57
+ */
58
+ readonly ttl?: Duration;
59
+ /**
60
+ * A comment to add on the record.
61
+ */
62
+ readonly comment?: string;
63
+ /**
64
+ * Whether to delete the same record set in the hosted zone if it already exists.
65
+ */
66
+ readonly deleteExisting?: boolean;
67
+ }
50
68
  /**
51
69
  * Utility class for holding domain name information and
52
70
  * doing useful things with it.
@@ -106,10 +124,9 @@ export declare class DomainName {
106
124
  *
107
125
  * @param scope the scope to create the record in
108
126
  * @param target the target of the record
109
- * @param ttl optional ttl for the record
110
- * @param id the optional id for the record; if not provided, one is generated
127
+ * @param options additional options for creating the record
111
128
  */
112
- createARecord(scope: Construct, target: RecordTarget, ttl?: Duration, id?: string): ARecord;
129
+ createARecord(scope: Construct, target: RecordTarget, options?: ARecordOptions): ARecord;
113
130
  /**
114
131
  * Creates a weighted Route53 record for this domain name.
115
132
  *
@@ -198,4 +215,12 @@ export declare class DomainName {
198
215
  * @return the matching domain name or undefined
199
216
  */
200
217
  static findDomainName(props: DomainNameProps, domainNames?: DomainName[]): DomainName | undefined;
218
+ /**
219
+ * Create a certificate from an array of DomainName objects.
220
+ *
221
+ * @param scope the scope to use
222
+ * @param id the identifier to use in the scope for the certificate
223
+ * @param domainNames the domain names to use in the certificate
224
+ */
225
+ static createCertificate(scope: Construct, id: string, domainNames: DomainName[]): Certificate;
201
226
  }
@@ -100,14 +100,14 @@ class DomainName {
100
100
  *
101
101
  * @param scope the scope to create the record in
102
102
  * @param target the target of the record
103
- * @param ttl optional ttl for the record
104
- * @param id the optional id for the record; if not provided, one is generated
103
+ * @param options additional options for creating the record
105
104
  */
106
- createARecord(scope, target, ttl, id) {
107
- return new aws_route53_1.ARecord(scope, id !== null && id !== void 0 ? id : `${this.toIdentifier()}-arecord`, {
105
+ createARecord(scope, target, options) {
106
+ var _a;
107
+ return new aws_route53_1.ARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}-arecord`, {
108
108
  zone: this.getHostedZone(scope),
109
109
  recordName: this.toString(),
110
- ttl,
110
+ ttl: options === null || options === void 0 ? void 0 : options.ttl,
111
111
  target
112
112
  });
113
113
  }
@@ -251,6 +251,20 @@ class DomainName {
251
251
  }
252
252
  return undefined;
253
253
  }
254
+ /**
255
+ * Create a certificate from an array of DomainName objects.
256
+ *
257
+ * @param scope the scope to use
258
+ * @param id the identifier to use in the scope for the certificate
259
+ * @param domainNames the domain names to use in the certificate
260
+ */
261
+ static createCertificate(scope, id, domainNames) {
262
+ return new aws_certificatemanager_1.Certificate(scope, id, {
263
+ domainName: domainNames[0].toString(),
264
+ subjectAlternativeNames: domainNames.slice(1).map(name => name.toString()),
265
+ validation: aws_certificatemanager_1.CertificateValidation.fromDnsMultiZone(DomainName.toZoneMap(scope, domainNames))
266
+ });
267
+ }
254
268
  }
255
269
  exports.DomainName = DomainName;
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwyRUFBbUU7QUFDbkUsK0VBQXNGO0FBcUR0Rjs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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QUMsa0JBQWtCLENBQUMsS0FBZ0IsRUFBRSxlQUFrQztRQUM1RSxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFzQixFQUFFLFdBQTBCO1FBQ3RFLEtBQUssSUFBSSxVQUFVLElBQUksV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxVQUFVLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQXhRRCxnQ0F3UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FSZWNvcmQsIEhvc3RlZFpvbmUsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1dlaWdodGVkQVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtYS1yZWNvcmRcIjtcbmltcG9ydCB7TGF0ZW5jeUFSZWNvcmR9IGZyb20gXCIuL2xhdGVuY3ktYS1yZWNvcmRcIjtcbmltcG9ydCB7V2VpZ2h0ZWRMYXRlbmN5QVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtbGF0ZW5jeS1hLXJlY29yZFwiO1xuaW1wb3J0IHtDZXJ0aWZpY2F0ZSwgQ2VydGlmaWNhdGVWYWxpZGF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IHtEdXJhdGlvbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRG9tYWluTmFtZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbk5hbWVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIERvbWFpbiBuYW1lIHByZWZpeC5cbiAgICpcbiAgICogQGRlZmF1bHQgZW1wdHkgc3RyaW5nXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFpvbmUgZm9yIHRoZSBkb21haW4gbmFuZS5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmU6IHN0cmluZyB8IElIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIG1hcmsgem9uZSBhcyBwcml2YXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWUEMgdGhlIHpvbmUgYmVsb25ncyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBQ00gY2VydGlmaWNhdGUgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENlcnRpZmljYXRlT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIHRvIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1jZXJ0XG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgZG9tYWluIG5hbWVzIG9uIHRoZSBjZXJ0aWZpY2F0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgaG9sZGluZyBkb21haW4gbmFtZSBpbmZvcm1hdGlvbiBhbmRcbiAqIGRvaW5nIHVzZWZ1bCB0aGluZ3Mgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNsYXNzIERvbWFpbk5hbWUge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvbmU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaXZhdGVab25lOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgRG9tYWluTmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb21haW4gbmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IERvbWFpbk5hbWVQcm9wcykge1xuICAgIHRoaXMucHJlZml4ID0gcHJvcHMucHJlZml4ID8/IFwiXCI7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aGlzLnpvbmUgPSBwcm9wcy56b25lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBwcm9wcy56b25lO1xuICAgICAgdGhpcy56b25lID0gdGhpcy5ob3N0ZWRab25lLnpvbmVOYW1lO1xuICAgIH1cbiAgICB0aGlzLnByaXZhdGVab25lID0gcHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2U7XG4gICAgdGhpcy52cGNJZCA9IHByb3BzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHByZWZpeCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByZWZpeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHpvbmUgaXMgcHJpdmF0ZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaW5Qcml2YXRlWm9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcml2YXRlWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2cGMgSUQgZm9yIHRoaXMgem9uZSBvciB1bmRlZmluZWQgaWYgb25lIGRvZXMgbm90IGV4aXN0XG4gICAqL1xuICBnZXRWcGNJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcHMgbWF0Y2ggdGhlIGRvbWFpbiBuYW1lLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcHMgdG8gY29tcGFyZVxuICAgKi9cbiAgcHJvcHNNYXRjaChwcm9wczogRG9tYWluTmFtZVByb3BzKTogYm9vbGVhbiB7XG4gICAgbGV0IHByb3Bab25lU3RyID0gdHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIgPyBwcm9wcy56b25lIDogcHJvcHMuem9uZS56b25lTmFtZTtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXggPT09IChwcm9wcy5wcmVmaXggPz8gXCJcIilcbiAgICAgICYmIHRoaXMuem9uZSA9PT0gcHJvcFpvbmVTdHJcbiAgICAgICYmIHRoaXMucHJpdmF0ZVpvbmUgPT09IChwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZSlcbiAgICAgICYmIHRoaXMudnBjSWQgPT09IHByb3BzLnZwY0lkXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3RyaW5nIHZlcnNpb24gb2YgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnByZWZpeCA9PSBcIlwiID8gXCJcIiA6IHRoaXMucHJlZml4ICsgXCIuXCIpICsgdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmcmllbmRseSBpZGVudGlmaWVyIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9JZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoKS5yZXBsYWNlKFwiLlwiLCBcIi1cIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFpvbmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJvdXRlNTMgaG9zdGVkIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHNhZmUgdG8gY2FsbCByZXBlYXRlZGx5LCB0aGUgbG9va3VwIHdpbGwgb25seSBiZSBkb25lIG9uY2UuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gdXNlIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBpZCBhbiBvcHRpb25hbCBJRCBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZDsgb25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIGdldEhvc3RlZFpvbmUoc2NvcGU6IENvbnN0cnVjdCwgaWQ/OiBzdHJpbmcpIDogSUhvc3RlZFpvbmUge1xuICAgIGlmICh0aGlzLmhvc3RlZFpvbmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gSG9zdGVkWm9uZS5mcm9tTG9va3VwKHNjb3BlLCBpZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS16b25lYCwge1xuICAgICAgICBkb21haW5OYW1lOiB0aGlzLnpvbmUsXG4gICAgICAgIHByaXZhdGVab25lOiB0aGlzLnByaXZhdGVab25lLFxuICAgICAgICB2cGNJZDogdGhpcy52cGNJZFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmhvc3RlZFpvbmU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFJvdXRlNTMgQVJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gdHRsIG9wdGlvbmFsIHR0bCBmb3IgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gaWQgdGhlIG9wdGlvbmFsIGlkIGZvciB0aGUgcmVjb3JkOyBpZiBub3QgcHJvdmlkZWQsIG9uZSBpcyBnZW5lcmF0ZWRcbiAgICovXG4gIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQsIHR0bD86IER1cmF0aW9uLCBpZD86IHN0cmluZyk6IEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgQVJlY29yZChzY29wZSwgaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0dGwsXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgUm91dGU1MyByZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIHdlaWdodCB0aGUgaW5pdGlhbCB3ZWlnaHQ7IGRlZmF1bHRzIHRvIDBcbiAgICovXG4gIGNyZWF0ZVdlaWdodGVkQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0PzogbnVtYmVyKTogV2VpZ2h0ZWRBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkQVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXQsXG4gICAgICB3ZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlTGF0ZW5jeUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQpOiBMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBMYXRlbmN5QVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0PzogbnVtYmVyKTogV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIGZvciB0aGUgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIG9wdHMgYWRkaXRpb25hbCBvcHRpb25zXG4gICAqL1xuICBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBvcHRzPzogQ2VydGlmaWNhdGVPcHRpb25zKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIG9wdHM/LmlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWNlcnRgLCB7XG4gICAgICBkb21haW5OYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyh0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpKSxcbiAgICAgIHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBvcHRzPy5zdWJqZWN0QWx0ZXJuYXRpdmVOYW1lc1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBEb21haW5OYW1lLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuIGVtcHR5IGFycmF5XG4gICAqIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyBmcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogRG9tYWluTmFtZVtdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZVByb3BzID09PSB1bmRlZmluZWQgPyBbXSA6IGRvbWFpbk5hbWVQcm9wcy5tYXAocCA9PiBuZXcgRG9tYWluTmFtZShwKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBEb21haW5OYW1lIGZyb20gYSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWUgYW5kIGEgem9uZS5cbiAgICpcbiAgICogQHBhcmFtIGZxZG4gdGhlIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZVxuICAgKiBAcGFyYW0gem9uZSB0aGUgem9uZVxuICAgKi9cbiAgc3RhdGljIGZyb21GcWRuKGZxZG46IHN0cmluZywgem9uZTogSUhvc3RlZFpvbmUgfCBzdHJpbmcsIHByaXZhdGVab25lPzogYm9vbGVhbiwgdnBjSWQ/OiBzdHJpbmcpOiBEb21haW5OYW1lIHtcbiAgICBjb25zdCBwcmVmaXggPSBmcWRuLnJlcGxhY2UodHlwZW9mIHpvbmUgPT09IFwic3RyaW5nXCIgPyB6b25lIDogem9uZS56b25lTmFtZSwgXCJcIilcbiAgICAgIC5yZXBsYWNlKC9cXC4kLywgXCJcIik7XG4gICAgcmV0dXJuIG5ldyBEb21haW5OYW1lKHtcbiAgICAgIHByZWZpeCwgem9uZSwgcHJpdmF0ZVpvbmUsIHZwY0lkXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW5cbiAgICogZW1wdHkgYXJyYXkgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIERvbWFpbk5hbWUgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9TdHJpbmdzKGRvbWFpbk5hbWVzPzogRG9tYWluTmFtZVtdKSA6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZXMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZXMubWFwKGQgPT4gZC50b1N0cmluZygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsXG4gICAqIHJldHVybiBhbiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lUHJvcHMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9TdHJpbmdzRnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcz86IERvbWFpbk5hbWVQcm9wc1tdKSA6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZVByb3BzID09PSB1bmRlZmluZWQgPyBbXSA6IERvbWFpbk5hbWUudG9TdHJpbmdzKERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWUgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZSB2YWx1ZVxuICAgKiBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVzIGlzIHVuZGVmaW5lZC4gVGhpcyBmdW5jdGlvblxuICAgKiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXAoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgY29uc3QgbWFwOiB7W2tleTogc3RyaW5nXTogSUhvc3RlZFpvbmV9ID0ge31cbiAgICBpZiAoZG9tYWluTmFtZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9tYWluTmFtZXMuZm9yRWFjaChkID0+IHtcbiAgICAgICAgbWFwW2QudG9TdHJpbmcoKV0gPSBkLmdldEhvc3RlZFpvbmUoc2NvcGUpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZVxuICAgKiB2YWx1ZSBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuIFRoaXNcbiAgICogZnVuY3Rpb24gaXMgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGZ1bmN0aW9ucyBsaWtlIENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHVzZWQgaWYgYSB6b25lIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9ab25lTWFwRnJvbVByb3BzKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWVQcm9wczogRG9tYWluTmFtZVByb3BzW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgcmV0dXJuIERvbWFpbk5hbWUudG9ab25lTWFwKHNjb3BlLCBEb21haW5OYW1lLmZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZG9tYWluIG5hbWUgbWF0Y2hpbmcgdGhlIGdpdmVuIHByb3BlcnRpZXMgaW4gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgdG8gY29tcGFyZVxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIGRvbWFpbiBuYW1lcyB0byBzZWFyY2hcbiAgICogQHJldHVybiB0aGUgbWF0Y2hpbmcgZG9tYWluIG5hbWUgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzdGF0aWMgZmluZERvbWFpbk5hbWUocHJvcHM6IERvbWFpbk5hbWVQcm9wcywgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pOiBEb21haW5OYW1lIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBkb21haW5OYW1lIG9mIGRvbWFpbk5hbWVzID8/IFtdKSB7XG4gICAgICBpZiAoZG9tYWluTmFtZS5wcm9wc01hdGNoKHByb3BzKSkge1xuICAgICAgICByZXR1cm4gZG9tYWluTmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwyRUFBbUU7QUFDbkUsK0VBQXNGO0FBNEV0Rjs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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RyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBZ0IsRUFBRSxlQUFrQztRQUM1RSxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFzQixFQUFFLFdBQTBCO1FBQ3RFLEtBQUssSUFBSSxVQUFVLElBQUksV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxVQUFVLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsV0FBeUI7UUFDOUUsT0FBTyxJQUFJLG9DQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNyQyx1QkFBdUIsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxRSxVQUFVLEVBQUUsOENBQXFCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDN0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBdFJELGdDQXNSQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVJlY29yZCwgSG9zdGVkWm9uZSwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7V2VpZ2h0ZWRBUmVjb3JkfSBmcm9tIFwiLi93ZWlnaHRlZC1hLXJlY29yZFwiO1xuaW1wb3J0IHtMYXRlbmN5QVJlY29yZH0gZnJvbSBcIi4vbGF0ZW5jeS1hLXJlY29yZFwiO1xuaW1wb3J0IHtXZWlnaHRlZExhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi93ZWlnaHRlZC1sYXRlbmN5LWEtcmVjb3JkXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBEb21haW5OYW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluTmFtZVByb3BzIHtcblxuICAvKipcbiAgICogRG9tYWluIG5hbWUgcHJlZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBlbXB0eSBzdHJpbmdcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogWm9uZSBmb3IgdGhlIGRvbWFpbiBuYW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gbWFyayB6b25lIGFzIHByaXZhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZQQyB0aGUgem9uZSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFDTSBjZXJ0aWZpY2F0ZSBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2VydGlmaWNhdGVPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgdG8gdXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAke3RoaXMudG9JZGVudGlmaWVyKCl9LWNlcnRcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBkb21haW4gbmFtZXMgb24gdGhlIGNlcnRpZmljYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUmVjb3JkT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIHRvIHVzZS4gT25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIHJlY29yZCBjYWNoZSB0aW1lIHRvIGxpdmUgKFRUTCkuXG4gICAqL1xuICByZWFkb25seSB0dGw/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogQSBjb21tZW50IHRvIGFkZCBvbiB0aGUgcmVjb3JkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBkZWxldGUgdGhlIHNhbWUgcmVjb3JkIHNldCBpbiB0aGUgaG9zdGVkIHpvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG4gICAqL1xuICByZWFkb25seSBkZWxldGVFeGlzdGluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgaG9sZGluZyBkb21haW4gbmFtZSBpbmZvcm1hdGlvbiBhbmRcbiAqIGRvaW5nIHVzZWZ1bCB0aGluZ3Mgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNsYXNzIERvbWFpbk5hbWUge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvbmU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaXZhdGVab25lOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgRG9tYWluTmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb21haW4gbmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IERvbWFpbk5hbWVQcm9wcykge1xuICAgIHRoaXMucHJlZml4ID0gcHJvcHMucHJlZml4ID8/IFwiXCI7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aGlzLnpvbmUgPSBwcm9wcy56b25lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBwcm9wcy56b25lO1xuICAgICAgdGhpcy56b25lID0gdGhpcy5ob3N0ZWRab25lLnpvbmVOYW1lO1xuICAgIH1cbiAgICB0aGlzLnByaXZhdGVab25lID0gcHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2U7XG4gICAgdGhpcy52cGNJZCA9IHByb3BzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHByZWZpeCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByZWZpeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHpvbmUgaXMgcHJpdmF0ZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaW5Qcml2YXRlWm9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcml2YXRlWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2cGMgSUQgZm9yIHRoaXMgem9uZSBvciB1bmRlZmluZWQgaWYgb25lIGRvZXMgbm90IGV4aXN0XG4gICAqL1xuICBnZXRWcGNJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcHMgbWF0Y2ggdGhlIGRvbWFpbiBuYW1lLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcHMgdG8gY29tcGFyZVxuICAgKi9cbiAgcHJvcHNNYXRjaChwcm9wczogRG9tYWluTmFtZVByb3BzKTogYm9vbGVhbiB7XG4gICAgbGV0IHByb3Bab25lU3RyID0gdHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIgPyBwcm9wcy56b25lIDogcHJvcHMuem9uZS56b25lTmFtZTtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXggPT09IChwcm9wcy5wcmVmaXggPz8gXCJcIilcbiAgICAgICYmIHRoaXMuem9uZSA9PT0gcHJvcFpvbmVTdHJcbiAgICAgICYmIHRoaXMucHJpdmF0ZVpvbmUgPT09IChwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZSlcbiAgICAgICYmIHRoaXMudnBjSWQgPT09IHByb3BzLnZwY0lkXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3RyaW5nIHZlcnNpb24gb2YgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnByZWZpeCA9PSBcIlwiID8gXCJcIiA6IHRoaXMucHJlZml4ICsgXCIuXCIpICsgdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmcmllbmRseSBpZGVudGlmaWVyIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9JZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoKS5yZXBsYWNlKFwiLlwiLCBcIi1cIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFpvbmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJvdXRlNTMgaG9zdGVkIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHNhZmUgdG8gY2FsbCByZXBlYXRlZGx5LCB0aGUgbG9va3VwIHdpbGwgb25seSBiZSBkb25lIG9uY2UuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gdXNlIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBpZCBhbiBvcHRpb25hbCBJRCBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZDsgb25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIGdldEhvc3RlZFpvbmUoc2NvcGU6IENvbnN0cnVjdCwgaWQ/OiBzdHJpbmcpIDogSUhvc3RlZFpvbmUge1xuICAgIGlmICh0aGlzLmhvc3RlZFpvbmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gSG9zdGVkWm9uZS5mcm9tTG9va3VwKHNjb3BlLCBpZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS16b25lYCwge1xuICAgICAgICBkb21haW5OYW1lOiB0aGlzLnpvbmUsXG4gICAgICAgIHByaXZhdGVab25lOiB0aGlzLnByaXZhdGVab25lLFxuICAgICAgICB2cGNJZDogdGhpcy52cGNJZFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmhvc3RlZFpvbmU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFJvdXRlNTMgQVJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQsIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgQVJlY29yZChzY29wZSwgb3B0aW9ucz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0dGw6IG9wdGlvbnM/LnR0bCxcbiAgICAgIHRhcmdldFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB3ZWlnaHRlZCBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ/OiBudW1iZXIpOiBXZWlnaHRlZEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBsYXRlbmN5IFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqL1xuICBjcmVhdGVMYXRlbmN5QVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCk6IExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IExhdGVuY3lBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB3ZWlnaHRlZCBsYXRlbmN5IFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ/OiBudW1iZXIpOiBXZWlnaHRlZExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkTGF0ZW5jeUFSZWNvcmQoc2NvcGUsIGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWFyZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgd2VpZ2h0XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBQ00gY2VydGlmaWNhdGUgZm9yIHRoZSBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gb3B0cyBhZGRpdGlvbmFsIG9wdGlvbnNcbiAgICovXG4gIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdHM/OiBDZXJ0aWZpY2F0ZU9wdGlvbnMpOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgb3B0cz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydGAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSkpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IG9wdHM/LnN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIERvbWFpbk5hbWUuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZW1wdHkgYXJyYXlcbiAgICogaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIGZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBEb21haW5OYW1lW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZVByb3BzLm1hcChwID0+IG5ldyBEb21haW5OYW1lKHApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERvbWFpbk5hbWUgZnJvbSBhIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBhbmQgYSB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gZnFkbiB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lXG4gICAqIEBwYXJhbSB6b25lIHRoZSB6b25lXG4gICAqL1xuICBzdGF0aWMgZnJvbUZxZG4oZnFkbjogc3RyaW5nLCB6b25lOiBJSG9zdGVkWm9uZSB8IHN0cmluZywgcHJpdmF0ZVpvbmU/OiBib29sZWFuLCB2cGNJZD86IHN0cmluZyk6IERvbWFpbk5hbWUge1xuICAgIGNvbnN0IHByZWZpeCA9IGZxZG4ucmVwbGFjZSh0eXBlb2Ygem9uZSA9PT0gXCJzdHJpbmdcIiA/IHpvbmUgOiB6b25lLnpvbmVOYW1lLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL1xcLiQvLCBcIlwiKTtcbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4LCB6b25lLCBwcml2YXRlWm9uZSwgdnBjSWRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhblxuICAgKiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3MoZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lcy5tYXAoZCA9PiBkLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAgICogcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3NGcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogRG9tYWluTmFtZS50b1N0cmluZ3MoRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlIHZhbHVlXG4gICAqIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLiBUaGlzIGZ1bmN0aW9uXG4gICAqIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcChzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICBjb25zdCBtYXA6IHtba2V5OiBzdHJpbmddOiBJSG9zdGVkWm9uZX0gPSB7fVxuICAgIGlmIChkb21haW5OYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21haW5OYW1lcy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICBtYXBbZC50b1N0cmluZygpXSA9IGQuZ2V0SG9zdGVkWm9uZShzY29wZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlXG4gICAqIHZhbHVlIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC4gVGhpc1xuICAgKiBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXBGcm9tUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZVByb3BzOiBEb21haW5OYW1lUHJvcHNbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICByZXR1cm4gRG9tYWluTmFtZS50b1pvbmVNYXAoc2NvcGUsIERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkb21haW4gbmFtZSBtYXRjaGluZyB0aGUgZ2l2ZW4gcHJvcGVydGllcyBpbiBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB0byBjb21wYXJlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHNlYXJjaFxuICAgKiBAcmV0dXJuIHRoZSBtYXRjaGluZyBkb21haW4gbmFtZSBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBmaW5kRG9tYWluTmFtZShwcm9wczogRG9tYWluTmFtZVByb3BzLCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSk6IERvbWFpbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMgPz8gW10pIHtcbiAgICAgIGlmIChkb21haW5OYW1lLnByb3BzTWF0Y2gocHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBkb21haW5OYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNlcnRpZmljYXRlIGZyb20gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlIGluIHRoZSBzY29wZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGVcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkb21haW5OYW1lczogRG9tYWluTmFtZVtdKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGlkLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lc1swXS50b1N0cmluZygpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IGRvbWFpbk5hbWVzLnNsaWNlKDEpLm1hcChuYW1lID0+IG5hbWUudG9TdHJpbmcoKSksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZShEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgZG9tYWluTmFtZXMpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "1.0.2-alpha.13+1de724d",
3
+ "version": "1.0.2-alpha.15+7d129b9",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -57,5 +57,5 @@
57
57
  "publishConfig": {
58
58
  "access": "public"
59
59
  },
60
- "gitHead": "1de724ded1da154d0b2a91be71f7dad247f4ad1e"
60
+ "gitHead": "7d129b97b3d2539a6062cc73b5bff130187fc346"
61
61
  }