vcomply-workflow-engine 3.1.29 → 3.1.30
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/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
- package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +34 -7
- package/esm2020/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +9 -9
- package/esm2020/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +25 -3
- package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +3 -3
- package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +5 -2
- package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +3 -3
- package/esm2020/lib/workflow/shared/components/table-card/table-card.component.mjs +14 -10
- package/esm2020/lib/workflow-risk/workflow-risk.component.mjs +1 -1
- package/fesm2015/vcomply-workflow-engine.mjs +95 -30
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +96 -30
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +8 -0
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +3 -0
- package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +4 -1
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -0
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +5 -3
- package/package.json +1 -1
|
@@ -184,7 +184,7 @@ export class RiskCategoryRiskListingComponent {
|
|
|
184
184
|
getSelectedCategoriesId(selectedData) {
|
|
185
185
|
this.selectedCategoryIds = [];
|
|
186
186
|
selectedData?.forEach((selected) => {
|
|
187
|
-
this.selectedCategoryIds?.push(selected?.category?.
|
|
187
|
+
this.selectedCategoryIds?.push(selected?.category?.category_id);
|
|
188
188
|
});
|
|
189
189
|
}
|
|
190
190
|
getRiskCategoryPayload(selectedData) {
|
|
@@ -205,7 +205,7 @@ export class RiskCategoryRiskListingComponent {
|
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
RiskCategoryRiskListingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RiskCategoryRiskListingComponent, deps: [{ token: i1.GrcService }], target: i0.ɵɵFactoryTarget.Component });
|
|
208
|
-
RiskCategoryRiskListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RiskCategoryRiskListingComponent, isStandalone: true, selector: "app-risk-category-risk-listing", inputs: { selectedTab: "selectedTab", selectedCatAndRiskData: ["selectedCatAndRisk", "selectedCatAndRiskData"] }, outputs: { closeUsersList: "closeUsersList" }, viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"risk-category-risk-listing\" [class.animate]=\"animation\">\r\n <div class=\"risk-category-risk-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Risks</h3></div>\r\n <div class=\"risk-category-risk-listing-body\">\r\n <app-table-card class=\"vx-w-100\" [tableCard]=\"tableCard\" [singleSelectedText]=\"'Category Selected'\" [multipleSelectedText]=\"'Categories Selected'\" (setSelectedTab)=\"setSelectedTab($event)\" [selectedTab]=\"1\"></app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Risk Categories\" />\r\n </div>\r\n <div class=\"risk-category-risk-listing-body-inner vx-mb-2 vx-d-flex\" [class.with-noData]=\"(!isCategoryLoader && !categoriesList?.length)\">\r\n <ng-container *ngIf=\"isCategoryLoader || categoriesList?.length\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n <app-grc-category-listing *ngIf=\"!isCategoryLoader\" [headerText]=\"'Risk Categories'\" [categories]=\"categoriesList\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [tableCard]=\"tableCard\" [currentPage]=\"categoryCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedCategoryIds\" (activeSelectedCategory)=\"activeSelectedCategory($event)\" (onCategoryPageChange)=\"onCategoryPageChange($event)\"></app-grc-category-listing>\r\n <app-list-loader *ngIf=\"isCategoryLoader\"></app-list-loader>\r\n </div>\r\n <div class=\"inner-item-right\">\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!isRiskLoader && !isCategoryLoader && risksList?.length\" [headerText]=\"'Risk Name'\" [dataList]=\"risksList\" [activeCategory]=\"activeCategory\" [selectedCatAndRisk]=\"selectedCatAndRisk\" (changeSelectedCatAndRisk)=\"changeSelectedCatAndRisk($event)\" [currentPage]=\"riskCurrentPage\" [perPageLimit]=\"activeCategory?.categoryRiskLimit\" [totalListData]=\"activeCategory?.categoryRiskCount\" [totalPages]=\"getTotalRiskPage()\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n <app-list-loader *ngIf=\"isRiskLoader || isCategoryLoader\"></app-list-loader>\r\n <app-no-data *ngIf=\"risksList?.length === 0 && !(isRiskLoader || isCategoryLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!isCategoryLoader && !categoriesList?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedRisks?.length ? selectedRisks : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'risk selected'\" [pluralText]=\"'risks selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\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/display/display.css\";::ng-deep .risk-category-risk-listing{position:fixed;inset:0 30px 0 0}::ng-deep .risk-category-risk-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .risk-category-risk-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .risk-category-risk-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .risk-category-risk-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .risk-category-risk-listing-body .search-block{position:relative}::ng-deep .risk-category-risk-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .risk-category-risk-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .risk-category-risk-listing-body .search-block input::placeholder{color:#747576}::ng-deep .risk-category-risk-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .risk-category-risk-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .risk-category-risk-listing-body-inner.with-noData{align-items:center;justify-content:center}::ng-deep .risk-category-risk-listing-body-inner .inner-item-left{width:25%}::ng-deep .risk-category-risk-listing-body-inner .inner-item-right{width:75%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i3.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"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["
|
|
208
|
+
RiskCategoryRiskListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RiskCategoryRiskListingComponent, isStandalone: true, selector: "app-risk-category-risk-listing", inputs: { selectedTab: "selectedTab", selectedCatAndRiskData: ["selectedCatAndRisk", "selectedCatAndRiskData"] }, outputs: { closeUsersList: "closeUsersList" }, viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"risk-category-risk-listing\" [class.animate]=\"animation\">\r\n <div class=\"risk-category-risk-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Risks</h3></div>\r\n <div class=\"risk-category-risk-listing-body\">\r\n <app-table-card class=\"vx-w-100\" [tableCard]=\"tableCard\" [singleSelectedText]=\"'Category Selected'\" [multipleSelectedText]=\"'Categories Selected'\" (setSelectedTab)=\"setSelectedTab($event)\" [selectedTab]=\"1\"></app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Risk Categories\" />\r\n </div>\r\n <div class=\"risk-category-risk-listing-body-inner vx-mb-2 vx-d-flex\" [class.with-noData]=\"(!isCategoryLoader && !categoriesList?.length)\">\r\n <ng-container *ngIf=\"isCategoryLoader || categoriesList?.length\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n <app-grc-category-listing *ngIf=\"!isCategoryLoader\" [headerText]=\"'Risk Categories'\" [categories]=\"categoriesList\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [tableCard]=\"tableCard\" [currentPage]=\"categoryCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedCategoryIds\" (activeSelectedCategory)=\"activeSelectedCategory($event)\" (onCategoryPageChange)=\"onCategoryPageChange($event)\"></app-grc-category-listing>\r\n <app-list-loader *ngIf=\"isCategoryLoader\"></app-list-loader>\r\n </div>\r\n <div class=\"inner-item-right\">\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!isRiskLoader && !isCategoryLoader && risksList?.length\" [headerText]=\"'Risk Name'\" [dataList]=\"risksList\" [activeCategory]=\"activeCategory\" [selectedCatAndRisk]=\"selectedCatAndRisk\" (changeSelectedCatAndRisk)=\"changeSelectedCatAndRisk($event)\" [currentPage]=\"riskCurrentPage\" [perPageLimit]=\"activeCategory?.categoryRiskLimit\" [totalListData]=\"activeCategory?.categoryRiskCount\" [totalPages]=\"getTotalRiskPage()\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n <app-list-loader *ngIf=\"isRiskLoader || isCategoryLoader\"></app-list-loader>\r\n <app-no-data *ngIf=\"risksList?.length === 0 && !(isRiskLoader || isCategoryLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!isCategoryLoader && !categoriesList?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedRisks?.length ? selectedRisks : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'risk selected'\" [pluralText]=\"'risks selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\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/display/display.css\";::ng-deep .risk-category-risk-listing{position:fixed;inset:0 30px 0 0}::ng-deep .risk-category-risk-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .risk-category-risk-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .risk-category-risk-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .risk-category-risk-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .risk-category-risk-listing-body .search-block{position:relative}::ng-deep .risk-category-risk-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .risk-category-risk-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .risk-category-risk-listing-body .search-block input::placeholder{color:#747576}::ng-deep .risk-category-risk-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .risk-category-risk-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .risk-category-risk-listing-body-inner.with-noData{align-items:center;justify-content:center}::ng-deep .risk-category-risk-listing-body-inner .inner-item-left{width:25%}::ng-deep .risk-category-risk-listing-body-inner .inner-item-right{width:75%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i3.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"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "component", type: GrcCategoryListingComponent, selector: "app-grc-category-listing", inputs: ["tableCard", "headerText", "currentPage", "selectedTabIndex", "selectedCatAndRisk", "selectedCategoryIds", "categories"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeCategory", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "selectedCatAndRisk", "dataList"], outputs: ["getUpdatedDataList", "changeSelectedCatAndRisk"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i4.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }] });
|
|
209
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RiskCategoryRiskListingComponent, decorators: [{
|
|
210
210
|
type: Component,
|
|
211
211
|
args: [{ selector: 'app-risk-category-risk-listing', standalone: true, imports: [
|
|
@@ -228,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
228
228
|
type: ViewChild,
|
|
229
229
|
args: ['dataListing']
|
|
230
230
|
}] } });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3Rpbmcvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3Rpbmcvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFdkgs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O3FCQUNiLFVBR08sQ0FBQyxhQUFhLENBQUMsV0FDZCxDQUFDLGdCQUFnQixDQUFDO2lHQTBCTSxzQkFBc0I7c0JBQXRELEtBQUs7dUJBQUMsb0JBQW9CO2dCQVUzQiw4QkFBOEI7c0JBRDdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1jYXRlZ29yeS1saXN0aW5nL2dyYy1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ncmMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRBQkxFX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZ3JjT2JqZWN0LmNvbnN0YW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZENvbXBvbmVudCxcclxuICAgIEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIExpc3RMb2FkZXJNb2R1bGUsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Jpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydjbG9zZVVzZXJzTGlzdCddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRhYmxlQ2FyZCA9IFRBQkxFX0NBUkQ7XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuXHJcbiAgY2F0ZWdvcnlTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcmlza1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgaXNDYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gIGlzUmlza0xvYWRlciA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZFRhYjogbnVtYmVyID0gMTtcclxuICBjYXRlZ29yeUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgY2F0ZWdvcmllc0xpc3Q6IGFueSA9IFtdO1xyXG4gIHJpc2tzTGlzdDogYW55ID0gW107XHJcbiAgYWN0aXZlQ2F0ZWdvcnk6IGFueSA9IHt9O1xyXG4gIHJpc2tDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZENhdEFuZFJpc2s6IGFueSA9IFtdO1xyXG4gIHByZVNlbGVjdGVkQ2F0QW5kUmlzazogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRDYXRlZ29yaWVzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZFJpc2tzOiBhbnkgPSBbXTtcclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZENhdEFuZFJpc2snKSBzZXQgc2VsZWN0ZWRDYXRBbmRSaXNrRGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzayA9IHZhbHVlO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZENhdEFuZFJpc2sgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcmllc0lkKHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICAgIHRoaXMuZ2V0Umlza0NhdGVnb3J5UGF5bG9hZCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVzZXJzTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2RhdGFMaXN0aW5nJylcclxuICByZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQhOiBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JjU2VydmljZTogR3JjU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICB0aGlzLmdldENhdGVnb3JpZXNDb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGV2ZW50Py50eXBlO1xyXG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcmllc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldENhdGVnb3JpZXNMaXN0KCkge1xyXG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5jYXRlZ29yeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5UGFyYW0gPSB7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID8/IDEsXHJcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcgPz8gJycsXHJcbiAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRUYWIgPz8gMSxcclxuICAgIH07XHJcbiAgICB0aGlzLmlzQ2F0ZWdvcnlMb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5jYXRlZ29yeVN1YnNjcmlwdGlvbiA9IHRoaXMuZ3JjU2VydmljZVxyXG4gICAgICAuZ2V0Umlza0NhdGVnb3JpZXMocXVlcnlQYXJhbSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0xpc3QgPSByZXM/Lm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxyXG4gICAgICAgICAgICAgIG5hbWU6IGNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnJpc2tDdXJyZW50UGFnZSA9IDE7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yaWVzTGlzdD8ubGVuZ3RoXHJcbiAgICAgICAgICAgID8gdGhpcy5jYXRlZ29yaWVzTGlzdFswXVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgdGhpcy5jYXRlZ29yaWVzTGlzdD8ubGVuZ3RoID8gdGhpcy5nZXRSaXNrTGlzdCgpIDogbnVsbDtcclxuICAgICAgICAgIHRoaXMuaXNDYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yaWVzQ291bnQoKSB7XHJcbiAgICBsZXQgcXVlcnlQYXJhbSA9IHtcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyA/PyAnJyxcclxuICAgIH07XHJcbiAgICB0aGlzLmdyY1NlcnZpY2UuZ2V0Umlza0NhdGVnb3JpZXNDb3VudChxdWVyeVBhcmFtKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFibGVDYXJkID0gcmVzLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0aXRsZTogaXRlbT8uY2F0ZWdvcnlUeXBlTmFtZSxcclxuICAgICAgICAgICAgY291bnQ6IGl0ZW0/LmNhdGVnb3J5Q291bnQsXHJcbiAgICAgICAgICAgIHR5cGU6IGl0ZW0/LmNhdGVnb3J5VHlwZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnI6IGFueSkgPT4ge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRSaXNrTGlzdChjbGlja2VkVHlwZT86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmlza1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnJpc2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBwOiB0aGlzLnJpc2tDdXJyZW50UGFnZSA/PyAxLFxyXG4gICAgICBxOiB0aGlzLnNlYXJjaFN0cmluZyA/PyAnJyxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYiA/PyAxLFxyXG4gICAgICBzb3VyY2U6ICdyaXNrX2NhdGVnb3J5JyxcclxuICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkID8/IFtdLFxyXG4gICAgfTtcclxuICAgIHRoaXMuaXNSaXNrTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMucmlza1N1YnNjcmlwdGlvbiA9IHRoaXMuZ3JjU2VydmljZS5nZXRSaXNrcyhwYXlsb2FkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmlza3NMaXN0ID0gdGhpcy5zZXREYXRhTGlzdFN0cnVjdHVyZShyZXMpO1xyXG4gICAgICAgIHRoaXMuaXNSaXNrTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNSaXNrTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhTGlzdFN0cnVjdHVyZShyZXM6IGFueSkge1xyXG4gICAgY29uc3QgZGF0YSA9IHJlcz8ubWFwKChyaXNrOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5yaXNrLFxyXG4gICAgICAgIG5hbWU6IHJpc2s/LlJpc2tOYW1lLFxyXG4gICAgICAgIGNvbnRyb2xJZDogcmlzaz8uUmlza0NvbnRyb2xJZCxcclxuICAgICAgICBfaWQ6IHJpc2s/LkVuY3J5cHRlZFJpc2tJZCxcclxuICAgICAgICBlbnRydXN0ZWRCeToge1xyXG4gICAgICAgICAgbmFtZTogcmlzaz8uTWVtYmVyTmFtZSxcclxuICAgICAgICAgIGVtYWlsOiByaXNrPy5NZW1iZXJFbWFpbCxcclxuICAgICAgICAgIHByb2ZpbGVQaWM6IHJpc2s/Lk1lbWJlclByb2ZpbGVQaWMgPz8gJycsXHJcbiAgICAgICAgICBzaG9ydE5hbWU6IHJpc2s/Lk1lbWJlclNvcnROYW1lLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IHt9LFxyXG4gICAgICAgIHdpdGhpbkRhdGE6IHJpc2s/LkVudGl0eT8ubWFwKCh3aXRoaW46IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmFtZTogd2l0aGluPy5yY19uYW1lLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVTZWxlY3RlZENhdGVnb3J5KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBldmVudD8uY2F0ZWdvcnk7XHJcbiAgICB0aGlzLnJpc2tDdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLmdldFJpc2tMaXN0KGV2ZW50Py5jbGlja2VkVHlwZSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVkRGF0YUxpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yaXNrQ3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vO1xyXG4gICAgdGhpcy5nZXRSaXNrTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWxSaXNrUGFnZSgpIHtcclxuICAgIGNvbnN0IHRvdGFsUGFnZSA9XHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5Umlza0NvdW50IC9cclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlSaXNrTGltaXQ7XHJcbiAgICByZXR1cm4gTWF0aC5jZWlsKE1hdGguYWJzKHRvdGFsUGFnZSkpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllc0NvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VVc2Vyc0xpc3QuZW1pdCh0aGlzLnByZVNlbGVjdGVkQ2F0QW5kUmlzayk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5jbG9zZVVzZXJzTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICB9XHJcblxyXG4gIG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm87XHJcbiAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2soZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2sgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0Umlza0NhdGVnb3J5UGF5bG9hZChldmVudCk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcmllc0lkKHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcmllc0lkKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHM/LnB1c2goc2VsZWN0ZWQ/LmNhdGVnb3J5Py5faWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRSaXNrQ2F0ZWdvcnlQYXlsb2FkKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmlza3MgPSBbXTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzID0gW107XHJcbiAgICBzZWxlY3RlZERhdGEuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSaXNrcy5wdXNoKC4uLml0ZW0/LnJpc2tzKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3JpZXMucHVzaChpdGVtPy5jYXRlZ29yeSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZUNhdGVnb3J5Py5jYXRlZ29yeV9pZCA9PSBldmVudD8uQ2F0ZWdvcnlJZHNbMF0pIHtcclxuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQuZ2V0U2VsZWN0ZWREYXRhKGV2ZW50LCBmYWxzZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudD8uZGVsZXRlU2VsZWN0ZWRSaXNrKFxyXG4gICAgICAgIGV2ZW50Py5DYXRlZ29yeUlkc1swXSxcclxuICAgICAgICBldmVudFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmdcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgUmlza3M8L2gzPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nLWJvZHlcIj5cclxuICAgICAgICA8YXBwLXRhYmxlLWNhcmQgY2xhc3M9XCJ2eC13LTEwMFwiIFt0YWJsZUNhcmRdPVwidGFibGVDYXJkXCIgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInQ2F0ZWdvcnkgU2VsZWN0ZWQnXCIgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidDYXRlZ29yaWVzIFNlbGVjdGVkJ1wiIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCIgW3NlbGVjdGVkVGFiXT1cIjFcIj48L2FwcC10YWJsZS1jYXJkPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgICNzZWFyY2hSaXNrQ2F0ZWdvcnkgKGtleXVwLmVudGVyKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJpc2sgQ2F0ZWdvcmllc1wiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nLWJvZHktaW5uZXIgdngtbWItMiB2eC1kLWZsZXhcIiBbY2xhc3Mud2l0aC1ub0RhdGFdPVwiKCFpc0NhdGVnb3J5TG9hZGVyICYmICFjYXRlZ29yaWVzTGlzdD8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDYXRlZ29yeUxvYWRlciB8fCBjYXRlZ29yaWVzTGlzdD8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1sZWZ0IHZ4LXByLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nICpuZ0lmPVwiIWlzQ2F0ZWdvcnlMb2FkZXJcIiBbaGVhZGVyVGV4dF09XCInUmlzayBDYXRlZ29yaWVzJ1wiIFtjYXRlZ29yaWVzXT1cImNhdGVnb3JpZXNMaXN0XCIgIFtzZWxlY3RlZENhdEFuZFJpc2tdPVwic2VsZWN0ZWRDYXRBbmRSaXNrXCIgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIiBbY3VycmVudFBhZ2VdPVwiY2F0ZWdvcnlDdXJyZW50UGFnZVwiIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiXCIgW3NlbGVjdGVkQ2F0ZWdvcnlJZHNdPVwic2VsZWN0ZWRDYXRlZ29yeUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkQ2F0ZWdvcnkoJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvbkNhdGVnb3J5UGFnZUNoYW5nZSgkZXZlbnQpXCI+PC9hcHAtZ3JjLWNhdGVnb3J5LWxpc3Rpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cImlzQ2F0ZWdvcnlMb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nICNkYXRhTGlzdGluZyAqbmdJZj1cIiFpc1Jpc2tMb2FkZXIgJiYgIWlzQ2F0ZWdvcnlMb2FkZXIgJiYgcmlza3NMaXN0Py5sZW5ndGhcIiBbaGVhZGVyVGV4dF09XCInUmlzayBOYW1lJ1wiIFtkYXRhTGlzdF09XCJyaXNrc0xpc3RcIiBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIiBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIChjaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2spPVwiY2hhbmdlU2VsZWN0ZWRDYXRBbmRSaXNrKCRldmVudClcIiBbY3VycmVudFBhZ2VdPVwicmlza0N1cnJlbnRQYWdlXCIgW3BlclBhZ2VMaW1pdF09XCJhY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlSaXNrTGltaXRcIiBbdG90YWxMaXN0RGF0YV09XCJhY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlSaXNrQ291bnRcIiBbdG90YWxQYWdlc109XCJnZXRUb3RhbFJpc2tQYWdlKClcIiAoZ2V0VXBkYXRlZERhdGFMaXN0KT1cImdldFVwZGF0ZWREYXRhTGlzdCgkZXZlbnQpXCIgPjwvYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJpc1Jpc2tMb2FkZXIgfHwgaXNDYXRlZ29yeUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInJpc2tzTGlzdD8ubGVuZ3RoID09PSAwICYmICEoaXNSaXNrTG9hZGVyIHx8IGlzQ2F0ZWdvcnlMb2FkZXIpXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIighaXNDYXRlZ29yeUxvYWRlciAmJiAhY2F0ZWdvcmllc0xpc3Q/Lmxlbmd0aClcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZFJpc2tzPy5sZW5ndGggPyBzZWxlY3RlZFJpc2tzIDogW11cIiAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIiBbc2luZ3VsYXJUZXh0XT1cIidyaXNrIHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidyaXNrcyBzZWxlY3RlZCdcIiAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3Rpbmcvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3Rpbmcvcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFdkgs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O3FCQUNiLFVBR08sQ0FBQyxhQUFhLENBQUMsV0FDZCxDQUFDLGdCQUFnQixDQUFDO2lHQTBCTSxzQkFBc0I7c0JBQXRELEtBQUs7dUJBQUMsb0JBQW9CO2dCQVUzQiw4QkFBOEI7c0JBRDdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1jYXRlZ29yeS1saXN0aW5nL2dyYy1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ncmMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRBQkxFX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZ3JjT2JqZWN0LmNvbnN0YW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZENvbXBvbmVudCxcclxuICAgIEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIExpc3RMb2FkZXJNb2R1bGUsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Jpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydjbG9zZVVzZXJzTGlzdCddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRhYmxlQ2FyZCA9IFRBQkxFX0NBUkQ7XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuXHJcbiAgY2F0ZWdvcnlTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcmlza1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgaXNDYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gIGlzUmlza0xvYWRlciA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZFRhYjogbnVtYmVyID0gMTtcclxuICBjYXRlZ29yeUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgY2F0ZWdvcmllc0xpc3Q6IGFueSA9IFtdO1xyXG4gIHJpc2tzTGlzdDogYW55ID0gW107XHJcbiAgYWN0aXZlQ2F0ZWdvcnk6IGFueSA9IHt9O1xyXG4gIHJpc2tDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZENhdEFuZFJpc2s6IGFueSA9IFtdO1xyXG4gIHByZVNlbGVjdGVkQ2F0QW5kUmlzazogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRDYXRlZ29yaWVzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZFJpc2tzOiBhbnkgPSBbXTtcclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZENhdEFuZFJpc2snKSBzZXQgc2VsZWN0ZWRDYXRBbmRSaXNrRGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzayA9IHZhbHVlO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZENhdEFuZFJpc2sgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcmllc0lkKHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICAgIHRoaXMuZ2V0Umlza0NhdGVnb3J5UGF5bG9hZCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVzZXJzTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2RhdGFMaXN0aW5nJylcclxuICByZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQhOiBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JjU2VydmljZTogR3JjU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICB0aGlzLmdldENhdGVnb3JpZXNDb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGV2ZW50Py50eXBlO1xyXG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcmllc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldENhdGVnb3JpZXNMaXN0KCkge1xyXG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5jYXRlZ29yeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5UGFyYW0gPSB7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID8/IDEsXHJcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcgPz8gJycsXHJcbiAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRUYWIgPz8gMSxcclxuICAgIH07XHJcbiAgICB0aGlzLmlzQ2F0ZWdvcnlMb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5jYXRlZ29yeVN1YnNjcmlwdGlvbiA9IHRoaXMuZ3JjU2VydmljZVxyXG4gICAgICAuZ2V0Umlza0NhdGVnb3JpZXMocXVlcnlQYXJhbSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0xpc3QgPSByZXM/Lm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxyXG4gICAgICAgICAgICAgIG5hbWU6IGNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnJpc2tDdXJyZW50UGFnZSA9IDE7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yaWVzTGlzdD8ubGVuZ3RoXHJcbiAgICAgICAgICAgID8gdGhpcy5jYXRlZ29yaWVzTGlzdFswXVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgdGhpcy5jYXRlZ29yaWVzTGlzdD8ubGVuZ3RoID8gdGhpcy5nZXRSaXNrTGlzdCgpIDogbnVsbDtcclxuICAgICAgICAgIHRoaXMuaXNDYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yaWVzQ291bnQoKSB7XHJcbiAgICBsZXQgcXVlcnlQYXJhbSA9IHtcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyA/PyAnJyxcclxuICAgIH07XHJcbiAgICB0aGlzLmdyY1NlcnZpY2UuZ2V0Umlza0NhdGVnb3JpZXNDb3VudChxdWVyeVBhcmFtKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFibGVDYXJkID0gcmVzLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0aXRsZTogaXRlbT8uY2F0ZWdvcnlUeXBlTmFtZSxcclxuICAgICAgICAgICAgY291bnQ6IGl0ZW0/LmNhdGVnb3J5Q291bnQsXHJcbiAgICAgICAgICAgIHR5cGU6IGl0ZW0/LmNhdGVnb3J5VHlwZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnI6IGFueSkgPT4ge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRSaXNrTGlzdChjbGlja2VkVHlwZT86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmlza1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnJpc2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBwOiB0aGlzLnJpc2tDdXJyZW50UGFnZSA/PyAxLFxyXG4gICAgICBxOiB0aGlzLnNlYXJjaFN0cmluZyA/PyAnJyxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYiA/PyAxLFxyXG4gICAgICBzb3VyY2U6ICdyaXNrX2NhdGVnb3J5JyxcclxuICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkID8/IFtdLFxyXG4gICAgfTtcclxuICAgIHRoaXMuaXNSaXNrTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMucmlza1N1YnNjcmlwdGlvbiA9IHRoaXMuZ3JjU2VydmljZS5nZXRSaXNrcyhwYXlsb2FkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmlza3NMaXN0ID0gdGhpcy5zZXREYXRhTGlzdFN0cnVjdHVyZShyZXMpO1xyXG4gICAgICAgIHRoaXMuaXNSaXNrTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNSaXNrTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhTGlzdFN0cnVjdHVyZShyZXM6IGFueSkge1xyXG4gICAgY29uc3QgZGF0YSA9IHJlcz8ubWFwKChyaXNrOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5yaXNrLFxyXG4gICAgICAgIG5hbWU6IHJpc2s/LlJpc2tOYW1lLFxyXG4gICAgICAgIGNvbnRyb2xJZDogcmlzaz8uUmlza0NvbnRyb2xJZCxcclxuICAgICAgICBfaWQ6IHJpc2s/LkVuY3J5cHRlZFJpc2tJZCxcclxuICAgICAgICBlbnRydXN0ZWRCeToge1xyXG4gICAgICAgICAgbmFtZTogcmlzaz8uTWVtYmVyTmFtZSxcclxuICAgICAgICAgIGVtYWlsOiByaXNrPy5NZW1iZXJFbWFpbCxcclxuICAgICAgICAgIHByb2ZpbGVQaWM6IHJpc2s/Lk1lbWJlclByb2ZpbGVQaWMgPz8gJycsXHJcbiAgICAgICAgICBzaG9ydE5hbWU6IHJpc2s/Lk1lbWJlclNvcnROYW1lLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IHt9LFxyXG4gICAgICAgIHdpdGhpbkRhdGE6IHJpc2s/LkVudGl0eT8ubWFwKCh3aXRoaW46IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmFtZTogd2l0aGluPy5yY19uYW1lLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVTZWxlY3RlZENhdGVnb3J5KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBldmVudD8uY2F0ZWdvcnk7XHJcbiAgICB0aGlzLnJpc2tDdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLmdldFJpc2tMaXN0KGV2ZW50Py5jbGlja2VkVHlwZSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVkRGF0YUxpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yaXNrQ3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vO1xyXG4gICAgdGhpcy5nZXRSaXNrTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWxSaXNrUGFnZSgpIHtcclxuICAgIGNvbnN0IHRvdGFsUGFnZSA9XHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5Umlza0NvdW50IC9cclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlSaXNrTGltaXQ7XHJcbiAgICByZXR1cm4gTWF0aC5jZWlsKE1hdGguYWJzKHRvdGFsUGFnZSkpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllc0NvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VVc2Vyc0xpc3QuZW1pdCh0aGlzLnByZVNlbGVjdGVkQ2F0QW5kUmlzayk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5jbG9zZVVzZXJzTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICB9XHJcblxyXG4gIG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm87XHJcbiAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2soZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2sgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0Umlza0NhdGVnb3J5UGF5bG9hZChldmVudCk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcmllc0lkKHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcmllc0lkKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHM/LnB1c2goc2VsZWN0ZWQ/LmNhdGVnb3J5Py5jYXRlZ29yeV9pZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFJpc2tDYXRlZ29yeVBheWxvYWQoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRSaXNrcyA9IFtdO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJpc2tzLnB1c2goLi4uaXRlbT8ucmlza3MpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcy5wdXNoKGl0ZW0/LmNhdGVnb3J5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkID09IGV2ZW50Py5DYXRlZ29yeUlkc1swXSkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudC5nZXRTZWxlY3RlZERhdGEoZXZlbnQsIGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50Py5kZWxldGVTZWxlY3RlZFJpc2soXHJcbiAgICAgICAgZXZlbnQ/LkNhdGVnb3J5SWRzWzBdLFxyXG4gICAgICAgIGV2ZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZ1wiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBSaXNrczwvaDM+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmctYm9keVwiPlxyXG4gICAgICAgIDxhcHAtdGFibGUtY2FyZCBjbGFzcz1cInZ4LXctMTAwXCIgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIiBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidDYXRlZ29yeSBTZWxlY3RlZCdcIiBbbXVsdGlwbGVTZWxlY3RlZFRleHRdPVwiJ0NhdGVnb3JpZXMgU2VsZWN0ZWQnXCIgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIiBbc2VsZWN0ZWRUYWJdPVwiMVwiPjwvYXBwLXRhYmxlLWNhcmQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAgI3NlYXJjaFJpc2tDYXRlZ29yeSAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmlzayBDYXRlZ29yaWVzXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmctYm9keS1pbm5lciB2eC1tYi0yIHZ4LWQtZmxleFwiIFtjbGFzcy53aXRoLW5vRGF0YV09XCIoIWlzQ2F0ZWdvcnlMb2FkZXIgJiYgIWNhdGVnb3JpZXNMaXN0Py5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NhdGVnb3J5TG9hZGVyIHx8IGNhdGVnb3JpZXNMaXN0Py5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLWxlZnQgdngtcHItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhaXNDYXRlZ29yeUxvYWRlclwiIFtoZWFkZXJUZXh0XT1cIidSaXNrIENhdGVnb3JpZXMnXCIgW2NhdGVnb3JpZXNdPVwiY2F0ZWdvcmllc0xpc3RcIiAgW3NlbGVjdGVkQ2F0QW5kUmlza109XCJzZWxlY3RlZENhdEFuZFJpc2tcIiBbdGFibGVDYXJkXT1cInRhYmxlQ2FyZFwiIFtjdXJyZW50UGFnZV09XCJjYXRlZ29yeUN1cnJlbnRQYWdlXCIgW3NlbGVjdGVkVGFiSW5kZXhdPVwic2VsZWN0ZWRUYWJcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZENhdGVnb3J5SWRzXCIgKGFjdGl2ZVNlbGVjdGVkQ2F0ZWdvcnkpPVwiYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKCRldmVudClcIj48L2FwcC1ncmMtY2F0ZWdvcnktbGlzdGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwiaXNDYXRlZ29yeUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiIWlzUmlza0xvYWRlciAmJiAhaXNDYXRlZ29yeUxvYWRlciAmJiByaXNrc0xpc3Q/Lmxlbmd0aFwiIFtoZWFkZXJUZXh0XT1cIidSaXNrIE5hbWUnXCIgW2RhdGFMaXN0XT1cInJpc2tzTGlzdFwiIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiIFtzZWxlY3RlZENhdEFuZFJpc2tdPVwic2VsZWN0ZWRDYXRBbmRSaXNrXCIgKGNoYW5nZVNlbGVjdGVkQ2F0QW5kUmlzayk9XCJjaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2soJGV2ZW50KVwiIFtjdXJyZW50UGFnZV09XCJyaXNrQ3VycmVudFBhZ2VcIiBbcGVyUGFnZUxpbWl0XT1cImFjdGl2ZUNhdGVnb3J5Py5jYXRlZ29yeVJpc2tMaW1pdFwiIFt0b3RhbExpc3REYXRhXT1cImFjdGl2ZUNhdGVnb3J5Py5jYXRlZ29yeVJpc2tDb3VudFwiIFt0b3RhbFBhZ2VzXT1cImdldFRvdGFsUmlza1BhZ2UoKVwiIChnZXRVcGRhdGVkRGF0YUxpc3QpPVwiZ2V0VXBkYXRlZERhdGFMaXN0KCRldmVudClcIiA+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cImlzUmlza0xvYWRlciB8fCBpc0NhdGVnb3J5TG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwicmlza3NMaXN0Py5sZW5ndGggPT09IDAgJiYgIShpc1Jpc2tMb2FkZXIgfHwgaXNDYXRlZ29yeUxvYWRlcilcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiKCFpc0NhdGVnb3J5TG9hZGVyICYmICFjYXRlZ29yaWVzTGlzdD8ubGVuZ3RoKVwiIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtZmxvYXRpbmctYmFyICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkUmlza3M/Lmxlbmd0aCA/IHNlbGVjdGVkUmlza3MgOiBbXVwiICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIiAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiIFtzaW5ndWxhclRleHRdPVwiJ3Jpc2sgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ3Jpc2tzIHNlbGVjdGVkJ1wiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
export class TableCardComponent {
|
|
@@ -10,23 +10,27 @@ export class TableCardComponent {
|
|
|
10
10
|
this.selectedTab = 0;
|
|
11
11
|
this.setSelectedTab = new EventEmitter();
|
|
12
12
|
}
|
|
13
|
+
set getTableCard(tab) {
|
|
14
|
+
this.tableCard = tab;
|
|
15
|
+
}
|
|
13
16
|
ngOnInit() { }
|
|
17
|
+
ngOnChanges(changes) {
|
|
18
|
+
console.log('=======================>', changes);
|
|
19
|
+
}
|
|
14
20
|
selectTab(tab) {
|
|
15
21
|
this.selectedTab = tab?.type;
|
|
16
22
|
this.setSelectedTab.emit(tab);
|
|
17
23
|
}
|
|
18
24
|
}
|
|
19
25
|
TableCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
TableCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableCardComponent, isStandalone: true, selector: "app-table-card", inputs: {
|
|
26
|
+
TableCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableCardComponent, isStandalone: true, selector: "app-table-card", inputs: { singleSelectedText: "singleSelectedText", multipleSelectedText: "multipleSelectedText", selectedTab: "selectedTab", getTableCard: ["tableCard", "getTableCard"] }, outputs: { setSelectedTab: "setSelectedTab" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\">\r\n <div *ngFor=\"let card of tableCard\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" (click)=\"selectTab(card)\" [class.active]=\"selectedTab == card?.type\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{card?.title}}</label>\r\n </div>\r\n <div *ngIf=\"card?.selectedCount\" class=\"selected-count vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">{{card?.selectedCount}} {{card?.selectedCount === 1 ? singleSelectedText : multipleSelectedText}}</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{card?.count}}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">STANDARDS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">8</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">INTERNAL CONTROLS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">20</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">OTHERS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">32</span>\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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .vx-table-card{box-shadow:0 0 2px #00000029}::ng-deep .vx-table-card.active{box-shadow:0 3px 12px #1e5dd326}@media screen and (min-width: 1280px){::ng-deep .vx-table-card .left .selected-count{line-height:.75rem!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
21
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableCardComponent, decorators: [{
|
|
22
28
|
type: Component,
|
|
23
|
-
args: [{ selector: 'app-table-card', standalone: true, imports: [CommonModule], inputs: [
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
], template: "<div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\">\r\n <div *ngFor=\"let card of tableCard\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" (click)=\"selectTab(card)\" [class.active]=\"selectedTab == card?.type\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{card?.title}}</label>\r\n </div>\r\n <div *ngIf=\"card?.selectedCount\" class=\"selected-count vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">{{card?.selectedCount}} {{card?.selectedCount === 1 ? singleSelectedText : multipleSelectedText}}</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{card?.count}}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">STANDARDS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">8</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">INTERNAL CONTROLS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">20</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">OTHERS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">32</span>\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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .vx-table-card{box-shadow:0 0 2px #00000029}::ng-deep .vx-table-card.active{box-shadow:0 3px 12px #1e5dd326}@media screen and (min-width: 1280px){::ng-deep .vx-table-card .left .selected-count{line-height:.75rem!important}}\n"] }]
|
|
29
|
-
}], ctorParameters: function () { return []; }, propDecorators: { setSelectedTab: [{
|
|
29
|
+
args: [{ selector: 'app-table-card', standalone: true, imports: [CommonModule], inputs: ['singleSelectedText', 'multipleSelectedText', 'selectedTab'], template: "<div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\">\r\n <div *ngFor=\"let card of tableCard\" class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" (click)=\"selectTab(card)\" [class.active]=\"selectedTab == card?.type\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{card?.title}}</label>\r\n </div>\r\n <div *ngIf=\"card?.selectedCount\" class=\"selected-count vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">{{card?.selectedCount}} {{card?.selectedCount === 1 ? singleSelectedText : multipleSelectedText}}</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">{{card?.count}}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">STANDARDS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">8</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">INTERNAL CONTROLS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">20</span>\r\n </div>\r\n </div>\r\n <div class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"false\">\r\n <div class=\"left vx-d-block vx-w-100\">\r\n <div class=\"label vx-d-flex vx-align-center\">\r\n <label class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">OTHERS</label>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-label-txt vx-lh-4\">1 Program selected</div>\r\n </div>\r\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\r\n <span class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\">32</span>\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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .vx-table-card{box-shadow:0 0 2px #00000029}::ng-deep .vx-table-card.active{box-shadow:0 3px 12px #1e5dd326}@media screen and (min-width: 1280px){::ng-deep .vx-table-card .left .selected-count{line-height:.75rem!important}}\n"] }]
|
|
30
|
+
}], ctorParameters: function () { return []; }, propDecorators: { getTableCard: [{
|
|
31
|
+
type: Input,
|
|
32
|
+
args: ['tableCard']
|
|
33
|
+
}], setSelectedTab: [{
|
|
30
34
|
type: Output
|
|
31
35
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7QUFVdkIsTUFBTSxPQUFPLGtCQUFrQjtJQVc3QjtRQVZBLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFJM0IsdUJBQWtCLEdBQVcsY0FBYyxDQUFDO1FBQzVDLHlCQUFvQixHQUFXLGNBQWMsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVOLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEQsQ0FBQztJQVRoQixJQUF3QixZQUFZLENBQUMsR0FBUTtRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBU0QsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVyxDQUFDLE9BQVk7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OytHQXRCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwyVENsQi9CLG93R0E2Q00sb2dCRGhDTSxZQUFZOzJGQUtYLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsVUFHZixDQUFDLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLGFBQWEsQ0FBQzswRUFJN0MsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxXQUFXO2dCQU9SLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1jYXJkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jYXJkLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ3NpbmdsZVNlbGVjdGVkVGV4dCcsICdtdWx0aXBsZVNlbGVjdGVkVGV4dCcsICdzZWxlY3RlZFRhYiddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIHRhYmxlQ2FyZDogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEBJbnB1dCgndGFibGVDYXJkJykgc2V0IGdldFRhYmxlQ2FyZCh0YWI6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZUNhcmQgPSB0YWI7XHJcbiAgfVxyXG4gIHNpbmdsZVNlbGVjdGVkVGV4dDogc3RyaW5nID0gJ0dSQyBTZWxlY3RlZCc7XHJcbiAgbXVsdGlwbGVTZWxlY3RlZFRleHQ6IHN0cmluZyA9ICdHUkMgU2VsZWN0ZWQnO1xyXG4gIHNlbGVjdGVkVGFiID0gMDtcclxuXHJcbiAgQE91dHB1dCgpIHNldFNlbGVjdGVkVGFiOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJz09PT09PT09PT09PT09PT09PT09PT09PicsIGNoYW5nZXMpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0VGFiKHRhYjogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gdGFiPy50eXBlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFRhYi5lbWl0KHRhYik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0yXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjYXJkIG9mIHRhYmxlQ2FyZFwiIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiAoY2xpY2spPVwic2VsZWN0VGFiKGNhcmQpXCIgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZFRhYiA9PSBjYXJkPy50eXBlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXJkPy50aXRsZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjYXJkPy5zZWxlY3RlZENvdW50XCIgY2xhc3M9XCJzZWxlY3RlZC1jb3VudCB2eC1mcy0xMSB2eC1mdy02MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTRcIj57e2NhcmQ/LnNlbGVjdGVkQ291bnR9fSB7e2NhcmQ/LnNlbGVjdGVkQ291bnQgPT09IDEgPyBzaW5nbGVTZWxlY3RlZFRleHQgOiBtdWx0aXBsZVNlbGVjdGVkVGV4dH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIj57e2NhcmQ/LmNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPlNUQU5EQVJEUzwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC1saC00XCI+MSBQcm9ncmFtIHNlbGVjdGVkPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIj44PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+SU5URVJOQUwgQ09OVFJPTFM8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHQgdngtbGgtNFwiPjEgUHJvZ3JhbSBzZWxlY3RlZDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+MjA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5PVEhFUlM8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHQgdngtbGgtNFwiPjEgUHJvZ3JhbSBzZWxlY3RlZDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+MzI8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj4gLS0+XHJcbjwvZGl2PiJdfQ==
|