tuain-ng-forms-lib 15.1.10 → 15.1.12

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.
@@ -9,12 +9,10 @@ export class FormElement extends FormPiecePropagate {
9
9
  setAttr(attr, value) {
10
10
  const { name: attrName, propagate: name } = attr;
11
11
  this[attrName] = value;
12
- console.log(`Element setAttr name: ${name}`);
13
- console.log(value);
14
12
  name && this.propagateAttribute(name, value);
15
13
  }
16
14
  isField() { return this.elementType === elementTypes.field; }
17
15
  isAction() { return this.elementType === elementTypes.action; }
18
16
  isTable() { return this.elementType === elementTypes.table; }
19
17
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsTUFBTSxPQUFPLFdBQVksU0FBUSxrQkFBa0I7SUFHakQsWUFBWSxpQkFBc0IsRUFBRSxVQUFlO1FBQ2pELEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh2QyxnQkFBVyxHQUFrQixJQUFJLENBQUM7SUFJbEMsQ0FBQztJQUppQyxDQUFDO0lBTW5DLE9BQU8sQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xCLElBQUksSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLEtBQWMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLFFBQVEsS0FBYyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEUsT0FBTyxLQUFjLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztDQUN2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1QaWVjZVByb3BhZ2F0ZSB9IGZyb20gJy4vcGllY2UtcHJvcGFnYXRlJztcbmltcG9ydCB7IGVsZW1lbnRUeXBlcyB9IGZyb20gJy4vZm9ybS5jb25zdGFudHMnO1xuZXhwb3J0IGNsYXNzIEZvcm1FbGVtZW50IGV4dGVuZHMgRm9ybVBpZWNlUHJvcGFnYXRlIHtcbiAgZWxlbWVudFR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsOztcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50RGVmaW5pdGlvbjogYW55LCBmb3JtQ29uZmlnOiBhbnkpIHtcbiAgICBzdXBlcihlbGVtZW50RGVmaW5pdGlvbiwgZm9ybUNvbmZpZyk7XG4gIH1cblxuICBzZXRBdHRyKGF0dHI6IGFueSwgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHsgbmFtZTogYXR0ck5hbWUsIHByb3BhZ2F0ZTogbmFtZSB9ID0gYXR0cjtcbiAgICB0aGlzW2F0dHJOYW1lXSA9IHZhbHVlO1xuICAgIGNvbnNvbGUubG9nKGBFbGVtZW50IHNldEF0dHIgbmFtZTogJHtuYW1lfWApXG4gICAgY29uc29sZS5sb2codmFsdWUpXG4gICAgbmFtZSAmJiB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBpc0ZpZWxkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLmZpZWxkOyB9XG4gIGlzQWN0aW9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLmFjdGlvbjsgfVxuICBpc1RhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLnRhYmxlOyB9XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsTUFBTSxPQUFPLFdBQVksU0FBUSxrQkFBa0I7SUFHakQsWUFBWSxpQkFBc0IsRUFBRSxVQUFlO1FBQ2pELEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh2QyxnQkFBVyxHQUFrQixJQUFJLENBQUM7SUFJbEMsQ0FBQztJQUppQyxDQUFDO0lBTW5DLE9BQU8sQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEUsUUFBUSxLQUFjLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RSxPQUFPLEtBQWMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0NBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVBpZWNlUHJvcGFnYXRlIH0gZnJvbSAnLi9waWVjZS1wcm9wYWdhdGUnO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnQgZXh0ZW5kcyBGb3JtUGllY2VQcm9wYWdhdGUge1xuICBlbGVtZW50VHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnREZWZpbml0aW9uOiBhbnksIGZvcm1Db25maWc6IGFueSkge1xuICAgIHN1cGVyKGVsZW1lbnREZWZpbml0aW9uLCBmb3JtQ29uZmlnKTtcbiAgfVxuXG4gIHNldEF0dHIoYXR0cjogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgeyBuYW1lOiBhdHRyTmFtZSwgcHJvcGFnYXRlOiBuYW1lIH0gPSBhdHRyO1xuICAgIHRoaXNbYXR0ck5hbWVdID0gdmFsdWU7XG4gICAgbmFtZSAmJiB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBpc0ZpZWxkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLmZpZWxkOyB9XG4gIGlzQWN0aW9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLmFjdGlvbjsgfVxuICBpc1RhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLnRhYmxlOyB9XG59XG4iXX0=
@@ -10,35 +10,29 @@ export class FormPiecePropagate extends FormPiece {
10
10
  }
11
11
  get attributeChange() { return this._attributeChange; }
12
12
  propagateAttribute(name, value) {
13
- console.log(`Propagación ${name} : ${JSON.stringify(value)}`);
14
13
  this._attributeChange?.next({ name, value });
15
14
  }
16
15
  setCustomAttribute(name, value) {
17
16
  super.setCustomAttribute(name, value);
18
17
  if (this.propagationCustomAttributes?.includes(name)) {
19
18
  const fullName = `customAttributes.${name}`;
20
- console.log('piece setCustomAttribute');
21
19
  this.propagateAttribute(fullName, value);
22
20
  }
23
21
  }
24
22
  setVisibility(visible, forced = null) {
25
23
  super.setVisibility(visible, forced);
26
- console.log('piece setVisibility');
27
24
  this.propagateAttribute(VISIBLE, this._visible);
28
25
  }
29
26
  set enabled(enabled) {
30
27
  super.enabled = enabled;
31
- console.log('piece enabled');
32
28
  this.propagateAttribute(DISABLED, this._disabled);
33
29
  }
34
30
  formStateChange(state) {
35
31
  super.formStateChange(state);
36
32
  if (state) {
37
- console.log('piece 1 formStateChange');
38
33
  this.propagateAttribute(VISIBLE, this._visible);
39
- console.log('piece 2 formStateChange');
40
34
  this.propagateAttribute(DISABLED, this._disabled);
41
35
  }
42
36
  }
43
37
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UtcHJvcGFnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9waWVjZS1wcm9wYWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFFNUIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFJL0MsWUFBWSxlQUFvQixFQUFFLFVBQWU7UUFDL0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUozQixnQ0FBMkIsR0FBYSxFQUFFLENBQUM7UUFLbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFFdkQsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVRLGtCQUFrQixDQUFDLElBQVksRUFBRSxLQUFVO1FBQ2xELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztZQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUE7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFUSxhQUFhLENBQUMsT0FBZ0IsRUFBRSxTQUF5QixJQUFJO1FBQ3BFLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBTztRQUMxQixLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFUSxlQUFlLENBQUMsS0FBSztRQUM1QixLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1lBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybVBpZWNlIH0gZnJvbSAnLi9waWVjZSc7XG5cbmNvbnN0IFZJU0lCTEUgPSAndmlzaWJsZSc7XG5jb25zdCBESVNBQkxFRCA9ICdkaXNhYmxlZCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtUGllY2VQcm9wYWdhdGUgZXh0ZW5kcyBGb3JtUGllY2Uge1xuICBwcm90ZWN0ZWQgcHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgX2F0dHJpYnV0ZUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGFueT47XG5cbiAgY29uc3RydWN0b3IocGllY2VEZWZpbml0aW9uOiBhbnksIGZvcm1Db25maWc6IGFueSkge1xuICAgIHN1cGVyKHBpZWNlRGVmaW5pdGlvbiwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5fYXR0cmlidXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICB9XG5cbiAgZ2V0IGF0dHJpYnV0ZUNoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZUNoYW5nZTsgfVxuXG4gIHByb3BhZ2F0ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkge1xuICAgIGNvbnNvbGUubG9nKGBQcm9wYWdhY2nDs24gJHtuYW1lfSA6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xuICAgIHRoaXMuX2F0dHJpYnV0ZUNoYW5nZT8ubmV4dCh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHN1cGVyLnNldEN1c3RvbUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgaWYgKHRoaXMucHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzPy5pbmNsdWRlcyhuYW1lKSkge1xuICAgICAgY29uc3QgZnVsbE5hbWUgPSBgY3VzdG9tQXR0cmlidXRlcy4ke25hbWV9YDtcbiAgICAgIGNvbnNvbGUubG9nKCdwaWVjZSBzZXRDdXN0b21BdHRyaWJ1dGUnKVxuICAgICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoZnVsbE5hbWUsIHZhbHVlKTtcbiAgICB9IFxuICB9XG5cbiAgb3ZlcnJpZGUgc2V0VmlzaWJpbGl0eSh2aXNpYmxlOiBib29sZWFuLCBmb3JjZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnNldFZpc2liaWxpdHkodmlzaWJsZSwgZm9yY2VkKTtcbiAgICBjb25zb2xlLmxvZygncGllY2Ugc2V0VmlzaWJpbGl0eScpXG4gICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoVklTSUJMRSwgdGhpcy5fdmlzaWJsZSk7XG4gIH1cblxuICBvdmVycmlkZSBzZXQgZW5hYmxlZChlbmFibGVkKSB7XG4gICAgc3VwZXIuZW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgY29uc29sZS5sb2coJ3BpZWNlIGVuYWJsZWQnKVxuICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKERJU0FCTEVELCB0aGlzLl9kaXNhYmxlZCk7XG4gIH1cblxuICBvdmVycmlkZSBmb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpIHtcbiAgICBzdXBlci5mb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgY29uc29sZS5sb2coJ3BpZWNlIDEgZm9ybVN0YXRlQ2hhbmdlJylcbiAgICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKFZJU0lCTEUsIHRoaXMuX3Zpc2libGUpO1xuICAgICAgY29uc29sZS5sb2coJ3BpZWNlIDIgZm9ybVN0YXRlQ2hhbmdlJylcbiAgICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKERJU0FCTEVELCB0aGlzLl9kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UtcHJvcGFnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9waWVjZS1wcm9wYWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFFNUIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFJL0MsWUFBWSxlQUFvQixFQUFFLFVBQWU7UUFDL0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUozQixnQ0FBMkIsR0FBYSxFQUFFLENBQUM7UUFLbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFFdkQsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUNsRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwRCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFUSxhQUFhLENBQUMsT0FBZ0IsRUFBRSxTQUF5QixJQUFJO1FBQ3BFLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxPQUFPO1FBQzFCLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFUSxlQUFlLENBQUMsS0FBSztRQUM1QixLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1QaWVjZSB9IGZyb20gJy4vcGllY2UnO1xuXG5jb25zdCBWSVNJQkxFID0gJ3Zpc2libGUnO1xuY29uc3QgRElTQUJMRUQgPSAnZGlzYWJsZWQnO1xuXG5leHBvcnQgY2xhc3MgRm9ybVBpZWNlUHJvcGFnYXRlIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgcHJvdGVjdGVkIHByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9hdHRyaWJ1dGVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHBpZWNlRGVmaW5pdGlvbjogYW55LCBmb3JtQ29uZmlnOiBhbnkpIHtcbiAgICBzdXBlcihwaWVjZURlZmluaXRpb24sIGZvcm1Db25maWcpO1xuICAgIHRoaXMuX2F0dHJpYnV0ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgfVxuXG4gIGdldCBhdHRyaWJ1dGVDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9hdHRyaWJ1dGVDaGFuZ2U7IH1cblxuICBwcm9wYWdhdGVBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVDaGFuZ2U/Lm5leHQoeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldEN1c3RvbUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDdXN0b21BdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIGlmICh0aGlzLnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcz8uaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gYGN1c3RvbUF0dHJpYnV0ZXMuJHtuYW1lfWA7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShmdWxsTmFtZSwgdmFsdWUpO1xuICAgIH0gXG4gIH1cblxuICBvdmVycmlkZSBzZXRWaXNpYmlsaXR5KHZpc2libGU6IGJvb2xlYW4sIGZvcmNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmlzaWJpbGl0eSh2aXNpYmxlLCBmb3JjZWQpO1xuICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKFZJU0lCTEUsIHRoaXMuX3Zpc2libGUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IGVuYWJsZWQoZW5hYmxlZCkge1xuICAgIHN1cGVyLmVuYWJsZWQgPSBlbmFibGVkO1xuICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKERJU0FCTEVELCB0aGlzLl9kaXNhYmxlZCk7XG4gIH1cblxuICBvdmVycmlkZSBmb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpIHtcbiAgICBzdXBlci5mb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoVklTSUJMRSwgdGhpcy5fdmlzaWJsZSk7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShESVNBQkxFRCwgdGhpcy5fZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -147,11 +147,15 @@ export class RecordTable extends FormElement {
147
147
  this._inlineActionTrigger.next(tableEvent);
148
148
  }
149
149
  notifyRecordSelection(recordId) {
150
+ console.log('notifyRecordSelection 1');
150
151
  const record = this.getTableRecord(recordId);
152
+ console.log('notifyRecordSelection 2');
151
153
  if (!record) {
152
154
  return;
153
155
  }
156
+ console.log('notifyRecordSelection 3');
154
157
  record.toggleSelect();
158
+ console.log('notifyRecordSelection 4');
155
159
  this.requestedPage = this.currentPage ?? 1;
156
160
  const tableEvent = {
157
161
  tableCode: this.tableCode,
@@ -161,6 +165,7 @@ export class RecordTable extends FormElement {
161
165
  recordData: record.recordData
162
166
  }
163
167
  };
168
+ console.log(`notifyRecordSelection 5 ${JSON.stringify(tableEvent, null, 2)}`);
164
169
  this.recordSelectionTrigger.next(tableEvent);
165
170
  }
166
171
  notifySelectionAction(actionCode) {
@@ -461,4 +466,4 @@ export class RecordTable extends FormElement {
461
466
  });
462
467
  }
463
468
  }
