vcomply-workflow-engine 3.2.3 → 3.2.4
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/esm2020/lib/more-option/more-option.component.mjs +11 -10
- package/esm2020/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +2 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +3 -3
- package/esm2020/lib/sharedComponents/review-frequency/review-frequency.component.mjs +3 -3
- package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +6 -78
- package/esm2020/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +3 -3
- package/esm2020/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +1 -1
- package/esm2020/lib/workflow/shared/components/attributes/attributes.component.mjs +1 -1
- package/esm2020/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +10 -32
- package/esm2020/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +3 -18
- package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +60 -62
- package/esm2020/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +11 -77
- package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +2 -24
- package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +5 -5
- package/esm2020/lib/workflow/shared/constants/field-text.constant.mjs +1 -3
- package/esm2020/lib/workflow/shared/interfaces/add-grc.mjs +1 -1
- package/esm2020/lib/workflow/shared/services/grc.service.mjs +1 -83
- package/esm2020/lib/workflow-engine-container/workflow-engine-container.component.mjs +3 -3
- package/esm2020/lib/workflow-engine.module.mjs +5 -2
- package/esm2020/lib/workflow-grc/workflow-grc.component.mjs +2 -2
- package/esm2020/lib/workflow-policy/workflow-policy.component.mjs +2 -2
- package/esm2020/lib/workflow-risk/workflow-risk.component.mjs +3 -3
- package/fesm2015/vcomply-workflow-engine.mjs +69 -922
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +67 -906
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -8
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +0 -2
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -2
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -5
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +9 -11
- package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +2 -17
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +2 -2
- package/lib/workflow/shared/constants/field-text.constant.d.ts +0 -2
- package/lib/workflow/shared/interfaces/add-grc.d.ts +1 -3
- package/lib/workflow/shared/services/grc.service.d.ts +0 -10
- package/lib/workflow-engine.module.d.ts +33 -32
- package/package.json +1 -1
- package/esm2020/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +0 -191
- package/esm2020/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +0 -393
- package/esm2020/lib/workflow/shared/constants/link-responsibility.constant.mjs +0 -19
- package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +0 -35
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +0 -76
- package/lib/workflow/shared/constants/link-responsibility.constant.d.ts +0 -7
|
@@ -279,10 +279,10 @@ export class FrequencyDialogContainerComponent {
|
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
FrequencyDialogContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyDialogContainerComponent, deps: [{ token: i1.FrequencyService }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
282
|
-
FrequencyDialogContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyDialogContainerComponent, selector: "app-frequency-dialog-container", inputs: { mode: "mode", getFrequencyDetails: ["frequencyDetails", "getFrequencyDetails"] }, outputs: { selectedFrequency: "selectedFrequency", closeFrequency: "closeFrequency" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"frequency-dialog\">\r\n <div class=\"frequency-dialog-head vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\">\r\n <div class=\"frequency-dialog-title vx-fs-14 vx-fw-500 vx-label-txt\">Set a Reassessment Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body\">\r\n <div class=\"frequency-dialog-tab vx-mb-3 vx-d-flex\">\r\n <button (click)=\"switchTab('weekly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'weekly'\">WEEKLY</button>\r\n <button (click)=\"switchTab('monthly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'monthly'\">MONTHLY</button>\r\n <button (click)=\"switchTab('quarterly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'quarterly'\">QUARTERLY</button>\r\n <button (click)=\"switchTab('biannual')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'biannual'\">BIANNUAL</button>\r\n <button (click)=\"switchTab('annual')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'annual'\">ANNUAL</button>\r\n <button (click)=\"switchTab('oneTime')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'oneTime'\">ONE TIME</button>\r\n </div>\r\n\r\n <div class=\"frequency-dialog-container\">\r\n <!-- <app-frequency-dialog-weekly *ngIf=\"frequencyTab === 'WEEKLY'\"></app-frequency-dialog-weekly> -->\r\n <app-frequency-dialog-weekly *ngIf=\"frequencyTab === 'weekly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-dialog-weekly>\r\n <!-- <app-frequency-dialog-monthly *ngIf=\"frequencyTab === 'MONTHLY'\"></app-frequency-dialog-monthly> -->\r\n <app-frequency-dialog-monthly *ngIf=\"frequencyTab === 'monthly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-monthly>\r\n <!-- <app-frequency-dialog-quarterly *ngIf=\"frequencyTab === 'QUARTERLY'\"></app-frequency-dialog-quarterly>\r\n <app-frequency-dialog-biannual *ngIf=\"frequencyTab === 'BIANNUAL'\"></app-frequency-dialog-biannual>\r\n <app-frequency-dialog-annual *ngIf=\"frequencyTab === 'ANNUAL'\"></app-frequency-dialog-annual>\r\n <app-frequency-dialog-one-time *ngIf=\"frequencyTab === 'ONETIME'\"></app-frequency-dialog-one-time> -->\r\n <app-frequency-dialog-quarterly \r\n *ngIf=\"frequencyTab === 'quarterly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-quarterly>\r\n <app-frequency-dialog-biannual \r\n *ngIf=\"frequencyTab === 'biannual'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-biannual>\r\n <app-frequency-dialog-annual \r\n *ngIf=\"frequencyTab === 'annual'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-annual>\r\n <app-frequency-dialog-one-time \r\n *ngIf=\"frequencyTab === 'oneTime'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-one-time>\r\n </div>\r\n </div>\r\n <div class=\"frequency-dialog-footer vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-3\">\r\n <div class=\"vx-fs-12 vx-paragraph-txt\">You have selected <span class=\"vx-fw-500 vx-label-txt\">{{currentTabName}}</span> frequency.</div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button class=\"cancel-btn vx-fs-11 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-lh-7\" (click)=\"close()\">CANCEL</button>\r\n <button class=\"next-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-lh-7\" [class.disabled]=\"isNextDisabled\" (click)=\"save()\">NEXT <i class=\"icons vx-fs-14 vx-ml-2\"></i></button>\r\n </div>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog{border-top:3px solid #1E5DD3;position:fixed;top:0;right:31.25rem;bottom:0;left:0;z-index:11}::ng-deep .frequency-dialog-head{background:#FBFBFB;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-dialog-body{padding:1rem 2rem!important;height:calc(100vh - 7.75rem);overflow:auto}::ng-deep .frequency-dialog-container{padding:1rem}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-container{padding:0!important}}::ng-deep .frequency-dialog-tab{border-bottom:1px solid #f1f1f1}::ng-deep .frequency-dialog-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;margin-right:1.75rem!important}::ng-deep .frequency-dialog-tab button.active.tab-btn{color:#1e5dd3;border-color:#1e5dd3}::ng-deep .frequency-dialog-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef40;height:3rem;margin:0 2rem}::ng-deep .frequency-dialog-footer button{border-radius:.125rem;border:none}::ng-deep .frequency-dialog-footer button.cancel-btn{background:transparent}::ng-deep .frequency-dialog-footer button.next-btn{background:#1E5DD3}::ng-deep .frequency-dialog-footer button.disabled{background:#f1f1f1!important;color:#747576!important;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FrequencyDialogWeeklyComponent, selector: "app-frequency-dialog-weekly", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i5.FrequencyDialogMonthlyComponent, selector: "app-frequency-dialog-monthly", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i6.FrequencyDialogQuarterlyComponent, selector: "app-frequency-dialog-quarterly", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i7.FrequencyDialogBiannualComponent, selector: "app-frequency-dialog-biannual", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i8.FrequencyDialogAnnualComponent, selector: "app-frequency-dialog-annual", inputs: ["frequencyData", "mode", "startDate"], outputs: ["frequencyDetails"] }, { kind: "component", type: i9.FrequencyDialogOneTimeComponent, selector: "app-frequency-dialog-one-time", inputs: ["frequencyData", "mode"], outputs: ["frequencyDetails"] }] });
|
|
282
|
+
FrequencyDialogContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyDialogContainerComponent, selector: "app-frequency-dialog-container", inputs: { mode: "mode", getFrequencyDetails: ["frequencyDetails", "getFrequencyDetails"] }, outputs: { selectedFrequency: "selectedFrequency", closeFrequency: "closeFrequency" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"risk-frequency-dialog\">\r\n <div class=\"risk-frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"risk-frequency-dialog-title vx-fs-14 vx-fw-500 vx-label-txt\">Set a Reassessment Frequency</div>\r\n </div>\r\n <div class=\"risk-frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"risk-frequency-dialog-body-inner\">\r\n <div class=\"risk-frequency-dialog-tab vx-d-flex vx-align-center\">\r\n <button (click)=\"switchTab('weekly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'weekly'\">WEEKLY</button>\r\n <button (click)=\"switchTab('monthly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'monthly'\">MONTHLY</button>\r\n <button (click)=\"switchTab('quarterly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'quarterly'\">QUARTERLY</button>\r\n <button (click)=\"switchTab('biannual')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'biannual'\">BIANNUAL</button>\r\n <button (click)=\"switchTab('annual')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'annual'\">ANNUAL</button>\r\n <button (click)=\"switchTab('oneTime')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'oneTime'\">ONE TIME</button>\r\n </div>\r\n\r\n <div class=\"risk-frequency-dialog-container vx-pl-4 vx-pr-4\">\r\n <!-- <app-frequency-dialog-weekly *ngIf=\"frequencyTab === 'WEEKLY'\"></app-frequency-dialog-weekly> -->\r\n <app-frequency-dialog-weekly *ngIf=\"frequencyTab === 'weekly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-dialog-weekly>\r\n <!-- <app-frequency-dialog-monthly *ngIf=\"frequencyTab === 'MONTHLY'\"></app-frequency-dialog-monthly> -->\r\n <app-frequency-dialog-monthly *ngIf=\"frequencyTab === 'monthly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-monthly>\r\n <!-- <app-frequency-dialog-quarterly *ngIf=\"frequencyTab === 'QUARTERLY'\"></app-frequency-dialog-quarterly>\r\n <app-frequency-dialog-biannual *ngIf=\"frequencyTab === 'BIANNUAL'\"></app-frequency-dialog-biannual>\r\n <app-frequency-dialog-annual *ngIf=\"frequencyTab === 'ANNUAL'\"></app-frequency-dialog-annual>\r\n <app-frequency-dialog-one-time *ngIf=\"frequencyTab === 'ONETIME'\"></app-frequency-dialog-one-time> -->\r\n <app-frequency-dialog-quarterly \r\n *ngIf=\"frequencyTab === 'quarterly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-quarterly>\r\n <app-frequency-dialog-biannual \r\n *ngIf=\"frequencyTab === 'biannual'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-biannual>\r\n <app-frequency-dialog-annual \r\n *ngIf=\"frequencyTab === 'annual'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-annual>\r\n <app-frequency-dialog-one-time \r\n *ngIf=\"frequencyTab === 'oneTime'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-one-time>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"risk-frequency-dialog-footer vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-fs-12 vx-paragraph-txt\">You have selected <span class=\"vx-fw-500 vx-label-txt\">{{currentTabName}}</span> frequency.</div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button class=\"cancel-btn vx-fs-11 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" (click)=\"close()\">CANCEL</button>\r\n <button class=\"next-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-lh-6\" [class.disabled]=\"isNextDisabled\" (click)=\"save()\">NEXT <i class=\"icons vx-fs-11 vx-ml-2\"></i></button>\r\n </div>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .risk-frequency-dialog{position:fixed;top:0;right:31.25rem;bottom:0;left:0;z-index:11}::ng-deep .risk-frequency-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}@media screen and (max-width: 1280px){::ng-deep .risk-frequency-dialog{right:30px}}::ng-deep .risk-frequency-dialog-head{background:#FBFBFB;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .risk-frequency-dialog-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .risk-frequency-dialog-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .risk-frequency-dialog-body-inner{width:54.5rem;margin:0 auto}@media screen and (min-width: 1366px){::ng-deep .risk-frequency-dialog-body-inner{width:auto}}::ng-deep .risk-frequency-dialog-tab{border-bottom:1px solid #f1f1f1;margin-bottom:1.5rem}::ng-deep .risk-frequency-dialog-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;margin-right:1.75rem!important}::ng-deep .risk-frequency-dialog-tab button.active.tab-btn{color:#1e5dd3;border-color:#1e5dd3}::ng-deep .risk-frequency-dialog-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef26;height:3rem;margin:0 2rem}::ng-deep .risk-frequency-dialog-footer button{border-radius:.125rem;border:none}::ng-deep .risk-frequency-dialog-footer button.cancel-btn{background:transparent}::ng-deep .risk-frequency-dialog-footer button.next-btn{background:#1E5DD3}::ng-deep .risk-frequency-dialog-footer button.disabled{background:#f1f1f1!important;color:#747576!important;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FrequencyDialogWeeklyComponent, selector: "app-frequency-dialog-weekly", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i5.FrequencyDialogMonthlyComponent, selector: "app-frequency-dialog-monthly", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i6.FrequencyDialogQuarterlyComponent, selector: "app-frequency-dialog-quarterly", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i7.FrequencyDialogBiannualComponent, selector: "app-frequency-dialog-biannual", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i8.FrequencyDialogAnnualComponent, selector: "app-frequency-dialog-annual", inputs: ["frequencyData", "mode", "startDate"], outputs: ["frequencyDetails"] }, { kind: "component", type: i9.FrequencyDialogOneTimeComponent, selector: "app-frequency-dialog-one-time", inputs: ["frequencyData", "mode"], outputs: ["frequencyDetails"] }] });
|
|
283
283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyDialogContainerComponent, decorators: [{
|
|
284
284
|
type: Component,
|
|
285
|
-
args: [{ selector: 'app-frequency-dialog-container', template: "<div class=\"frequency-dialog\">\r\n <div class=\"frequency-dialog-head vx-
|
|
285
|
+
args: [{ selector: 'app-frequency-dialog-container', template: "<div class=\"risk-frequency-dialog\">\r\n <div class=\"risk-frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"risk-frequency-dialog-title vx-fs-14 vx-fw-500 vx-label-txt\">Set a Reassessment Frequency</div>\r\n </div>\r\n <div class=\"risk-frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"risk-frequency-dialog-body-inner\">\r\n <div class=\"risk-frequency-dialog-tab vx-d-flex vx-align-center\">\r\n <button (click)=\"switchTab('weekly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'weekly'\">WEEKLY</button>\r\n <button (click)=\"switchTab('monthly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'monthly'\">MONTHLY</button>\r\n <button (click)=\"switchTab('quarterly')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'quarterly'\">QUARTERLY</button>\r\n <button (click)=\"switchTab('biannual')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'biannual'\">BIANNUAL</button>\r\n <button (click)=\"switchTab('annual')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'annual'\">ANNUAL</button>\r\n <button (click)=\"switchTab('oneTime')\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" [class.active]=\"frequencyTab === 'oneTime'\">ONE TIME</button>\r\n </div>\r\n\r\n <div class=\"risk-frequency-dialog-container vx-pl-4 vx-pr-4\">\r\n <!-- <app-frequency-dialog-weekly *ngIf=\"frequencyTab === 'WEEKLY'\"></app-frequency-dialog-weekly> -->\r\n <app-frequency-dialog-weekly *ngIf=\"frequencyTab === 'weekly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-dialog-weekly>\r\n <!-- <app-frequency-dialog-monthly *ngIf=\"frequencyTab === 'MONTHLY'\"></app-frequency-dialog-monthly> -->\r\n <app-frequency-dialog-monthly *ngIf=\"frequencyTab === 'monthly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-monthly>\r\n <!-- <app-frequency-dialog-quarterly *ngIf=\"frequencyTab === 'QUARTERLY'\"></app-frequency-dialog-quarterly>\r\n <app-frequency-dialog-biannual *ngIf=\"frequencyTab === 'BIANNUAL'\"></app-frequency-dialog-biannual>\r\n <app-frequency-dialog-annual *ngIf=\"frequencyTab === 'ANNUAL'\"></app-frequency-dialog-annual>\r\n <app-frequency-dialog-one-time *ngIf=\"frequencyTab === 'ONETIME'\"></app-frequency-dialog-one-time> -->\r\n <app-frequency-dialog-quarterly \r\n *ngIf=\"frequencyTab === 'quarterly'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-quarterly>\r\n <app-frequency-dialog-biannual \r\n *ngIf=\"frequencyTab === 'biannual'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-biannual>\r\n <app-frequency-dialog-annual \r\n *ngIf=\"frequencyTab === 'annual'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-annual>\r\n <app-frequency-dialog-one-time \r\n *ngIf=\"frequencyTab === 'oneTime'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\">\r\n </app-frequency-dialog-one-time>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"risk-frequency-dialog-footer vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-fs-12 vx-paragraph-txt\">You have selected <span class=\"vx-fw-500 vx-label-txt\">{{currentTabName}}</span> frequency.</div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button class=\"cancel-btn vx-fs-11 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-lh-6\" (click)=\"close()\">CANCEL</button>\r\n <button class=\"next-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-lh-6\" [class.disabled]=\"isNextDisabled\" (click)=\"save()\">NEXT <i class=\"icons vx-fs-11 vx-ml-2\"></i></button>\r\n </div>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .risk-frequency-dialog{position:fixed;top:0;right:31.25rem;bottom:0;left:0;z-index:11}::ng-deep .risk-frequency-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}@media screen and (max-width: 1280px){::ng-deep .risk-frequency-dialog{right:30px}}::ng-deep .risk-frequency-dialog-head{background:#FBFBFB;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .risk-frequency-dialog-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .risk-frequency-dialog-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .risk-frequency-dialog-body-inner{width:54.5rem;margin:0 auto}@media screen and (min-width: 1366px){::ng-deep .risk-frequency-dialog-body-inner{width:auto}}::ng-deep .risk-frequency-dialog-tab{border-bottom:1px solid #f1f1f1;margin-bottom:1.5rem}::ng-deep .risk-frequency-dialog-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;margin-right:1.75rem!important}::ng-deep .risk-frequency-dialog-tab button.active.tab-btn{color:#1e5dd3;border-color:#1e5dd3}::ng-deep .risk-frequency-dialog-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef26;height:3rem;margin:0 2rem}::ng-deep .risk-frequency-dialog-footer button{border-radius:.125rem;border:none}::ng-deep .risk-frequency-dialog-footer button.cancel-btn{background:transparent}::ng-deep .risk-frequency-dialog-footer button.next-btn{background:#1E5DD3}::ng-deep .risk-frequency-dialog-footer button.disabled{background:#f1f1f1!important;color:#747576!important;pointer-events:none}\n"] }]
|
|
286
286
|
}], ctorParameters: function () { return [{ type: i1.FrequencyService }, { type: i2.SnackBarService }]; }, propDecorators: { mode: [{
|
|
287
287
|
type: Input
|
|
288
288
|
}], getFrequencyDetails: [{
|
|
@@ -293,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
293
293
|
}], closeFrequency: [{
|
|
294
294
|
type: Output
|
|
295
295
|
}] } });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lci9mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFTbkMsTUFBTSxPQUFPLGlDQUFpQztJQXNFNUMsWUFDVSxnQkFBa0MsRUFDbEMsUUFBeUI7UUFEekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQXZFbkMsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUN0QixxQkFBZ0IsR0FBUTtZQUN0QixPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxDQUFDO1lBQ1QsVUFBVSxFQUFFLEVBQUU7WUFDZCxzQkFBc0IsRUFBRSxDQUFDO1lBQ3pCLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQztRQUNGLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLG1CQUFjLEdBQUcsVUFBVSxDQUFD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aUIsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQjtZQUN4RCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQjtTQUNuRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7OEhBL1JVLGlDQUFpQztrSEFBakMsaUNBQWlDLDhRQ1Y5QyxvcEtBZ0VNOzJGRHRETyxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsZ0NBQWdDO3FJQTZEakMsSUFBSTtzQkFBWixLQUFLO2dCQUN5QixtQkFBbUI7c0JBQWpELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVNmLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjdXJyZW50VGFiID0gJ1dFRUtMWSc7XHJcbiAgZnJlcXVlbmN5RGV0YWlsczogYW55ID0ge1xyXG4gICAgcGF0dGVybjogJycsXHJcbiAgICB3aW5kb3c6IDAsXHJcbiAgICB0aW1lSW4xMmhyOiAnJyxcclxuICAgIGNhbl9hc3Nlc3NfYmVmb3JlX2RheXM6IDAsXHJcbiAgICBmYWlsZWRfYWZ0ZXJfZGF5czogMCxcclxuICB9O1xyXG4gIGlzTmV4dERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgY3VycmVudFRhYk5hbWUgPSAnYSB3ZWVrbHknO1xyXG4gIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBmcmVxdWVuY3lMaXN0ID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRGFpbHknLFxyXG4gICAgICB0eXBlOiAnZGFpbHknLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ1dlZWtseScsXHJcbiAgICAgIHR5cGU6ICd3ZWVrbHknLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ01vbnRobHknLFxyXG4gICAgICB0eXBlOiAnbW9udGhseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnUXVhcnRlcmx5JyxcclxuICAgICAgdHlwZTogJ3F1YXJ0ZXJseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQmlhbm51YWwnLFxyXG4gICAgICB0eXBlOiAnYmlhbm51YWwnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0FubnVhbCcsXHJcbiAgICAgIHR5cGU6ICdhbm51YWwnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uZSBUaW1lJyxcclxuICAgICAgdHlwZTogJ29uZVRpbWUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ1JhbmRvbScsXHJcbiAgICAgIHR5cGU6ICdyYW5kb20nLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uIENvbXBsZXRpb24gT2YnLFxyXG4gICAgICB0eXBlOiAnb25Db21wbGV0aW9uT2YnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uZ29pbmcnLFxyXG4gICAgICB0eXBlOiAnb25nb2luZycsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VsZWN0ZWRGcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG4gIEBJbnB1dCgnZnJlcXVlbmN5RGV0YWlscycpIHNldCBnZXRGcmVxdWVuY3lEZXRhaWxzKGZyZXF1ZW5jeTogYW55KSB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHNbJ3BhdHRlcm4nXSA9IGZyZXF1ZW5jeT8uZnJlcXVlbmN5O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzWyd3aW5kb3cnXSA9IGZyZXF1ZW5jeT8ucmVtaW5kX2JlZm9yZV9kYXlzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzWydmYWlsZWRUaW1lJ10gPSBmcmVxdWVuY3k/LmZyZXF1ZW5jeV90aW1lO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzWydmYWlsZWRfYWZ0ZXJfZGF5cyddID0gZnJlcXVlbmN5Py5mYWlsZWRfYWZ0ZXJfZGF5cztcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlsc1snY2FuX2Fzc2Vzc19iZWZvcmVfZGF5cyddID1cclxuICAgICAgZnJlcXVlbmN5Py5jYW5fYXNzZXNzX2JlZm9yZV9kYXlzO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuICE9ICcnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeURhdGEgPSBPYmplY3QuYXNzaWduKHsgLi4udGhpcy5mcmVxdWVuY3lEZXRhaWxzIH0pO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEYXRhID0gT2JqZWN0LmFzc2lnbih7IC4uLnRoaXMuZnJlcXVlbmN5RGV0YWlscyB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyZXF1ZW5jeS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkZyZXF1ZW5jeVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGF0YSA9IGV2ZW50O1xyXG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IHRoaXMuaXNJbnZhbGlkKCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeVBhdHRlcm4gPSBwYXJzZUludChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuLnNwbGl0KCd+JylbMF1cclxuICAgICk7XHJcbiAgICBzd2l0Y2ggKGZyZXF1ZW5jeVBhdHRlcm4pIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZVRpbWUnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBvbmUgdGltZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIHdlZWtseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdtb250aGx5JztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgbW9udGhseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdhbm51YWwnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gYW5udWFsICc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uQ29tcGxldGlvbk9mJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2FuIG9uIGNvbXBsZXRpb24gb2YnO1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRfaWQgPSB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBxdWFydGVybHknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAncmFuZG9tJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgcmFuZG9tJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2JpYW5udWFsJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgYmlhbm51YWwnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gb25nb2luZyc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hUYWIoZnJlcXVlbmN5OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gZnJlcXVlbmN5O1xyXG4gICAgaWYgKGZyZXF1ZW5jeSA9PSAnb25lVGltZScpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIG9uZSB0aW1lJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPVxyXG4gICAgICAgIGZyZXF1ZW5jeS5zdGFydHNXaXRoKCdPbicpIHx8IGZyZXF1ZW5jeS50b0xvd2VyQ2FzZSgpID09PSAnYW5udWFsJ1xyXG4gICAgICAgICAgPyAnYW4gJyArIGZyZXF1ZW5jeVxyXG4gICAgICAgICAgOiAnYSAnICsgZnJlcXVlbmN5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybj8uc3BsaXQoJ34nKTtcclxuICAgIHN3aXRjaCAodGhpcy5mcmVxdWVuY3lUYWIpIHtcclxuICAgICAgY2FzZSAnZGFpbHknOlxyXG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcclxuICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd3ZWVrbHknOlxyXG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcclxuICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlsc1sxXSA9PSAnJyB8fFxyXG4gICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMV0gfHxcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHMubGVuZ3RoIDwgNFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0gPT0gJycgfHxcclxuICAgICAgICAgICFmcmVxdWVuY3lEZXRhaWxzWzJdIHx8XHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JpYW5udWFsJzpcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA9PT0gMCB8fFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlsc1syXSA9PT0gJycgfHxcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKT8ubGVuZ3RoIDwgMlxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbmVUaW1lJzpcclxuICAgICAgICBpZiAoZnJlcXVlbmN5RGV0YWlscz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaW1lID0gbW9tZW50KFxyXG4gICAgICAgICAgICBgJHtmcmVxdWVuY3lEZXRhaWxzWzNdfS0ke2ZyZXF1ZW5jeURldGFpbHNbMl19LSR7ZnJlcXVlbmN5RGV0YWlsc1sxXX0gJHt0aGlzLmZyZXF1ZW5jeURhdGEudGltZUluMTJocn1gLFxyXG4gICAgICAgICAgICAnREQtTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICAgICAgKS51bml4KCk7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZS5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKT8uZ2V0VGltZSgpIC8gMTAwMCA+XHJcbiAgICAgICAgICAgIHNlbGVjdGVkVGltZVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnUGxlYXNlIHNldCBhIGZ1dHVyZSBkYXRlLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbkNvbXBsZXRpb25PZic6XHJcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRJZCA+IDApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3JhbmRvbSc6XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT0gMiAmJlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHNbMl0gPT0gJycgfHxcclxuICAgICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMl0gfHxcclxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBsZXQgZnJlcXVlbmN5X2RldGFpbHMgPSB7XHJcbiAgICAgIGZyZXF1ZW5jeTogdGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLFxyXG4gICAgICBzdGFydGVkX2F0OiB0aGlzLmZyZXF1ZW5jeVNlcnZpY2U/LmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpXHJcbiAgICAgICAgPyBtb21lbnQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlPy5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKSk/LmZvcm1hdChcclxuICAgICAgICAgICAgJ1lZWVktTU0tREQnXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgOiBtb21lbnQoKS5mb3JtYXQoJ1lZWVktTU0tREQnKSxcclxuICAgICAgZnJlcXVlbmN5X3RpbWU6IHRoaXMuZnJlcXVlbmN5RGF0YT8udGltZUluMTJocixcclxuICAgICAgcmVtaW5kX2JlZm9yZV9kYXlzOiB0aGlzLmZyZXF1ZW5jeURhdGE/LndpbmRvdyxcclxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGxhY2Vob2xkZXIsXHJcbiAgICAgIGZhaWxlZF9hZnRlcl9kYXlzOiB0aGlzLmZyZXF1ZW5jeURhdGE/LmZhaWxlZF9hZnRlcl9kYXlzLFxyXG4gICAgICBjYW5fYXNzZXNzX2JlZm9yZV9kYXlzOiB0aGlzLmZyZXF1ZW5jeURhdGE/LmNhbl9hc3Nlc3NfYmVmb3JlX2RheXMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeS5lbWl0KGZyZXF1ZW5jeV9kZXRhaWxzKTtcclxuICAgIHRoaXMuY2xvc2VGcmVxdWVuY3kuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctaGVhZCB2eC1wbC0zIHZ4LXByLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZXQgYSBSZWFzc2Vzc21lbnQgRnJlcXVlbmN5PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy10YWIgdngtbWItMyB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCd3ZWVrbHknKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTZcIiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PT0gJ3dlZWtseSdcIj5XRUVLTFk8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdtb250aGx5JylcIiBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC02XCIgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUYWIgPT09ICdtb250aGx5J1wiPk1PTlRITFk8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdxdWFydGVybHknKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTZcIiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PT0gJ3F1YXJ0ZXJseSdcIj5RVUFSVEVSTFk8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdiaWFubnVhbCcpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNlwiIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VGFiID09PSAnYmlhbm51YWwnXCI+QklBTk5VQUw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdhbm51YWwnKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTZcIiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PT0gJ2FubnVhbCdcIj5BTk5VQUw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdvbmVUaW1lJylcIiBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC02XCIgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUYWIgPT09ICdvbmVUaW1lJ1wiPk9ORSBUSU1FPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8IS0tIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy13ZWVrbHkgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdXRUVLTFknXCI+PC9hcHAtZnJlcXVlbmN5LWRpYWxvZy13ZWVrbHk+IC0tPlxyXG4gICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctd2Vla2x5ICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnd2Vla2x5J1wiXHJcbiAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctd2Vla2x5PlxyXG4gICAgICAgICAgICA8IS0tIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1tb250aGx5ICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnTU9OVEhMWSdcIj48L2FwcC1mcmVxdWVuY3ktZGlhbG9nLW1vbnRobHk+IC0tPlxyXG4gICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctbW9udGhseSAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ21vbnRobHknXCJcclxuICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj5cclxuICAgICAgICAgICAgPC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1tb250aGx5PlxyXG4gICAgICAgICAgICA8IS0tIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1xdWFydGVybHkgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdRVUFSVEVSTFknXCI+PC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1xdWFydGVybHk+XHJcbiAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbCAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ0JJQU5OVUFMJ1wiPjwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctYmlhbm51YWw+XHJcbiAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1hbm51YWwgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdBTk5VQUwnXCI+PC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1hbm51YWw+XHJcbiAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZSAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ09ORVRJTUUnXCI+PC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZT4gLS0+XHJcbiAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1xdWFydGVybHkgXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ3F1YXJ0ZXJseSdcIlxyXG4gICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICA8L2FwcC1mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseT5cclxuICAgICAgICAgICAgPGFwcC1mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsIFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdiaWFubnVhbCdcIlxyXG4gICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICA8L2FwcC1mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsPlxyXG4gICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsIFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdhbm51YWwnXCJcclxuICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj5cclxuICAgICAgICAgICAgPC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1hbm51YWw+XHJcbiAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZSBcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnb25lVGltZSdcIlxyXG4gICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICA8L2FwcC1mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1mb290ZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIj5Zb3UgaGF2ZSBzZWxlY3RlZCA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj57e2N1cnJlbnRUYWJOYW1lfX08L3NwYW4+IGZyZXF1ZW5jeS48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXJlZCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBsLTIgdngtcHItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC03XCIgKGNsaWNrKT1cImNsb3NlKClcIj5DQU5DRUw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5leHQtYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC03XCIgW2NsYXNzLmRpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCIgKGNsaWNrKT1cInNhdmUoKVwiPk5FWFQgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xNCB2eC1tbC0yXCI+JiN4ZTkxZTs8L2k+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lci9mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFTbkMsTUFBTSxPQUFPLGlDQUFpQztJQXNFNUMsWUFDVSxnQkFBa0MsRUFDbEMsUUFBeUI7UUFEekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQXZFbkMsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUN0QixxQkFBZ0IsR0FBUTtZQUN0QixPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxDQUFDO1lBQ1QsVUFBVSxFQUFFLEVBQUU7WUFDZCxzQkFBc0IsRUFBRSxDQUFDO1lBQ3pCLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQztRQUNGLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLG1CQUFjLEdBQUcsVUFBVSxDQUFD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aUIsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQjtZQUN4RCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQjtTQUNuRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7OEhBL1JVLGlDQUFpQztrSEFBakMsaUNBQWlDLDhRQ1Y5Qyw4Z0xBa0VNOzJGRHhETyxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsZ0NBQWdDO3FJQTZEakMsSUFBSTtzQkFBWixLQUFLO2dCQUN5QixtQkFBbUI7c0JBQWpELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVNmLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjdXJyZW50VGFiID0gJ1dFRUtMWSc7XHJcbiAgZnJlcXVlbmN5RGV0YWlsczogYW55ID0ge1xyXG4gICAgcGF0dGVybjogJycsXHJcbiAgICB3aW5kb3c6IDAsXHJcbiAgICB0aW1lSW4xMmhyOiAnJyxcclxuICAgIGNhbl9hc3Nlc3NfYmVmb3JlX2RheXM6IDAsXHJcbiAgICBmYWlsZWRfYWZ0ZXJfZGF5czogMCxcclxuICB9O1xyXG4gIGlzTmV4dERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgY3VycmVudFRhYk5hbWUgPSAnYSB3ZWVrbHknO1xyXG4gIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBmcmVxdWVuY3lMaXN0ID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRGFpbHknLFxyXG4gICAgICB0eXBlOiAnZGFpbHknLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ1dlZWtseScsXHJcbiAgICAgIHR5cGU6ICd3ZWVrbHknLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ01vbnRobHknLFxyXG4gICAgICB0eXBlOiAnbW9udGhseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnUXVhcnRlcmx5JyxcclxuICAgICAgdHlwZTogJ3F1YXJ0ZXJseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQmlhbm51YWwnLFxyXG4gICAgICB0eXBlOiAnYmlhbm51YWwnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0FubnVhbCcsXHJcbiAgICAgIHR5cGU6ICdhbm51YWwnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uZSBUaW1lJyxcclxuICAgICAgdHlwZTogJ29uZVRpbWUnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ1JhbmRvbScsXHJcbiAgICAgIHR5cGU6ICdyYW5kb20nLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uIENvbXBsZXRpb24gT2YnLFxyXG4gICAgICB0eXBlOiAnb25Db21wbGV0aW9uT2YnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uZ29pbmcnLFxyXG4gICAgICB0eXBlOiAnb25nb2luZycsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VsZWN0ZWRGcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG4gIEBJbnB1dCgnZnJlcXVlbmN5RGV0YWlscycpIHNldCBnZXRGcmVxdWVuY3lEZXRhaWxzKGZyZXF1ZW5jeTogYW55KSB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHNbJ3BhdHRlcm4nXSA9IGZyZXF1ZW5jeT8uZnJlcXVlbmN5O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzWyd3aW5kb3cnXSA9IGZyZXF1ZW5jeT8ucmVtaW5kX2JlZm9yZV9kYXlzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzWydmYWlsZWRUaW1lJ10gPSBmcmVxdWVuY3k/LmZyZXF1ZW5jeV90aW1lO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzWydmYWlsZWRfYWZ0ZXJfZGF5cyddID0gZnJlcXVlbmN5Py5mYWlsZWRfYWZ0ZXJfZGF5cztcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlsc1snY2FuX2Fzc2Vzc19iZWZvcmVfZGF5cyddID1cclxuICAgICAgZnJlcXVlbmN5Py5jYW5fYXNzZXNzX2JlZm9yZV9kYXlzO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuICE9ICcnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeURhdGEgPSBPYmplY3QuYXNzaWduKHsgLi4udGhpcy5mcmVxdWVuY3lEZXRhaWxzIH0pO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEYXRhID0gT2JqZWN0LmFzc2lnbih7IC4uLnRoaXMuZnJlcXVlbmN5RGV0YWlscyB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyZXF1ZW5jeS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkZyZXF1ZW5jeVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGF0YSA9IGV2ZW50O1xyXG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IHRoaXMuaXNJbnZhbGlkKCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeVBhdHRlcm4gPSBwYXJzZUludChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuLnNwbGl0KCd+JylbMF1cclxuICAgICk7XHJcbiAgICBzd2l0Y2ggKGZyZXF1ZW5jeVBhdHRlcm4pIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZVRpbWUnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBvbmUgdGltZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIHdlZWtseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdtb250aGx5JztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgbW9udGhseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdhbm51YWwnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gYW5udWFsICc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uQ29tcGxldGlvbk9mJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2FuIG9uIGNvbXBsZXRpb24gb2YnO1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRfaWQgPSB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBxdWFydGVybHknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAncmFuZG9tJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgcmFuZG9tJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2JpYW5udWFsJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgYmlhbm51YWwnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gb25nb2luZyc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hUYWIoZnJlcXVlbmN5OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gZnJlcXVlbmN5O1xyXG4gICAgaWYgKGZyZXF1ZW5jeSA9PSAnb25lVGltZScpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIG9uZSB0aW1lJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPVxyXG4gICAgICAgIGZyZXF1ZW5jeS5zdGFydHNXaXRoKCdPbicpIHx8IGZyZXF1ZW5jeS50b0xvd2VyQ2FzZSgpID09PSAnYW5udWFsJ1xyXG4gICAgICAgICAgPyAnYW4gJyArIGZyZXF1ZW5jeVxyXG4gICAgICAgICAgOiAnYSAnICsgZnJlcXVlbmN5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybj8uc3BsaXQoJ34nKTtcclxuICAgIHN3aXRjaCAodGhpcy5mcmVxdWVuY3lUYWIpIHtcclxuICAgICAgY2FzZSAnZGFpbHknOlxyXG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcclxuICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd3ZWVrbHknOlxyXG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcclxuICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlsc1sxXSA9PSAnJyB8fFxyXG4gICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMV0gfHxcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHMubGVuZ3RoIDwgNFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0gPT0gJycgfHxcclxuICAgICAgICAgICFmcmVxdWVuY3lEZXRhaWxzWzJdIHx8XHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JpYW5udWFsJzpcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA9PT0gMCB8fFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlsc1syXSA9PT0gJycgfHxcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKT8ubGVuZ3RoIDwgMlxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbmVUaW1lJzpcclxuICAgICAgICBpZiAoZnJlcXVlbmN5RGV0YWlscz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaW1lID0gbW9tZW50KFxyXG4gICAgICAgICAgICBgJHtmcmVxdWVuY3lEZXRhaWxzWzNdfS0ke2ZyZXF1ZW5jeURldGFpbHNbMl19LSR7ZnJlcXVlbmN5RGV0YWlsc1sxXX0gJHt0aGlzLmZyZXF1ZW5jeURhdGEudGltZUluMTJocn1gLFxyXG4gICAgICAgICAgICAnREQtTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICAgICAgKS51bml4KCk7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZS5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKT8uZ2V0VGltZSgpIC8gMTAwMCA+XHJcbiAgICAgICAgICAgIHNlbGVjdGVkVGltZVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnUGxlYXNlIHNldCBhIGZ1dHVyZSBkYXRlLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbkNvbXBsZXRpb25PZic6XHJcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRJZCA+IDApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3JhbmRvbSc6XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT0gMiAmJlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHNbMl0gPT0gJycgfHxcclxuICAgICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMl0gfHxcclxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBsZXQgZnJlcXVlbmN5X2RldGFpbHMgPSB7XHJcbiAgICAgIGZyZXF1ZW5jeTogdGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLFxyXG4gICAgICBzdGFydGVkX2F0OiB0aGlzLmZyZXF1ZW5jeVNlcnZpY2U/LmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpXHJcbiAgICAgICAgPyBtb21lbnQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlPy5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKSk/LmZvcm1hdChcclxuICAgICAgICAgICAgJ1lZWVktTU0tREQnXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgOiBtb21lbnQoKS5mb3JtYXQoJ1lZWVktTU0tREQnKSxcclxuICAgICAgZnJlcXVlbmN5X3RpbWU6IHRoaXMuZnJlcXVlbmN5RGF0YT8udGltZUluMTJocixcclxuICAgICAgcmVtaW5kX2JlZm9yZV9kYXlzOiB0aGlzLmZyZXF1ZW5jeURhdGE/LndpbmRvdyxcclxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGxhY2Vob2xkZXIsXHJcbiAgICAgIGZhaWxlZF9hZnRlcl9kYXlzOiB0aGlzLmZyZXF1ZW5jeURhdGE/LmZhaWxlZF9hZnRlcl9kYXlzLFxyXG4gICAgICBjYW5fYXNzZXNzX2JlZm9yZV9kYXlzOiB0aGlzLmZyZXF1ZW5jeURhdGE/LmNhbl9hc3Nlc3NfYmVmb3JlX2RheXMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeS5lbWl0KGZyZXF1ZW5jeV9kZXRhaWxzKTtcclxuICAgIHRoaXMuY2xvc2VGcmVxdWVuY3kuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmlzay1mcmVxdWVuY3ktZGlhbG9nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmlzay1mcmVxdWVuY3ktZGlhbG9nLWhlYWQgdngtcC0zIHZ4LW1iLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlzay1mcmVxdWVuY3ktZGlhbG9nLXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZXQgYSBSZWFzc2Vzc21lbnQgRnJlcXVlbmN5PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaXNrLWZyZXF1ZW5jeS1kaWFsb2ctYm9keSB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlzay1mcmVxdWVuY3ktZGlhbG9nLWJvZHktaW5uZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpc2stZnJlcXVlbmN5LWRpYWxvZy10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCd3ZWVrbHknKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTZcIiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PT0gJ3dlZWtseSdcIj5XRUVLTFk8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInN3aXRjaFRhYignbW9udGhseScpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNlwiIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VGFiID09PSAnbW9udGhseSdcIj5NT05USExZPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUYWIoJ3F1YXJ0ZXJseScpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNlwiIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VGFiID09PSAncXVhcnRlcmx5J1wiPlFVQVJURVJMWTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdiaWFubnVhbCcpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNlwiIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VGFiID09PSAnYmlhbm51YWwnXCI+QklBTk5VQUw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInN3aXRjaFRhYignYW5udWFsJylcIiBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC02XCIgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUYWIgPT09ICdhbm51YWwnXCI+QU5OVUFMPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hUYWIoJ29uZVRpbWUnKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTZcIiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PT0gJ29uZVRpbWUnXCI+T05FIFRJTUU8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlzay1mcmVxdWVuY3ktZGlhbG9nLWNvbnRhaW5lciB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1mcmVxdWVuY3ktZGlhbG9nLXdlZWtseSAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ1dFRUtMWSdcIj48L2FwcC1mcmVxdWVuY3ktZGlhbG9nLXdlZWtseT4gLS0+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctd2Vla2x5ICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnd2Vla2x5J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktZGlhbG9nLXdlZWtseT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1mcmVxdWVuY3ktZGlhbG9nLW1vbnRobHkgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdNT05USExZJ1wiPjwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctbW9udGhseT4gLS0+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctbW9udGhseSAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ21vbnRobHknXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctbW9udGhseT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseSAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ1FVQVJURVJMWSdcIj48L2FwcC1mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseT5cclxuICAgICAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbCAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ0JJQU5OVUFMJ1wiPjwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctYmlhbm51YWw+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnQU5OVUFMJ1wiPjwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnT05FVElNRSdcIj48L2FwcC1mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lPiAtLT5cclxuICAgICAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1xdWFydGVybHkgXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmcmVxdWVuY3lUYWIgPT09ICdxdWFydGVybHknXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctcXVhcnRlcmx5PlxyXG4gICAgICAgICAgICAgICAgPGFwcC1mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsIFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnYmlhbm51YWwnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctYmlhbm51YWw+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsIFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZnJlcXVlbmN5VGFiID09PSAnYW5udWFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1mcmVxdWVuY3ktZGlhbG9nLWFubnVhbD5cclxuICAgICAgICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZSBcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZyZXF1ZW5jeVRhYiA9PT0gJ29uZVRpbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmlzay1mcmVxdWVuY3ktZGlhbG9nLWZvb3RlciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wLTIgdngtcGwtMyB2eC1wci0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIj5Zb3UgaGF2ZSBzZWxlY3RlZCA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj57e2N1cnJlbnRUYWJOYW1lfX08L3NwYW4+IGZyZXF1ZW5jeS48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXJlZCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBsLTIgdngtcHItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC02XCIgKGNsaWNrKT1cImNsb3NlKClcIj5DQU5DRUw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5leHQtYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC02XCIgW2NsYXNzLmRpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCIgKGNsaWNrKT1cInNhdmUoKVwiPk5FWFQgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMSB2eC1tbC0yXCI+JiN4ZTkxZTs8L2k+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -26,10 +26,10 @@ export class ReviewFrequencyComponent {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
ReviewFrequencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReviewFrequencyComponent, deps: [{ token: i1.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
ReviewFrequencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ReviewFrequencyComponent, selector: "app-review-frequency", inputs: { reviewCompleteDays: "reviewCompleteDays", reviewNOtCompletedDays: "reviewNOtCompletedDays" }, outputs: { closeReviewFrequency: "closeReviewFrequency", backToUserList: "backToUserList", saveReviewFrequency: "saveReviewFrequency" }, ngImport: i0, template: "<app-snack-bar></app-snack-bar>\r\n\r\n<div class=\"review-frequency\">\r\n <div class=\"review-frequency-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\">\r\n <i class=\"icons arrow vx-fs-16 vx-mr-2\" (click)=\"close()\"></i> <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Review Frequency</div>\r\n </div>\r\n <div class=\"review-frequency-body\">\r\n <div class=\"review-frequency-message\">\r\n <div class=\"review-frequency-icon\"><img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/bulb.svg\" alt=\"\"></div>\r\n <div class=\"review-frequency-inner vx-fs-12 vx-paragraph-txt vx-lh-5 vx-w-100\">\r\n The review period begins after the responsibility is completed. This means that if a responsibility is\r\n completed on the specified due date, the review will take place after the due date. In some\r\n circumstances this may be fine. In others, such as a responsibility with a regulatory due date, this may\r\n result in non-compliance with an external obligation. Accordingly, when adding the \u201CReview\u201D option to a\r\n responsibility, it is important to carefully consider the due date for a responsibility and how\r\n incorporating a review of the responsibility affects when a responsibility is completed.\r\n </div>\r\n </div>\r\n <div class=\"review-frequency-body-inner vx-mt-2 vx-mb-4\">\r\n <div class=\"frequency-due-date\">\r\n <div class=\"frequency-due-date-item vx-mt-3\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW OPENS:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewCompleteDays\" (focusout)=\"onValueChange()\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewCompleteDays > 1 ? 'days' : 'day' }} <span class=\"vx-fw-500\">after</span> it has been completed. Where this occurs, this will show as the review being <span class=\"completed-text vx-fw-500\">completed on time</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">EXTENSION:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewNOtCompletedDays\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"delay-text vx-fw-500\">completed with delay</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW CLOSES:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility cannot be reviewed\r\n <span class=\"vx-fw-500 vx-label-txt vx-ml-1\">{{reviewNOtCompletedDays}}</span>\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"notcompleted-text vx-fw-500\">not completed</span>.\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n
|
|
29
|
+
ReviewFrequencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ReviewFrequencyComponent, selector: "app-review-frequency", inputs: { reviewCompleteDays: "reviewCompleteDays", reviewNOtCompletedDays: "reviewNOtCompletedDays" }, outputs: { closeReviewFrequency: "closeReviewFrequency", backToUserList: "backToUserList", saveReviewFrequency: "saveReviewFrequency" }, ngImport: i0, template: "<app-snack-bar></app-snack-bar>\r\n\r\n<div class=\"review-frequency\">\r\n <div class=\"review-frequency-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\">\r\n <i class=\"icons arrow vx-fs-16 vx-mr-2\" (click)=\"close()\"></i> <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Review Frequency</div>\r\n </div>\r\n <div class=\"review-frequency-body\">\r\n <div class=\"review-frequency-message\">\r\n <div class=\"review-frequency-icon\"><img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/bulb.svg\" alt=\"\"></div>\r\n <div class=\"review-frequency-inner vx-fs-12 vx-paragraph-txt vx-lh-5 vx-w-100\">\r\n The review period begins after the responsibility is completed. This means that if a responsibility is\r\n completed on the specified due date, the review will take place after the due date. In some\r\n circumstances this may be fine. In others, such as a responsibility with a regulatory due date, this may\r\n result in non-compliance with an external obligation. Accordingly, when adding the \u201CReview\u201D option to a\r\n responsibility, it is important to carefully consider the due date for a responsibility and how\r\n incorporating a review of the responsibility affects when a responsibility is completed.\r\n </div>\r\n </div>\r\n <div class=\"review-frequency-body-inner vx-mt-2 vx-mb-4\">\r\n <div class=\"frequency-due-date\">\r\n <div class=\"frequency-due-date-item vx-mt-3\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW OPENS:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewCompleteDays\" (focusout)=\"onValueChange()\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewCompleteDays > 1 ? 'days' : 'day' }} <span class=\"vx-fw-500\">after</span> it has been completed. Where this occurs, this will show as the review being <span class=\"completed-text vx-fw-500\">completed on time</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">EXTENSION:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewNOtCompletedDays\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"delay-text vx-fw-500\">completed with delay</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW CLOSES:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility cannot be reviewed\r\n <span class=\"vx-fw-500 vx-label-txt vx-ml-1\">{{reviewNOtCompletedDays}}</span>\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"notcompleted-text vx-fw-500\">not completed</span>.\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <app-floating-bar \r\n [showWorkflow]=\"false\"\r\n [isDisabled]=\"(reviewCompleteDays<1)?true:false\"\r\n (closeEvent)=\"save()\" (closeList)=\"closeReviewFrequency.emit()\"> <span class=\"name\">This responsibility needs to be reviewed within <b>{{reviewCompleteDays}}</b> {{reviewCompleteDays > 1 ? 'days': 'day'}} after it has been completed.</span>\r\n </app-floating-bar>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .review-frequency{position:fixed;top:0;right:31.25rem;bottom:0;left:0}@media screen and (max-width: 1280px){::ng-deep .review-frequency{right:30px}}::ng-deep .review-frequency:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .review-frequency-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .review-frequency-head .arrow{cursor:pointer}::ng-deep .review-frequency-body{background:#fff;height:calc(100vh - 7.75rem);padding:2rem 2rem 1rem}::ng-deep .review-frequency-body-inner{height:calc(100vh - 18.75rem);overflow:hidden;overflow-y:auto}::ng-deep .review-frequency-message{position:relative}::ng-deep .review-frequency-inner{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:.25rem;padding:.5rem .5rem .5rem 1.75rem!important}::ng-deep .review-frequency-icon{background:#fff;box-shadow:1px 1px 4px #1c5bd140;border-radius:.25rem;width:2rem;height:2rem;padding:.125rem;position:absolute;left:-1rem;top:1rem}::ng-deep .review-frequency-icon img{width:100%}::ng-deep .review-frequency app-floating-bar .userGroup-floating-bar{margin:0 2rem}::ng-deep .frequency-due-date-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-due-date-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-due-date-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-due-date-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-due-date-item-box .completed-text{color:#34aa44}::ng-deep .frequency-due-date-item-box .delay-text{color:#f0b819}::ng-deep .frequency-due-date-item-box .notcompleted-text{color:#d93b41}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SnackBarComponent, selector: "app-snack-bar" }, { kind: "component", type: i4.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }] });
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReviewFrequencyComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
|
-
args: [{ selector: 'app-review-frequency', template: "<app-snack-bar></app-snack-bar>\r\n\r\n<div class=\"review-frequency\">\r\n <div class=\"review-frequency-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\">\r\n <i class=\"icons arrow vx-fs-16 vx-mr-2\" (click)=\"close()\"></i> <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Review Frequency</div>\r\n </div>\r\n <div class=\"review-frequency-body\">\r\n <div class=\"review-frequency-message\">\r\n <div class=\"review-frequency-icon\"><img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/bulb.svg\" alt=\"\"></div>\r\n <div class=\"review-frequency-inner vx-fs-12 vx-paragraph-txt vx-lh-5 vx-w-100\">\r\n The review period begins after the responsibility is completed. This means that if a responsibility is\r\n completed on the specified due date, the review will take place after the due date. In some\r\n circumstances this may be fine. In others, such as a responsibility with a regulatory due date, this may\r\n result in non-compliance with an external obligation. Accordingly, when adding the \u201CReview\u201D option to a\r\n responsibility, it is important to carefully consider the due date for a responsibility and how\r\n incorporating a review of the responsibility affects when a responsibility is completed.\r\n </div>\r\n </div>\r\n <div class=\"review-frequency-body-inner vx-mt-2 vx-mb-4\">\r\n <div class=\"frequency-due-date\">\r\n <div class=\"frequency-due-date-item vx-mt-3\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW OPENS:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewCompleteDays\" (focusout)=\"onValueChange()\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewCompleteDays > 1 ? 'days' : 'day' }} <span class=\"vx-fw-500\">after</span> it has been completed. Where this occurs, this will show as the review being <span class=\"completed-text vx-fw-500\">completed on time</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">EXTENSION:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewNOtCompletedDays\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"delay-text vx-fw-500\">completed with delay</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW CLOSES:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility cannot be reviewed\r\n <span class=\"vx-fw-500 vx-label-txt vx-ml-1\">{{reviewNOtCompletedDays}}</span>\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"notcompleted-text vx-fw-500\">not completed</span>.\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n
|
|
32
|
+
args: [{ selector: 'app-review-frequency', template: "<app-snack-bar></app-snack-bar>\r\n\r\n<div class=\"review-frequency\">\r\n <div class=\"review-frequency-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\">\r\n <i class=\"icons arrow vx-fs-16 vx-mr-2\" (click)=\"close()\"></i> <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Review Frequency</div>\r\n </div>\r\n <div class=\"review-frequency-body\">\r\n <div class=\"review-frequency-message\">\r\n <div class=\"review-frequency-icon\"><img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/bulb.svg\" alt=\"\"></div>\r\n <div class=\"review-frequency-inner vx-fs-12 vx-paragraph-txt vx-lh-5 vx-w-100\">\r\n The review period begins after the responsibility is completed. This means that if a responsibility is\r\n completed on the specified due date, the review will take place after the due date. In some\r\n circumstances this may be fine. In others, such as a responsibility with a regulatory due date, this may\r\n result in non-compliance with an external obligation. Accordingly, when adding the \u201CReview\u201D option to a\r\n responsibility, it is important to carefully consider the due date for a responsibility and how\r\n incorporating a review of the responsibility affects when a responsibility is completed.\r\n </div>\r\n </div>\r\n <div class=\"review-frequency-body-inner vx-mt-2 vx-mb-4\">\r\n <div class=\"frequency-due-date\">\r\n <div class=\"frequency-due-date-item vx-mt-3\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW OPENS:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewCompleteDays\" (focusout)=\"onValueChange()\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewCompleteDays > 1 ? 'days' : 'day' }} <span class=\"vx-fw-500\">after</span> it has been completed. Where this occurs, this will show as the review being <span class=\"completed-text vx-fw-500\">completed on time</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">EXTENSION:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility can be reviewed\r\n <input class=\"countNum\" [(ngModel)]=\"reviewNOtCompletedDays\" type=\"number\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\">\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"delay-text vx-fw-500\">completed with delay</span>.\r\n </div>\r\n </div>\r\n \r\n <div class=\"frequency-due-date-item vx-mt-5\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">COMPLETION WINDOW CLOSES:</div>\r\n <div class=\"frequency-due-date-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\">\r\n The responsibility cannot be reviewed\r\n <span class=\"vx-fw-500 vx-label-txt vx-ml-1\">{{reviewNOtCompletedDays}}</span>\r\n {{ reviewNOtCompletedDays > 1 ? 'days' : 'day' }}<span class=\"vx-fw-500\"> after</span> the review due date. Where this occurs, this will show as the review being <span class=\"notcompleted-text vx-fw-500\">not completed</span>.\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <app-floating-bar \r\n [showWorkflow]=\"false\"\r\n [isDisabled]=\"(reviewCompleteDays<1)?true:false\"\r\n (closeEvent)=\"save()\" (closeList)=\"closeReviewFrequency.emit()\"> <span class=\"name\">This responsibility needs to be reviewed within <b>{{reviewCompleteDays}}</b> {{reviewCompleteDays > 1 ? 'days': 'day'}} after it has been completed.</span>\r\n </app-floating-bar>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .review-frequency{position:fixed;top:0;right:31.25rem;bottom:0;left:0}@media screen and (max-width: 1280px){::ng-deep .review-frequency{right:30px}}::ng-deep .review-frequency:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .review-frequency-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .review-frequency-head .arrow{cursor:pointer}::ng-deep .review-frequency-body{background:#fff;height:calc(100vh - 7.75rem);padding:2rem 2rem 1rem}::ng-deep .review-frequency-body-inner{height:calc(100vh - 18.75rem);overflow:hidden;overflow-y:auto}::ng-deep .review-frequency-message{position:relative}::ng-deep .review-frequency-inner{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:.25rem;padding:.5rem .5rem .5rem 1.75rem!important}::ng-deep .review-frequency-icon{background:#fff;box-shadow:1px 1px 4px #1c5bd140;border-radius:.25rem;width:2rem;height:2rem;padding:.125rem;position:absolute;left:-1rem;top:1rem}::ng-deep .review-frequency-icon img{width:100%}::ng-deep .review-frequency app-floating-bar .userGroup-floating-bar{margin:0 2rem}::ng-deep .frequency-due-date-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-due-date-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-due-date-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-due-date-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-due-date-item-box .completed-text{color:#34aa44}::ng-deep .frequency-due-date-item-box .delay-text{color:#f0b819}::ng-deep .frequency-due-date-item-box .notcompleted-text{color:#d93b41}\n"] }]
|
|
33
33
|
}], ctorParameters: function () { return [{ type: i1.SnackBarService }]; }, propDecorators: { reviewCompleteDays: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}], reviewNOtCompletedDays: [{
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
41
41
|
}], saveReviewFrequency: [{
|
|
42
42
|
type: Output
|
|
43
43
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LWZyZXF1ZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3Jldmlldy1mcmVxdWVuY3kvcmV2aWV3LWZyZXF1ZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3Jldmlldy1mcmVxdWVuY3kvcmV2aWV3LWZyZXF1ZW5jeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0UsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUxuQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwQyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBSWpELENBQUM7SUFFRixRQUFRO0lBQ1IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRzdCLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7SUFDckgsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLEVBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FFckU7SUFDSCxDQUFDOztxSEEzQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNlNDUnJDLHE1SUF1RE07MkZEL0NPLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7c0dBS3ZCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0ksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJldmlldy1mcmVxdWVuY3knLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXZpZXctZnJlcXVlbmN5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXZpZXctZnJlcXVlbmN5LmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJldmlld0ZyZXF1ZW5jeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcmV2aWV3Q29tcGxldGVEYXlzOiBhbnk7XHJcbiAgQElucHV0KCkgcmV2aWV3Tk90Q29tcGxldGVkRGF5czogYW55O1xyXG4gIEBPdXRwdXQoKSBjbG9zZVJldmlld0ZyZXF1ZW5jeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmFja1RvVXNlckxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNhdmVSZXZpZXdGcmVxdWVuY3kgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSwpIHtcclxuICAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5iYWNrVG9Vc2VyTGlzdC5lbWl0KCk7XHJcblxyXG5cclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVJldmlld0ZyZXF1ZW5jeS5lbWl0KHsgY29tcGxldGVEYXlzOiB0aGlzLnJldmlld0NvbXBsZXRlRGF5cywgbm90Q29tcGxldGVkOiB0aGlzLnJldmlld05PdENvbXBsZXRlZERheXMgfSlcclxuICB9XHJcbiAgb25WYWx1ZUNoYW5nZSgpe1xyXG4gICAgaWYodGhpcy5yZXZpZXdDb21wbGV0ZURheXM8MSl7XHJcbiAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnUGxlYXNlIGVudGVyIGEgdmFsdWUgZ3JlYXRlciB0aGFuIDAuJywgJ2FsZXJ0Jyk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXBwLXNuYWNrLWJhcj48L2FwcC1zbmFjay1iYXI+XHJcblxyXG48ZGl2IGNsYXNzPVwicmV2aWV3LWZyZXF1ZW5jeVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJldmlldy1mcmVxdWVuY3ktaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgYXJyb3cgdngtZnMtMTYgdngtbXItMlwiIChjbGljayk9XCJjbG9zZSgpXCI+JiN4ZTkxZDs8L2k+IDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgUmV2aWV3IEZyZXF1ZW5jeTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmV2aWV3LWZyZXF1ZW5jeS1ib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctZnJlcXVlbmN5LW1lc3NhZ2VcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctZnJlcXVlbmN5LWljb25cIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9idWxiLnN2Z1wiIGFsdD1cIlwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1mcmVxdWVuY3ktaW5uZXIgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dCB2eC1saC01IHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgVGhlIHJldmlldyBwZXJpb2QgYmVnaW5zIGFmdGVyIHRoZSByZXNwb25zaWJpbGl0eSBpcyBjb21wbGV0ZWQuIFRoaXMgbWVhbnMgdGhhdCBpZiBhIHJlc3BvbnNpYmlsaXR5IGlzXHJcbiAgICAgICAgICAgICAgY29tcGxldGVkIG9uIHRoZSBzcGVjaWZpZWQgZHVlIGRhdGUsIHRoZSByZXZpZXcgd2lsbCB0YWtlIHBsYWNlIGFmdGVyIHRoZSBkdWUgZGF0ZS4gSW4gc29tZVxyXG4gICAgICAgICAgICAgIGNpcmN1bXN0YW5jZXMgdGhpcyBtYXkgYmUgZmluZS4gSW4gb3RoZXJzLCBzdWNoIGFzIGEgcmVzcG9uc2liaWxpdHkgd2l0aCBhIHJlZ3VsYXRvcnkgZHVlIGRhdGUsIHRoaXMgbWF5XHJcbiAgICAgICAgICAgICAgcmVzdWx0IGluIG5vbi1jb21wbGlhbmNlIHdpdGggYW4gZXh0ZXJuYWwgb2JsaWdhdGlvbi4gQWNjb3JkaW5nbHksIHdoZW4gYWRkaW5nIHRoZSDigJxSZXZpZXfigJ0gb3B0aW9uIHRvIGFcclxuICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eSwgaXQgaXMgaW1wb3J0YW50IHRvIGNhcmVmdWxseSBjb25zaWRlciB0aGUgZHVlIGRhdGUgZm9yIGEgcmVzcG9uc2liaWxpdHkgYW5kIGhvd1xyXG4gICAgICAgICAgICAgIGluY29ycG9yYXRpbmcgYSByZXZpZXcgb2YgdGhlIHJlc3BvbnNpYmlsaXR5IGFmZmVjdHMgd2hlbiBhIHJlc3BvbnNpYmlsaXR5IGlzIGNvbXBsZXRlZC5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1mcmVxdWVuY3ktYm9keS1pbm5lciB2eC1tdC0yIHZ4LW1iLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWR1ZS1kYXRlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGUtaXRlbSB2eC1tdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkNPTVBMRVRJT04gV0lORE9XIE9QRU5TOjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kdWUtZGF0ZS1pdGVtLWJveCB2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMyB2eC1wdC00IHZ4LXBiLTQgdngtZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIFRoZSByZXNwb25zaWJpbGl0eSBjYW4gYmUgcmV2aWV3ZWRcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIFsobmdNb2RlbCldPVwicmV2aWV3Q29tcGxldGVEYXlzXCIgKGZvY3Vzb3V0KT1cIm9uVmFsdWVDaGFuZ2UoKVwiIHR5cGU9XCJudW1iZXJcIiBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyByZXZpZXdDb21wbGV0ZURheXMgPiAxID8gJ2RheXMnIDogJ2RheScgfX0gPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDBcIj5hZnRlcjwvc3Bhbj4gaXQgaGFzIGJlZW4gY29tcGxldGVkLiBXaGVyZSB0aGlzIG9jY3VycywgdGhpcyB3aWxsIHNob3cgYXMgdGhlIHJldmlldyBiZWluZyA8c3BhbiBjbGFzcz1cImNvbXBsZXRlZC10ZXh0IHZ4LWZ3LTUwMFwiPmNvbXBsZXRlZCBvbiB0aW1lPC9zcGFuPi5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kdWUtZGF0ZS1pdGVtIHZ4LW10LTVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkVYVEVOU0lPTjo8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWR1ZS1kYXRlLWl0ZW0tYm94IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtcC0zIHZ4LXB0LTQgdngtcGItNCB2eC1kLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICBUaGUgcmVzcG9uc2liaWxpdHkgY2FuIGJlIHJldmlld2VkXHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIFsobmdNb2RlbCldPVwicmV2aWV3Tk90Q29tcGxldGVkRGF5c1wiIHR5cGU9XCJudW1iZXJcIiBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJldmlld05PdENvbXBsZXRlZERheXMgPiAxID8gJ2RheXMnIDogJ2RheScgfX08c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMFwiPiBhZnRlcjwvc3Bhbj4gdGhlIHJldmlldyBkdWUgZGF0ZS4gV2hlcmUgdGhpcyBvY2N1cnMsIHRoaXMgd2lsbCBzaG93IGFzIHRoZSByZXZpZXcgYmVpbmcgPHNwYW4gY2xhc3M9XCJkZWxheS10ZXh0IHZ4LWZ3LTUwMFwiPmNvbXBsZXRlZCB3aXRoIGRlbGF5PC9zcGFuPi5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGUtaXRlbSB2eC1tdC01XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5DT01QTEVUSU9OIFdJTkRPVyBDTE9TRVM6PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kdWUtZGF0ZS1pdGVtLWJveCB2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMyB2eC1wdC00IHZ4LXBiLTQgdngtZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgVGhlIHJlc3BvbnNpYmlsaXR5IGNhbm5vdCBiZSByZXZpZXdlZFxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LW1sLTFcIj57e3Jldmlld05PdENvbXBsZXRlZERheXN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIHt7IHJldmlld05PdENvbXBsZXRlZERheXMgPiAxID8gJ2RheXMnIDogJ2RheScgfX08c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMFwiPiBhZnRlcjwvc3Bhbj4gdGhlIHJldmlldyBkdWUgZGF0ZS4gV2hlcmUgdGhpcyBvY2N1cnMsIHRoaXMgd2lsbCBzaG93IGFzIHRoZSByZXZpZXcgYmVpbmcgPHNwYW4gY2xhc3M9XCJub3Rjb21wbGV0ZWQtdGV4dCB2eC1mdy01MDBcIj5ub3QgY29tcGxldGVkPC9zcGFuPi5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGFwcC1mbG9hdGluZy1iYXIgXHJcbiAgICAgW3Nob3dXb3JrZmxvd109XCJmYWxzZVwiXHJcbiAgICAgW2lzRGlzYWJsZWRdPVwiKHJldmlld0NvbXBsZXRlRGF5czwxKT90cnVlOmZhbHNlXCJcclxuICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAoY2xvc2VMaXN0KT1cImNsb3NlUmV2aWV3RnJlcXVlbmN5LmVtaXQoKVwiPiA8c3BhbiAgY2xhc3M9XCJuYW1lXCI+VGhpcyByZXNwb25zaWJpbGl0eSBuZWVkcyB0byBiZSByZXZpZXdlZCB3aXRoaW4gPGI+e3tyZXZpZXdDb21wbGV0ZURheXN9fTwvYj4ge3tyZXZpZXdDb21wbGV0ZURheXMgPiAxID8gJ2RheXMnOiAnZGF5J319IGFmdGVyIGl0IGhhcyBiZWVuIGNvbXBsZXRlZC48L3NwYW4+XHJcbiAgICA8L2FwcC1mbG9hdGluZy1iYXI+XHJcbjwvZGl2PiJdfQ==
|