@hmcts/ccd-case-ui-toolkit 6.13.0-rc1 → 6.13.0-rc10
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/hmcts-ccd-case-ui-toolkit.umd.js +76 -13
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/app.config.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +8 -5
- package/esm2015/lib/shared/components/palette/base-field/payment-field.component.js +4 -1
- package/esm2015/lib/shared/components/palette/palette.module.js +2 -2
- package/esm2015/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.js +3 -3
- package/esm2015/lib/shared/components/palette/waystopay/waystopay-field.component.js +4 -4
- package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +2 -2
- package/esm2015/lib/shared/directives/conditional-show/services/condition.peg.js +16 -3
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +31 -13
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/app.config.d.ts +2 -0
- package/lib/app.config.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/payment-field.component.d.ts +1 -0
- package/lib/shared/components/palette/base-field/payment-field.component.d.ts.map +1 -1
- package/lib/shared/directives/conditional-show/services/condition.peg.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -37,4 +37,4 @@ export class AbstractAppConfig {
|
|
|
37
37
|
}
|
|
38
38
|
export class CaseEditorConfig {
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxNQUFNLE9BQWdCLGlCQUFpQjtJQU1uQywwQkFBMEI7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELHFCQUFxQjtRQUNqQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBa0JEOzs7O09BSUc7SUFDSCx3QkFBd0I7UUFDcEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQU1ELGlCQUFpQjtRQUNiLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxrQkFBa0I7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsdUJBQXVCO1FBQ25CLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxnQ0FBZ0M7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELHlDQUF5QztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsb0JBQW9CO1FBQ2hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFNRCwyQkFBMkI7UUFDdkIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUlKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQWdFNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrTW9kZWwge1xuICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgYmFzaWNGaWVsZHM/OiB7XG4gICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbD86IHN0cmluZyxcbiAgICAgICAgY2FzZU1hbmFnZW1lbnRMb2NhdGlvbj86IHtcbiAgICAgICAgICAgIGJhc2VMb2NhdGlvbj86IG51bWJlclxuICAgICAgICB9XG4gICAgfTtcbiAgICBhY2Nlc3NQcm9jZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc01hbmFnZW1lbnRSZXF1ZXN0UmV2aWV3TW9ja01vZGVsIHtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGRldGFpbHM/OiB7XG4gICAgICAgIGNhc2VOYW1lOiBzdHJpbmc7XG4gICAgICAgIGNhc2VSZWZlcmVuY2U6IHN0cmluZztcbiAgICAgICAgZGF0ZVN1Ym1pdHRlZDogc3RyaW5nO1xuICAgICAgICByZXF1ZXN0RnJvbTogc3RyaW5nO1xuICAgICAgICByZWFzb25Gb3JDYXNlQWNjZXNzOiBzdHJpbmc7XG4gICAgfTtcbiAgICBhY2Nlc3NQcm9jZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RBcHBDb25maWcge1xuICAgIGFic3RyYWN0IGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBhYnN0cmFjdCBnZXRMb2dpblVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0QXBpVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDYXNlRGF0YVVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0RG9jdW1lbnRNYW5hZ2VtZW50VXJsKCk6IHN0cmluZztcbiAgICBnZXREb2N1bWVudE1hbmFnZW1lbnRVcmxWMigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXREb2N1bWVudFNlY3VyZU1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFic3RyYWN0IGdldFJlbW90ZURvY3VtZW50TWFuYWdlbWVudFVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0SHJzVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRSZW1vdGVIcnNVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldEFubm90YXRpb25BcGlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldFBvc3Rjb2RlTG9va3VwVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRPQXV0aDJDbGllbnRJZCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0UGF5bWVudHNVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldFBheUJ1bGtTY2FuQmFzZVVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0Q3JlYXRlT3JVcGRhdGVEcmFmdHNVcmwoY3RpZDogc3RyaW5nKTogc3RyaW5nXG4gICAgYWJzdHJhY3QgZ2V0Vmlld09yRGVsZXRlRHJhZnRzVXJsKGRpZDogc3RyaW5nKTogc3RyaW5nXG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldEFjdGl2aXR5TmV4UG9sbFJlcXVlc3RNcygpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlSZXRyeSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlCYXRjaENvbGxlY3Rpb25EZWxheU1zKCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBnZXRBY3Rpdml0eU1heFJlcXVlc3RQZXJCYXRjaCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0Q2FzZUhpc3RvcnlVcmwoY2FzZUlkOiBzdHJpbmcsIGV2ZW50SWQ6IHN0cmluZyk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRQcmludFNlcnZpY2VVcmwoKTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIER1bW15IHZlcnNpb24gcmVwbGFjaW5nIGRlcHJlY2F0ZWQgYGdldFJlbW90ZVByaW50U2VydmljZVVybCgpYCwgdG8gYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHJlbGVhc2VcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIGB1bmRlZmluZWRgXG4gICAgICovXG4gICAgZ2V0UmVtb3RlUHJpbnRTZXJ2aWNlVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFic3RyYWN0IGdldFBhZ2luYXRpb25QYWdlU2l6ZSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QmFubmVyc1VybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0UHJkVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDYWNoZVRpbWVPdXQoKTogbnVtYmVyO1xuICAgIGFic3RyYWN0IGdldFdvcmtBbGxvY2F0aW9uQXBpVXJsKCk6IHN0cmluZztcbiAgICBnZXRVc2VySW5mb0FwaVVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXRXQVNlcnZpY2VDb25maWcoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZ2V0QWNjZXNzTWFuYWdlbWVudE1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrKCk6IEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrTW9kZWwge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXRBY2Nlc3NNYW5hZ2VtZW50UmVxdWVzdFJldmlld01vY2tNb2RlbCgpOiBBY2Nlc3NNYW5hZ2VtZW50UmVxdWVzdFJldmlld01vY2tNb2RlbCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldExvY2F0aW9uUmVmQXBpVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRSZWZ1bmRzVXJsKCk6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Tm90aWZpY2F0aW9uVXJsKCk6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0UGF5bWVudFJldHVyblVybCgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldENhdGVnb3JpZXNBbmREb2N1bWVudHNVcmwoKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXREb2N1bWVudERhdGFVcmwoKTogc3RyaW5nO1xuICAgIGdldENhbVJvbGVBc3NpZ25tZW50c0FwaVVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBhYnN0cmFjdCBnZXRDYXNlRmxhZ3NSZWZkYXRhQXBpVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRSRENvbW1vbkRhdGFBcGlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldENhc2VEYXRhU3RvcmVBcGlVcmwoKTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FzZUVkaXRvckNvbmZpZyB7XG4gICAgYXBpX3VybDogc3RyaW5nO1xuICAgIGNhc2VfZGF0YV91cmw6IHN0cmluZztcbiAgICBkb2N1bWVudF9tYW5hZ2VtZW50X3VybDogc3RyaW5nO1xuICAgIGRvY3VtZW50X21hbmFnZW1lbnRfdXJsX3YyOiBzdHJpbmc7XG4gICAgaHJzX3VybDogc3RyaW5nO1xuICAgIGRvY3VtZW50X21hbmFnZW1lbnRfc2VjdXJlX2VuYWJsZWQ6IGJvb2xlYW47XG4gICAgbG9naW5fdXJsOiBzdHJpbmc7XG4gICAgb2F1dGgyX2NsaWVudF9pZDogc3RyaW5nO1xuICAgIHBvc3Rjb2RlX2xvb2t1cF91cmw6IHN0cmluZztcbiAgICByZW1vdGVfZG9jdW1lbnRfbWFuYWdlbWVudF91cmw6IHN0cmluZztcbiAgICByZW1vdGVfaHJzX3VybDogc3RyaW5nO1xuICAgIGFubm90YXRpb25fYXBpX3VybDogc3RyaW5nO1xuICAgIHBheW1lbnRzX3VybDogc3RyaW5nO1xuICAgIHBheV9idWxrX3NjYW5fdXJsOiBzdHJpbmc7XG4gICAgYWN0aXZpdHlfYmF0Y2hfY29sbGVjdGlvbl9kZWxheV9tczogbnVtYmVyO1xuICAgIGFjdGl2aXR5X25leHRfcG9sbF9yZXF1ZXN0X21zOiBudW1iZXI7XG4gICAgYWN0aXZpdHlfcmV0cnk6IG51bWJlcjtcbiAgICBhY3Rpdml0eV91cmw6IHN0cmluZztcbiAgICBhY3Rpdml0eV9tYXhfcmVxdWVzdF9wZXJfYmF0Y2g6IG51bWJlcjtcbiAgICBwcmludF9zZXJ2aWNlX3VybDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIHJlbW90ZV9wcmludF9zZXJ2aWNlX3VybCBtYXJrZWQgYXMgb3B0aW9uYWwgc2luY2UgZGVwcmVjYXRpb24sIGFoZWFkIG9mIHJlbW92YWwgaW4gbmV4dCBtYWpvciByZWxlYXNlXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICByZW1vdGVfcHJpbnRfc2VydmljZV91cmw/OiBzdHJpbmc7XG4gICAgcGFnaW5hdGlvbl9wYWdlX3NpemU6IG51bWJlcjtcbiAgICBwcmRfdXJsOiBzdHJpbmc7XG4gICAgY2FjaGVfdGltZV9vdXQ6IG51bWJlcjtcbiAgICB3b3JrX2FsbG9jYXRpb25fYXBpX3VybDogc3RyaW5nO1xuICAgIHVzZXJfaW5mb19hcGlfdXJsOiBzdHJpbmc7XG4gICAgd2Ffc2VydmljZV9jb25maWc/OiBhbnk7XG4gICAgYWNjZXNzX21hbmFnZW1lbnRfbW9kZT86IGJvb2xlYW47XG4gICAgYWNjZXNzX21hbmFnZW1lbnRfYmFzaWNfdmlld19tb2NrPzoge1xuICAgICAgICBhY3RpdmU/OiBib29sZWFuLFxuICAgICAgICBiYXNpY0ZpZWxkcz86IHtcbiAgICAgICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbD86IHN0cmluZyxcbiAgICAgICAgICAgIGNhc2VNYW5hZ2VtZW50TG9jYXRpb24/OiB7XG4gICAgICAgICAgICAgICAgYmFzZUxvY2F0aW9uPzogbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFjY2Vzc1Byb2Nlc3M/OiBzdHJpbmdcbiAgICB9O1xuICAgIGFjY2Vzc19tYW5hZ2VtZW50X3JlcXVlc3RfcmV2aWV3X21vY2s/OiB7XG4gICAgICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgICAgIGRldGFpbHM/OiB7XG4gICAgICAgICAgICBjYXNlTmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogc3RyaW5nO1xuICAgICAgICAgICAgZGF0ZVN1Ym1pdHRlZDogc3RyaW5nO1xuICAgICAgICAgICAgcmVxdWVzdEZyb206IHN0cmluZztcbiAgICAgICAgICAgIHJlYXNvbkZvckNhc2VBY2Nlc3M6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYWNjZXNzUHJvY2Vzcz86IHN0cmluZztcbiAgICB9O1xuICAgIHB1YmxpYyBsb2NhdGlvbl9yZWZfYXBpX3VybD86IHN0cmluZztcbiAgICBwdWJsaWMgY2FtX3JvbGVfYXNzaWdubWVudHNfYXBpX3VybD86IHN0cmluZztcbiAgICBwdWJsaWMgcmVmdW5kc191cmw6IHN0cmluZztcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9uX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBwYXltZW50X3JldHVybl91cmw6IHN0cmluZztcbiAgICBwdWJsaWMgY2F0ZWdvcmllc19hbmRfZG9jdW1lbnRzX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBkb2N1bWVudF9kYXRhX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBjYXNlX2ZsYWdzX3JlZmRhdGFfYXBpX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyByZF9jb21tb25fZGF0YV9hcGlfdXJsOiBzdHJpbmc7XG4gICAgcHVibGljIGNhc2VfZGF0YV9zdG9yZV9hcGlfdXJsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -3,9 +3,10 @@ import { ChangeDetectorRef, Component, Input, NgZone, ViewChild } from '@angular
|
|
|
3
3
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
4
4
|
import { MatDialog } from '@angular/material/dialog';
|
|
5
5
|
import { MatTabGroup } from '@angular/material/tabs';
|
|
6
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
6
|
+
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
|
7
7
|
import { plainToClass } from 'class-transformer';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
|
+
import { filter } from 'rxjs/operators';
|
|
9
10
|
import { NotificationBannerHeaderClass, NotificationBannerType } from '../../../../components/banners/notification-banner';
|
|
10
11
|
import { ShowCondition } from '../../../directives';
|
|
11
12
|
import { CaseField, CaseView, CaseViewTrigger, DisplayMode, Draft, DRAFT_QUERY_PARAM } from '../../../domain';
|
|
@@ -296,7 +297,7 @@ export class CaseFullAccessViewComponent {
|
|
|
296
297
|
this.activeCaseFlags = this.hasActiveCaseFlags();
|
|
297
298
|
}
|
|
298
299
|
ngOnChanges(changes) {
|
|
299
|
-
if (!changes.prependedTabs.firstChange) {
|
|
300
|
+
if (changes && changes.prependedTabs && !changes.prependedTabs.firstChange) {
|
|
300
301
|
this.init();
|
|
301
302
|
this.crf.detectChanges();
|
|
302
303
|
this.organiseTabPosition();
|
|
@@ -322,8 +323,10 @@ export class CaseFullAccessViewComponent {
|
|
|
322
323
|
}
|
|
323
324
|
}
|
|
324
325
|
checkRouteAndSetCaseViewTab() {
|
|
325
|
-
this.router.events
|
|
326
|
-
|
|
326
|
+
this.router.events
|
|
327
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
328
|
+
.subscribe((event) => {
|
|
329
|
+
const url = event && event.url;
|
|
327
330
|
if (url) {
|
|
328
331
|
const tabUrl = url ? url.split('#') : null;
|
|
329
332
|
const tab = tabUrl && tabUrl.length > 1 ? tabUrl[tabUrl.length - 1].replaceAll('%20', ' ') : '';
|
|
@@ -637,4 +640,4 @@ CaseFullAccessViewComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFullAcces
|
|
|
637
640
|
type: ViewChild,
|
|
638
641
|
args: ['tabGroup', { static: false }]
|
|
639
642
|
}] }); })();
|
|
640
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcvY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcvY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQ25DLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBRUwsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN2QixNQUFNLG9EQUFvRCxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUs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MkI7UUFBM0IsNkNBQTJCO1FBQ1QsZUFBZ0Q7UUFBaEQsNkVBQWdEO1FBSS9FLGVBQXNCO1FBQXRCLDJDQUFzQjtRQU1QLGVBQXFCO1FBQXJCLDBDQUFxQjtRQVF6QixlQUFzQjtRQUF0QiwyQ0FBc0I7O3VGRGQ1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REO3djQVFpQixRQUFRO2tCQUF2QixLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsV0FBVztrQkFBMUIsS0FBSztZQUNVLGFBQWE7a0JBQTVCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBdUIyQyxRQUFRO2tCQUF4RCxTQUFTO21CQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25CYW5uZXJDb25maWcsXG4gIE5vdGlmaWNhdGlvbkJhbm5lckhlYWRlckNsYXNzLFxuICBOb3RpZmljYXRpb25CYW5uZXJUeXBlXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9ub3RpZmljYXRpb24tYmFubmVyJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEFjdGl2aXR5LCBDYXNlRmllbGQsIENhc2VUYWIsIENhc2VWaWV3LCBDYXNlVmlld1RyaWdnZXIsIERpc3BsYXlNb2RlLCBEcmFmdCwgRFJBRlRfUVVFUllfUEFSQU0gfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlQb2xsaW5nU2VydmljZSxcbiAgQWxlcnRTZXJ2aWNlLFxuICBEcmFmdFNlcnZpY2UsXG4gIEVycm9yTm90aWZpZXJTZXJ2aWNlLFxuICBGaWVsZHNVdGlscyxcbiAgTmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZSxcbiAgTmF2aWdhdGlvbk9yaWdpbixcbiAgT3JkZXJTZXJ2aWNlLFxuICBTZXNzaW9uU3RvcmFnZVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ29udmVydEhyZWZUb1JvdXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jb252ZXJ0LWhyZWYtdG8tcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVsZXRlT3JDYW5jZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kaWFsb2dzJztcbmltcG9ydCB7IENhbGxiYWNrRXJyb3JzQ29udGV4dCB9IGZyb20gJy4uLy4uL2Vycm9yJztcbmltcG9ydCB7IGluaXREaWFsb2cgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZnVsbC1hY2Nlc3MtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBPUklHSU5fUVVFUllfUEFSQU0gPSAnb3JpZ2luJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUUklHR0VSX1RFWFRfU1RBUlQgPSAnR28nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRSSUdHRVJfVEVYVF9DT05USU5VRSA9ICdJZ25vcmUgV2FybmluZyBhbmQgR28nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVOSUNPREVfU1BBQ0UgPSAnJTIwJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTVBUWV9TUEFDRSA9ICcgJztcblxuICBASW5wdXQoKSBwdWJsaWMgaGFzUHJpbnQgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgaGFzRXZlbnRTZWxlY3RvciA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcmVwZW5kZWRUYWJzOiBDYXNlVGFiW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGFwcGVuZGVkVGFiczogQ2FzZVRhYltdID0gW107XG5cbiAgcHVibGljIEJBTk5FUiA9IERpc3BsYXlNb2RlLkJBTk5FUjtcbiAgcHVibGljIHNvcnRlZFRhYnM6IENhc2VUYWJbXTtcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBlcnJvcjogYW55O1xuICBwdWJsaWMgdHJpZ2dlclRleHRTdGFydCA9IENhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5UUklHR0VSX1RFWFRfU1RBUlQ7XG4gIHB1YmxpYyB0cmlnZ2VyVGV4dElnbm9yZVdhcm5pbmdzID0gQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LlRSSUdHRVJfVEVYVF9DT05USU5VRTtcbiAgcHVibGljIHRyaWdnZXJUZXh0OiBzdHJpbmcgPSBDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuVFJJR0dFUl9URVhUX1NUQVJUO1xuICBwdWJsaWMgaWdub3JlV2FybmluZyA9IGZhbHNlO1xuICBwdWJsaWMgYWN0aXZpdHlTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGVycm9yU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZztcbiAgcHVibGljIG1hcmtkb3duVXNlSHJlZkFzUm91dGVyTGluazogYm9vbGVhbjtcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgbm90aWZpY2F0aW9uQmFubmVyQ29uZmlnOiBOb3RpZmljYXRpb25CYW5uZXJDb25maWc7XG4gIHB1YmxpYyBzZWxlY3RlZFRhYkluZGV4ID0gMDtcbiAgcHVibGljIGFjdGl2ZUNhc2VGbGFncyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjYWxsYmFja0Vycm9yc1N1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZTogTmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlQb2xsaW5nU2VydmljZTogQWN0aXZpdHlQb2xsaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFmdFNlcnZpY2U6IERyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yTm90aWZpZXJTZXJ2aWNlOiBFcnJvck5vdGlmaWVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRIcmVmVG9Sb3V0ZXJTZXJ2aWNlOiBDb252ZXJ0SHJlZlRvUm91dGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpbml0RGlhbG9nKCk7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5jYWxsYmFja0Vycm9yc1N1YmplY3Quc3Vic2NyaWJlKGVycm9yRXZlbnQgPT4ge1xuICAgICAgdGhpcy5lcnJvciA9IGVycm9yRXZlbnQ7XG4gICAgfSk7XG4gICAgdGhpcy5lcnJvclN1YnNjcmlwdGlvbiA9IHRoaXMuZXJyb3JOb3RpZmllclNlcnZpY2UuZXJyb3Iuc3Vic2NyaWJlKGVycm9yID0+IHtcbiAgICAgIGlmIChlcnJvciAmJiBlcnJvci5zdGF0dXMgIT09IDQwMSAmJiBlcnJvci5zdGF0dXMgIT09IDQwMykge1xuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0Lm5leHQodGhpcy5lcnJvcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tYXJrZG93blVzZUhyZWZBc1JvdXRlckxpbmsgPSB0cnVlO1xuXG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnZXZlbnRVcmwnKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jb252ZXJ0SHJlZlRvUm91dGVyU2VydmljZS5nZXRIcmVmTWFya2Rvd25MaW5rQ29udGVudCgpLnN1YnNjcmliZSgoaHJlZk1hcmtkb3duTGlua0NvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgLy8gZG8gbm90IGNvbnZlcnQgcm91dGVyIHdpdGggaW5pdGlhbCBkZWZhdWx0IHZhbHVlOyBjb252ZXJ0IHRvIHJvdXRlciBvbmx5IG9uIHVwZGF0ZWQgbGluayBjb250ZW50XG4gICAgICBpZiAoaHJlZk1hcmtkb3duTGlua0NvbnRlbnQgIT09ICdEZWZhdWx0Jykge1xuICAgICAgICB0aGlzLmNvbnZlcnRIcmVmVG9Sb3V0ZXJTZXJ2aWNlLmNhbGxBbmd1bGFyUm91dGVyKGhyZWZNYXJrZG93bkxpbmtDb250ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UuaXNFbmFibGVkICYmICF0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gPSB0aGlzLnBvc3RWaWV3QWN0aXZpdHkoKS5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tSb3V0ZUFuZFNldENhc2VWaWV3VGFiICgpO1xuXG4gICAgLy8gQ2hlY2sgZm9yIGFjdGl2ZSBDYXNlIEZsYWdzXG4gICAgdGhpcy5hY3RpdmVDYXNlRmxhZ3MgPSB0aGlzLmhhc0FjdGl2ZUNhc2VGbGFncygpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIWNoYW5nZXMucHJlcGVuZGVkVGFicy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB0aGlzLmNyZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLm9yZ2FuaXNlVGFiUG9zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNQcmludEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLnByaW50RW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSh0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSh0aGlzLmNhc2VTdWJzY3JpcHRpb24pO1xuICAgIH1cbiAgICB0aGlzLnVuc3Vic2NyaWJlKHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0KTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKHRoaXMuZXJyb3JTdWJzY3JpcHRpb24pO1xuICAgIHRoaXMudW5zdWJzY3JpYmUodGhpcy5zdWJzY3JpcHRpb24pO1xuICB9XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlKHN1YnNjcmlwdGlvbjogYW55KSB7XG4gICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1JvdXRlQW5kU2V0Q2FzZVZpZXdUYWIoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSB2YWwgJiYgKHZhbCBhcyBhbnkpLnVybDtcbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgY29uc3QgdGFiVXJsID0gdXJsID8gdXJsLnNwbGl0KCcjJykgOiBudWxsIDtcbiAgICAgICAgY29uc3QgdGFiID0gdGFiVXJsICYmIHRhYlVybC5sZW5ndGggPiAxID8gdGFiVXJsW3RhYlVybC5sZW5ndGggLSAxXS5yZXBsYWNlQWxsKCclMjAnLCAnICcpIDogJyc7XG4gICAgICAgIGNvbnN0IG1hdFRhYiA9IHRoaXMudGFiR3JvdXAuX3RhYnMuZmluZCggKHgpID0+IHgudGV4dExhYmVsLnRvTG93ZXJDYXNlKCkgPT09IHRhYi50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgaWYgKG1hdFRhYiAmJiBtYXRUYWIucG9zaXRpb24pIHtcbiAgICAgICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBtYXRUYWIucG9zaXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcHVibGljIHBvc3RWaWV3QWN0aXZpdHkoKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5wb3N0Vmlld0FjdGl2aXR5KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJFcnJvcnNBbmRXYXJuaW5ncygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0RXJyb3JzKCk7XG4gICAgdGhpcy5pZ25vcmVXYXJuaW5nID0gZmFsc2U7XG4gICAgdGhpcy50cmlnZ2VyVGV4dCA9IENhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5UUklHR0VSX1RFWFRfU1RBUlQ7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlUcmlnZ2VyKHRyaWdnZXI6IENhc2VWaWV3VHJpZ2dlcik6IHZvaWQge1xuICAgIHRoaXMuZXJyb3IgPSBudWxsO1xuXG4gICAgY29uc3QgdGhlUXVlcnlQYXJhbXM6IFBhcmFtcyA9IHt9O1xuXG4gICAgaWYgKHRoaXMuaWdub3JlV2FybmluZykge1xuICAgICAgdGhlUXVlcnlQYXJhbXNbJ2lnbm9yZVdhcm5pbmcnXSA9IHRoaXMuaWdub3JlV2FybmluZztcbiAgICB9XG5cbiAgICAvLyB3ZSBtYXkgbmVlZCB0byB0YWtlIGNhcmUgb2YgZGlmZmVyZW50IHRyaWdnZXJzIGluIHRoZSBmdXR1cmVcbiAgICBpZiAodHJpZ2dlci5pZCA9PT0gQ2FzZVZpZXdUcmlnZ2VyLkRFTEVURSkge1xuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZWxldGVPckNhbmNlbERpYWxvZ0NvbXBvbmVudCwgdGhpcy5kaWFsb2dDb25maWcpO1xuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQgPT09ICdEZWxldGUnKSB7XG4gICAgICAgICAgdGhpcy5kcmFmdFNlcnZpY2UuZGVsZXRlRHJhZnQodGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLmFubm91bmNlTmF2aWdhdGlvbih7YWN0aW9uOiBOYXZpZ2F0aW9uT3JpZ2luLkRSQUZUX0RFTEVURUR9KTtcbiAgICAgICAgICAgIH0sIF8gPT4ge1xuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UuYW5ub3VuY2VOYXZpZ2F0aW9uKHthY3Rpb246IE5hdmlnYXRpb25PcmlnaW4uRVJST1JfREVMRVRJTkdfRFJBRlR9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEcmFmdCgpICYmIHRyaWdnZXIuaWQgIT09IENhc2VWaWV3VHJpZ2dlci5ERUxFVEUpIHtcbiAgICAgIHRoZVF1ZXJ5UGFyYW1zW0RSQUZUX1FVRVJZX1BBUkFNXSA9IHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICAgIHRoZVF1ZXJ5UGFyYW1zW0Nhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5PUklHSU5fUVVFUllfUEFSQU1dID0gJ3ZpZXdEcmFmdCc7XG4gICAgICB0aGlzLm5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UuYW5ub3VuY2VOYXZpZ2F0aW9uKFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aW9uOiBOYXZpZ2F0aW9uT3JpZ2luLkRSQUZUX1JFU1VNRUQsXG4gICAgICAgICAgamlkOiB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQsXG4gICAgICAgICAgY3RpZDogdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQsXG4gICAgICAgICAgZXRpZDogdHJpZ2dlci5pZCxcbiAgICAgICAgICBxdWVyeVBhcmFtczogdGhlUXVlcnlQYXJhbXNcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZS5hbm5vdW5jZU5hdmlnYXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICBhY3Rpb246IE5hdmlnYXRpb25PcmlnaW4uRVZFTlRfVFJJR0dFUkVELFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGVRdWVyeVBhcmFtcyxcbiAgICAgICAgICBldGlkOiB0cmlnZ2VyLmlkLFxuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGVcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1RhYnNQcmVzZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvcnRlZFRhYnMubGVuZ3RoID4gMCB8fCB0aGlzLnByZXBlbmRlZFRhYnMubGVuZ3RoID4gMCB8fCB0aGlzLmFwcGVuZGVkVGFicy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIGNhbGxiYWNrRXJyb3JzTm90aWZ5KGNhbGxiYWNrRXJyb3JzQ29udGV4dDogQ2FsbGJhY2tFcnJvcnNDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmVXYXJuaW5nID0gY2FsbGJhY2tFcnJvcnNDb250ZXh0Lmlnbm9yZV93YXJuaW5nO1xuICAgIHRoaXMudHJpZ2dlclRleHQgPSBjYWxsYmFja0Vycm9yc0NvbnRleHQudHJpZ2dlcl90ZXh0O1xuICB9XG5cbiAgcHVibGljIGlzRHJhZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIERyYWZ0LmlzRHJhZnQodGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RyaWdnZXJCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuZXJyb3JcbiAgICAgICYmIHRoaXMuZXJyb3IuY2FsbGJhY2tFcnJvcnNcbiAgICAgICYmIHRoaXMuZXJyb3IuY2FsbGJhY2tFcnJvcnMubGVuZ3RoKVxuICAgICAgfHwgKHRoaXMuZXJyb3JcbiAgICAgICAgJiYgdGhpcy5lcnJvci5kZXRhaWxzXG4gICAgICAgICYmIHRoaXMuZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnNcbiAgICAgICAgJiYgdGhpcy5lcnJvci5kZXRhaWxzLmZpZWxkX2Vycm9ycy5sZW5ndGgpO1xuICB9XG5cbiAgcHVibGljIG9yZ2FuaXNlVGFiUG9zaXRpb24oKTogdm9pZCB7XG4gICAgbGV0IG1hdFRhYjtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmxvY2F0aW9uLnBhdGgodHJ1ZSk7XG4gICAgbGV0IGhhc2hWYWx1ZSA9IHVybC5zdWJzdHJpbmcodXJsLmluZGV4T2YoJyMnKSArIDEpO1xuICAgIGlmICghdXJsLmluY2x1ZGVzKCcjJykgJiYgIXVybC5pbmNsdWRlcygncm9sZXMtYW5kLWFjY2VzcycpICYmICF1cmwuaW5jbHVkZXMoJ3Rhc2tzJykgJiYgIXVybC5pbmNsdWRlcygnaGVhcmluZ3MnKSkge1xuICAgICAgY29uc3QgcGF0aHMgPSB1cmwuc3BsaXQoJy8nKTtcbiAgICAgIC8vIGxhc3RQYXRoIGNhbiBiZSAvY2FzZUlkLCBvciB0aGUgdGFicyAvdGFza3MsIC9oZWFyaW5ncyBldGMuXG4gICAgICBjb25zdCBsYXN0UGF0aCA9IGRlY29kZVVSSUNvbXBvbmVudChwYXRoc1twYXRocy5sZW5ndGggLSAxXSk7XG4gICAgICBsZXQgZm91bmRUYWI6IENhc2VUYWIgPSBudWxsO1xuICAgICAgaWYgKCF0aGlzLnByZXBlbmRlZFRhYnMpIHtcbiAgICAgICAgdGhpcy5wcmVwZW5kZWRUYWJzID0gW107XG4gICAgICB9XG4gICAgICBjb25zdCBhZGRpdGlvbmFsVGFicyA9IFsuLi50aGlzLnByZXBlbmRlZFRhYnMsIC4uLnRoaXMuYXBwZW5kZWRUYWJzXTtcbiAgICAgIGlmIChhZGRpdGlvbmFsVGFicyAmJiBhZGRpdGlvbmFsVGFicy5sZW5ndGgpIHtcbiAgICAgICAgZm91bmRUYWIgPSAgYWRkaXRpb25hbFRhYnMuZmluZCgoY2FzZVRhYjogQ2FzZVRhYikgPT4gY2FzZVRhYi5pZC50b0xvd2VyQ2FzZSgpID09PSBsYXN0UGF0aC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH1cbiAgICAgIC8vIGZvdW5kIHRhc2tzIG9yIGhlYXJpbmcgdGFiXG4gICAgICBpZiAoZm91bmRUYWIpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQsIGZvdW5kVGFiLmlkXSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgbWF0VGFiID0gdGhpcy50YWJHcm91cC5fdGFicy5maW5kKCh4KSA9PiB4LnRleHRMYWJlbCA9PT0gZm91bmRUYWIubGFiZWwpO1xuICAgICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IG1hdFRhYi5wb3NpdGlvbjtcbiAgICAgICAgfSk7XG4gICAgICAvLyBsYXN0IHBhdGggaXMgY2FzZUlkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzb3J0IHdpdGggdGhlIG9yZGVyIG9mIENDRCBwcmVkZWZpbmVkIHRhYnNcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscy50YWJzLnNvcnQoKGFUYWIsIGJUYWIpID0+IGFUYWIub3JkZXIgPiBiVGFiLm9yZGVyID8gMSA6IChiVGFiLm9yZGVyID4gYVRhYi5vcmRlciA/IC0xIDogMCkpO1xuICAgICAgICAvLyBwcmVzZWxlY3QgdGhlIDFzdCBvcmRlciBvZiBDQ0QgcHJlZGVmaW5lZCB0YWJzXG4gICAgICAgIGNvbnN0IHByZVNlbGVjdFRhYjogQ2FzZVRhYiA9IHRoaXMuY2FzZURldGFpbHMudGFic1swXTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWRdLCB7ZnJhZ21lbnQ6IHByZVNlbGVjdFRhYi5sYWJlbH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIG1hdFRhYiA9IHRoaXMudGFiR3JvdXAuX3RhYnMuZmluZCgoeCkgPT4geC50ZXh0TGFiZWwgPT09IHByZVNlbGVjdFRhYi5sYWJlbCk7XG4gICAgICAgICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gbWF0VGFiLnBvc2l0aW9uO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuVU5JQ09ERV9TUEFDRSwgJ2cnKTtcbiAgICAgIGhhc2hWYWx1ZSA9IGhhc2hWYWx1ZS5yZXBsYWNlKHJlZ0V4cCwgQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LkVNUFRZX1NQQUNFKTtcbiAgICAgIGlmIChoYXNoVmFsdWUuaW5jbHVkZXMoJ2hlYXJpbmdzJykpIHtcbiAgICAgICAgaGFzaFZhbHVlID0gJ2hlYXJpbmdzJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChoYXNoVmFsdWUuaW5jbHVkZXMoJ3JvbGVzLWFuZC1hY2Nlc3MnKSB8fCBoYXNoVmFsdWUuaW5jbHVkZXMoJ3Rhc2tzJykpIHtcbiAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUuaW5jbHVkZXMoJ3JvbGVzLWFuZC1hY2Nlc3MnKSA/ICdyb2xlcyBhbmQgYWNjZXNzJyA6ICd0YXNrcyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1hdFRhYiA9IHRoaXMudGFiR3JvdXAuX3RhYnMuZmluZCgoeCkgPT5cbiAgICAgICAgeC50ZXh0TGFiZWwucmVwbGFjZShDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuRU1QVFlfU1BBQ0UsICcnKS50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoVmFsdWUucmVwbGFjZShDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuRU1QVFlfU1BBQ0UsICcnKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGlmIChtYXRUYWIgJiYgbWF0VGFiLnBvc2l0aW9uKSB7XG4gICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IG1hdFRhYi5wb3NpdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdGFiQ2hhbmdlZCh0YWJDaGFuZ2VFdmVudDogTWF0VGFiQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBVcGRhdGUgc2VsZWN0ZWQgdGFiIGluZGV4XG4gICAgdGhpcy5zZWxlY3RlZFRhYkluZGV4ID0gdGFiQ2hhbmdlRXZlbnQuaW5kZXg7XG5cbiAgICBjb25zdCB0YWIgPSB0YWJDaGFuZ2VFdmVudC50YWJbJ192aWV3Q29udGFpbmVyUmVmJ10gYXMgVmlld0NvbnRhaW5lclJlZjtcbiAgICBjb25zdCBpZCA9ICh0YWIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pZDtcbiAgICAvLyBkdWUgdG8gc29tZSBlZGdlIGNhc2UgbGlrZSBoaWRkZW4gdGFiIHdlIGNhbid0IGNhbGN1bGF0ZSB0aGUgbGFzdCBpbmRleCBvZiBleGlzdGluZyB0YWJzLFxuICAgIC8vIHNvIGhhdmUgdG8gaGFyZCBjb2RlIHRoZSBoZWFyaW5ncyBpZCBoZXJlXG4gICAgaWYgKCh0YWJDaGFuZ2VFdmVudC5pbmRleCA8PSAxICYmIHRoaXMucHJlcGVuZGVkVGFicyAmJiB0aGlzLnByZXBlbmRlZFRhYnMubGVuZ3RoKSB8fFxuICAgICAgKHRoaXMuYXBwZW5kZWRUYWJzICYmIHRoaXMuYXBwZW5kZWRUYWJzLmxlbmd0aCAmJiBpZCA9PT0gJ2hlYXJpbmdzJykpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpZF0sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGFiQ2hhbmdlRXZlbnQudGFiLnRleHRMYWJlbDtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkXSkudGhlbigoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gbGFiZWw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25MaW5rQ2xpY2tlZCh0cmlnZ2VyT3V0cHV0RXZlbnRUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBHZXQgdGhlICphYnNvbHV0ZSogKG5vdCByZWxhdGl2ZSkgaW5kZXggb2YgdGhlIHRhcmdldCB0YWIgYW5kIHNldCBhcyB0aGUgYWN0aXZlIHRhYiwgdXNpbmcgdGhlIHNlbGVjdGVkSW5kZXggaW5wdXRcbiAgICAvLyBvZiBtYXQtdGFiLWdyb3VwIChib3VuZCB0byBzZWxlY3RlZFRhYkluZGV4KVxuICAgIGNvbnN0IHRhcmdldFRhYkluZGV4ID0gdGhpcy50YWJHcm91cC5fdGFicy50b0FycmF5KCkuZmluZEluZGV4KHRhYiA9PiB0YWIudGV4dExhYmVsID09PSB0cmlnZ2VyT3V0cHV0RXZlbnRUZXh0KTtcbiAgICBpZiAodGFyZ2V0VGFiSW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFRhYkluZGV4ID0gdGFyZ2V0VGFiSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc0FjdGl2ZUNhc2VGbGFncygpOiBib29sZWFuIHtcbiAgICAvLyBEZXRlcm1pbmUgd2hpY2ggdGFiIGNvbnRhaW5zIHRoZSBGbGFnTGF1bmNoZXIgQ2FzZUZpZWxkIHR5cGUsIGZyb20gdGhlIENhc2VWaWV3IG9iamVjdCBpbiB0aGUgc25hcHNob3QgZGF0YVxuICAgIGNvbnN0IGNhc2VGbGFnc1RhYiA9IHRoaXMuY2FzZURldGFpbHMudGFic1xuICAgICAgPyAodGhpcy5jYXNlRGV0YWlscy50YWJzKS5maWx0ZXIoXG4gICAgICAgIHRhYiA9PiB0YWIuZmllbGRzICYmIHRhYi5maWVsZHMuc29tZShjYXNlRmllbGQgPT4gRmllbGRzVXRpbHMuaXNGbGFnTGF1bmNoZXJDYXNlRmllbGQoY2FzZUZpZWxkKSkpWzBdXG4gICAgICA6IG51bGw7XG5cbiAgICBpZiAoY2FzZUZsYWdzVGFiKSB7XG4gICAgICAvLyBHZXQgdGhlIGFjdGl2ZSBjYXNlIGZsYWdzIGNvdW50XG4gICAgICAvLyBDYW5ub3QgZmlsdGVyIG91dCBhbnl0aGluZyBvdGhlciB0aGFuIHRvIHJlbW92ZSB0aGUgRmxhZ0xhdW5jaGVyIENhc2VGaWVsZCBiZWNhdXNlIEZsYWdzIGZpZWxkcyBtYXkgYmVcbiAgICAgIC8vIGNvbnRhaW5lZCBpbiBvdGhlciBDYXNlRmllbGQgaW5zdGFuY2VzLCBlaXRoZXIgYXMgYSBzdWItZmllbGQgb2YgYSBDb21wbGV4IGZpZWxkLCBvciBmaWVsZHMgaW4gYSBjb2xsZWN0aW9uXG4gICAgICAvLyAob3Igc3ViLWZpZWxkcyBvZiBDb21wbGV4IGZpZWxkcyBpbiBhIGNvbGxlY3Rpb24pXG4gICAgICBjb25zdCBhY3RpdmVDYXNlRmxhZ3MgPSBjYXNlRmxhZ3NUYWIuZmllbGRzXG4gICAgICAgIC5maWx0ZXIoY2FzZUZpZWxkID0+ICFGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpICYmIGNhc2VGaWVsZC52YWx1ZSlcbiAgICAgICAgLnJlZHVjZSgoYWN0aXZlLCBjYXNlRmxhZykgPT4ge1xuICAgICAgICAgIHJldHVybiBGaWVsZHNVdGlscy5jb3VudEFjdGl2ZUZsYWdzSW5DYXNlRmllbGQoYWN0aXZlLCBjYXNlRmxhZyk7XG4gICAgICAgIH0sIDApO1xuXG4gICAgICBpZiAoYWN0aXZlQ2FzZUZsYWdzID4gMCkge1xuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGFjdGl2ZUNhc2VGbGFncyA+IDFcbiAgICAgICAgICA/IGBUaGVyZSBhcmUgJHthY3RpdmVDYXNlRmxhZ3N9IGFjdGl2ZSBmbGFncyBvbiB0aGlzIGNhc2UuYCA6ICdUaGVyZSBpcyAxIGFjdGl2ZSBmbGFnIG9uIHRoaXMgY2FzZS4nO1xuICAgICAgICAvLyBJbml0aWFsaXNlIGFuZCBkaXNwbGF5IG5vdGlmaWNhdGlvbiBiYW5uZXJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25CYW5uZXJDb25maWcgPSB7XG4gICAgICAgICAgYmFubmVyVHlwZTogTm90aWZpY2F0aW9uQmFubmVyVHlwZS5JTkZPUk1BVElPTixcbiAgICAgICAgICBoZWFkaW5nVGV4dDogJ0ltcG9ydGFudCcsXG4gICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgc2hvd0xpbms6IHRydWUsXG4gICAgICAgICAgbGlua1RleHQ6ICdWaWV3IGNhc2UgZmxhZ3MnLFxuICAgICAgICAgIHRyaWdnZXJPdXRwdXRFdmVudDogdHJ1ZSxcbiAgICAgICAgICB0cmlnZ2VyT3V0cHV0RXZlbnRUZXh0OiBjYXNlRmxhZ3NUYWIubGFiZWwsXG4gICAgICAgICAgaGVhZGVyQ2xhc3M6IE5vdGlmaWNhdGlvbkJhbm5lckhlYWRlckNsYXNzLklORk9STUFUSU9OXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IGEgQ2FzZUZpZWxkIGlzIHRvIGJlIGRpc3BsYXllZCB3aXRob3V0IGEgbGFiZWwsIGFzIGlzIGV4cGVjdGVkIGZvciBhbGwgQ29tcG9uZW50TGF1bmNoZXItdHlwZVxuICAgKiBmaWVsZHMuXG4gICAqIEBwYXJhbSBjYXNlRmllbGQgVGhlIGBDYXNlRmllbGRgIGluc3RhbmNlIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBzaG91bGQgbm90IGhhdmUgYSBsYWJlbDsgYGZhbHNlYCBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyBpc0ZpZWxkVG9IYXZlTm9MYWJlbChjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcG9uZW50TGF1bmNoZXInXG4gICAgICAmJiBjYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciA9PT0gJyNBUkdVTUVOVChDYXNlRmlsZVZpZXcpJztcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcbiAgICAvLyBDbG9uZSBhbmQgc29ydCB0YWJzIGFycmF5XG4gICAgdGhpcy5zb3J0ZWRUYWJzID0gdGhpcy5vcmRlclNlcnZpY2Uuc29ydCh0aGlzLmNhc2VEZXRhaWxzLnRhYnMpO1xuICAgIHRoaXMuY2FzZUZpZWxkcyA9IHRoaXMuZ2V0VGFiRmllbGRzKCk7XG4gICAgdGhpcy5zb3J0ZWRUYWJzID0gdGhpcy5zb3J0VGFiRmllbGRzQW5kRmlsdGVyVGFicyh0aGlzLnNvcnRlZFRhYnMpO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5idWlsZEZvcm1Hcm91cCh0aGlzLmNhc2VGaWVsZHMpO1xuXG4gICAgaWYgKHRoaXMuY2FzZURldGFpbHMudHJpZ2dlcnMgJiYgdGhpcy5lcnJvcikge1xuICAgICAgdGhpcy5yZXNldEVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydFRhYkZpZWxkc0FuZEZpbHRlclRhYnModGFiczogQ2FzZVRhYltdKTogQ2FzZVRhYltdIHtcbiAgICByZXR1cm4gdGFic1xuICAgICAgLm1hcCh0YWIgPT4gT2JqZWN0LmFzc2lnbih7fSwgdGFiLCB7ZmllbGRzOiB0aGlzLm9yZGVyU2VydmljZS5zb3J0KHRhYi5maWVsZHMpfSkpXG4gICAgICAuZmlsdGVyKHRhYiA9PiBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKHRhYi5zaG93X2NvbmRpdGlvbikubWF0Y2hCeUNvbnRleHRGaWVsZHModGhpcy5jYXNlRmllbGRzKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYkZpZWxkcygpOiBDYXNlRmllbGRbXSB7XG4gICAgY29uc3QgY2FzZURhdGFGaWVsZHMgPSB0aGlzLnNvcnRlZFRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgcmV0dXJuIGFjYy5jb25jYXQocGxhaW5Ub0NsYXNzKENhc2VGaWVsZCwgdGFiLmZpZWxkcykpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBjYXNlRGF0YUZpZWxkcy5jb25jYXQodGhpcy5jYXNlRGV0YWlscy5tZXRhZGF0YUZpZWxkcyk7XG4gIH1cblxuICAvKipcbiAgICogRm9yIEVVSS0zODI1OlxuICAgKiBCdWlsZHMgYSBGb3JtR3JvdXAgZnJvbSBhbGwgdGhlIENhc2VGaWVsZHMgY29udGFpbmVkIHdpdGhpbiB0aGUgdmlldy5cbiAgICogVGhpcyBGb3JtR3JvdXAgaXMgbmVjZXNzYXJ5IGZvciBldmFsdWF0aW9uIHRoZSBzaG93L2hpZGUgY29uZGl0aW9ucyBvZlxuICAgKiBmaWVsZHMgdGhhdCBhcmUgZGVwZW5kZW50IG9uIGEgZmllbGQgb25seSBhdmFpbGFibGUgb24gYSBESUZGRVJFTlQgdGFiLlxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEZvcm1Hcm91cChjYXNlRmllbGRzOiBDYXNlRmllbGRbXSk6IEZvcm1Hcm91cCB7XG4gICAgbGV0IHZhbHVlOiBvYmplY3QgPSB7fTtcbiAgICBpZiAoY2FzZUZpZWxkcykge1xuICAgICAgY2FzZUZpZWxkcy5mb3JFYWNoKGNhc2VGaWVsZCA9PiB7XG4gICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgIFtjYXNlRmllbGQuaWRdOiBjYXNlRmllbGQudmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7ZGF0YTogbmV3IEZvcm1Db250cm9sKHZhbHVlKX0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEVycm9ycygpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdC5uZXh0KG51bGwpO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxufVxuIiwiPCEtLSBHZW5lcmljIGVycm9yIGhlYWRpbmcgYW5kIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIG9ubHkgaWYgdGhlcmUgYXJlIG5vIHNwZWNpZmljIGNhbGxiYWNrIGVycm9ycyBvciB3YXJuaW5ncywgb3Igbm8gZXJyb3IgZGV0YWlscyAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvciAmJiAhKGVycm9yLmNhbGxiYWNrRXJyb3JzIHx8IGVycm9yLmNhbGxiYWNrV2FybmluZ3MgfHwgZXJyb3IuZGV0YWlscylcIiBjbGFzcz1cImVycm9yLXN1bW1hcnlcIlxuICAgICAgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgPGgxIGNsYXNzPVwiaGVhZGluZy1oMSBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIj5cbiAgICBTb21ldGhpbmcgd2VudCB3cm9uZ1xuICA8L2gxPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiIGlkPVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktYm9keVwiPlxuICAgIDxwPldlJ3JlIHdvcmtpbmcgdG8gZml4IHRoZSBwcm9ibGVtLiBUcnkgYWdhaW4gc2hvcnRseS48L3A+XG4gICAgPHA+PGEgaHJlZj1cImdldC1oZWxwXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q29udGFjdCB1czwvYT4gaWYgeW91J3JlIHN0aWxsIGhhdmluZyBwcm9ibGVtcy48L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIENhbGxiYWNrIGVycm9yIGhlYWRpbmcgYW5kIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIGlmIHRoZXJlIGFyZSBzcGVjaWZpYyBlcnJvciBkZXRhaWxzIC0tPlxuPGRpdiAqbmdJZj1cImVycm9yICYmIGVycm9yLmRldGFpbHNcIiBjbGFzcz1cImVycm9yLXN1bW1hcnlcIiByb2xlPVwiZ3JvdXBcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMiBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIj5cbiAgICBUaGUgY2FsbGJhY2sgZGF0YSBmYWlsZWQgdmFsaWRhdGlvblxuICA8L2gyPlxuICA8cD57e2Vycm9yLm1lc3NhZ2V9fTwvcD5cbiAgPHVsICpuZ0lmPVwiZXJyb3IuZGV0YWlscz8uZmllbGRfZXJyb3JzXCIgY2xhc3M9XCJlcnJvci1zdW1tYXJ5LWxpc3RcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGZpZWxkRXJyb3Igb2YgZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnNcIj5cbiAgICAgIHt7ZmllbGRFcnJvci5tZXNzYWdlfX1cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG48Y2NkLWNhbGxiYWNrLWVycm9yc1xuICBbdHJpZ2dlclRleHRDb250aW51ZV09XCJ0cmlnZ2VyVGV4dFN0YXJ0XCJcbiAgW3RyaWdnZXJUZXh0SWdub3JlXT1cInRyaWdnZXJUZXh0SWdub3JlV2FybmluZ3NcIlxuICBbY2FsbGJhY2tFcnJvcnNTdWJqZWN0XT1cImNhbGxiYWNrRXJyb3JzU3ViamVjdFwiXG4gIChjYWxsYmFja0Vycm9yc0NvbnRleHQpPVwiY2FsbGJhY2tFcnJvcnNOb3RpZnkoJGV2ZW50KVwiPlxuPC9jY2QtY2FsbGJhY2stZXJyb3JzPlxuPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiQkFOTkVSXCI+PC9jY2QtYWN0aXZpdHk+XG48ZGl2IGNsYXNzPVwiZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbi1vbmUtaGFsZlwiPlxuICAgIDxjY2QtY2FzZS1oZWFkZXIgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCI+PC9jY2QtY2FzZS1oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImNhc2Utdmlld2VyLWNvbnRyb2xzXCIgKm5nSWY9XCJoYXNQcmludCAmJiAhaXNEcmFmdCgpICYmIGlzUHJpbnRFbmFibGVkKClcIj5cbiAgICAgIDxhIGlkPVwiY2FzZS12aWV3ZXItY29udHJvbC1wcmludFwiIHJvdXRlckxpbms9XCJwcmludFwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIj5QcmludDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJoYXNFdmVudFNlbGVjdG9yXCIgY2xhc3M9XCJjb2x1bW4tb25lLWhhbGZcIj5cbiAgICA8Y2NkLWV2ZW50LXRyaWdnZXIgW2lzRGlzYWJsZWRdPVwiaXNUcmlnZ2VyQnV0dG9uRGlzYWJsZWQoKVwiIFt0cmlnZ2Vyc109XCJjYXNlRGV0YWlscy50cmlnZ2Vyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHJpZ2dlclRleHRdPVwidHJpZ2dlclRleHRcIiAob25UcmlnZ2VyQ2hhbmdlKT1cImNsZWFyRXJyb3JzQW5kV2FybmluZ3MoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25UcmlnZ2VyU3VibWl0KT1cImFwcGx5VHJpZ2dlcigkZXZlbnQpXCI+PC9jY2QtZXZlbnQtdHJpZ2dlcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJncmlkLXJvd1wiICpuZ0lmPVwiYWN0aXZlQ2FzZUZsYWdzXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tZnVsbFwiPlxuICAgIDxjY2Qtbm90aWZpY2F0aW9uLWJhbm5lciBbbm90aWZpY2F0aW9uQmFubmVyQ29uZmlnXT1cIm5vdGlmaWNhdGlvbkJhbm5lckNvbmZpZ1wiIChsaW5rQ2xpY2tlZCk9XCJvbkxpbmtDbGlja2VkKCRldmVudClcIj5cbiAgICA8L2NjZC1ub3RpZmljYXRpb24tYmFubmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImdyaWQtcm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tZnVsbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNUYWJzUHJlc2VudCgpXCI+XG4gICAgICA8bWF0LXRhYi1ncm91cCAjdGFiR3JvdXAgYW5pbWF0aW9uRHVyYXRpb249XCIwbXNcIiAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwidGFiQ2hhbmdlZCgkZXZlbnQpXCIgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIj5cbiAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBwcmVwZW5kZWRUYWJzXCIgW2lkXT1cInRhYi5pZFwiIFtsYWJlbF09XCJ0YWIubGFiZWxcIj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHNvcnRlZFRhYnM7IGxldCBjdXJJZHg9aW5kZXhcIiBbaWRdPVwidGFiLmlkXCIgW2xhYmVsXT1cInRhYi5sYWJlbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgPHRhYmxlIFtjbGFzc109XCJ0YWIuaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY2FzZSB2aWV3ZXIgdGFibGVcIj5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiB0YWIgfCBjY2RUYWJGaWVsZHMgfCBjY2RSZWFkRmllbGRzRmlsdGVyOmZhbHNlIDp1bmRlZmluZWQgOnRydWUgOiBmb3JtR3JvdXAuY29udHJvbHNbJ2RhdGEnXVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCIhKGZpZWxkIHwgY2NkSXNDb21wb3VuZClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIGlkPVwiY2FzZS12aWV3ZXItZmllbGQtbGFiZWxcIiAqbmdJZj1cIiFpc0ZpZWxkVG9IYXZlTm9MYWJlbChmaWVsZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNlLXZpZXdlci1sYWJlbCB0ZXh0LTE2XCI+e3tmaWVsZC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgW2lkXT1cIidjYXNlLXZpZXdlci1maWVsZC1yZWFkLS0nICsgZmllbGQuaWRcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwiZm9ybUdyb3VwLmNvbnRyb2xzWydkYXRhJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Nhc2VSZWZlcmVuY2VdPVwiY2FzZURldGFpbHMuY2FzZV9pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXJrZG93blVzZUhyZWZBc1JvdXRlckxpbmtdPVwibWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIGNsYXNzPVwiY29tcG91bmQtZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGggW2lkXT1cIidjYXNlLXZpZXdlci1maWVsZC1yZWFkLS0nICsgZmllbGQuaWRcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwiZm9ybUdyb3VwLmNvbnRyb2xzWydkYXRhJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Nhc2VSZWZlcmVuY2VdPVwiY2FzZURldGFpbHMuY2FzZV9pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXJrZG93blVzZUhyZWZBc1JvdXRlckxpbmtdPVwibWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIGFwcGVuZGVkVGFic1wiIFtpZF09XCJ0YWIuaWRcIiBbbGFiZWxdPVwidGFiLmxhYmVsXCI+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgIDxyb3V0ZXItb3V0bGV0ICpuZ0lmPVwiKHByZXBlbmRlZFRhYnMgJiYgcHJlcGVuZGVkVGFicy5sZW5ndGgpIHx8IChhcHBlbmRlZFRhYnMgJiYgYXBwZW5kZWRUYWJzLmxlbmd0aClcIj48L3JvdXRlci1vdXRsZXQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
643
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcvY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcvY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQ25DLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQVUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFFTCw2QkFBNkIsRUFDN0Isc0JB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LCtCQUF5QjtRQUN2QixpR0E4Q2U7UUFDakIsaUJBQU07UUFDUixpQkFBTTs7UUFuR0Esa0hBQWlGO1FBV2pGLGVBQTRCO1FBQTVCLHFEQUE0QjtRQWFoQyxlQUF3QztRQUF4QywwREFBd0Msb0RBQUEsb0RBQUE7UUFLNUIsZUFBOEI7UUFBOUIsZ0RBQThCLDJCQUFBO1FBR3ZCLGVBQTJCO1FBQTNCLDZDQUEyQjtRQUNULGVBQWdEO1FBQWhELDZFQUFnRDtRQUkvRSxlQUFzQjtRQUF0QiwyQ0FBc0I7UUFNUCxlQUFxQjtRQUFyQiwwQ0FBcUI7UUFRekIsZUFBc0I7UUFBdEIsMkNBQXNCOzt1RkRiNUIsMkJBQTJCO2NBTHZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQzthQUN0RDt3Y0FRaUIsUUFBUTtrQkFBdkIsS0FBSztZQUNVLGdCQUFnQjtrQkFBL0IsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVSxhQUFhO2tCQUE1QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQXVCMkMsUUFBUTtrQkFBeEQsU0FBUzttQkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0VGFiQ2hhbmdlRXZlbnQsIE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtcbiAgTm90aWZpY2F0aW9uQmFubmVyQ29uZmlnLFxuICBOb3RpZmljYXRpb25CYW5uZXJIZWFkZXJDbGFzcyxcbiAgTm90aWZpY2F0aW9uQmFubmVyVHlwZVxufSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Jhbm5lcnMvbm90aWZpY2F0aW9uLWJhbm5lcic7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eSwgQ2FzZUZpZWxkLCBDYXNlVGFiLCBDYXNlVmlldywgQ2FzZVZpZXdUcmlnZ2VyLCBEaXNwbGF5TW9kZSwgRHJhZnQsIERSQUZUX1FVRVJZX1BBUkFNIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEFjdGl2aXR5UG9sbGluZ1NlcnZpY2UsXG4gIEFsZXJ0U2VydmljZSxcbiAgRHJhZnRTZXJ2aWNlLFxuICBFcnJvck5vdGlmaWVyU2VydmljZSxcbiAgRmllbGRzVXRpbHMsXG4gIE5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UsXG4gIE5hdmlnYXRpb25PcmlnaW4sXG4gIE9yZGVyU2VydmljZSxcbiAgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG59IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbnZlcnRIcmVmVG9Sb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY29udmVydC1ocmVmLXRvLXJvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERlbGV0ZU9yQ2FuY2VsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncyc7XG5pbXBvcnQgeyBDYWxsYmFja0Vycm9yc0NvbnRleHQgfSBmcm9tICcuLi8uLi9lcnJvcic7XG5pbXBvcnQgeyBpbml0RGlhbG9nIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZ1bGwtYWNjZXNzLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT1JJR0lOX1FVRVJZX1BBUkFNID0gJ29yaWdpbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFJJR0dFUl9URVhUX1NUQVJUID0gJ0dvJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUUklHR0VSX1RFWFRfQ09OVElOVUUgPSAnSWdub3JlIFdhcm5pbmcgYW5kIEdvJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVTklDT0RFX1NQQUNFID0gJyUyMCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU1QVFlfU1BBQ0UgPSAnICc7XG5cbiAgQElucHV0KCkgcHVibGljIGhhc1ByaW50ID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGhhc0V2ZW50U2VsZWN0b3IgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBASW5wdXQoKSBwdWJsaWMgcHJlcGVuZGVkVGFiczogQ2FzZVRhYltdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlbmRlZFRhYnM6IENhc2VUYWJbXSA9IFtdO1xuXG4gIHB1YmxpYyBCQU5ORVIgPSBEaXNwbGF5TW9kZS5CQU5ORVI7XG4gIHB1YmxpYyBzb3J0ZWRUYWJzOiBDYXNlVGFiW107XG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXTtcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgZXJyb3I6IGFueTtcbiAgcHVibGljIHRyaWdnZXJUZXh0U3RhcnQgPSBDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuVFJJR0dFUl9URVhUX1NUQVJUO1xuICBwdWJsaWMgdHJpZ2dlclRleHRJZ25vcmVXYXJuaW5ncyA9IENhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5UUklHR0VSX1RFWFRfQ09OVElOVUU7XG4gIHB1YmxpYyB0cmlnZ2VyVGV4dDogc3RyaW5nID0gQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LlRSSUdHRVJfVEVYVF9TVEFSVDtcbiAgcHVibGljIGlnbm9yZVdhcm5pbmcgPSBmYWxzZTtcbiAgcHVibGljIGFjdGl2aXR5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBlcnJvclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWc7XG4gIHB1YmxpYyBtYXJrZG93blVzZUhyZWZBc1JvdXRlckxpbms6IGJvb2xlYW47XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIG5vdGlmaWNhdGlvbkJhbm5lckNvbmZpZzogTm90aWZpY2F0aW9uQmFubmVyQ29uZmlnO1xuICBwdWJsaWMgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XG4gIHB1YmxpYyBhY3RpdmVDYXNlRmxhZ3MgPSBmYWxzZTtcblxuICBwdWJsaWMgY2FsbGJhY2tFcnJvcnNTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICBAVmlld0NoaWxkKCd0YWJHcm91cCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2U6IE5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5UG9sbGluZ1NlcnZpY2U6IEFjdGl2aXR5UG9sbGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJhZnRTZXJ2aWNlOiBEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvck5vdGlmaWVyU2VydmljZTogRXJyb3JOb3RpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb252ZXJ0SHJlZlRvUm91dGVyU2VydmljZTogQ29udmVydEhyZWZUb1JvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaW5pdERpYWxvZygpO1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0LnN1YnNjcmliZShlcnJvckV2ZW50ID0+IHtcbiAgICAgIHRoaXMuZXJyb3IgPSBlcnJvckV2ZW50O1xuICAgIH0pO1xuICAgIHRoaXMuZXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLmVycm9yTm90aWZpZXJTZXJ2aWNlLmVycm9yLnN1YnNjcmliZShlcnJvciA9PiB7XG4gICAgICBpZiAoZXJyb3IgJiYgZXJyb3Iuc3RhdHVzICE9PSA0MDEgJiYgZXJyb3Iuc3RhdHVzICE9PSA0MDMpIHtcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yO1xuICAgICAgICB0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdC5uZXh0KHRoaXMuZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rID0gdHJ1ZTtcblxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY29udmVydEhyZWZUb1JvdXRlclNlcnZpY2UuZ2V0SHJlZk1hcmtkb3duTGlua0NvbnRlbnQoKS5zdWJzY3JpYmUoKGhyZWZNYXJrZG93bkxpbmtDb250ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIGRvIG5vdCBjb252ZXJ0IHJvdXRlciB3aXRoIGluaXRpYWwgZGVmYXVsdCB2YWx1ZTsgY29udmVydCB0byByb3V0ZXIgb25seSBvbiB1cGRhdGVkIGxpbmsgY29udGVudFxuICAgICAgaWYgKGhyZWZNYXJrZG93bkxpbmtDb250ZW50ICE9PSAnRGVmYXVsdCcpIHtcbiAgICAgICAgdGhpcy5jb252ZXJ0SHJlZlRvUm91dGVyU2VydmljZS5jYWxsQW5ndWxhclJvdXRlcihocmVmTWFya2Rvd25MaW5rQ29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCAmJiAhdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uID0gdGhpcy5wb3N0Vmlld0FjdGl2aXR5KCkuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrUm91dGVBbmRTZXRDYXNlVmlld1RhYiAoKTtcblxuICAgIC8vIENoZWNrIGZvciBhY3RpdmUgQ2FzZSBGbGFnc1xuICAgIHRoaXMuYWN0aXZlQ2FzZUZsYWdzID0gdGhpcy5oYXNBY3RpdmVDYXNlRmxhZ3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcy5wcmVwZW5kZWRUYWJzICYmICFjaGFuZ2VzLnByZXBlbmRlZFRhYnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgdGhpcy5jcmYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5vcmdhbmlzZVRhYlBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzUHJpbnRFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5wcmludEVuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUodGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbik7XG4gICAgfVxuICAgIGlmICghdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUodGhpcy5jYXNlU3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gICAgdGhpcy51bnN1YnNjcmliZSh0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSh0aGlzLmVycm9yU3Vic2NyaXB0aW9uKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKHRoaXMuc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyB1bnN1YnNjcmliZShzdWJzY3JpcHRpb246IGFueSkge1xuICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tSb3V0ZUFuZFNldENhc2VWaWV3VGFiKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGV2ZW50ICYmIChldmVudCBhcyBhbnkpLnVybDtcbiAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgIGNvbnN0IHRhYlVybCA9IHVybCA/IHVybC5zcGxpdCgnIycpIDogbnVsbCA7XG4gICAgICAgICAgY29uc3QgdGFiID0gdGFiVXJsICYmIHRhYlVybC5sZW5ndGggPiAxID8gdGFiVXJsW3RhYlVybC5sZW5ndGggLSAxXS5yZXBsYWNlQWxsKCclMjAnLCAnICcpIDogJyc7XG4gICAgICAgICAgY29uc3QgbWF0VGFiID0gdGhpcy50YWJHcm91cC5fdGFicy5maW5kKCAoeCkgPT4geC50ZXh0TGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gdGFiLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIGlmIChtYXRUYWIgJiYgbWF0VGFiLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBtYXRUYWIucG9zaXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwb3N0Vmlld0FjdGl2aXR5KCk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UucG9zdFZpZXdBY3Rpdml0eSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRXJyb3JzQW5kV2FybmluZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldEVycm9ycygpO1xuICAgIHRoaXMuaWdub3JlV2FybmluZyA9IGZhbHNlO1xuICAgIHRoaXMudHJpZ2dlclRleHQgPSBDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuVFJJR0dFUl9URVhUX1NUQVJUO1xuICB9XG5cbiAgcHVibGljIGFwcGx5VHJpZ2dlcih0cmlnZ2VyOiBDYXNlVmlld1RyaWdnZXIpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yID0gbnVsbDtcblxuICAgIGNvbnN0IHRoZVF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7fTtcblxuICAgIGlmICh0aGlzLmlnbm9yZVdhcm5pbmcpIHtcbiAgICAgIHRoZVF1ZXJ5UGFyYW1zWydpZ25vcmVXYXJuaW5nJ10gPSB0aGlzLmlnbm9yZVdhcm5pbmc7XG4gICAgfVxuXG4gICAgLy8gd2UgbWF5IG5lZWQgdG8gdGFrZSBjYXJlIG9mIGRpZmZlcmVudCB0cmlnZ2VycyBpbiB0aGUgZnV0dXJlXG4gICAgaWYgKHRyaWdnZXIuaWQgPT09IENhc2VWaWV3VHJpZ2dlci5ERUxFVEUpIHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGVsZXRlT3JDYW5jZWxEaWFsb2dDb21wb25lbnQsIHRoaXMuZGlhbG9nQ29uZmlnKTtcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICBpZiAocmVzdWx0ID09PSAnRGVsZXRlJykge1xuICAgICAgICAgIHRoaXMuZHJhZnRTZXJ2aWNlLmRlbGV0ZURyYWZ0KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZS5hbm5vdW5jZU5hdmlnYXRpb24oe2FjdGlvbjogTmF2aWdhdGlvbk9yaWdpbi5EUkFGVF9ERUxFVEVEfSk7XG4gICAgICAgICAgICB9LCBfID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLmFubm91bmNlTmF2aWdhdGlvbih7YWN0aW9uOiBOYXZpZ2F0aW9uT3JpZ2luLkVSUk9SX0RFTEVUSU5HX0RSQUZUfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzRHJhZnQoKSAmJiB0cmlnZ2VyLmlkICE9PSBDYXNlVmlld1RyaWdnZXIuREVMRVRFKSB7XG4gICAgICB0aGVRdWVyeVBhcmFtc1tEUkFGVF9RVUVSWV9QQVJBTV0gPSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgICB0aGVRdWVyeVBhcmFtc1tDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuT1JJR0lOX1FVRVJZX1BBUkFNXSA9ICd2aWV3RHJhZnQnO1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLmFubm91bmNlTmF2aWdhdGlvbihcbiAgICAgICAge1xuICAgICAgICAgIGFjdGlvbjogTmF2aWdhdGlvbk9yaWdpbi5EUkFGVF9SRVNVTUVELFxuICAgICAgICAgIGppZDogdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkLFxuICAgICAgICAgIGN0aWQ6IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLFxuICAgICAgICAgIGV0aWQ6IHRyaWdnZXIuaWQsXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHRoZVF1ZXJ5UGFyYW1zXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UuYW5ub3VuY2VOYXZpZ2F0aW9uKFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aW9uOiBOYXZpZ2F0aW9uT3JpZ2luLkVWRU5UX1RSSUdHRVJFRCxcbiAgICAgICAgICBxdWVyeVBhcmFtczogdGhlUXVlcnlQYXJhbXMsXG4gICAgICAgICAgZXRpZDogdHJpZ2dlci5pZCxcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNUYWJzUHJlc2VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0ZWRUYWJzLmxlbmd0aCA+IDAgfHwgdGhpcy5wcmVwZW5kZWRUYWJzLmxlbmd0aCA+IDAgfHwgdGhpcy5hcHBlbmRlZFRhYnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBjYWxsYmFja0Vycm9yc05vdGlmeShjYWxsYmFja0Vycm9yc0NvbnRleHQ6IENhbGxiYWNrRXJyb3JzQ29udGV4dCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlV2FybmluZyA9IGNhbGxiYWNrRXJyb3JzQ29udGV4dC5pZ25vcmVfd2FybmluZztcbiAgICB0aGlzLnRyaWdnZXJUZXh0ID0gY2FsbGJhY2tFcnJvcnNDb250ZXh0LnRyaWdnZXJfdGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBpc0RyYWZ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBEcmFmdC5pc0RyYWZ0KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCk7XG4gIH1cblxuICBwdWJsaWMgaXNUcmlnZ2VyQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmVycm9yXG4gICAgICAmJiB0aGlzLmVycm9yLmNhbGxiYWNrRXJyb3JzXG4gICAgICAmJiB0aGlzLmVycm9yLmNhbGxiYWNrRXJyb3JzLmxlbmd0aClcbiAgICAgIHx8ICh0aGlzLmVycm9yXG4gICAgICAgICYmIHRoaXMuZXJyb3IuZGV0YWlsc1xuICAgICAgICAmJiB0aGlzLmVycm9yLmRldGFpbHMuZmllbGRfZXJyb3JzXG4gICAgICAgICYmIHRoaXMuZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnMubGVuZ3RoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcmdhbmlzZVRhYlBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGxldCBtYXRUYWI7XG4gICAgY29uc3QgdXJsID0gdGhpcy5sb2NhdGlvbi5wYXRoKHRydWUpO1xuICAgIGxldCBoYXNoVmFsdWUgPSB1cmwuc3Vic3RyaW5nKHVybC5pbmRleE9mKCcjJykgKyAxKTtcbiAgICBpZiAoIXVybC5pbmNsdWRlcygnIycpICYmICF1cmwuaW5jbHVkZXMoJ3JvbGVzLWFuZC1hY2Nlc3MnKSAmJiAhdXJsLmluY2x1ZGVzKCd0YXNrcycpICYmICF1cmwuaW5jbHVkZXMoJ2hlYXJpbmdzJykpIHtcbiAgICAgIGNvbnN0IHBhdGhzID0gdXJsLnNwbGl0KCcvJyk7XG4gICAgICAvLyBsYXN0UGF0aCBjYW4gYmUgL2Nhc2VJZCwgb3IgdGhlIHRhYnMgL3Rhc2tzLCAvaGVhcmluZ3MgZXRjLlxuICAgICAgY29uc3QgbGFzdFBhdGggPSBkZWNvZGVVUklDb21wb25lbnQocGF0aHNbcGF0aHMubGVuZ3RoIC0gMV0pO1xuICAgICAgbGV0IGZvdW5kVGFiOiBDYXNlVGFiID0gbnVsbDtcbiAgICAgIGlmICghdGhpcy5wcmVwZW5kZWRUYWJzKSB7XG4gICAgICAgIHRoaXMucHJlcGVuZGVkVGFicyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgYWRkaXRpb25hbFRhYnMgPSBbLi4udGhpcy5wcmVwZW5kZWRUYWJzLCAuLi50aGlzLmFwcGVuZGVkVGFic107XG4gICAgICBpZiAoYWRkaXRpb25hbFRhYnMgJiYgYWRkaXRpb25hbFRhYnMubGVuZ3RoKSB7XG4gICAgICAgIGZvdW5kVGFiID0gIGFkZGl0aW9uYWxUYWJzLmZpbmQoKGNhc2VUYWI6IENhc2VUYWIpID0+IGNhc2VUYWIuaWQudG9Mb3dlckNhc2UoKSA9PT0gbGFzdFBhdGgudG9Mb3dlckNhc2UoKSk7XG4gICAgICB9XG4gICAgICAvLyBmb3VuZCB0YXNrcyBvciBoZWFyaW5nIHRhYlxuICAgICAgaWYgKGZvdW5kVGFiKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkLCBmb3VuZFRhYi5pZF0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIG1hdFRhYiA9IHRoaXMudGFiR3JvdXAuX3RhYnMuZmluZCgoeCkgPT4geC50ZXh0TGFiZWwgPT09IGZvdW5kVGFiLmxhYmVsKTtcbiAgICAgICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBtYXRUYWIucG9zaXRpb247XG4gICAgICAgIH0pO1xuICAgICAgLy8gbGFzdCBwYXRoIGlzIGNhc2VJZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc29ydCB3aXRoIHRoZSBvcmRlciBvZiBDQ0QgcHJlZGVmaW5lZCB0YWJzXG4gICAgICAgIHRoaXMuY2FzZURldGFpbHMudGFicy5zb3J0KChhVGFiLCBiVGFiKSA9PiBhVGFiLm9yZGVyID4gYlRhYi5vcmRlciA/IDEgOiAoYlRhYi5vcmRlciA+IGFUYWIub3JkZXIgPyAtMSA6IDApKTtcbiAgICAgICAgLy8gcHJlc2VsZWN0IHRoZSAxc3Qgb3JkZXIgb2YgQ0NEIHByZWRlZmluZWQgdGFic1xuICAgICAgICBjb25zdCBwcmVTZWxlY3RUYWI6IENhc2VUYWIgPSB0aGlzLmNhc2VEZXRhaWxzLnRhYnNbMF07XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkXSwge2ZyYWdtZW50OiBwcmVTZWxlY3RUYWIubGFiZWx9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICBtYXRUYWIgPSB0aGlzLnRhYkdyb3VwLl90YWJzLmZpbmQoKHgpID0+IHgudGV4dExhYmVsID09PSBwcmVTZWxlY3RUYWIubGFiZWwpO1xuICAgICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IG1hdFRhYi5wb3NpdGlvbjtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LlVOSUNPREVfU1BBQ0UsICdnJyk7XG4gICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZShyZWdFeHAsIENhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5FTVBUWV9TUEFDRSk7XG4gICAgICBpZiAoaGFzaFZhbHVlLmluY2x1ZGVzKCdoZWFyaW5ncycpKSB7XG4gICAgICAgIGhhc2hWYWx1ZSA9ICdoZWFyaW5ncyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaGFzaFZhbHVlLmluY2x1ZGVzKCdyb2xlcy1hbmQtYWNjZXNzJykgfHwgaGFzaFZhbHVlLmluY2x1ZGVzKCd0YXNrcycpKSB7XG4gICAgICAgICAgaGFzaFZhbHVlID0gaGFzaFZhbHVlLmluY2x1ZGVzKCdyb2xlcy1hbmQtYWNjZXNzJykgPyAncm9sZXMgYW5kIGFjY2VzcycgOiAndGFza3MnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtYXRUYWIgPSB0aGlzLnRhYkdyb3VwLl90YWJzLmZpbmQoKHgpID0+XG4gICAgICAgIHgudGV4dExhYmVsLnJlcGxhY2UoQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LkVNUFRZX1NQQUNFLCAnJykudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaFZhbHVlLnJlcGxhY2UoQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LkVNUFRZX1NQQUNFLCAnJykudG9Mb3dlckNhc2UoKSk7XG4gICAgICBpZiAobWF0VGFiICYmIG1hdFRhYi5wb3NpdGlvbikge1xuICAgICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBtYXRUYWIucG9zaXRpb247XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRhYkNoYW5nZWQodGFiQ2hhbmdlRXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgLy8gVXBkYXRlIHNlbGVjdGVkIHRhYiBpbmRleFxuICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9IHRhYkNoYW5nZUV2ZW50LmluZGV4O1xuXG4gICAgY29uc3QgdGFiID0gdGFiQ2hhbmdlRXZlbnQudGFiWydfdmlld0NvbnRhaW5lclJlZiddIGFzIFZpZXdDb250YWluZXJSZWY7XG4gICAgY29uc3QgaWQgPSAodGFiLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuaWQ7XG4gICAgLy8gZHVlIHRvIHNvbWUgZWRnZSBjYXNlIGxpa2UgaGlkZGVuIHRhYiB3ZSBjYW4ndCBjYWxjdWxhdGUgdGhlIGxhc3QgaW5kZXggb2YgZXhpc3RpbmcgdGFicyxcbiAgICAvLyBzbyBoYXZlIHRvIGhhcmQgY29kZSB0aGUgaGVhcmluZ3MgaWQgaGVyZVxuICAgIGlmICgodGFiQ2hhbmdlRXZlbnQuaW5kZXggPD0gMSAmJiB0aGlzLnByZXBlbmRlZFRhYnMgJiYgdGhpcy5wcmVwZW5kZWRUYWJzLmxlbmd0aCkgfHxcbiAgICAgICh0aGlzLmFwcGVuZGVkVGFicyAmJiB0aGlzLmFwcGVuZGVkVGFicy5sZW5ndGggJiYgaWQgPT09ICdoZWFyaW5ncycpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaWRdLCB7cmVsYXRpdmVUbzogdGhpcy5yb3V0ZX0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsYWJlbCA9IHRhYkNoYW5nZUV2ZW50LnRhYi50ZXh0TGFiZWw7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2Nhc2VzJywgJ2Nhc2UtZGV0YWlscycsIHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZF0pLnRoZW4oKCkgPT4ge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9IGxhYmVsO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTGlua0NsaWNrZWQodHJpZ2dlck91dHB1dEV2ZW50VGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gR2V0IHRoZSAqYWJzb2x1dGUqIChub3QgcmVsYXRpdmUpIGluZGV4IG9mIHRoZSB0YXJnZXQgdGFiIGFuZCBzZXQgYXMgdGhlIGFjdGl2ZSB0YWIsIHVzaW5nIHRoZSBzZWxlY3RlZEluZGV4IGlucHV0XG4gICAgLy8gb2YgbWF0LXRhYi1ncm91cCAoYm91bmQgdG8gc2VsZWN0ZWRUYWJJbmRleClcbiAgICBjb25zdCB0YXJnZXRUYWJJbmRleCA9IHRoaXMudGFiR3JvdXAuX3RhYnMudG9BcnJheSgpLmZpbmRJbmRleCh0YWIgPT4gdGFiLnRleHRMYWJlbCA9PT0gdHJpZ2dlck91dHB1dEV2ZW50VGV4dCk7XG4gICAgaWYgKHRhcmdldFRhYkluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9IHRhcmdldFRhYkluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNBY3RpdmVDYXNlRmxhZ3MoKTogYm9vbGVhbiB7XG4gICAgLy8gRGV0ZXJtaW5lIHdoaWNoIHRhYiBjb250YWlucyB0aGUgRmxhZ0xhdW5jaGVyIENhc2VGaWVsZCB0eXBlLCBmcm9tIHRoZSBDYXNlVmlldyBvYmplY3QgaW4gdGhlIHNuYXBzaG90IGRhdGFcbiAgICBjb25zdCBjYXNlRmxhZ3NUYWIgPSB0aGlzLmNhc2VEZXRhaWxzLnRhYnNcbiAgICAgID8gKHRoaXMuY2FzZURldGFpbHMudGFicykuZmlsdGVyKFxuICAgICAgICB0YWIgPT4gdGFiLmZpZWxkcyAmJiB0YWIuZmllbGRzLnNvbWUoY2FzZUZpZWxkID0+IEZpZWxkc1V0aWxzLmlzRmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKGNhc2VGaWVsZCkpKVswXVxuICAgICAgOiBudWxsO1xuXG4gICAgaWYgKGNhc2VGbGFnc1RhYikge1xuICAgICAgLy8gR2V0IHRoZSBhY3RpdmUgY2FzZSBmbGFncyBjb3VudFxuICAgICAgLy8gQ2Fubm90IGZpbHRlciBvdXQgYW55dGhpbmcgb3RoZXIgdGhhbiB0byByZW1vdmUgdGhlIEZsYWdMYXVuY2hlciBDYXNlRmllbGQgYmVjYXVzZSBGbGFncyBmaWVsZHMgbWF5IGJlXG4gICAgICAvLyBjb250YWluZWQgaW4gb3RoZXIgQ2FzZUZpZWxkIGluc3RhbmNlcywgZWl0aGVyIGFzIGEgc3ViLWZpZWxkIG9mIGEgQ29tcGxleCBmaWVsZCwgb3IgZmllbGRzIGluIGEgY29sbGVjdGlvblxuICAgICAgLy8gKG9yIHN1Yi1maWVsZHMgb2YgQ29tcGxleCBmaWVsZHMgaW4gYSBjb2xsZWN0aW9uKVxuICAgICAgY29uc3QgYWN0aXZlQ2FzZUZsYWdzID0gY2FzZUZsYWdzVGFiLmZpZWxkc1xuICAgICAgICAuZmlsdGVyKGNhc2VGaWVsZCA9PiAhRmllbGRzVXRpbHMuaXNGbGFnTGF1bmNoZXJDYXNlRmllbGQoY2FzZUZpZWxkKSAmJiBjYXNlRmllbGQudmFsdWUpXG4gICAgICAgIC5yZWR1Y2UoKGFjdGl2ZSwgY2FzZUZsYWcpID0+IHtcbiAgICAgICAgICByZXR1cm4gRmllbGRzVXRpbHMuY291bnRBY3RpdmVGbGFnc0luQ2FzZUZpZWxkKGFjdGl2ZSwgY2FzZUZsYWcpO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgaWYgKGFjdGl2ZUNhc2VGbGFncyA+IDApIHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBhY3RpdmVDYXNlRmxhZ3MgPiAxXG4gICAgICAgICAgPyBgVGhlcmUgYXJlICR7YWN0aXZlQ2FzZUZsYWdzfSBhY3RpdmUgZmxhZ3Mgb24gdGhpcyBjYXNlLmAgOiAnVGhlcmUgaXMgMSBhY3RpdmUgZmxhZyBvbiB0aGlzIGNhc2UuJztcbiAgICAgICAgLy8gSW5pdGlhbGlzZSBhbmQgZGlzcGxheSBub3RpZmljYXRpb24gYmFubmVyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uQmFubmVyQ29uZmlnID0ge1xuICAgICAgICAgIGJhbm5lclR5cGU6IE5vdGlmaWNhdGlvbkJhbm5lclR5cGUuSU5GT1JNQVRJT04sXG4gICAgICAgICAgaGVhZGluZ1RleHQ6ICdJbXBvcnRhbnQnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIHNob3dMaW5rOiB0cnVlLFxuICAgICAgICAgIGxpbmtUZXh0OiAnVmlldyBjYXNlIGZsYWdzJyxcbiAgICAgICAgICB0cmlnZ2VyT3V0cHV0RXZlbnQ6IHRydWUsXG4gICAgICAgICAgdHJpZ2dlck91dHB1dEV2ZW50VGV4dDogY2FzZUZsYWdzVGFiLmxhYmVsLFxuICAgICAgICAgIGhlYWRlckNsYXNzOiBOb3RpZmljYXRpb25CYW5uZXJIZWFkZXJDbGFzcy5JTkZPUk1BVElPTlxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCBhIENhc2VGaWVsZCBpcyB0byBiZSBkaXNwbGF5ZWQgd2l0aG91dCBhIGxhYmVsLCBhcyBpcyBleHBlY3RlZCBmb3IgYWxsIENvbXBvbmVudExhdW5jaGVyLXR5cGVcbiAgICogZmllbGRzLlxuICAgKiBAcGFyYW0gY2FzZUZpZWxkIFRoZSBgQ2FzZUZpZWxkYCBpbnN0YW5jZSB0byBjaGVja1xuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgc2hvdWxkIG5vdCBoYXZlIGEgbGFiZWw7IGBmYWxzZWAgb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgaXNGaWVsZFRvSGF2ZU5vTGFiZWwoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBvbmVudExhdW5jaGVyJ1xuICAgICAgJiYgY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIgPT09ICcjQVJHVU1FTlQoQ2FzZUZpbGVWaWV3KSc7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2xvbmUgYW5kIHNvcnQgdGFicyBhcnJheVxuICAgIHRoaXMuc29ydGVkVGFicyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQodGhpcy5jYXNlRGV0YWlscy50YWJzKTtcbiAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLmdldFRhYkZpZWxkcygpO1xuICAgIHRoaXMuc29ydGVkVGFicyA9IHRoaXMuc29ydFRhYkZpZWxkc0FuZEZpbHRlclRhYnModGhpcy5zb3J0ZWRUYWJzKTtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuYnVpbGRGb3JtR3JvdXAodGhpcy5jYXNlRmllbGRzKTtcblxuICAgIGlmICh0aGlzLmNhc2VEZXRhaWxzLnRyaWdnZXJzICYmIHRoaXMuZXJyb3IpIHtcbiAgICAgIHRoaXMucmVzZXRFcnJvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRUYWJGaWVsZHNBbmRGaWx0ZXJUYWJzKHRhYnM6IENhc2VUYWJbXSk6IENhc2VUYWJbXSB7XG4gICAgcmV0dXJuIHRhYnNcbiAgICAgIC5tYXAodGFiID0+IE9iamVjdC5hc3NpZ24oe30sIHRhYiwge2ZpZWxkczogdGhpcy5vcmRlclNlcnZpY2Uuc29ydCh0YWIuZmllbGRzKX0pKVxuICAgICAgLmZpbHRlcih0YWIgPT4gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZSh0YWIuc2hvd19jb25kaXRpb24pLm1hdGNoQnlDb250ZXh0RmllbGRzKHRoaXMuY2FzZUZpZWxkcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYWJGaWVsZHMoKTogQ2FzZUZpZWxkW10ge1xuICAgIGNvbnN0IGNhc2VEYXRhRmllbGRzID0gdGhpcy5zb3J0ZWRUYWJzLnJlZHVjZSgoYWNjLCB0YWIpID0+IHtcbiAgICAgIHJldHVybiBhY2MuY29uY2F0KHBsYWluVG9DbGFzcyhDYXNlRmllbGQsIHRhYi5maWVsZHMpKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gY2FzZURhdGFGaWVsZHMuY29uY2F0KHRoaXMuY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvciBFVUktMzgyNTpcbiAgICogQnVpbGRzIGEgRm9ybUdyb3VwIGZyb20gYWxsIHRoZSBDYXNlRmllbGRzIGNvbnRhaW5lZCB3aXRoaW4gdGhlIHZpZXcuXG4gICAqIFRoaXMgRm9ybUdyb3VwIGlzIG5lY2Vzc2FyeSBmb3IgZXZhbHVhdGlvbiB0aGUgc2hvdy9oaWRlIGNvbmRpdGlvbnMgb2ZcbiAgICogZmllbGRzIHRoYXQgYXJlIGRlcGVuZGVudCBvbiBhIGZpZWxkIG9ubHkgYXZhaWxhYmxlIG9uIGEgRElGRkVSRU5UIHRhYi5cbiAgICovXG4gIHByaXZhdGUgYnVpbGRGb3JtR3JvdXAoY2FzZUZpZWxkczogQ2FzZUZpZWxkW10pOiBGb3JtR3JvdXAge1xuICAgIGxldCB2YWx1ZTogb2JqZWN0ID0ge307XG4gICAgaWYgKGNhc2VGaWVsZHMpIHtcbiAgICAgIGNhc2VGaWVsZHMuZm9yRWFjaChjYXNlRmllbGQgPT4ge1xuICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICBbY2FzZUZpZWxkLmlkXTogY2FzZUZpZWxkLnZhbHVlXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoe2RhdGE6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZSl9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRFcnJvcnMoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYWxsYmFja0Vycm9yc1N1YmplY3QubmV4dChudWxsKTtcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5jbGVhcigpO1xuICB9XG5cbn1cbiIsIjwhLS0gR2VuZXJpYyBlcnJvciBoZWFkaW5nIGFuZCBlcnJvciBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCBvbmx5IGlmIHRoZXJlIGFyZSBubyBzcGVjaWZpYyBjYWxsYmFjayBlcnJvcnMgb3Igd2FybmluZ3MsIG9yIG5vIGVycm9yIGRldGFpbHMgLS0+XG48ZGl2ICpuZ0lmPVwiZXJyb3IgJiYgIShlcnJvci5jYWxsYmFja0Vycm9ycyB8fCBlcnJvci5jYWxsYmFja1dhcm5pbmdzIHx8IGVycm9yLmRldGFpbHMpXCIgY2xhc3M9XCJlcnJvci1zdW1tYXJ5XCJcbiAgICAgIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiB0YWJpbmRleD1cIi0xXCI+XG4gIDxoMSBjbGFzcz1cImhlYWRpbmctaDEgZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgaWQ9XCJlZGl0LWNhc2UtZXZlbnRfZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCI+XG4gICAgU29tZXRoaW5nIHdlbnQgd3JvbmdcbiAgPC9oMT5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIiBpZD1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWJvZHlcIj5cbiAgICA8cD5XZSdyZSB3b3JraW5nIHRvIGZpeCB0aGUgcHJvYmxlbS4gVHJ5IGFnYWluIHNob3J0bHkuPC9wPlxuICAgIDxwPjxhIGhyZWY9XCJnZXQtaGVscFwiIHRhcmdldD1cIl9ibGFua1wiPkNvbnRhY3QgdXM8L2E+IGlmIHlvdSdyZSBzdGlsbCBoYXZpbmcgcHJvYmxlbXMuPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSBDYWxsYmFjayBlcnJvciBoZWFkaW5nIGFuZCBlcnJvciBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCBpZiB0aGVyZSBhcmUgc3BlY2lmaWMgZXJyb3IgZGV0YWlscyAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvciAmJiBlcnJvci5kZXRhaWxzXCIgY2xhc3M9XCJlcnJvci1zdW1tYXJ5XCIgcm9sZT1cImdyb3VwXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiB0YWJpbmRleD1cIi0xXCI+XG4gIDxoMiBjbGFzcz1cImhlYWRpbmctaDIgZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgaWQ9XCJlZGl0LWNhc2UtZXZlbnRfZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCI+XG4gICAgVGhlIGNhbGxiYWNrIGRhdGEgZmFpbGVkIHZhbGlkYXRpb25cbiAgPC9oMj5cbiAgPHA+e3tlcnJvci5tZXNzYWdlfX08L3A+XG4gIDx1bCAqbmdJZj1cImVycm9yLmRldGFpbHM/LmZpZWxkX2Vycm9yc1wiIGNsYXNzPVwiZXJyb3Itc3VtbWFyeS1saXN0XCI+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBmaWVsZEVycm9yIG9mIGVycm9yLmRldGFpbHMuZmllbGRfZXJyb3JzXCI+XG4gICAgICB7e2ZpZWxkRXJyb3IubWVzc2FnZX19XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuPGNjZC1jYWxsYmFjay1lcnJvcnNcbiAgW3RyaWdnZXJUZXh0Q29udGludWVdPVwidHJpZ2dlclRleHRTdGFydFwiXG4gIFt0cmlnZ2VyVGV4dElnbm9yZV09XCJ0cmlnZ2VyVGV4dElnbm9yZVdhcm5pbmdzXCJcbiAgW2NhbGxiYWNrRXJyb3JzU3ViamVjdF09XCJjYWxsYmFja0Vycm9yc1N1YmplY3RcIlxuICAoY2FsbGJhY2tFcnJvcnNDb250ZXh0KT1cImNhbGxiYWNrRXJyb3JzTm90aWZ5KCRldmVudClcIj5cbjwvY2NkLWNhbGxiYWNrLWVycm9ycz5cbjxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJjYXNlRGV0YWlscy5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIkJBTk5FUlwiPjwvY2NkLWFjdGl2aXR5PlxuPGRpdiBjbGFzcz1cImdyaWQtcm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tb25lLWhhbGZcIj5cbiAgICA8Y2NkLWNhc2UtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLWNhc2UtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJjYXNlLXZpZXdlci1jb250cm9sc1wiICpuZ0lmPVwiaGFzUHJpbnQgJiYgIWlzRHJhZnQoKSAmJiBpc1ByaW50RW5hYmxlZCgpXCI+XG4gICAgICA8YSBpZD1cImNhc2Utdmlld2VyLWNvbnRyb2wtcHJpbnRcIiByb3V0ZXJMaW5rPVwicHJpbnRcIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCI+UHJpbnQ8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiaGFzRXZlbnRTZWxlY3RvclwiIGNsYXNzPVwiY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgPGNjZC1ldmVudC10cmlnZ2VyIFtpc0Rpc2FibGVkXT1cImlzVHJpZ2dlckJ1dHRvbkRpc2FibGVkKClcIiBbdHJpZ2dlcnNdPVwiY2FzZURldGFpbHMudHJpZ2dlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RyaWdnZXJUZXh0XT1cInRyaWdnZXJUZXh0XCIgKG9uVHJpZ2dlckNoYW5nZSk9XCJjbGVhckVycm9yc0FuZFdhcm5pbmdzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uVHJpZ2dlclN1Ym1pdCk9XCJhcHBseVRyaWdnZXIoJGV2ZW50KVwiPjwvY2NkLWV2ZW50LXRyaWdnZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ3JpZC1yb3dcIiAqbmdJZj1cImFjdGl2ZUNhc2VGbGFnc1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1uLWZ1bGxcIj5cbiAgICA8Y2NkLW5vdGlmaWNhdGlvbi1iYW5uZXIgW25vdGlmaWNhdGlvbkJhbm5lckNvbmZpZ109XCJub3RpZmljYXRpb25CYW5uZXJDb25maWdcIiAobGlua0NsaWNrZWQpPVwib25MaW5rQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgPC9jY2Qtbm90aWZpY2F0aW9uLWJhbm5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1uLWZ1bGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzVGFic1ByZXNlbnQoKVwiPlxuICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIGFuaW1hdGlvbkR1cmF0aW9uPVwiMG1zXCIgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cInRhYkNoYW5nZWQoJGV2ZW50KVwiIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFRhYkluZGV4XCI+XG4gICAgICAgIDxtYXQtdGFiICpuZ0Zvcj1cImxldCB0YWIgb2YgcHJlcGVuZGVkVGFic1wiIFtpZF09XCJ0YWIuaWRcIiBbbGFiZWxdPVwidGFiLmxhYmVsXCI+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBzb3J0ZWRUYWJzOyBsZXQgY3VySWR4PWluZGV4XCIgW2lkXT1cInRhYi5pZFwiIFtsYWJlbF09XCJ0YWIubGFiZWxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICAgIDx0YWJsZSBbY2xhc3NdPVwidGFiLmlkXCIgYXJpYS1kZXNjcmliZWRieT1cImNhc2Ugdmlld2VyIHRhYmxlXCI+XG4gICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgdGFiIHwgY2NkVGFiRmllbGRzIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjpmYWxzZSA6dW5kZWZpbmVkIDp0cnVlIDogZm9ybUdyb3VwLmNvbnRyb2xzWydkYXRhJ11cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjb250ZXh0RmllbGRzXT1cImNhc2VGaWVsZHNcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiIShmaWVsZCB8IGNjZElzQ29tcG91bmQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0aCBpZD1cImNhc2Utdmlld2VyLWZpZWxkLWxhYmVsXCIgKm5nSWY9XCIhaXNGaWVsZFRvSGF2ZU5vTGFiZWwoZmllbGQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzZS12aWV3ZXItbGFiZWwgdGV4dC0xNlwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIFtpZF09XCInY2FzZS12aWV3ZXItZmllbGQtcmVhZC0tJyArIGZpZWxkLmlkXCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW3RvcExldmVsRm9ybUdyb3VwXT1cImZvcm1Hcm91cC5jb250cm9sc1snZGF0YSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjYXNlUmVmZXJlbmNlXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rXT1cIm1hcmtkb3duVXNlSHJlZkFzUm91dGVyTGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiBjbGFzcz1cImNvbXBvdW5kLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIFtpZF09XCInY2FzZS12aWV3ZXItZmllbGQtcmVhZC0tJyArIGZpZWxkLmlkXCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW3RvcExldmVsRm9ybUdyb3VwXT1cImZvcm1Hcm91cC5jb250cm9sc1snZGF0YSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjYXNlUmVmZXJlbmNlXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rXT1cIm1hcmtkb3duVXNlSHJlZkFzUm91dGVyTGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBhcHBlbmRlZFRhYnNcIiBbaWRdPVwidGFiLmlkXCIgW2xhYmVsXT1cInRhYi5sYWJlbFwiPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICA8cm91dGVyLW91dGxldCAqbmdJZj1cIihwcmVwZW5kZWRUYWJzICYmIHByZXBlbmRlZFRhYnMubGVuZ3RoKSB8fCAoYXBwZW5kZWRUYWJzICYmIGFwcGVuZGVkVGFicy5sZW5ndGgpXCI+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -14,6 +14,9 @@ export class PaymentField extends AbstractFieldReadComponent {
|
|
|
14
14
|
getRefundsUrl() {
|
|
15
15
|
return this.appConfig.getRefundsUrl();
|
|
16
16
|
}
|
|
17
|
+
getNotificationUrl() {
|
|
18
|
+
return this.appConfig.getNotificationUrl();
|
|
19
|
+
}
|
|
17
20
|
getUserRoles() {
|
|
18
21
|
const userDetails = JSON.parse(this.sessionStorage.getItem('userDetails') || null);
|
|
19
22
|
if (!userDetails || !userDetails.hasOwnProperty('roles')) {
|
|
@@ -29,4 +32,4 @@ export class PaymentField extends AbstractFieldReadComponent {
|
|
|
29
32
|
return userDetails.sub;
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9iYXNlLWZpZWxkL3BheW1lbnQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE1BQU0sT0FBZ0IsWUFBYSxTQUFRLDBCQUEwQjtJQUNqRSxZQUN1QixTQUE0QixFQUM1QixjQUFxQztRQUV4RCxLQUFLLEVBQUUsQ0FBQztRQUhXLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtJQUc1RCxDQUFDO0lBRU0sVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFTSxZQUFZO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0RCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxZQUFZO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwRCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zZXNzaW9uL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYXltZW50RmllbGQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCYXNlVVJMKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0UGF5bWVudHNVcmwoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGF5QnVsa1NjYW5CYXNlVVJMKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0UGF5QnVsa1NjYW5CYXNlVXJsKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlZnVuZHNVcmwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcENvbmZpZy5nZXRSZWZ1bmRzVXJsKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE5vdGlmaWNhdGlvblVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldE5vdGlmaWNhdGlvblVybCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VyUm9sZXMoKSB7XG4gICAgICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykgfHwgbnVsbCk7XG4gICAgICAgIGlmICghdXNlckRldGFpbHMgfHwgIXVzZXJEZXRhaWxzLmhhc093blByb3BlcnR5KCdyb2xlcycpKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVzZXJEZXRhaWxzLnJvbGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VyRW1haWwoKSB7XG4gICAgICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykgfHwgbnVsbCk7XG4gICAgICAgIGlmICghdXNlckRldGFpbHMgfHwgIXVzZXJEZXRhaWxzLmhhc093blByb3BlcnR5KCdzdWInKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1c2VyRGV0YWlscy5zdWI7XG4gICAgfVxufVxuIl19
|
|
@@ -532,6 +532,6 @@ i0.ɵɵsetComponentScope(WriteDateContainerFieldComponent, [i4.NgIf, DatetimePic
|
|
|
532
532
|
i0.ɵɵsetComponentScope(WriteCollectionFieldComponent, [i4.NgIf, i4.NgForOf, FieldWriteComponent, i2.NgControlStatusGroup, i2.FormGroupDirective], [i8.FieldLabelPipe, i10.FirstErrorPipe]);
|
|
533
533
|
i0.ɵɵsetComponentScope(
|
|
534
534
|
// ComponentLauncher web components
|
|
535
|
-
CaseFileViewFieldComponent, [i4.NgIf, CaseFileViewFolderComponent, i11
|
|
536
|
-
i0.ɵɵsetComponentScope(CaseFileViewFieldReadComponent, [i4.NgIf, CaseFileViewFolderComponent, i11
|
|
535
|
+
CaseFileViewFieldComponent, [i4.NgIf, CaseFileViewFolderComponent, i11.MediaViewerComponent], []);
|
|
536
|
+
i0.ɵɵsetComponentScope(CaseFileViewFieldReadComponent, [i4.NgIf, CaseFileViewFolderComponent, i11.MediaViewerComponent], []);
|
|
537
537
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFD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QkF0QzlCLGtCQUFrQjt1QkF1Q2xCLHdDQUF3Qyx3QkF2Q3hDLGtCQUFrQjtJQW1DbEIsMEJBQTBCO3VCQUsxQiwwQkFBMEIsaUNBd0YxQiw0QkFBNEIsMkNBUDVCLHNCQUFzQjt1QkE3RXRCLDBCQUEwQixnTUFDMUIsMEJBQTBCO3VCQUExQiwwQkFBMEIsc0RBN0MxQixrQkFBa0IsZ0ZBQ2xCLG1CQUFtQjt1QkE4Q25CLDJCQUEyQix3QkE1QjNCLDBCQUEwQjt1QkFnQzFCLGdDQUFnQyxZQXREaEMsdUJBQXVCLGtEQTJEdkIsdUJBQXVCO3VCQUN2QiwyQkFBMkIsa0hBbUUzQiwyQkFBMkI7SUFGM0IsdUJBQXVCO0lBQ3ZCLGtDQUFrQztJQUdsQyxvQkFBb0I7SUFEcEIsd0JBQXdCO0lBRXhCLG1CQUFtQjt1QkFsRW5CLCtCQUErQiwwSkE5RC9CLGlCQUFpQjtJQStEakIsc0NBQXNDO3VCQUN0QywrQkFBK0IsR0FwQy9CLDhCQUE4Qjt1QkFzQzlCLGdDQUFnQyxZQXBFaEMsdUJBQXVCLGtEQTJEdkIsdUJBQXVCO3VCQWN2Qiw2QkFBNkIsd0JBckU3QixtQkFBbUI7O0FBdUVuQixtQ0FBbUM7QUFDbkMsMEJBQTBCLFlBRTFCLDJCQUEyQjt1QkFEM0IsOEJBQThCLFlBQzlCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLCBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQYXltZW50TGliTW9kdWxlIH0gZnJvbSAnQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFWaWV3ZXJNb2R1bGUgfSBmcm9tICdAaG1jdHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IFNjcm9sbFRvTW9kdWxlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBOZ3hNZE1vZHVsZSB9IGZyb20gJ25neC1tZCc7XG5pbXBvcnQgeyBIZWFkZXJzTW9kdWxlLCBUYWJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCYW5uZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9iYW5uZXJzL2Jhbm5lcnMubW9kdWxlJztcbmltcG9ydCB7IEJvZHlNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2JvZHkvYm9keS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9vdGVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3RlcnMubW9kdWxlJztcbmltcG9ydCB7IEZvcm1Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvcm0vZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tbW9ucy9jYXNlLWVkaXQtZGF0YSc7XG5pbXBvcnQgeyBMYWJlbFN1YnN0aXR1dG9yTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zdWJzdGl0dXRvcic7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FzZS1mbGFnL2Nhc2UtZmxhZy1yZWZkYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS9mb3JtLXZhbGlkYXRvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvanVyaXNkaWN0aW9uL2p1cmlzZGljdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvYWRpbmdNb2R1bGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcubW9kdWxlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3cnO1xuaW1wb3J0IHsgV3JpdGVBZGRyZXNzRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2FkZHJlc3Mvd3JpdGUtYWRkcmVzcy1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRSZWFkQ29tcG9uZW50LCBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCwgRmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VGaWxlVmlld0ZvbGRlckRvY3VtZW50QWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VGaWxlVmlld0ZvbGRlclNvcnRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0L2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkQ29tbWVudHNDb21wb25lbnQsIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsIENhc2VGbGFnVGFibGVDb21wb25lbnQsIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCwgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQsIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb21wb25lbnQsIFNlbGVjdEZsYWdMb2NhdGlvbkNvbXBvbmVudCwgU2VsZWN0RmxhZ1R5cGVDb21wb25lbnQsIFVwZGF0ZUZsYWdDb21wb25lbnQsIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1mbGFnJztcbmltcG9ydCB7IFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWxpbmsvcmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZENvbGxlY3Rpb25GaWVsZENvbXBvbmVudCwgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkNyZWF0ZUNoZWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9jb2xsZWN0aW9uL2NvbGxlY3Rpb24tY3JlYXRlLWNoZWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50LCBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LCBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LCBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsIFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wbGV4JztcbmltcG9ydCB7IFJlYWREYXRlRmllbGRDb21wb25lbnQsIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LCBXcml0ZURhdGVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZSc7XG5pbXBvcnQgeyBEYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyJztcbmltcG9ydCB7IERvY3VtZW50VXJsUGlwZSB9IGZyb20gJy4vZG9jdW1lbnQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFByb2dyZXNzR3VhcmQgfSBmcm9tICcuL2RvY3VtZW50L2ZpbGUtdXBsb2FkLXByb2dyZXNzLmd1YXJkJztcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2RvY3VtZW50L2ZpbGUtdXBsb2FkLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhZERvY3VtZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RvY3VtZW50L3JlYWQtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNMaXN0UGlwZSwgUmVhZER5bmFtaWNMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtbGlzdCc7XG5pbXBvcnQgeyBXcml0ZUR5bmFtaWNMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtbGlzdC93cml0ZS1keW5hbWljLWxpc3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNSYWRpb0xpc3RQaXBlLCBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3QnO1xuaW1wb3J0IHsgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdC93cml0ZS1keW5hbWljLXJhZGlvLWxpc3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRFbWFpbEZpZWxkQ29tcG9uZW50LCBXcml0ZUVtYWlsRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2VtYWlsJztcbmltcG9ydCB7IEZpeGVkTGlzdFBpcGUsIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVGaXhlZExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZml4ZWQtbGlzdCc7XG5pbXBvcnQgeyBGaXhlZFJhZGlvTGlzdFBpcGUsIFJlYWRGaXhlZFJhZGlvTGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpeGVkLXJhZGlvLWxpc3QnO1xuaW1wb3J0IHsgQ2FzZUhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCwgRXZlbnRMb2dDb21wb25lbnQsIEV2ZW50TG9nRGV0YWlsc0NvbXBvbmVudCwgRXZlbnRMb2dUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vaGlzdG9yeSc7XG5pbXBvcnQgeyBSZWFkSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2p1ZGljaWFsLXVzZXInO1xuaW1wb3J0IHsgTGFiZWxGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbGFiZWwnO1xuaW1wb3J0IHsgTWFya2Rvd25Db21wb25lbnQgfSBmcm9tICcuL21hcmtkb3duJztcbmltcG9ydCB7IE1vbmV5R2JwSW5wdXRDb21wb25lbnQsIFJlYWRNb25leUdicEZpZWxkQ29tcG9uZW50LCBXcml0ZU1vbmV5R2JwRmllbGRDb21wb25lbnQgfSBmcm9tICcuL21vbmV5LWdicCc7XG5pbXBvcnQgeyBSZWFkTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL211bHRpLXNlbGVjdC1saXN0JztcbmltcG9ydCB7IFJlYWROdW1iZXJGaWVsZENvbXBvbmVudCwgV3JpdGVOdW1iZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyJztcbmltcG9ydCB7IFJlYWRPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCwgUmVhZE9yZGVyU3VtbWFyeVJvd0NvbXBvbmVudCwgV3JpdGVPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vb3JkZXItc3VtbWFyeSc7XG5pbXBvcnQgeyBSZWFkT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsIFJlYWRPcmdhbmlzYXRpb25GaWVsZFJhd0NvbXBvbmVudCwgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkVGFibGVDb21wb25lbnQsIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LCBXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9vcmdhbmlzYXRpb24nO1xuaW1wb3J0IHsgUGFsZXR0ZVNlcnZpY2UgfSBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGF5bWVudCc7XG5pbXBvcnQgeyBSZWFkUGhvbmVVS0ZpZWxkQ29tcG9uZW50LCBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtdWsnO1xuaW1wb3J0IHsgUmVhZFRleHRGaWVsZENvbXBvbmVudCwgV3JpdGVUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHQnO1xuaW1wb3J0IHsgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsIFdyaXRlVGV4dEFyZWFGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1hcmVhJztcbmltcG9ydCB7IFVuc3VwcG9ydGVkRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3Vuc3VwcG9ydGVkLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWxldHRlVXRpbHNNb2R1bGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFdheXNUb1BheUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi93YXlzdG9wYXknO1xuaW1wb3J0IHsgUmVhZFllc05vRmllbGRDb21wb25lbnQsIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCwgWWVzTm9TZXJ2aWNlIH0gZnJvbSAnLi95ZXMtbm8nO1xuXG5jb25zdCBQQUxFVFRFX0NPTVBPTkVOVFMgPSBbXG4gICAgVW5zdXBwb3J0ZWRGaWVsZENvbXBvbmVudCxcbiAgICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBXYXlzVG9QYXlGaWVsZENvbXBvbmVudCxcbiAgICBNYXJrZG93bkNvbXBvbmVudCxcbiAgICBGaWVsZFJlYWRDb21wb25lbnQsXG4gICAgRmllbGRXcml0ZUNvbXBvbmVudCxcbiAgICBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCxcbiAgICBMYWJlbEZpZWxkQ29tcG9uZW50LFxuICAgIENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICAgIE1vbmV5R2JwSW5wdXRDb21wb25lbnQsXG4gICAgQ2FzZUhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCxcbiAgICBFdmVudExvZ0NvbXBvbmVudCxcbiAgICBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsXG4gICAgRXZlbnRMb2dUYWJsZUNvbXBvbmVudCxcblxuICAgIC8vIC8vIFJlYWRcbiAgICBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWROdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRW1haWxGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkUGhvbmVVS0ZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWREYXRlRmllbGRDb21wb25lbnQsXG4gICAgUmVhZENvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRG9jdW1lbnRGaWVsZENvbXBvbmVudCxcblxuICAgIC8vIG5ld1xuICAgIFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgICBSZWFkT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gICAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkVGFibGVDb21wb25lbnQsXG4gICAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkUmF3Q29tcG9uZW50LFxuICAgIFJlYWRPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LFxuICAgIFJlYWRNb25leUdicEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRml4ZWRMaXN0RmllbGRDb21wb25lbnQsXG4gICAgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gICAgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRDb21wbGV4RmllbGRSYXdDb21wb25lbnQsXG4gICAgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LFxuICAgIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQsXG4gICAgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQsXG5cbiAgICAvLyBXcml0ZVxuICAgIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVBZGRyZXNzRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZVRleHRGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZVRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVOdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUVtYWlsRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVEYXRlRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuXG4gICAgLy8gbmV3XG4gICAgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsXG5cbiAgICAvLyBDb21wb25lbnRMYXVuY2hlciB3ZWIgY29tcG9uZW50c1xuICAgIENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50LFxuICAgIENhc2VGaWxlVmlld0ZpZWxkUmVhZENvbXBvbmVudCxcbiAgICBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQsXG4gICAgQ2FzZUZpbGVWaWV3Rm9sZGVyU29ydENvbXBvbmVudCxcbiAgICBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCxcbiAgICBDYXNlRmlsZVZpZXdGb2xkZXJEb2N1bWVudEFjdGlvbnNDb21wb25lbnQsXG4gICAgQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENhc2VFZGl0RGF0YU1vZHVsZSxcbiAgICAgICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgICAgICBQaXBlc01vZHVsZSxcbiAgICAgICAgQmFubmVyc01vZHVsZSxcbiAgICAgICAgSGVhZGVyc01vZHVsZSxcbiAgICAgICAgRm9vdGVyc01vZHVsZSxcbiAgICAgICAgQm9keU1vZHVsZSxcbiAgICAgICAgRm9ybU1vZHVsZSxcbiAgICAgICAgVGFic01vZHVsZSxcbiAgICAgICAgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSxcbiAgICAgICAgTmd4TWRNb2R1bGUsXG4gICAgICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxuICAgICAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgICAgICBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIENka1RyZWVNb2R1bGUsXG4gICAgICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgICAgIFBheW1lbnRMaWJNb2R1bGUsXG4gICAgICAgIFNjcm9sbFRvTW9kdWxlLmZvclJvb3QoKSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNZWRpYVZpZXdlck1vZHVsZSxcbiAgICAgICAgTG9hZGluZ01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaXhlZExpc3RQaXBlLFxuICAgIEZpeGVkUmFkaW9MaXN0UGlwZSxcbiAgICBEeW5hbWljTGlzdFBpcGUsXG4gICAgRHluYW1pY1JhZGlvTGlzdFBpcGUsXG4gICAgRG9jdW1lbnRVcmxQaXBlLFxuXG4gICAgQ2FzZUZsYWdUYWJsZUNvbXBvbmVudCxcbiAgICBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCxcbiAgICBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50LFxuICAgIFNlbGVjdEZsYWdMb2NhdGlvbkNvbXBvbmVudCxcbiAgICBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQsXG4gICAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gICAgVXBkYXRlRmxhZ0NvbXBvbmVudCxcbiAgICBDYXNlRmxhZ1N1bW1hcnlMaXN0Q29tcG9uZW50LFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZiBhcyBQcm92aWRlcixcbiAgICBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLFxuICAgIFllc05vU2VydmljZSxcbiAgICBDb2xsZWN0aW9uQ3JlYXRlQ2hlY2tlclNlcnZpY2UsXG4gICAgUGFsZXR0ZVNlcnZpY2UsXG4gICAgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLFxuICAgIEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UsXG4gICAgRmlsZVVwbG9hZFByb2dyZXNzR3VhcmQsXG4gICAgV2luZG93U2VydmljZSxcbiAgICBDb21tb25EYXRhU2VydmljZSxcbiAgICBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHtwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnZW4tR0InfVxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFsgQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQgXVxufSlcbmV4cG9ydCBjbGFzcyBQYWxldHRlTW9kdWxlIHtcbn1cbiJdfQ==
|
package/esm2015/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.js
CHANGED
|
@@ -12,10 +12,10 @@ export class CasePaymentHistoryViewerFieldComponent extends PaymentField {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
CasePaymentHistoryViewerFieldComponent.ɵfac = function CasePaymentHistoryViewerFieldComponent_Factory(t) { return new (t || CasePaymentHistoryViewerFieldComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.SessionStorageService)); };
|
|
15
|
-
CasePaymentHistoryViewerFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CasePaymentHistoryViewerFieldComponent, selectors: [["ccd-case-payment-history-viewer-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars:
|
|
15
|
+
CasePaymentHistoryViewerFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CasePaymentHistoryViewerFieldComponent, selectors: [["ccd-case-payment-history-viewer-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 16, consts: [[3, "API_ROOT", "CCD_CASE_NUMBER", "BULKSCAN_API_ROOT", "SELECTED_OPTION", "ISBSENABLE", "LOGGEDINUSEREMAIL", "LOGGEDINUSERROLES", "REFUNDS_API_ROOT", "NOTIFICATION_API_ROOT", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "ISPAYMENTSTATUSENABLED"]], template: function CasePaymentHistoryViewerFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
16
16
|
i0.ɵɵelement(0, "ccpay-payment-lib", 0);
|
|
17
17
|
} if (rf & 2) {
|
|
18
|
-
i0.ɵɵproperty("API_ROOT", ctx.getBaseURL())("CCD_CASE_NUMBER", ctx.caseReference)("BULKSCAN_API_ROOT", ctx.getPayBulkScanBaseURL())("SELECTED_OPTION", "CCDorException")("ISBSENABLE", "true")("LOGGEDINUSEREMAIL", ctx.getUserEmail())("LOGGEDINUSERROLES", ctx.getUserRoles())("REFUNDS_API_ROOT", ctx.getRefundsUrl())("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", false)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx.caseReference)("DCN_NUMBER", null)("ISPAYMENTSTATUSENABLED", "Enable");
|
|
18
|
+
i0.ɵɵproperty("API_ROOT", ctx.getBaseURL())("CCD_CASE_NUMBER", ctx.caseReference)("BULKSCAN_API_ROOT", ctx.getPayBulkScanBaseURL())("SELECTED_OPTION", "CCDorException")("ISBSENABLE", "true")("LOGGEDINUSEREMAIL", ctx.getUserEmail())("LOGGEDINUSERROLES", ctx.getUserRoles())("REFUNDS_API_ROOT", ctx.getRefundsUrl())("NOTIFICATION_API_ROOT", ctx.getNotificationUrl())("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", false)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx.caseReference)("DCN_NUMBER", null)("ISPAYMENTSTATUSENABLED", "Enable");
|
|
19
19
|
} }, directives: [i3.PaymentLibComponent], encapsulation: 2 });
|
|
20
20
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasePaymentHistoryViewerFieldComponent, [{
|
|
21
21
|
type: Component,
|
|
@@ -24,4 +24,4 @@ CasePaymentHistoryViewerFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: Ca
|
|
|
24
24
|
templateUrl: 'case-payment-history-viewer-field.html',
|
|
25
25
|
}]
|
|
26
26
|
}], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.SessionStorageService }]; }, null); })();
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1wYXltZW50LWhpc3Rvcnktdmlld2VyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3BheW1lbnQvY2FzZS1wYXltZW50LWhpc3Rvcnktdmlld2VyLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3BheW1lbnQvY2FzZS1wYXltZW50LWhpc3Rvcnktdmlld2VyLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7O0FBTXJFLE1BQU0sT0FBTyxzQ0FBdUMsU0FBUSxZQUFZO0lBQ3RFLFlBQ0UsU0FBNEIsRUFDNUIsY0FBcUM7UUFFckMsS0FBSyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs0SEFOVSxzQ0FBc0M7MkVBQXRDLHNDQUFzQztRQ1RuRCx1Q0FpQnFCOztRQWhCakIsMkNBQXlCLHNDQUFBLGtEQUFBLHFDQUFBLHNCQUFBLHlDQUFBLHlDQUFBLHlDQUFBLG1EQUFBLDZCQUFBLHNCQUFBLHlCQUFBLDJCQUFBLG9DQUFBLG9CQUFBLG9DQUFBOzt1RkRRaEIsc0NBQXNDO2NBSmxELFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsdUNBQXVDO2dCQUNqRCxXQUFXLEVBQUUsd0NBQXdDO2FBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2Vzc2lvbi9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50RmllbGQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BheW1lbnQtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtcGF5bWVudC1oaXN0b3J5LXZpZXdlci1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnY2FzZS1wYXltZW50LWhpc3Rvcnktdmlld2VyLWZpZWxkLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCBleHRlbmRzIFBheW1lbnRGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgc2Vzc2lvblN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihhcHBDb25maWcsIHNlc3Npb25TdG9yYWdlKTtcbiAgfVxufVxuIiwiPGNjcGF5LXBheW1lbnQtbGliXG4gICAgW0FQSV9ST09UXT1cImdldEJhc2VVUkwoKVwiXG4gICAgW0NDRF9DQVNFX05VTUJFUl09XCJjYXNlUmVmZXJlbmNlXCJcbiAgICBbQlVMS1NDQU5fQVBJX1JPT1RdPVwiZ2V0UGF5QnVsa1NjYW5CYXNlVVJMKClcIlxuICAgIFtTRUxFQ1RFRF9PUFRJT05dPVwiJ0NDRG9yRXhjZXB0aW9uJ1wiXG4gICAgW0lTQlNFTkFCTEVdPVwiJ3RydWUnXCJcbiAgICBbTE9HR0VESU5VU0VSRU1BSUxdPVwiZ2V0VXNlckVtYWlsKClcIlxuICAgIFtMT0dHRURJTlVTRVJST0xFU109XCJnZXRVc2VyUm9sZXMoKVwiXG4gICAgW1JFRlVORFNfQVBJX1JPT1RdPVwiZ2V0UmVmdW5kc1VybCgpXCJcbiAgICBbTk9USUZJQ0FUSU9OX0FQSV9ST09UXT1cImdldE5vdGlmaWNhdGlvblVybCgpXCJcbiAgICBbVklFV109XCInY2FzZS10cmFuc2FjdGlvbnMnXCJcbiAgICBbVEFLRVBBWU1FTlRdPVwiZmFsc2VcIlxuICAgIFtTRVJWSUNFUkVRVUVTVF09XCJmYWxzZVwiXG4gICAgW1BBWU1FTlRfR1JPVVBfUkVGXT1cIm51bGxcIlxuICAgIFtFWENfUkVGRVJFTkNFXT1cImNhc2VSZWZlcmVuY2VcIlxuICAgIFtEQ05fTlVNQkVSXT1cIm51bGxcIlxuICAgIFtJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXT1cIidFbmFibGUnXCJcbj48L2NjcGF5LXBheW1lbnQtbGliPlxuIl19
|
|
@@ -11,7 +11,7 @@ function WaysToPayFieldComponent_ccpay_payment_lib_0_Template(rf, ctx) { if (rf
|
|
|
11
11
|
i0.ɵɵelement(0, "ccpay-payment-lib", 1);
|
|
12
12
|
} if (rf & 2) {
|
|
13
13
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
14
|
-
i0.ɵɵproperty("API_ROOT", ctx_r0.getBaseURL())("BULKSCAN_API_ROOT", ctx_r0.getPayBulkScanBaseURL())("REFUNDS_API_ROOT", ctx_r0.getRefundsUrl())("CCD_CASE_NUMBER", ctx_r0.caseReference)("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", true)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx_r0.caseReference)("DCN_NUMBER", null)("SELECTED_OPTION", "CCDorException")("LOGGEDINUSERROLES", ctx_r0.getUserRoles())("CARDPAYMENTRETURNURL", ctx_r0.getCardPaymentReturnUrl())("ISPAYMENTSTATUSENABLED", "Enable");
|
|
14
|
+
i0.ɵɵproperty("API_ROOT", ctx_r0.getBaseURL())("BULKSCAN_API_ROOT", ctx_r0.getPayBulkScanBaseURL())("REFUNDS_API_ROOT", ctx_r0.getRefundsUrl())("NOTIFICATION_API_ROOT", ctx_r0.getNotificationUrl())("CCD_CASE_NUMBER", ctx_r0.caseReference)("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", true)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx_r0.caseReference)("DCN_NUMBER", null)("SELECTED_OPTION", "CCDorException")("LOGGEDINUSERROLES", ctx_r0.getUserRoles())("CARDPAYMENTRETURNURL", ctx_r0.getCardPaymentReturnUrl())("ISPAYMENTSTATUSENABLED", "Enable");
|
|
15
15
|
} }
|
|
16
16
|
export class WaysToPayFieldComponent extends PaymentField {
|
|
17
17
|
constructor(appConfig, sessionStorage) {
|
|
@@ -22,8 +22,8 @@ export class WaysToPayFieldComponent extends PaymentField {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
WaysToPayFieldComponent.ɵfac = function WaysToPayFieldComponent_Factory(t) { return new (t || WaysToPayFieldComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.SessionStorageService)); };
|
|
25
|
-
WaysToPayFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WaysToPayFieldComponent, selectors: [["ccd-ways-to-pay-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED", 4, "ngIf"], [3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED"]], template: function WaysToPayFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
-
i0.ɵɵtemplate(0, WaysToPayFieldComponent_ccpay_payment_lib_0_Template, 1,
|
|
25
|
+
WaysToPayFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WaysToPayFieldComponent, selectors: [["ccd-ways-to-pay-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "NOTIFICATION_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED", 4, "ngIf"], [3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "NOTIFICATION_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED"]], template: function WaysToPayFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
i0.ɵɵtemplate(0, WaysToPayFieldComponent_ccpay_payment_lib_0_Template, 1, 15, "ccpay-payment-lib", 0);
|
|
27
27
|
} if (rf & 2) {
|
|
28
28
|
i0.ɵɵproperty("ngIf", ctx.getUserRoles().length > 0);
|
|
29
29
|
} }, directives: [i3.NgIf, i4.PaymentLibComponent], encapsulation: 2 });
|
|
@@ -34,4 +34,4 @@ WaysToPayFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WaysToPayFieldCom
|
|
|
34
34
|
templateUrl: './waystopay-field.component.html'
|
|
35
35
|
}]
|
|
36
36
|
}], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.SessionStorageService }]; }, null); })();
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F5c3RvcGF5LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3dheXN0b3BheS93YXlzdG9wYXktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvd2F5c3RvcGF5L3dheXN0b3BheS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7OztJQ0hyRSx1Q0FnQnFCOzs7SUFmakIsOENBQXlCLHFEQUFBLDRDQUFBLHNEQUFBLHlDQUFBLDZCQUFBLHNCQUFBLHdCQUFBLDJCQUFBLHVDQUFBLG9CQUFBLHFDQUFBLDRDQUFBLDBEQUFBLG9DQUFBOztBRFE3QixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsWUFBWTtJQUN2RCxZQUNFLFNBQTRCLEVBQzVCLGNBQXFDO1FBRXJDLEtBQUssQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzs4RkFWVSx1QkFBdUI7NERBQXZCLHVCQUF1QjtRQ1RwQyxxR0FnQnFCOztRQWhCRCxvREFBK0I7O3VGRFN0Qyx1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFdBQVcsRUFBRSxrQ0FBa0M7YUFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zZXNzaW9uL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRGaWVsZCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvcGF5bWVudC1maWVsZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NjZC13YXlzLXRvLXBheS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dheXN0b3BheS1maWVsZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgZXh0ZW5kcyBQYXltZW50RmllbGQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoYXBwQ29uZmlnLCBzZXNzaW9uU3RvcmFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FyZFBheW1lbnRSZXR1cm5VcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0UGF5bWVudFJldHVyblVybCgpO1xuICB9XG59XG4iLCI8Y2NwYXktcGF5bWVudC1saWIgKm5nSWY9XCJnZXRVc2VyUm9sZXMoKS5sZW5ndGggPiAwXCJcbiAgICBbQVBJX1JPT1RdPVwiZ2V0QmFzZVVSTCgpXCJcbiAgICBbQlVMS1NDQU5fQVBJX1JPT1RdPVwiZ2V0UGF5QnVsa1NjYW5CYXNlVVJMKClcIlxuICAgIFtSRUZVTkRTX0FQSV9ST09UXT1cImdldFJlZnVuZHNVcmwoKVwiXG4gICAgW05PVElGSUNBVElPTl9BUElfUk9PVF09XCJnZXROb3RpZmljYXRpb25VcmwoKVwiXG4gICAgW0NDRF9DQVNFX05VTUJFUl09XCJjYXNlUmVmZXJlbmNlXCJcbiAgICBbVklFV109XCInY2FzZS10cmFuc2FjdGlvbnMnXCJcbiAgICBbVEFLRVBBWU1FTlRdPVwiZmFsc2VcIlxuICAgIFtTRVJWSUNFUkVRVUVTVF09XCJ0cnVlXCJcbiAgICBbUEFZTUVOVF9HUk9VUF9SRUZdPVwibnVsbFwiXG4gICAgW0VYQ19SRUZFUkVOQ0VdPVwiY2FzZVJlZmVyZW5jZVwiXG4gICAgW0RDTl9OVU1CRVJdPVwibnVsbFwiXG4gICAgW1NFTEVDVEVEX09QVElPTl09XCInQ0NEb3JFeGNlcHRpb24nXCJcbiAgICBbTE9HR0VESU5VU0VSUk9MRVNdPVwiZ2V0VXNlclJvbGVzKClcIlxuICAgIFtDQVJEUEFZTUVOVFJFVFVSTlVSTF09XCJnZXRDYXJkUGF5bWVudFJldHVyblVybCgpXCJcbiAgICBbSVNQQVlNRU5UU1RBVFVTRU5BQkxFRF09XCInRW5hYmxlJ1wiXG4+PC9jY3BheS1wYXltZW50LWxpYj4iXX0=
|