464
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3QyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztBQUVyQyxNQUFNLEtBQUssR0FBRztJQUNaLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTtJQUM5RCxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkQsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQ3ZELFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtJQUNqRSxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUU7SUFDbkYsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzdDLGNBQWMsRUFBRSxFQUFFLElB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RUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3RixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3RixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLGFBQWEsR0FBRyxhQUFhLEVBQUU7WUFDakMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2I7YUFBTSxJQUFJLGFBQWEsR0FBRyxhQUFhLEVBQUU7WUFDeEMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNaO1FBQ0QsT0FBTyxTQUFTLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0QsQ0FBQztJQUVRLDhCQUE4QixDQUFDLElBQUksRUFBRSxpQkFBaUI7UUFDN0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vZm9ybS5jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnQgfSBmcm9tICcuLi9lbGVtZW50JztcbmltcG9ydCB7IFJlY29yZFRhYmxlQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW4nO1xuaW1wb3J0IHsgVGFibGVBY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBUYWJsZVJlY29yZERhdGEgfSBmcm9tICcuL3Jvdy1kYXRhJztcblxuY29uc3QgVEFCTEVfU09SVF9BU0NFTkRJTkcgPSAnYXNjJztcbmNvbnN0IFRBQkxFX1NPUlRfREVTQ0VORElORyA9ICdkZXNjJztcblxuY29uc3QgYXR0cnMgPSB7XG4gIGFsbFNlbGVjdGVkOiB7IG5hbWU6ICdhbGxTZWxlY3RlZCcsIHByb3BhZ2F0ZTogJ2FsbFNlbGVjdGVkJyB9LFxuICB0YWJsZUNvZGU6IHsgbmFtZTogJ3RhYmxlQ29kZScsIHByb3BhZ2F0ZTogJ2NvZGUnIH0sXG4gIGNsaWVudFBhZ2luZzogeyBuYW1lOiAnY2xpZW50UGFnaW5nJywgcHJvcGFnYXRlOiBudWxsIH0sXG4gIGdsb2JhbFNlYXJjaDogeyBuYW1lOiAnZ2xvYmFsU2VhcmNoJywgcHJvcGFnYXRlOiAnZ2xvYmFsU2VhcmNoJyB9LFxuICBnbG9iYWxGaWx0ZXJTdHJpbmc6IHsgbmFtZTogJ2dsb2JhbEZpbHRlclN0cmluZycsIHByb3BhZ2F0ZTogJ2dsb2JhbEZpbHRlclN0cmluZycgfSxcbiAgc29ydGluZzogeyBuYW1lOiAnc29ydGluZycsIHByb3BhZ2F0ZTogbnVsbCB9LFxuICByZWNvcmRzUGVyUGFnZTogeyBuYW1lOiAncmVjb3Jkc1BlclBhZ2UnLCBwcm9wYWdhdGU6ICdyZWNvcmRzUGVyUGFnZScgfSxcbiAgbGF5b3V0OiB7IG5hbWU6ICdsYXlvdXQnLCBwcm9wYWdhdGU6ICdsYXlvdXQnIH0sXG4gIGNvbHVtbnM6IHsgbmFtZTogJ2NvbHVtbnMnLCBwcm9wYWdhdGU6ICdjb2x1bW5zJyB9LFxuICBzZWxlY3RlZFJlY29yZHM6IHsgbmFtZTogJ3NlbGVjdGVkUmVjb3JkcycsIHByb3BhZ2F0ZTogJ3NlbGVjdGVkUmVjb3JkcycgfSxcbiAgY3VycmVudFBhZ2U6IHsgbmFtZTogJ2N1cnJlbnRQYWdlJywgcHJvcGFnYXRlOiAnY3VycmVudFBhZ2UnIH0sXG4gIHRvdGFsUmVjb3Jkc051bWJlcjogeyBuYW1lOiAndG90YWxSZWNvcmRzTnVtYmVyJywgcHJvcGFnYXRlOiAndG90YWxSZWNvcmRzTnVtYmVyJyB9LFxuICB2aXNpYmxlUmVjb3JkczogeyBuYW1lOiAndmlzaWJsZVJlY29yZHMnLCBwcm9wYWdhdGU6ICd2aXNpYmxlUmVjb3JkcycgfSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb25FdmVudCB7XG4gIGFjdGlvbkNvZGU6IHN0cmluZztcbiAgcmVjb3JkSWQ6IGFueTtcbiAgcmVjb3JkRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRXZlbnQge1xuICB0YWJsZUNvZGU6IHN0cmluZztcbiAgYWN0aW9uQ29kZTogc3RyaW5nIHwgbnVsbDtcbiAgYWN0aW9uRGV0YWlsOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBSZWNvcmRUYWJsZSBleHRlbmRzIEZvcm1FbGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5saW5lQWN0aW9uVHJpZ2dlciA9IG5ldyBTdWJqZWN0PFRhYmxlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2dsb2JhbEFjdGlvblRyaWdnZXIgPSBuZXcgU3ViamVjdDxUYWJsZUV2ZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZWNvcmRTZWxlY3Rpb25UcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uQWN0aW9uVHJpZ2dlciA9IG5ldyBTdWJqZWN0PFRhYmxlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2dldERhdGFUcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSBfdGFibGVDb2x1bW5PYmogPSB7fTtcbiAgcHJpdmF0ZSBfYXBwZW5kUGFnZXM6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FjdGlvbnM6IFRhYmxlQWN0aW9uW107XG4gIHByaXZhdGUgX2FjdGlvbnNPYmogPSB7fTtcblxuICAvLyBNZWNhbmlzbW9zIGRlIGZpbHRyYWRvIG51ZXZhIHZlcnNpw7NuXG4gIHByaXZhdGUgZ2xvYmFsRmlsdGVyU3RyaW5nOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBnbG9iYWxGaWx0ZXJTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHNlbGVjdGVkUmVjb3JkczogYW55O1xuICBwcml2YXRlIHJlc3RyaWN0ZWRJZDogYW55O1xuICBwcml2YXRlIGxheW91dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICB0YWJsZVJlY29yZHM6IFRhYmxlUmVjb3JkRGF0YVtdO1xuICB0YWJsZVJlY29yZE9iaiA9IHt9O1xuICB2aXNpYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW10gfCBudWxsID0gbnVsbDtcbiAgY29sdW1uczogUmVjb3JkVGFibGVDb2x1bW5bXTtcbiAgc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgc2VsZWN0aW9uQmFja2VuZDogYm9vbGVhbjtcbiAgc2VsZWN0aW9uRmllbGQ6IHN0cmluZztcbiAgYWxsU2VsZWN0ZWQgPSBmYWxzZTtcblxuICB0YWJsZUNvZGU6IHN0cmluZyA9ICcnO1xuICB0YWJsZVRpdGxlOiBzdHJpbmc7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgcmVxdWVzdGVkUGFnZTogbnVtYmVyO1xuICByZWNvcmRzUGVyUGFnZTogbnVtYmVyID0gMTA7XG4gIHRvdGFsUmVjb3Jkc051bWJlcjogbnVtYmVyID0gMDtcbiAgcmVjb3Jkc051bWJlcjogbnVtYmVyID0gMDtcbiAgc29ydGluZzogYW55O1xuXG4gIHdhaXRpbmc6IGJvb2xlYW47XG4gIGNsaWVudFBhZ2luZzogYm9vbGVhbiA9IHRydWU7XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHRhYmxlUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcih0YWJsZVJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICB0aGlzLnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcyA9IHRoaXMuX2Zvcm1Db25maWc/LnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcz8udGFibGVzID8/IFtdO1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZXMudGFibGU7XG4gICAgdGhpcy53YWl0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gMTtcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSAxO1xuICAgIHRoaXMuY29sdW1ucyA9IFtdO1xuICAgIHRoaXMuX3RhYmxlQ29sdW1uT2JqID0ge307XG4gICAgdGhpcy5fYWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuX2FjdGlvbnNPYmogPSB7fTtcbiAgICB0aGlzLnRhYmxlUmVjb3JkcyA9IFtdO1xuICAgIHRoaXMuZ2xvYmFsU2VhcmNoID0gZmFsc2U7XG4gICAgdGhpcy5yZXN0cmljdGVkSWQgPSBudWxsO1xuXG4gICAgdGhpcy50YWJsZVRpdGxlID0gdGFibGVSZWNlaXZlZC50YWJsZVRpdGxlO1xuICAgIHRoaXMuX2FwcGVuZFBhZ2VzID0gdGFibGVSZWNlaXZlZD8uYXBwZW5kID8/IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0YWJsZSA9IHRhYmxlUmVjZWl2ZWQ/LnNlbGVjdGFibGUgPz8gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3Rpb25CYWNrZW5kID0gdGFibGVSZWNlaXZlZD8uc2VsZWN0aW9uQmFja2VuZCA/PyBmYWxzZTtcbiAgICB0aGlzLnNvcnRhYmxlID0gdGFibGVSZWNlaXZlZD8uc29ydGFibGUgPz8gZmFsc2U7XG5cbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuYWxsU2VsZWN0ZWQsIGZhbHNlKTtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMudGFibGVDb2RlLCB0YWJsZVJlY2VpdmVkLnRhYmxlQ29kZSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmNsaWVudFBhZ2luZywgdGFibGVSZWNlaXZlZD8uY2xpZW50UGFnaW5nID8/IHRydWUpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5nbG9iYWxTZWFyY2gsIHRhYmxlUmVjZWl2ZWQ/LnNpbXBsZUZpbHRlciA/PyBmYWxzZSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmdsb2JhbEZpbHRlclN0cmluZywgJycpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5zb3J0aW5nLCB7IGNvbHVtbk5hbWU6ICcnLCBkaXJlY3Rpb246ICcnIH0pO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5yZWNvcmRzUGVyUGFnZSwgZm9ybUNvbmZpZy5kZWZhdWx0UmVjb3Jkc1BlclBhZ2UpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5sYXlvdXQsICcnKTtcblxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgY29uc3QgY29sdW1uczogUmVjb3JkVGFibGVDb2x1bW5bXSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBjb2x1bW5SZWNlaXZlZCBvZiB0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgICBjb25zdCBjb2x1bW5FbnJpY2hlZCA9IHtcbiAgICAgICAgICAuLi5jb2x1bW5SZWNlaXZlZCxcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzOiB0aGlzLnZpc2libGVTdGF0ZXMsXG4gICAgICAgICAgZW5hYmxlZFN0YXRlczogdGhpcy5lbmFibGVkU3RhdGVzXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZmluaXRpb246IFJlY29yZFRhYmxlQ29sdW1uID0gbmV3IFJlY29yZFRhYmxlQ29sdW1uKGNvbHVtbkVucmljaGVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgY29sdW1ucy5wdXNoKGNvbHVtbkRlZmluaXRpb24pO1xuICAgICAgICB0aGlzLl90YWJsZUNvbHVtbk9ialtjb2x1bW5EZWZpbml0aW9uLmZpZWxkQ29kZV0gPSBjb2x1bW5EZWZpbml0aW9uO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLmNvbHVtbnMsIGNvbHVtbnMpO1xuICAgIH1cbiAgICBpZiAodGFibGVSZWNlaXZlZC5hY3Rpb25zKSB7XG4gICAgICBjb25zdCB0YWJsZUFjdGlvbnMgPSB0YWJsZVJlY2VpdmVkLmFjdGlvbnMubWFwKG9iakRlZiA9PiB7XG4gICAgICAgIGxldCB2aXNpYmxlU3RhdGVzID0gb2JqRGVmLnZpc2libGVTdGF0ZXM7XG4gICAgICAgIGxldCBlbmFibGVkU3RhdGVzID0gb2JqRGVmLmVuYWJsZWRTdGF0ZXM7XG4gICAgICAgIGlmICghdmlzaWJsZVN0YXRlcykge1xuICAgICAgICAgIHZpc2libGVTdGF0ZXMgPSAob2JqRGVmLmFjdGlvbk1vZGVzIHx8ICcnKS5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMCk7XG4gICAgICAgICAgZW5hYmxlZFN0YXRlcyA9IChvYmpEZWYuYWN0aW9uTW9kZXMgfHwgJycpLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5vYmpEZWYsIHZpc2libGVTdGF0ZXMsIGVuYWJsZWRTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBhY3Rpb25SZWNlaXZlZCBvZiB0YWJsZUFjdGlvbnMpIHtcbiAgICAgICAgY29uc3QgaW5saW5lQWN0aW9uID0gbmV3IFRhYmxlQWN0aW9uKGFjdGlvblJlY2VpdmVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGlubGluZUFjdGlvbik7XG4gICAgICAgIHRoaXMuX2FjdGlvbnNPYmpbaW5saW5lQWN0aW9uLmFjdGlvbkNvZGVdID0gaW5saW5lQWN0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbkZpZWxkID0gKHRoaXMuc2VsZWN0YWJsZSkgPyB0YWJsZVJlY2VpdmVkPy5zZWxlY3Rpb25GaWVsZCA6IG51bGw7XG4gICAgLy8gRmlsdHJvcyBwcmVkZWZpbmlkb3MgZW4gZWwgZm9ybXVsYXJpb1xuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpbHRlcnMpIHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YWJsZVJlY2VpdmVkLmZpbHRlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIHRoaXMuYWRkRmlsdGVyRGVmaW5pdGlvbih0YWJsZVJlY2VpdmVkLmZpbHRlcnNbaW5kZXhdLmZpZWxkQ29kZSwgdGFibGVSZWNlaXZlZC5maWx0ZXJzW2luZGV4XSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbHVtbk5hbWVzKCkgeyByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fdGFibGVDb2x1bW5PYmopOyB9XG4gIGdldCBpbmxpbmVBY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5faW5saW5lQWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2xvYmFsQWN0aW9uVHJpZ2dlcigpIHsgcmV0dXJuIHRoaXMuX2dsb2JhbEFjdGlvblRyaWdnZXI7IH1cbiAgZ2V0IHNlbGVjdGlvbkFjdGlvblRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyOyB9XG4gIGdldCByZWNvcmRTZWxlY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5fcmVjb3JkU2VsZWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2V0RGF0YVRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9nZXREYXRhVHJpZ2dlcjsgfVxuXG4gIGdldExheW91dCgpIHsgcmV0dXJuIHRoaXMubGF5b3V0OyB9XG4gIHNldExheW91dChsYXlvdXQpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmxheW91dCwgbGF5b3V0KTsgfVxuICBoYXNBY3Rpb25zKCkgeyByZXR1cm4gKHRoaXMuX2FjdGlvbnMubGVuZ3RoID4gMCk7IH1cbiAgZ2V0U2VsZWN0ZWRSZWNvcmRzKCkgeyByZXR1cm4gdGhpcy50YWJsZVJlY29yZHMuZmlsdGVyKHJlYyA9PiByZWMuc2VsZWN0ZWQpLm1hcChyZWMgPT4gcmVjLnJlY29yZElkKTsgfVxuICBhY3RpdmF0ZUdsb2JhbFNlYXJjaCgpIHsgdGhpcy5nbG9iYWxTZWFyY2ggPSB0cnVlOyB9XG4gIGluYWN0aXZhdGVHbG9iYWxTZWFyY2goKSB7IHRoaXMuZ2xvYmFsU2VhcmNoID0gZmFsc2U7IH1cbiAgY29sdW1uRGVmaW5pdGlvbihmaWVsZENvZGUpOiBSZWNvcmRUYWJsZUNvbHVtbiB7IHJldHVybiB0aGlzLl90YWJsZUNvbHVtbk9ialtmaWVsZENvZGVdOyB9XG4gIHB1dE9uV2FpdCgpIHsgdGhpcy53YWl0aW5nID0gdHJ1ZTsgfVxuICBmcmVlV2FpdGluZygpIHsgdGhpcy53YWl0aW5nID0gZmFsc2U7IH1cbiAgc2V0V2lkZ2V0KHdpZGdldCkgeyB0aGlzLndpZGdldCA9IHdpZGdldDsgfVxuXG4gIG5vdGlmeUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlKSB7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlLFxuICAgICAgYWN0aW9uRGV0YWlsOiBudWxsXG4gICAgfTtcbiAgICB0aGlzLl9nbG9iYWxBY3Rpb25UcmlnZ2VyLm5leHQodGFibGVFdmVudCk7XG4gIH1cblxuICBub3RpZnlJbmxpbmVBY3Rpb24odGFibGVBY3Rpb25FdmVudDogVGFibGVBY3Rpb25FdmVudCkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlRXZlbnQgPSB7XG4gICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVDb2RlLFxuICAgICAgYWN0aW9uQ29kZTogdGFibGVBY3Rpb25FdmVudC5hY3Rpb25Db2RlLFxuICAgICAgYWN0aW9uRGV0YWlsOiB7XG4gICAgICAgIHJlY29yZElkOiB0YWJsZUFjdGlvbkV2ZW50LnJlY29yZElkLFxuICAgICAgICByZWNvcmREYXRhOiB0YWJsZUFjdGlvbkV2ZW50LnJlY29yZERhdGFcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuX2lubGluZUFjdGlvblRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgfVxuXG4gIG5vdGlmeVJlY29yZFNlbGVjdGlvbihyZWNvcmRJZCkge1xuICAgIGNvbnN0IHJlY29yZCA9IHRoaXMuZ2V0VGFibGVSZWNvcmQocmVjb3JkSWQpO1xuICAgIGlmICghcmVjb3JkKSB7IHJldHVybjsgfVxuICAgIHJlY29yZC50b2dnbGVTZWxlY3QoKTtcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlID8/IDE7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlOiBudWxsLFxuICAgICAgYWN0aW9uRGV0YWlsOiB7XG4gICAgICAgIHJlY29yZElkOiByZWNvcmQucmVjb3JkSWQsXG4gICAgICAgIHJlY29yZERhdGE6IHJlY29yZC5yZWNvcmREYXRhXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnJlY29yZFNlbGVjdGlvblRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgfVxuXG4gIG5vdGlmeVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlKSB7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlLFxuICAgICAgYWN0aW9uRGV0YWlsOiB7XG4gICAgICAgIHNlbGVjdGVkUmVjb3JkczogdGhpcy5zZWxlY3RlZFJlY29yZHNcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuX3NlbGVjdGlvbkFjdGlvblRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgfVxuXG4gIG5vdGlmeUdldERhdGFBY3Rpb24ocmVxdWVzdGVkUGFnZSA9IG51bGwpIHtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gICAgdGhpcy5yZXF1ZXN0ZWRQYWdlID0gcmVxdWVzdGVkUGFnZSB8fCB0aGlzLmN1cnJlbnRQYWdlIHx8IDE7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlOiBudWxsLFxuICAgICAgYWN0aW9uRGV0YWlsOiBudWxsLFxuICAgIH07XG4gICAgdGhpcy5fZ2V0RGF0YVRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNsZWFuKCkge1xuICAgIHRoaXMudGFibGVSZWNvcmRzID0gW107XG4gICAgdGhpcy51blNlbGVjdEFsbCgpO1xuICAgIHRoaXMudGFibGVSZWNvcmRPYmogPSB7fTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmFsbFNlbGVjdGVkLCB0cnVlKTtcbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5mb3JFYWNoKHJlY29yZCA9PiByZWNvcmQuc2VsZWN0KCkpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5zZWxlY3RlZFJlY29yZHMsIHRoaXMuZ2V0U2VsZWN0ZWRSZWNvcmRzKCkpO1xuICAgIHJldHVybiB0cnVlO1xuXG4gIH1cblxuICB1blNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuYWxsU2VsZWN0ZWQsIGZhbHNlKTtcbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5mb3JFYWNoKHJlY29yZCA9PiByZWNvcmQudW5zZWxlY3QoKSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLnNlbGVjdGVkUmVjb3JkcywgdGhpcy5nZXRTZWxlY3RlZFJlY29yZHMoKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBzZXRUYWJsZVJlY29yZHModGFibGVSZWNvcmRzLCBhcHBlbmQpIHtcbiAgICBpZiAoIWFwcGVuZCkge1xuICAgICAgdGhpcy50YWJsZVJlY29yZHMgPSBbXTtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy5hbGxTZWxlY3RlZCwgZmFsc2UpO1xuICAgICAgdGhpcy50YWJsZVJlY29yZHMuZm9yRWFjaChyZWNvcmQgPT4gcmVjb3JkLnVuc2VsZWN0KCkpO1xuICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLnNlbGVjdGVkUmVjb3JkcywgW10pO1xuICAgICAgdGhpcy50YWJsZVJlY29yZE9iaiA9IHt9O1xuICAgIH1cbiAgICBjb25zdCBuZXdSZWNvcmRzT2JqID0geyAuLi50aGlzLnRhYmxlUmVjb3JkT2JqIH07XG4gICAgY29uc3QgbmV3UmVjb3JkcyA9IFsuLi50aGlzLnRhYmxlUmVjb3Jkc107XG4gICAgZm9yIChjb25zdCB0YWJsZVJlY29yZCBvZiB0YWJsZVJlY29yZHMpIHtcbiAgICAgIGNvbnN0IHJlY29yZFJlY2VpdmVkOiBUYWJsZVJlY29yZERhdGEgPSBuZXcgVGFibGVSZWNvcmREYXRhKHRhYmxlUmVjb3JkLCB0aGlzLmNvbHVtbnMsIHRoaXMuc2VsZWN0aW9uRmllbGQpO1xuICAgICAgY29uc3QgcmVjb3JkSWRLZXkgPSByZWNvcmRSZWNlaXZlZC5yZWNvcmRJZEtleTtcbiAgICAgIG5ld1JlY29yZHMucHVzaChyZWNvcmRSZWNlaXZlZCk7XG4gICAgICBuZXdSZWNvcmRzT2JqW3JlY29yZElkS2V5XSA9IHJlY29yZFJlY2VpdmVkO1xuICAgIH1cbiAgICB0aGlzLnRhYmxlUmVjb3JkcyA9IG5ld1JlY29yZHM7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLnNlbGVjdGVkUmVjb3JkcywgdGhpcy5nZXRTZWxlY3RlZFJlY29yZHMoKSk7XG4gICAgdGhpcy50YWJsZVJlY29yZE9iaiA9IG5ld1JlY29yZHNPYmo7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICB9XG5cbiAgYXBwZW5kUmVjb3JkcyhyZWNvcmRzKSB7IHRoaXMuc2V0VGFibGVSZWNvcmRzKHJlY29yZHMsIHRydWUpOyB9XG4gIHJlcGxhY2VSZWNvcmRzKHJlY29yZHMpIHsgdGhpcy5zZXRUYWJsZVJlY29yZHMocmVjb3JkcywgZmFsc2UpOyB9XG5cbiAgc2V0VGFibGVBcHBlbmQoYXBwZW5kOiBib29sZWFuKSB7IHRoaXMuX2FwcGVuZFBhZ2VzID0gYXBwZW5kIH1cblxuICBjaGFuZ2VQYWdlKHJlcXVlc3RlZFBhZ2UpIHtcbiAgICBpZiAodGhpcy5jbGllbnRQYWdpbmcpIHtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy5jdXJyZW50UGFnZSwgcmVxdWVzdGVkUGFnZSk7XG4gICAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm90aWZ5R2V0RGF0YUFjdGlvbihyZXF1ZXN0ZWRQYWdlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWaXNpYmxlUmVjb3JkcygpIHtcbiAgICBsZXQgdmlzaWJsZVJlY29yZHM6IGFueVtdO1xuICAgIGlmICh0aGlzLmNsaWVudFBhZ2luZykge1xuICAgICAgbGV0IGZpbHRlcmVkUmVjb3JkcyA9IHRoaXMuZ2V0RmlsdGVyZWRSZWNvcmRzKCk7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMudG90YWxSZWNvcmRzTnVtYmVyLCBmaWx0ZXJlZFJlY29yZHMubGVuZ3RoKTtcbiAgICAgIGNvbnN0IHNsaWNlTnVtYmVyMSA9ICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnJlY29yZHNQZXJQYWdlO1xuICAgICAgY29uc3Qgc2xpY2VOdW1iZXIyID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucmVjb3Jkc1BlclBhZ2UgKyB0aGlzLnJlY29yZHNQZXJQYWdlXG4gICAgICB2aXNpYmxlUmVjb3JkcyA9IGZpbHRlcmVkUmVjb3Jkcy5zbGljZShzbGljZU51bWJlcjEsIHNsaWNlTnVtYmVyMik7XG4gICAgICBjb25zdCByZWNvcmRzTGFzdFBhZ2UgPSB0aGlzLnRvdGFsUmVjb3Jkc051bWJlciAlIHRoaXMucmVjb3Jkc1BlclBhZ2U7XG4gICAgICBjb25zdCB0b3RhbFBhZ2VzID0gTWF0aC50cnVuYyh0aGlzLnRvdGFsUmVjb3Jkc051bWJlciAvIHRoaXMucmVjb3Jkc1BlclBhZ2UgKyAocmVjb3Jkc0xhc3RQYWdlID8gMSA6IDApKTtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID4gdG90YWxQYWdlcykge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdG90YWxQYWdlcyB8fCAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2aXNpYmxlUmVjb3JkcyA9IHRoaXMudGFibGVSZWNvcmRzO1xuICAgIH1cbiAgICB0aGlzLnNldEF0dHIoYXR0cnMudmlzaWJsZVJlY29yZHMsIHZpc2libGVSZWNvcmRzKTtcbiAgfVxuXG4gIHVwZGF0ZUZyb21TZXJ2ZXIodGFibGVSZWNlaXZlZCkge1xuICAgIHRoaXMucmVxdWVzdGVkUGFnZSA9IDE7XG4gICAgY29uc3QgeyB2aXNpYmxlID0gdHJ1ZSwgdG90YWxQYWdlcyA9IDEsIHJlY29yZHNOdW1iZXIsIGN1cnJlbnRQYWdlID0gMSwgcmVjb3Jkc1BlclBhZ2UsXG4gICAgICB0b3RhbFJlY29yZHNOdW1iZXIsIHNvcnRpbmdDb2x1bW4sIHNvcnRpbmdEaXJlY3Rpb24sIHRhYmxlUmVjb3JkcyxcbiAgICAgIGFjdGlvbnMsIGZpZWxkcyxcbiAgICB9ID0gdGFibGVSZWNlaXZlZDtcbiAgICB0aGlzLnZpc2libGUgPSB2aXNpYmxlO1xuICAgIGlmIChhY3Rpb25zKSB7XG4gICAgICBPYmplY3Qua2V5cyhhY3Rpb25zKS5mb3JFYWNoKGFjdGlvbkNvZGUgPT4ge1xuICAgICAgICBjb25zdCB0YmxBY3Rpb24gPSB0aGlzLmdldEFjdGlvbihhY3Rpb25Db2RlKTtcbiAgICAgICAgY29uc3QgYWN0aW9uUmVjZWl2ZWQgPSBhY3Rpb25zW2FjdGlvbkNvZGVdO1xuICAgICAgICBpZiAoYWN0aW9uUmVjZWl2ZWQudmlzaWJsZSA9PT0gdHJ1ZSB8fCBhY3Rpb25SZWNlaXZlZC52aXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgIChhY3Rpb25SZWNlaXZlZC52aXNpYmxlID09PSB0cnVlKSAmJiB0YmxBY3Rpb24uc2hvdygpO1xuICAgICAgICAgIChhY3Rpb25SZWNlaXZlZC52aXNpYmxlID09PSBmYWxzZSkgJiYgdGJsQWN0aW9uLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uUmVjZWl2ZWQuZW5hYmxlZCA9PT0gdHJ1ZSB8fCBhY3Rpb25SZWNlaXZlZC5lbmFibGVkID09PSBmYWxzZSkge1xuICAgICAgICAgIChhY3Rpb25SZWNlaXZlZC5lbmFibGVkID09PSB0cnVlKSAmJiB0YmxBY3Rpb24uZW5hYmxlKCk7XG4gICAgICAgICAgKGFjdGlvblJlY2VpdmVkLmVuYWJsZWQgPT09IGZhbHNlKSAmJiB0YmxBY3Rpb24uZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25SZWNlaXZlZC5zaG93T25TdGF0ZXMpIHtcbiAgICAgICAgICBhY3Rpb25SZWNlaXZlZC5zaG93T25TdGF0ZXM/LmZvckVhY2gobmV3U3RhdGUgPT4ge1xuICAgICAgICAgICAgdGJsQWN0aW9uLmFkZFZpc2libGVTdGF0ZShuZXdTdGF0ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdGlvblJlY2VpdmVkLmhpZGVPblN0YXRlcykge1xuICAgICAgICAgIGFjdGlvblJlY2VpdmVkLmhpZGVPblN0YXRlcz8uZm9yRWFjaChuZXdTdGF0ZSA9PiB7XG4gICAgICAgICAgICB0YmxBY3Rpb24ucmVtb3ZlVmlzaWJsZVN0YXRlKG5ld1N0YXRlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uUmVjZWl2ZWQuZW5hYmxlT25TdGF0ZXMpIHtcbiAgICAgICAgICBhY3Rpb25SZWNlaXZlZC5lbmFibGVPblN0YXRlcz8uZm9yRWFjaChuZXdTdGF0ZSA9PiB7XG4gICAgICAgICAgICB0YmxBY3Rpb24uYWRkRW5hYmxlZFN0YXRlKG5ld1N0YXRlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uUmVjZWl2ZWQuZGlzYWJsZU9uU3RhdGVzKSB7XG4gICAgICAgICAgYWN0aW9uUmVjZWl2ZWQuZGlzYWJsZU9uU3RhdGVzPy5mb3JFYWNoKG5ld1N0YXRlID0+IHtcbiAgICAgICAgICAgIHRibEFjdGlvbi5yZW1vdmVFbmFibGVkU3RhdGUobmV3U3RhdGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9ICAgICAgIFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGZpZWxkcykuZm9yRWFjaChmaWVsZENvZGUgPT4ge1xuICAgICAgICBjb25zdCB0YmxGaWVsZCA9IHRoaXMuY29sdW1uRGVmaW5pdGlvbihmaWVsZENvZGUpO1xuICAgICAgICBjb25zdCBmaWVsZFJlY2VpdmVkID0gZmllbGRzW2ZpZWxkQ29kZV07XG4gICAgICAgIGlmIChmaWVsZFJlY2VpdmVkLnZpc2libGUgPT09IHRydWUgfHwgZmllbGRSZWNlaXZlZC52aXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgIChmaWVsZFJlY2VpdmVkLnZpc2libGUgPT09IHRydWUpICYmIHRibEZpZWxkLnNob3coKTtcbiAgICAgICAgICAoZmllbGRSZWNlaXZlZC52aXNpYmxlID09PSBmYWxzZSkgJiYgdGJsRmllbGQuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRhYmxlUmVjb3Jkcykge1xuICAgICAgdGhpcy50b3RhbFBhZ2VzID0gdG90YWxQYWdlcztcbiAgICAgIHRoaXMucmVjb3Jkc051bWJlciA9IHJlY29yZHNOdW1iZXI7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMuY3VycmVudFBhZ2UsICtjdXJyZW50UGFnZSk7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMucmVjb3Jkc1BlclBhZ2UsICtyZWNvcmRzUGVyUGFnZSk7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMudG90YWxSZWNvcmRzTnVtYmVyLCAodGhpcy5jbGllbnRQYWdpbmcpID8gdGFibGVSZWNvcmRzLmxlbmd0aCA6ICt0b3RhbFJlY29yZHNOdW1iZXIpO1xuICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLnNvcnRpbmcsIHtcbiAgICAgICAgY29sdW1uTmFtZTogc29ydGluZ0NvbHVtbiB8fCAnJyxcbiAgICAgICAgZGlyZWN0aW9uOiBzb3J0aW5nRGlyZWN0aW9uIHx8ICcnXG4gICAgICB9KTtcbiAgICAgIGlmICghdGhpcy5fYXBwZW5kUGFnZXMpIHtcbiAgICAgICAgdGhpcy5yZXBsYWNlUmVjb3Jkcyh0YWJsZVJlY29yZHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hcHBlbmRSZWNvcmRzKHRhYmxlUmVjb3Jkcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMud2FpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgfVxuXG4gIGdldFRhYmxlUmVjb3JkKHJlY29yZElkKSB7XG4gICAgY29uc3QgcmVjb3JkSWRLZXkgPSAodHlwZW9mIHJlY29yZElkID09PSAnb2JqZWN0JykgPyBKU09OLnN0cmluZ2lmeShyZWNvcmRJZCkgOiByZWNvcmRJZDtcbiAgICByZXR1cm4gKHRoaXMudGFibGVSZWNvcmRPYmogJiYgcmVjb3JkSWQgJiYgdGhpcy50YWJsZVJlY29yZE9ialtyZWNvcmRJZF0pXG4gICAgICA/IHRoaXMudGFibGVSZWNvcmRPYmpbcmVjb3JkSWRdIDogbnVsbDtcbiAgfVxuXG4gIGdldEFjdGlvbihhY3Rpb25Db2RlKSB7XG4gICAgcmV0dXJuICh0aGlzLl9hY3Rpb25zT2JqICYmIGFjdGlvbkNvZGUgJiYgdGhpcy5fYWN0aW9uc09ialthY3Rpb25Db2RlXSlcbiAgICAgID8gdGhpcy5fYWN0aW9uc09ialthY3Rpb25Db2RlXSA6IG51bGw7XG4gIH1cblxuICBnZXRBY3Rpb25zKGFjdGlvbkNsYXNzOiBzdHJpbmcgPSB0aGlzLl9mb3JtQ29uZmlnLnRhYmxlQWN0aW9ucy5pbmxpbmUsIGFjdGlvblR5cGVzOiBzdHJpbmdbXSA9IG51bGwpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucy5maWx0ZXIoYWN0aW9uRGVmID0+IHtcbiAgICAgIGNvbnN0IHR5cGVJbmNsdWRlZCA9IChhY3Rpb25UeXBlcykgPyBhY3Rpb25UeXBlcy5pbmNsdWRlcyhhY3Rpb25EZWYuYWN0aW9uVHlwZSkgOiB0cnVlO1xuICAgICAgcmV0dXJuIGFjdGlvbkRlZi5hY3Rpb25DbGFzcyA9PT0gYWN0aW9uQ2xhc3MgJiYgdHlwZUluY2x1ZGVkO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gRmlsdHJvc1xuXG4gIHNldEZpbHRlckJ5SWQoaWQpIHtcbiAgICBpZiAodGhpcy5yZXN0cmljdGVkSWQgPT09IGlkKSB7IHJldHVybjsgfVxuICAgIHRoaXMucmVzdHJpY3RlZElkID0gaWQ7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICB9XG5cbiAgY2xlYW5JZEZpbHRlcigpIHtcbiAgICBpZiAodGhpcy5yZXN0cmljdGVkSWQgPT09IG51bGwpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5yZXN0cmljdGVkSWQgPSBudWxsO1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgfVxuXG4gIHNldEdsb2JhbEZpbHRlclN0cmluZyh0ZXh0LCBub3RpZnlDb21wb25lbnQgPSB0cnVlKSB7XG4gICAgdGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmdzID0gdGV4dC5zcGxpdCgnICcpLmZpbHRlcih0ID0+IHQgJiYgdC50cmltKCkubGVuZ3RoID4gMCkubWFwKHQgPT4gdC50cmltKCkpID8/IFtdO1xuICAgIGlmICh0aGlzLmNsaWVudFBhZ2luZykge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKDEpO1xuICAgIH1cbiAgICBpZiAobm90aWZ5Q29tcG9uZW50KSB7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMuZ2xvYmFsRmlsdGVyU3RyaW5nLCB0ZXh0LnRyaW0oKSk7XG4gICAgfVxuICB9XG5cbiAgYWRkRmlsdGVyRGVmaW5pdGlvbihjb2x1bW5OYW1lLCBmaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgY29uc3QgdGFibGVDb2x1bW4gPSB0aGlzLmNvbHVtbkRlZmluaXRpb24oY29sdW1uTmFtZSk7XG4gICAgdGFibGVDb2x1bW4gJiYgdGFibGVDb2x1bW4uYWRkRmlsdGVyRGVmaW5pdGlvbihmaWx0ZXJEZWZpbml0aW9uKTtcbiAgfVxuXG4gIGdldEZpbHRlcmVkUmVjb3JkcygpIHtcbiAgICBsZXQgZmlsdGVyZWRSZWNvcmRzID0gdGhpcy50YWJsZVJlY29yZHM7XG4gICAgaWYgKHRoaXMucmVzdHJpY3RlZElkKSB7XG4gICAgICBmaWx0ZXJlZFJlY29yZHMgPSBmaWx0ZXJlZFJlY29yZHMuZmlsdGVyKHJlY29yZCA9PiByZWNvcmQucmVjb3JkSWQgPT09IHRoaXMucmVzdHJpY3RlZElkKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2xvYmFsRmlsdGVyU3RyaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJlZFJlY29yZHMgPSBmaWx0ZXJlZFJlY29yZHMuZmlsdGVyKHJlY29yZCA9PiByZWNvcmQuaGFzUGF0dGVybih0aGlzLmdsb2JhbEZpbHRlclN0cmluZ3MsIHRoaXMuX3RhYmxlQ29sdW1uT2JqKSk7XG4gICAgfVxuICAgIGNvbnN0IGNvbHVtbkZpbHRlcnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiBjb2x1bW4uZmlsdGVyKS5tYXAoY29sdW1uID0+IGNvbHVtbi5maWx0ZXIpO1xuICAgIGlmIChjb2x1bW5GaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZpbHRlcmVkUmVjb3JkcyA9IGZpbHRlcmVkUmVjb3Jkcy5maWx0ZXIocmVjb3JkID0+IHJlY29yZC5oYXNDb25kaXRpb24oY29sdW1uRmlsdGVycykpO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWRSZWNvcmRzO1xuICB9XG5cbiAgZ2V0Q29sdW1uRmlsdGVyKGNvbHVtbk5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHRhYmxlQ29sdW1uID0gdGhpcy5jb2x1bW5EZWZpbml0aW9uKGNvbHVtbk5hbWUpO1xuICAgIHJldHVybiB0YWJsZUNvbHVtbj8uZmlsdGVyID8/IG51bGw7XG4gIH1cblxuICBhZGRDb2x1bW5GaWx0ZXIoY29sdW1uTmFtZTogc3RyaW5nLCBjb2x1bW5WYWx1ZXM6IGFueSB8IGFueVtdLCBvcGVyYXRvcjogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICBjb25zdCB0YWJsZUNvbHVtbiA9IHRoaXMuY29sdW1uRGVmaW5pdGlvbihjb2x1bW5OYW1lKTtcbiAgICBjb25zdCBjb2x1bW5GaWx0ZXJEZWZpbml0aW9uID0gdGFibGVDb2x1bW4/LmZpbHRlckRlZmluaXRpb24gPz8gbnVsbDtcbiAgICBpZiAoIWNvbHVtbkZpbHRlckRlZmluaXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGFibGVDb2x1bW4gJiYgdGFibGVDb2x1bW4uYWRkRmlsdGVyKGNvbHVtblZhbHVlcywgb3BlcmF0b3IpO1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgfVxuXG4gIHJlbW92ZUNvbHVtbkZpbHRlcihjb2x1bW5OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0YWJsZUNvbHVtbiA9IHRoaXMuY29sdW1uRGVmaW5pdGlvbihjb2x1bW5OYW1lKTtcbiAgICB0YWJsZUNvbHVtbiAmJiB0YWJsZUNvbHVtbi5yZW1vdmVGaWx0ZXIoKTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICBnZXQgY3VycmVudEZpbHRlcigpIHtcbiAgICBjb25zdCBjb21wYWN0RmlsdGVyOiBhbnkgPSB7XG4gICAgICBzaW1wbGVGaWx0ZXJXb3JkczogdGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmdzLFxuICAgICAgYWR2YW5jZWRGaWx0ZXI6IFtdLFxuICAgIH07XG4gICAgY29uc3QgY29sdW1uRmlsdGVycyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5maWx0ZXIpLm1hcChjb2x1bW4gPT4gY29sdW1uLmZpbHRlcik7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvbHVtbkZpbHRlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBjb2x1bW5GaWx0ZXIgPSBjb2x1bW5GaWx0ZXJzW2luZGV4XTtcbiAgICAgIGNvbXBhY3RGaWx0ZXIuYWR2YW5jZWRGaWx0ZXIucHVzaCh7XG4gICAgICAgIGZpZWxkQ29kZTogY29sdW1uRmlsdGVyPy5maWVsZENvZGUsXG4gICAgICAgIG9wZXJhdG9yOiBjb2x1bW5GaWx0ZXI/Lm9wZXJhdG9yLFxuICAgICAgICBmaWVsZFZhbHVlMTogY29sdW1uRmlsdGVyPy52YWx1ZXNbMF0sXG4gICAgICAgIGZpZWxkVmFsdWUyOiBjb2x1bW5GaWx0ZXI/LnZhbHVlc1sxXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gY29tcGFjdEZpbHRlcjtcbiAgfVxuXG4gIC8vIE9yZGVuYW1pZW50byBkZSByZWdpc3Ryb3MgbG9jYWxcblxuICBzb3J0KGNvbHVtbk5hbWUsIGRpcmVjdGlvbikge1xuICAgIHRoaXMuc2V0UmVxdWlyZWRPcmRlcihjb2x1bW5OYW1lLCBkaXJlY3Rpb24pO1xuICAgIGlmICh0aGlzLmNsaWVudFBhZ2luZykge1xuICAgICAgdGhpcy5sb2NhbFNvcnREYXRhKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub3RpZnlHZXREYXRhQWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UmVxdWlyZWRPcmRlcihjb2x1bW5GaWVsZCwgZGlyZWN0aW9uID0gbnVsbCkge1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5zb3J0aW5nLCB7XG4gICAgICBjb2x1bW5OYW1lOiBjb2x1bW5GaWVsZCxcbiAgICAgIGRpcmVjdGlvbjogKGRpcmVjdGlvbiA9PT0gJ2FzY2VuZCcpID8gVEFCTEVfU09SVF9BU0NFTkRJTkcgOiBUQUJMRV9TT1JUX0RFU0NFTkRJTkcsXG4gICAgfSk7XG4gIH1cblxuICBsb2NhbFNvcnREYXRhKCkge1xuICAgIGlmICghdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUgfHwgIXRoaXMuc29ydGluZy5kaXJlY3Rpb24pIHsgcmV0dXJuOyB9XG4gICAgdGhpcy50YWJsZVJlY29yZHMuc29ydCgoYSwgYikgPT4gdGhpcy5yZWNvcmRDb21wYXJlKGEsIGIsIHRoaXMuc29ydGluZy5jb2x1bW5OYW1lLCB0aGlzLnNvcnRpbmcuZGlyZWN0aW9uKSk7XG4gICAgLy90aGlzLnVuU2VsZWN0QWxsKCk7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICB9XG5cbiAgcmVjb3JkQ29tcGFyZShyZWNvcmRBOiBUYWJsZVJlY29yZERhdGEsIHJlY29yZEI6IFRhYmxlUmVjb3JkRGF0YSwgY29sdW1uQ29tcGFyZSwgZGlyZWN0aW9uKSB7XG4gICAgY29uc3QgcmVjb3JkQVZhbHVlID0gcmVjb3JkQS5nZXRGaWVsZFZhbHVlKGNvbHVtbkNvbXBhcmUpO1xuICAgIGNvbnN0IHJlY29yZEJWYWx1ZSA9IHJlY29yZEIuZ2V0RmllbGRWYWx1ZShjb2x1bW5Db21wYXJlKTtcbiAgICBjb25zdCByZWNvcmRBQ29sdW1uID0gaXNOYU4ocmVjb3JkQVZhbHVlKSA/IHJlY29yZEFWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogK3JlY29yZEFWYWx1ZTtcbiAgICBjb25zdCByZWNvcmRCQ29sdW1uID0gaXNOYU4ocmVjb3JkQlZhbHVlKSA/IHJlY29yZEJWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogK3JlY29yZEJWYWx1ZTtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBpZiAocmVjb3JkQUNvbHVtbiA8IHJlY29yZEJDb2x1bW4pIHtcbiAgICAgIHJlc3VsdCA9IC0xO1xuICAgIH0gZWxzZSBpZiAocmVjb3JkQUNvbHVtbiA+IHJlY29yZEJDb2x1bW4pIHtcbiAgICAgIHJlc3VsdCA9IDE7XG4gICAgfVxuICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFRBQkxFX1NPUlRfQVNDRU5ESU5HID8gcmVzdWx0IDogLXJlc3VsdDtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1TdGF0ZUNoYW5nZUN1c3RvbVN1YnNjcmliZShmb3JtLCBmb3JtQ2hhbmdlU3ViamVjdCkge1xuICAgIHRoaXMuY29sdW1ucz8uZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgY29sdW1uPy5jb25uZWN0V2l0aFBhcmVudEZvcm0oZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpO1xuICAgIH0pO1xuICAgIHRoaXMuX2FjdGlvbnM/LmZvckVhY2goYWN0aW9uID0+IHtcbiAgICAgIGFjdGlvbj8uY29ubmVjdFdpdGhQYXJlbnRGb3JtKGZvcm0sIGZvcm1DaGFuZ2VTdWJqZWN0KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
469
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3QyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztBQUVyQyxNQUFNLEtBQUssR0FBRztJQUNaLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTtJQUM5RCxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkQsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQ3ZELFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtJQUNqRSxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUU7SUFDbkYsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzdDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7SUFDdkUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFO0lBQy9DLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRTtJQUNsRCxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO0lBQzFFLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRTtJQUM5RCxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUU7SUFDbkYsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtDQUN4RSxDQUFDO0FBY0YsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBMEMxQyxZQUFZLGFBQWEsRUFBRSxVQUFVO1FBQ25DLEtBQUssQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUExQ2xCLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFDakQseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUNqRCw0QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBQ3BELDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFDcEQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBR3JCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXpCLHVDQUF1QztRQUMvQix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMsd0JBQW1CLEdBQWEsRUFBRSxDQUFDO1FBR25DLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBSXJDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG1CQUFjLEdBQTZCLElBQUksQ0FBQztRQUtoRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBS3ZCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUMvQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUkxQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUszQixJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQy9GLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsRUFBRSxVQUFVLElBQUksS0FBSyxDQUFDO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLEVBQUUsZ0JBQWdCLElBQUksS0FBSyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLElBQUksS0FBSyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRS9CLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBd0IsRUFBRSxDQUFDO1lBQ3hDLEtBQUssTUFBTSxjQUFjLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDakQsTUFBTSxjQUFjLEdBQUc7b0JBQ3JCLEdBQUcsY0FBYztvQkFDakIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7aUJBQ2xDLENBQUM7Z0JBQ0YsTUFBTSxnQkFBZ0IsR0FBc0IsSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwRyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7YUFDckU7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDekIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3RELElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ2xCLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzt5QkFDbEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO3lCQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNyQyxhQUFhLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7eUJBQ2xELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQzt5QkFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDdEM7Z0JBQ0QsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssTUFBTSxjQUFjLElBQUksWUFBWSxFQUFFO2dCQUN6QyxNQUFNLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQzFEO1NBQ0Y7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDL0Usd0NBQXdDO1FBQ3hDLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRTtZQUN6QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDaEc7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVcsS0FBSyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxJQUFJLG1CQUFtQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUMvRCxJQUFJLG1CQUFtQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUMvRCxJQUFJLHNCQUFzQixLQUFLLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztJQUNyRSxJQUFJLHNCQUFzQixLQUFLLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztJQUNyRSxJQUFJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBRXJELFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxVQUFVLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRCxrQkFBa0IsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsb0JBQW9CLEtBQUssSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELHNCQUFzQixLQUFLLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RCxnQkFBZ0IsQ0FBQyxTQUFTLElBQXVCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsU0FBUyxLQUFLLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQyxXQUFXLEtBQUssSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTNDLGtCQUFrQixDQUFDLFVBQVU7UUFDM0IsTUFBTSxVQUFVLEdBQWU7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFVBQVU7WUFDVixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZ0JBQWtDO1FBQ25ELE1BQU0sVUFBVSxHQUFlO1lBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsVUFBVTtZQUN2QyxZQUFZLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7Z0JBQ25DLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVO2FBQ3hDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQVE7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBZTtZQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVSxFQUFFLElBQUk7WUFDaEIsWUFBWSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtnQkFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO2FBQzlCO1NBQ0YsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsVUFBVTtRQUM5QixNQUFNLFVBQVUsR0FBZTtZQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVTtZQUNWLFlBQVksRUFBRTtnQkFDWixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7YUFDdEM7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUk7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQWU7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUM7SUFFZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBTTtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFO1lBQ3RDLE1BQU0sY0FBYyxHQUFvQixJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDNUcsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztZQUMvQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2hDLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxjQUFjLENBQUM7U0FDN0M7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsY0FBYyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakUsY0FBYyxDQUFDLE1BQWUsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFOUQsVUFBVSxDQUFDLGFBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLGNBQXFCLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvRCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNsRSxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFBO1lBQ3ZGLGNBQWMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNuRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN0RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekcsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLElBQUksQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7YUFBTTtZQUNMLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFhO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUNwRixrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUNqRSxPQUFPLEVBQUUsTUFBTSxHQUNoQixHQUFHLGFBQWEsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN4QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzNDLElBQUksY0FBYyxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksY0FBYyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7b0JBQ3ZFLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3RELENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3hEO2dCQUNELElBQUksY0FBYyxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksY0FBYyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7b0JBQ3ZFLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3hELENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQzNEO2dCQUNELElBQUksY0FBYyxDQUFDLFlBQVksRUFBRTtvQkFDL0IsY0FBYyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzlDLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksY0FBYyxDQUFDLFlBQVksRUFBRTtvQkFDL0IsY0FBYyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzlDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsSUFBSSxjQUFjLENBQUMsY0FBYyxFQUFFO29CQUNqQyxjQUFjLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDaEQsU0FBUyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdEMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsSUFBSSxjQUFjLENBQUMsZUFBZSxFQUFFO29CQUNsQyxjQUFjLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDakQsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN6QyxDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxhQUFhLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxhQUFhLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRTtvQkFDckUsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDcEQsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDdEQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN4RyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQzFCLFVBQVUsRUFBRSxhQUFhLElBQUksRUFBRTtnQkFDL0IsU0FBUyxFQUFFLGdCQUFnQixJQUFJLEVBQUU7YUFDbEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQztTQUNGO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFRO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN6RixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTLENBQUMsVUFBVTtRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsY0FBc0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGNBQXdCLElBQUk7UUFDakcsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QyxNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLE9BQU8sU0FBUyxDQUFDLFdBQVcsS0FBSyxXQUFXLElBQUksWUFBWSxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7SUFFVixhQUFhLENBQUMsRUFBRTtRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxHQUFHLElBQUk7UUFDaEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFHLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxlQUFlLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGdCQUFnQjtRQUM5QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsV0FBVyxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzRjtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUN2SDtRQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQ3hGO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxVQUFrQjtRQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsT0FBTyxXQUFXLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQWtCLEVBQUUsWUFBeUIsRUFBRSxXQUEwQixJQUFJO1FBQzNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLHNCQUFzQixHQUFHLFdBQVcsRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7UUFDckUsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELFdBQVcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBa0I7UUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELFdBQVcsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE1BQU0sYUFBYSxHQUFRO1lBQ3pCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7WUFDM0MsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6RCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUztnQkFDbEMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRO2dCQUNoQyxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNyQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxrQ0FBa0M7SUFFbEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFNBQVMsR0FBRyxJQUFJO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMxQixVQUFVLEVBQUUsV0FBVztZQUN2QixTQUFTLEVBQUUsQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUI7U0FDbkYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUcscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBd0IsRUFBRSxPQUF3QixFQUFFLGFBQWEsRUFBRSxTQUFTO1FBQ3hGLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3RixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3RixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLGFBQWEsR0FBRyxhQUFhLEVBQUU7WUFDakMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2I7YUFBTSxJQUFJLGFBQWEsR0FBRyxhQUFhLEVBQUU7WUFDeEMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNaO1FBQ0QsT0FBTyxTQUFTLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0QsQ0FBQztJQUVRLDhCQUE4QixDQUFDLElBQUksRUFBRSxpQkFBaUI7UUFDN0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vZm9ybS5jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnQgfSBmcm9tICcuLi9lbGVtZW50JztcbmltcG9ydCB7IFJlY29yZFRhYmxlQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW4nO1xuaW1wb3J0IHsgVGFibGVBY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBUYWJsZVJlY29yZERhdGEgfSBmcm9tICcuL3Jvdy1kYXRhJztcblxuY29uc3QgVEFCTEVfU09SVF9BU0NFTkRJTkcgPSAnYXNjJztcbmNvbnN0IFRBQkxFX1NPUlRfREVTQ0VORElORyA9ICdkZXNjJztcblxuY29uc3QgYXR0cnMgPSB7XG4gIGFsbFNlbGVjdGVkOiB7IG5hbWU6ICdhbGxTZWxlY3RlZCcsIHByb3BhZ2F0ZTogJ2FsbFNlbGVjdGVkJyB9LFxuICB0YWJsZUNvZGU6IHsgbmFtZTogJ3RhYmxlQ29kZScsIHByb3BhZ2F0ZTogJ2NvZGUnIH0sXG4gIGNsaWVudFBhZ2luZzogeyBuYW1lOiAnY2xpZW50UGFnaW5nJywgcHJvcGFnYXRlOiBudWxsIH0sXG4gIGdsb2JhbFNlYXJjaDogeyBuYW1lOiAnZ2xvYmFsU2VhcmNoJywgcHJvcGFnYXRlOiAnZ2xvYmFsU2VhcmNoJyB9LFxuICBnbG9iYWxGaWx0ZXJTdHJpbmc6IHsgbmFtZTogJ2dsb2JhbEZpbHRlclN0cmluZycsIHByb3BhZ2F0ZTogJ2dsb2JhbEZpbHRlclN0cmluZycgfSxcbiAgc29ydGluZzogeyBuYW1lOiAnc29ydGluZycsIHByb3BhZ2F0ZTogbnVsbCB9LFxuICByZWNvcmRzUGVyUGFnZTogeyBuYW1lOiAncmVjb3Jkc1BlclBhZ2UnLCBwcm9wYWdhdGU6ICdyZWNvcmRzUGVyUGFnZScgfSxcbiAgbGF5b3V0OiB7IG5hbWU6ICdsYXlvdXQnLCBwcm9wYWdhdGU6ICdsYXlvdXQnIH0sXG4gIGNvbHVtbnM6IHsgbmFtZTogJ2NvbHVtbnMnLCBwcm9wYWdhdGU6ICdjb2x1bW5zJyB9LFxuICBzZWxlY3RlZFJlY29yZHM6IHsgbmFtZTogJ3NlbGVjdGVkUmVjb3JkcycsIHByb3BhZ2F0ZTogJ3NlbGVjdGVkUmVjb3JkcycgfSxcbiAgY3VycmVudFBhZ2U6IHsgbmFtZTogJ2N1cnJlbnRQYWdlJywgcHJvcGFnYXRlOiAnY3VycmVudFBhZ2UnIH0sXG4gIHRvdGFsUmVjb3Jkc051bWJlcjogeyBuYW1lOiAndG90YWxSZWNvcmRzTnVtYmVyJywgcHJvcGFnYXRlOiAndG90YWxSZWNvcmRzTnVtYmVyJyB9LFxuICB2aXNpYmxlUmVjb3JkczogeyBuYW1lOiAndmlzaWJsZVJlY29yZHMnLCBwcm9wYWdhdGU6ICd2aXNpYmxlUmVjb3JkcycgfSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb25FdmVudCB7XG4gIGFjdGlvbkNvZGU6IHN0cmluZztcbiAgcmVjb3JkSWQ6IGFueTtcbiAgcmVjb3JkRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRXZlbnQge1xuICB0YWJsZUNvZGU6IHN0cmluZztcbiAgYWN0aW9uQ29kZTogc3RyaW5nIHwgbnVsbDtcbiAgYWN0aW9uRGV0YWlsOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBSZWNvcmRUYWJsZSBleHRlbmRzIEZvcm1FbGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5saW5lQWN0aW9uVHJpZ2dlciA9IG5ldyBTdWJqZWN0PFRhYmxlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2dsb2JhbEFjdGlvblRyaWdnZXIgPSBuZXcgU3ViamVjdDxUYWJsZUV2ZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZWNvcmRTZWxlY3Rpb25UcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uQWN0aW9uVHJpZ2dlciA9IG5ldyBTdWJqZWN0PFRhYmxlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2dldERhdGFUcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSBfdGFibGVDb2x1bW5PYmogPSB7fTtcbiAgcHJpdmF0ZSBfYXBwZW5kUGFnZXM6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FjdGlvbnM6IFRhYmxlQWN0aW9uW107XG4gIHByaXZhdGUgX2FjdGlvbnNPYmogPSB7fTtcblxuICAvLyBNZWNhbmlzbW9zIGRlIGZpbHRyYWRvIG51ZXZhIHZlcnNpw7NuXG4gIHByaXZhdGUgZ2xvYmFsRmlsdGVyU3RyaW5nOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBnbG9iYWxGaWx0ZXJTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHNlbGVjdGVkUmVjb3JkczogYW55O1xuICBwcml2YXRlIHJlc3RyaWN0ZWRJZDogYW55O1xuICBwcml2YXRlIGxheW91dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICB0YWJsZVJlY29yZHM6IFRhYmxlUmVjb3JkRGF0YVtdO1xuICB0YWJsZVJlY29yZE9iaiA9IHt9O1xuICB2aXNpYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW10gfCBudWxsID0gbnVsbDtcbiAgY29sdW1uczogUmVjb3JkVGFibGVDb2x1bW5bXTtcbiAgc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgc2VsZWN0aW9uQmFja2VuZDogYm9vbGVhbjtcbiAgc2VsZWN0aW9uRmllbGQ6IHN0cmluZztcbiAgYWxsU2VsZWN0ZWQgPSBmYWxzZTtcblxuICB0YWJsZUNvZGU6IHN0cmluZyA9ICcnO1xuICB0YWJsZVRpdGxlOiBzdHJpbmc7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgcmVxdWVzdGVkUGFnZTogbnVtYmVyO1xuICByZWNvcmRzUGVyUGFnZTogbnVtYmVyID0gMTA7XG4gIHRvdGFsUmVjb3Jkc051bWJlcjogbnVtYmVyID0gMDtcbiAgcmVjb3Jkc051bWJlcjogbnVtYmVyID0gMDtcbiAgc29ydGluZzogYW55O1xuXG4gIHdhaXRpbmc6IGJvb2xlYW47XG4gIGNsaWVudFBhZ2luZzogYm9vbGVhbiA9IHRydWU7XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHRhYmxlUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcih0YWJsZVJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICB0aGlzLnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcyA9IHRoaXMuX2Zvcm1Db25maWc/LnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcz8udGFibGVzID8/IFtdO1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZXMudGFibGU7XG4gICAgdGhpcy53YWl0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gMTtcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSAxO1xuICAgIHRoaXMuY29sdW1ucyA9IFtdO1xuICAgIHRoaXMuX3RhYmxlQ29sdW1uT2JqID0ge307XG4gICAgdGhpcy5fYWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuX2FjdGlvbnNPYmogPSB7fTtcbiAgICB0aGlzLnRhYmxlUmVjb3JkcyA9IFtdO1xuICAgIHRoaXMuZ2xvYmFsU2VhcmNoID0gZmFsc2U7XG4gICAgdGhpcy5yZXN0cmljdGVkSWQgPSBudWxsO1xuXG4gICAgdGhpcy50YWJsZVRpdGxlID0gdGFibGVSZWNlaXZlZC50YWJsZVRpdGxlO1xuICAgIHRoaXMuX2FwcGVuZFBhZ2VzID0gdGFibGVSZWNlaXZlZD8uYXBwZW5kID8/IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0YWJsZSA9IHRhYmxlUmVjZWl2ZWQ/LnNlbGVjdGFibGUgPz8gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3Rpb25CYWNrZW5kID0gdGFibGVSZWNlaXZlZD8uc2VsZWN0aW9uQmFja2VuZCA/PyBmYWxzZTtcbiAgICB0aGlzLnNvcnRhYmxlID0gdGFibGVSZWNlaXZlZD8uc29ydGFibGUgPz8gZmFsc2U7XG5cbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuYWxsU2VsZWN0ZWQsIGZhbHNlKTtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMudGFibGVDb2RlLCB0YWJsZVJlY2VpdmVkLnRhYmxlQ29kZSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmNsaWVudFBhZ2luZywgdGFibGVSZWNlaXZlZD8uY2xpZW50UGFnaW5nID8/IHRydWUpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5nbG9iYWxTZWFyY2gsIHRhYmxlUmVjZWl2ZWQ/LnNpbXBsZUZpbHRlciA/PyBmYWxzZSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmdsb2JhbEZpbHRlclN0cmluZywgJycpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5zb3J0aW5nLCB7IGNvbHVtbk5hbWU6ICcnLCBkaXJlY3Rpb246ICcnIH0pO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5yZWNvcmRzUGVyUGFnZSwgZm9ybUNvbmZpZy5kZWZhdWx0UmVjb3Jkc1BlclBhZ2UpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5sYXlvdXQsICcnKTtcblxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgY29uc3QgY29sdW1uczogUmVjb3JkVGFibGVDb2x1bW5bXSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBjb2x1bW5SZWNlaXZlZCBvZiB0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgICBjb25zdCBjb2x1bW5FbnJpY2hlZCA9IHtcbiAgICAgICAgICAuLi5jb2x1bW5SZWNlaXZlZCxcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzOiB0aGlzLnZpc2libGVTdGF0ZXMsXG4gICAgICAgICAgZW5hYmxlZFN0YXRlczogdGhpcy5lbmFibGVkU3RhdGVzXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZmluaXRpb246IFJlY29yZFRhYmxlQ29sdW1uID0gbmV3IFJlY29yZFRhYmxlQ29sdW1uKGNvbHVtbkVucmljaGVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgY29sdW1ucy5wdXNoKGNvbHVtbkRlZmluaXRpb24pO1xuICAgICAgICB0aGlzLl90YWJsZUNvbHVtbk9ialtjb2x1bW5EZWZpbml0aW9uLmZpZWxkQ29kZV0gPSBjb2x1bW5EZWZpbml0aW9uO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLmNvbHVtbnMsIGNvbHVtbnMpO1xuICAgIH1cbiAgICBpZiAodGFibGVSZWNlaXZlZC5hY3Rpb25zKSB7XG4gICAgICBjb25zdCB0YWJsZUFjdGlvbnMgPSB0YWJsZVJlY2VpdmVkLmFjdGlvbnMubWFwKG9iakRlZiA9PiB7XG4gICAgICAgIGxldCB2aXNpYmxlU3RhdGVzID0gb2JqRGVmLnZpc2libGVTdGF0ZXM7XG4gICAgICAgIGxldCBlbmFibGVkU3RhdGVzID0gb2JqRGVmLmVuYWJsZWRTdGF0ZXM7XG4gICAgICAgIGlmICghdmlzaWJsZVN0YXRlcykge1xuICAgICAgICAgIHZpc2libGVTdGF0ZXMgPSAob2JqRGVmLmFjdGlvbk1vZGVzIHx8ICcnKS5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMCk7XG4gICAgICAgICAgZW5hYmxlZFN0YXRlcyA9IChvYmpEZWYuYWN0aW9uTW9kZXMgfHwgJycpLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5vYmpEZWYsIHZpc2libGVTdGF0ZXMsIGVuYWJsZWRTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBhY3Rpb25SZWNlaXZlZCBvZiB0YWJsZUFjdGlvbnMpIHtcbiAgICAgICAgY29uc3QgaW5saW5lQWN0aW9uID0gbmV3IFRhYmxlQWN0aW9uKGFjdGlvblJlY2VpdmVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGlubGluZUFjdGlvbik7XG4gICAgICAgIHRoaXMuX2FjdGlvbnNPYmpbaW5saW5lQWN0aW9uLmFjdGlvbkNvZGVdID0gaW5saW5lQWN0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbkZpZWxkID0gKHRoaXMuc2VsZWN0YWJsZSkgPyB0YWJsZVJlY2VpdmVkPy5zZWxlY3Rpb25GaWVsZCA6IG51bGw7XG4gICAgLy8gRmlsdHJvcyBwcmVkZWZpbmlkb3MgZW4gZWwgZm9ybXVsYXJpb1xuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpbHRlcnMpIHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YWJsZVJlY2VpdmVkLmZpbHRlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIHRoaXMuYWRkRmlsdGVyRGVmaW5pdGlvbih0YWJsZVJlY2VpdmVkLmZpbHRlcnNbaW5kZXhdLmZpZWxkQ29kZSwgdGFibGVSZWNlaXZlZC5maWx0ZXJzW2luZGV4XSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbHVtbk5hbWVzKCkgeyByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fdGFibGVDb2x1bW5PYmopOyB9XG4gIGdldCBpbmxpbmVBY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5faW5saW5lQWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2xvYmFsQWN0aW9uVHJpZ2dlcigpIHsgcmV0dXJuIHRoaXMuX2dsb2JhbEFjdGlvblRyaWdnZXI7IH1cbiAgZ2V0IHNlbGVjdGlvbkFjdGlvblRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyOyB9XG4gIGdldCByZWNvcmRTZWxlY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5fcmVjb3JkU2VsZWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2V0RGF0YVRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9nZXREYXRhVHJpZ2dlcjsgfVxuXG4gIGdldExheW91dCgpIHsgcmV0dXJuIHRoaXMubGF5b3V0OyB9XG4gIHNldExheW91dChsYXlvdXQpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmxheW91dCwgbGF5b3V0KTsgfVxuICBoYXNBY3Rpb25zKCkgeyByZXR1cm4gKHRoaXMuX2FjdGlvbnMubGVuZ3RoID4gMCk7IH1cbiAgZ2V0U2VsZWN0ZWRSZWNvcmRzKCkgeyByZXR1cm4gdGhpcy50YWJsZVJlY29yZHMuZmlsdGVyKHJlYyA9PiByZWMuc2VsZWN0ZWQpLm1hcChyZWMgPT4gcmVjLnJlY29yZElkKTsgfVxuICBhY3RpdmF0ZUdsb2JhbFNlYXJjaCgpIHsgdGhpcy5nbG9iYWxTZWFyY2ggPSB0cnVlOyB9XG4gIGluYWN0aXZhdGVHbG9iYWxTZWFyY2goKSB7IHRoaXMuZ2xvYmFsU2VhcmNoID0gZmFsc2U7IH1cbiAgY29sdW1uRGVmaW5pdGlvbihmaWVsZENvZGUpOiBSZWNvcmRUYWJsZUNvbHVtbiB7IHJldHVybiB0aGlzLl90YWJsZUNvbHVtbk9ialtmaWVsZENvZGVdOyB9XG4gIHB1dE9uV2FpdCgpIHsgdGhpcy53YWl0aW5nID0gdHJ1ZTsgfVxuICBmcmVlV2FpdGluZygpIHsgdGhpcy53YWl0aW5nID0gZmFsc2U7IH1cbiAgc2V0V2lkZ2V0KHdpZGdldCkgeyB0aGlzLndpZGdldCA9IHdpZGdldDsgfVxuXG4gIG5vdGlmeUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlKSB7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlLFxuICAgICAgYWN0aW9uRGV0YWlsOiBudWxsXG4gICAgfTtcbiAgICB0aGlzLl9nbG9iYWxBY3Rpb25UcmlnZ2VyLm5leHQodGFibGVFdmVudCk7XG4gIH1cblxuICBub3RpZnlJbmxpbmVBY3Rpb24odGFibGVBY3Rpb25FdmVudDogVGFibGVBY3Rpb25FdmVudCkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlRXZlbnQgPSB7XG4gICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVDb2RlLFxuICAgICAgYWN0aW9uQ29kZTogdGFibGVBY3Rpb25FdmVudC5hY3Rpb25Db2RlLFxuICAgICAgYWN0aW9uRGV0YWlsOiB7XG4gICAgICAgIHJlY29yZElkOiB0YWJsZUFjdGlvbkV2ZW50LnJlY29yZElkLFxuICAgICAgICByZWNvcmREYXRhOiB0YWJsZUFjdGlvbkV2ZW50LnJlY29yZERhdGFcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuX2lubGluZUFjdGlvblRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgfVxuXG4gIG5vdGlmeVJlY29yZFNlbGVjdGlvbihyZWNvcmRJZCkge1xuICAgIGNvbnNvbGUubG9nKCdub3RpZnlSZWNvcmRTZWxlY3Rpb24gMScpO1xuICAgIGNvbnN0IHJlY29yZCA9IHRoaXMuZ2V0VGFibGVSZWNvcmQocmVjb3JkSWQpO1xuICAgIGNvbnNvbGUubG9nKCdub3RpZnlSZWNvcmRTZWxlY3Rpb24gMicpO1xuICAgIGlmICghcmVjb3JkKSB7IHJldHVybjsgfVxuICAgIGNvbnNvbGUubG9nKCdub3RpZnlSZWNvcmRTZWxlY3Rpb24gMycpO1xuICAgIHJlY29yZC50b2dnbGVTZWxlY3QoKTtcbiAgICBjb25zb2xlLmxvZygnbm90aWZ5UmVjb3JkU2VsZWN0aW9uIDQnKTtcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlID8/IDE7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlOiBudWxsLFxuICAgICAgYWN0aW9uRGV0YWlsOiB7XG4gICAgICAgIHJlY29yZElkOiByZWNvcmQucmVjb3JkSWQsXG4gICAgICAgIHJlY29yZERhdGE6IHJlY29yZC5yZWNvcmREYXRhXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zb2xlLmxvZyhgbm90aWZ5UmVjb3JkU2VsZWN0aW9uIDUgJHtKU09OLnN0cmluZ2lmeSh0YWJsZUV2ZW50LG51bGwsIDIpfWApO1xuICAgIHRoaXMucmVjb3JkU2VsZWN0aW9uVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgbm90aWZ5U2VsZWN0aW9uQWN0aW9uKGFjdGlvbkNvZGUpIHtcbiAgICBjb25zdCB0YWJsZUV2ZW50OiBUYWJsZUV2ZW50ID0ge1xuICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlQ29kZSxcbiAgICAgIGFjdGlvbkNvZGUsXG4gICAgICBhY3Rpb25EZXRhaWw6IHtcbiAgICAgICAgc2VsZWN0ZWRSZWNvcmRzOiB0aGlzLnNlbGVjdGVkUmVjb3Jkc1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5fc2VsZWN0aW9uQWN0aW9uVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgbm90aWZ5R2V0RGF0YUFjdGlvbihyZXF1ZXN0ZWRQYWdlID0gbnVsbCkge1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSByZXF1ZXN0ZWRQYWdlIHx8IHRoaXMuY3VycmVudFBhZ2UgfHwgMTtcbiAgICBjb25zdCB0YWJsZUV2ZW50OiBUYWJsZUV2ZW50ID0ge1xuICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlQ29kZSxcbiAgICAgIGFjdGlvbkNvZGU6IG51bGwsXG4gICAgICBhY3Rpb25EZXRhaWw6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLl9nZXREYXRhVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy50YWJsZVJlY29yZHMgPSBbXTtcbiAgICB0aGlzLnVuU2VsZWN0QWxsKCk7XG4gICAgdGhpcy50YWJsZVJlY29yZE9iaiA9IHt9O1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuYWxsU2VsZWN0ZWQsIHRydWUpO1xuICAgIHRoaXMudGFibGVSZWNvcmRzLmZvckVhY2gocmVjb3JkID0+IHJlY29yZC5zZWxlY3QoKSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLnNlbGVjdGVkUmVjb3JkcywgdGhpcy5nZXRTZWxlY3RlZFJlY29yZHMoKSk7XG4gICAgcmV0dXJuIHRydWU7XG5cbiAgfVxuXG4gIHVuU2VsZWN0QWxsKCkge1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5hbGxTZWxlY3RlZCwgZmFsc2UpO1xuICAgIHRoaXMudGFibGVSZWNvcmRzLmZvckVhY2gocmVjb3JkID0+IHJlY29yZC51bnNlbGVjdCgpKTtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuc2VsZWN0ZWRSZWNvcmRzLCB0aGlzLmdldFNlbGVjdGVkUmVjb3JkcygpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHNldFRhYmxlUmVjb3Jkcyh0YWJsZVJlY29yZHMsIGFwcGVuZCkge1xuICAgIGlmICghYXBwZW5kKSB7XG4gICAgICB0aGlzLnRhYmxlUmVjb3JkcyA9IFtdO1xuICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLmFsbFNlbGVjdGVkLCBmYWxzZSk7XG4gICAgICB0aGlzLnRhYmxlUmVjb3Jkcy5mb3JFYWNoKHJlY29yZCA9PiByZWNvcmQudW5zZWxlY3QoKSk7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMuc2VsZWN0ZWRSZWNvcmRzLCBbXSk7XG4gICAgICB0aGlzLnRhYmxlUmVjb3JkT2JqID0ge307XG4gICAgfVxuICAgIGNvbnN0IG5ld1JlY29yZHNPYmogPSB7IC4uLnRoaXMudGFibGVSZWNvcmRPYmogfTtcbiAgICBjb25zdCBuZXdSZWNvcmRzID0gWy4uLnRoaXMudGFibGVSZWNvcmRzXTtcbiAgICBmb3IgKGNvbnN0IHRhYmxlUmVjb3JkIG9mIHRhYmxlUmVjb3Jkcykge1xuICAgICAgY29uc3QgcmVjb3JkUmVjZWl2ZWQ6IFRhYmxlUmVjb3JkRGF0YSA9IG5ldyBUYWJsZVJlY29yZERhdGEodGFibGVSZWNvcmQsIHRoaXMuY29sdW1ucywgdGhpcy5zZWxlY3Rpb25GaWVsZCk7XG4gICAgICBjb25zdCByZWNvcmRJZEtleSA9IHJlY29yZFJlY2VpdmVkLnJlY29yZElkS2V5O1xuICAgICAgbmV3UmVjb3Jkcy5wdXNoKHJlY29yZFJlY2VpdmVkKTtcbiAgICAgIG5ld1JlY29yZHNPYmpbcmVjb3JkSWRLZXldID0gcmVjb3JkUmVjZWl2ZWQ7XG4gICAgfVxuICAgIHRoaXMudGFibGVSZWNvcmRzID0gbmV3UmVjb3JkcztcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuc2VsZWN0ZWRSZWNvcmRzLCB0aGlzLmdldFNlbGVjdGVkUmVjb3JkcygpKTtcbiAgICB0aGlzLnRhYmxlUmVjb3JkT2JqID0gbmV3UmVjb3Jkc09iajtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICBhcHBlbmRSZWNvcmRzKHJlY29yZHMpIHsgdGhpcy5zZXRUYWJsZVJlY29yZHMocmVjb3JkcywgdHJ1ZSk7IH1cbiAgcmVwbGFjZVJlY29yZHMocmVjb3JkcykgeyB0aGlzLnNldFRhYmxlUmVjb3JkcyhyZWNvcmRzLCBmYWxzZSk7IH1cblxuICBzZXRUYWJsZUFwcGVuZChhcHBlbmQ6IGJvb2xlYW4pIHsgdGhpcy5fYXBwZW5kUGFnZXMgPSBhcHBlbmQgfVxuXG4gIGNoYW5nZVBhZ2UocmVxdWVzdGVkUGFnZSkge1xuICAgIGlmICh0aGlzLmNsaWVudFBhZ2luZykge1xuICAgICAgdGhpcy5zZXRBdHRyKGF0dHJzLmN1cnJlbnRQYWdlLCByZXF1ZXN0ZWRQYWdlKTtcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub3RpZnlHZXREYXRhQWN0aW9uKHJlcXVlc3RlZFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZpc2libGVSZWNvcmRzKCkge1xuICAgIGxldCB2aXNpYmxlUmVjb3JkczogYW55W107XG4gICAgaWYgKHRoaXMuY2xpZW50UGFnaW5nKSB7XG4gICAgICBsZXQgZmlsdGVyZWRSZWNvcmRzID0gdGhpcy5nZXRGaWx0ZXJlZFJlY29yZHMoKTtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy50b3RhbFJlY29yZHNOdW1iZXIsIGZpbHRlcmVkUmVjb3Jkcy5sZW5ndGgpO1xuICAgICAgY29uc3Qgc2xpY2VOdW1iZXIxID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucmVjb3Jkc1BlclBhZ2U7XG4gICAgICBjb25zdCBzbGljZU51bWJlcjIgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5yZWNvcmRzUGVyUGFnZSArIHRoaXMucmVjb3Jkc1BlclBhZ2VcbiAgICAgIHZpc2libGVSZWNvcmRzID0gZmlsdGVyZWRSZWNvcmRzLnNsaWNlKHNsaWNlTnVtYmVyMSwgc2xpY2VOdW1iZXIyKTtcbiAgICAgIGNvbnN0IHJlY29yZHNMYXN0UGFnZSA9IHRoaXMudG90YWxSZWNvcmRzTnVtYmVyICUgdGhpcy5yZWNvcmRzUGVyUGFnZTtcbiAgICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLnRydW5jKHRoaXMudG90YWxSZWNvcmRzTnVtYmVyIC8gdGhpcy5yZWNvcmRzUGVyUGFnZSArIChyZWNvcmRzTGFzdFBhZ2UgPyAxIDogMCkpO1xuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiB0b3RhbFBhZ2VzKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0b3RhbFBhZ2VzIHx8IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZpc2libGVSZWNvcmRzID0gdGhpcy50YWJsZVJlY29yZHM7XG4gICAgfVxuICAgIHRoaXMuc2V0QXR0cihhdHRycy52aXNpYmxlUmVjb3JkcywgdmlzaWJsZVJlY29yZHMpO1xuICB9XG5cbiAgdXBkYXRlRnJvbVNlcnZlcih0YWJsZVJlY2VpdmVkKSB7XG4gICAgdGhpcy5yZXF1ZXN0ZWRQYWdlID0gMTtcbiAgICBjb25zdCB7IHZpc2libGUgPSB0cnVlLCB0b3RhbFBhZ2VzID0gMSwgcmVjb3Jkc051bWJlciwgY3VycmVudFBhZ2UgPSAxLCByZWNvcmRzUGVyUGFnZSxcbiAgICAgIHRvdGFsUmVjb3Jkc051bWJlciwgc29ydGluZ0NvbHVtbiwgc29ydGluZ0RpcmVjdGlvbiwgdGFibGVSZWNvcmRzLFxuICAgICAgYWN0aW9ucywgZmllbGRzLFxuICAgIH0gPSB0YWJsZVJlY2VpdmVkO1xuICAgIHRoaXMudmlzaWJsZSA9IHZpc2libGU7XG4gICAgaWYgKGFjdGlvbnMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGFjdGlvbnMpLmZvckVhY2goYWN0aW9uQ29kZSA9PiB7XG4gICAgICAgIGNvbnN0IHRibEFjdGlvbiA9IHRoaXMuZ2V0QWN0aW9uKGFjdGlvbkNvZGUpO1xuICAgICAgICBjb25zdCBhY3Rpb25SZWNlaXZlZCA9IGFjdGlvbnNbYWN0aW9uQ29kZV07XG4gICAgICAgIGlmIChhY3Rpb25SZWNlaXZlZC52aXNpYmxlID09PSB0cnVlIHx8IGFjdGlvblJlY2VpdmVkLnZpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgKGFjdGlvblJlY2VpdmVkLnZpc2libGUgPT09IHRydWUpICYmIHRibEFjdGlvbi5zaG93KCk7XG4gICAgICAgICAgKGFjdGlvblJlY2VpdmVkLnZpc2libGUgPT09IGZhbHNlKSAmJiB0YmxBY3Rpb24uaGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25SZWNlaXZlZC5lbmFibGVkID09PSB0cnVlIHx8IGFjdGlvblJlY2VpdmVkLmVuYWJsZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgKGFjdGlvblJlY2VpdmVkLmVuYWJsZWQgPT09IHRydWUpICYmIHRibEFjdGlvbi5lbmFibGUoKTtcbiAgICAgICAgICAoYWN0aW9uUmVjZWl2ZWQuZW5hYmxlZCA9PT0gZmFsc2UpICYmIHRibEFjdGlvbi5kaXNhYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdGlvblJlY2VpdmVkLnNob3dPblN0YXRlcykge1xuICAgICAgICAgIGFjdGlvblJlY2VpdmVkLnNob3dPblN0YXRlcz8uZm9yRWFjaChuZXdTdGF0ZSA9PiB7XG4gICAgICAgICAgICB0YmxBY3Rpb24uYWRkVmlzaWJsZVN0YXRlKG5ld1N0YXRlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uUmVjZWl2ZWQuaGlkZU9uU3RhdGVzKSB7XG4gICAgICAgICAgYWN0aW9uUmVjZWl2ZWQuaGlkZU9uU3RhdGVzPy5mb3JFYWNoKG5ld1N0YXRlID0+IHtcbiAgICAgICAgICAgIHRibEFjdGlvbi5yZW1vdmVWaXNpYmxlU3RhdGUobmV3U3RhdGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25SZWNlaXZlZC5lbmFibGVPblN0YXRlcykge1xuICAgICAgICAgIGFjdGlvblJlY2VpdmVkLmVuYWJsZU9uU3RhdGVzPy5mb3JFYWNoKG5ld1N0YXRlID0+IHtcbiAgICAgICAgICAgIHRibEFjdGlvbi5hZGRFbmFibGVkU3RhdGUobmV3U3RhdGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25SZWNlaXZlZC5kaXNhYmxlT25TdGF0ZXMpIHtcbiAgICAgICAgICBhY3Rpb25SZWNlaXZlZC5kaXNhYmxlT25TdGF0ZXM/LmZvckVhY2gobmV3U3RhdGUgPT4ge1xuICAgICAgICAgICAgdGJsQWN0aW9uLnJlbW92ZUVuYWJsZWRTdGF0ZShuZXdTdGF0ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gICAgICAgXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGZpZWxkcykge1xuICAgICAgT2JqZWN0LmtleXMoZmllbGRzKS5mb3JFYWNoKGZpZWxkQ29kZSA9PiB7XG4gICAgICAgIGNvbnN0IHRibEZpZWxkID0gdGhpcy5jb2x1bW5EZWZpbml0aW9uKGZpZWxkQ29kZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkUmVjZWl2ZWQgPSBmaWVsZHNbZmllbGRDb2RlXTtcbiAgICAgICAgaWYgKGZpZWxkUmVjZWl2ZWQudmlzaWJsZSA9PT0gdHJ1ZSB8fCBmaWVsZFJlY2VpdmVkLnZpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgKGZpZWxkUmVjZWl2ZWQudmlzaWJsZSA9PT0gdHJ1ZSkgJiYgdGJsRmllbGQuc2hvdygpO1xuICAgICAgICAgIChmaWVsZFJlY2VpdmVkLnZpc2libGUgPT09IGZhbHNlKSAmJiB0YmxGaWVsZC5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGFibGVSZWNvcmRzKSB7XG4gICAgICB0aGlzLnRvdGFsUGFnZXMgPSB0b3RhbFBhZ2VzO1xuICAgICAgdGhpcy5yZWNvcmRzTnVtYmVyID0gcmVjb3Jkc051bWJlcjtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy5jdXJyZW50UGFnZSwgK2N1cnJlbnRQYWdlKTtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy5yZWNvcmRzUGVyUGFnZSwgK3JlY29yZHNQZXJQYWdlKTtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy50b3RhbFJlY29yZHNOdW1iZXIsICh0aGlzLmNsaWVudFBhZ2luZykgPyB0YWJsZVJlY29yZHMubGVuZ3RoIDogK3RvdGFsUmVjb3Jkc051bWJlcik7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMuc29ydGluZywge1xuICAgICAgICBjb2x1bW5OYW1lOiBzb3J0aW5nQ29sdW1uIHx8ICcnLFxuICAgICAgICBkaXJlY3Rpb246IHNvcnRpbmdEaXJlY3Rpb24gfHwgJydcbiAgICAgIH0pO1xuICAgICAgaWYgKCF0aGlzLl9hcHBlbmRQYWdlcykge1xuICAgICAgICB0aGlzLnJlcGxhY2VSZWNvcmRzKHRhYmxlUmVjb3Jkcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFwcGVuZFJlY29yZHModGFibGVSZWNvcmRzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy53YWl0aW5nID0gZmFsc2U7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICB9XG5cbiAgZ2V0VGFibGVSZWNvcmQocmVjb3JkSWQpIHtcbiAgICBjb25zdCByZWNvcmRJZEtleSA9ICh0eXBlb2YgcmVjb3JkSWQgPT09ICdvYmplY3QnKSA/IEpTT04uc3RyaW5naWZ5KHJlY29yZElkKSA6IHJlY29yZElkO1xuICAgIHJldHVybiAodGhpcy50YWJsZVJlY29yZE9iaiAmJiByZWNvcmRJZCAmJiB0aGlzLnRhYmxlUmVjb3JkT2JqW3JlY29yZElkXSlcbiAgICAgID8gdGhpcy50YWJsZVJlY29yZE9ialtyZWNvcmRJZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0QWN0aW9uKGFjdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gKHRoaXMuX2FjdGlvbnNPYmogJiYgYWN0aW9uQ29kZSAmJiB0aGlzLl9hY3Rpb25zT2JqW2FjdGlvbkNvZGVdKVxuICAgICAgPyB0aGlzLl9hY3Rpb25zT2JqW2FjdGlvbkNvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGdldEFjdGlvbnMoYWN0aW9uQ2xhc3M6IHN0cmluZyA9IHRoaXMuX2Zvcm1Db25maWcudGFibGVBY3Rpb25zLmlubGluZSwgYWN0aW9uVHlwZXM6IHN0cmluZ1tdID0gbnVsbCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLmZpbHRlcihhY3Rpb25EZWYgPT4ge1xuICAgICAgY29uc3QgdHlwZUluY2x1ZGVkID0gKGFjdGlvblR5cGVzKSA/IGFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbkRlZi5hY3Rpb25UeXBlKSA6IHRydWU7XG4gICAgICByZXR1cm4gYWN0aW9uRGVmLmFjdGlvbkNsYXNzID09PSBhY3Rpb25DbGFzcyAmJiB0eXBlSW5jbHVkZWQ7XG4gICAgfSk7XG4gIH1cblxuICAvLyBGaWx0cm9zXG5cbiAgc2V0RmlsdGVyQnlJZChpZCkge1xuICAgIGlmICh0aGlzLnJlc3RyaWN0ZWRJZCA9PT0gaWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5yZXN0cmljdGVkSWQgPSBpZDtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICBjbGVhbklkRmlsdGVyKCkge1xuICAgIGlmICh0aGlzLnJlc3RyaWN0ZWRJZCA9PT0gbnVsbCkgeyByZXR1cm47IH1cbiAgICB0aGlzLnJlc3RyaWN0ZWRJZCA9IG51bGw7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICB9XG5cbiAgc2V0R2xvYmFsRmlsdGVyU3RyaW5nKHRleHQsIG5vdGlmeUNvbXBvbmVudCA9IHRydWUpIHtcbiAgICB0aGlzLmdsb2JhbEZpbHRlclN0cmluZ3MgPSB0ZXh0LnNwbGl0KCcgJykuZmlsdGVyKHQgPT4gdCAmJiB0LnRyaW0oKS5sZW5ndGggPiAwKS5tYXAodCA9PiB0LnRyaW0oKSkgPz8gW107XG4gICAgaWYgKHRoaXMuY2xpZW50UGFnaW5nKSB7XG4gICAgICB0aGlzLmNoYW5nZVBhZ2UoMSk7XG4gICAgfVxuICAgIGlmIChub3RpZnlDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy5nbG9iYWxGaWx0ZXJTdHJpbmcsIHRleHQudHJpbSgpKTtcbiAgICB9XG4gIH1cblxuICBhZGRGaWx0ZXJEZWZpbml0aW9uKGNvbHVtbk5hbWUsIGZpbHRlckRlZmluaXRpb24pIHtcbiAgICBjb25zdCB0YWJsZUNvbHVtbiA9IHRoaXMuY29sdW1uRGVmaW5pdGlvbihjb2x1bW5OYW1lKTtcbiAgICB0YWJsZUNvbHVtbiAmJiB0YWJsZUNvbHVtbi5hZGRGaWx0ZXJEZWZpbml0aW9uKGZpbHRlckRlZmluaXRpb24pO1xuICB9XG5cbiAgZ2V0RmlsdGVyZWRSZWNvcmRzKCkge1xuICAgIGxldCBmaWx0ZXJlZFJlY29yZHMgPSB0aGlzLnRhYmxlUmVjb3JkcztcbiAgICBpZiAodGhpcy5yZXN0cmljdGVkSWQpIHtcbiAgICAgIGZpbHRlcmVkUmVjb3JkcyA9IGZpbHRlcmVkUmVjb3Jkcy5maWx0ZXIocmVjb3JkID0+IHJlY29yZC5yZWNvcmRJZCA9PT0gdGhpcy5yZXN0cmljdGVkSWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZpbHRlcmVkUmVjb3JkcyA9IGZpbHRlcmVkUmVjb3Jkcy5maWx0ZXIocmVjb3JkID0+IHJlY29yZC5oYXNQYXR0ZXJuKHRoaXMuZ2xvYmFsRmlsdGVyU3RyaW5ncywgdGhpcy5fdGFibGVDb2x1bW5PYmopKTtcbiAgICB9XG4gICAgY29uc3QgY29sdW1uRmlsdGVycyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5maWx0ZXIpLm1hcChjb2x1bW4gPT4gY29sdW1uLmZpbHRlcik7XG4gICAgaWYgKGNvbHVtbkZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgZmlsdGVyZWRSZWNvcmRzID0gZmlsdGVyZWRSZWNvcmRzLmZpbHRlcihyZWNvcmQgPT4gcmVjb3JkLmhhc0NvbmRpdGlvbihjb2x1bW5GaWx0ZXJzKSk7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJlZFJlY29yZHM7XG4gIH1cblxuICBnZXRDb2x1bW5GaWx0ZXIoY29sdW1uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdGFibGVDb2x1bW4gPSB0aGlzLmNvbHVtbkRlZmluaXRpb24oY29sdW1uTmFtZSk7XG4gICAgcmV0dXJuIHRhYmxlQ29sdW1uPy5maWx0ZXIgPz8gbnVsbDtcbiAgfVxuXG4gIGFkZENvbHVtbkZpbHRlcihjb2x1bW5OYW1lOiBzdHJpbmcsIGNvbHVtblZhbHVlczogYW55IHwgYW55W10sIG9wZXJhdG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIGNvbnN0IHRhYmxlQ29sdW1uID0gdGhpcy5jb2x1bW5EZWZpbml0aW9uKGNvbHVtbk5hbWUpO1xuICAgIGNvbnN0IGNvbHVtbkZpbHRlckRlZmluaXRpb24gPSB0YWJsZUNvbHVtbj8uZmlsdGVyRGVmaW5pdGlvbiA/PyBudWxsO1xuICAgIGlmICghY29sdW1uRmlsdGVyRGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0YWJsZUNvbHVtbiAmJiB0YWJsZUNvbHVtbi5hZGRGaWx0ZXIoY29sdW1uVmFsdWVzLCBvcGVyYXRvcik7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICB9XG5cbiAgcmVtb3ZlQ29sdW1uRmlsdGVyKGNvbHVtbk5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHRhYmxlQ29sdW1uID0gdGhpcy5jb2x1bW5EZWZpbml0aW9uKGNvbHVtbk5hbWUpO1xuICAgIHRhYmxlQ29sdW1uICYmIHRhYmxlQ29sdW1uLnJlbW92ZUZpbHRlcigpO1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50RmlsdGVyKCkge1xuICAgIGNvbnN0IGNvbXBhY3RGaWx0ZXI6IGFueSA9IHtcbiAgICAgIHNpbXBsZUZpbHRlcldvcmRzOiB0aGlzLmdsb2JhbEZpbHRlclN0cmluZ3MsXG4gICAgICBhZHZhbmNlZEZpbHRlcjogW10sXG4gICAgfTtcbiAgICBjb25zdCBjb2x1bW5GaWx0ZXJzID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLmZpbHRlcikubWFwKGNvbHVtbiA9PiBjb2x1bW4uZmlsdGVyKTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29sdW1uRmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbkZpbHRlciA9IGNvbHVtbkZpbHRlcnNbaW5kZXhdO1xuICAgICAgY29tcGFjdEZpbHRlci5hZHZhbmNlZEZpbHRlci5wdXNoKHtcbiAgICAgICAgZmllbGRDb2RlOiBjb2x1bW5GaWx0ZXI/LmZpZWxkQ29kZSxcbiAgICAgICAgb3BlcmF0b3I6IGNvbHVtbkZpbHRlcj8ub3BlcmF0b3IsXG4gICAgICAgIGZpZWxkVmFsdWUxOiBjb2x1bW5GaWx0ZXI/LnZhbHVlc1swXSxcbiAgICAgICAgZmllbGRWYWx1ZTI6IGNvbHVtbkZpbHRlcj8udmFsdWVzWzFdLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBjb21wYWN0RmlsdGVyO1xuICB9XG5cbiAgLy8gT3JkZW5hbWllbnRvIGRlIHJlZ2lzdHJvcyBsb2NhbFxuXG4gIHNvcnQoY29sdW1uTmFtZSwgZGlyZWN0aW9uKSB7XG4gICAgdGhpcy5zZXRSZXF1aXJlZE9yZGVyKGNvbHVtbk5hbWUsIGRpcmVjdGlvbik7XG4gICAgaWYgKHRoaXMuY2xpZW50UGFnaW5nKSB7XG4gICAgICB0aGlzLmxvY2FsU29ydERhdGEoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmeUdldERhdGFBY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBzZXRSZXF1aXJlZE9yZGVyKGNvbHVtbkZpZWxkLCBkaXJlY3Rpb24gPSBudWxsKSB7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLnNvcnRpbmcsIHtcbiAgICAgIGNvbHVtbk5hbWU6IGNvbHVtbkZpZWxkLFxuICAgICAgZGlyZWN0aW9uOiAoZGlyZWN0aW9uID09PSAnYXNjZW5kJykgPyBUQUJMRV9TT1JUX0FTQ0VORElORyA6IFRBQkxFX1NPUlRfREVTQ0VORElORyxcbiAgICB9KTtcbiAgfVxuXG4gIGxvY2FsU29ydERhdGEoKSB7XG4gICAgaWYgKCF0aGlzLnNvcnRpbmcuY29sdW1uTmFtZSB8fCAhdGhpcy5zb3J0aW5nLmRpcmVjdGlvbikgeyByZXR1cm47IH1cbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5zb3J0KChhLCBiKSA9PiB0aGlzLnJlY29yZENvbXBhcmUoYSwgYiwgdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUsIHRoaXMuc29ydGluZy5kaXJlY3Rpb24pKTtcbiAgICAvL3RoaXMudW5TZWxlY3RBbGwoKTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICByZWNvcmRDb21wYXJlKHJlY29yZEE6IFRhYmxlUmVjb3JkRGF0YSwgcmVjb3JkQjogVGFibGVSZWNvcmREYXRhLCBjb2x1bW5Db21wYXJlLCBkaXJlY3Rpb24pIHtcbiAgICBjb25zdCByZWNvcmRBVmFsdWUgPSByZWNvcmRBLmdldEZpZWxkVmFsdWUoY29sdW1uQ29tcGFyZSk7XG4gICAgY29uc3QgcmVjb3JkQlZhbHVlID0gcmVjb3JkQi5nZXRGaWVsZFZhbHVlKGNvbHVtbkNvbXBhcmUpO1xuICAgIGNvbnN0IHJlY29yZEFDb2x1bW4gPSBpc05hTihyZWNvcmRBVmFsdWUpID8gcmVjb3JkQVZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkgOiArcmVjb3JkQVZhbHVlO1xuICAgIGNvbnN0IHJlY29yZEJDb2x1bW4gPSBpc05hTihyZWNvcmRCVmFsdWUpID8gcmVjb3JkQlZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkgOiArcmVjb3JkQlZhbHVlO1xuICAgIGxldCByZXN1bHQgPSAwO1xuICAgIGlmIChyZWNvcmRBQ29sdW1uIDwgcmVjb3JkQkNvbHVtbikge1xuICAgICAgcmVzdWx0ID0gLTE7XG4gICAgfSBlbHNlIGlmIChyZWNvcmRBQ29sdW1uID4gcmVjb3JkQkNvbHVtbikge1xuICAgICAgcmVzdWx0ID0gMTtcbiAgICB9XG4gICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gVEFCTEVfU09SVF9BU0NFTkRJTkcgPyByZXN1bHQgOiAtcmVzdWx0O1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybVN0YXRlQ2hhbmdlQ3VzdG9tU3Vic2NyaWJlKGZvcm0sIGZvcm1DaGFuZ2VTdWJqZWN0KSB7XG4gICAgdGhpcy5jb2x1bW5zPy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICBjb2x1bW4/LmNvbm5lY3RXaXRoUGFyZW50Rm9ybShmb3JtLCBmb3JtQ2hhbmdlU3ViamVjdCk7XG4gICAgfSk7XG4gICAgdGhpcy5fYWN0aW9ucz8uZm9yRWFjaChhY3Rpb24gPT4ge1xuICAgICAgYWN0aW9uPy5jb25uZWN0V2l0aFBhcmVudEZvcm0oZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -43,13 +43,11 @@ export class FieldComponent extends ElementComponent {
43
43
  }
