nuxeo-development-framework 5.5.3 → 5.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +259 -58
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +3 -2
- package/esm2015/lib/components/reports/charts/plugins/data-labels.js +3 -3
- package/esm2015/lib/components/reports/charts/utility/css.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +6 -3
- package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +26 -4
- package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +28 -4
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +7 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-theme.service.js +54 -0
- package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +21 -4
- package/esm2015/lib/components/reports/ndf-reports/utilities/dataset-colors.js +51 -0
- package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +2 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +227 -57
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/reports/ndf-reports/base/base-graph.report.d.ts +5 -2
- package/lib/components/reports/ndf-reports/base/base-report.d.ts +2 -1
- package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +5 -2
- package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +5 -1
- package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +3 -1
- package/lib/components/reports/ndf-reports/services/chart-theme.service.d.ts +14 -0
- package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +1 -0
- package/lib/components/reports/ndf-reports/utilities/dataset-colors.d.ts +1 -0
- package/lib/components/reports/ndf-reports/utilities/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -112,8 +112,9 @@ export class DynamicFormSelectUsersComponent {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
ngOnInit() {
|
|
115
|
+
var _a;
|
|
115
116
|
this.allUsers = this.deptTitle === 'all' ? true : false;
|
|
116
|
-
this.selection = this.multiple ? [] : undefined;
|
|
117
|
+
this.selection = (_a = this.selection) !== null && _a !== void 0 ? _a : (this.multiple ? [] : undefined);
|
|
117
118
|
if (this.allUsers) {
|
|
118
119
|
this.loadUsers();
|
|
119
120
|
}
|
|
@@ -334,4 +335,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
334
335
|
}], onSelectItems: [{
|
|
335
336
|
type: Output
|
|
336
337
|
}], getUsersSuggestions: [] } });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUVKLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFTdkIsT0FBTyxFQUFrQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUVMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7OztBQUN6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztBQU9yQixNQUFNLE9BQU8sK0JBQStCO0lBc0UxQyxZQUNVLGNBQTRDLEVBQzdDLFNBQTJCLEVBQzFCLFdBQStCLEVBQ1os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QUQyTkU7SUFKQyxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsSUFBSTtRQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU07S0FDbkIsQ0FBQzswRUFHRDs0RkE3UVUsK0JBQStCO2tCQU4zQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFdBQVcsRUFBRSw0Q0FBNEM7b0JBQ3pELFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO29CQUN6RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQTJFSSxJQUFJOzswQkFBSSxRQUFROzRDQXhFYSxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQU1yQixTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixNQUFNO2dCQWtPUCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2VsZixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBzd2l0Y2hNYXAsXHJcbiAgdGFwLFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1hcGkuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuLyoqXHJcbiAqIFVzZXJzIGRyb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCB1c2VycyBBUEksXHJcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVXNlcnMgZHJvcGRvd25cclxuICogQGV4YW1wbGVcclxuICogPGN0cy1keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzXHJcbiAqICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgICBbYmluZFZhbHVlXT1cImJpbmRUb1Byb3BlcnR5XCJcclxuICogICAgIFtiaW5kTGFiZWxdPVwiJ2JpbmRUb0xhYmVsJ1wiXHJcbiAqICAgICBbc2VhcmNoYWJsZV09XCJ0cnVlXCJcclxuICogICAgIFtsYWJlbF09XCInUEFUSC5UTy5UUkFOU0xBVElPTidcIlxyXG4gKiAgICAgW2RlcHRUaXRsZV09XCInYWxsJ1wiXHJcbiAqICAgPjwvY3RzLWR5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnM+XHJcbiAqL1xyXG5jb25zdCBtaW51dGUgPSA2MDAwMDtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLXNlbGVjdC11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1TZWxlY3RVc2Vyc0NvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBzZWxlY3Rpb25zdHJnOiBzdHJpbmc7XHJcbiAgZGF0YSA9IFtdO1xyXG4gIGFsbFVzZXJzOiBib29sZWFuO1xyXG4gIHVzZXJOYW1lSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIC8qKiBmaWx0ZXIgdXNlcnMgYnkgZGVwYXJ0bWVudCAoZGVwYXJ0bWVudE5hbWUgfCBhbGwpICovXHJcbiAgQElucHV0KCkgZGVwdFRpdGxlOiBzdHJpbmc7XHJcbiAgLyoqIGZpbHRlciB1c2VycyBieSBncm91cCBuYW1lID0+IHRoaXMgd2lsbCByZXBsY2UgZGVwIHRpdGxlICovXHJcbiAgQElucHV0KCkgZ3JvdXBOYW1lOiBzdHJpbmc7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICAvKiogQmluZCB2YWx1ZSB0byBvYmplY3QgcHJvcGVydHkgKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgLyoqIEJpbmQgbGFiZWwgdG8gb2JqZWN0IHByb3BlcnR5ICovXHJcbiAgQElucHV0KCkgYmluZExhYmVsO1xyXG4gIEBJbnB1dCgpIGFyYWJpY0JpbmRMYWJlbDtcclxuICAvKiogUGxhY2Vob2xkZXIgdGV4dCAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyO1xyXG4gIC8qKiBDYW4gc2VsZWN0IG11bHRpcGxlICovXHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICAvKiogaXMgZHJvcGRvd24gc2VhcmNoYWJsZSAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGUgPSBmYWxzZTtcclxuICAvKiogc2hvdWxkIGNsb3NlIGRyb3Bkb3duIG9uIHZhbHVlIHNlbGVjdGlvbiAqL1xyXG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgaGlkZSBzZWxlY3RlZCBpdGVtcyAqL1xyXG4gIEBJbnB1dCgpIGhpZGVTZWxlY3RlZEl0ZW1zID0gZmFsc2U7XHJcbiAgLyoqIFByZSBTZWxlY3RlZCB2YWx1ZXMgKi9cclxuICBASW5wdXQoKSBwcmVTZWxlY3RlZFZhbHVlcztcclxuICAvKiogZmxhZ2UgdG8gdXNlIHByZXNlbGVjdGVkIHZhbHVlcyBvciBub3QgKi9cclxuICBASW5wdXQoKSB1c2VQcmVTZWxlY3RlZFZhbHVlID0gZmFsc2U7XHJcbiAgLyoqIGlzIERpc2FibGVkICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAvKiogTGlzdCBvZiB1c2VybmFtZXMgdGhhdCBzaG91bGQgYmUgZXhsdWRlZCAgKi9cclxuICBASW5wdXQoKSBmaWx0ZXI6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIC8qKiBmbGFnZSB0byBpbmRpY2F0ZSBpZiB1c2UgZnVsbCBhcmFiaWMgbmFtZSBvciBub3QgYmVzaWRlIGZ1bGxOYW1lICAqL1xyXG4gIEBJbnB1dCgpIHVzZUFyYWJpY05hbWUgPSBmYWxzZTtcclxuXHJcbiAgLyoqIGV2ZW50IGVtaXR0ZWQgd2hlbiBpdGVtIGlzIHNlbGVjdGVkICovXHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0SXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHNlbGVjdGlvbjtcclxuICBidWZmZXIgPSBbXTtcclxuICBidWZmZXJTaXplID0gMTAwMDtcclxuICBudW1iZXJPZkl0ZW1zRnJvbUVuZEJlZm9yZUZldGNoaW5nTW9yZSA9IDEwO1xyXG4gIHN1ZmZpeDtcclxuXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4geyB9O1xyXG4gIGlzQXJhYmljID0gZmFsc2U7XHJcbiAgcHVibGljIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xyXG4gICAgLypFbXB0eSovXHJcbiAgfTtcclxuICBwYWdlSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgaXNOZXh0UGFnZUF2YWlsYWJsZTogYm9vbGVhbjtcclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdXNlckFwaVNlcnZpY2U6IFVzZXJzSW5EZXBhcnRtZW50c0FwaVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVtaXRTZWxlY3Rpb24oZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uc3RyZyA9IGAke3RoaXMuc2VsZWN0aW9uLmxlbmd0aH0gJHt0aGlzLnN1ZmZpeH1gO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3Rpb24pO1xyXG4gICAgdGhpcy5vblNlbGVjdEl0ZW1zLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgb25TY3JvbGxUb0VuZCgpIHtcclxuICAgIHRoaXMuZmV0Y2hNb3JlKCk7XHJcbiAgICArK3RoaXMucGFnZUluZGV4O1xyXG4gICAgaWYgKHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSAmJiB0aGlzLmFsbFVzZXJzKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGVwYXJ0bWVudHModGhpcy5wYWdlSW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaE1vcmUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgbGVuID0gdGhpcy5idWZmZXIubGVuZ3RoO1xyXG4gICAgY29uc3QgbW9yZSA9IHRoaXMuZGF0YS5zbGljZShsZW4sIHRoaXMuYnVmZmVyU2l6ZSArIGxlbik7XHJcbiAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuZGF0YS5jb25jYXQobW9yZSk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKChjaGFuZ2VzLmRlcHRUaXRsZSAmJiAhY2hhbmdlcy5kZXB0VGl0bGU/LmZpcnN0Q2hhbmdlKSB8fCAoY2hhbmdlcy5ncm91cE5hbWUgJiYgIWNoYW5nZXMuZ3JvdXBOYW1lPy5maXJzdENoYW5nZSkpIHtcclxuICAgICAgdGhpcy5kYXRhID0gW107XHJcbiAgICAgIHRoaXMuYnVmZmVyID0gW107XHJcbiAgICAgIHRoaXMuZ2V0RGVwYXJ0bWVudHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hbGxVc2VycyA9IHRoaXMuZGVwdFRpdGxlID09PSAnYWxsJyA/IHRydWUgOiBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5tdWx0aXBsZSA/IFtdIDogdW5kZWZpbmVkO1xyXG4gICAgaWYgKHRoaXMuYWxsVXNlcnMpIHtcclxuICAgICAgdGhpcy5sb2FkVXNlcnMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0RGVwYXJ0bWVudHMoKTtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcikgPT4ge1xyXG4gICAgICB0aGlzLmlzQXJhYmljID0gYXI7XHJcbiAgICAgIGFyXHJcbiAgICAgICAgPyAodGhpcy5zdWZmaXggPSAn2YXYs9iq2K7Yr9mFINiq2YUg2KXYrtiq2YrYp9ix2YcnKVxyXG4gICAgICAgIDogKHRoaXMuc3VmZml4ID0gJ1VzZXJzIFNlbGVjdGVkJyk7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudHMocGFnZSA9IDApIHtcclxuICAgIGlmICh0aGlzLmdyb3VwTmFtZSkge1xyXG4gICAgICB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldFVzZXJzVW5kZXJDZXJ0YWluR3JvdXAodGhpcy5ncm91cE5hbWUpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KFxyXG4gICAgICAgICAgZGF0YS51c2VycyxcclxuICAgICAgICAgICdwcm9wZXJ0aWVzLnVzZXJuYW1lJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChuZXdEYXRhKTtcclxuICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgdGhpcy5idWZmZXIgPSAodGhpcy5kYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVwdFRpdGxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbFVzZXJzKSB7XHJcbiAgICAgICAgdGhpcy5nZXRBbGxVc2VycyhwYWdlKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCBuZXdEYXRhID0gdGhpcy5jb25zdHJ1Y3RVc2VyQXJyYXkoZGF0YS5lbnRyaWVzLCAnaWQnKTtcclxuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQobmV3RGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlciA9ICh0aGlzLmRhdGEgfHwgW10pLnNsaWNlKDAsIHRoaXMuYnVmZmVyU2l6ZSk7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlci5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOyAvLyBmb3IgbG9hZGluZyBzcGlubmVyXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZXRDdHNVc2Vycyh0aGlzLmRlcHRUaXRsZSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KFxyXG4gICAgICAgICAgICBkYXRhLnVzZXJzLFxyXG4gICAgICAgICAgICAncHJvcGVydGllcy51c2VybmFtZSdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KG5ld0RhdGEpO1xyXG4gICAgICAgICAgdGhpcy5pc05leHRQYWdlQXZhaWxhYmxlID0gZGF0YS5pc05leHRQYWdlQXZhaWxhYmxlO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIgPSAodGhpcy5kYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFsbFVzZXJzKHBhZ2UgPSAwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldEFsbFVzZXJzKHtcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgcGFnZVNpemU6IDEwMCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkVXNlcnMoKSB7XHJcbiAgICB0aGlzLnVzZXJOYW1lSW5wdXQkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLmxvYWRpbmcgPSB0cnVlKSksXHJcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGVybSAmJiB0ZXJtLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRVc2Vyc1N1Z2dlc3Rpb25zKHRlcm0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsVXNlcnMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEuZW50cmllcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgbGV0IG5ld0RhdGEgPSB0aGlzLmNvbnN0cnVjdFVzZXJBcnJheShkYXRhLmVudHJpZXMsICdpZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IChuZXdEYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbDtcclxuICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcGFyZUZuKGl0ZW0sIHNlbGVjdGVkKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIml0ZW0gMVwiLCBpdGVtKTtcclxuICAgIGNvbnNvbGUubG9nKFwiSXRlbSAyXCIsIHNlbGVjdGVkKTtcclxuICAgIHJldHVybiBpdGVtLmlkID09PSBzZWxlY3RlZC5pZDtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG5cclxuICAvLyBAQ2FjaGVhYmxlKHtcclxuICAvLyAgIG1heENhY2hlQ291bnQ6IDEwMDAsXHJcbiAgLy8gICBtYXhBZ2U6IDIwMDAwLFxyXG4gIC8vIH0pXHJcblxyXG4gIGdldEN0c1VzZXJzKGRlcHRUaXRsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyQXBpU2VydmljZS5nZXRDdHNVc2VycyhkZXB0VGl0bGUpO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBtYXhDYWNoZUNvdW50OiAxMDAwLFxyXG4gICAgbWF4QWdlOiA1ICogbWludXRlLFxyXG4gIH0pXHJcbiAgZ2V0VXNlcnNTdWdnZXN0aW9ucyh0ZXJtKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldFVzZXJzU3VnZ2VzdGlvbnModGVybSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdFVzZXJBcnJheShkYXRhLCBmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgQ29uc3RydWN0ZWREYXRhOiBhbnlbXTtcclxuICAgIC8vIGlmIG5vdCB1c2luZyBhcmFiaWMgbmFtZSB0aGVuIGNvbnN0cnVjdCBmdWxsIG5hbWUgaGVyZVxyXG4gICAgaWYgKCF0aGlzLnVzZUFyYWJpY05hbWUpIHtcclxuICAgICAgQ29uc3RydWN0ZWREYXRhID0gdGhpcy5pbnNlcnRGVWxsTmFtZShkYXRhKTtcclxuICAgIH1cclxuICAgIENvbnN0cnVjdGVkRGF0YSA9IHRoaXMuZmlsdGVyVXNlcnMoZGF0YSwgZmlsdGVyVmFsdWUpO1xyXG4gICAgcmV0dXJuIENvbnN0cnVjdGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5zZXJ0RlVsbE5hbWUoZGF0YSkge1xyXG4gICAgcmV0dXJuIGRhdGEubWFwKCh1c2VyKSA9PiB7XHJcbiAgICAgIHVzZXIuZnVsbE5hbWUgPSBgJHt1c2VyLnByb3BlcnRpZXM/LmZpcnN0TmFtZX0gJHt1c2VyLnByb3BlcnRpZXM/Lmxhc3ROYW1lfWA7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBmaWx0ZXJVc2VycyhkYXRhLCBwYXRoOiBzdHJpbmcpIHtcclxuICAgIGxldCBmaWx0ZXJEYXRhID0gZGF0YS5maWx0ZXIoKHVzZXIpID0+IHtcclxuICAgICAgY29uc3QgaW5jbHVkZWRJbkZpbHRlciA9XHJcbiAgICAgICAgdGhpcy5maWx0ZXIuaW5jbHVkZXMoXy5nZXQodXNlciwgcGF0aCkpIHx8XHJcbiAgICAgICAgXy5nZXQodXNlciwgcGF0aCkgPT09ICdBZG1pbmlzdHJhdG9yJztcclxuICAgICAgcmV0dXJuICFpbmNsdWRlZEluRmlsdGVyO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZmlsdGVyRGF0YTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJzVW5kZXJDZXJ0YWluR3JvdXAoKSB7XHJcblxyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuaGFuZGxlQ2xlYXJDbGljaygpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlck5hbWVJbnB1dCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInNlbGVjdC1sYWJlbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBteC0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48ZGl2IGNsYXNzPVwidXNlci1zZWxlY3RcIiBbbmdDbGFzc109XCJ7ICdtdWx0aXBsZS13cmFwcGVyJzogbXVsdGlwbGUgfVwiIFNldFJ0bD5cclxuICA8bmctc2VsZWN0XHJcbiAgICAjbmdTZWxlY3RDb21wb25lbnRcclxuICAgIFtpdGVtc109XCJidWZmZXJcIlxyXG4gICAgW2JpbmRMYWJlbF09XCJ1c2VBcmFiaWNOYW1lID8gKGlzQXJhYmljID8gYXJhYmljQmluZExhYmVsIDogYmluZExhYmVsKSAgOiBiaW5kTGFiZWxcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICBtdWx0aXBsZSAmJiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPiAwKSA/IHNlbGVjdGlvbnN0cmcgOiBwbGFjZWhvbGRlclxyXG4gICAgXCJcclxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFt0eXBlYWhlYWRdPVwidXNlck5hbWVJbnB1dCRcIlxyXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGlvblwiXHJcbiAgICAoY2hhbmdlKT1cImVtaXRTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6IDRweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHhcIj5cclxuICAgICAgICAgIDxjdHMtYXZhdGFyIFt1c2VyXT1cIml0ZW1cIj48L2N0cy1hdmF0YXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItbmFtZVwiPlxyXG4gICAgICAgICAge3sgaXRlbT8uaWQgPT09ICdzeXN0ZW0nID8gKCdTWVNURU1fQURNSU4nIHwgdHJhbnNsYXRlKSA6IFxyXG4gICAgICAgICAgKHVzZUFyYWJpY05hbWUgPyAoaXNBcmFiaWMgPyAoaXRlbT8uZnVsbE5hbWVBciA/IGl0ZW0/LmZ1bGxOYW1lQXIgOiBpdGVtPy5mdWxsTmFtZSkgOiBpdGVtPy5mdWxsTmFtZSkgOiBcclxuICAgICAgICAgIChpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUpKSB9fVxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmctdmFsdWUtaWNvbiByaWdodFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcihpdGVtKVwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID7Dlzwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICBuZy1vcHRpb24tdG1wXHJcbiAgICAgIGxldC1pdGVtPVwiaXRlbVwiXHJcbiAgICAgIGxldC1pdGVtJD1cIml0ZW0kXCJcclxuICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6IDRweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICBpZD1cIml0ZW0te3sgaW5kZXggfX1cIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwiaXRlbSQuc2VsZWN0ZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIihmYWxzZSlcIlxyXG4gICAgICAgID48L21hdC1jaGVja2JveD5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHg7IGhlaWdodDogMzBweFwiPlxyXG4gICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwiaXRlbVwiPjwvY3RzLWF2YXRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAge3sgaXRlbT8uaWQgPT09ICdzeXN0ZW0nID8gKCdTWVNURU1fQURNSU4nIHwgdHJhbnNsYXRlKSA6IFxyXG4gICAgICAgICAgKHVzZUFyYWJpY05hbWUgPyAoaXNBcmFiaWMgPyAoaXRlbT8uZnVsbE5hbWVBciA/IGl0ZW0/LmZ1bGxOYW1lQXIgOiBpdGVtPy5mdWxsTmFtZSkgOiBpdGVtPy5mdWxsTmFtZSkgOiBcclxuICAgICAgICAgIChpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUpKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctc2VsZWN0PlxyXG48L2Rpdj5cclxuPG1hdC1lcnJvclxyXG4gIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbj5cclxuICA8dWw+XHJcbiAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L21hdC1lcnJvcj5cclxuIl19
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUVKLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFTdkIsT0FBTyxFQUFrQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUVMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7OztBQUN6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztBQU9yQixNQUFNLE9BQU8sK0JBQStCO0lBc0UxQyxZQUNVLGNBQTRDLEVBQzdDLFNBQTJCLEVBQzFCLFdBQStCLEVBQ1os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QkFBK0I7aUhBQS9CLCtCQUErQiwrc0JDdkQ1QywrdkdBdUdBO0FEMk5FO0lBSkMsU0FBUyxDQUFDO1FBQ1QsYUFBYSxFQUFFLElBQUk7UUFDbkIsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNO0tBQ25CLENBQUM7MEVBR0Q7NEZBN1FVLCtCQUErQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxXQUFXLEVBQUUsNENBQTRDO29CQUN6RCxTQUFTLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQztvQkFDekQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzswQkEyRUksSUFBSTs7MEJBQUksUUFBUTs0Q0F4RWEsaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFNckIsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFrT1AsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBkZWJvdW5jZVRpbWUsXHJcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXHJcbiAgc3dpdGNoTWFwLFxyXG4gIHRhcCxcclxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJzSW5EZXBhcnRtZW50c0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcbi8qKlxyXG4gKiBVc2VycyBkcm9wZG93biBpbnB1dCBpbnRlZ3JhdGVkIHdpdGggdXNlcnMgQVBJLFxyXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIFVzZXJzIGRyb3Bkb3duXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxjdHMtZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vyc1xyXG4gKiAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICAgW2JpbmRWYWx1ZV09XCJiaW5kVG9Qcm9wZXJ0eVwiXHJcbiAqICAgICBbYmluZExhYmVsXT1cIidiaW5kVG9MYWJlbCdcIlxyXG4gKiAgICAgW3NlYXJjaGFibGVdPVwidHJ1ZVwiXHJcbiAqICAgICBbbGFiZWxdPVwiJ1BBVEguVE8uVFJBTlNMQVRJT04nXCJcclxuICogICAgIFtkZXB0VGl0bGVdPVwiJ2FsbCdcIlxyXG4gKiAgID48L2N0cy1keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzPlxyXG4gKi9cclxuY29uc3QgbWludXRlID0gNjAwMDA7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtU2VsZWN0VXNlcnNDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQFZpZXdDaGlsZCgnbmdTZWxlY3RDb21wb25lbnQnKSBuZ1NlbGVjdENvbXBvbmVudDogTmdTZWxlY3RDb21wb25lbnQ7XHJcbiAgc2VsZWN0aW9uc3RyZzogc3RyaW5nO1xyXG4gIGRhdGEgPSBbXTtcclxuICBhbGxVc2VyczogYm9vbGVhbjtcclxuICB1c2VyTmFtZUlucHV0JCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAvKiogZmlsdGVyIHVzZXJzIGJ5IGRlcGFydG1lbnQgKGRlcGFydG1lbnROYW1lIHwgYWxsKSAqL1xyXG4gIEBJbnB1dCgpIGRlcHRUaXRsZTogc3RyaW5nO1xyXG4gIC8qKiBmaWx0ZXIgdXNlcnMgYnkgZ3JvdXAgbmFtZSA9PiB0aGlzIHdpbGwgcmVwbGNlIGRlcCB0aXRsZSAqL1xyXG4gIEBJbnB1dCgpIGdyb3VwTmFtZTogc3RyaW5nO1xyXG4gIC8qKiBGaWVsZCBMYWJlbCAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgLyoqIEJpbmQgdmFsdWUgdG8gb2JqZWN0IHByb3BlcnR5ICovXHJcbiAgQElucHV0KCkgYmluZFZhbHVlO1xyXG4gIC8qKiBCaW5kIGxhYmVsIHRvIG9iamVjdCBwcm9wZXJ0eSAqL1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDtcclxuICBASW5wdXQoKSBhcmFiaWNCaW5kTGFiZWw7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHRleHQgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjtcclxuICAvKiogQ2FuIHNlbGVjdCBtdWx0aXBsZSAqL1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgLyoqIGlzIGRyb3Bkb3duIHNlYXJjaGFibGUgKi9cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgLyoqIHNob3VsZCBjbG9zZSBkcm9wZG93biBvbiB2YWx1ZSBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKSBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcclxuICAvKiogc2hvdWxkIGhpZGUgc2VsZWN0ZWQgaXRlbXMgKi9cclxuICBASW5wdXQoKSBoaWRlU2VsZWN0ZWRJdGVtcyA9IGZhbHNlO1xyXG4gIC8qKiBQcmUgU2VsZWN0ZWQgdmFsdWVzICovXHJcbiAgQElucHV0KCkgcHJlU2VsZWN0ZWRWYWx1ZXM7XHJcbiAgLyoqIGZsYWdlIHRvIHVzZSBwcmVzZWxlY3RlZCB2YWx1ZXMgb3Igbm90ICovXHJcbiAgQElucHV0KCkgdXNlUHJlU2VsZWN0ZWRWYWx1ZSA9IGZhbHNlO1xyXG4gIC8qKiBpcyBEaXNhYmxlZCAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIExpc3Qgb2YgdXNlcm5hbWVzIHRoYXQgc2hvdWxkIGJlIGV4bHVkZWQgICovXHJcbiAgQElucHV0KCkgZmlsdGVyOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAvKiogZmxhZ2UgdG8gaW5kaWNhdGUgaWYgdXNlIGZ1bGwgYXJhYmljIG5hbWUgb3Igbm90IGJlc2lkZSBmdWxsTmFtZSAgKi9cclxuICBASW5wdXQoKSB1c2VBcmFiaWNOYW1lID0gZmFsc2U7XHJcblxyXG4gIC8qKiBldmVudCBlbWl0dGVkIHdoZW4gaXRlbSBpcyBzZWxlY3RlZCAqL1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzZWxlY3Rpb247XHJcbiAgYnVmZmVyID0gW107XHJcbiAgYnVmZmVyU2l6ZSA9IDEwMDA7XHJcbiAgbnVtYmVyT2ZJdGVtc0Zyb21FbmRCZWZvcmVGZXRjaGluZ01vcmUgPSAxMDtcclxuICBzdWZmaXg7XHJcblxyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHsgfTtcclxuICBpc0FyYWJpYyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcGFnZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGlzTmV4dFBhZ2VBdmFpbGFibGU6IGJvb2xlYW47XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJBcGlTZXJ2aWNlOiBVc2Vyc0luRGVwYXJ0bWVudHNBcGlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbWl0U2VsZWN0aW9uKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbnN0cmcgPSBgJHt0aGlzLnNlbGVjdGlvbi5sZW5ndGh9ICR7dGhpcy5zdWZmaXh9YDtcclxuICAgIH1cclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0aW9uKTtcclxuICAgIHRoaXMub25TZWxlY3RJdGVtcy5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uU2Nyb2xsVG9FbmQoKSB7XHJcbiAgICB0aGlzLmZldGNoTW9yZSgpO1xyXG4gICAgKyt0aGlzLnBhZ2VJbmRleDtcclxuICAgIGlmICh0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgJiYgdGhpcy5hbGxVc2Vycykge1xyXG4gICAgICB0aGlzLmdldERlcGFydG1lbnRzKHRoaXMucGFnZUluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxlbiA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcclxuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmJ1ZmZlclNpemUgKyBsZW4pO1xyXG4gICAgdGhpcy5idWZmZXIgPSB0aGlzLmRhdGEuY29uY2F0KG1vcmUpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICgoY2hhbmdlcy5kZXB0VGl0bGUgJiYgIWNoYW5nZXMuZGVwdFRpdGxlPy5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXMuZ3JvdXBOYW1lICYmICFjaGFuZ2VzLmdyb3VwTmFtZT8uZmlyc3RDaGFuZ2UpKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IFtdO1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xyXG4gICAgICB0aGlzLmdldERlcGFydG1lbnRzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWxsVXNlcnMgPSB0aGlzLmRlcHRUaXRsZSA9PT0gJ2FsbCcgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uID8/ICh0aGlzLm11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpO1xyXG4gICAgaWYgKHRoaXMuYWxsVXNlcnMpIHtcclxuICAgICAgdGhpcy5sb2FkVXNlcnMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0RGVwYXJ0bWVudHMoKTtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcikgPT4ge1xyXG4gICAgICB0aGlzLmlzQXJhYmljID0gYXI7XHJcbiAgICAgIGFyXHJcbiAgICAgICAgPyAodGhpcy5zdWZmaXggPSAn2YXYs9iq2K7Yr9mFINiq2YUg2KXYrtiq2YrYp9ix2YcnKVxyXG4gICAgICAgIDogKHRoaXMuc3VmZml4ID0gJ1VzZXJzIFNlbGVjdGVkJyk7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudHMocGFnZSA9IDApIHtcclxuICAgIGlmICh0aGlzLmdyb3VwTmFtZSkge1xyXG4gICAgICB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldFVzZXJzVW5kZXJDZXJ0YWluR3JvdXAodGhpcy5ncm91cE5hbWUpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KFxyXG4gICAgICAgICAgZGF0YS51c2VycyxcclxuICAgICAgICAgICdwcm9wZXJ0aWVzLnVzZXJuYW1lJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChuZXdEYXRhKTtcclxuICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgdGhpcy5idWZmZXIgPSAodGhpcy5kYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVwdFRpdGxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbFVzZXJzKSB7XHJcbiAgICAgICAgdGhpcy5nZXRBbGxVc2VycyhwYWdlKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCBuZXdEYXRhID0gdGhpcy5jb25zdHJ1Y3RVc2VyQXJyYXkoZGF0YS5lbnRyaWVzLCAnaWQnKTtcclxuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQobmV3RGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlciA9ICh0aGlzLmRhdGEgfHwgW10pLnNsaWNlKDAsIHRoaXMuYnVmZmVyU2l6ZSk7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlci5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOyAvLyBmb3IgbG9hZGluZyBzcGlubmVyXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZXRDdHNVc2Vycyh0aGlzLmRlcHRUaXRsZSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KFxyXG4gICAgICAgICAgICBkYXRhLnVzZXJzLFxyXG4gICAgICAgICAgICAncHJvcGVydGllcy51c2VybmFtZSdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KG5ld0RhdGEpO1xyXG4gICAgICAgICAgdGhpcy5pc05leHRQYWdlQXZhaWxhYmxlID0gZGF0YS5pc05leHRQYWdlQXZhaWxhYmxlO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIgPSAodGhpcy5kYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFsbFVzZXJzKHBhZ2UgPSAwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldEFsbFVzZXJzKHtcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgcGFnZVNpemU6IDEwMCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkVXNlcnMoKSB7XHJcbiAgICB0aGlzLnVzZXJOYW1lSW5wdXQkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLmxvYWRpbmcgPSB0cnVlKSksXHJcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGVybSAmJiB0ZXJtLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRVc2Vyc1N1Z2dlc3Rpb25zKHRlcm0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsVXNlcnMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEuZW50cmllcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgbGV0IG5ld0RhdGEgPSB0aGlzLmNvbnN0cnVjdFVzZXJBcnJheShkYXRhLmVudHJpZXMsICdpZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IChuZXdEYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbDtcclxuICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcGFyZUZuKGl0ZW0sIHNlbGVjdGVkKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIml0ZW0gMVwiLCBpdGVtKTtcclxuICAgIGNvbnNvbGUubG9nKFwiSXRlbSAyXCIsIHNlbGVjdGVkKTtcclxuICAgIHJldHVybiBpdGVtLmlkID09PSBzZWxlY3RlZC5pZDtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG5cclxuICAvLyBAQ2FjaGVhYmxlKHtcclxuICAvLyAgIG1heENhY2hlQ291bnQ6IDEwMDAsXHJcbiAgLy8gICBtYXhBZ2U6IDIwMDAwLFxyXG4gIC8vIH0pXHJcblxyXG4gIGdldEN0c1VzZXJzKGRlcHRUaXRsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyQXBpU2VydmljZS5nZXRDdHNVc2VycyhkZXB0VGl0bGUpO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBtYXhDYWNoZUNvdW50OiAxMDAwLFxyXG4gICAgbWF4QWdlOiA1ICogbWludXRlLFxyXG4gIH0pXHJcbiAgZ2V0VXNlcnNTdWdnZXN0aW9ucyh0ZXJtKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldFVzZXJzU3VnZ2VzdGlvbnModGVybSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdFVzZXJBcnJheShkYXRhLCBmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgQ29uc3RydWN0ZWREYXRhOiBhbnlbXTtcclxuICAgIC8vIGlmIG5vdCB1c2luZyBhcmFiaWMgbmFtZSB0aGVuIGNvbnN0cnVjdCBmdWxsIG5hbWUgaGVyZVxyXG4gICAgaWYgKCF0aGlzLnVzZUFyYWJpY05hbWUpIHtcclxuICAgICAgQ29uc3RydWN0ZWREYXRhID0gdGhpcy5pbnNlcnRGVWxsTmFtZShkYXRhKTtcclxuICAgIH1cclxuICAgIENvbnN0cnVjdGVkRGF0YSA9IHRoaXMuZmlsdGVyVXNlcnMoZGF0YSwgZmlsdGVyVmFsdWUpO1xyXG4gICAgcmV0dXJuIENvbnN0cnVjdGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5zZXJ0RlVsbE5hbWUoZGF0YSkge1xyXG4gICAgcmV0dXJuIGRhdGEubWFwKCh1c2VyKSA9PiB7XHJcbiAgICAgIHVzZXIuZnVsbE5hbWUgPSBgJHt1c2VyLnByb3BlcnRpZXM/LmZpcnN0TmFtZX0gJHt1c2VyLnByb3BlcnRpZXM/Lmxhc3ROYW1lfWA7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBmaWx0ZXJVc2VycyhkYXRhLCBwYXRoOiBzdHJpbmcpIHtcclxuICAgIGxldCBmaWx0ZXJEYXRhID0gZGF0YS5maWx0ZXIoKHVzZXIpID0+IHtcclxuICAgICAgY29uc3QgaW5jbHVkZWRJbkZpbHRlciA9XHJcbiAgICAgICAgdGhpcy5maWx0ZXIuaW5jbHVkZXMoXy5nZXQodXNlciwgcGF0aCkpIHx8XHJcbiAgICAgICAgXy5nZXQodXNlciwgcGF0aCkgPT09ICdBZG1pbmlzdHJhdG9yJztcclxuICAgICAgcmV0dXJuICFpbmNsdWRlZEluRmlsdGVyO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZmlsdGVyRGF0YTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJzVW5kZXJDZXJ0YWluR3JvdXAoKSB7XHJcblxyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuaGFuZGxlQ2xlYXJDbGljaygpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlck5hbWVJbnB1dCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInNlbGVjdC1sYWJlbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBteC0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48ZGl2IGNsYXNzPVwidXNlci1zZWxlY3RcIiBbbmdDbGFzc109XCJ7ICdtdWx0aXBsZS13cmFwcGVyJzogbXVsdGlwbGUgfVwiIFNldFJ0bD5cclxuICA8bmctc2VsZWN0XHJcbiAgICAjbmdTZWxlY3RDb21wb25lbnRcclxuICAgIFtpdGVtc109XCJidWZmZXJcIlxyXG4gICAgW2JpbmRMYWJlbF09XCJ1c2VBcmFiaWNOYW1lID8gKGlzQXJhYmljID8gYXJhYmljQmluZExhYmVsIDogYmluZExhYmVsKSAgOiBiaW5kTGFiZWxcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICBtdWx0aXBsZSAmJiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPiAwKSA/IHNlbGVjdGlvbnN0cmcgOiBwbGFjZWhvbGRlclxyXG4gICAgXCJcclxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFt0eXBlYWhlYWRdPVwidXNlck5hbWVJbnB1dCRcIlxyXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGlvblwiXHJcbiAgICAoY2hhbmdlKT1cImVtaXRTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6IDRweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHhcIj5cclxuICAgICAgICAgIDxjdHMtYXZhdGFyIFt1c2VyXT1cIml0ZW1cIj48L2N0cy1hdmF0YXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItbmFtZVwiPlxyXG4gICAgICAgICAge3sgaXRlbT8uaWQgPT09ICdzeXN0ZW0nID8gKCdTWVNURU1fQURNSU4nIHwgdHJhbnNsYXRlKSA6IFxyXG4gICAgICAgICAgKHVzZUFyYWJpY05hbWUgPyAoaXNBcmFiaWMgPyAoaXRlbT8uZnVsbE5hbWVBciA/IGl0ZW0/LmZ1bGxOYW1lQXIgOiBpdGVtPy5mdWxsTmFtZSkgOiBpdGVtPy5mdWxsTmFtZSkgOiBcclxuICAgICAgICAgIChpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUpKSB9fVxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmctdmFsdWUtaWNvbiByaWdodFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcihpdGVtKVwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID7Dlzwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICBuZy1vcHRpb24tdG1wXHJcbiAgICAgIGxldC1pdGVtPVwiaXRlbVwiXHJcbiAgICAgIGxldC1pdGVtJD1cIml0ZW0kXCJcclxuICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6IDRweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICBpZD1cIml0ZW0te3sgaW5kZXggfX1cIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwiaXRlbSQuc2VsZWN0ZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIihmYWxzZSlcIlxyXG4gICAgICAgID48L21hdC1jaGVja2JveD5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHg7IGhlaWdodDogMzBweFwiPlxyXG4gICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwiaXRlbVwiPjwvY3RzLWF2YXRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAge3sgaXRlbT8uaWQgPT09ICdzeXN0ZW0nID8gKCdTWVNURU1fQURNSU4nIHwgdHJhbnNsYXRlKSA6IFxyXG4gICAgICAgICAgKHVzZUFyYWJpY05hbWUgPyAoaXNBcmFiaWMgPyAoaXRlbT8uZnVsbE5hbWVBciA/IGl0ZW0/LmZ1bGxOYW1lQXIgOiBpdGVtPy5mdWxsTmFtZSkgOiBpdGVtPy5mdWxsTmFtZSkgOiBcclxuICAgICAgICAgIChpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUpKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctc2VsZWN0PlxyXG48L2Rpdj5cclxuPG1hdC1lcnJvclxyXG4gIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbj5cclxuICA8dWw+XHJcbiAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L21hdC1lcnJvcj5cclxuIl19
|
|
@@ -108,7 +108,7 @@ function calculateBarLabelPosition(dataPoint, textMetrics, isHorizontal, isRever
|
|
|
108
108
|
const fitsInside = textMetrics.width + textPadding * 2 <= dataPoint.width;
|
|
109
109
|
if (fitsInside) {
|
|
110
110
|
return {
|
|
111
|
-
x: dataPoint.x + (isReversed ? textMetrics.width / 2 : -textMetrics.width / 2),
|
|
111
|
+
x: dataPoint.x + (isReversed ? textMetrics.width / 2 + textPadding : -(textMetrics.width / 2 + textPadding)),
|
|
112
112
|
y: dataPoint.y,
|
|
113
113
|
color: getTextColor(backgroundColor)
|
|
114
114
|
};
|
|
@@ -126,7 +126,7 @@ function calculateBarLabelPosition(dataPoint, textMetrics, isHorizontal, isRever
|
|
|
126
126
|
if (fitsInside) {
|
|
127
127
|
return {
|
|
128
128
|
x: dataPoint.x,
|
|
129
|
-
y: dataPoint.y,
|
|
129
|
+
y: dataPoint.y + textPadding / 2 + textMetrics.height / 2,
|
|
130
130
|
color: getTextColor(backgroundColor)
|
|
131
131
|
};
|
|
132
132
|
}
|
|
@@ -205,4 +205,4 @@ function getBarChartOrientation(chart) {
|
|
|
205
205
|
isHorizontalReversed: ((_b = scales === null || scales === void 0 ? void 0 : scales.x) === null || _b === void 0 ? void 0 : _b.reverse) === true
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYWJlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3BsdWdpbnMvZGF0YS1sYWJlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEQsMEJBQTBCO0FBQzFCLE1BQU0sWUFBWSxHQUFHO0lBQ3BCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsV0FBVyxFQUFFLEVBQUU7SUFDZixlQUFlLEVBQUUsRUFBRTtJQUNuQixXQUFXLEVBQUUsQ0FBQztJQUNkLG1CQUFtQixFQUFFLEdBQUc7SUFDeEIsbUJBQW1CLEVBQUU7UUFDcEIsR0FBRyxFQUFFLEdBQUc7UUFDUixRQUFRLEVBQUUsR0FBRztLQUNiO0lBQ0QsbUJBQW1CLEVBQUU7UUFDcEIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQix3QkFBd0IsRUFBRSxFQUFFO0tBQzVCO0NBQ1EsQ0FBQztBQXFCWCxjQUFjO0FBQ2QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFzQjtJQUNqRCxFQUFFLEVBQUUsaUJBQWlCO0lBQ3JCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTzs7UUFDckMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN0QixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWCxNQUFNLFNBQVMsR0FBRyxNQUFDLEtBQUssQ0FBQyxNQUE2QiwwQ0FBRSxJQUFJLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0MsSUFBSSxRQUFRLEVBQUU7WUFDYixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEI7UUFFRCxHQUFHLENBQUMsT0FB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QkFBa0IsRUFBRSxDQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLENBQUMsMENBQUUsT0FBTyxNQUFLLElBQUk7UUFDL0Msb0JBQW9CLEVBQUUsQ0FBQSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxDQUFDLDBDQUFFLE9BQU8sTUFBSyxJQUFJO0tBQ2pELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjRWxlbWVudCwgQ2hhcnQsIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydFR5cGUgfSBmcm9tICdjaGFydC5qcy9kaXN0L3R5cGVzJztcclxuaW1wb3J0IEJhckVsZW1lbnQgZnJvbSAnY2hhcnQuanMvZGlzdC9lbGVtZW50cy9lbGVtZW50LmJhcic7XHJcbmltcG9ydCB7IGdldENvbG9yLCBnZXRUZXh0Q29sb3IgfSBmcm9tICcuLi91dGlsaXR5JztcclxuXHJcbi8vIENvbmZpZ3VyYXRpb24gY29uc3RhbnRzXHJcbmNvbnN0IExBQkVMX0NPTkZJRyA9IHtcclxuXHRtaW5Gb250U2l6ZTogMTAsXHJcblx0bWF4Rm9udFNpemU6IDE2LFxyXG5cdGRlZmF1bHRGb250U2l6ZTogMTIsXHJcblx0dGV4dFBhZGRpbmc6IDgsXHJcblx0bWluQW5nbGVGb3JQaWVMYWJlbDogMC4zLCAvLyB+MTcgZGVncmVlc1xyXG5cdGFyY1JhZGl1c011bHRpcGxpZXI6IHtcclxuXHRcdHBpZTogMC43LFxyXG5cdFx0ZG91Z2hudXQ6IDAuOFxyXG5cdH0sXHJcblx0Zm9udFNpemVDYWxjdWxhdGlvbjoge1xyXG5cdFx0cGVyY2VudGFnZURpdmlzb3I6IDMsXHJcblx0XHRtYXhQZXJjZW50YWdlRm9yRm9udFNpemU6IDIwXHJcblx0fVxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gVHlwZXNcclxuaW50ZXJmYWNlIFRleHRNZXRyaWNzIHtcclxuXHR3aWR0aDogbnVtYmVyO1xyXG5cdGhlaWdodDogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTGFiZWxEYXRhIHtcclxuXHR0ZXh0OiBzdHJpbmc7XHJcblx0cGVyY2VudGFnZTogbnVtYmVyO1xyXG5cdGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cdGlzVmlzaWJsZTogYm9vbGVhbjtcclxufVxyXG5cclxuaW50ZXJmYWNlIExhYmVsUG9zaXRpb24ge1xyXG5cdHg6IG51bWJlcjtcclxuXHR5OiBudW1iZXI7XHJcblx0Y29sb3I6IHN0cmluZztcclxufVxyXG5cclxuLy8gTWFpbiBwbHVnaW5cclxuZXhwb3J0IGNvbnN0IGNoYXJ0RGF0YUxhYmVsczogUGx1Z2luPENoYXJ0VHlwZT4gPSB7XHJcblx0aWQ6ICdjaGFydERhdGFMYWJlbHMnLFxyXG5cdGFmdGVyRGF0YXNldHNEcmF3KGNoYXJ0LCBhcmdzLCBwbHVnaW5zKSB7XHJcblx0XHRjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XHJcblx0XHRjdHguc2F2ZSgpO1xyXG5cclxuXHRcdGNvbnN0IGNoYXJ0VHlwZSA9IChjaGFydC5jb25maWcgYXMgQ2hhcnRDb25maWd1cmF0aW9uKT8udHlwZTtcclxuXHRcdGNvbnN0IHJlbmRlcmVyID0gZ2V0Q2hhcnRSZW5kZXJlcihjaGFydFR5cGUpO1xyXG5cclxuXHRcdGlmIChyZW5kZXJlcikge1xyXG5cdFx0XHRyZW5kZXJlcihjaGFydCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y3R4LnJlc3RvcmUoKTtcclxuXHR9XHJcbn07XHJcblxyXG4vLyBDaGFydCB0eXBlIHJvdXRlclxyXG5mdW5jdGlvbiBnZXRDaGFydFJlbmRlcmVyKGNoYXJ0VHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0Y29uc3QgcmVuZGVyZXJzID0ge1xyXG5cdFx0YmFyOiBiYXJDaGFydExhYmVscyxcclxuXHRcdHBpZTogcGllQ2hhcnRMYWJlbHMsXHJcblx0XHRkb3VnaG51dDogZG91Z2hudXRDaGFydExhYmVsc1xyXG5cdH07XHJcblxyXG5cdHJldHVybiByZW5kZXJlcnNbY2hhcnRUeXBlIGFzIGtleW9mIHR5cGVvZiByZW5kZXJlcnNdO1xyXG59XHJcblxyXG4vLyBDb3JlIHV0aWxpdHkgZnVuY3Rpb25zXHJcbmZ1bmN0aW9uIGNhbGN1bGF0ZVBlcmNlbnRhZ2UodmFsdWU6IG51bWJlciwgdG90YWw6IG51bWJlcik6IG51bWJlciB7XHJcblx0cmV0dXJuIHRvdGFsID4gMCA/ICh2YWx1ZSAvIHRvdGFsKSAqIDEwMCA6IDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbGN1bGF0ZUZvbnRTaXplKHBlcmNlbnRhZ2U6IG51bWJlcik6IG51bWJlciB7XHJcblx0Y29uc3QgeyBwZXJjZW50YWdlRGl2aXNvciwgbWF4UGVyY2VudGFnZUZvckZvbnRTaXplIH0gPSBMQUJFTF9DT05GSUcuZm9udFNpemVDYWxjdWxhdGlvbjtcclxuXHRjb25zdCBjYWxjdWxhdGVkU2l6ZSA9IE1hdGgubWluKHBlcmNlbnRhZ2UgLyBwZXJjZW50YWdlRGl2aXNvciwgbWF4UGVyY2VudGFnZUZvckZvbnRTaXplKTtcclxuXHRyZXR1cm4gTWF0aC5tYXgoTEFCRUxfQ09ORklHLm1pbkZvbnRTaXplLCBNYXRoLm1pbihjYWxjdWxhdGVkU2l6ZSwgTEFCRUxfQ09ORklHLm1heEZvbnRTaXplKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFRleHRNZXRyaWNzKGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELCB0ZXh0OiBzdHJpbmcsIGZvbnRTaXplOiBudW1iZXIpOiBUZXh0TWV0cmljcyB7XHJcblx0Y3R4LmZvbnQgPSBgbm9ybWFsICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XHJcblx0Y29uc3QgbWV0cmljcyA9IGN0eC5tZWFzdXJlVGV4dCh0ZXh0KTtcclxuXHRjb25zdCBoZWlnaHQgPSBtZXRyaWNzLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ICsgbWV0cmljcy5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQgfHwgTEFCRUxfQ09ORklHLmRlZmF1bHRGb250U2l6ZTtcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdHdpZHRoOiBtZXRyaWNzLndpZHRoLFxyXG5cdFx0aGVpZ2h0XHJcblx0fTtcclxufVxyXG5cclxuZnVuY3Rpb24gcHJlcGFyZUNhbnZhc0ZvclRleHQoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIGZvbnRTaXplOiBudW1iZXIsIGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuXHRjdHguZm9udCA9IGBib2xkICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XHJcblx0Y3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xyXG5cdGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuXHRjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGV4dHJhY3RMYWJlbERhdGEoXHJcblx0ZGF0YXNldDogYW55LFxyXG5cdGluZGV4OiBudW1iZXIsXHJcblx0dG90YWxTdW06IG51bWJlcixcclxuXHRjaGFydDogQ2hhcnQ8Q2hhcnRUeXBlLCB1bmtub3duLCB1bmtub3duPlxyXG4pOiBMYWJlbERhdGEgfCBudWxsIHtcclxuXHRjb25zdCB2YWx1ZSA9IGRhdGFzZXQuZGF0YVtpbmRleF0gYXMgbnVtYmVyO1xyXG5cdGNvbnN0IHBlcmNlbnRhZ2UgPSBjYWxjdWxhdGVQZXJjZW50YWdlKHZhbHVlLCB0b3RhbFN1bSk7XHJcblx0Y29uc3QgaXNWaXNpYmxlID0gY2hhcnQuZ2V0RGF0YVZpc2liaWxpdHkoaW5kZXgpO1xyXG5cclxuXHRpZiAoIXBlcmNlbnRhZ2UgfHwgIWlzVmlzaWJsZSkge1xyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4ge1xyXG5cdFx0dGV4dDogYCR7cGVyY2VudGFnZS50b0ZpeGVkKDEpfSVgLFxyXG5cdFx0cGVyY2VudGFnZSxcclxuXHRcdGJhY2tncm91bmRDb2xvcjogQXJyYXkuaXNBcnJheShkYXRhc2V0LmJhY2tncm91bmRDb2xvcikgPyBkYXRhc2V0LmJhY2tncm91bmRDb2xvcltpbmRleF0gOiBkYXRhc2V0LmJhY2tncm91bmRDb2xvcixcclxuXHRcdGlzVmlzaWJsZVxyXG5cdH07XHJcbn1cclxuXHJcbi8vIEJhciBjaGFydCBpbXBsZW1lbnRhdGlvblxyXG5mdW5jdGlvbiBiYXJDaGFydExhYmVscyhjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuXHRjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XHJcblx0Y29uc3QgaXNIb3Jpem9udGFsQ2hhcnQgPSBjaGFydC5vcHRpb25zPy5pbmRleEF4aXMgPT09ICd5JztcclxuXHRjb25zdCB7IGlzSG9yaXpvbnRhbFJldmVyc2VkIH0gPSBnZXRCYXJDaGFydE9yaWVudGF0aW9uKGNoYXJ0KTtcclxuXHJcblx0Y2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0LCBkYXRhc2V0SW5kZXgpID0+IHtcclxuXHRcdGNvbnN0IG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpO1xyXG5cdFx0Y29uc3QgdG90YWxTdW0gPSAoZGF0YXNldC5kYXRhIGFzIG51bWJlcltdKS5yZWR1Y2UoKHN1bSwgdmFsdWUpID0+IHN1bSArIHZhbHVlLCAwKTtcclxuXHJcblx0XHRtZXRhLmRhdGEuZm9yRWFjaCgoZGF0YVBvaW50OiBCYXJFbGVtZW50LCBpbmRleCkgPT4ge1xyXG5cdFx0XHRpZiAoIWRhdGFQb2ludCkgcmV0dXJuO1xyXG5cclxuXHRcdFx0Y29uc3QgbGFiZWxEYXRhID0gZXh0cmFjdExhYmVsRGF0YShkYXRhc2V0LCBpbmRleCwgdG90YWxTdW0sIGNoYXJ0KTtcclxuXHRcdFx0aWYgKCFsYWJlbERhdGEpIHJldHVybjtcclxuXHJcblx0XHRcdGNvbnN0IGZvbnRTaXplID0gY2FsY3VsYXRlRm9udFNpemUobGFiZWxEYXRhLnBlcmNlbnRhZ2UpO1xyXG5cdFx0XHRjb25zdCB0ZXh0TWV0cmljcyA9IGdldFRleHRNZXRyaWNzKGN0eCwgbGFiZWxEYXRhLnRleHQsIGZvbnRTaXplKTtcclxuXHJcblx0XHRcdGNvbnN0IHBvc2l0aW9uID0gY2FsY3VsYXRlQmFyTGFiZWxQb3NpdGlvbihcclxuXHRcdFx0XHRkYXRhUG9pbnQsXHJcblx0XHRcdFx0dGV4dE1ldHJpY3MsXHJcblx0XHRcdFx0aXNIb3Jpem9udGFsQ2hhcnQsXHJcblx0XHRcdFx0aXNIb3Jpem9udGFsUmV2ZXJzZWQsXHJcblx0XHRcdFx0bGFiZWxEYXRhLmJhY2tncm91bmRDb2xvclxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0aWYgKHBvc2l0aW9uKSB7XHJcblx0XHRcdFx0cHJlcGFyZUNhbnZhc0ZvclRleHQoY3R4LCBmb250U2l6ZSwgcG9zaXRpb24uY29sb3IpO1xyXG5cdFx0XHRcdGN0eC5maWxsVGV4dChsYWJlbERhdGEudGV4dCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjYWxjdWxhdGVCYXJMYWJlbFBvc2l0aW9uKFxyXG5cdGRhdGFQb2ludDogQmFyRWxlbWVudCxcclxuXHR0ZXh0TWV0cmljczogVGV4dE1ldHJpY3MsXHJcblx0aXNIb3Jpem9udGFsOiBib29sZWFuLFxyXG5cdGlzUmV2ZXJzZWQ6IGJvb2xlYW4sXHJcblx0YmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWRcclxuKTogTGFiZWxQb3NpdGlvbiB8IG51bGwge1xyXG5cdGNvbnN0IHsgdGV4dFBhZGRpbmcgfSA9IExBQkVMX0NPTkZJRztcclxuXHJcblx0aWYgKGlzSG9yaXpvbnRhbCkge1xyXG5cdFx0Y29uc3QgZml0c0luc2lkZSA9IHRleHRNZXRyaWNzLndpZHRoICsgdGV4dFBhZGRpbmcgKiAyIDw9IGRhdGFQb2ludC53aWR0aDtcclxuXHJcblx0XHRpZiAoZml0c0luc2lkZSkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHg6IGRhdGFQb2ludC54ICsgKGlzUmV2ZXJzZWQgPyB0ZXh0TWV0cmljcy53aWR0aCAvIDIgOiAtdGV4dE1ldHJpY3Mud2lkdGggLyAyKSxcclxuXHRcdFx0XHR5OiBkYXRhUG9pbnQueSxcclxuXHRcdFx0XHRjb2xvcjogZ2V0VGV4dENvbG9yKGJhY2tncm91bmRDb2xvcilcclxuXHRcdFx0fTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0eDogZGF0YVBvaW50LnggKyAoaXNSZXZlcnNlZCA/IC10ZXh0TWV0cmljcy53aWR0aCAvIDIgLSB0ZXh0UGFkZGluZyA6IHRleHRNZXRyaWNzLndpZHRoIC8gMiArIHRleHRQYWRkaW5nKSxcclxuXHRcdFx0XHR5OiBkYXRhUG9pbnQueSxcclxuXHRcdFx0XHRjb2xvcjogZ2V0Q29sb3IoJy0tY2hhcnQtdmFsdWUtZGVmYXVsdC1jb2xvcicsICcjMDAwJylcclxuXHRcdFx0fTtcclxuXHRcdH1cclxuXHR9IGVsc2Uge1xyXG5cdFx0Y29uc3QgZml0c0luc2lkZSA9IHRleHRNZXRyaWNzLmhlaWdodCArIHRleHRQYWRkaW5nICogMiA8PSBkYXRhUG9pbnQuaGVpZ2h0O1xyXG5cclxuXHRcdGlmIChmaXRzSW5zaWRlKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0eDogZGF0YVBvaW50LngsXHJcblx0XHRcdFx0eTogZGF0YVBvaW50LnksXHJcblx0XHRcdFx0Y29sb3I6IGdldFRleHRDb2xvcihiYWNrZ3JvdW5kQ29sb3IpXHJcblx0XHRcdH07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHg6IGRhdGFQb2ludC54LFxyXG5cdFx0XHRcdHk6IGRhdGFQb2ludC55IC0gdGV4dE1ldHJpY3MuaGVpZ2h0IC8gMiAtIHRleHRQYWRkaW5nLFxyXG5cdFx0XHRcdGNvbG9yOiBnZXRDb2xvcignLS1jaGFydC12YWx1ZS1kZWZhdWx0LWNvbG9yJywgJyMwMDAnKVxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gUGllIGNoYXJ0IGltcGxlbWVudGF0aW9uXHJcbmZ1bmN0aW9uIHBpZUNoYXJ0TGFiZWxzKGNoYXJ0OiBDaGFydDxDaGFydFR5cGUsIHVua25vd24sIHVua25vd24+KTogdm9pZCB7XHJcblx0cmVuZGVyQXJjTGFiZWxzKGNoYXJ0LCAncGllJyk7XHJcbn1cclxuXHJcbi8vIERvdWdobnV0IGNoYXJ0IGltcGxlbWVudGF0aW9uXHJcbmZ1bmN0aW9uIGRvdWdobnV0Q2hhcnRMYWJlbHMoY2hhcnQ6IENoYXJ0PENoYXJ0VHlwZSwgdW5rbm93biwgdW5rbm93bj4pOiB2b2lkIHtcclxuXHRyZW5kZXJBcmNMYWJlbHMoY2hhcnQsICdkb3VnaG51dCcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZW5kZXJBcmNMYWJlbHMoY2hhcnQ6IENoYXJ0PENoYXJ0VHlwZSwgdW5rbm93biwgdW5rbm93bj4sIGNoYXJ0VHlwZTogJ3BpZScgfCAnZG91Z2hudXQnKTogdm9pZCB7XHJcblx0Y29uc3QgeyBjdHggfSA9IGNoYXJ0O1xyXG5cclxuXHRjaGFydC5kYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgPT4ge1xyXG5cdFx0Y29uc3QgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7XHJcblx0XHRjb25zdCB0b3RhbFN1bSA9IChkYXRhc2V0LmRhdGEgYXMgbnVtYmVyW10pLnJlZHVjZSgoc3VtLCB2YWx1ZSkgPT4gc3VtICsgdmFsdWUsIDApO1xyXG5cclxuXHRcdG1ldGEuZGF0YS5mb3JFYWNoKChhcmM6IEFyY0VsZW1lbnQsIGluZGV4KSA9PiB7XHJcblx0XHRcdGlmICghYXJjKSByZXR1cm47XHJcblxyXG5cdFx0XHRjb25zdCBsYWJlbERhdGEgPSBleHRyYWN0TGFiZWxEYXRhKGRhdGFzZXQsIGluZGV4LCB0b3RhbFN1bSwgY2hhcnQpO1xyXG5cdFx0XHRpZiAoIWxhYmVsRGF0YSkgcmV0dXJuO1xyXG5cclxuXHRcdFx0aWYgKHNob3VsZFNob3dBcmNMYWJlbChhcmMsIGxhYmVsRGF0YS50ZXh0LCBjaGFydFR5cGUpKSB7XHJcblx0XHRcdFx0Y29uc3QgcG9zaXRpb24gPSBjYWxjdWxhdGVBcmNMYWJlbFBvc2l0aW9uKGFyYywgY2hhcnRUeXBlKTtcclxuXHRcdFx0XHRjb25zdCBmb250U2l6ZSA9IGNhbGN1bGF0ZUZvbnRTaXplKGxhYmVsRGF0YS5wZXJjZW50YWdlKTtcclxuXHRcdFx0XHRjb25zdCB0ZXh0Q29sb3IgPSBnZXRUZXh0Q29sb3IobGFiZWxEYXRhLmJhY2tncm91bmRDb2xvciB8fCAnIzAwMDAwMCcpO1xyXG5cclxuXHRcdFx0XHRwcmVwYXJlQ2FudmFzRm9yVGV4dChjdHgsIGZvbnRTaXplLCB0ZXh0Q29sb3IpO1xyXG5cdFx0XHRcdGN0eC5maWxsVGV4dChsYWJlbERhdGEudGV4dCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzaG91bGRTaG93QXJjTGFiZWwoYXJjOiBBcmNFbGVtZW50LCB0ZXh0OiBzdHJpbmcsIGNoYXJ0VHlwZTogJ3BpZScgfCAnZG91Z2hudXQnKTogYm9vbGVhbiB7XHJcblx0Y29uc3QgYXJjQW5nbGUgPSBNYXRoLmFicyhhcmMuZW5kQW5nbGUgLSBhcmMuc3RhcnRBbmdsZSk7XHJcblxyXG5cdC8vIERvbid0IHNob3cgbGFiZWxzIGZvciB2ZXJ5IHNtYWxsIHNsaWNlc1xyXG5cdGlmIChhcmNBbmdsZSA8IExBQkVMX0NPTkZJRy5taW5BbmdsZUZvclBpZUxhYmVsKSB7XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cclxuXHQvLyBGb3IgZG91Z2hudXQgY2hhcnRzLCBhbHNvIGNoZWNrIGlmIHRoZXJlJ3MgZW5vdWdoIHJhZGlhbCBzcGFjZVxyXG5cdGlmIChjaGFydFR5cGUgPT09ICdkb3VnaG51dCcpIHtcclxuXHRcdGNvbnN0IHJhZGlhbFNwYWNlID0gYXJjLm91dGVyUmFkaXVzIC0gYXJjLmlubmVyUmFkaXVzO1xyXG5cdFx0cmV0dXJuIHJhZGlhbFNwYWNlID49IExBQkVMX0NPTkZJRy5kZWZhdWx0Rm9udFNpemUgKiAxLjU7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FsY3VsYXRlQXJjTGFiZWxQb3NpdGlvbihhcmM6IEFyY0VsZW1lbnQsIGNoYXJ0VHlwZTogJ3BpZScgfCAnZG91Z2hudXQnKTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcclxuXHRjb25zdCBtaWRBbmdsZSA9IChhcmMuc3RhcnRBbmdsZSArIGFyYy5lbmRBbmdsZSkgLyAyO1xyXG5cdGNvbnN0IHJhZGl1c011bHRpcGxpZXIgPSBMQUJFTF9DT05GSUcuYXJjUmFkaXVzTXVsdGlwbGllcltjaGFydFR5cGVdO1xyXG5cclxuXHRsZXQgcmFkaXVzOiBudW1iZXI7XHJcblx0aWYgKGNoYXJ0VHlwZSA9PT0gJ2RvdWdobnV0Jykge1xyXG5cdFx0cmFkaXVzID0gKGFyYy5vdXRlclJhZGl1cyArIGFyYy5pbm5lclJhZGl1cykgLyAyO1xyXG5cdH0gZWxzZSB7XHJcblx0XHRyYWRpdXMgPSBhcmMub3V0ZXJSYWRpdXMgKiByYWRpdXNNdWx0aXBsaWVyO1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdHg6IGFyYy54ICsgTWF0aC5jb3MobWlkQW5nbGUpICogcmFkaXVzLFxyXG5cdFx0eTogYXJjLnkgKyBNYXRoLnNpbihtaWRBbmdsZSkgKiByYWRpdXNcclxuXHR9O1xyXG59XHJcblxyXG4vLyBVdGlsaXR5IGZ1bmN0aW9uc1xyXG5mdW5jdGlvbiBnZXRCYXJDaGFydE9yaWVudGF0aW9uKGNoYXJ0OiBDaGFydDxDaGFydFR5cGUsIHVua25vd24sIHVua25vd24+KSB7XHJcblx0Y29uc3Qgc2NhbGVzID0gY2hhcnQub3B0aW9ucy5zY2FsZXM7XHJcblx0cmV0dXJuIHtcclxuXHRcdGlzVmVydGljYWxSZXZlcnNlZDogc2NhbGVzPy55Py5yZXZlcnNlID09PSB0cnVlLFxyXG5cdFx0aXNIb3Jpem9udGFsUmV2ZXJzZWQ6IHNjYWxlcz8ueD8ucmV2ZXJzZSA9PT0gdHJ1ZVxyXG5cdH07XHJcbn1cclxuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYWJlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3BsdWdpbnMvZGF0YS1sYWJlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEQsMEJBQTBCO0FBQzFCLE1BQU0sWUFBWSxHQUFHO0lBQ3BCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsV0FBVyxFQUFFLEVBQUU7SUFDZixlQUFlLEVBQUUsRUFBRTtJQUNuQixXQUFXLEVBQUUsQ0FBQztJQUNkLG1CQUFtQixFQUFFLEdBQUc7SUFDeEIsbUJBQW1CLEVBQUU7UUFDcEIsR0FBRyxFQUFFLEdBQUc7UUFDUixRQUFRLEVBQUUsR0FBRztLQUNiO0lBQ0QsbUJBQW1CLEVBQUU7UUFDcEIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQix3QkFBd0IsRUFBRSxFQUFFO0tBQzVCO0NBQ1EsQ0FBQztBQXFCWCxjQUFjO0FBQ2QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFzQjtJQUNqRCxFQUFFLEVBQUUsaUJBQWlCO0lBQ3JCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTzs7UUFDckMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN0QixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWCxNQUFNLFNBQVMsR0FBRyxNQUFDLEtBQUssQ0FBQyxNQUE2QiwwQ0FBRSxJQUFJLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0MsSUFBSSxRQUFRLEVBQUU7WUFDYixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEI7UUFFRCxHQUFHLENBQUMsT0FB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LENBQUMsS0FBeUM7O0lBQ3hFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3BDLE9BQU87UUFDTixrQkFBa0IsRUFBRSxDQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLENBQUMsMENBQUUsT0FBTyxNQUFLLElBQUk7UUFDL0Msb0JBQW9CLEVBQUUsQ0FBQSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxDQUFDLDBDQUFFLE9BQU8sTUFBSyxJQUFJO0tBQ2pELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjRWxlbWVudCwgQ2hhcnQsIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydFR5cGUgfSBmcm9tICdjaGFydC5qcy9kaXN0L3R5cGVzJztcclxuaW1wb3J0IEJhckVsZW1lbnQgZnJvbSAnY2hhcnQuanMvZGlzdC9lbGVtZW50cy9lbGVtZW50LmJhcic7XHJcbmltcG9ydCB7IGdldENvbG9yLCBnZXRUZXh0Q29sb3IgfSBmcm9tICcuLi91dGlsaXR5JztcclxuXHJcbi8vIENvbmZpZ3VyYXRpb24gY29uc3RhbnRzXHJcbmNvbnN0IExBQkVMX0NPTkZJRyA9IHtcclxuXHRtaW5Gb250U2l6ZTogMTAsXHJcblx0bWF4Rm9udFNpemU6IDE2LFxyXG5cdGRlZmF1bHRGb250U2l6ZTogMTIsXHJcblx0dGV4dFBhZGRpbmc6IDgsXHJcblx0bWluQW5nbGVGb3JQaWVMYWJlbDogMC4zLCAvLyB+MTcgZGVncmVlc1xyXG5cdGFyY1JhZGl1c011bHRpcGxpZXI6IHtcclxuXHRcdHBpZTogMC43LFxyXG5cdFx0ZG91Z2hudXQ6IDAuOFxyXG5cdH0sXHJcblx0Zm9udFNpemVDYWxjdWxhdGlvbjoge1xyXG5cdFx0cGVyY2VudGFnZURpdmlzb3I6IDMsXHJcblx0XHRtYXhQZXJjZW50YWdlRm9yRm9udFNpemU6IDIwXHJcblx0fVxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gVHlwZXNcclxuaW50ZXJmYWNlIFRleHRNZXRyaWNzIHtcclxuXHR3aWR0aDogbnVtYmVyO1xyXG5cdGhlaWdodDogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTGFiZWxEYXRhIHtcclxuXHR0ZXh0OiBzdHJpbmc7XHJcblx0cGVyY2VudGFnZTogbnVtYmVyO1xyXG5cdGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cdGlzVmlzaWJsZTogYm9vbGVhbjtcclxufVxyXG5cclxuaW50ZXJmYWNlIExhYmVsUG9zaXRpb24ge1xyXG5cdHg6IG51bWJlcjtcclxuXHR5OiBudW1iZXI7XHJcblx0Y29sb3I6IHN0cmluZztcclxufVxyXG5cclxuLy8gTWFpbiBwbHVnaW5cclxuZXhwb3J0IGNvbnN0IGNoYXJ0RGF0YUxhYmVsczogUGx1Z2luPENoYXJ0VHlwZT4gPSB7XHJcblx0aWQ6ICdjaGFydERhdGFMYWJlbHMnLFxyXG5cdGFmdGVyRGF0YXNldHNEcmF3KGNoYXJ0LCBhcmdzLCBwbHVnaW5zKSB7XHJcblx0XHRjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XHJcblx0XHRjdHguc2F2ZSgpO1xyXG5cclxuXHRcdGNvbnN0IGNoYXJ0VHlwZSA9IChjaGFydC5jb25maWcgYXMgQ2hhcnRDb25maWd1cmF0aW9uKT8udHlwZTtcclxuXHRcdGNvbnN0IHJlbmRlcmVyID0gZ2V0Q2hhcnRSZW5kZXJlcihjaGFydFR5cGUpO1xyXG5cclxuXHRcdGlmIChyZW5kZXJlcikge1xyXG5cdFx0XHRyZW5kZXJlcihjaGFydCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y3R4LnJlc3RvcmUoKTtcclxuXHR9XHJcbn07XHJcblxyXG4vLyBDaGFydCB0eXBlIHJvdXRlclxyXG5mdW5jdGlvbiBnZXRDaGFydFJlbmRlcmVyKGNoYXJ0VHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0Y29uc3QgcmVuZGVyZXJzID0ge1xyXG5cdFx0YmFyOiBiYXJDaGFydExhYmVscyxcclxuXHRcdHBpZTogcGllQ2hhcnRMYWJlbHMsXHJcblx0XHRkb3VnaG51dDogZG91Z2hudXRDaGFydExhYmVsc1xyXG5cdH07XHJcblxyXG5cdHJldHVybiByZW5kZXJlcnNbY2hhcnRUeXBlIGFzIGtleW9mIHR5cGVvZiByZW5kZXJlcnNdO1xyXG59XHJcblxyXG4vLyBDb3JlIHV0aWxpdHkgZnVuY3Rpb25zXHJcbmZ1bmN0aW9uIGNhbGN1bGF0ZVBlcmNlbnRhZ2UodmFsdWU6IG51bWJlciwgdG90YWw6IG51bWJlcik6IG51bWJlciB7XHJcblx0cmV0dXJuIHRvdGFsID4gMCA/ICh2YWx1ZSAvIHRvdGFsKSAqIDEwMCA6IDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbGN1bGF0ZUZvbnRTaXplKHBlcmNlbnRhZ2U6IG51bWJlcik6IG51bWJlciB7XHJcblx0Y29uc3QgeyBwZXJjZW50YWdlRGl2aXNvciwgbWF4UGVyY2VudGFnZUZvckZvbnRTaXplIH0gPSBMQUJFTF9DT05GSUcuZm9udFNpemVDYWxjdWxhdGlvbjtcclxuXHRjb25zdCBjYWxjdWxhdGVkU2l6ZSA9IE1hdGgubWluKHBlcmNlbnRhZ2UgLyBwZXJjZW50YWdlRGl2aXNvciwgbWF4UGVyY2VudGFnZUZvckZvbnRTaXplKTtcclxuXHRyZXR1cm4gTWF0aC5tYXgoTEFCRUxfQ09ORklHLm1pbkZvbnRTaXplLCBNYXRoLm1pbihjYWxjdWxhdGVkU2l6ZSwgTEFCRUxfQ09ORklHLm1heEZvbnRTaXplKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFRleHRNZXRyaWNzKGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELCB0ZXh0OiBzdHJpbmcsIGZvbnRTaXplOiBudW1iZXIpOiBUZXh0TWV0cmljcyB7XHJcblx0Y3R4LmZvbnQgPSBgbm9ybWFsICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XHJcblx0Y29uc3QgbWV0cmljcyA9IGN0eC5tZWFzdXJlVGV4dCh0ZXh0KTtcclxuXHRjb25zdCBoZWlnaHQgPSBtZXRyaWNzLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ICsgbWV0cmljcy5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQgfHwgTEFCRUxfQ09ORklHLmRlZmF1bHRGb250U2l6ZTtcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdHdpZHRoOiBtZXRyaWNzLndpZHRoLFxyXG5cdFx0aGVpZ2h0XHJcblx0fTtcclxufVxyXG5cclxuZnVuY3Rpb24gcHJlcGFyZUNhbnZhc0ZvclRleHQoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIGZvbnRTaXplOiBudW1iZXIsIGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuXHRjdHguZm9udCA9IGBib2xkICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XHJcblx0Y3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xyXG5cdGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuXHRjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGV4dHJhY3RMYWJlbERhdGEoXHJcblx0ZGF0YXNldDogYW55LFxyXG5cdGluZGV4OiBudW1iZXIsXHJcblx0dG90YWxTdW06IG51bWJlcixcclxuXHRjaGFydDogQ2hhcnQ8Q2hhcnRUeXBlLCB1bmtub3duLCB1bmtub3duPlxyXG4pOiBMYWJlbERhdGEgfCBudWxsIHtcclxuXHRjb25zdCB2YWx1ZSA9IGRhdGFzZXQuZGF0YVtpbmRleF0gYXMgbnVtYmVyO1xyXG5cdGNvbnN0IHBlcmNlbnRhZ2UgPSBjYWxjdWxhdGVQZXJjZW50YWdlKHZhbHVlLCB0b3RhbFN1bSk7XHJcblx0Y29uc3QgaXNWaXNpYmxlID0gY2hhcnQuZ2V0RGF0YVZpc2liaWxpdHkoaW5kZXgpO1xyXG5cclxuXHRpZiAoIXBlcmNlbnRhZ2UgfHwgIWlzVmlzaWJsZSkge1xyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4ge1xyXG5cdFx0dGV4dDogYCR7cGVyY2VudGFnZS50b0ZpeGVkKDEpfSVgLFxyXG5cdFx0cGVyY2VudGFnZSxcclxuXHRcdGJhY2tncm91bmRDb2xvcjogQXJyYXkuaXNBcnJheShkYXRhc2V0LmJhY2tncm91bmRDb2xvcikgPyBkYXRhc2V0LmJhY2tncm91bmRDb2xvcltpbmRleF0gOiBkYXRhc2V0LmJhY2tncm91bmRDb2xvcixcclxuXHRcdGlzVmlzaWJsZVxyXG5cdH07XHJcbn1cclxuXHJcbi8vIEJhciBjaGFydCBpbXBsZW1lbnRhdGlvblxyXG5mdW5jdGlvbiBiYXJDaGFydExhYmVscyhjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuXHRjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XHJcblx0Y29uc3QgaXNIb3Jpem9udGFsQ2hhcnQgPSBjaGFydC5vcHRpb25zPy5pbmRleEF4aXMgPT09ICd5JztcclxuXHRjb25zdCB7IGlzSG9yaXpvbnRhbFJldmVyc2VkIH0gPSBnZXRCYXJDaGFydE9yaWVudGF0aW9uKGNoYXJ0KTtcclxuXHJcblx0Y2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0LCBkYXRhc2V0SW5kZXgpID0+IHtcclxuXHRcdGNvbnN0IG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpO1xyXG5cdFx0Y29uc3QgdG90YWxTdW0gPSAoZGF0YXNldC5kYXRhIGFzIG51bWJlcltdKS5yZWR1Y2UoKHN1bSwgdmFsdWUpID0+IHN1bSArIHZhbHVlLCAwKTtcclxuXHJcblx0XHRtZXRhLmRhdGEuZm9yRWFjaCgoZGF0YVBvaW50OiBCYXJFbGVtZW50LCBpbmRleCkgPT4ge1xyXG5cdFx0XHRpZiAoIWRhdGFQb2ludCkgcmV0dXJuO1xyXG5cclxuXHRcdFx0Y29uc3QgbGFiZWxEYXRhID0gZXh0cmFjdExhYmVsRGF0YShkYXRhc2V0LCBpbmRleCwgdG90YWxTdW0sIGNoYXJ0KTtcclxuXHRcdFx0aWYgKCFsYWJlbERhdGEpIHJldHVybjtcclxuXHJcblx0XHRcdGNvbnN0IGZvbnRTaXplID0gY2FsY3VsYXRlRm9udFNpemUobGFiZWxEYXRhLnBlcmNlbnRhZ2UpO1xyXG5cdFx0XHRjb25zdCB0ZXh0TWV0cmljcyA9IGdldFRleHRNZXRyaWNzKGN0eCwgbGFiZWxEYXRhLnRleHQsIGZvbnRTaXplKTtcclxuXHJcblx0XHRcdGNvbnN0IHBvc2l0aW9uID0gY2FsY3VsYXRlQmFyTGFiZWxQb3NpdGlvbihcclxuXHRcdFx0XHRkYXRhUG9pbnQsXHJcblx0XHRcdFx0dGV4dE1ldHJpY3MsXHJcblx0XHRcdFx0aXNIb3Jpem9udGFsQ2hhcnQsXHJcblx0XHRcdFx0aXNIb3Jpem9udGFsUmV2ZXJzZWQsXHJcblx0XHRcdFx0bGFiZWxEYXRhLmJhY2tncm91bmRDb2xvclxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0aWYgKHBvc2l0aW9uKSB7XHJcblx0XHRcdFx0cHJlcGFyZUNhbnZhc0ZvclRleHQoY3R4LCBmb250U2l6ZSwgcG9zaXRpb24uY29sb3IpO1xyXG5cdFx0XHRcdGN0eC5maWxsVGV4dChsYWJlbERhdGEudGV4dCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjYWxjdWxhdGVCYXJMYWJlbFBvc2l0aW9uKFxyXG5cdGRhdGFQb2ludDogQmFyRWxlbWVudCxcclxuXHR0ZXh0TWV0cmljczogVGV4dE1ldHJpY3MsXHJcblx0aXNIb3Jpem9udGFsOiBib29sZWFuLFxyXG5cdGlzUmV2ZXJzZWQ6IGJvb2xlYW4sXHJcblx0YmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWRcclxuKTogTGFiZWxQb3NpdGlvbiB8IG51bGwge1xyXG5cdGNvbnN0IHsgdGV4dFBhZGRpbmcgfSA9IExBQkVMX0NPTkZJRztcclxuXHJcblx0aWYgKGlzSG9yaXpvbnRhbCkge1xyXG5cdFx0Y29uc3QgZml0c0luc2lkZSA9IHRleHRNZXRyaWNzLndpZHRoICsgdGV4dFBhZGRpbmcgKiAyIDw9IGRhdGFQb2ludC53aWR0aDtcclxuXHJcblx0XHRpZiAoZml0c0luc2lkZSkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHg6IGRhdGFQb2ludC54ICsgKGlzUmV2ZXJzZWQgPyB0ZXh0TWV0cmljcy53aWR0aCAvIDIgKyB0ZXh0UGFkZGluZyA6IC0odGV4dE1ldHJpY3Mud2lkdGggLyAyICsgdGV4dFBhZGRpbmcpKSxcclxuXHRcdFx0XHR5OiBkYXRhUG9pbnQueSxcclxuXHRcdFx0XHRjb2xvcjogZ2V0VGV4dENvbG9yKGJhY2tncm91bmRDb2xvcilcclxuXHRcdFx0fTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0eDogZGF0YVBvaW50LnggKyAoaXNSZXZlcnNlZCA/IC10ZXh0TWV0cmljcy53aWR0aCAvIDIgLSB0ZXh0UGFkZGluZyA6IHRleHRNZXRyaWNzLndpZHRoIC8gMiArIHRleHRQYWRkaW5nKSxcclxuXHRcdFx0XHR5OiBkYXRhUG9pbnQueSxcclxuXHRcdFx0XHRjb2xvcjogZ2V0Q29sb3IoJy0tY2hhcnQtdmFsdWUtZGVmYXVsdC1jb2xvcicsICcjMDAwJylcclxuXHRcdFx0fTtcclxuXHRcdH1cclxuXHR9IGVsc2Uge1xyXG5cdFx0Y29uc3QgZml0c0luc2lkZSA9IHRleHRNZXRyaWNzLmhlaWdodCArIHRleHRQYWRkaW5nICogMiA8PSBkYXRhUG9pbnQuaGVpZ2h0O1xyXG5cclxuXHRcdGlmIChmaXRzSW5zaWRlKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0eDogZGF0YVBvaW50LngsXHJcblx0XHRcdFx0eTogZGF0YVBvaW50LnkgKyB0ZXh0UGFkZGluZyAvIDIgKyB0ZXh0TWV0cmljcy5oZWlnaHQgLyAyLFxyXG5cdFx0XHRcdGNvbG9yOiBnZXRUZXh0Q29sb3IoYmFja2dyb3VuZENvbG9yKVxyXG5cdFx0XHR9O1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR4OiBkYXRhUG9pbnQueCxcclxuXHRcdFx0XHR5OiBkYXRhUG9pbnQueSAtIHRleHRNZXRyaWNzLmhlaWdodCAvIDIgLSB0ZXh0UGFkZGluZyxcclxuXHRcdFx0XHRjb2xvcjogZ2V0Q29sb3IoJy0tY2hhcnQtdmFsdWUtZGVmYXVsdC1jb2xvcicsICcjMDAwJylcclxuXHRcdFx0fTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFBpZSBjaGFydCBpbXBsZW1lbnRhdGlvblxyXG5mdW5jdGlvbiBwaWVDaGFydExhYmVscyhjaGFydDogQ2hhcnQ8Q2hhcnRUeXBlLCB1bmtub3duLCB1bmtub3duPik6IHZvaWQge1xyXG5cdHJlbmRlckFyY0xhYmVscyhjaGFydCwgJ3BpZScpO1xyXG59XHJcblxyXG4vLyBEb3VnaG51dCBjaGFydCBpbXBsZW1lbnRhdGlvblxyXG5mdW5jdGlvbiBkb3VnaG51dENoYXJ0TGFiZWxzKGNoYXJ0OiBDaGFydDxDaGFydFR5cGUsIHVua25vd24sIHVua25vd24+KTogdm9pZCB7XHJcblx0cmVuZGVyQXJjTGFiZWxzKGNoYXJ0LCAnZG91Z2hudXQnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVuZGVyQXJjTGFiZWxzKGNoYXJ0OiBDaGFydDxDaGFydFR5cGUsIHVua25vd24sIHVua25vd24+LCBjaGFydFR5cGU6ICdwaWUnIHwgJ2RvdWdobnV0Jyk6IHZvaWQge1xyXG5cdGNvbnN0IHsgY3R4IH0gPSBjaGFydDtcclxuXHJcblx0Y2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0LCBkYXRhc2V0SW5kZXgpID0+IHtcclxuXHRcdGNvbnN0IG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpO1xyXG5cdFx0Y29uc3QgdG90YWxTdW0gPSAoZGF0YXNldC5kYXRhIGFzIG51bWJlcltdKS5yZWR1Y2UoKHN1bSwgdmFsdWUpID0+IHN1bSArIHZhbHVlLCAwKTtcclxuXHJcblx0XHRtZXRhLmRhdGEuZm9yRWFjaCgoYXJjOiBBcmNFbGVtZW50LCBpbmRleCkgPT4ge1xyXG5cdFx0XHRpZiAoIWFyYykgcmV0dXJuO1xyXG5cclxuXHRcdFx0Y29uc3QgbGFiZWxEYXRhID0gZXh0cmFjdExhYmVsRGF0YShkYXRhc2V0LCBpbmRleCwgdG90YWxTdW0sIGNoYXJ0KTtcclxuXHRcdFx0aWYgKCFsYWJlbERhdGEpIHJldHVybjtcclxuXHJcblx0XHRcdGlmIChzaG91bGRTaG93QXJjTGFiZWwoYXJjLCBsYWJlbERhdGEudGV4dCwgY2hhcnRUeXBlKSkge1xyXG5cdFx0XHRcdGNvbnN0IHBvc2l0aW9uID0gY2FsY3VsYXRlQXJjTGFiZWxQb3NpdGlvbihhcmMsIGNoYXJ0VHlwZSk7XHJcblx0XHRcdFx0Y29uc3QgZm9udFNpemUgPSBjYWxjdWxhdGVGb250U2l6ZShsYWJlbERhdGEucGVyY2VudGFnZSk7XHJcblx0XHRcdFx0Y29uc3QgdGV4dENvbG9yID0gZ2V0VGV4dENvbG9yKGxhYmVsRGF0YS5iYWNrZ3JvdW5kQ29sb3IgfHwgJyMwMDAwMDAnKTtcclxuXHJcblx0XHRcdFx0cHJlcGFyZUNhbnZhc0ZvclRleHQoY3R4LCBmb250U2l6ZSwgdGV4dENvbG9yKTtcclxuXHRcdFx0XHRjdHguZmlsbFRleHQobGFiZWxEYXRhLnRleHQsIHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2hvdWxkU2hvd0FyY0xhYmVsKGFyYzogQXJjRWxlbWVudCwgdGV4dDogc3RyaW5nLCBjaGFydFR5cGU6ICdwaWUnIHwgJ2RvdWdobnV0Jyk6IGJvb2xlYW4ge1xyXG5cdGNvbnN0IGFyY0FuZ2xlID0gTWF0aC5hYnMoYXJjLmVuZEFuZ2xlIC0gYXJjLnN0YXJ0QW5nbGUpO1xyXG5cclxuXHQvLyBEb24ndCBzaG93IGxhYmVscyBmb3IgdmVyeSBzbWFsbCBzbGljZXNcclxuXHRpZiAoYXJjQW5nbGUgPCBMQUJFTF9DT05GSUcubWluQW5nbGVGb3JQaWVMYWJlbCkge1xyXG5cdFx0cmV0dXJuIGZhbHNlO1xyXG5cdH1cclxuXHJcblx0Ly8gRm9yIGRvdWdobnV0IGNoYXJ0cywgYWxzbyBjaGVjayBpZiB0aGVyZSdzIGVub3VnaCByYWRpYWwgc3BhY2VcclxuXHRpZiAoY2hhcnRUeXBlID09PSAnZG91Z2hudXQnKSB7XHJcblx0XHRjb25zdCByYWRpYWxTcGFjZSA9IGFyYy5vdXRlclJhZGl1cyAtIGFyYy5pbm5lclJhZGl1cztcclxuXHRcdHJldHVybiByYWRpYWxTcGFjZSA+PSBMQUJFTF9DT05GSUcuZGVmYXVsdEZvbnRTaXplICogMS41O1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbGN1bGF0ZUFyY0xhYmVsUG9zaXRpb24oYXJjOiBBcmNFbGVtZW50LCBjaGFydFR5cGU6ICdwaWUnIHwgJ2RvdWdobnV0Jyk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB7XHJcblx0Y29uc3QgbWlkQW5nbGUgPSAoYXJjLnN0YXJ0QW5nbGUgKyBhcmMuZW5kQW5nbGUpIC8gMjtcclxuXHRjb25zdCByYWRpdXNNdWx0aXBsaWVyID0gTEFCRUxfQ09ORklHLmFyY1JhZGl1c011bHRpcGxpZXJbY2hhcnRUeXBlXTtcclxuXHJcblx0bGV0IHJhZGl1czogbnVtYmVyO1xyXG5cdGlmIChjaGFydFR5cGUgPT09ICdkb3VnaG51dCcpIHtcclxuXHRcdHJhZGl1cyA9IChhcmMub3V0ZXJSYWRpdXMgKyBhcmMuaW5uZXJSYWRpdXMpIC8gMjtcclxuXHR9IGVsc2Uge1xyXG5cdFx0cmFkaXVzID0gYXJjLm91dGVyUmFkaXVzICogcmFkaXVzTXVsdGlwbGllcjtcclxuXHR9XHJcblxyXG5cdHJldHVybiB7XHJcblx0XHR4OiBhcmMueCArIE1hdGguY29zKG1pZEFuZ2xlKSAqIHJhZGl1cyxcclxuXHRcdHk6IGFyYy55ICsgTWF0aC5zaW4obWlkQW5nbGUpICogcmFkaXVzXHJcblx0fTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbnNcclxuZnVuY3Rpb24gZ2V0QmFyQ2hhcnRPcmllbnRhdGlvbihjaGFydDogQ2hhcnQ8Q2hhcnRUeXBlLCB1bmtub3duLCB1bmtub3duPikge1xyXG5cdGNvbnN0IHNjYWxlcyA9IGNoYXJ0Lm9wdGlvbnMuc2NhbGVzO1xyXG5cdHJldHVybiB7XHJcblx0XHRpc1ZlcnRpY2FsUmV2ZXJzZWQ6IHNjYWxlcz8ueT8ucmV2ZXJzZSA9PT0gdHJ1ZSxcclxuXHRcdGlzSG9yaXpvbnRhbFJldmVyc2VkOiBzY2FsZXM/Lng/LnJldmVyc2UgPT09IHRydWVcclxuXHR9O1xyXG59XHJcbiJdfQ==
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @returns {string | number} - The value of the CSS variable or the provided default value.
|
|
7
7
|
*/
|
|
8
8
|
export function getCssVariable(key, defaultValue) {
|
|
9
|
-
const root = document.documentElement;
|
|
9
|
+
const root = document.querySelector('[data-theme]') || document.documentElement;
|
|
10
10
|
const computedStyle = getComputedStyle(root);
|
|
11
11
|
return computedStyle.getPropertyValue(key).trim() || defaultValue;
|
|
12
12
|
}
|
|
@@ -61,7 +61,7 @@ export const getColors = (length = 14, staticColors = [
|
|
|
61
61
|
'#3c3cf0',
|
|
62
62
|
'#f17205' // Bright orange
|
|
63
63
|
]) => {
|
|
64
|
-
const root = document.documentElement;
|
|
64
|
+
const root = document.querySelector('[data-theme]') || document.documentElement;
|
|
65
65
|
const computedStyle = getComputedStyle(root);
|
|
66
66
|
const colors = [];
|
|
67
67
|
for (let index = 0; index < length; index++) {
|
|
@@ -129,4 +129,4 @@ function hexToRgb(hex) {
|
|
|
129
129
|
function parseRgbString(rgbString) {
|
|
130
130
|
return rgbString.match(/\d+/g).map(Number);
|
|
131
131
|
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy91dGlsaXR5L2Nzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQVcsRUFBRSxZQUE4QjtJQUN6RSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ3RDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLE9BQU8sYUFBYSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLFlBQVksQ0FBQztBQUNuRSxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXLEVBQUUsWUFBcUI7SUFDMUQsT0FBTyxjQUFjLENBQUMsR0FBRyxFQUFFLFlBQVksSUFBSSxNQUFNLENBQVcsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFlLEVBQVUsRUFBRTtJQUN2RCxPQUFPLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFlLEVBQVUsRUFBRTtJQUN4RCxPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsSUFBSSxRQUFRLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FDeEIsU0FBaUIsRUFBRSxFQUNuQixZQUFZLEdBQUc7SUFDZCxTQUFTO0lB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LENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGNBQWMsQ0FBQyxTQUFpQjtJQUN4QyxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIENTUyB2YXJpYWJsZSBvciByZXR1cm5zIGEgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgdmFyaWFibGUgaXMgbm90IGRlZmluZWQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgbmFtZSBvZiB0aGUgQ1NTIHZhcmlhYmxlIHRvIHJldHJpZXZlIChlLmcuLCBgLS12YXJpYWJsZS1uYW1lYCkuXHJcbiAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBkZWZhdWx0VmFsdWUgLSBUaGUgZGVmYXVsdCB2YWx1ZSB0byByZXR1cm4gaWYgdGhlIENTUyB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZC5cclxuICogQHJldHVybnMge3N0cmluZyB8IG51bWJlcn0gLSBUaGUgdmFsdWUgb2YgdGhlIENTUyB2YXJpYWJsZSBvciB0aGUgcHJvdmlkZWQgZGVmYXVsdCB2YWx1ZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDc3NWYXJpYWJsZShrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuXHRjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG5cdGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHJvb3QpO1xyXG5cdHJldHVybiBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoa2V5KS50cmltKCkgfHwgZGVmYXVsdFZhbHVlO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIENTUyB2YXJpYWJsZSBvciByZXR1cm5zIGEgZGVmYXVsdCBjb2xvciBpZiB0aGUgdmFyaWFibGUgaXMgbm90IGRlZmluZWQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgbmFtZSBvZiB0aGUgQ1NTIHZhcmlhYmxlIHRvIHJldHJpZXZlIChlLmcuLCBgLS12YXJpYWJsZS1uYW1lYCkuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZGVmYXVsdENvbG9yPScjNDQ0J10gLSBUaGUgZGVmYXVsdCBjb2xvciB0byByZXR1cm4gaWYgdGhlIENTUyB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZC5cclxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdmFsdWUgb2YgdGhlIENTUyB2YXJpYWJsZSBvciB0aGUgcHJvdmlkZWQgZGVmYXVsdCBjb2xvci5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvcihrZXk6IHN0cmluZywgZGVmYXVsdENvbG9yPzogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRyZXR1cm4gZ2V0Q3NzVmFyaWFibGUoa2V5LCBkZWZhdWx0Q29sb3IgfHwgJyM0NDQnKSBhcyBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZXMgdGhlIGdyaWQgY29sb3IgZm9yIHRoZSBzcGVjaWZpZWQgYXhpcy5cclxuICpcclxuICogQHBhcmFtIHsneCcgfCAneSd9IGF4aXMgLSBUaGUgYXhpcyBmb3Igd2hpY2ggdG8gcmV0cmlldmUgdGhlIGdyaWQgY29sb3IgKCd4JyBvciAneScpLlxyXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBncmlkIGNvbG9yIGFzIGEgQ1NTIHZhbHVlLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldEdyaWRDb2xvciA9IChheGlzOiAneCcgfCAneScpOiBzdHJpbmcgPT4ge1xyXG5cdHJldHVybiBnZXRDb2xvcihgLS1jaGFydC1ncmlkLSR7YXhpc30tY29sb3JgLCAnI2NlY2VjZScpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlcyB0aGUgdGlja3MgY29sb3IgZm9yIHRoZSBzcGVjaWZpZWQgYXhpcy5cclxuICpcclxuICogQHBhcmFtIHsneCcgfCAneSd9IGF4aXMgLSBUaGUgYXhpcyBmb3Igd2hpY2ggdG8gcmV0cmlldmUgdGhlIHRpY2tzIGNvbG9yICgneCcgb3IgJ3knKS5cclxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdGlja3MgY29sb3IgYXMgYSBDU1MgdmFsdWUuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0VGlja3NDb2xvciA9IChheGlzOiAneCcgfCAneScpOiBzdHJpbmcgPT4ge1xyXG5cdHJldHVybiBnZXRDb2xvcihgLS1jaGFydC10aWNrcy0ke2F4aXN9LWNvbG9yYCk7XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIGNvbG9ycyBiYXNlZCBvbiBDU1MgdmFyaWFibGVzIG9yIGZhbGxiYWNrIHRvIGRlZmF1bHQgY29sb3JzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gW2xlbmd0aD0xNF0gLSBUaGUgbnVtYmVyIG9mIGNvbG9ycyB0byByZXRyaWV2ZS5cclxuICogQHBhcmFtIHN0YXRpY0NvbG9yc1xyXG4gKiBAcmV0dXJucyB7c3RyaW5nW119IC0gQW4gYXJyYXkgb2YgY29sb3IgY29kZXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Q29sb3JzID0gKFxyXG5cdGxlbmd0aDogbnVtYmVyID0gMTQsXHJcblx0c3RhdGljQ29sb3JzID0gW1xyXG5cdFx0JyM0Nzc2M2InLCAvLyBEYXJrIGdyZWVuXHJcblx0XHQnI2M4YTc5MScsIC8vIEJlaWdlXHJcblx0XHQnIzAwODM3YicsIC8vIFRlYWxcclxuXHRcdCcjYjc4YjFjJywgLy8gTXVzdGFyZFxyXG5cdFx0JyM2MzY1NjknLCAvLyBHcmF5XHJcblx0XHQnI2E4NDA0NycsIC8vIFJlZFxyXG5cdFx0JyNmN2Y4ZjknLCAvLyBMaWdodCBncmF5XHJcblx0XHQnI2ZkNjY3MCcsIC8vIFBpbmtcclxuXHRcdCcjMDBkY2E1JywgLy8gQXF1YVxyXG5cdFx0JyNmYmI2MmMnLCAvLyBPcmFuZ2VcclxuXHRcdCcjNTk2OTczJywgLy8gU3RlZWwgYmx1ZVxyXG5cdFx0JyM1YTE0OTYnLCAvLyBQdXJwbGVcclxuXHRcdCcjM2MzY2YwJywgLy8gQmx1ZVxyXG5cdFx0JyNmMTcyMDUnIC8vIEJyaWdodCBvcmFuZ2VcclxuXHRdXHJcbik6IHN0cmluZ1tdID0+IHtcclxuXHRjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG5cdGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHJvb3QpO1xyXG5cdGNvbnN0IGNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuXHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XHJcblx0XHRjb25zdCBjb2xvciA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShgLS1jaGFydC1jb2xvci0ke2luZGV4fWApLnRyaW0oKSB8fCBzdGF0aWNDb2xvcnNbaW5kZXhdO1xyXG5cdFx0Y29sb3JzLnB1c2goY29sb3IpO1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIGNvbG9ycztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHRoZSBhcHByb3ByaWF0ZSB0ZXh0IGNvbG9yIChsaWdodCBvciBkYXJrKSBiYXNlZCBvbiB0aGUgbHVtaW5hbmNlIG9mIHRoZSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gYmFja2dyb3VuZENvbG9yIC0gVGhlIGJhY2tncm91bmQgY29sb3IgaW4gaGV4YWRlY2ltYWwgKGUuZy4sIGAjZmZmZmZmYCkgb3IgUkdCIGZvcm1hdCAoZS5nLiwgYHJnYigyNTUsIDI1NSwgMjU1KWApLlxyXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSB0ZXh0IGNvbG9yLCBlaXRoZXIgdGhlIGRhcmsgY29sb3IgKGAtLWNoYXJ0LXZhbHVlLWRhcmstY29sb3JgKSBvciB0aGUgbGlnaHQgY29sb3IgKGAtLWNoYXJ0LXZhbHVlLWxpZ2h0LWNvbG9yYCkuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dENvbG9yKGJhY2tncm91bmRDb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRjb25zdCBkYXJrQ29sb3IgPSBnZXRDb2xvcignLS1jaGFydC12YWx1ZS1kYXJrLWNvbG9yJywgJyMwMDAnKTtcclxuXHRjb25zdCBsaWdodENvbG9yID0gZ2V0Q29sb3IoJy0tY2hhcnQtdmFsdWUtbGlnaHQtY29sb3InLCAnI2ZmZicpO1xyXG5cclxuXHRsZXQgcmdiOiBhbnkgPSBudWxsO1xyXG5cclxuXHRpZiAoYmFja2dyb3VuZENvbG9yLnN0YXJ0c1dpdGgoJyMnKSkge1xyXG5cdFx0cmdiID0gaGV4VG9SZ2IoYmFja2dyb3VuZENvbG9yKTtcclxuXHR9IGVsc2UgaWYgKGJhY2tncm91bmRDb2xvci5zdGFydHNXaXRoKCdyZ2InKSkge1xyXG5cdFx0cmdiID0gcGFyc2VSZ2JTdHJpbmcoYmFja2dyb3VuZENvbG9yKTtcclxuXHR9IGVsc2Uge1xyXG5cdFx0cmV0dXJuIGRhcmtDb2xvcjsgLy8gRGVmYXVsdCBmYWxsYmFja1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29udmVydHMgYW4gUkdCIGNvbXBvbmVudCB0byBpdHMgbGluZWFyaXplZCB2YWx1ZSBmb3IgbHVtaW5hbmNlIGNhbGN1bGF0aW9uLlxyXG5cdCAqXHJcblx0ICogQHBhcmFtIHtudW1iZXJ9IGMgLSBUaGUgUkdCIGNvbXBvbmVudCB2YWx1ZSAoMC0yNTUpLlxyXG5cdCAqIEByZXR1cm5zIHtudW1iZXJ9IC0gVGhlIGxpbmVhcml6ZWQgdmFsdWUuXHJcblx0ICovXHJcblx0ZnVuY3Rpb24gdG9MaW5lYXIoYzogbnVtYmVyKTogbnVtYmVyIHtcclxuXHRcdGMgLz0gMjU1O1xyXG5cdFx0cmV0dXJuIGMgPD0gMC4wMzkyOCA/IGMgLyAxMi45MiA6IE1hdGgucG93KChjICsgMC4wNTUpIC8gMS4wNTUsIDIuNCk7XHJcblx0fVxyXG5cclxuXHRjb25zdCBbciwgZywgYl0gPSByZ2IubWFwKHRvTGluZWFyKTtcclxuXHRjb25zdCBsdW1pbmFuY2UgPSAwLjIxMjYgKiByICsgMC43MTUyICogZyArIDAuMDcyMiAqIGI7XHJcblxyXG5cdHJldHVybiBsdW1pbmFuY2UgPiAwLjYgPyBkYXJrQ29sb3IgOiBsaWdodENvbG9yO1xyXG59XHJcblxyXG4vKlxyXG4gKiBDb252ZXJ0cyBhIGhleGFkZWNpbWFsIGNvbG9yIGNvZGUgdG8gYW4gUkdCIGFycmF5LlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gaGV4IC0gVGhlIGhleGFkZWNpbWFsIGNvbG9yIGNvZGUgKGUuZy4sIGAjZmZmYCBvciBgI2ZmZmZmZmApLlxyXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IC0gQW4gYXJyYXkgY29udGFpbmluZyB0aGUgUkdCIHZhbHVlcyBbcmVkLCBncmVlbiwgYmx1ZV0uXHJcbiAqL1xyXG5mdW5jdGlvbiBoZXhUb1JnYihoZXgpIHtcclxuXHRoZXggPSBoZXgucmVwbGFjZSgvXiMvLCAnJyk7XHJcblx0aWYgKGhleC5sZW5ndGggPT09IDMpIHtcclxuXHRcdGhleCA9IGhleFxyXG5cdFx0XHQuc3BsaXQoJycpXHJcblx0XHRcdC5tYXAoKGNoYXIpID0+IGNoYXIgKyBjaGFyKVxyXG5cdFx0XHQuam9pbignJyk7XHJcblx0fVxyXG5cdGNvbnN0IGJpZ2ludCA9IHBhcnNlSW50KGhleCwgMTYpO1xyXG5cdHJldHVybiBbKGJpZ2ludCA+PiAxNikgJiAyNTUsIChiaWdpbnQgPj4gOCkgJiAyNTUsIGJpZ2ludCAmIDI1NV07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQYXJzZXMgYW4gUkdCIHN0cmluZyBhbmQgZXh0cmFjdHMgdGhlIG51bWVyaWMgUkdCIHZhbHVlcy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IHJnYlN0cmluZyAtIFRoZSBSR0Igc3RyaW5nIChlLmcuLCBgcmdiKDI1NSwgMjU1LCAyNTUpYCkuXHJcbiAqIEByZXR1cm5zIHtudW1iZXJbXX0gLSBBbiBhcnJheSBjb250YWluaW5nIHRoZSBSR0IgdmFsdWVzIFtyZWQsIGdyZWVuLCBibHVlXS5cclxuICovXHJcbmZ1bmN0aW9uIHBhcnNlUmdiU3RyaW5nKHJnYlN0cmluZzogc3RyaW5nKTogbnVtYmVyW10ge1xyXG5cdHJldHVybiByZ2JTdHJpbmcubWF0Y2goL1xcZCsvZykubWFwKE51bWJlcik7XHJcbn1cclxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy91dGlsaXR5L2Nzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQVcsRUFBRSxZQUE4QjtJQUN6RSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDaEYsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksWUFBWSxDQUFDO0FBQ25FLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVcsRUFBRSxZQUFxQjtJQUMxRCxPQUFPLGNBQWMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxJQUFJLE1BQU0sQ0FBVyxDQUFDO0FBQzlELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWUsRUFBVSxFQUFFO0lBQ3ZELE9BQU8sUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQWUsRUFBVSxFQUFFO0lBQ3hELE9BQU8sUUFBUSxDQUFDLGlCQUFpQixJQUFJLFFBQVEsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUN4QixTQUFpQixFQUFFLEVBQ25CLFlBQVksR0FBRztJQUNkLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTLENBQUMsZ0JBQWdCO0NBQzFCLEVBQ1UsRUFBRTtJQUNiLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQztJQUNoRixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM1QyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbkI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxlQUF1QjtJQUNuRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLDJCQUEyQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWpFLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztJQUVwQixJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDcEMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUNoQztTQUFNLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM3QyxHQUFHLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3RDO1NBQU07UUFDTixPQUFPLFNBQVMsQ0FBQyxDQUFDLG1CQUFtQjtLQUNyQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxRQUFRLENBQUMsQ0FBUztRQUMxQixDQUFDLElBQUksR0FBRyxDQUFDO1FBQ1QsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUV2RCxPQUFPLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ2pELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsUUFBUSxDQUFDLEdBQUc7SUFDcEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsR0FBRyxHQUFHLEdBQUc7YUFDUCxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNYO0lBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxjQUFjLENBQUMsU0FBaUI7SUFDeEMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBDU1MgdmFyaWFibGUgb3IgcmV0dXJucyBhIGRlZmF1bHQgdmFsdWUgaWYgdGhlIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIENTUyB2YXJpYWJsZSB0byByZXRyaWV2ZSAoZS5nLiwgYC0tdmFyaWFibGUtbmFtZWApLlxyXG4gKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlcn0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBDU1MgdmFyaWFibGUgaXMgbm90IGRlZmluZWQuXHJcbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudW1iZXJ9IC0gVGhlIHZhbHVlIG9mIHRoZSBDU1MgdmFyaWFibGUgb3IgdGhlIHByb3ZpZGVkIGRlZmF1bHQgdmFsdWUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3NzVmFyaWFibGUoa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IG51bWJlciB7XHJcblx0Y29uc3Qgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRoZW1lXScpIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxuXHRjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShyb290KTtcclxuXHRyZXR1cm4gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGtleSkudHJpbSgpIHx8IGRlZmF1bHRWYWx1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBDU1MgdmFyaWFibGUgb3IgcmV0dXJucyBhIGRlZmF1bHQgY29sb3IgaWYgdGhlIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIENTUyB2YXJpYWJsZSB0byByZXRyaWV2ZSAoZS5nLiwgYC0tdmFyaWFibGUtbmFtZWApLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gW2RlZmF1bHRDb2xvcj0nIzQ0NCddIC0gVGhlIGRlZmF1bHQgY29sb3IgdG8gcmV0dXJuIGlmIHRoZSBDU1MgdmFyaWFibGUgaXMgbm90IGRlZmluZWQuXHJcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHZhbHVlIG9mIHRoZSBDU1MgdmFyaWFibGUgb3IgdGhlIHByb3ZpZGVkIGRlZmF1bHQgY29sb3IuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3Ioa2V5OiBzdHJpbmcsIGRlZmF1bHRDb2xvcj86IHN0cmluZyk6IHN0cmluZyB7XHJcblx0cmV0dXJuIGdldENzc1ZhcmlhYmxlKGtleSwgZGVmYXVsdENvbG9yIHx8ICcjNDQ0JykgYXMgc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0cmlldmVzIHRoZSBncmlkIGNvbG9yIGZvciB0aGUgc3BlY2lmaWVkIGF4aXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7J3gnIHwgJ3knfSBheGlzIC0gVGhlIGF4aXMgZm9yIHdoaWNoIHRvIHJldHJpZXZlIHRoZSBncmlkIGNvbG9yICgneCcgb3IgJ3knKS5cclxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgZ3JpZCBjb2xvciBhcyBhIENTUyB2YWx1ZS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRHcmlkQ29sb3IgPSAoYXhpczogJ3gnIHwgJ3knKTogc3RyaW5nID0+IHtcclxuXHRyZXR1cm4gZ2V0Q29sb3IoYC0tY2hhcnQtZ3JpZC0ke2F4aXN9LWNvbG9yYCwgJyNjZWNlY2UnKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZXMgdGhlIHRpY2tzIGNvbG9yIGZvciB0aGUgc3BlY2lmaWVkIGF4aXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7J3gnIHwgJ3knfSBheGlzIC0gVGhlIGF4aXMgZm9yIHdoaWNoIHRvIHJldHJpZXZlIHRoZSB0aWNrcyBjb2xvciAoJ3gnIG9yICd5JykuXHJcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHRpY2tzIGNvbG9yIGFzIGEgQ1NTIHZhbHVlLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldFRpY2tzQ29sb3IgPSAoYXhpczogJ3gnIHwgJ3knKTogc3RyaW5nID0+IHtcclxuXHRyZXR1cm4gZ2V0Q29sb3IoYC0tY2hhcnQtdGlja3MtJHtheGlzfS1jb2xvcmApO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlcyBhbiBhcnJheSBvZiBjb2xvcnMgYmFzZWQgb24gQ1NTIHZhcmlhYmxlcyBvciBmYWxsYmFjayB0byBkZWZhdWx0IGNvbG9ycy5cclxuICpcclxuICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9MTRdIC0gVGhlIG51bWJlciBvZiBjb2xvcnMgdG8gcmV0cmlldmUuXHJcbiAqIEBwYXJhbSBzdGF0aWNDb2xvcnNcclxuICogQHJldHVybnMge3N0cmluZ1tdfSAtIEFuIGFycmF5IG9mIGNvbG9yIGNvZGVzLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldENvbG9ycyA9IChcclxuXHRsZW5ndGg6IG51bWJlciA9IDE0LFxyXG5cdHN0YXRpY0NvbG9ycyA9IFtcclxuXHRcdCcjNDc3NjNiJywgLy8gRGFyayBncmVlblxyXG5cdFx0JyNjOGE3OTEnLCAvLyBCZWlnZVxyXG5cdFx0JyMwMDgzN2InLCAvLyBUZWFsXHJcblx0XHQnI2I3OGIxYycsIC8vIE11c3RhcmRcclxuXHRcdCcjNjM2NTY5JywgLy8gR3JheVxyXG5cdFx0JyNhODQwNDcnLCAvLyBSZWRcclxuXHRcdCcjZjdmOGY5JywgLy8gTGlnaHQgZ3JheVxyXG5cdFx0JyNmZDY2NzAnLCAvLyBQaW5rXHJcblx0XHQnIzAwZGNhNScsIC8vIEFxdWFcclxuXHRcdCcjZmJiNjJjJywgLy8gT3JhbmdlXHJcblx0XHQnIzU5Njk3MycsIC8vIFN0ZWVsIGJsdWVcclxuXHRcdCcjNWExNDk2JywgLy8gUHVycGxlXHJcblx0XHQnIzNjM2NmMCcsIC8vIEJsdWVcclxuXHRcdCcjZjE3MjA1JyAvLyBCcmlnaHQgb3JhbmdlXHJcblx0XVxyXG4pOiBzdHJpbmdbXSA9PiB7XHJcblx0Y29uc3Qgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRoZW1lXScpIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxuXHRjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShyb290KTtcclxuXHRjb25zdCBjb2xvcnM6IHN0cmluZ1tdID0gW107XHJcblx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG5cdFx0Y29uc3QgY29sb3IgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoYC0tY2hhcnQtY29sb3ItJHtpbmRleH1gKS50cmltKCkgfHwgc3RhdGljQ29sb3JzW2luZGV4XTtcclxuXHRcdGNvbG9ycy5wdXNoKGNvbG9yKTtcclxuXHR9XHJcblxyXG5cdHJldHVybiBjb2xvcnM7XHJcbn07XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB0aGUgYXBwcm9wcmlhdGUgdGV4dCBjb2xvciAobGlnaHQgb3IgZGFyaykgYmFzZWQgb24gdGhlIGx1bWluYW5jZSBvZiB0aGUgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGJhY2tncm91bmRDb2xvciAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGhleGFkZWNpbWFsIChlLmcuLCBgI2ZmZmZmZmApIG9yIFJHQiBmb3JtYXQgKGUuZy4sIGByZ2IoMjU1LCAyNTUsIDI1NSlgKS5cclxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdGV4dCBjb2xvciwgZWl0aGVyIHRoZSBkYXJrIGNvbG9yIChgLS1jaGFydC12YWx1ZS1kYXJrLWNvbG9yYCkgb3IgdGhlIGxpZ2h0IGNvbG9yIChgLS1jaGFydC12YWx1ZS1saWdodC1jb2xvcmApLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRDb2xvcihiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0Y29uc3QgZGFya0NvbG9yID0gZ2V0Q29sb3IoJy0tY2hhcnQtdmFsdWUtZGFyay1jb2xvcicsICcjMDAwJyk7XHJcblx0Y29uc3QgbGlnaHRDb2xvciA9IGdldENvbG9yKCctLWNoYXJ0LXZhbHVlLWxpZ2h0LWNvbG9yJywgJyNmZmYnKTtcclxuXHJcblx0bGV0IHJnYjogYW55ID0gbnVsbDtcclxuXHJcblx0aWYgKGJhY2tncm91bmRDb2xvci5zdGFydHNXaXRoKCcjJykpIHtcclxuXHRcdHJnYiA9IGhleFRvUmdiKGJhY2tncm91bmRDb2xvcik7XHJcblx0fSBlbHNlIGlmIChiYWNrZ3JvdW5kQ29sb3Iuc3RhcnRzV2l0aCgncmdiJykpIHtcclxuXHRcdHJnYiA9IHBhcnNlUmdiU3RyaW5nKGJhY2tncm91bmRDb2xvcik7XHJcblx0fSBlbHNlIHtcclxuXHRcdHJldHVybiBkYXJrQ29sb3I7IC8vIERlZmF1bHQgZmFsbGJhY2tcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnZlcnRzIGFuIFJHQiBjb21wb25lbnQgdG8gaXRzIGxpbmVhcml6ZWQgdmFsdWUgZm9yIGx1bWluYW5jZSBjYWxjdWxhdGlvbi5cclxuXHQgKlxyXG5cdCAqIEBwYXJhbSB7bnVtYmVyfSBjIC0gVGhlIFJHQiBjb21wb25lbnQgdmFsdWUgKDAtMjU1KS5cclxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSAtIFRoZSBsaW5lYXJpemVkIHZhbHVlLlxyXG5cdCAqL1xyXG5cdGZ1bmN0aW9uIHRvTGluZWFyKGM6IG51bWJlcik6IG51bWJlciB7XHJcblx0XHRjIC89IDI1NTtcclxuXHRcdHJldHVybiBjIDw9IDAuMDM5MjggPyBjIC8gMTIuOTIgOiBNYXRoLnBvdygoYyArIDAuMDU1KSAvIDEuMDU1LCAyLjQpO1xyXG5cdH1cclxuXHJcblx0Y29uc3QgW3IsIGcsIGJdID0gcmdiLm1hcCh0b0xpbmVhcik7XHJcblx0Y29uc3QgbHVtaW5hbmNlID0gMC4yMTI2ICogciArIDAuNzE1MiAqIGcgKyAwLjA3MjIgKiBiO1xyXG5cclxuXHRyZXR1cm4gbHVtaW5hbmNlID4gMC42ID8gZGFya0NvbG9yIDogbGlnaHRDb2xvcjtcclxufVxyXG5cclxuLypcclxuICogQ29udmVydHMgYSBoZXhhZGVjaW1hbCBjb2xvciBjb2RlIHRvIGFuIFJHQiBhcnJheS5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGhleCAtIFRoZSBoZXhhZGVjaW1hbCBjb2xvciBjb2RlIChlLmcuLCBgI2ZmZmAgb3IgYCNmZmZmZmZgKS5cclxuICogQHJldHVybnMge251bWJlcltdfSAtIEFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIFJHQiB2YWx1ZXMgW3JlZCwgZ3JlZW4sIGJsdWVdLlxyXG4gKi9cclxuZnVuY3Rpb24gaGV4VG9SZ2IoaGV4KSB7XHJcblx0aGV4ID0gaGV4LnJlcGxhY2UoL14jLywgJycpO1xyXG5cdGlmIChoZXgubGVuZ3RoID09PSAzKSB7XHJcblx0XHRoZXggPSBoZXhcclxuXHRcdFx0LnNwbGl0KCcnKVxyXG5cdFx0XHQubWFwKChjaGFyKSA9PiBjaGFyICsgY2hhcilcclxuXHRcdFx0LmpvaW4oJycpO1xyXG5cdH1cclxuXHRjb25zdCBiaWdpbnQgPSBwYXJzZUludChoZXgsIDE2KTtcclxuXHRyZXR1cm4gWyhiaWdpbnQgPj4gMTYpICYgMjU1LCAoYmlnaW50ID4+IDgpICYgMjU1LCBiaWdpbnQgJiAyNTVdO1xyXG59XHJcblxyXG4vKipcclxuICogUGFyc2VzIGFuIFJHQiBzdHJpbmcgYW5kIGV4dHJhY3RzIHRoZSBudW1lcmljIFJHQiB2YWx1ZXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSByZ2JTdHJpbmcgLSBUaGUgUkdCIHN0cmluZyAoZS5nLiwgYHJnYigyNTUsIDI1NSwgMjU1KWApLlxyXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IC0gQW4gYXJyYXkgY29udGFpbmluZyB0aGUgUkdCIHZhbHVlcyBbcmVkLCBncmVlbiwgYmx1ZV0uXHJcbiAqL1xyXG5mdW5jdGlvbiBwYXJzZVJnYlN0cmluZyhyZ2JTdHJpbmc6IHN0cmluZyk6IG51bWJlcltdIHtcclxuXHRyZXR1cm4gcmdiU3RyaW5nLm1hdGNoKC9cXGQrL2cpLm1hcChOdW1iZXIpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
|
-
import { BaseReport } from './base-report';
|
|
3
|
-
import { ReportsDialogService } from '../services/reports-dialog.service';
|
|
4
2
|
import { GraphChartComponent } from '../charts-components';
|
|
3
|
+
import { ChartThemeService } from '../services';
|
|
4
|
+
import { ReportsDialogService } from '../services/reports-dialog.service';
|
|
5
|
+
import { BaseReport } from './base-report';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class BaseGraphReport extends BaseReport {
|
|
7
8
|
constructor() {
|
|
8
9
|
super(...arguments);
|
|
9
10
|
this._dialog = this.injector.get(ReportsDialogService);
|
|
11
|
+
this._chartThemeService = this.injector.get(ChartThemeService);
|
|
12
|
+
this._initialTheme = this._chartThemeService.getCurrentTheme();
|
|
10
13
|
}
|
|
11
14
|
openGraphDialog(component = GraphChartComponent) {
|
|
12
15
|
this._dialog.open(component, {
|
|
@@ -22,4 +25,4 @@ BaseGraphReport.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", versio
|
|
|
22
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseGraphReport, decorators: [{
|
|
23
26
|
type: Directive
|
|
24
27
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ncmFwaC5yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvYmFzZS9iYXNlLWdyYXBoLnJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQWdCLGVBR3BCLFNBQVEsVUFBZ0M7SUFKMUM7O1FBS1csWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxRCxrQkFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztLQVVwRTtJQVJBLGVBQWUsQ0FBQyxZQUFnQyxtQkFBbUI7UUFDbEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzVCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ3pCLENBQUMsQ0FBQztJQUNKLENBQUM7OzZHQWZvQixlQUFlO2lHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdyYXBoQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9jaGFydHMtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IER5bmFtaWNMaW5lQ2hhcnQsIER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBHcmFwaENoYXJ0LCBHcmFwaENoYXJ0RGVmaW5pdGlvbiB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENoYXJ0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBSZXBvcnRzRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlcG9ydHMtZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlUmVwb3J0IH0gZnJvbSAnLi9iYXNlLXJlcG9ydCc7XHJcblxyXG5cclxuQERpcmVjdGl2ZSgpIC8vR3JhcGhDaGFydCB8IER5bmFtaWNMaW5lQ2hhcnRcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VHcmFwaFJlcG9ydDxcclxuXHRURGVmaW5pdGlvbiBleHRlbmRzIEdyYXBoQ2hhcnREZWZpbml0aW9uIHwgRHluYW1pY0xpbmVDaGFydERlZmluaXRpb24sXHJcblx0VENvbmZpZyBleHRlbmRzIEdyYXBoQ2hhcnQgfCBEeW5hbWljTGluZUNoYXJ0XHJcbj4gZXh0ZW5kcyBCYXNlUmVwb3J0PFREZWZpbml0aW9uLCBUQ29uZmlnPiB7XHJcblx0cHJvdGVjdGVkIF9kaWFsb2cgPSB0aGlzLmluamVjdG9yLmdldChSZXBvcnRzRGlhbG9nU2VydmljZSk7XHJcblx0cHJvdGVjdGVkIF9jaGFydFRoZW1lU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KENoYXJ0VGhlbWVTZXJ2aWNlKTtcclxuXHRwcm90ZWN0ZWQgX2luaXRpYWxUaGVtZSA9IHRoaXMuX2NoYXJ0VGhlbWVTZXJ2aWNlLmdldEN1cnJlbnRUaGVtZSgpO1xyXG5cclxuXHRvcGVuR3JhcGhEaWFsb2coY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT4gPSBHcmFwaENoYXJ0Q29tcG9uZW50KSB7XHJcblx0XHR0aGlzLl9kaWFsb2cub3Blbihjb21wb25lbnQsIHtcclxuXHRcdFx0Y29uZmlnOiB0aGlzLmNvbmZpZyxcclxuXHRcdFx0ZGF0YTogdGhpcy5kYXRhLFxyXG5cdFx0XHRjcml0ZXJpYTogdGhpcy5jcml0ZXJpYSxcclxuXHRcdFx0ZGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvblxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -22,6 +22,7 @@ export class BaseReport extends DestroySubject {
|
|
|
22
22
|
this.onOpen = new EventEmitter();
|
|
23
23
|
}
|
|
24
24
|
set definition(obj) {
|
|
25
|
+
this._definition = _.cloneDeep(obj);
|
|
25
26
|
if (obj) {
|
|
26
27
|
this._configSub.next(this._prepareConfig(obj));
|
|
27
28
|
}
|
|
@@ -69,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
69
70
|
}], onOpen: [{
|
|
70
71
|
type: Output
|
|
71
72
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvYmFzZS9iYXNlLXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RCxNQUFNLE9BQWdCLFVBR3BCLFNBQVEsY0FBYztJQTBDdkIsWUFBbUIsUUFBa0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBekNqQixzQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hELFNBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9DLHlCQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFM0UsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELFlBQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBY2hDLGNBQVMsR0FBYyxLQUFLLENBQUM7UUFHNUIsaUJBQVksR0FBRyxJQUFJLGFBQWEsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDaEUsY0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFXbkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUduQyxDQUFDO1FBRUssV0FBTSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBSXJELENBQUM7SUFuQ0QsSUFBYSxVQUFVLENBQUMsR0FBZ0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQy9DO0lBQ0YsQ0FBQztJQUVELElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBUUQsSUFBYSxRQUFRLENBQUMsS0FBb0I7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7SUFhRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNmLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFUyxjQUFjLENBQUMsR0FBZ0I7UUFDeEMsTUFBTSxPQUFPLEdBQUc7WUFDZixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCO1lBQ2pFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0I7WUFDakUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQjtZQUMzRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CO1NBQ25FLENBQUM7UUFFRixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQVksQ0FBQztJQUMxRSxDQUFDOzt3R0FqRW9CLFVBQVU7NEZBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUQvQixTQUFTOytGQWFJLFVBQVU7c0JBQXRCLEtBQUs7Z0JBV0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS08sUUFBUTtzQkFBcEIsS0FBSztnQkFTSSxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3JpdGVyaWFNb2RlbCwgUmVwb3J0Q29uZmlnTW9kZWwsIFJlcG9ydERlZmluaXRpb25Nb2RlbCwgUmVwb3J0UmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgRGVzdHJveVN1YmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBSRVBPUlRfTU9ERSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFJlcG9ydENvbmZpZ01hcHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVJlcG9ydDxcclxuXHRURGVmaW5pdGlvbiBleHRlbmRzIFJlcG9ydERlZmluaXRpb25Nb2RlbCxcclxuXHRUQ29uZmlnIGV4dGVuZHMgUmVwb3J0Q29uZmlnTW9kZWxcclxuPiBleHRlbmRzIERlc3Ryb3lTdWJqZWN0IHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3RyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NkciA9IHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF9jb25maWdNYXBwZXJTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUmVwb3J0Q29uZmlnTWFwcGVyU2VydmljZSk7XHJcblxyXG5cdHByb3RlY3RlZCBfY29uZmlnU3ViID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUQ29uZmlnPihudWxsKTtcclxuXHRjb25maWckID0gdGhpcy5fY29uZmlnU3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2RlZmluaXRpb246IFREZWZpbml0aW9uO1xyXG5cdEBJbnB1dCgpIHNldCBkZWZpbml0aW9uKG9iajogVERlZmluaXRpb24pIHtcclxuXHRcdHRoaXMuX2RlZmluaXRpb24gPSBfLmNsb25lRGVlcChvYmopO1xyXG5cdFx0aWYgKG9iaikge1xyXG5cdFx0XHR0aGlzLl9jb25maWdTdWIubmV4dCh0aGlzLl9wcmVwYXJlQ29uZmlnKG9iaikpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0IGNvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jb25maWdTdWIuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdEBJbnB1dCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uID0gJ3J0bCc7XHJcblx0QElucHV0KCkgZGF0YTogUmVwb3J0UmVzcG9uc2VNb2RlbDtcclxuXHJcblx0cHJvdGVjdGVkIF9jcml0ZXJpYVN1YiA9IG5ldyBSZXBsYXlTdWJqZWN0PENyaXRlcmlhTW9kZWw+KG51bGwpO1xyXG5cdGNyaXRlcmlhJCA9IHRoaXMuX2NyaXRlcmlhU3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHByaXZhdGUgX2NyaXRlcmlhOiBDcml0ZXJpYU1vZGVsO1xyXG5cdEBJbnB1dCgpIHNldCBjcml0ZXJpYSh2YWx1ZTogQ3JpdGVyaWFNb2RlbCkge1xyXG5cdFx0dGhpcy5fY3JpdGVyaWEgPSBfLmNsb25lRGVlcCh2YWx1ZSk7XHJcblx0XHR0aGlzLl9jcml0ZXJpYVN1Yi5uZXh0KHRoaXMuX2NyaXRlcmlhKTtcclxuXHR9XHJcblxyXG5cdGdldCBjcml0ZXJpYSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jcml0ZXJpYTtcclxuXHR9XHJcblxyXG5cdEBPdXRwdXQoKSBvbk5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcblx0XHRyZXBvcnQ6IFRDb25maWc7XHJcblx0XHRkYXRhOiBSZXBvcnRSZXNwb25zZU1vZGVsO1xyXG5cdH0+KCk7XHJcblxyXG5cdEBPdXRwdXQoKSBvbk9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPENyaXRlcmlhTW9kZWw+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0fVxyXG5cclxuXHRuYXZpZ2F0ZSgpIHtcclxuXHRcdHRoaXMub25OYXZpZ2F0ZS5lbWl0KHtcclxuXHRcdFx0cmVwb3J0OiB0aGlzLmNvbmZpZyxcclxuXHRcdFx0ZGF0YTogdGhpcy5kYXRhXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfcHJlcGFyZUNvbmZpZyhvYmo6IFREZWZpbml0aW9uKTogVENvbmZpZyB7XHJcblx0XHRjb25zdCBtYXBwZXJzID0ge1xyXG5cdFx0XHRbUkVQT1JUX01PREUuZ3JhcGhdOiB0aGlzLl9jb25maWdNYXBwZXJTZXJ2aWNlLnByZXBhcmVHcmFwaENvbmZpZyxcclxuXHRcdFx0W1JFUE9SVF9NT0RFLmRpZ2l0XTogdGhpcy5fY29uZmlnTWFwcGVyU2VydmljZS5wcmVwYXJlRGlnaXRDb25maWcsXHJcblx0XHRcdFtSRVBPUlRfTU9ERS5keW5hbWljTGluZV06IHRoaXMuX2NvbmZpZ01hcHBlclNlcnZpY2UucHJlcGFyZUdyYXBoTGluZUNvbmZpZyxcclxuXHRcdFx0W1JFUE9SVF9NT0RFLmN1c3RvbV06IHRoaXMuX2NvbmZpZ01hcHBlclNlcnZpY2UucHJlcGFyZUN1c3RvbUNvbmZpZ1xyXG5cdFx0fTtcclxuXHJcblx0XHRyZXR1cm4gbWFwcGVyc1tvYmoubW9kZV0uY2FsbCh0aGlzLl9jb25maWdNYXBwZXJTZXJ2aWNlLCBvYmopIGFzIFRDb25maWc7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
1
2
|
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
3
|
import { combineLatest } from 'rxjs';
|
|
3
4
|
import { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';
|
|
4
5
|
import _ from 'lodash';
|
|
5
6
|
import { BaseGraphReport } from '../../base/base-graph.report';
|
|
6
|
-
import { DynamicTimelineReportService } from '../../services';
|
|
7
|
+
import { ChartThemeService, DynamicTimelineReportService } from '../../services';
|
|
7
8
|
import { TimelineDialogComponent } from '../_parts';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "../../../chart-panel";
|
|
@@ -27,6 +28,13 @@ export class DynamicTimelineReportComponent extends BaseGraphReport {
|
|
|
27
28
|
this.report$ = combineLatest([this.config$, this._criteria$, this._timelineService.rebuild$]).pipe(this._timelineService.prepareData());
|
|
28
29
|
this._subscribeToLanguage();
|
|
29
30
|
}
|
|
31
|
+
ngAfterViewInit() {
|
|
32
|
+
this._setupThemeWatcher();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
super.ngOnDestroy();
|
|
36
|
+
this._chartThemeService.destroy();
|
|
37
|
+
}
|
|
30
38
|
_subscribeToLanguage() {
|
|
31
39
|
this._translateService.onLangChange
|
|
32
40
|
.pipe(distinctUntilChanged((pre, next) => pre.lang == next.lang), filter(() => this._timelineService._isInitialized), takeUntil(this.destroy$))
|
|
@@ -48,9 +56,23 @@ export class DynamicTimelineReportComponent extends BaseGraphReport {
|
|
|
48
56
|
openDetails() {
|
|
49
57
|
this.onOpen.emit(this._timelineService.payload);
|
|
50
58
|
}
|
|
59
|
+
_setupThemeWatcher() {
|
|
60
|
+
this._chartThemeService.theme$
|
|
61
|
+
.pipe(filter((value) => value !== this._initialTheme && !!this._definition), takeUntil(this.destroy$))
|
|
62
|
+
.subscribe((theme) => {
|
|
63
|
+
this._initialTheme = theme;
|
|
64
|
+
const _a = this._configSub.getValue(), { chart } = _a, config = __rest(_a, ["chart"]);
|
|
65
|
+
const data = _.merge({}, this._definition, {
|
|
66
|
+
chart: {
|
|
67
|
+
type: chart.type
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
this._configSub.next(this._prepareConfig(data));
|
|
71
|
+
});
|
|
72
|
+
}
|
|
51
73
|
}
|
|
52
74
|
DynamicTimelineReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
DynamicTimelineReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report", host: { classAttribute: "timeline-report flex flex-col flex-grow" }, providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<chart-panel *ngIf=\"report$ | async as report; else noData\" class=\"ndf-report\">\r\n\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t<span>\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</span>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"config?.dialog?.active\"\r\n\t\t\tclass=\"dialog-button print:hidden\"\r\n\t\t\t(click)=\"openTimelineDialog()\"\r\n\t\t\t[matTooltip]=\"'REPORTS.fullscreen' | translate\"\r\n\t\t>\r\n\t\t\t<mat-icon>fullscreen</mat-icon>\r\n\t\t</button>\r\n\t</chart-panel-header>\r\n\r\n\t<app-graph-chart\r\n\t\t#graphChart\r\n\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t[config]=\"report.config\"\r\n\t\t[criteria]=\"filterCriteria$ | async\"\r\n\t\t[data]=\"report.data\"\r\n\t></app-graph-chart>\r\n\r\n\t<chart-panel-footer class=\"ndf-report__footer \">\r\n\t\t<div class=\"chart-actions flex items-center rounded-lg gap-2 flex-wrap p-1\">\r\n\t\t\t<button\r\n\t\t\t\tclass=\"print-button chart-actions__item\"\r\n\t\t\t\t(click)=\"printChart()\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.print' | translate\"\r\n\t\t\t\t*ngIf=\"config?.print\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>print</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"navigate()\"\r\n\t\t\t\t*ngIf=\"config?.navigate?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.enabled' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>send</mat-icon>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"openDetails()\"\r\n\t\t\t\t*ngIf=\"config?.details?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.details' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>info</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<time-group-selector\r\n\t\t\t*ngIf=\"config?.group?.active ?? true\"\r\n\t\t\t[group]=\"selectedGroup$ | async\"\r\n\t\t\t(groupChange)=\"changeGroup($event)\"\r\n\t\t></time-group-selector>\r\n\t</chart-panel-footer>\r\n</chart-panel>\r\n\r\n<ng-template #noData>\r\n\t<chart-panel class=\"ndf-report\">\r\n\t\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</chart-panel-header>\r\n\t\t<app-skeleton\r\n\t\t\tanimation=\"opacity\"\r\n\t\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t\theight=\"220px\"\r\n\t\t></app-skeleton>\r\n\t</chart-panel>\r\n</ng-template>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}@media print{.chart-actions{display:none}}:host{min-width:0;max-width:100%}.timeline-chart{display:var(--ndf-report-display, flex);flex-direction:var(--ndf-report-direction, column);justify-content:var(--ndf-report-justify-content, center);align-items:var(--ndf-report-align-items, center)}\n"], components: [{ type: i1.ChartPanel, selector: "chart-panel" }, { type: i1.ChartPanelHeaderComponent, selector: "chart-panel-header" }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.GraphChartComponent, selector: "app-graph-chart" }, { type: i1.ChartPanelFooterComponent, selector: "chart-panel-footer" }, { type: i4.TimeGroupSelectorComponent, selector: "time-group-selector", inputs: ["direction", "group"], outputs: ["groupChange"] }, { type: i5.SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "async": i6.AsyncPipe, "translate": i8.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
75
|
+
DynamicTimelineReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report", host: { classAttribute: "timeline-report flex flex-col flex-grow" }, providers: [DynamicTimelineReportService, ChartThemeService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<chart-panel *ngIf=\"report$ | async as report; else noData\" class=\"ndf-report\">\r\n\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t<span>\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</span>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"config?.dialog?.active\"\r\n\t\t\tclass=\"dialog-button print:hidden\"\r\n\t\t\t(click)=\"openTimelineDialog()\"\r\n\t\t\t[matTooltip]=\"'REPORTS.fullscreen' | translate\"\r\n\t\t>\r\n\t\t\t<mat-icon>fullscreen</mat-icon>\r\n\t\t</button>\r\n\t</chart-panel-header>\r\n\r\n\t<app-graph-chart\r\n\t\t#graphChart\r\n\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t[config]=\"report.config\"\r\n\t\t[criteria]=\"filterCriteria$ | async\"\r\n\t\t[data]=\"report.data\"\r\n\t></app-graph-chart>\r\n\r\n\t<chart-panel-footer class=\"ndf-report__footer \">\r\n\t\t<div class=\"chart-actions flex items-center rounded-lg gap-2 flex-wrap p-1\">\r\n\t\t\t<button\r\n\t\t\t\tclass=\"print-button chart-actions__item\"\r\n\t\t\t\t(click)=\"printChart()\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.print' | translate\"\r\n\t\t\t\t*ngIf=\"config?.print\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>print</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"navigate()\"\r\n\t\t\t\t*ngIf=\"config?.navigate?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.enabled' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>send</mat-icon>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"openDetails()\"\r\n\t\t\t\t*ngIf=\"config?.details?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.details' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>info</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<time-group-selector\r\n\t\t\t*ngIf=\"config?.group?.active ?? true\"\r\n\t\t\t[group]=\"selectedGroup$ | async\"\r\n\t\t\t(groupChange)=\"changeGroup($event)\"\r\n\t\t></time-group-selector>\r\n\t</chart-panel-footer>\r\n</chart-panel>\r\n\r\n<ng-template #noData>\r\n\t<chart-panel class=\"ndf-report\">\r\n\t\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</chart-panel-header>\r\n\t\t<app-skeleton\r\n\t\t\tanimation=\"opacity\"\r\n\t\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t\theight=\"220px\"\r\n\t\t></app-skeleton>\r\n\t</chart-panel>\r\n</ng-template>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}@media print{.chart-actions{display:none}}:host{min-width:0;max-width:100%}.timeline-chart{display:var(--ndf-report-display, flex);flex-direction:var(--ndf-report-direction, column);justify-content:var(--ndf-report-justify-content, center);align-items:var(--ndf-report-align-items, center)}\n"], components: [{ type: i1.ChartPanel, selector: "chart-panel" }, { type: i1.ChartPanelHeaderComponent, selector: "chart-panel-header" }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.GraphChartComponent, selector: "app-graph-chart" }, { type: i1.ChartPanelFooterComponent, selector: "chart-panel-footer" }, { type: i4.TimeGroupSelectorComponent, selector: "time-group-selector", inputs: ["direction", "group"], outputs: ["groupChange"] }, { type: i5.SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "async": i6.AsyncPipe, "translate": i8.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportComponent, decorators: [{
|
|
55
77
|
type: Component,
|
|
56
78
|
args: [{
|
|
@@ -61,10 +83,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
61
83
|
host: {
|
|
62
84
|
class: 'timeline-report flex flex-col flex-grow'
|
|
63
85
|
},
|
|
64
|
-
providers: [DynamicTimelineReportService]
|
|
86
|
+
providers: [DynamicTimelineReportService, ChartThemeService]
|
|
65
87
|
}]
|
|
66
88
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { graphChartComponent: [{
|
|
67
89
|
type: ViewChild,
|
|
68
90
|
args: ['graphChart']
|
|
69
91
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFtQixhQUFhLEVBQWlCLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBYXBELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxlQUE2RDtJQW1CaEgsWUFBbUIsUUFBa0I7UUFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFD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NEJBQTRCLENBQUM7aUJBQ3pDOytGQUl5QixtQkFBbUI7c0JBQTNDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEdyYXBoQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGFydHMtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEJhc2VHcmFwaFJlcG9ydCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1ncmFwaC5yZXBvcnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL19wYXJ0cyc7XHJcbmltcG9ydCB7IER5bmFtaWNMaW5lQ2hhcnQsIER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBUaW1lR3JvdXBzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtdGltZWxpbmUtcmVwb3J0JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGltZWxpbmUtcmVwb3J0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICd0aW1lbGluZS1yZXBvcnQgZmxleCBmbGV4LWNvbCBmbGV4LWdyb3cnXHJcblx0fSxcclxuXHRwcm92aWRlcnM6IFtEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RpbWVsaW5lUmVwb3J0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUdyYXBoUmVwb3J0PER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBEeW5hbWljTGluZUNoYXJ0PiB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfdGltZWxpbmVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoRHluYW1pY1RpbWVsaW5lUmVwb3J0U2VydmljZSk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoJ2dyYXBoQ2hhcnQnKSBncmFwaENoYXJ0Q29tcG9uZW50OiBHcmFwaENoYXJ0Q29tcG9uZW50O1xyXG5cclxuXHRwcml2YXRlIF9jcml0ZXJpYSQgPSB0aGlzLmNyaXRlcmlhJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBfLmlzRXF1YWwoYSwgYikpKTtcclxuXHJcblx0c2VsZWN0ZWRHcm91cCQgPSB0aGlzLl90aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRHcm91cCQ7XHJcblxyXG5cdGZpbHRlckNyaXRlcmlhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2NyaXRlcmlhJCwgdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkR3JvdXAkXSkucGlwZShcclxuXHRcdG1hcCgoW2NyaXRlcmlhXSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gXy5jbG9uZURlZXAoXy5tZXJnZShjcml0ZXJpYSB8fCB7fSwgdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnByZXBhcmVTZWxlY3RlZEdyb3Vwcyh0aGlzLmNvbmZpZykpKTtcclxuXHRcdH0pXHJcblx0KTtcclxuXHJcblx0cmVwb3J0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY29uZmlnJCwgdGhpcy5fY3JpdGVyaWEkLCB0aGlzLl90aW1lbGluZVNlcnZpY2UucmVidWlsZCRdKS5waXBlKFxyXG5cdFx0dGhpcy5fdGltZWxpbmVTZXJ2aWNlLnByZXBhcmVEYXRhKClcclxuXHQpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0XHR0aGlzLl9zdWJzY3JpYmVUb0xhbmd1YWdlKCk7XHJcblx0fVxyXG5cclxuXHRfc3Vic2NyaWJlVG9MYW5ndWFnZSgpIHtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmUsIG5leHQpID0+IHByZS5sYW5nID09IG5leHQubGFuZyksXHJcblx0XHRcdFx0ZmlsdGVyKCgpID0+IHRoaXMuX3RpbWVsaW5lU2VydmljZS5faXNJbml0aWFsaXplZCksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoXykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkKCk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpbnRDaGFydCgpIHtcclxuXHRcdGlmICh0aGlzLmdyYXBoQ2hhcnRDb21wb25lbnQpIHtcclxuXHRcdFx0dGhpcy5ncmFwaENoYXJ0Q29tcG9uZW50LnByaW50Q2hhcnQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNoYW5nZUdyb3VwKGdyb3VwOiBUaW1lR3JvdXBzKSB7XHJcblx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UuY2hhbmdlR3JvdXAoZ3JvdXApO1xyXG5cdH1cclxuXHJcblx0b3BlblRpbWVsaW5lRGlhbG9nKCkge1xyXG5cdFx0dGhpcy5vcGVuR3JhcGhEaWFsb2coVGltZWxpbmVEaWFsb2dDb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0b3BlbkRldGFpbHMoKSB7XHJcblx0XHR0aGlzLm9uT3Blbi5lbWl0KHRoaXMuX3RpbWVsaW5lU2VydmljZS5wYXlsb2FkKTtcclxuXHR9XHJcbn1cclxuIiwiPGNoYXJ0LXBhbmVsICpuZ0lmPVwicmVwb3J0JCB8IGFzeW5jIGFzIHJlcG9ydDsgZWxzZSBub0RhdGFcIiBjbGFzcz1cIm5kZi1yZXBvcnRcIj5cclxuXHQ8Y2hhcnQtcGFuZWwtaGVhZGVyIGNsYXNzPVwibmRmLXJlcG9ydF9faGVhZGVyIG1iLTNcIj5cclxuXHRcdDxzcGFuPlxyXG5cdFx0XHR7eyBjb25maWcubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvc3Bhbj5cclxuXHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdCpuZ0lmPVwiY29uZmlnPy5kaWFsb2c/LmFjdGl2ZVwiXHJcblx0XHRcdGNsYXNzPVwiZGlhbG9nLWJ1dHRvbiBwcmludDpoaWRkZW5cIlxyXG5cdFx0XHQoY2xpY2spPVwib3BlblRpbWVsaW5lRGlhbG9nKClcIlxyXG5cdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5mdWxsc2NyZWVuJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHQ+XHJcblx0XHRcdDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvY2hhcnQtcGFuZWwtaGVhZGVyPlxyXG5cclxuXHQ8YXBwLWdyYXBoLWNoYXJ0XHJcblx0XHQjZ3JhcGhDaGFydFxyXG5cdFx0Y2xhc3M9XCJuZGYtcmVwb3J0X19jb250ZW50IG5kZi1yZXBvcnRfX2NvbnRlbnQgdGltZWxpbmUtY2hhcnRcIlxyXG5cdFx0W2NvbmZpZ109XCJyZXBvcnQuY29uZmlnXCJcclxuXHRcdFtjcml0ZXJpYV09XCJmaWx0ZXJDcml0ZXJpYSQgfCBhc3luY1wiXHJcblx0XHRbZGF0YV09XCJyZXBvcnQuZGF0YVwiXHJcblx0PjwvYXBwLWdyYXBoLWNoYXJ0PlxyXG5cclxuXHQ8Y2hhcnQtcGFuZWwtZm9vdGVyIGNsYXNzPVwibmRmLXJlcG9ydF9fZm9vdGVyIFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNoYXJ0LWFjdGlvbnMgZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1sZyBnYXAtMiBmbGV4LXdyYXAgcC0xXCI+XHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cInByaW50LWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtXCJcclxuXHRcdFx0XHQoY2xpY2spPVwicHJpbnRDaGFydCgpXCJcclxuXHRcdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5wcmludCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5wcmludFwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwibmF2aWdhdGUtYnV0dG9uIGNoYXJ0LWFjdGlvbnNfX2l0ZW1cIlxyXG5cdFx0XHRcdChjbGljayk9XCJuYXZpZ2F0ZSgpXCJcclxuXHRcdFx0XHQqbmdJZj1cImNvbmZpZz8ubmF2aWdhdGU/LmVuYWJsZWRcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmVuYWJsZWQnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5zZW5kPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJuYXZpZ2F0ZS1idXR0b24gY2hhcnQtYWN0aW9uc19faXRlbVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cIm9wZW5EZXRhaWxzKClcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5kZXRhaWxzPy5lbmFibGVkXCJcclxuXHRcdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5kZXRhaWxzJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LWljb24+aW5mbzwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8dGltZS1ncm91cC1zZWxlY3RvclxyXG5cdFx0XHQqbmdJZj1cImNvbmZpZz8uZ3JvdXA/LmFjdGl2ZSA/PyB0cnVlXCJcclxuXHRcdFx0W2dyb3VwXT1cInNlbGVjdGVkR3JvdXAkIHwgYXN5bmNcIlxyXG5cdFx0XHQoZ3JvdXBDaGFuZ2UpPVwiY2hhbmdlR3JvdXAoJGV2ZW50KVwiXHJcblx0XHQ+PC90aW1lLWdyb3VwLXNlbGVjdG9yPlxyXG5cdDwvY2hhcnQtcGFuZWwtZm9vdGVyPlxyXG48L2NoYXJ0LXBhbmVsPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub0RhdGE+XHJcblx0PGNoYXJ0LXBhbmVsIGNsYXNzPVwibmRmLXJlcG9ydFwiPlxyXG5cdFx0PGNoYXJ0LXBhbmVsLWhlYWRlciBjbGFzcz1cIm5kZi1yZXBvcnRfX2hlYWRlciBtYi0zXCI+XHJcblx0XHRcdHt7IGNvbmZpZy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9jaGFydC1wYW5lbC1oZWFkZXI+XHJcblx0XHQ8YXBwLXNrZWxldG9uXHJcblx0XHRcdGFuaW1hdGlvbj1cIm9wYWNpdHlcIlxyXG5cdFx0XHRjbGFzcz1cIm5kZi1yZXBvcnRfX2NvbnRlbnQgbmRmLXJlcG9ydF9fY29udGVudCB0aW1lbGluZS1jaGFydFwiXHJcblx0XHRcdGhlaWdodD1cIjIyMHB4XCJcclxuXHRcdD48L2FwcC1za2VsZXRvbj5cclxuXHQ8L2NoYXJ0LXBhbmVsPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUF1QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFtQixhQUFhLEVBQWlCLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBYXBELE1BQU0sT0FBTyw4QkFDWixTQUFRLGVBQTZEO0lBcUJyRSxZQUFtQixRQUFrQjtRQUNwQyxLQUFLLENBQUMs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aXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgR3JhcGhDaGFydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoYXJ0cy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQmFzZUdyYXBoUmVwb3J0IH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLWdyYXBoLnJlcG9ydCc7XHJcbmltcG9ydCB7IENoYXJ0VGhlbWVTZXJ2aWNlLCBEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL19wYXJ0cyc7XHJcbmltcG9ydCB7IER5bmFtaWNMaW5lQ2hhcnQsIER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBUaW1lR3JvdXBzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtdGltZWxpbmUtcmVwb3J0JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGltZWxpbmUtcmVwb3J0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICd0aW1lbGluZS1yZXBvcnQgZmxleCBmbGV4LWNvbCBmbGV4LWdyb3cnXHJcblx0fSxcclxuXHRwcm92aWRlcnM6IFtEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlLCBDaGFydFRoZW1lU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUaW1lbGluZVJlcG9ydENvbXBvbmVudFxyXG5cdGV4dGVuZHMgQmFzZUdyYXBoUmVwb3J0PER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBEeW5hbWljTGluZUNoYXJ0PlxyXG5cdGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuXHRwcml2YXRlIHJlYWRvbmx5IF90aW1lbGluZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlKTtcclxuXHJcblx0QFZpZXdDaGlsZCgnZ3JhcGhDaGFydCcpIGdyYXBoQ2hhcnRDb21wb25lbnQ6IEdyYXBoQ2hhcnRDb21wb25lbnQ7XHJcblxyXG5cdHByaXZhdGUgX2NyaXRlcmlhJCA9IHRoaXMuY3JpdGVyaWEkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IF8uaXNFcXVhbChhLCBiKSkpO1xyXG5cclxuXHRzZWxlY3RlZEdyb3VwJCA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5zZWxlY3RlZEdyb3VwJDtcclxuXHJcblx0ZmlsdGVyQ3JpdGVyaWEkID0gY29tYmluZUxhdGVzdChbdGhpcy5fY3JpdGVyaWEkLCB0aGlzLl90aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRHcm91cCRdKS5waXBlKFxyXG5cdFx0bWFwKChbY3JpdGVyaWFdKSA9PiB7XHJcblx0XHRcdHJldHVybiBfLmNsb25lRGVlcChfLm1lcmdlKGNyaXRlcmlhIHx8IHt9LCB0aGlzLl90aW1lbGluZVNlcnZpY2UucHJlcGFyZVNlbGVjdGVkR3JvdXBzKHRoaXMuY29uZmlnKSkpO1xyXG5cdFx0fSlcclxuXHQpO1xyXG5cclxuXHRyZXBvcnQkID0gY29tYmluZUxhdGVzdChbdGhpcy5jb25maWckLCB0aGlzLl9jcml0ZXJpYSQsIHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkJF0pLnBpcGUoXHJcblx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UucHJlcGFyZURhdGEoKVxyXG5cdCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHRcdHRoaXMuX3N1YnNjcmliZVRvTGFuZ3VhZ2UoKTtcclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3NldHVwVGhlbWVXYXRjaGVyKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHN1cGVyLm5nT25EZXN0cm95KCk7XHJcblx0XHR0aGlzLl9jaGFydFRoZW1lU2VydmljZS5kZXN0cm95KCk7XHJcblx0fVxyXG5cclxuXHRfc3Vic2NyaWJlVG9MYW5ndWFnZSgpIHtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmUsIG5leHQpID0+IHByZS5sYW5nID09IG5leHQubGFuZyksXHJcblx0XHRcdFx0ZmlsdGVyKCgpID0+IHRoaXMuX3RpbWVsaW5lU2VydmljZS5faXNJbml0aWFsaXplZCksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoXykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkKCk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpbnRDaGFydCgpIHtcclxuXHRcdGlmICh0aGlzLmdyYXBoQ2hhcnRDb21wb25lbnQpIHtcclxuXHRcdFx0dGhpcy5ncmFwaENoYXJ0Q29tcG9uZW50LnByaW50Q2hhcnQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNoYW5nZUdyb3VwKGdyb3VwOiBUaW1lR3JvdXBzKSB7XHJcblx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UuY2hhbmdlR3JvdXAoZ3JvdXApO1xyXG5cdH1cclxuXHJcblx0b3BlblRpbWVsaW5lRGlhbG9nKCkge1xyXG5cdFx0dGhpcy5vcGVuR3JhcGhEaWFsb2coVGltZWxpbmVEaWFsb2dDb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0b3BlbkRldGFpbHMoKSB7XHJcblx0XHR0aGlzLm9uT3Blbi5lbWl0KHRoaXMuX3RpbWVsaW5lU2VydmljZS5wYXlsb2FkKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3NldHVwVGhlbWVXYXRjaGVyKCkge1xyXG5cdFx0dGhpcy5fY2hhcnRUaGVtZVNlcnZpY2UudGhlbWUkXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB0aGlzLl9pbml0aWFsVGhlbWUgJiYgISF0aGlzLl9kZWZpbml0aW9uKSxcclxuXHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKCh0aGVtZSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2luaXRpYWxUaGVtZSA9IHRoZW1lO1xyXG5cdFx0XHRcdGNvbnN0IHsgY2hhcnQsIC4uLmNvbmZpZyB9ID0gdGhpcy5fY29uZmlnU3ViLmdldFZhbHVlKCk7XHJcblxyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSBfLm1lcmdlKHt9LCB0aGlzLl9kZWZpbml0aW9uLCB7XHJcblx0XHRcdFx0XHRjaGFydDoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiBjaGFydC50eXBlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy5fY29uZmlnU3ViLm5leHQodGhpcy5fcHJlcGFyZUNvbmZpZyhkYXRhKSk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxufVxyXG4iLCI8Y2hhcnQtcGFuZWwgKm5nSWY9XCJyZXBvcnQkIHwgYXN5bmMgYXMgcmVwb3J0OyBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibmRmLXJlcG9ydFwiPlxyXG5cdDxjaGFydC1wYW5lbC1oZWFkZXIgY2xhc3M9XCJuZGYtcmVwb3J0X19oZWFkZXIgbWItM1wiPlxyXG5cdFx0PHNwYW4+XHJcblx0XHRcdHt7IGNvbmZpZy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9zcGFuPlxyXG5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Km5nSWY9XCJjb25maWc/LmRpYWxvZz8uYWN0aXZlXCJcclxuXHRcdFx0Y2xhc3M9XCJkaWFsb2ctYnV0dG9uIHByaW50OmhpZGRlblwiXHJcblx0XHRcdChjbGljayk9XCJvcGVuVGltZWxpbmVEaWFsb2coKVwiXHJcblx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmZ1bGxzY3JlZW4nIHwgdHJhbnNsYXRlXCJcclxuXHRcdD5cclxuXHRcdFx0PG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9jaGFydC1wYW5lbC1oZWFkZXI+XHJcblxyXG5cdDxhcHAtZ3JhcGgtY2hhcnRcclxuXHRcdCNncmFwaENoYXJ0XHJcblx0XHRjbGFzcz1cIm5kZi1yZXBvcnRfX2NvbnRlbnQgbmRmLXJlcG9ydF9fY29udGVudCB0aW1lbGluZS1jaGFydFwiXHJcblx0XHRbY29uZmlnXT1cInJlcG9ydC5jb25maWdcIlxyXG5cdFx0W2NyaXRlcmlhXT1cImZpbHRlckNyaXRlcmlhJCB8IGFzeW5jXCJcclxuXHRcdFtkYXRhXT1cInJlcG9ydC5kYXRhXCJcclxuXHQ+PC9hcHAtZ3JhcGgtY2hhcnQ+XHJcblxyXG5cdDxjaGFydC1wYW5lbC1mb290ZXIgY2xhc3M9XCJuZGYtcmVwb3J0X19mb290ZXIgXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY2hhcnQtYWN0aW9ucyBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWxnIGdhcC0yIGZsZXgtd3JhcCBwLTFcIj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwicHJpbnQtYnV0dG9uIGNoYXJ0LWFjdGlvbnNfX2l0ZW1cIlxyXG5cdFx0XHRcdChjbGljayk9XCJwcmludENoYXJ0KClcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLnByaW50JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LnByaW50XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5wcmludDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJuYXZpZ2F0ZS1idXR0b24gY2hhcnQtYWN0aW9uc19faXRlbVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cIm5hdmlnYXRlKClcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5uYXZpZ2F0ZT8uZW5hYmxlZFwiXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ1JFUE9SVFMuZW5hYmxlZCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cIm5hdmlnYXRlLWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtXCJcclxuXHRcdFx0XHQoY2xpY2spPVwib3BlbkRldGFpbHMoKVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LmRldGFpbHM/LmVuYWJsZWRcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmRldGFpbHMnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5pbmZvPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDx0aW1lLWdyb3VwLXNlbGVjdG9yXHJcblx0XHRcdCpuZ0lmPVwiY29uZmlnPy5ncm91cD8uYWN0aXZlID8/IHRydWVcIlxyXG5cdFx0XHRbZ3JvdXBdPVwic2VsZWN0ZWRHcm91cCQgfCBhc3luY1wiXHJcblx0XHRcdChncm91cENoYW5nZSk9XCJjaGFuZ2VHcm91cCgkZXZlbnQpXCJcclxuXHRcdD48L3RpbWUtZ3JvdXAtc2VsZWN0b3I+XHJcblx0PC9jaGFydC1wYW5lbC1mb290ZXI+XHJcbjwvY2hhcnQtcGFuZWw+XHJcblxyXG48bmctdGVtcGxhdGUgI25vRGF0YT5cclxuXHQ8Y2hhcnQtcGFuZWwgY2xhc3M9XCJuZGYtcmVwb3J0XCI+XHJcblx0XHQ8Y2hhcnQtcGFuZWwtaGVhZGVyIGNsYXNzPVwibmRmLXJlcG9ydF9faGVhZGVyIG1iLTNcIj5cclxuXHRcdFx0e3sgY29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2NoYXJ0LXBhbmVsLWhlYWRlcj5cclxuXHRcdDxhcHAtc2tlbGV0b25cclxuXHRcdFx0YW5pbWF0aW9uPVwib3BhY2l0eVwiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydF9fY29udGVudCBuZGYtcmVwb3J0X19jb250ZW50IHRpbWVsaW5lLWNoYXJ0XCJcclxuXHRcdFx0aGVpZ2h0PVwiMjIwcHhcIlxyXG5cdFx0PjwvYXBwLXNrZWxldG9uPlxyXG5cdDwvY2hhcnQtcGFuZWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|