barsa-develop-components 2.2.71 → 2.2.73

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.
@@ -127,11 +127,11 @@ export class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent {
127
127
  this.isOdd = false;
128
128
  }
129
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceDeskServcieDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ServiceDeskServcieDetailComponent, selector: "bdc-service-desk-servcie-detail", viewQueries: [{ propertyName: "tabContainerRef", first: true, predicate: ["tabContainerRef"], descendants: true }, { propertyName: "tablesRef", predicate: ["tablesRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "cellEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: i3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i5.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "pipe", type: i7.MoValuePipe, name: "val" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i7.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ServiceDeskServcieDetailComponent, selector: "bdc-service-desk-servcie-detail", viewQueries: [{ propertyName: "tabContainerRef", first: true, predicate: ["tabContainerRef"], descendants: true }, { propertyName: "tablesRef", predicate: ["tablesRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"true\"\r\n [title]=\"''\"\r\n [class.p-b0]=\"true\"\r\n [class.hide]=\"true\"\r\n [class.no-toolbar-items]=\"true\"\r\n>\r\n</fd-dynamic-page-header>\r\n<fd-dynamic-page-subheader style=\"display: none\"> </fd-dynamic-page-subheader>\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "cellEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: i3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i3.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i3.DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: i3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i5.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "pipe", type: i7.MoValuePipe, name: "val" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i7.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
131
  }
132
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceDeskServcieDetailComponent, decorators: [{
133
133
  type: Component,
134
- args: [{ selector: 'bdc-service-desk-servcie-detail', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"] }]
134
+ args: [{ selector: 'bdc-service-desk-servcie-detail', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"true\"\r\n [title]=\"''\"\r\n [class.p-b0]=\"true\"\r\n [class.hide]=\"true\"\r\n [class.no-toolbar-items]=\"true\"\r\n>\r\n</fd-dynamic-page-header>\r\n<fd-dynamic-page-subheader style=\"display: none\"> </fd-dynamic-page-subheader>\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"] }]
135
135
  }], propDecorators: { tabContainerRef: [{
136
136
  type: ViewChild,
137
137
  args: ['tabContainerRef']
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
139
139
  type: ViewChildren,
140
140
  args: ['tablesRef']
141
141
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxRQUFRLEVBR1Isc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUNoQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHNCQUFzQjtJQVA3RTs7UUFXSSxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFLakIsa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0FzSDdCO0lBbEhHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFF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QUM7UUFDbEMsQ0FBQztRQUVELG1FQUFtRTtRQUNuRSwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFNUQsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7K0dBcElRLGlDQUFpQzttR0FBakMsaUNBQWlDLDhSQ3hCOUMsdW9WQXNMQTs7NEZEOUphLGlDQUFpQztrQkFQN0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHYSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDRCxTQUFTO3NCQUFuQyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgT25Jbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBFbGVtZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXJzYUFwaSxcclxuICAgIEdlbmVyYWxDb250cm9sSW5mb01vZGVsLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQsXHJcbiAgICBGaW5kTGF5b3V0U2V0dGluZ0Zyb21MYXlvdXQ5NFxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVza1NlcnZjaWVEZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYmxlc1JlZicpIHRhYmxlc1JlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gICAgZmlsdGVyZWRDb250cm9sczogRmllbGRzSW5mb1tdO1xyXG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICBzZWNvbmRBcnJheTogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICB2YWx1ZVNoYXJoS2hlZG1hdDogYW55O1xyXG4gICAgbW9CeUNhcHRpb24gPSB7fTtcclxuICAgIGtoYWRhbWF0bW9ydGFiZXQ6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIHNlcnZpY2VzOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xyXG4gICAgY29udHJvbENvdW50OiBudW1iZXI7XHJcbiAgICBpc09kZDogYm9vbGVhbjtcclxuICAgIGZpZWxkc0NhcHRpb246IEZpZWxkc0luZm9bXSA9IFtdO1xyXG4gICAgdmFsdWUgPSAnJztcclxuICAgIHJhaG5hbWF5VGFzdmlyaTogYW55O1xyXG4gICAgaXNyYWhuYW1heVRhc3ZpcmkgPSBmYWxzZTtcclxuICAgIHNlbGVjdGVkVGFiOiBudW1iZXI7XHJcbiAgICBraGFkYW1hdG1vcnRhYmV0UmVwb3J0OiB7IFJlcG9ydElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH07XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgJEZpZWxkRGljdCA9IHRoaXMuZmllbGREaWN0O1xyXG4gICAgICAgIGlmICghJEZpZWxkRGljdCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3ByZXBhcmUoJEZpZWxkRGljdCwgdGhpcy5tbyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Eb3dubG9hZChpdGVtKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGl0ZW0uQXR0YWNobWVudCkge1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uRmlsZS5Eb3dubG9hZEZpbGVJZChpdGVtLkF0dGFjaG1lbnQuRmlsZXNbMF0uSWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5hbGlnblRhYmxlc1RyKCk7XHJcbiAgICB9XHJcbiAgICBvbktoYWRhbWF0TW9ydGFiZXQoaXRlbSk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3LkZvcm0uU2hvdyh7XHJcbiAgICAgICAgICAgIE1vSWQ6IGl0ZW0uSWQsXHJcbiAgICAgICAgICAgIFR5cGVEZWZJZDogdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0LlR5cGVEZWZJZCxcclxuICAgICAgICAgICAgTW9Db250ZXh0OiB7IFJlcG9ydElkOiB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQuUmVwb3J0SWQgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBhbGlnblRhYmxlc1RyKCk6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWJsZXNSZWYgPSB0aGlzLnRhYmxlc1JlZi50b0FycmF5KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0VGFibGVFbCA9IHRhYmxlc1JlZlswXS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBzZWNvbmRUYWJsZUVsID0gdGFibGVzUmVmWzFdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0ckZpcnN0VGFibGUgPSBmaXJzdFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuICAgICAgICAgICAgY29uc3QgdHJTZWNvbmRUYWJsZSA9IHNlY29uZFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuXHJcbiAgICAgICAgICAgIHRyRmlyc3RUYWJsZS5mb3JFYWNoKCh0ciwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IHRyU2Vjb25kVGFibGUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJTZWNvbmQgPSB0clNlY29uZFRhYmxlW2luZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodHIub2Zmc2V0SGVpZ2h0ID4gdHJTZWNvbmQub2Zmc2V0SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyU2Vjb25kLnN0eWxlLmhlaWdodCA9IGAke3RyLm9mZnNldEhlaWdodH1weGA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHIuc3R5bGUuaGVpZ2h0ID0gYCR7dHJTZWNvbmQub2Zmc2V0SGVpZ2h0fXB4YDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ByZXBhcmUoJEZpZWxkRGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgbW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsZWZ0c2lkZSA9IEZpbmRMYXlvdXRTZXR0aW5nRnJvbUxheW91dDk0KHRoaXMubGF5b3V0OTQsICfYrNiv2YjZhCDahtm+Jyk7XHJcbiAgICAgICAgY29uc3QgcmlnaHRzaWRlID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQodGhpcy5sYXlvdXQ5NCwgJ9is2K/ZiNmEINix2KfYs9iqJyk7XHJcblxyXG4gICAgICAgIGxlZnRzaWRlPy5pdGVtc1swXT8uaXRlbXM/LmZvckVhY2goKGl0ZW0yKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGl0ZW0yLkNhcHRpb247XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGl0ZW0yLkNvbnRyb2xJZDtcclxuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAga2V5ID09PSAn2KLYr9ix2LMg2LPYp9uM2KonIHx8XHJcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vW2ZpZWxkTmFtZV0uc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSkpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbW9bZmllbGROYW1lXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdNb0xpc3QnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRmlsZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnRmlsZXMnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnUmVsYXRpb24nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RBcnJheS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJpZ2h0c2lkZT8uaXRlbXNbMF0/Lml0ZW1zPy5mb3JFYWNoKChpdGVtMikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBpdGVtMi5DYXB0aW9uO1xyXG4gICAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBpdGVtMi5Db250cm9sSWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW06IEZpZWxkc0luZm8gPSB7IGNhcHRpb246IGtleSwgZmllbGROYW1lIH07XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGtleSA9PT0gJ9ii2K/YsdizINiz2KfbjNiqJyB8fFxyXG4gICAgICAgICAgICAgICAgKHR5cGVvZiBtb1tmaWVsZE5hbWVdID09PSAnc3RyaW5nJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIChtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgbW9bZmllbGROYW1lXS5zdGFydHNXaXRoKCdodHRwOi8vJykpKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdMaW5rJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobW9bZmllbGROYW1lXS4kVHlwZSA9PT0gJ0NvbW1vbi5NZXRhT2JqZWN0TGlzdFdlYicpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTW9MaXN0JztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW9bZmllbGROYW1lXS5FeHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnSW1hZ2UnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkZpbGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0ZpbGVzJztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ1JlbGF0aW9uJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlY29uZEFycmF5LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yYWhuYW1heVRhc3ZpcmkgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG1vWyRGaWVsZERpY3RbJ9ix2KfZh9mG2YXYp9uMINiq2LXZiNuM2LHbjCddXSk7XHJcbiAgICAgICAgaWYgKHRoaXMucmFobmFtYXlUYXN2aXJpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNyYWhuYW1heVRhc3ZpcmkgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGhpcy5maXJzdEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZSgwLCBjb250cm9sQ291bnRNaWRkbGUpO1xyXG4gICAgICAgIC8vIHRoaXMuc2Vjb25kQXJyYXkgPSBmaWx0ZXJlZENvbnRyb2xzLnNsaWNlKGNvbnRyb2xDb3VudE1pZGRsZSwgY29udHJvbENvdW50KTtcclxuICAgICAgICB0aGlzLmtoYWRhbWF0bW9ydGFiZXQgPSBtb1skRmllbGREaWN0WyfYrtiv2YXYp9iqINmF2LHYqtio2LcnXV0/Lk1vRGF0YUxpc3QgPz8gW107XHJcbiAgICAgICAgdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0ID0gbW9bJEZpZWxkRGljdFsn2K7Yr9mF2KfYqiDZhdix2KrYqNi3J11dO1xyXG5cclxuICAgICAgICAvLyB0aGlzLmlzT2RkID0gY29udHJvbENvdW50ICUgMiA9PT0gMDtcclxuICAgICAgICB0aGlzLmlzT2RkID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEZpZWxkc0luZm8ge1xyXG4gICAgdHlwZT86IHN0cmluZztcclxuICAgIGNhcHRpb246IHN0cmluZztcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nO1xyXG59XHJcbiIsIjxmZC1keW5hbWljLXBhZ2UgW3NpemVdPVwiaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ1wiPlxyXG4gICAgPGZkLXRhYi1saXN0XHJcbiAgICAgICAgW2NvbGxhcHNlT3ZlcmZsb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJmYWxzZVwiXHJcbiAgICAgICAgbWF4Q29udGVudEhlaWdodD1cImF1dG9cIlxyXG4gICAgICAgIFtleHBhbmRPdmVyZmxvd1RleHRdPVwiJ01vcmUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAjdGFibGlzdFxyXG4gICAgPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifYtNmG2KfYs9mG2KfZhdmHINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiIHNlbGVjdGVkPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiIFtjb2xNZF09XCI2XCIgW2NvbExnXT1cIjZcIiBbY29sWGxdPVwiNlwiIHN0eWxlPVwicGFkZGluZzogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclRhYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmaXJzdEFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogaXNPZGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM6ICdmaXJzdFRhYmxlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cIjZcIiBbY29sTGddPVwiNlwiIFtjb2xYbF09XCI2XCIgc3R5bGU9XCJwYWRkaW5nOiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNlY29uZEFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogIWlzT2RkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiAnc2Vjb25kVGFibGUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9m+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2b7bjNi02YbbjNin2LLZh9in24wg2KfYrtiwINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9m+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifYtNix2KfZiti3INin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mF2LHYp9it2YQg2KfYrtiwINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfSBAaWYgKCfZgdix2KLbjNmG2K8g2YXYrNmI2LInIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2wgW2NhcHRpb25dPVwiJ9mB2LHYotuM2YbYryDZhdis2YjYsicgfCBiYmJUcmFuc2xhdGVcIiBbY29uZmlnXT1cImNvbmZpZ1VpXCI+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZhdiv2KfYsdqpINmF2YjYsdivINmG24zYp9iyINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mH2LLbjNmG2Ycg2YfYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZhdio2KfZhtuMINmC2KfZhtmI2YbbjCDYp9ix2KfYptmHINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfZhdio2KfZhtuMINmC2KfZhtmI2YbbjCDYp9ix2KfYptmHINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9mF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mI2KfYrdiv2YfYp9uMINin2LHYp9im2Ycg2K/Zh9mG2K/ZhyDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YjYp9it2K/Zh9in24wg2LPYp9iy2YXYp9mG24wg2KfYsdin2KbZhyDYr9mH2YbYr9mHJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9mI2KfYrdiv2YfYp9uMINiz2KfYstmF2KfZhtuMINin2LHYp9im2Ycg2K/Zh9mG2K/ZhycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG5cclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2K/Ys9iq2q/Yp9mHINmH2KfbjCDYp9iz2KrYudmE2KfZhSDYr9mH2YbYr9mHJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIEBpZiAoJ1NMQSDZiCDYsdin2YfZhtmF2KfbjCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIidTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIEBpZiAoY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCInU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgfVxyXG4gICAgPC9mZC10YWItbGlzdD5cclxuXHJcbiAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj4gPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxyXG48L2ZkLWR5bmFtaWMtcGFnZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFibGUgbGV0LWFycmF5IGxldC1zaG93S2hhZGFtYXRNb3J0YWJldD1cInNob3dLaGFkYW1hdE1vcnRhYmV0XCIgbGV0LWNsYXNzTmFtZXM9XCJjbGFzc05hbWVzXCI+XHJcbiAgICA8dGFibGUgI3RhYmxlc1JlZiBjbGFzcz1cInRhYmxlLWdyaWRcIiBbbmdDbGFzc109XCJjbGFzc05hbWVzXCI+XHJcbiAgICAgICAgQGZvciAoY29udHJvbEl0ZW0gb2YgYXJyYXk7IHRyYWNrIGNvbnRyb2xJdGVtKSB7XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGg+e3sgY29udHJvbEl0ZW0uY2FwdGlvbiB8IGJiYlRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIEBzd2l0Y2ggKGNvbnRyb2xJdGVtLnR5cGUpIHsgQGNhc2UgKCdMaW5rJykge1xyXG4gICAgICAgICAgICAgICAgPGEgZGlyPVwibHRyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwibW9bY29udHJvbEl0ZW0uZmllbGROYW1lXVwiPnt7IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0gfX08L2E+XHJcbiAgICAgICAgICAgICAgICB9IEBjYXNlICgnUmVsYXRpb24nKSB7XHJcbiAgICAgICAgICAgICAgICB7eyBjb250cm9sSXRlbS5maWVsZE5hbWUgfCB2YWw6IG1vOnRydWUgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIH0gQGNhc2UgKCdNb0xpc3QnKSB7IEBmb3IgKGl0ZW0gb2YgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXT8uTW9EYXRhTGlzdDsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCJmZC1pY29uLWxpbmtcIiBbZ2x5cGhdPVwiJ2NoYWluLWxpbmsnXCIgc3R5bGU9XCJjb2xvcjogIzA4NTRhMFwiPjwvZmQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidwZGYtYXR0YWNobWVudCdcIj48L2ZkLWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkRvd25sb2FkKGl0ZW0pXCI+e3sgaXRlbS4kQ2FwdGlvbiB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfSB9IEBjYXNlICgnSW1hZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdLkV4dCB9fVxyXG4gICAgICAgICAgICAgICAgfSBAY2FzZSAoJ0ZpbGVzJykge1xyXG4gICAgICAgICAgICAgICAge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5GaWxlcyB9fVxyXG4gICAgICAgICAgICAgICAgfSBAZGVmYXVsdCB7XHJcbiAgICAgICAgICAgICAgICB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWUgKyAnJENhcHRpb24nXSB8fCBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGg+2K7Yr9mF2KfYqiDZhdix2KrYqNi3PC90aD5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGtoYWRhbWF0bW9ydGFiZXRcIj5cclxuICAgICAgICAgIDxhIChjbGljayk9XCJvbktoYWRhbWF0TW9ydGFiZXQoaXRlbSlcIj57eyBpdGVtLiRDYXB0aW9uIH19PC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICA8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxRQUFRLEVBR1Isc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUNoQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHNCQUFzQjtJQVA3RTs7UUFXSSxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFLakIsa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0FzSDdCO0lBbEhHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBSTtRQUNuQixRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2IsU0FBUyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTO1lBQ2hELFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO1NBQ2hFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDTyxhQUFhO1FBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUE0QixDQUFDO1lBQy9ELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUE0QixDQUFDO1lBRWhFLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMvQixNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RDLElBQUksRUFBRSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7d0JBQzFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLFlBQVksSUFBSSxDQUFDO29CQUNuRCxDQUFDO3lCQUFNLENBQUM7d0JBQ0osRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsWUFBWSxJQUFJLENBQUM7b0JBQ25ELENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVPLFFBQVEsQ0FBQyxVQUFxQyxFQUFFLEVBQXVCO1FBQzNFLE1BQU0sUUFBUSxHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDekUsTUFBTSxTQUFTLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUU1RSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6QyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzFCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDbEMsTUFBTSxJQUFJLEdBQWUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JELElBQ0ksR0FBRyxLQUFLLFdBQVc7Z0JBQ25CLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssUUFBUTtvQkFDOUIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNwRixDQUFDO2dCQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztvQkFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLENBQUM7cUJBQU0sSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO2dCQUN4QixDQUFDO3FCQUFNLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztnQkFDeEIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO2dCQUMzQixDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUMxQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxHQUFlLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNyRCxJQUNJLEdBQUcsS0FBSyxXQUFXO2dCQUNuQixDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFFBQVE7b0JBQzlCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDcEYsQ0FBQztnQkFDQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUN2QixDQUFDO1lBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxLQUFLLDBCQUEwQixFQUFFLENBQUM7b0JBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO2dCQUN6QixDQUFDO3FCQUFNLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztnQkFDeEIsQ0FBQztxQkFBTSxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ3hCLENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztnQkFDM0IsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsQ0FBQztRQUVELG1FQUFtRTtRQUNuRSwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFNUQsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7K0dBcElRLGlDQUFpQzttR0FBakMsaUNBQWlDLDhSQ3hCOUMsMDdWQStMQTs7NEZEdkthLGlDQUFpQztrQkFQN0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHYSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDRCxTQUFTO3NCQUFuQyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgT25Jbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBFbGVtZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXJzYUFwaSxcclxuICAgIEdlbmVyYWxDb250cm9sSW5mb01vZGVsLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQsXHJcbiAgICBGaW5kTGF5b3V0U2V0dGluZ0Zyb21MYXlvdXQ5NFxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVza1NlcnZjaWVEZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYmxlc1JlZicpIHRhYmxlc1JlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gICAgZmlsdGVyZWRDb250cm9sczogRmllbGRzSW5mb1tdO1xyXG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICBzZWNvbmRBcnJheTogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICB2YWx1ZVNoYXJoS2hlZG1hdDogYW55O1xyXG4gICAgbW9CeUNhcHRpb24gPSB7fTtcclxuICAgIGtoYWRhbWF0bW9ydGFiZXQ6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIHNlcnZpY2VzOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xyXG4gICAgY29udHJvbENvdW50OiBudW1iZXI7XHJcbiAgICBpc09kZDogYm9vbGVhbjtcclxuICAgIGZpZWxkc0NhcHRpb246IEZpZWxkc0luZm9bXSA9IFtdO1xyXG4gICAgdmFsdWUgPSAnJztcclxuICAgIHJhaG5hbWF5VGFzdmlyaTogYW55O1xyXG4gICAgaXNyYWhuYW1heVRhc3ZpcmkgPSBmYWxzZTtcclxuICAgIHNlbGVjdGVkVGFiOiBudW1iZXI7XHJcbiAgICBraGFkYW1hdG1vcnRhYmV0UmVwb3J0OiB7IFJlcG9ydElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH07XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgJEZpZWxkRGljdCA9IHRoaXMuZmllbGREaWN0O1xyXG4gICAgICAgIGlmICghJEZpZWxkRGljdCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3ByZXBhcmUoJEZpZWxkRGljdCwgdGhpcy5tbyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Eb3dubG9hZChpdGVtKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGl0ZW0uQXR0YWNobWVudCkge1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uRmlsZS5Eb3dubG9hZEZpbGVJZChpdGVtLkF0dGFjaG1lbnQuRmlsZXNbMF0uSWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5hbGlnblRhYmxlc1RyKCk7XHJcbiAgICB9XHJcbiAgICBvbktoYWRhbWF0TW9ydGFiZXQoaXRlbSk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3LkZvcm0uU2hvdyh7XHJcbiAgICAgICAgICAgIE1vSWQ6IGl0ZW0uSWQsXHJcbiAgICAgICAgICAgIFR5cGVEZWZJZDogdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0LlR5cGVEZWZJZCxcclxuICAgICAgICAgICAgTW9Db250ZXh0OiB7IFJlcG9ydElkOiB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQuUmVwb3J0SWQgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBhbGlnblRhYmxlc1RyKCk6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWJsZXNSZWYgPSB0aGlzLnRhYmxlc1JlZi50b0FycmF5KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0VGFibGVFbCA9IHRhYmxlc1JlZlswXS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBzZWNvbmRUYWJsZUVsID0gdGFibGVzUmVmWzFdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0ckZpcnN0VGFibGUgPSBmaXJzdFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuICAgICAgICAgICAgY29uc3QgdHJTZWNvbmRUYWJsZSA9IHNlY29uZFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuXHJcbiAgICAgICAgICAgIHRyRmlyc3RUYWJsZS5mb3JFYWNoKCh0ciwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IHRyU2Vjb25kVGFibGUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJTZWNvbmQgPSB0clNlY29uZFRhYmxlW2luZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodHIub2Zmc2V0SGVpZ2h0ID4gdHJTZWNvbmQub2Zmc2V0SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyU2Vjb25kLnN0eWxlLmhlaWdodCA9IGAke3RyLm9mZnNldEhlaWdodH1weGA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHIuc3R5bGUuaGVpZ2h0ID0gYCR7dHJTZWNvbmQub2Zmc2V0SGVpZ2h0fXB4YDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ByZXBhcmUoJEZpZWxkRGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgbW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsZWZ0c2lkZSA9IEZpbmRMYXlvdXRTZXR0aW5nRnJvbUxheW91dDk0KHRoaXMubGF5b3V0OTQsICfYrNiv2YjZhCDahtm+Jyk7XHJcbiAgICAgICAgY29uc3QgcmlnaHRzaWRlID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQodGhpcy5sYXlvdXQ5NCwgJ9is2K/ZiNmEINix2KfYs9iqJyk7XHJcblxyXG4gICAgICAgIGxlZnRzaWRlPy5pdGVtc1swXT8uaXRlbXM/LmZvckVhY2goKGl0ZW0yKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGl0ZW0yLkNhcHRpb247XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGl0ZW0yLkNvbnRyb2xJZDtcclxuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAga2V5ID09PSAn2KLYr9ix2LMg2LPYp9uM2KonIHx8XHJcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vW2ZpZWxkTmFtZV0uc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSkpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbW9bZmllbGROYW1lXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdNb0xpc3QnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRmlsZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnRmlsZXMnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnUmVsYXRpb24nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RBcnJheS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJpZ2h0c2lkZT8uaXRlbXNbMF0/Lml0ZW1zPy5mb3JFYWNoKChpdGVtMikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBpdGVtMi5DYXB0aW9uO1xyXG4gICAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBpdGVtMi5Db250cm9sSWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW06IEZpZWxkc0luZm8gPSB7IGNhcHRpb246IGtleSwgZmllbGROYW1lIH07XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGtleSA9PT0gJ9ii2K/YsdizINiz2KfbjNiqJyB8fFxyXG4gICAgICAgICAgICAgICAgKHR5cGVvZiBtb1tmaWVsZE5hbWVdID09PSAnc3RyaW5nJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIChtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgbW9bZmllbGROYW1lXS5zdGFydHNXaXRoKCdodHRwOi8vJykpKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdMaW5rJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobW9bZmllbGROYW1lXS4kVHlwZSA9PT0gJ0NvbW1vbi5NZXRhT2JqZWN0TGlzdFdlYicpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTW9MaXN0JztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW9bZmllbGROYW1lXS5FeHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnSW1hZ2UnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkZpbGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0ZpbGVzJztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ1JlbGF0aW9uJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlY29uZEFycmF5LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yYWhuYW1heVRhc3ZpcmkgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG1vWyRGaWVsZERpY3RbJ9ix2KfZh9mG2YXYp9uMINiq2LXZiNuM2LHbjCddXSk7XHJcbiAgICAgICAgaWYgKHRoaXMucmFobmFtYXlUYXN2aXJpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNyYWhuYW1heVRhc3ZpcmkgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGhpcy5maXJzdEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZSgwLCBjb250cm9sQ291bnRNaWRkbGUpO1xyXG4gICAgICAgIC8vIHRoaXMuc2Vjb25kQXJyYXkgPSBmaWx0ZXJlZENvbnRyb2xzLnNsaWNlKGNvbnRyb2xDb3VudE1pZGRsZSwgY29udHJvbENvdW50KTtcclxuICAgICAgICB0aGlzLmtoYWRhbWF0bW9ydGFiZXQgPSBtb1skRmllbGREaWN0WyfYrtiv2YXYp9iqINmF2LHYqtio2LcnXV0/Lk1vRGF0YUxpc3QgPz8gW107XHJcbiAgICAgICAgdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0ID0gbW9bJEZpZWxkRGljdFsn2K7Yr9mF2KfYqiDZhdix2KrYqNi3J11dO1xyXG5cclxuICAgICAgICAvLyB0aGlzLmlzT2RkID0gY29udHJvbENvdW50ICUgMiA9PT0gMDtcclxuICAgICAgICB0aGlzLmlzT2RkID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEZpZWxkc0luZm8ge1xyXG4gICAgdHlwZT86IHN0cmluZztcclxuICAgIGNhcHRpb246IHN0cmluZztcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nO1xyXG59XHJcbiIsIjxmZC1keW5hbWljLXBhZ2UgW3NpemVdPVwiaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ1wiPlxyXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1oZWFkZXJcclxuICAgIFtjbGFzcy5zaW1wbGUtdGl0bGVdPVwidHJ1ZVwiXHJcbiAgICBbdGl0bGVdPVwiJydcIlxyXG4gICAgW2NsYXNzLnAtYjBdPVwidHJ1ZVwiXHJcbiAgICBbY2xhc3MuaGlkZV09XCJ0cnVlXCJcclxuICAgIFtjbGFzcy5uby10b29sYmFyLWl0ZW1zXT1cInRydWVcIlxyXG4+XHJcbjwvZmQtZHluYW1pYy1wYWdlLWhlYWRlcj5cclxuPGZkLWR5bmFtaWMtcGFnZS1zdWJoZWFkZXIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+IDwvZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlcj5cclxuICAgIDxmZC10YWItbGlzdFxyXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRydWVcIlxyXG4gICAgICAgIFtzdGFja0NvbnRlbnRdPVwiZmFsc2VcIlxyXG4gICAgICAgIG1heENvbnRlbnRIZWlnaHQ9XCJhdXRvXCJcclxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgI3RhYmxpc3RcclxuICAgID5cclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2LTZhtin2LPZhtin2YXZhyDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIiBzZWxlY3RlZD5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkIGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW46IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiNlwiIFtjb2xMZ109XCI2XCIgW2NvbFhsXT1cIjZcIiBzdHlsZT1cInBhZGRpbmc6IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJUYWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZmlyc3RBcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0toYWRhbWF0TW9ydGFiZXQ6IGlzT2RkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiAnZmlyc3RUYWJsZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiIFtjb2xNZF09XCI2XCIgW2NvbExnXT1cIjZcIiBbY29sWGxdPVwiNlwiIHN0eWxlPVwicGFkZGluZzogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclRhYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZWNvbmRBcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0toYWRhbWF0TW9ydGFiZXQ6ICFpc09kZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lczogJ3NlY29uZFRhYmxlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIEBpZiAoJ9m+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2LTYsdin2YrYtyDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIEBpZiAoJ9i02LHYp9uM2Lcg2KfYrtiwINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9i02LHYp9uM2Lcg2KfYrtiwINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH0gQGlmICgn2YHYsdii24zZhtivINmF2KzZiNiyJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sIFtjYXB0aW9uXT1cIifZgdix2KLbjNmG2K8g2YXYrNmI2LInIHwgYmJiVHJhbnNsYXRlXCIgW2NvbmZpZ109XCJjb25maWdVaVwiPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG5cclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIEBpZiAoJ9mF2K/Yp9ix2qkg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9mF2K/Yp9ix2qkg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YfYstuM2YbZhyDZh9in24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2YfYstuM2YbZhyDZh9in24wg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZhdio2KfZhtuMINmC2KfZhtmI2YbbjCDYp9ix2KfYptmHINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZiNin2K3Yr9mH2KfbjCDYp9ix2KfYptmHINiv2YfZhtiv2Ycg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIEBpZiAoJ9mI2KfYrdiv2YfYp9uMINiz2KfYstmF2KfZhtuMINin2LHYp9im2Ycg2K/Zh9mG2K/ZhycgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9iv2LPYqtqv2KfZhyDZh9in24wg2KfYs9iq2LnZhNin2YUg2K/Zh9mG2K/ZhycgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2KfYs9iq2LnZhNin2YUg2LPYp9iy2YXYp9mGINmH2KcnIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2KfYs9iq2LnZhNin2YUg2LPYp9iy2YXYp9mGINmH2KcnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuICAgICAgICBAaWYgKCdTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCInU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ1NMQSDZiCDYsdin2YfZhtmF2KfbjCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIH1cclxuICAgIDwvZmQtdGFiLWxpc3Q+XHJcblxyXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1mb290ZXI+IDwvZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cclxuPC9mZC1keW5hbWljLXBhZ2U+XHJcblxyXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYmxlIGxldC1hcnJheSBsZXQtc2hvd0toYWRhbWF0TW9ydGFiZXQ9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiIGxldC1jbGFzc05hbWVzPVwiY2xhc3NOYW1lc1wiPlxyXG4gICAgPHRhYmxlICN0YWJsZXNSZWYgY2xhc3M9XCJ0YWJsZS1ncmlkXCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lc1wiPlxyXG4gICAgICAgIEBmb3IgKGNvbnRyb2xJdGVtIG9mIGFycmF5OyB0cmFjayBjb250cm9sSXRlbSkge1xyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRoPnt7IGNvbnRyb2xJdGVtLmNhcHRpb24gfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICBAc3dpdGNoIChjb250cm9sSXRlbS50eXBlKSB7IEBjYXNlICgnTGluaycpIHtcclxuICAgICAgICAgICAgICAgIDxhIGRpcj1cImx0clwiIHRhcmdldD1cIl9ibGFua1wiIFtocmVmXT1cIm1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV1cIj57eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgfSBAY2FzZSAoJ1JlbGF0aW9uJykge1xyXG4gICAgICAgICAgICAgICAge3sgY29udHJvbEl0ZW0uZmllbGROYW1lIHwgdmFsOiBtbzp0cnVlIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICB9IEBjYXNlICgnTW9MaXN0JykgeyBAZm9yIChpdGVtIG9mIG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0/Lk1vRGF0YUxpc3Q7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidjaGFpbi1saW5rJ1wiIHN0eWxlPVwiY29sb3I6ICMwODU0YTBcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZmQtaWNvbiBjbGFzcz1cImZkLWljb24tbGlua1wiIFtnbHlwaF09XCIncGRmLWF0dGFjaG1lbnQnXCI+PC9mZC1pY29uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25Eb3dubG9hZChpdGVtKVwiPnt7IGl0ZW0uJENhcHRpb24gfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH0gfSBAY2FzZSAoJ0ltYWdlJykge1xyXG4gICAgICAgICAgICAgICAge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5FeHQgfX1cclxuICAgICAgICAgICAgICAgIH0gQGNhc2UgKCdGaWxlcycpIHtcclxuICAgICAgICAgICAgICAgIHt7IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0uRmlsZXMgfX1cclxuICAgICAgICAgICAgICAgIH0gQGRlZmF1bHQge1xyXG4gICAgICAgICAgICAgICAge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lICsgJyRDYXB0aW9uJ10gfHwgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXSB8IGJiYlRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgfSB9XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0toYWRhbWF0TW9ydGFiZXRcIj5cclxuICAgIDx0cj5cclxuICAgICAgPHRoPtiu2K/Zhdin2Kog2YXYsdiq2KjYtzwvdGg+XHJcbiAgICAgIDx0ZD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBraGFkYW1hdG1vcnRhYmV0XCI+XHJcbiAgICAgICAgICA8YSAoY2xpY2spPVwib25LaGFkYW1hdE1vcnRhYmV0KGl0ZW0pXCI+e3sgaXRlbS4kQ2FwdGlvbiB9fTwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgPC90YWJsZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19