44
44
  // Subscripción a cambios en atributos
45
45
  this.field?.attributeChange.subscribe(event => {
46
- console.log('FieldComponent attributeChange');
47
- console.log(event);
48
46
  const { name: componentAttr, value = null } = event ?? {};
49
- // if (componentAttr) {
50
- this.defaultProcessAttributeChange(componentAttr, value);
51
- this.customProcessAttributeChange(componentAttr, value);
52
- // }
47
+ if (componentAttr) {
48
+ this.defaultProcessAttributeChange(componentAttr, value);
49
+ this.customProcessAttributeChange(componentAttr, value);
50
+ }
53
51
  });
54
52
  if (this.field) {
55
53
  this.field.widget = this;
@@ -98,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
98
96
  }], propDecorators: { field: [{
99
97
  type: Input
100
98
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7O0FBRTdELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFLdEIsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFKcEQ7O1FBS0Usb0NBQW9DO1FBQ3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFFbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFtQlosVUFBSyxHQUEyQixJQUFJLENBQUM7S0E4RS9DO0lBNUVDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU87U0FBRTtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSwyQkFBMkIsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBRTFGLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25ELE1BQU0sU0FB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QUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RSxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkcsS0FBSyxLQUFLLENBQUM7SUFDWCxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyRixZQUFZO1FBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFLO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDekIsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzJHQXRHVSxjQUFjOytGQUFkLGNBQWMsb0dBRmYsMkJBQTJCOzJGQUUxQixjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkEwQlUsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm1zL2ZpZWxkJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC9lbGVtZW50LmNvbXBvbmVudCdcblxuY29uc3QgVkFMVUUgPSAndmFsdWUnO1xuY29uc3QgRk9DVVMgPSAnZm9jdXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpZWxkJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBBdHJpYnV0b3Mgb2J0ZW5pZG9zIGVzdMOhdGljYW1lbnRlXG4gIGNvZGU6IHN0cmluZyA9ICcnO1xuICB2YWx1ZTogYW55O1xuICBpbmZvOiBzdHJpbmcgPSAnJztcbiAgYWxpZ25tZW50OiBzdHJpbmcgPSAnJztcbiAgdG9vbHRpcDogc3RyaW5nID0gJyc7XG5cbiAgLy8gQXRyaWJ1dG9zIGFjdHVhbGl6YWRvcyBwb3Igc3Vic2NyaXBjacOzblxuICBtaW5MZW5ndGg6IGFueTtcbiAgbWF4TGVuZ3RoOiBhbnk7XG4gIG1pblZhbHVlOiBhbnk7XG4gIG1heFZhbHVlOiBhbnk7XG4gIG9uVmFsaWRhdGlvbjogYW55O1xuICBjYXB0dXJlVHlwZTogYW55O1xuICB0aXRsZTogYW55O1xuICB0eXBlOiBhbnk7XG4gIHZpc2libGVMYWJlbDogYW55O1xuICByZXF1aXJlZDogYW55O1xuICBvcHRpb25zOiBhbnk7XG5cbiAgZXJyb3JUeXBlOiBhbnk7XG4gIGVycm9yQ29kZTogYW55O1xuICBlcnJvck1lc3NhZ2U6IGFueTtcblxuICBASW5wdXQoKSBmaWVsZDogRmllbGREZXNjcmlwdG9yIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmZpZWxkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuZmllbGQ/Ll9mb3JtQ29uZmlnO1xuICAgIGNvbnN0IG1hcHBpbmcgPSBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1Db25maWc/LmZpZWxkUHJvcGFnYXRlQXR0cmlidXRlcyk7XG4gICAgY29uc3QgY3VzdG9tQXR0cmlidXRlc01hcHBpbmcgPSB0aGlzLmZvcm1Db25maWc/LnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcy5maWVsZHMgPz8gW107XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWFwcGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGZpZWxkQXR0ciA9IG1hcHBpbmdbaW5kZXhdPy5bMF07XG4gICAgICBjb25zdCBjb21wb25lbnRBdHRyID0gbWFwcGluZ1tpbmRleF0/LlsxXT8udG9TdHJpbmcoKSA/PyAnJztcbiAgICAgIGlmIChjb21wb25lbnRBdHRyKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWVsZD8uW2ZpZWxkQXR0cl07XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgdmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBdHJpYnV0b3MgcGVyc29uYWxpemFkb3NcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY3VzdG9tQXR0cmlidXRlc01hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBjdXN0b21BdHRyaWJ1dGUgPSBjdXN0b21BdHRyaWJ1dGVzTWFwcGluZ1tpbmRleF07XG4gICAgICBpZiAoY3VzdG9tQXR0cmlidXRlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWVsZD8uZ2V0Q3VzdG9tQXR0cmlidXRlKGN1c3RvbUF0dHJpYnV0ZSk7XG4gICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gYGN1c3RvbUF0dHJpYnV0ZXMuJHtjdXN0b21BdHRyaWJ1dGV9YDtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShmdWxsTmFtZSwgdmFsdWUpO1xuICAgICAgICAgIHRoaXMuY3VzdG9tUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShmdWxsTmFtZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFN1YnNjcmlwY2nDs24gYSBjYW1iaW9zIGVuIGF0cmlidXRvc1xuICAgIHRoaXMuZmllbGQ/LmF0dHJpYnV0ZUNoYW5nZS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ0ZpZWxkQ29tcG9uZW50IGF0dHJpYnV0ZUNoYW5nZScpO1xuICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgICAgY29uc3QgeyBuYW1lOiBjb21wb25lbnRBdHRyLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgLy8gaWYgKGNvbXBvbmVudEF0dHIpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShjb21wb25lbnRBdHRyLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuY3VzdG9tUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShjb21wb25lbnRBdHRyLCB2YWx1ZSk7XG4gICAgICAvLyB9XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuZmllbGQpIHtcbiAgICAgIHRoaXMuZmllbGQud2lkZ2V0ID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGF0dHJpYnV0ZSA9PT0gVkFMVUUpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZSA9PT0gRk9DVVMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN1cGVyLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKCkgeyB0aGlzLnZhbHVlID0gdGhpcy5maWVsZD8udmFsdWU7IH1cbiAgb25JbnB1dENoYW5nZSgpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uUGFydGlhbCgpLCA1MCk7IH1cbiAgb25DaGFuZ2VDb250ZW50KCkgeyBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGQ/Lm5vdGlmeUVkaXRpb25GaW5pc2goKSwgNTApOyB9XG4gIG9uU2hvd0luZm8oZGV0YWlsID0gbnVsbCkgeyBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGQ/Lm5vdGlmeUVkaXRpb25EZXRhaWxSZXF1ZXN0KGRldGFpbCksIDUwKTsgfVxuXG4gIGZvY3VzKCkgeyB9XG4gIHVwZGF0ZU9iamVjdCh3aWRnZXRVcGRhdGUgPSB0cnVlKSB7IHRoaXMuZmllbGQ/LnNldFZhbHVlKHRoaXMudmFsdWUsIHdpZGdldFVwZGF0ZSk7IH1cblxuICBpbnB1dENoYW5nZWQoKSB7XG4gICAgdGhpcy5maWVsZD8uc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZUNvbnRlbnQoKTtcbiAgfVxuXG4gIGlucHV0VHlwZWQoKSB7XG4gICAgdGhpcy51cGRhdGVPYmplY3QoZmFsc2UpO1xuICAgIHRoaXMub25JbnB1dENoYW5nZSgpO1xuICB9XG5cbiAgbnVtYmVySW5wdXRWYWxpZGF0aW9uKGV2ZW50KSB7XG4gICAgY29uc3QgayA9IGV2ZW50LmNoYXJDb2RlO1xuICAgIHJldHVybiAoayA+IDQ3ICYmIGsgPCA1OCk7XG4gIH1cbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7O0FBRTdELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFLdEIsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFKcEQ7O1FBS0Usb0NBQW9DO1FBQ3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFFbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFtQlosVUFBSyxHQUEyQixJQUFJLENBQUM7S0E0RS9DO0lBMUVDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU87U0FBRTtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSwyQkFBMkIsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBRTFGLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25ELE1BQU0sU0FB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Q0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVuRyxLQUFLLEtBQUssQ0FBQztJQUNYLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJGLFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7MkdBcEdVLGNBQWM7K0ZBQWQsY0FBYyxvR0FGZiwyQkFBMkI7MkZBRTFCLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQTBCVSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybXMvZmllbGQnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0L2VsZW1lbnQuY29tcG9uZW50J1xuXG5jb25zdCBWQUxVRSA9ICd2YWx1ZSc7XG5jb25zdCBGT0NVUyA9ICdmb2N1cyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZmllbGQnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIEF0cmlidXRvcyBvYnRlbmlkb3MgZXN0w6F0aWNhbWVudGVcbiAgY29kZTogc3RyaW5nID0gJyc7XG4gIHZhbHVlOiBhbnk7XG4gIGluZm86IHN0cmluZyA9ICcnO1xuICBhbGlnbm1lbnQ6IHN0cmluZyA9ICcnO1xuICB0b29sdGlwOiBzdHJpbmcgPSAnJztcblxuICAvLyBBdHJpYnV0b3MgYWN0dWFsaXphZG9zIHBvciBzdWJzY3JpcGNpw7NuXG4gIG1pbkxlbmd0aDogYW55O1xuICBtYXhMZW5ndGg6IGFueTtcbiAgbWluVmFsdWU6IGFueTtcbiAgbWF4VmFsdWU6IGFueTtcbiAgb25WYWxpZGF0aW9uOiBhbnk7XG4gIGNhcHR1cmVUeXBlOiBhbnk7XG4gIHRpdGxlOiBhbnk7XG4gIHR5cGU6IGFueTtcbiAgdmlzaWJsZUxhYmVsOiBhbnk7XG4gIHJlcXVpcmVkOiBhbnk7XG4gIG9wdGlvbnM6IGFueTtcblxuICBlcnJvclR5cGU6IGFueTtcbiAgZXJyb3JDb2RlOiBhbnk7XG4gIGVycm9yTWVzc2FnZTogYW55O1xuXG4gIEBJbnB1dCgpIGZpZWxkOiBGaWVsZERlc2NyaXB0b3IgfCBudWxsID0gbnVsbDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZmllbGQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5maWVsZD8uX2Zvcm1Db25maWc7XG4gICAgY29uc3QgbWFwcGluZyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZm9ybUNvbmZpZz8uZmllbGRQcm9wYWdhdGVBdHRyaWJ1dGVzKTtcbiAgICBjb25zdCBjdXN0b21BdHRyaWJ1dGVzTWFwcGluZyA9IHRoaXMuZm9ybUNvbmZpZz8ucHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzLmZpZWxkcyA/PyBbXTtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgZmllbGRBdHRyID0gbWFwcGluZ1tpbmRleF0/LlswXTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEF0dHIgPSBtYXBwaW5nW2luZGV4XT8uWzFdPy50b1N0cmluZygpID8/ICcnO1xuICAgICAgaWYgKGNvbXBvbmVudEF0dHIpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZpZWxkPy5bZmllbGRBdHRyXTtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShjb21wb25lbnRBdHRyLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuY3VzdG9tUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShjb21wb25lbnRBdHRyLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEF0cmlidXRvcyBwZXJzb25hbGl6YWRvc1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjdXN0b21BdHRyaWJ1dGVzTWFwcGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZSA9IGN1c3RvbUF0dHJpYnV0ZXNNYXBwaW5nW2luZGV4XTtcbiAgICAgIGlmIChjdXN0b21BdHRyaWJ1dGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZpZWxkPy5nZXRDdXN0b21BdHRyaWJ1dGUoY3VzdG9tQXR0cmlidXRlKTtcbiAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBgY3VzdG9tQXR0cmlidXRlcy4ke2N1c3RvbUF0dHJpYnV0ZX1gO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGZ1bGxOYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGZ1bGxOYW1lLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy5maWVsZD8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGNvbXBvbmVudEF0dHIsIHZhbHVlID0gbnVsbCB9ID0gZXZlbnQgPz8ge307XG4gICAgICBpZiAoY29tcG9uZW50QXR0cikge1xuICAgICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAodGhpcy5maWVsZCkge1xuICAgICAgdGhpcy5maWVsZC53aWRnZXQgPSB0aGlzO1xuICAgIH1cbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBvdmVycmlkZSBkZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoYXR0cmlidXRlID09PSBWQUxVRSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlID09PSBGT0NVUykge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3VwZXIuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0cmlidXRlLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoKSB7IHRoaXMudmFsdWUgPSB0aGlzLmZpZWxkPy52YWx1ZTsgfVxuICBvbklucHV0Q2hhbmdlKCkgeyBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGQ/Lm5vdGlmeUVkaXRpb25QYXJ0aWFsKCksIDUwKTsgfVxuICBvbkNoYW5nZUNvbnRlbnQoKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvbkZpbmlzaCgpLCA1MCk7IH1cbiAgb25TaG93SW5mbyhkZXRhaWwgPSBudWxsKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvbkRldGFpbFJlcXVlc3QoZGV0YWlsKSwgNTApOyB9XG5cbiAgZm9jdXMoKSB7IH1cbiAgdXBkYXRlT2JqZWN0KHdpZGdldFVwZGF0ZSA9IHRydWUpIHsgdGhpcy5maWVsZD8uc2V0VmFsdWUodGhpcy52YWx1ZSwgd2lkZ2V0VXBkYXRlKTsgfVxuXG4gIGlucHV0Q2hhbmdlZCgpIHtcbiAgICB0aGlzLmZpZWxkPy5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlQ29udGVudCgpO1xuICB9XG5cbiAgaW5wdXRUeXBlZCgpIHtcbiAgICB0aGlzLnVwZGF0ZU9iamVjdChmYWxzZSk7XG4gICAgdGhpcy5vbklucHV0Q2hhbmdlKCk7XG4gIH1cblxuICBudW1iZXJJbnB1dFZhbGlkYXRpb24oZXZlbnQpIHtcbiAgICBjb25zdCBrID0gZXZlbnQuY2hhckNvZGU7XG4gICAgcmV0dXJuIChrID4gNDcgJiYgayA8IDU4KTtcbiAgfVxufVxuIl19
@@ -13,13 +13,11 @@ export class SectionComponent extends PieceComponent {
13
13
  }
14
14
  // Subscripción a cambios en atributos
15
15
  this.section?.attributeChange.subscribe(event => {
16
- console.log('SectionComponent attributeChange');
17
- console.log(event);
18
16
  const { name: attrName, value = null } = event ?? {};
19
- // if (attrName) {
20
- this.defaultProcessAttributeChange(attrName, value);
21
- this.customProcessAttributeChange(attrName, value);
22
- // }
17
+ if (attrName) {
18
+ this.defaultProcessAttributeChange(attrName, value);
19
+ this.customProcessAttributeChange(attrName, value);
20
+ }
23
21
  });
24
22
  this.start();
25
23
  }
@@ -38,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
38
36
  }], propDecorators: { section: [{
39
37
  type: Input
40
38
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBR2xELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsMEJBQTBCLENBQUM7UUFDNUQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDN0Q7UUFDRCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztZQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JELGtCQUFrQjtZQUNoQixJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSTtRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7NkdBM0JVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDBHQUZqQiwyQkFBMkI7MkZBRTFCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7OEJBRVUsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWVjZUNvbXBvbmVudCB9IGZyb20gJy4vcGllY2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBQaWVjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlY3Rpb246IGFueTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnNlY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmZvcm1Db25maWc/LnNlY3Rpb25Qcm9wYWdhdGVBdHRyaWJ1dGVzO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgYXR0ck5hbWUgPSBtYXBwaW5nW2luZGV4XS50b1N0cmluZygpO1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLnNlY3Rpb24/LlthdHRyTmFtZV07XG4gICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy5zZWN0aW9uPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWN0aW9uQ29tcG9uZW50IGF0dHJpYnV0ZUNoYW5nZScpO1xuICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgICAgY29uc3QgeyBuYW1lOiBhdHRyTmFtZSwgdmFsdWUgPSBudWxsIH0gPSBldmVudCA/PyB7fTtcbiAgICAgIC8vIGlmIChhdHRyTmFtZSkge1xuICAgICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuY3VzdG9tUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgdmFsdWUpO1xuICAgICAgLy8gfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMuc2V0Rm9ybSh0aGlzLnNlY3Rpb24/Ll9mb3JtKTtcbiAgfVxufVxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBR2xELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsMEJBQTBCLENBQUM7UUFDNUQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDN0Q7UUFDRCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JELElBQUksUUFBUSxFQUFFO2dCQUNaLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OzZHQXpCVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiwwR0FGakIsMkJBQTJCOzJGQUUxQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQUVVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGllY2VDb21wb25lbnQgfSBmcm9tICcuL3BpZWNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzZWN0aW9uOiBhbnk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5zZWN0aW9uPy5fZm9ybUNvbmZpZztcbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5mb3JtQ29uZmlnPy5zZWN0aW9uUHJvcGFnYXRlQXR0cmlidXRlcztcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWFwcGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGF0dHJOYW1lID0gbWFwcGluZ1tpbmRleF0udG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5zZWN0aW9uPy5bYXR0ck5hbWVdO1xuICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgfVxuICAgIC8vIFN1YnNjcmlwY2nDs24gYSBjYW1iaW9zIGVuIGF0cmlidXRvc1xuICAgIHRoaXMuc2VjdGlvbj8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJOYW1lLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgaWYgKGF0dHJOYW1lKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKHRoaXMuc2VjdGlvbj8uX2Zvcm0pO1xuICB9XG59XG4iXX0=
@@ -13,13 +13,11 @@ export class SubSectionComponent extends PieceComponent {
13
13
  }
14
14
  // Subscripción a cambios en atributos
15
15
  this.subSection?.attributeChange.subscribe(event => {
16
- console.log('SubSectionComponent attributeChange');
17
- console.log(event);
18
16
  const { name: attrName, value = null } = event ?? {};
19
- // if (attrName) {
20
- this.defaultProcessAttributeChange(attrName, value);
21
- this.customProcessAttributeChange(attrName, value);
22
- // }
17
+ if (attrName) {
18
+ this.defaultProcessAttributeChange(attrName, value);
19
+ this.customProcessAttributeChange(attrName, value);
20
+ }
23
21
  });
24
22
  this.start();
25
23
  }
@@ -38,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
38
36
  }], propDecorators: { subSection: [{
39
37
  type: Input
40
38
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvc3ViLXNlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFHckQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSw2QkFBNkIsQ0FBQztRQUMvRCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUM3RDtRQUNELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDckQsa0JBQWtCO1lBQ2hCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOztnSEEzQlUsbUJBQW1CO29HQUFuQixtQkFBbUIsbUhBRnBCLDJCQUEyQjsyRkFFMUIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQUVVLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBpZWNlQ29tcG9uZW50IH0gZnJvbSAnLi9waWVjZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc3Vic2VjdGlvbicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgU3ViU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIFBpZWNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc3ViU2VjdGlvbjogYW55O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuc3ViU2VjdGlvbj8uX2Zvcm1Db25maWc7XG4gICAgY29uc3QgbWFwcGluZyA9IHRoaXMuZm9ybUNvbmZpZz8uc3ViU2VjdGlvblByb3BhZ2F0ZUF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBhdHRyTmFtZSA9IG1hcHBpbmdbaW5kZXhdLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuc3ViU2VjdGlvbj8uW2F0dHJOYW1lXTtcbiAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICAgIHRoaXMuY3VzdG9tUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgICAvLyBTdWJzY3JpcGNpw7NuIGEgY2FtYmlvcyBlbiBhdHJpYnV0b3NcbiAgICB0aGlzLnN1YlNlY3Rpb24/LmF0dHJpYnV0ZUNoYW5nZS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ1N1YlNlY3Rpb25Db21wb25lbnQgYXR0cmlidXRlQ2hhbmdlJyk7XG4gICAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJOYW1lLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgLy8gaWYgKGF0dHJOYW1lKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICAvLyB9XG4gICAgfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKHRoaXMuc3ViU2VjdGlvbj8uX2Zvcm0pO1xuICB9XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvc3ViLXNlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFHckQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSw2QkFBNkIsQ0FBQztRQUMvRCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUM3RDtRQUNELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDckQsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNwRDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Z0hBekJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG1IQUZwQiwyQkFBMkI7MkZBRTFCLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFFVSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWVjZUNvbXBvbmVudCB9IGZyb20gJy4vcGllY2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXN1YnNlY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIFN1YlNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBQaWVjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHN1YlNlY3Rpb246IGFueTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnN1YlNlY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmZvcm1Db25maWc/LnN1YlNlY3Rpb25Qcm9wYWdhdGVBdHRyaWJ1dGVzO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgYXR0ck5hbWUgPSBtYXBwaW5nW2luZGV4XS50b1N0cmluZygpO1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLnN1YlNlY3Rpb24/LlthdHRyTmFtZV07XG4gICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy5zdWJTZWN0aW9uPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZTogYXR0ck5hbWUsIHZhbHVlID0gbnVsbCB9ID0gZXZlbnQgPz8ge307XG4gICAgICBpZiAoYXR0ck5hbWUpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgdmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICB0aGlzLnNldEZvcm0odGhpcy5zdWJTZWN0aW9uPy5fZm9ybSk7XG4gIH1cbn1cbiJdfQ==
@@ -35,13 +35,11 @@ export class LibTableComponent extends ElementComponent {
35
35
  }
36
36
  // Subscripción a cambios en atributos
37
37
  this.table?.attributeChange.subscribe(event => {
38
- console.log('LibTableComponent attributeChange');
39
- console.log(event);
40
38
  const { name: attrName, value = null } = event ?? {};
41
- // if (attrName) {
42
- this.defaultProcessAttributeChange(attrName, value);
43
- this.customProcessAttributeChange(attrName, value);
44
- // }
39
+ if (attrName) {
40
+ this.defaultProcessAttributeChange(attrName, value);
41
+ this.customProcessAttributeChange(attrName, value);
42
+ }
45
43
  });
46
44
  this.start();
47
45
  }
@@ -49,7 +47,7 @@ export class LibTableComponent extends ElementComponent {
49
47
  tableGlobalAction(actionCode) { this.table?.notifyGlobalAction(actionCode); }
50
48
  tableSelectionAction(actionCode) { this.table?.notifySelectionAction(actionCode); }
51
49
  tableActionSelected(actionEvent) { this.table?.notifyInlineAction(actionEvent); }
52
- tableSelectionToggle(recordId) { this.table?.notifyRecordSelection(recordId); }
50
+ tableSelectionToggle(recordId) { console.log('tableSelectionToggle 1'); this.table?.notifyRecordSelection(recordId); }
53
51
  toggleSelectAll() { return (this.table?.allSelected) ? this.table?.unSelectAll() : this.table?.selectAll(); }
54
52
  globalFilterCompleted() { this.changePage(1); }
55
53
  changePage(requestedPage) { this.table?.changePage(requestedPage); }
@@ -91,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
91
89
  }], waiting: [{
92
90
  type: Input
93
91
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQVEvRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBTnZEOztRQVNFLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUdoQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBS1YsVUFBSyxHQUF1QixJQUFJLENBQUM7UUFDakMsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBQ3ZDLFlBQU8sR0FBWSxLQUFLLENBQUM7S0ErRG5DO0lBN0RDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU87U0FBRTtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxh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QUNyQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBZVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVSZWNvcmREYXRhIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS9yb3ctZGF0YSc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbkV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5pbXBvcnQgeyBSZWNvcmRUYWJsZSwgVGFibGVFdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9lbGVtZW50LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVDb21wb25lbnQgZXh0ZW5kcyBFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gQXRyaWJ1dG9zIHNpbmNyb25pemFkb3MgZGVsIG9iamV0b1xuICBjb2RlOiBhbnk7XG4gIGdsb2JhbEZpbHRlclN0cmluZzogc3RyaW5nID0gJyc7XG5cbiAgdGFibGVGaWVsZFN0eWxlczogYW55O1xuICBsb2FkZWQgPSBmYWxzZTtcbiAgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICBoYXNBY3Rpb25zID0gZmFsc2U7XG4gIGlubGluZUFjdGlvbnM6IGFueTtcbiAgZ2xvYmFsQWN0aW9uczogYW55O1xuICBzZWxlY3Rpb25BY3Rpb25zOiBhbnk7XG5cbiAgQElucHV0KCkgdGFibGU6IFJlY29yZFRhYmxlIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHZpc2libGVSZWNvcmRzOiBUYWJsZVJlY29yZERhdGFbXSA9IFtdO1xuICBASW5wdXQoKSB3YWl0aW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLnRhYmxlKSB7IHJldHVybjsgfVxuICAgIHRoaXMudGFibGUuc2V0V2lkZ2V0KHRoaXMpO1xuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMudGFibGU/Ll9mb3JtQ29uZmlnO1xuICAgIHRoaXMudGFibGVGaWVsZFN0eWxlcyA9IHRoaXMuZm9ybUNvbmZpZz8udGFibGVGaWVsZFN0eWxlcztcbiAgICB0aGlzLnNlbGVjdGFibGUgPSB0aGlzLnRhYmxlPy5zZWxlY3RhYmxlO1xuICAgIHRoaXMuaGFzQWN0aW9ucyA9IHRoaXMudGFibGU/Lmhhc0FjdGlvbnMoKTtcbiAgICB0aGlzLmlubGluZUFjdGlvbnMgPSB0aGlzLnRhYmxlPy5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZz8udGFibGVBY3Rpb25zLmlubGluZSk7XG4gICAgdGhpcy5nbG9iYWxBY3Rpb25zID0gdGhpcy50YWJsZT8uZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWc/LnRhYmxlQWN0aW9ucy5nbG9iYWwpO1xuICAgIHRoaXMuc2VsZWN0aW9uQWN0aW9ucyA9IHRoaXMudGFibGU/LmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnPy50YWJsZUFjdGlvbnMuc2VsZWN0aW9uKTtcbiAgICAvLyBJbmljaWFsaXphY2nDs24gZGUgY2FtcG9zIG1hcGVhZG9zIGRlbCBvYmpldG9cbiAgICBjb25zdCBtYXBwaW5nID0gT2JqZWN0LmVudHJpZXModGhpcy5mb3JtQ29uZmlnPy50YWJsZVByb3BhZ2F0aW9uQXR0cmlidXRlcyk7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCB0YWJsZUF0dHIgPSBtYXBwaW5nW2luZGV4XT8uWzBdO1xuICAgICAgY29uc3QgY29tcG9uZW50QXR0ciA9IG1hcHBpbmdbaW5kZXhdPy5bMV0/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMudGFibGU/Llt0YWJsZUF0dHJdO1xuICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShjb21wb25lbnRBdHRyLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgICAvLyBTdWJzY3JpcGNpw7NuIGEgY2FtYmlvcyBlbiBhdHJpYnV0b3NcbiAgICB0aGlzLnRhYmxlPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdMaWJUYWJsZUNvbXBvbmVudCBhdHRyaWJ1dGVDaGFuZ2UnKTtcbiAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICAgIGNvbnN0IHsgbmFtZTogYXR0ck5hbWUsIHZhbHVlID0gbnVsbCB9ID0gZXZlbnQgPz8ge307XG4gICAgICAvLyBpZiAoYXR0ck5hbWUpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgdmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgIC8vIH1cbiAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICB1cGRhdGVUYWJsZURhdGEoKSB7IH1cbiAgdGFibGVHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7IHRoaXMudGFibGU/Lm5vdGlmeUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlKTsgfVxuICB0YWJsZVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHsgdGhpcy50YWJsZT8ubm90aWZ5U2VsZWN0aW9uQWN0aW9uKGFjdGlvbkNvZGUpOyB9XG4gIHRhYmxlQWN0aW9uU2VsZWN0ZWQoYWN0aW9uRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQpIHsgdGhpcy50YWJsZT8ubm90aWZ5SW5saW5lQWN0aW9uKGFjdGlvbkV2ZW50KTsgfVxuICB0YWJsZVNlbGVjdGlvblRvZ2dsZShyZWNvcmRJZDogYW55KSB7IHRoaXMudGFibGU/Lm5vdGlmeVJlY29yZFNlbGVjdGlvbihyZWNvcmRJZCk7IH1cbiAgdG9nZ2xlU2VsZWN0QWxsKCkgeyByZXR1cm4gKHRoaXMudGFibGU/LmFsbFNlbGVjdGVkKSA/IHRoaXMudGFibGU/LnVuU2VsZWN0QWxsKCkgOiB0aGlzLnRhYmxlPy5zZWxlY3RBbGwoKTsgfVxuICBnbG9iYWxGaWx0ZXJDb21wbGV0ZWQoKSB7IHRoaXMuY2hhbmdlUGFnZSgxKTsgfVxuICBjaGFuZ2VQYWdlKHJlcXVlc3RlZFBhZ2U6IG51bWJlcikgeyB0aGlzLnRhYmxlPy5jaGFuZ2VQYWdlKHJlcXVlc3RlZFBhZ2UpOyB9XG4gIHRhYmxlQ29sdW1uU29ydChjb2x1bW5OYW1lOiBzdHJpbmcsIGRpcmVjdGlvbiA9IG51bGwpIHsgdGhpcy50YWJsZT8uc29ydChjb2x1bW5OYW1lLCBkaXJlY3Rpb24gPz8gJ2FzY2VuZCcpOyB9XG4gIGdsb2JhbEZpbHRlckNoYW5nZWQoKSB7IHRoaXMudGFibGU/LnNldEdsb2JhbEZpbHRlclN0cmluZyh0aGlzLmdsb2JhbEZpbHRlclN0cmluZz8udHJpbSgpID8/ICcnLCBmYWxzZSk7IH1cblxuICBvdmVycmlkZSBkZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiBhbnkpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgaWYgKGF0dHJpYnV0ZSA9PT0gJ3Zpc2libGVSZWNvcmRzJykge1xuICAgICAgICB0aGlzLnVwZGF0ZVRhYmxlRGF0YSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlckhhc0NoYW5nZWQoY29sdW1uLCB2YWx1ZXMpIHtcbiAgICBpZiAoIXZhbHVlcyB8fCB2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRhYmxlPy5yZW1vdmVDb2x1bW5GaWx0ZXIoY29sdW1uLmZpZWxkQ29kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGU/LmFkZENvbHVtbkZpbHRlcihjb2x1bW4uZmllbGRDb2RlLCB2YWx1ZXMpO1xuICAgIH1cbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQVEvRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBTnZEOztRQVNFLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUdoQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBS1YsVUFBSyxHQUF1QixJQUFJLENBQUM7UUFDakMsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBQ3ZDLFlBQU8sR0FBWSxLQUFLLENBQUM7S0E2RG5DO0lBM0RDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU87U0FBRTtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxh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LHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQWVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGUsIFRhYmxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvZWxlbWVudC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYlRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIEF0cmlidXRvcyBzaW5jcm9uaXphZG9zIGRlbCBvYmpldG9cbiAgY29kZTogYW55O1xuICBnbG9iYWxGaWx0ZXJTdHJpbmc6IHN0cmluZyA9ICcnO1xuXG4gIHRhYmxlRmllbGRTdHlsZXM6IGFueTtcbiAgbG9hZGVkID0gZmFsc2U7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgaGFzQWN0aW9ucyA9IGZhbHNlO1xuICBpbmxpbmVBY3Rpb25zOiBhbnk7XG4gIGdsb2JhbEFjdGlvbnM6IGFueTtcbiAgc2VsZWN0aW9uQWN0aW9uczogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmxlOiBSZWNvcmRUYWJsZSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSB2aXNpYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW10gPSBbXTtcbiAgQElucHV0KCkgd2FpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy50YWJsZSkgeyByZXR1cm47IH1cbiAgICB0aGlzLnRhYmxlLnNldFdpZGdldCh0aGlzKTtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnRhYmxlPy5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnRhYmxlRmllbGRTdHlsZXMgPSB0aGlzLmZvcm1Db25maWc/LnRhYmxlRmllbGRTdHlsZXM7XG4gICAgdGhpcy5zZWxlY3RhYmxlID0gdGhpcy50YWJsZT8uc2VsZWN0YWJsZTtcbiAgICB0aGlzLmhhc0FjdGlvbnMgPSB0aGlzLnRhYmxlPy5oYXNBY3Rpb25zKCk7XG4gICAgdGhpcy5pbmxpbmVBY3Rpb25zID0gdGhpcy50YWJsZT8uZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWc/LnRhYmxlQWN0aW9ucy5pbmxpbmUpO1xuICAgIHRoaXMuZ2xvYmFsQWN0aW9ucyA9IHRoaXMudGFibGU/LmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnPy50YWJsZUFjdGlvbnMuZ2xvYmFsKTtcbiAgICB0aGlzLnNlbGVjdGlvbkFjdGlvbnMgPSB0aGlzLnRhYmxlPy5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZz8udGFibGVBY3Rpb25zLnNlbGVjdGlvbik7XG4gICAgLy8gSW5pY2lhbGl6YWNpw7NuIGRlIGNhbXBvcyBtYXBlYWRvcyBkZWwgb2JqZXRvXG4gICAgY29uc3QgbWFwcGluZyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZm9ybUNvbmZpZz8udGFibGVQcm9wYWdhdGlvbkF0dHJpYnV0ZXMpO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgdGFibGVBdHRyID0gbWFwcGluZ1tpbmRleF0/LlswXTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEF0dHIgPSBtYXBwaW5nW2luZGV4XT8uWzFdPy50b1N0cmluZygpID8/ICcnO1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLnRhYmxlPy5bdGFibGVBdHRyXTtcbiAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy50YWJsZT8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJOYW1lLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgaWYgKGF0dHJOYW1lKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgdXBkYXRlVGFibGVEYXRhKCkgeyB9XG4gIHRhYmxlR2xvYmFsQWN0aW9uKGFjdGlvbkNvZGU6IHN0cmluZykgeyB0aGlzLnRhYmxlPy5ub3RpZnlHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZSk7IH1cbiAgdGFibGVTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7IHRoaXMudGFibGU/Lm5vdGlmeVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlKTsgfVxuICB0YWJsZUFjdGlvblNlbGVjdGVkKGFjdGlvbkV2ZW50OiBUYWJsZUFjdGlvbkV2ZW50KSB7IHRoaXMudGFibGU/Lm5vdGlmeUlubGluZUFjdGlvbihhY3Rpb25FdmVudCk7IH1cbiAgdGFibGVTZWxlY3Rpb25Ub2dnbGUocmVjb3JkSWQ6IGFueSkgeyBjb25zb2xlLmxvZygndGFibGVTZWxlY3Rpb25Ub2dnbGUgMScpOyB0aGlzLnRhYmxlPy5ub3RpZnlSZWNvcmRTZWxlY3Rpb24ocmVjb3JkSWQpOyB9XG4gIHRvZ2dsZVNlbGVjdEFsbCgpIHsgcmV0dXJuICh0aGlzLnRhYmxlPy5hbGxTZWxlY3RlZCkgPyB0aGlzLnRhYmxlPy51blNlbGVjdEFsbCgpIDogdGhpcy50YWJsZT8uc2VsZWN0QWxsKCk7IH1cbiAgZ2xvYmFsRmlsdGVyQ29tcGxldGVkKCkgeyB0aGlzLmNoYW5nZVBhZ2UoMSk7IH1cbiAgY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlOiBudW1iZXIpIHsgdGhpcy50YWJsZT8uY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlKTsgfVxuICB0YWJsZUNvbHVtblNvcnQoY29sdW1uTmFtZTogc3RyaW5nLCBkaXJlY3Rpb24gPSBudWxsKSB7IHRoaXMudGFibGU/LnNvcnQoY29sdW1uTmFtZSwgZGlyZWN0aW9uID8/ICdhc2NlbmQnKTsgfVxuICBnbG9iYWxGaWx0ZXJDaGFuZ2VkKCkgeyB0aGlzLnRhYmxlPy5zZXRHbG9iYWxGaWx0ZXJTdHJpbmcodGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmc/LnRyaW0oKSA/PyAnJywgZmFsc2UpOyB9XG5cbiAgb3ZlcnJpZGUgZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhdHRyaWJ1dGUgPT09ICd2aXNpYmxlUmVjb3JkcycpIHtcbiAgICAgICAgdGhpcy51cGRhdGVUYWJsZURhdGEoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJIYXNDaGFuZ2VkKGNvbHVtbiwgdmFsdWVzKSB7XG4gICAgaWYgKCF2YWx1ZXMgfHwgdmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50YWJsZT8ucmVtb3ZlQ29sdW1uRmlsdGVyKGNvbHVtbi5maWVsZENvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlPy5hZGRDb2x1bW5GaWx0ZXIoY29sdW1uLmZpZWxkQ29kZSwgdmFsdWVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==