@fundamental-ngx/platform 0.48.1-rc.2 → 0.48.1-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/dynamic-page/dynamic-page.component.mjs +2 -2
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +6 -2
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +11 -5
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +25 -8
- package/esm2022/icon-tab-bar/components/text-type-tab-item/icon-tab-bar-text-type-tab-item.component.mjs +29 -0
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +8 -4
- package/esm2022/icon-tab-bar/index.mjs +2 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +72 -17
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.48.1-rc.3.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +2 -1
- package/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.d.ts +3 -1
- package/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.d.ts +12 -1
- package/icon-tab-bar/components/text-type-tab-item/icon-tab-bar-text-type-tab-item.component.d.ts +23 -0
- package/icon-tab-bar/icon-tab-bar.component.d.ts +3 -1
- package/icon-tab-bar/index.d.ts +1 -0
- package/package.json +10 -10
- package/fundamental-ngx-platform-v0.48.1-rc.2.tgz +0 -0
|
@@ -169,7 +169,7 @@ export class DynamicPageComponent extends BaseComponent {
|
|
|
169
169
|
provide: FDP_DYNAMIC_PAGE,
|
|
170
170
|
useExisting: DynamicPageComponent
|
|
171
171
|
}
|
|
172
|
-
], queries: [{ propertyName: "titleComponent", first: true, predicate: DynamicPageTitleComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "contentComponent", first: true, predicate: DynamicPageContentComponent, descendants: true }, { propertyName: "contentComponents", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_dynamicPageComponent", first: true, predicate: FD_DYNAMIC_PAGE, descendants: true }, { propertyName: "_tabListComponent", first: true, predicate: FD_TABLIST, descendants: true }, { propertyName: "dynamicPageTabs", predicate: IconTabBarTabComponent, descendants: true }, { propertyName: "_contentHostComponents", predicate: DynamicPageContentHostComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n @if (titleComponent) {\n <fd-dynamic-page-header\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-template [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-template>\n </fd-breadcrumb>\n @if (titleComponent._subtitleDirective) {\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n }\n @if (titleComponent._titleDirective) {\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n }\n @if (titleComponent.keyInfoComponent) {\n <fd-dynamic-page-title-content>\n <ng-template [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-title-content>\n }\n @if (titleComponent.imageComponent) {\n <fd-facet type=\"image\">\n <ng-template [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-template>\n </fd-facet>\n }\n @if (titleComponent.globalActionsComponent) {\n <fd-dynamic-page-global-actions>\n <ng-template\n [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"\n ></ng-template>\n </fd-dynamic-page-global-actions>\n }\n @if (titleComponent.layoutActionsComponent) {\n <fd-dynamic-page-layout-actions>\n <ng-template\n [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"\n ></ng-template>\n </fd-dynamic-page-layout-actions>\n }\n </fd-dynamic-page-header>\n }\n @if (headerComponent) {\n <fd-dynamic-page-subheader\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-subheader>\n }\n @if (_isTabbed) {\n <fdp-icon-tab-bar\n class=\"fd-tabs-custom\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (iconTabSelected)=\"_onSelectedTabChange($event)\"\n >\n @for (tab of _tabs; track tab) {\n <fdp-icon-tab-bar-tab [label]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-template\n [ngTemplateOutlet]=\"tab.contentTemplateRef\"\n ></ng-template> </fd-dynamic-page-content\n ></fdp-icon-tab-bar-tab>\n }\n <fdp-icon-tab-bar-tab></fdp-icon-tab-bar-tab>\n </fdp-icon-tab-bar>\n }\n @if (!_isTabbed && contentComponent) {\n <fd-dynamic-page-content>\n <ng-template [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-content>\n }\n @if (footerComponent) {\n <fd-dynamic-page-footer>\n <ng-template [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-footer>\n }\n</fd-dynamic-page>\n", styles: ["/*!\n * Fundamental Library Styles v0.33.2\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dynamic-page{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0}.fd-dynamic-page:after,.fd-dynamic-page:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__header-fixed{left:0;position:fixed;right:0;top:0;z-index:3}.fd-dynamic-page__header{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;padding:0}.fd-dynamic-page__header:after,.fd-dynamic-page__header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;min-height:3rem;padding:0;z-index:1}.fd-dynamic-page__title-area:after,.fd-dynamic-page__title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area.is-focus,.fd-dynamic-page__title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:1}.fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__title-area:hover{background:var(--sapObjectHeader_Hover_Background);border-bottom:var(--fdDynamicPage_Hover_Border_Bottom);cursor:pointer}.fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page__title-area--collapsed .fd-dynamic-page__title{font-size:var(--fdDynamicPage_Title_Collapsed_Font_Size)}.fd-dynamic-page__title-area[aria-hidden=true]{display:none}.fd-dynamic-page__main-container{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;padding:0}.fd-dynamic-page__main-container:after,.fd-dynamic-page__main-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0}.fd-dynamic-page__title-container:after,.fd-dynamic-page__title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:.5rem 0 .25rem}.fd-dynamic-page__breadcrumb:after,.fd-dynamic-page__breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-title-container{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;min-width:0;padding:0}.fd-dynamic-page__breadcrumb-title-container:after,.fd-dynamic-page__breadcrumb-title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-container{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;padding:0}.fd-dynamic-page__breadcrumb-container:after,.fd-dynamic-page__breadcrumb-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Title_Color);font-family:var(--sapFontFamily);font-family:var(--fdDynamicPage_Title_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdDynamicPage_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title:after,.fd-dynamic-page__title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title .fd-link{color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader3Size);max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.fd-dynamic-page__title--wrap{white-space:normal}.fd-dynamic-page__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Subtitle_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:.25rem 0 0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__subtitle:after,.fd-dynamic-page__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__subtitle--wrap{white-space:normal}.fd-dynamic-page__title-content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap}.fd-dynamic-page__title-content:after,.fd-dynamic-page__title-content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-content[dir=rtl],[dir=rtl] .fd-dynamic-page__title-content{padding:0 1rem 0 0}.fd-dynamic-page__title-subtitle-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title-subtitle-container:after,.fd-dynamic-page__title-subtitle-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0 0 0 auto;padding:0}.fd-dynamic-page__toolbar-container:after,.fd-dynamic-page__toolbar-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container[dir=rtl],[dir=rtl] .fd-dynamic-page__toolbar-container{margin-left:0;margin-right:auto}.fd-dynamic-page .fd-dynamic-page__toolbar{background:transparent;margin:0;padding:0 0 0 1rem}.fd-dynamic-page .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar{padding-left:0;padding-right:1rem}.fd-dynamic-page .fd-dynamic-page__toolbar--actions,.fd-dynamic-page .fd-dynamic-page__toolbar--actions[dir=rtl],.fd-dynamic-page .fd-dynamic-page__toolbar--content,.fd-dynamic-page .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--actions,[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--content{padding:0}.fd-dynamic-page__summarized-title-area{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;-webkit-box-shadow:var(--sapContent_HeaderShadow);align-items:center;background:var(--sapObjectHeader_Background);border:0;box-shadow:var(--sapContent_HeaderShadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;justify-content:space-between;line-height:normal;margin:0;padding:0;z-index:1}.fd-dynamic-page__summarized-title-area:after,.fd-dynamic-page__summarized-title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__summarized-title-area.is-focus,.fd-dynamic-page__summarized-title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-dynamic-page__summarized-title-area--no-shadow{box-shadow:none}.fd-dynamic-page__summarized-title-area[aria-hidden=true]{display:none}.fd-dynamic-page__summarized-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:2rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__summarized-title:after,.fd-dynamic-page__summarized-title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0}.fd-dynamic-page__collapsible-header-container:after,.fd-dynamic-page__collapsible-header-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header{-webkit-box-sizing:border-box;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:1rem 0}.fd-dynamic-page__collapsible-header:after,.fd-dynamic-page__collapsible-header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header[aria-hidden=true]{display:none}.fd-dynamic-page .fd-dynamic-page__tabs{margin:0;padding:0}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{overflow:hidden}.fd-dynamic-page .fd-dynamic-page__tabs--add-shadow,.fd-dynamic-page__collapsible-header-visibility-container{box-shadow:var(--sapContent_HeaderShadow)}.fd-dynamic-page__collapsible-header-visibility-container{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:normal;margin:0;min-height:.0625rem;padding:0;z-index:2}.fd-dynamic-page__collapsible-header-visibility-container:after,.fd-dynamic-page__collapsible-header-visibility-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--button-group{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fdDynamicPage_Button_Group_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;justify-content:center;line-height:normal;margin:0;padding:0;width:4.25rem;z-index:1}.fd-dynamic-page__collapsible-header-visibility-container--button-group:after,.fd-dynamic-page__collapsible-header-visibility-container--button-group:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container[aria-hidden=true]{display:none}.fd-dynamic-page__collapsible-header-visibility-container--no-shadow{box-shadow:none}.fd-dynamic-page__collapse-button,.fd-dynamic-page__expand-button,.fd-dynamic-page__pin-button{--fdButtonBackgroundColor:var(--fdDynamicPage_Button_Pin_Background);height:1.5rem;margin:0 .25rem;min-width:1.5rem;padding:0;width:1.5rem}.fd-dynamic-page__collapse-button:before,.fd-dynamic-page__expand-button:before,.fd-dynamic-page__pin-button:before{bottom:-.25rem;height:2rem;top:-.25rem;width:100%}.fd-dynamic-page__collapse-button[aria-hidden=true],.fd-dynamic-page__expand-button[aria-hidden=true],.fd-dynamic-page__pin-button[aria-hidden=true]{display:none}.fd-dynamic-page__content{-webkit-box-sizing:border-box;background-color:var(--sapBackgroundColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow-y:auto;padding:0}.fd-dynamic-page__content:after,.fd-dynamic-page__content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__footer{bottom:0;left:0;margin:0 .5rem .5rem;position:fixed;right:0}.fd-dynamic-page--sm .fd-dynamic-page__title-area{padding:.5rem 1rem}.fd-dynamic-page--sm .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--sm .fd-dynamic-page__collapsible-header,.fd-dynamic-page--sm .fd-dynamic-page__content{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__tabs{padding:0 1rem}.fd-dynamic-page--sm .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__breadcrumb{padding:0}.fd-dynamic-page--sm .fd-dynamic-page__title-container{align-items:center}.fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:auto;padding-left:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:0;margin-right:auto;padding-left:0;padding-right:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-left:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-right:0}.fd-dynamic-page--lg .fd-dynamic-page__title-area,.fd-dynamic-page--md .fd-dynamic-page__title-area{padding:.5rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__title-area--collapsed,.fd-dynamic-page--md .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--lg .fd-dynamic-page__collapsible-header,.fd-dynamic-page--lg .fd-dynamic-page__content,.fd-dynamic-page--md .fd-dynamic-page__collapsible-header,.fd-dynamic-page--md .fd-dynamic-page__content{padding:1rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__tabs,.fd-dynamic-page--md .fd-dynamic-page__tabs{padding:0 2rem}.fd-dynamic-page--lg .fd-dynamic-page__summarized-title-area,.fd-dynamic-page--md .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area{padding:.5rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--xl .fd-dynamic-page__collapsible-header,.fd-dynamic-page--xl .fd-dynamic-page__content{padding:1rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__tabs{padding:0 3rem}.fd-dynamic-page--xl .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--md .fd-dynamic-page__toolbar{padding:0}.fd-dynamic-page--list-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_List_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__title-area{background:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__collapsible-header{background-color:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page{display:flex;flex-direction:column;height:100%;width:100%}.fd-dynamic-page .fd-dynamic-page__header{z-index:2}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:block;flex:1}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs-custom{height:100%;display:flex;flex-direction:column}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__content{flex:1;display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__panel.is-expanded{display:flex}.fd-dynamic-page .footer-spacer{height:3rem}.fd-dynamic-page .content-sticker{position:static}.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}\n"], dependencies: [{ kind: "component", type: CoreDynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: CoreDynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DynamicPageHeaderSubtitleDirective, selector: "[fdDynamicPageHeaderSubtitle]" }, { kind: "directive", type: DynamicPageHeaderTitleDirective, selector: "[fdDynamicPageHeaderTitle]" }, { kind: "component", type: DynamicPageTitleContentComponent, selector: "fd-dynamic-page-title-content" }, { kind: "component", type: FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "id", "alignEnd"] }, { kind: "component", type: DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "role", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "stackContent", "maxContentHeight"], outputs: ["iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: CoreDynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: CoreDynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
172
|
+
], queries: [{ propertyName: "titleComponent", first: true, predicate: DynamicPageTitleComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "contentComponent", first: true, predicate: DynamicPageContentComponent, descendants: true }, { propertyName: "contentComponents", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_dynamicPageComponent", first: true, predicate: FD_DYNAMIC_PAGE, descendants: true }, { propertyName: "_tabListComponent", first: true, predicate: FD_TABLIST, descendants: true }, { propertyName: "dynamicPageTabs", predicate: IconTabBarTabComponent, descendants: true }, { propertyName: "_contentHostComponents", predicate: DynamicPageContentHostComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n @if (titleComponent) {\n <fd-dynamic-page-header\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-template [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-template>\n </fd-breadcrumb>\n @if (titleComponent._subtitleDirective) {\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n }\n @if (titleComponent._titleDirective) {\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n }\n @if (titleComponent.keyInfoComponent) {\n <fd-dynamic-page-title-content>\n <ng-template [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-title-content>\n }\n @if (titleComponent.imageComponent) {\n <fd-facet type=\"image\">\n <ng-template [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-template>\n </fd-facet>\n }\n @if (titleComponent.globalActionsComponent) {\n <fd-dynamic-page-global-actions>\n <ng-template\n [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"\n ></ng-template>\n </fd-dynamic-page-global-actions>\n }\n @if (titleComponent.layoutActionsComponent) {\n <fd-dynamic-page-layout-actions>\n <ng-template\n [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"\n ></ng-template>\n </fd-dynamic-page-layout-actions>\n }\n </fd-dynamic-page-header>\n }\n @if (headerComponent) {\n <fd-dynamic-page-subheader\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-subheader>\n }\n @if (_isTabbed) {\n <fdp-icon-tab-bar\n class=\"fd-tabs-custom\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (iconTabSelected)=\"_onSelectedTabChange($event)\"\n >\n @for (tab of _tabs; track tab) {\n <fdp-icon-tab-bar-tab [label]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-template\n [ngTemplateOutlet]=\"tab.contentTemplateRef\"\n ></ng-template> </fd-dynamic-page-content\n ></fdp-icon-tab-bar-tab>\n }\n <fdp-icon-tab-bar-tab></fdp-icon-tab-bar-tab>\n </fdp-icon-tab-bar>\n }\n @if (!_isTabbed && contentComponent) {\n <fd-dynamic-page-content>\n <ng-template [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-content>\n }\n @if (footerComponent) {\n <fd-dynamic-page-footer>\n <ng-template [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-template>\n </fd-dynamic-page-footer>\n }\n</fd-dynamic-page>\n", styles: ["/*!\n * Fundamental Library Styles v0.33.2\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dynamic-page{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0}.fd-dynamic-page:after,.fd-dynamic-page:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__header-fixed{left:0;position:fixed;right:0;top:0;z-index:3}.fd-dynamic-page__header{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;padding:0}.fd-dynamic-page__header:after,.fd-dynamic-page__header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;min-height:3rem;padding:0;z-index:1}.fd-dynamic-page__title-area:after,.fd-dynamic-page__title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area.is-focus,.fd-dynamic-page__title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:1}.fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__title-area:hover{background:var(--sapObjectHeader_Hover_Background);border-bottom:var(--fdDynamicPage_Hover_Border_Bottom);cursor:pointer}.fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page__title-area--collapsed .fd-dynamic-page__title{font-size:var(--fdDynamicPage_Title_Collapsed_Font_Size)}.fd-dynamic-page__title-area[aria-hidden=true]{display:none}.fd-dynamic-page__main-container{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;padding:0}.fd-dynamic-page__main-container:after,.fd-dynamic-page__main-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0}.fd-dynamic-page__title-container:after,.fd-dynamic-page__title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:.5rem 0 .25rem}.fd-dynamic-page__breadcrumb:after,.fd-dynamic-page__breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-title-container{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;min-width:0;padding:0}.fd-dynamic-page__breadcrumb-title-container:after,.fd-dynamic-page__breadcrumb-title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-container{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:normal;margin:0;padding:0}.fd-dynamic-page__breadcrumb-container:after,.fd-dynamic-page__breadcrumb-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Title_Color);font-family:var(--sapFontFamily);font-family:var(--fdDynamicPage_Title_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdDynamicPage_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title:after,.fd-dynamic-page__title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title .fd-link{color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader3Size);max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.fd-dynamic-page__title--wrap{white-space:normal}.fd-dynamic-page__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Subtitle_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:.25rem 0 0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__subtitle:after,.fd-dynamic-page__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__subtitle--wrap{white-space:normal}.fd-dynamic-page__title-content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap}.fd-dynamic-page__title-content:after,.fd-dynamic-page__title-content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-content[dir=rtl],[dir=rtl] .fd-dynamic-page__title-content{padding:0 1rem 0 0}.fd-dynamic-page__title-subtitle-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title-subtitle-container:after,.fd-dynamic-page__title-subtitle-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0 0 0 auto;padding:0}.fd-dynamic-page__toolbar-container:after,.fd-dynamic-page__toolbar-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container[dir=rtl],[dir=rtl] .fd-dynamic-page__toolbar-container{margin-left:0;margin-right:auto}.fd-dynamic-page .fd-dynamic-page__toolbar{background:transparent;margin:0;padding:0 0 0 1rem}.fd-dynamic-page .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar{padding-left:0;padding-right:1rem}.fd-dynamic-page .fd-dynamic-page__toolbar--actions,.fd-dynamic-page .fd-dynamic-page__toolbar--actions[dir=rtl],.fd-dynamic-page .fd-dynamic-page__toolbar--content,.fd-dynamic-page .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--actions,[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--content{padding:0}.fd-dynamic-page__summarized-title-area{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;-webkit-box-shadow:var(--sapContent_HeaderShadow);align-items:center;background:var(--sapObjectHeader_Background);border:0;box-shadow:var(--sapContent_HeaderShadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;justify-content:space-between;line-height:normal;margin:0;padding:0;z-index:1}.fd-dynamic-page__summarized-title-area:after,.fd-dynamic-page__summarized-title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__summarized-title-area.is-focus,.fd-dynamic-page__summarized-title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-dynamic-page__summarized-title-area--no-shadow{box-shadow:none}.fd-dynamic-page__summarized-title-area[aria-hidden=true]{display:none}.fd-dynamic-page__summarized-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:2rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__summarized-title:after,.fd-dynamic-page__summarized-title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0}.fd-dynamic-page__collapsible-header-container:after,.fd-dynamic-page__collapsible-header-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header{-webkit-box-sizing:border-box;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:1rem 0}.fd-dynamic-page__collapsible-header:after,.fd-dynamic-page__collapsible-header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header[aria-hidden=true]{display:none}.fd-dynamic-page .fd-dynamic-page__tabs{margin:0;padding:0}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{overflow:hidden}.fd-dynamic-page .fd-dynamic-page__tabs--add-shadow,.fd-dynamic-page__collapsible-header-visibility-container{box-shadow:var(--sapContent_HeaderShadow)}.fd-dynamic-page__collapsible-header-visibility-container{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:normal;margin:0;min-height:.0625rem;padding:0;z-index:2}.fd-dynamic-page__collapsible-header-visibility-container:after,.fd-dynamic-page__collapsible-header-visibility-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--button-group{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fdDynamicPage_Button_Group_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;justify-content:center;line-height:normal;margin:0;padding:0;width:4.25rem;z-index:1}.fd-dynamic-page__collapsible-header-visibility-container--button-group:after,.fd-dynamic-page__collapsible-header-visibility-container--button-group:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container[aria-hidden=true]{display:none}.fd-dynamic-page__collapsible-header-visibility-container--no-shadow{box-shadow:none}.fd-dynamic-page__collapse-button,.fd-dynamic-page__expand-button,.fd-dynamic-page__pin-button{--fdButtonBackgroundColor:var(--fdDynamicPage_Button_Pin_Background);height:1.5rem;margin:0 .25rem;min-width:1.5rem;padding:0;width:1.5rem}.fd-dynamic-page__collapse-button:before,.fd-dynamic-page__expand-button:before,.fd-dynamic-page__pin-button:before{bottom:-.25rem;height:2rem;top:-.25rem;width:100%}.fd-dynamic-page__collapse-button[aria-hidden=true],.fd-dynamic-page__expand-button[aria-hidden=true],.fd-dynamic-page__pin-button[aria-hidden=true]{display:none}.fd-dynamic-page__content{-webkit-box-sizing:border-box;background-color:var(--sapBackgroundColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;overflow-y:auto;padding:0}.fd-dynamic-page__content:after,.fd-dynamic-page__content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__footer{bottom:0;left:0;margin:0 .5rem .5rem;position:fixed;right:0}.fd-dynamic-page--sm .fd-dynamic-page__title-area{padding:.5rem 1rem}.fd-dynamic-page--sm .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--sm .fd-dynamic-page__collapsible-header,.fd-dynamic-page--sm .fd-dynamic-page__content{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__tabs{padding:0 1rem}.fd-dynamic-page--sm .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__breadcrumb{padding:0}.fd-dynamic-page--sm .fd-dynamic-page__title-container{align-items:center}.fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:auto;padding-left:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:0;margin-right:auto;padding-left:0;padding-right:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-left:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-right:0}.fd-dynamic-page--lg .fd-dynamic-page__title-area,.fd-dynamic-page--md .fd-dynamic-page__title-area{padding:.5rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__title-area--collapsed,.fd-dynamic-page--md .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--lg .fd-dynamic-page__collapsible-header,.fd-dynamic-page--lg .fd-dynamic-page__content,.fd-dynamic-page--md .fd-dynamic-page__collapsible-header,.fd-dynamic-page--md .fd-dynamic-page__content{padding:1rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__tabs,.fd-dynamic-page--md .fd-dynamic-page__tabs{padding:0 2rem}.fd-dynamic-page--lg .fd-dynamic-page__summarized-title-area,.fd-dynamic-page--md .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area{padding:.5rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--xl .fd-dynamic-page__collapsible-header,.fd-dynamic-page--xl .fd-dynamic-page__content{padding:1rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__tabs{padding:0 3rem}.fd-dynamic-page--xl .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--md .fd-dynamic-page__toolbar{padding:0}.fd-dynamic-page--list-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_List_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__title-area{background:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__collapsible-header{background-color:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page{display:flex;flex-direction:column;height:100%;width:100%}.fd-dynamic-page .fd-dynamic-page__header{z-index:2}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:block;flex:1}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs-custom{height:100%;display:flex;flex-direction:column}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__content{flex:1;display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__panel.is-expanded{display:flex}.fd-dynamic-page .footer-spacer{height:3rem}.fd-dynamic-page .content-sticker{position:static}.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}\n"], dependencies: [{ kind: "component", type: CoreDynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: CoreDynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DynamicPageHeaderSubtitleDirective, selector: "[fdDynamicPageHeaderSubtitle]" }, { kind: "directive", type: DynamicPageHeaderTitleDirective, selector: "[fdDynamicPageHeaderTitle]" }, { kind: "component", type: DynamicPageTitleContentComponent, selector: "fd-dynamic-page-title-content" }, { kind: "component", type: FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "id", "alignEnd"] }, { kind: "component", type: DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "role", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "stackContent", "maxContentHeight"], outputs: ["iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: CoreDynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: CoreDynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
173
173
|
}
|
|
174
174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DynamicPageComponent, decorators: [{
|
|
175
175
|
type: Component,
|
|
@@ -251,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
251
251
|
type: ViewChildren,
|
|
252
252
|
args: [DynamicPageContentHostComponent]
|
|
253
253
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZHluYW1pYy1wYWdlL2R5bmFtaWMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBRVYsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxvQkFBb0IsSUFBSSx3QkFBd0IsRUFDaEQsMkJBQTJCLElBQUksK0JBQStCLEVBQzlELDBCQUEwQixJQUFJLDhCQUE4QixFQUM1RCwwQkFBMEIsSUFBSSw4QkFBOEIsRUFFNUQsaUNBQWlDLEVBQ2pDLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0IsaUNBQWlDLEVBQ2pDLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDaEMsZUFBZSxFQUNmLG9CQUFvQixFQUN2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFXLE1BQU0sOEJBQThCLENBQUM7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eEMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsMkJBQTJCO2dCQUt6QyxpQkFBaUI7c0JBRGhCLGVBQWU7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUtuRSxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZTtnQkFLMUIsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLFVBQVU7Z0JBS3JCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBS3BDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpZ25hbCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9icmVhZGNydW1iJztcbmltcG9ydCB7XG4gICAgRHluYW1pY1BhZ2VDb21wb25lbnQgYXMgQ29yZUR5bmFtaWNQYWdlQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCBhcyBDb3JlRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlRm9vdGVyQ29tcG9uZW50IGFzIENvcmVEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCBhcyBDb3JlRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2UsXG4gICAgRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljUGFnZUxheW91dEFjdGlvbnNDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQsXG4gICAgRkRfRFlOQU1JQ19QQUdFLFxuICAgIHBhdGNoSGVhZGVySTE4blRleHRzXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9keW5hbWljLXBhZ2UnO1xuaW1wb3J0IHsgRmFjZXRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZmFjZXRzJztcbmltcG9ydCB7IEZEX1RBQkxJU1QsIFRhYkxpc3QgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEZEX0xBTkdVQUdFIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IEljb25UYWJCYXJDb21wb25lbnQsIEljb25UYWJCYXJJdGVtLCBJY29uVGFiQmFyVGFiQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9pY29uLXRhYi1iYXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUsIER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtY29udGVudC9keW5hbWljLXBhZ2UtY29udGVudC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1jb250ZW50L2R5bmFtaWMtcGFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWZvb3Rlci9keW5hbWljLXBhZ2UtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci90aXRsZS9keW5hbWljLXBhZ2UtdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlQ29uZmlnIH0gZnJvbSAnLi9keW5hbWljLXBhZ2UuY29uZmlnJztcbmltcG9ydCB7IEZEUF9EWU5BTUlDX1BBR0UgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS50b2tlbnMnO1xuaW1wb3J0IHsgUGxhdGZvcm1EeW5hbWljUGFnZSB9IGZyb20gJy4vcGxhdGZvcm0tZHluYW1pYy1wYWdlLmludGVyZmFjZSc7XG5cbi8qKiBEeW5hbWljIFBhZ2UgdGFiIGNoYW5nZSBldmVudCAqL1xuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlVGFiQ2hhbmdlRXZlbnQge1xuICAgIC8qKlxuICAgICAqIER5bmFtaWMgUGFnZSB0YWIgY2hhbmdlIGV2ZW50XG4gICAgICogQHBhcmFtIHNvdXJjZSBEeW5hbWljIFBhZ2UgY29tcG9uZW50XG4gICAgICogQHBhcmFtIHBheWxvYWQgVGFiIGNvbXBvbmVudFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc291cmNlOiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIHB1YmxpYyBwYXlsb2FkOiBJY29uVGFiQmFySXRlbVxuICAgICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtZHluYW1pYy1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9MQU5HVUFHRSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHBhdGNoSGVhZGVySTE4blRleHRzLFxuICAgICAgICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgRHluYW1pY1BhZ2VDb25maWddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfRFlOQU1JQ19QQUdFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNQYWdlQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb3JlRHluYW1pY1BhZ2VDb21wb25lbnQsXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIEZhY2V0Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEljb25UYWJCYXJDb21wb25lbnQsXG4gICAgICAgIEljb25UYWJCYXJUYWJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQ29yZUR5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uRGVzdHJveSwgUGxhdGZvcm1EeW5hbWljUGFnZSwgSGFzRWxlbWVudFJlZlxue1xuICAgIC8qKiBXaGV0aGVyIER5bmFtaWNQYWdlIHNob3VsZCBzbmFwIG9uIHNjcm9sbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVNuYXBPblNjcm9sbCA9IGZhbHNlO1xuICAgIC8qKiBQYWdlIHJvbGUgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRhYnMgc2hvdWxkIGJlIHN0YWNrZWQuICovXG4gICAgQElucHV0KClcbiAgICBzdGFja0NvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHNldHMgYmFja2dyb3VuZCBmb3IgY29udGVudCB0byBgbGlzdGAsIGB0cmFuc3BhcmVudGAsIG9yIGBzb2xpZGAgYmFja2dyb3VuZCBjb2xvci5cbiAgICAgKiBEZWZhdWx0IGlzIGBzb2xpZGAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBiYWNrZ3JvdW5kOiBEeW5hbWljUGFnZUJhY2tncm91bmRUeXBlID0gJ3NvbGlkJztcblxuICAgIC8qKlxuICAgICAqIHNldHMgc2l6ZSB3aGljaCBpbiB0dXJuIGFkZHMgY29ycmVzcG9uZGluZyBwYWRkaW5nIGZvciB0aGUgc2l6ZSB0eXBlLlxuICAgICAqIHNpemUgY2FuIGJlIGBzbWFsbGAsIGBtZWRpdW1gLCBgbGFyZ2VgLCBvciBgZXh0cmEtbGFyZ2VgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSA9ICdleHRyYS1sYXJnZSc7XG5cbiAgICAvKipcbiAgICAgKiBwcm92aWRlZCBvZmZzZXQgaW4gcHhcbiAgICAgKiBTaG91bGQgYmUgYWRkZWQsIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIGVsc2UgYXQgdGhlIGJvdHRvbSBhbmQgZHluYW1pYyBwYWdlIGlzIG5vdCBleHBhbmRlZCB0byBib3R0b20ncyBjb3JuZXJzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvZmZzZXQgPSAwO1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIGhhdmUgcmVzcG9uc2l2ZSBzaWRlcyBzcGFjaW5nIGNoYW5naW5nIHdpdGggUGFnZSB3aW5kb3cgd2lkdGguXG4gICAgICogbWF4LXdpZHRoOiA1OTlweCAgICAgICAgICAgICAgICAgICAgICAgICAtIHNtYWxsXG4gICAgICogbWluLXdpZHRoOiA2MDBweCBhbmQgbWF4LXdpZHRoOiAxMDIzcHggICAtIG1lZGl1bVxuICAgICAqIG1pbi13aWR0aDogMTAyNHB4IGFuZCBtYXgtd2lkdGg6IDE0MzlweCAgLSBsYXJnZVxuICAgICAqIG1pbi13aWR0aDogMTQ0MHB4ICAgICAgICAgICAgICAgICAgICAgICAgLSBleHRyYSBsYXJnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b1Jlc3BvbnNpdmUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBkeW5hbWljIHBhZ2Ugc2hvdWxkIGJlIGV4cGFuZGVkIGluIHdob2xlIHBhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRDb250ZW50ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRhYiBDaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICB0YWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPER5bmFtaWNQYWdlVGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIHRpdGxlIGNvbXBvbmVudCAgKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQpXG4gICAgdGl0bGVDb21wb25lbnQ6IER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQ7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIGhlYWRlciBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudClcbiAgICBoZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBmb290ZXIgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQpXG4gICAgZm9vdGVyQ29tcG9uZW50OiBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudDtcblxuICAgIC8qKiByZWZlcmVuY2UgdG8gY29udGVudCBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQpXG4gICAgY29udGVudENvbXBvbmVudDogRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBjb250ZW50IGNvbXBvbmVudHMgbGlzdCAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgY29udGVudENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKEZEX0RZTkFNSUNfUEFHRSlcbiAgICBfZHluYW1pY1BhZ2VDb21wb25lbnQ6IER5bmFtaWNQYWdlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKEZEX1RBQkxJU1QpXG4gICAgX3RhYkxpc3RDb21wb25lbnQ6IFRhYkxpc3Q7XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHRhYiBpdGVtcyBjb21wb25lbnRzICovXG4gICAgQFZpZXdDaGlsZHJlbihJY29uVGFiQmFyVGFiQ29tcG9uZW50KVxuICAgIGR5bmFtaWNQYWdlVGFiczogUXVlcnlMaXN0PEljb25UYWJCYXJUYWJDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKER5bmFtaWNQYWdlQ29udGVudEhvc3RDb21wb25lbnQpXG4gICAgX2NvbnRlbnRIb3N0Q29tcG9uZW50czogUXVlcnlMaXN0PER5bmFtaWNQYWdlQ29udGVudEhvc3RDb21wb25lbnQ+O1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pYyBwYWdlIGlzIGNvbGxhcHNlZCAqL1xuICAgIGNvbGxhcHNlZDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB3aGV0aGVyIHRhYmJlZCBjb250ZW50IGlzIHByZXNlbnQgaW4gdGhpcyBwYWdlXG4gICAgICovXG4gICAgX2lzVGFiYmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogaG9sZHMgdGhlIHRhYiBjb250ZW50XG4gICAgICovXG4gICAgX3RhYnM6IER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogdG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBoZWFkZXIgb24gY2xpY2sgb2YgdGl0bGUgYXJlYS4gKi9cbiAgICB0b2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VDb21wb25lbnQudG9nZ2xlQ29sbGFwc2UoKTtcbiAgICB9XG5cbiAgICAvKiogVHJpZ2dlcnMgcmVjaGVjayBmb3Igc3BhY2luZyBhbmQgc2l6aW5nIG9mIGVsZW1lbnRzIGluc2lkZSBEeW5hbWljUGFnZS4gKi9cbiAgICByZWZyZXNoU2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VDb21wb25lbnQucmVmcmVzaFNpemUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9Db250ZW50Q29tcG9uZW50c0xpc3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuX3RhYkxpc3RDb21wb25lbnQ/LmhlYWRlckNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1keW5hbWljLXBhZ2VfX3RhYnMnKTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLl9keW5hbWljUGFnZUNvbXBvbmVudC5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8qKiBVc2VkIHRvIGRldGVjdCBjaGFuZ2VzIGluIHByb2plY3RlZCBjb21wb25lbnRzIHRoYXQgZGlzcGxheWVkIHVzaW5nIHRlbXBsYXRlcyxcbiAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNDQxMTJcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbWFya3MgdGhlIGR5bmFtaWMgcGFnZSB0YWIgYXMgc2VsZWN0ZWQgd2hlbiB0aGUgaWQgb2YgdGhlIHRhYiBpcyBwYXNzZWRcbiAgICAgKi9cbiAgICBzZXRTZWxlY3RlZFRhYihpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYkxpc3RDb21wb25lbnQuc2VsZWN0VGFiKGlkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblNlbGVjdGVkVGFiQ2hhbmdlKGV2ZW50OiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50Q29tcG9uZW50cy5maW5kKChjb250ZW50Q29tcG9uZW50KSA9PiBjb250ZW50Q29tcG9uZW50LmlkID09PSBldmVudC5pZCk7XG5cbiAgICAgICAgY29udGVudCAmJiB0aGlzLnRhYkNoYW5nZS5lbWl0KG5ldyBEeW5hbWljUGFnZVRhYkNoYW5nZUV2ZW50KGNvbnRlbnQsIGV2ZW50KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub0NvbnRlbnRDb21wb25lbnRzTGlzdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudENvbXBvbmVudHMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRDb21wb25lbnRzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUNvbnRlbnRUYWJzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlQ29udGVudFRhYnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRDb21wb25lbnRzID0gdGhpcy5jb250ZW50Q29tcG9uZW50cy50b0FycmF5KCk7XG5cbiAgICAgICAgLy8gcmVzZXQgYXJyYXlcbiAgICAgICAgdGhpcy5fdGFicyA9IFtdO1xuXG4gICAgICAgIGlmICghdGhpcy5faXNUYWJDb250ZW50UHJlc2VudChjb250ZW50Q29tcG9uZW50cykpIHtcbiAgICAgICAgICAgIGlmIChjb250ZW50Q29tcG9uZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGhhdmUgbW9yZSB0aGFuIG9uZSBjb250ZW50IHNlY3Rpb24uIFVzZSBgdGFiTGFiZWxgIHRvIGhhdmUgYSB0YWJiZWQgbmF2aWdhdGlvbi4nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRlbnRDb21wb25lbnRzKSB7XG4gICAgICAgICAgICBjb250ZW50Q29tcG9uZW50cy5mb3JFYWNoKChjb250ZW50SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29udGVudEl0ZW0udGFiTGFiZWwgJiYgdGhpcy5faXNUYWJiZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBvbmUgZWxlbWVudCBpcyBhbHJlYWR5IHRhYmJlZCwgcGxlYXNlIHByb3ZpZGUgYSBgdGFiTGFiZWxgLicpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhYnMucHVzaChjb250ZW50SXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzVGFiQ29udGVudFByZXNlbnQoY29udGVudENvbXBvbmVudHM6IER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnRlbnRDb21wb25lbnRzLmZvckVhY2goKGNvbnRlbnRDb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChjb250ZW50Q29tcG9uZW50LnRhYkxhYmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNUYWJiZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVGFiYmVkO1xuICAgIH1cbn1cbiIsIjxmZC1keW5hbWljLXBhZ2VcbiAgICBbZGlzYWJsZVNuYXBPblNjcm9sbF09XCJkaXNhYmxlU25hcE9uU2Nyb2xsXCJcbiAgICBbYXV0b1Jlc3BvbnNpdmVdPVwiYXV0b1Jlc3BvbnNpdmVcIlxuICAgIFtiYWNrZ3JvdW5kXT1cImJhY2tncm91bmRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtleHBhbmRDb250ZW50XT1cImV4cGFuZENvbnRlbnRcIlxuICAgIFtvZmZzZXRdPVwib2Zmc2V0XCJcbiAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4+XG4gICAgQGlmICh0aXRsZUNvbXBvbmVudCkge1xuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWhlYWRlclxuICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlQ29tcG9uZW50LnRpdGxlXCJcbiAgICAgICAgICAgIFt0aXRsZVdyYXBdPVwidGl0bGVDb21wb25lbnQudGl0bGVXcmFwXCJcbiAgICAgICAgICAgIFtzdWJ0aXRsZV09XCJ0aXRsZUNvbXBvbmVudC5zdWJ0aXRsZVwiXG4gICAgICAgICAgICBbc3VidGl0bGVXcmFwXT1cInRpdGxlQ29tcG9uZW50LnN1YnRpdGxlV3JhcFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1icmVhZGNydW1iPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5icmVhZGNydW1iVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9mZC1icmVhZGNydW1iPlxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5fc3VidGl0bGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpmZER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGU9XCJsZXQgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuX3N1YnRpdGxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW4gfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5fdGl0bGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpmZER5bmFtaWNQYWdlSGVhZGVyVGl0bGU9XCJsZXQgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuX3RpdGxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW4gfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5rZXlJbmZvQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS10aXRsZS1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQua2V5SW5mb0NvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLXRpdGxlLWNvbnRlbnQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRpdGxlQ29tcG9uZW50LmltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWZhY2V0IHR5cGU9XCJpbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuaW1hZ2VDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2ZkLWZhY2V0PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5nbG9iYWxBY3Rpb25zQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1nbG9iYWwtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5nbG9iYWxBY3Rpb25zQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5sYXlvdXRBY3Rpb25zQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1sYXlvdXQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5sYXlvdXRBY3Rpb25zQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1oZWFkZXI+XG4gICAgfVxuICAgIEBpZiAoaGVhZGVyQ29tcG9uZW50KSB7XG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyXG4gICAgICAgICAgICBbY29sbGFwc2VkXT1cImhlYWRlckNvbXBvbmVudC5jb2xsYXBzZWRcIlxuICAgICAgICAgICAgW2NvbGxhcHNpYmxlXT1cImhlYWRlckNvbXBvbmVudC5jb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICBbcGlubmFibGVdPVwiaGVhZGVyQ29tcG9uZW50LnBpbm5hYmxlXCJcbiAgICAgICAgICAgIFtleHBhbmRMYWJlbF09XCJoZWFkZXJDb21wb25lbnQuZXhwYW5kTGFiZWxcIlxuICAgICAgICAgICAgW2NvbGxhcHNlTGFiZWxdPVwiaGVhZGVyQ29tcG9uZW50LmNvbGxhcHNlTGFiZWxcIlxuICAgICAgICAgICAgW3JvbGVdPVwiaGVhZGVyQ29tcG9uZW50LnJvbGVcIlxuICAgICAgICAgICAgW2lkXT1cImhlYWRlckNvbXBvbmVudC5pZFwiXG4gICAgICAgICAgICBbaGVhZGVyQXJpYUxhYmVsXT1cImhlYWRlckNvbXBvbmVudC5oZWFkZXJBcmlhTGFiZWxcIlxuICAgICAgICAgICAgW3BpbkFyaWFMYWJlbF09XCJoZWFkZXJDb21wb25lbnQucGluQXJpYUxhYmVsXCJcbiAgICAgICAgICAgIFt1bnBpbkFyaWFMYWJlbF09XCJoZWFkZXJDb21wb25lbnQudW5waW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgKGNvbGxhcHNlZENoYW5nZSk9XCJoZWFkZXJDb21wb25lbnQuX29uQ29sbGFwc2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyPlxuICAgIH1cbiAgICBAaWYgKF9pc1RhYmJlZCkge1xuICAgICAgICA8ZmRwLWljb24tdGFiLWJhclxuICAgICAgICAgICAgY2xhc3M9XCJmZC10YWJzLWN1c3RvbVwiXG4gICAgICAgICAgICBbc3RhY2tDb250ZW50XT1cInN0YWNrQ29udGVudFwiXG4gICAgICAgICAgICBtYXhDb250ZW50SGVpZ2h0PVwiYXV0b1wiXG4gICAgICAgICAgICAoaWNvblRhYlNlbGVjdGVkKT1cIl9vblNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAZm9yICh0YWIgb2YgX3RhYnM7IHRyYWNrIHRhYikge1xuICAgICAgICAgICAgICAgIDxmZHAtaWNvbi10YWItYmFyLXRhYiBbbGFiZWxdPVwidGFiLnRhYkxhYmVsXCIgW2lkXT1cInRhYi5pZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuY29udGVudFRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPiA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50XG4gICAgICAgICAgICAgICAgPjwvZmRwLWljb24tdGFiLWJhci10YWI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZmRwLWljb24tdGFiLWJhci10YWI+PC9mZHAtaWNvbi10YWItYmFyLXRhYj5cbiAgICAgICAgPC9mZHAtaWNvbi10YWItYmFyPlxuICAgIH1cbiAgICBAaWYgKCFfaXNUYWJiZWQgJiYgY29udGVudENvbXBvbmVudCkge1xuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudENvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgIH1cbiAgICBAaWYgKGZvb3RlckNvbXBvbmVudCkge1xuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxuICAgIH1cbjwvZmQtZHluYW1pYy1wYWdlPlxuIl19
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZHluYW1pYy1wYWdlL2R5bmFtaWMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBRVYsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxvQkFBb0IsSUFBSSx3QkFBd0IsRUFDaEQsMkJBQTJCLElBQUksK0JBQStCLEVBQzlELDBCQUEwQixJQUFJLDhCQUE4QixFQUM1RCwwQkFBMEIsSUFBSSw4QkFBOEIsRUFFNUQsaUNBQWlDLEVBQ2pDLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0IsaUNBQWlDLEVBQ2pDLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDaEMsZUFBZSxFQUNmLG9CQUFvQixFQUN2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFXLE1BQU0sOEJBQThCLENBQUM7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eEMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsMkJBQTJCO2dCQUt6QyxpQkFBaUI7c0JBRGhCLGVBQWU7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUtuRSxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZTtnQkFLMUIsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLFVBQVU7Z0JBS3JCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBS3BDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpZ25hbCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9icmVhZGNydW1iJztcbmltcG9ydCB7XG4gICAgRHluYW1pY1BhZ2VDb21wb25lbnQgYXMgQ29yZUR5bmFtaWNQYWdlQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCBhcyBDb3JlRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlRm9vdGVyQ29tcG9uZW50IGFzIENvcmVEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCBhcyBDb3JlRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2UsXG4gICAgRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljUGFnZUxheW91dEFjdGlvbnNDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQsXG4gICAgRkRfRFlOQU1JQ19QQUdFLFxuICAgIHBhdGNoSGVhZGVySTE4blRleHRzXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9keW5hbWljLXBhZ2UnO1xuaW1wb3J0IHsgRmFjZXRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZmFjZXRzJztcbmltcG9ydCB7IEZEX1RBQkxJU1QsIFRhYkxpc3QgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEZEX0xBTkdVQUdFIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IEljb25UYWJCYXJDb21wb25lbnQsIEljb25UYWJCYXJJdGVtLCBJY29uVGFiQmFyVGFiQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9pY29uLXRhYi1iYXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUsIER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtY29udGVudC9keW5hbWljLXBhZ2UtY29udGVudC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1jb250ZW50L2R5bmFtaWMtcGFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWZvb3Rlci9keW5hbWljLXBhZ2UtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci90aXRsZS9keW5hbWljLXBhZ2UtdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlQ29uZmlnIH0gZnJvbSAnLi9keW5hbWljLXBhZ2UuY29uZmlnJztcbmltcG9ydCB7IEZEUF9EWU5BTUlDX1BBR0UgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS50b2tlbnMnO1xuaW1wb3J0IHsgUGxhdGZvcm1EeW5hbWljUGFnZSB9IGZyb20gJy4vcGxhdGZvcm0tZHluYW1pYy1wYWdlLmludGVyZmFjZSc7XG5cbi8qKiBEeW5hbWljIFBhZ2UgdGFiIGNoYW5nZSBldmVudCAqL1xuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlVGFiQ2hhbmdlRXZlbnQge1xuICAgIC8qKlxuICAgICAqIER5bmFtaWMgUGFnZSB0YWIgY2hhbmdlIGV2ZW50XG4gICAgICogQHBhcmFtIHNvdXJjZSBEeW5hbWljIFBhZ2UgY29tcG9uZW50XG4gICAgICogQHBhcmFtIHBheWxvYWQgVGFiIGNvbXBvbmVudFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc291cmNlOiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIHB1YmxpYyBwYXlsb2FkOiBJY29uVGFiQmFySXRlbVxuICAgICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtZHluYW1pYy1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9MQU5HVUFHRSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHBhdGNoSGVhZGVySTE4blRleHRzLFxuICAgICAgICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgRHluYW1pY1BhZ2VDb25maWddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfRFlOQU1JQ19QQUdFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNQYWdlQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb3JlRHluYW1pY1BhZ2VDb21wb25lbnQsXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIEZhY2V0Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEljb25UYWJCYXJDb21wb25lbnQsXG4gICAgICAgIEljb25UYWJCYXJUYWJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQ29yZUR5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uRGVzdHJveSwgUGxhdGZvcm1EeW5hbWljUGFnZSwgSGFzRWxlbWVudFJlZlxue1xuICAgIC8qKiBXaGV0aGVyIER5bmFtaWNQYWdlIHNob3VsZCBzbmFwIG9uIHNjcm9sbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVNuYXBPblNjcm9sbCA9IGZhbHNlO1xuICAgIC8qKiBQYWdlIHJvbGUgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRhYnMgc2hvdWxkIGJlIHN0YWNrZWQuICovXG4gICAgQElucHV0KClcbiAgICBzdGFja0NvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHNldHMgYmFja2dyb3VuZCBmb3IgY29udGVudCB0byBgbGlzdGAsIGB0cmFuc3BhcmVudGAsIG9yIGBzb2xpZGAgYmFja2dyb3VuZCBjb2xvci5cbiAgICAgKiBEZWZhdWx0IGlzIGBzb2xpZGAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBiYWNrZ3JvdW5kOiBEeW5hbWljUGFnZUJhY2tncm91bmRUeXBlID0gJ3NvbGlkJztcblxuICAgIC8qKlxuICAgICAqIHNldHMgc2l6ZSB3aGljaCBpbiB0dXJuIGFkZHMgY29ycmVzcG9uZGluZyBwYWRkaW5nIGZvciB0aGUgc2l6ZSB0eXBlLlxuICAgICAqIHNpemUgY2FuIGJlIGBzbWFsbGAsIGBtZWRpdW1gLCBgbGFyZ2VgLCBvciBgZXh0cmEtbGFyZ2VgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSA9ICdleHRyYS1sYXJnZSc7XG5cbiAgICAvKipcbiAgICAgKiBwcm92aWRlZCBvZmZzZXQgaW4gcHhcbiAgICAgKiBTaG91bGQgYmUgYWRkZWQsIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIGVsc2UgYXQgdGhlIGJvdHRvbSBhbmQgZHluYW1pYyBwYWdlIGlzIG5vdCBleHBhbmRlZCB0byBib3R0b20ncyBjb3JuZXJzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvZmZzZXQgPSAwO1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIGhhdmUgcmVzcG9uc2l2ZSBzaWRlcyBzcGFjaW5nIGNoYW5naW5nIHdpdGggUGFnZSB3aW5kb3cgd2lkdGguXG4gICAgICogbWF4LXdpZHRoOiA1OTlweCAgICAgICAgICAgICAgICAgICAgICAgICAtIHNtYWxsXG4gICAgICogbWluLXdpZHRoOiA2MDBweCBhbmQgbWF4LXdpZHRoOiAxMDIzcHggICAtIG1lZGl1bVxuICAgICAqIG1pbi13aWR0aDogMTAyNHB4IGFuZCBtYXgtd2lkdGg6IDE0MzlweCAgLSBsYXJnZVxuICAgICAqIG1pbi13aWR0aDogMTQ0MHB4ICAgICAgICAgICAgICAgICAgICAgICAgLSBleHRyYSBsYXJnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b1Jlc3BvbnNpdmUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBkeW5hbWljIHBhZ2Ugc2hvdWxkIGJlIGV4cGFuZGVkIGluIHdob2xlIHBhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRDb250ZW50ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRhYiBDaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICB0YWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPER5bmFtaWNQYWdlVGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIHRpdGxlIGNvbXBvbmVudCAgKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQpXG4gICAgdGl0bGVDb21wb25lbnQ6IER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQ7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIGhlYWRlciBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudClcbiAgICBoZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBmb290ZXIgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQpXG4gICAgZm9vdGVyQ29tcG9uZW50OiBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudDtcblxuICAgIC8qKiByZWZlcmVuY2UgdG8gY29udGVudCBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQpXG4gICAgY29udGVudENvbXBvbmVudDogRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBjb250ZW50IGNvbXBvbmVudHMgbGlzdCAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgY29udGVudENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKEZEX0RZTkFNSUNfUEFHRSlcbiAgICBfZHluYW1pY1BhZ2VDb21wb25lbnQ6IER5bmFtaWNQYWdlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKEZEX1RBQkxJU1QpXG4gICAgX3RhYkxpc3RDb21wb25lbnQ6IFRhYkxpc3Q7XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHRhYiBpdGVtcyBjb21wb25lbnRzICovXG4gICAgQFZpZXdDaGlsZHJlbihJY29uVGFiQmFyVGFiQ29tcG9uZW50KVxuICAgIGR5bmFtaWNQYWdlVGFiczogUXVlcnlMaXN0PEljb25UYWJCYXJUYWJDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKER5bmFtaWNQYWdlQ29udGVudEhvc3RDb21wb25lbnQpXG4gICAgX2NvbnRlbnRIb3N0Q29tcG9uZW50czogUXVlcnlMaXN0PER5bmFtaWNQYWdlQ29udGVudEhvc3RDb21wb25lbnQ+O1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pYyBwYWdlIGlzIGNvbGxhcHNlZCAqL1xuICAgIGNvbGxhcHNlZDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB3aGV0aGVyIHRhYmJlZCBjb250ZW50IGlzIHByZXNlbnQgaW4gdGhpcyBwYWdlXG4gICAgICovXG4gICAgX2lzVGFiYmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogaG9sZHMgdGhlIHRhYiBjb250ZW50XG4gICAgICovXG4gICAgX3RhYnM6IER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogdG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBoZWFkZXIgb24gY2xpY2sgb2YgdGl0bGUgYXJlYS4gKi9cbiAgICB0b2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VDb21wb25lbnQudG9nZ2xlQ29sbGFwc2UoKTtcbiAgICB9XG5cbiAgICAvKiogVHJpZ2dlcnMgcmVjaGVjayBmb3Igc3BhY2luZyBhbmQgc2l6aW5nIG9mIGVsZW1lbnRzIGluc2lkZSBEeW5hbWljUGFnZS4gKi9cbiAgICByZWZyZXNoU2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VDb21wb25lbnQucmVmcmVzaFNpemUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9Db250ZW50Q29tcG9uZW50c0xpc3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuX3RhYkxpc3RDb21wb25lbnQ/LmhlYWRlckNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1keW5hbWljLXBhZ2VfX3RhYnMnKTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLl9keW5hbWljUGFnZUNvbXBvbmVudC5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8qKiBVc2VkIHRvIGRldGVjdCBjaGFuZ2VzIGluIHByb2plY3RlZCBjb21wb25lbnRzIHRoYXQgZGlzcGxheWVkIHVzaW5nIHRlbXBsYXRlcyxcbiAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNDQxMTJcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbWFya3MgdGhlIGR5bmFtaWMgcGFnZSB0YWIgYXMgc2VsZWN0ZWQgd2hlbiB0aGUgaWQgb2YgdGhlIHRhYiBpcyBwYXNzZWRcbiAgICAgKi9cbiAgICBzZXRTZWxlY3RlZFRhYihpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYkxpc3RDb21wb25lbnQuc2VsZWN0VGFiKGlkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblNlbGVjdGVkVGFiQ2hhbmdlKGV2ZW50OiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50Q29tcG9uZW50cy5maW5kKChjb250ZW50Q29tcG9uZW50KSA9PiBjb250ZW50Q29tcG9uZW50LmlkID09PSBldmVudC5pZCk7XG5cbiAgICAgICAgY29udGVudCAmJiB0aGlzLnRhYkNoYW5nZS5lbWl0KG5ldyBEeW5hbWljUGFnZVRhYkNoYW5nZUV2ZW50KGNvbnRlbnQsIGV2ZW50KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub0NvbnRlbnRDb21wb25lbnRzTGlzdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudENvbXBvbmVudHMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRDb21wb25lbnRzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUNvbnRlbnRUYWJzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlQ29udGVudFRhYnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRDb21wb25lbnRzID0gdGhpcy5jb250ZW50Q29tcG9uZW50cy50b0FycmF5KCk7XG5cbiAgICAgICAgLy8gcmVzZXQgYXJyYXlcbiAgICAgICAgdGhpcy5fdGFicyA9IFtdO1xuXG4gICAgICAgIGlmICghdGhpcy5faXNUYWJDb250ZW50UHJlc2VudChjb250ZW50Q29tcG9uZW50cykpIHtcbiAgICAgICAgICAgIGlmIChjb250ZW50Q29tcG9uZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGhhdmUgbW9yZSB0aGFuIG9uZSBjb250ZW50IHNlY3Rpb24uIFVzZSBgdGFiTGFiZWxgIHRvIGhhdmUgYSB0YWJiZWQgbmF2aWdhdGlvbi4nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRlbnRDb21wb25lbnRzKSB7XG4gICAgICAgICAgICBjb250ZW50Q29tcG9uZW50cy5mb3JFYWNoKChjb250ZW50SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29udGVudEl0ZW0udGFiTGFiZWwgJiYgdGhpcy5faXNUYWJiZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBvbmUgZWxlbWVudCBpcyBhbHJlYWR5IHRhYmJlZCwgcGxlYXNlIHByb3ZpZGUgYSBgdGFiTGFiZWxgLicpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhYnMucHVzaChjb250ZW50SXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzVGFiQ29udGVudFByZXNlbnQoY29udGVudENvbXBvbmVudHM6IER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnRlbnRDb21wb25lbnRzLmZvckVhY2goKGNvbnRlbnRDb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChjb250ZW50Q29tcG9uZW50LnRhYkxhYmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNUYWJiZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVGFiYmVkO1xuICAgIH1cbn1cbiIsIjxmZC1keW5hbWljLXBhZ2VcbiAgICBbZGlzYWJsZVNuYXBPblNjcm9sbF09XCJkaXNhYmxlU25hcE9uU2Nyb2xsXCJcbiAgICBbYXV0b1Jlc3BvbnNpdmVdPVwiYXV0b1Jlc3BvbnNpdmVcIlxuICAgIFtiYWNrZ3JvdW5kXT1cImJhY2tncm91bmRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtleHBhbmRDb250ZW50XT1cImV4cGFuZENvbnRlbnRcIlxuICAgIFtvZmZzZXRdPVwib2Zmc2V0XCJcbiAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4+XG4gICAgQGlmICh0aXRsZUNvbXBvbmVudCkge1xuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWhlYWRlclxuICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlQ29tcG9uZW50LnRpdGxlXCJcbiAgICAgICAgICAgIFt0aXRsZVdyYXBdPVwidGl0bGVDb21wb25lbnQudGl0bGVXcmFwXCJcbiAgICAgICAgICAgIFtzdWJ0aXRsZV09XCJ0aXRsZUNvbXBvbmVudC5zdWJ0aXRsZVwiXG4gICAgICAgICAgICBbc3VidGl0bGVXcmFwXT1cInRpdGxlQ29tcG9uZW50LnN1YnRpdGxlV3JhcFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1icmVhZGNydW1iPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5icmVhZGNydW1iVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9mZC1icmVhZGNydW1iPlxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5fc3VidGl0bGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpmZER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGU9XCJsZXQgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuX3N1YnRpdGxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW4gfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5fdGl0bGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpmZER5bmFtaWNQYWdlSGVhZGVyVGl0bGU9XCJsZXQgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuX3RpdGxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW4gfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5rZXlJbmZvQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS10aXRsZS1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQua2V5SW5mb0NvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLXRpdGxlLWNvbnRlbnQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRpdGxlQ29tcG9uZW50LmltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWZhY2V0IHR5cGU9XCJpbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuaW1hZ2VDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2ZkLWZhY2V0PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5nbG9iYWxBY3Rpb25zQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1nbG9iYWwtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5nbG9iYWxBY3Rpb25zQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZUNvbXBvbmVudC5sYXlvdXRBY3Rpb25zQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1sYXlvdXQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5sYXlvdXRBY3Rpb25zQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1oZWFkZXI+XG4gICAgfVxuICAgIEBpZiAoaGVhZGVyQ29tcG9uZW50KSB7XG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyXG4gICAgICAgICAgICBbY29sbGFwc2VkXT1cImhlYWRlckNvbXBvbmVudC5jb2xsYXBzZWRcIlxuICAgICAgICAgICAgW2NvbGxhcHNpYmxlXT1cImhlYWRlckNvbXBvbmVudC5jb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICBbcGlubmFibGVdPVwiaGVhZGVyQ29tcG9uZW50LnBpbm5hYmxlXCJcbiAgICAgICAgICAgIFtleHBhbmRMYWJlbF09XCJoZWFkZXJDb21wb25lbnQuZXhwYW5kTGFiZWxcIlxuICAgICAgICAgICAgW2NvbGxhcHNlTGFiZWxdPVwiaGVhZGVyQ29tcG9uZW50LmNvbGxhcHNlTGFiZWxcIlxuICAgICAgICAgICAgW3JvbGVdPVwiaGVhZGVyQ29tcG9uZW50LnJvbGVcIlxuICAgICAgICAgICAgW2lkXT1cImhlYWRlckNvbXBvbmVudC5pZFwiXG4gICAgICAgICAgICBbaGVhZGVyQXJpYUxhYmVsXT1cImhlYWRlckNvbXBvbmVudC5oZWFkZXJBcmlhTGFiZWxcIlxuICAgICAgICAgICAgW3BpbkFyaWFMYWJlbF09XCJoZWFkZXJDb21wb25lbnQucGluQXJpYUxhYmVsXCJcbiAgICAgICAgICAgIFt1bnBpbkFyaWFMYWJlbF09XCJoZWFkZXJDb21wb25lbnQudW5waW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgKGNvbGxhcHNlZENoYW5nZSk9XCJoZWFkZXJDb21wb25lbnQuX29uQ29sbGFwc2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyPlxuICAgIH1cbiAgICBAaWYgKF9pc1RhYmJlZCkge1xuICAgICAgICA8ZmRwLWljb24tdGFiLWJhclxuICAgICAgICAgICAgY2xhc3M9XCJmZC10YWJzLWN1c3RvbVwiXG4gICAgICAgICAgICBbc3RhY2tDb250ZW50XT1cInN0YWNrQ29udGVudFwiXG4gICAgICAgICAgICBtYXhDb250ZW50SGVpZ2h0PVwiYXV0b1wiXG4gICAgICAgICAgICAoaWNvblRhYlNlbGVjdGVkKT1cIl9vblNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAZm9yICh0YWIgb2YgX3RhYnM7IHRyYWNrIHRhYikge1xuICAgICAgICAgICAgICAgIDxmZHAtaWNvbi10YWItYmFyLXRhYiBbbGFiZWxdPVwidGFiLnRhYkxhYmVsXCIgW2lkXT1cInRhYi5pZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuY29udGVudFRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPiA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50XG4gICAgICAgICAgICAgICAgPjwvZmRwLWljb24tdGFiLWJhci10YWI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZmRwLWljb24tdGFiLWJhci10YWI+PC9mZHAtaWNvbi10YWItYmFyLXRhYj5cbiAgICAgICAgPC9mZHAtaWNvbi10YWItYmFyPlxuICAgIH1cbiAgICBAaWYgKCFfaXNUYWJiZWQgJiYgY29udGVudENvbXBvbmVudCkge1xuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudENvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgIH1cbiAgICBAaWYgKGZvb3RlckNvbXBvbmVudCkge1xuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxuICAgIH1cbjwvZmQtZHluYW1pYy1wYWdlPlxuIl19
|
|
@@ -80,13 +80,17 @@ export class IconTabBarBase {
|
|
|
80
80
|
this.selected.emit(selectedItem);
|
|
81
81
|
}
|
|
82
82
|
/** @hidden */
|
|
83
|
-
_keyDownHandler(event, tab, currentIndex) {
|
|
83
|
+
_keyDownHandler(event, tab, currentIndex, popover) {
|
|
84
84
|
if (tab && KeyUtil.isKeyCode(event, [SPACE, ENTER])) {
|
|
85
85
|
event.preventDefault();
|
|
86
86
|
this._selectItem(tab);
|
|
87
87
|
}
|
|
88
88
|
else if (KeyUtil.isKeyCode(event, [RIGHT_ARROW, DOWN_ARROW])) {
|
|
89
89
|
event.preventDefault();
|
|
90
|
+
if (KeyUtil.isKeyCode(event, DOWN_ARROW) && tab?.subItems?.length) {
|
|
91
|
+
popover?._openPopover();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
90
94
|
this.isRtl ? this._focusPreviousItem(currentIndex) : this._focusNextItem(currentIndex);
|
|
91
95
|
}
|
|
92
96
|
else if (KeyUtil.isKeyCode(event, [LEFT_ARROW, UP_ARROW])) {
|
|
@@ -263,4 +267,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
263
267
|
type: ViewChild,
|
|
264
268
|
args: ['tablist', { read: ElementRef }]
|
|
265
269
|
}] } });
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLWJhc2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFJTixNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFPMUQsTUFBTSxPQUFnQixjQUFjO0lBRHBDO1FBVUk7O1dBRUc7UUFFSCxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQStCNUI7O1dBRUc7UUFFSCxhQUFRLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTVFLGlEQUFpRDtRQUVqRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQVkzRCxjQUFjO1FBQ2QsZ0JBQVcsR0FBRyxNQUFN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U0FDSjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7OEdBMVNpQixjQUFjO2tHQUFkLGNBQWMsa1NBeURyQixxQkFBcUIsc0hBSUYsVUFBVTs7MkZBN0R0QixjQUFjO2tCQURuQyxTQUFTOzhCQWNOLElBQUk7c0JBREgsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBUU4saUJBQWlCO3NCQURoQixLQUFLO2dCQU9GLFdBQVc7c0JBRGQsS0FBSztnQkFXTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxNQUFNO2dCQUtQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFPUCxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMscUJBQXFCO2dCQUtoQyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgaXNEZXZNb2RlLFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERPV05fQVJST1csIEVOVEVSLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgU1BBQ0UsIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtleVV0aWwsIE92ZXJmbG93TGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZEX0RZTkFNSUNfUEFHRSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9keW5hbWljLXBhZ2UnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEljb25UYWJCYXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pY29uLXRhYi1iYXItaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFiQ29sb3JBc3NvY2lhdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYi1jb2xvci1hc3NvY2lhdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhYkRlc3RpbnlNb2RlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSWNvblRhYkJhclBvcG92ZXJCYXNlIH0gZnJvbSAnLi9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci1iYXNlLmNsYXNzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWNvblRhYkJhckJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGlzdCBvZiB0YWIgZWxlbWVudHMsIHRoYXQgY2FuIHJlY2VpdmUgZm9jdXMuXG4gICAgICogVGhlcmUncyBhIHNlcGFyYXRlIG1hcHBpbmcgZnVuY3Rpb24gdG8gZ2V0IGFjdHVhbCBodG1sIGVsZW1lbnQ6IGBfZ2V0VGFiVUlFbGVtZW50Rm9jdXNhYmxlYFxuICAgICAqL1xuICAgIGFic3RyYWN0IF90YWJVSUVsZW1lbnRzOiBRdWVyeUxpc3Q8dW5rbm93bj47XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhYnN0cmFjdCBfdGFiQmFyUG9wb3ZlcjogSWNvblRhYkJhclBvcG92ZXJCYXNlO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBIHRhYiBiYXIgY29uZmlndXJhdGlvbiB0aGF0IHN0b3JlcyB0aGUgc3RhdGUgb2YgZWFjaCB0YWIuIEJhc2VkIG9uIHRoaXMgY29uZmlndXJhdGlvbiwgYSB0YWIgYmFyIGlzIHJlcHJlc2VudGluZy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRhYnM6IEljb25UYWJCYXJJdGVtW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBGbGFnIHJlcHJlc2VudGluZyBydGwgbW9kZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNSdGw6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQXNzb2NpYXRpb25zIGZvciBjb2xvcnMgb2YgdGhlIHRhYnMuXG4gICAgICogSWYgYW55IG9mIHRoZSBjb2xvciBhc3NvY2lhdGlvbnMgcHJvdmlkZWQsIHRoZXknbGwgYmUgcmVhZCBieSBzY3JlZW5yZWFkZXIgaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGNvbG9yXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xvckFzc29jaWF0aW9uczogVGFiQ29sb3JBc3NvY2lhdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gZGVuc2l0eU1vZGUgc2V0dGVyIHRyaWdnZXJzIHRhYnMgdG8gcmUtY2FsY3VsYXRpb24gb3ZlcmZsb3dlZCB0YWJzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVuc2l0eU1vZGUodmFsdWU6IFRhYkRlc3RpbnlNb2RlKSB7XG4gICAgICAgIC8vIFNraXAgZmlyc3QgdmFsdWUgJiYgdmFsdWUgZG9lc24ndCBlcXVhbCB0byBwcmV2aW91cyBvbmVcbiAgICAgICAgaWYgKHRoaXMuX2RlbnNpdHlNb2RlICYmIHZhbHVlICE9PSB0aGlzLl9kZW5zaXR5TW9kZSkge1xuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlclJlY2FsY3VsYXRpb25WaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kZW5zaXR5TW9kZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBDdXJyZW50bHkgc2VsZWN0ZWQgdGFiIFVuaXF1ZSBJRC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGVkVWlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBzb21lIHRhYiBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPEljb25UYWJCYXJJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvblRhYkJhckl0ZW0+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBzZWxlY3RlZCB0YWIgVW5pcXVlIElEIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRVaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2UgdG8gT3ZlcmZsb3dMaXN0RGlyZWN0aXZlXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChPdmVyZmxvd0xpc3REaXJlY3RpdmUpXG4gICAgb3ZlcmZsb3dEaXJlY3RpdmU6IE92ZXJmbG93TGlzdERpcmVjdGl2ZTtcblxuICAgIC8qKiBIZWFkZXIgZWxlbWVudCByZWZlcmVuY2UuICovXG4gICAgQFZpZXdDaGlsZCgndGFibGlzdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIGhlYWRlckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXh0cmFUYWJzJCA9IHNpZ25hbDxJY29uVGFiQmFySXRlbVtdPihbXSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9sYXN0VmlzaWJsZVRhYkluZGV4OiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9leHRyYUl0ZW1zJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9pbkR5bmFtaWNQYWdlID0gISFpbmplY3QoRkRfRFlOQU1JQ19QQUdFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9uZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVuc2l0eU1vZGU6IFRhYkRlc3RpbnlNb2RlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50YWJzICYmICFjaGFuZ2VzLnRhYnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRUYWJzKCk7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLmlzUnRsICYmICFjaGFuZ2VzLmlzUnRsLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdFRhYnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlclJlY2FsY3VsYXRpb25WaXNpYmxlSXRlbXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtOiBJY29uVGFiQmFySXRlbSwgZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBzZWxlY3RlZEl0ZW0udUlkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVWlkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFVpZCk7XG4gICAgICAgIHNlbGVjdGVkSXRlbS5iYWRnZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9rZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCwgdGFiOiBJY29uVGFiQmFySXRlbSB8IHVuZGVmaW5lZCwgY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhYiAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0SXRlbSh0YWIpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbUklHSFRfQVJST1csIERPV05fQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuaXNSdGwgPyB0aGlzLl9mb2N1c1ByZXZpb3VzSXRlbShjdXJyZW50SW5kZXgpIDogdGhpcy5fZm9jdXNOZXh0SXRlbShjdXJyZW50SW5kZXgpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbTEVGVF9BUlJPVywgVVBfQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuaXNSdGwgPyB0aGlzLl9mb2N1c05leHRJdGVtKGN1cnJlbnRJbmRleCkgOiB0aGlzLl9mb2N1c1ByZXZpb3VzSXRlbShjdXJyZW50SW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gZm9jdXNlcyBuZXh0IHRhYiAqL1xuICAgIF9mb2N1c05leHRJdGVtKGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCA9PT0gdGhpcy50YWJzLmxlbmd0aCAtIDEgPyAwIDogY3VycmVudEluZGV4ICsgMTtcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtKG5leHRJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gZm9jdXNlcyBwcmV2aW91cyB0YWIgKi9cbiAgICBfZm9jdXNQcmV2aW91c0l0ZW0oY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gaWYgY3VycmVudCBmb2N1c2VkIGVsZW1lbnQgaXMgZmlyc3QsIGZvY3VzIHRoZSBsYXN0IG9uZS4gSWYgdGFicyBhcmUgb3ZlcmZsb3dlZCwgZm9jdXMgdGhlIGxhc3QgdGFiIGluIHRoZSBwb3BvdmVyXG4gICAgICAgICAgICB0aGlzLl9mb2N1c0l0ZW0odGhpcy50YWJzLmxlbmd0aCAtIDEsIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNJdGVtKGN1cnJlbnRJbmRleCAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSB0YWJJbmRleCBpbmRleCBvZiB0aGUgdGFiIHRvIGFwcGx5IGZvY3VzXG4gICAgICogQHBhcmFtIGZvY3VzTGFzdCB3aGV0aGVyIHRvIGZvY3VzIGZpcnN0IG9yIGxhc3QgaXRlbSBpbiB0aGUgcG9wb3ZlclxuICAgICAqL1xuICAgIF9mb2N1c0l0ZW0odGFiSW5kZXg6IG51bWJlciwgZm9jdXNMYXN0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhYkluZGV4ID4gdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5fdGFiQmFyUG9wb3Zlci5fb3BlblBvcG92ZXIoZm9jdXNMYXN0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2dldFRhYlVJRWxlbWVudEZvY3VzYWJsZSh0aGlzLl90YWJVSUVsZW1lbnRzLmdldCh0YWJJbmRleCkpPy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKiBAZGVzY3JpcHRpb24gc2VsZWN0IGV4dHJhIGl0ZW0gaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBfc2VsZWN0RXh0cmFJdGVtKHNlbGVjdGVkSXRlbTogSWNvblRhYkJhckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFicyA9IFsuLi50aGlzLnRhYnNdO1xuICAgICAgICBjb25zdCBkZWxldGVkSXRlbSA9IHRhYnMuc3BsaWNlKHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXgsIDEsIHNlbGVjdGVkSXRlbSlbMF0gYXMgSWNvblRhYkJhckl0ZW07XG4gICAgICAgIHRhYnMuc3BsaWNlKHNlbGVjdGVkSXRlbS5pbmRleCwgMSwgZGVsZXRlZEl0ZW0pO1xuICAgICAgICB0aGlzLnRhYnMgPSB0YWJzO1xuICAgICAgICBjb25zdCBleHRyYVRhYnMgPSBbLi4udGhpcy5fZXh0cmFUYWJzJCgpXTtcblxuICAgICAgICBkZWxldGVkSXRlbS5pbmRleCA9IHNlbGVjdGVkSXRlbS5pbmRleDtcbiAgICAgICAgZGVsZXRlZEl0ZW0udUlkID0gYCR7ZGVsZXRlZEl0ZW0uaW5kZXh9YDtcbiAgICAgICAgY29uc3QgaXRlbVRvUG9wb3ZlciA9IGNsb25lRGVlcChkZWxldGVkSXRlbSk7XG4gICAgICAgIGRlbGV0ZWRJdGVtLmhpZGRlbiA9IHRydWU7XG4gICAgICAgIGRlbGV0ZWRJdGVtLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG5cbiAgICAgICAgbGV0IGluZGV4SW5FeHRyYUl0ZW1zO1xuICAgICAgICB0aGlzLl9leHRyYVRhYnMkKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmluZGV4ID09PSBzZWxlY3RlZEl0ZW0uaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBpbmRleEluRXh0cmFJdGVtcyA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBzZWxlY3RlZEl0ZW0uaW5kZXggPSB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4O1xuICAgICAgICBzZWxlY3RlZEl0ZW0udUlkID0gYCR7c2VsZWN0ZWRJdGVtLmluZGV4fWA7XG4gICAgICAgIHNlbGVjdGVkSXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbS5jb2xvcikge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtLmNzc0NsYXNzZXMgPSBbYGZkLWljb24tdGFiLWJhcl9faXRlbS0tJHtzZWxlY3RlZEl0ZW0uY29sb3J9YF07XG4gICAgICAgIH1cbiAgICAgICAgZXh0cmFUYWJzLnNwbGljZShpbmRleEluRXh0cmFJdGVtcywgMSwgaXRlbVRvUG9wb3Zlcik7XG4gICAgICAgIHRoaXMuX2V4dHJhVGFicyQuc2V0KGV4dHJhVGFicyk7XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgICAgICB0aGlzLl9mb2N1c0l0ZW0odGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBleHRyYUl0ZW1zXG4gICAgICogQGRlc2NyaXB0aW9uIHJlY2FsY3VsYXRlIF9uZXh0U3RlcHMgYW5kIF9wcmV2U3RlcHMgYXJyYXkgaWYgd2UgaGF2ZSBleHRyYSBpdGVtc1xuICAgICAqL1xuICAgIF9yZWNhbGN1bGF0ZVZpc2libGVJdGVtcyhleHRyYUl0ZW1zOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXh0cmFJdGVtcyQuc2V0KGV4dHJhSXRlbXMgPiAwKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBjb25zdCB0YWJzID0gWy4uLnRoaXMudGFic107XG4gICAgICAgIGNvbnN0IGV4dHJhVGFiczogSWNvblRhYkJhckl0ZW1bXSA9IFtdO1xuICAgICAgICB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4ID0gdGFicy5sZW5ndGggLSAxIC0gZXh0cmFJdGVtcztcbiAgICAgICAgdGFicy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbS5jc3NDbGFzc2VzID0gaXRlbS5jc3NDbGFzc2VzLmZpbHRlcigoY3NzQ2xhc3MpID0+IGNzc0NsYXNzICE9PSBJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4ICsgMTsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRhYnNbaV07XG4gICAgICAgICAgICBleHRyYVRhYnMucHVzaChjbG9uZURlZXAodGFiKSk7XG4gICAgICAgICAgICB0YWIuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRhYi5jc3NDbGFzc2VzLnB1c2goSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4dHJhVGFicyQuc2V0KGV4dHJhVGFicyk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTWFwcGluZyBmdW5jdGlvbiB0byByZXNvbHZlIFVJIHRhYiBlbGVtZW50IHRvIGl0J3MgZm9jdXNhYmxlIHBhcnQvZGVzY2VuZGFudFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfZ2V0VGFiVUlFbGVtZW50Rm9jdXNhYmxlKHRhYlVJRWxlbWVudDogdW5rbm93bik6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGlmICh0YWJVSUVsZW1lbnQgJiYgdHlwZW9mIHRhYlVJRWxlbWVudCA9PT0gJ29iamVjdCcgJiYgJ25hdGl2ZUVsZW1lbnQnIGluIHRhYlVJRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKCg8RWxlbWVudFJlZj50YWJVSUVsZW1lbnQpLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PnRhYlVJRWxlbWVudCkubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIGdldCBmb2N1c2FibGUgdGFiIGVsZW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGRlc2NyaXB0aW9uIHRyaWdnZXIgcmVjYWxjdWxhdGlvbiBpdGVtcywgbmVlZCB0byBkbyBpdCBhc3luY2hyb25vdXNseSBhZnRlciBkb20gd2FzIHJlcmVuZGVyZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uZ1pvbmUub25NaWNyb3Rhc2tFbXB0eS5waXBlKHRha2UoMSksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm92ZXJmbG93RGlyZWN0aXZlICYmICF0aGlzLl9kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYSA9IHRoaXMub3ZlcmZsb3dEaXJlY3RpdmUuZ2V0QW1vdW50T2ZFeHRyYUl0ZW1zKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVWaXNpYmxlSXRlbXMoZXh0cmEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBkZXNjcmlwdGlvbiBpbml0aWFsaXplIHN0YXRlIG9mIHRhYnNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2luaXRUYWJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLl9maW5kQWN0aXZlVGFiSWQodGhpcy50YWJzKSB8fCB0aGlzLnRhYnNbMF07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBzZWxlY3RlZEl0ZW0/LnVJZDtcbiAgICAgICAgdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCA9IHRoaXMudGFicy5sZW5ndGggLSAxO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVWlkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFVpZCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2ZpbmRBY3RpdmVUYWJJZCh0YWJzOiBJY29uVGFiQmFySXRlbVtdKTogSWNvblRhYkJhckl0ZW0gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgYWN0aXZlVGFiOiBJY29uVGFiQmFySXRlbSB8IHVuZGVmaW5lZDtcbiAgICAgICAgZm9yIChjb25zdCB0YWIgb2YgdGFicykge1xuICAgICAgICAgICAgaWYgKHRhYi5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWIgPSB0YWI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRhYi5zdWJJdGVtcykge1xuICAgICAgICAgICAgICAgIGFjdGl2ZVRhYiA9IHRoaXMuX2ZpbmRBY3RpdmVUYWJJZCh0YWIuc3ViSXRlbXMpO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVUYWIpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjdGl2ZVRhYjtcbiAgICB9XG59XG4iXX0=
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLWJhc2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFJTixNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFRMUQsTUFBTSxPQUFnQixjQUFjO0lBRHBDO1FBVUk7O1dBRUc7UUFFSCxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQStCNUI7O1dBRUc7UUFFSCxhQUFRLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTVFLGlEQUFpRDtRQUVqRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQVkzRCxjQUFjO1FBQ2QsZ0JBQVcsR0FBRyxNQUFN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QUFNO2FBQ1Q7aUJBQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUNyQixTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDaEQsSUFBSSxTQUFTLEVBQUU7b0JBQ1gsTUFBTTtpQkFDVDthQUNKO1NBQ0o7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzhHQW5UaUIsY0FBYztrR0FBZCxjQUFjLGtTQXlEckIscUJBQXFCLHNIQUlGLFVBQVU7OzJGQTdEdEIsY0FBYztrQkFEbkMsU0FBUzs4QkFjTixJQUFJO3NCQURILEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQVFOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFPRixXQUFXO3NCQURkLEtBQUs7Z0JBV04sV0FBVztzQkFEVixLQUFLO2dCQU9OLFFBQVE7c0JBRFAsTUFBTTtnQkFLUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBT1AsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLHFCQUFxQjtnQkFLaEMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIGlzRGV2TW9kZSxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBET1dOX0FSUk9XLCBFTlRFUiwgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFNQQUNFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLZXlVdGlsLCBPdmVyZmxvd0xpc3REaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGRF9EWU5BTUlDX1BBR0UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZHluYW1pYy1wYWdlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJY29uVGFiQmFySXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvaWNvbi10YWItYmFyLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhYkNvbG9yQXNzb2NpYXRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90YWItY29sb3ItYXNzb2NpYXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJEZXN0aW55TW9kZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEljb25UYWJCYXJQb3BvdmVyQmFzZSB9IGZyb20gJy4vcG9wb3ZlcnMvaWNvbi10YWItYmFyLXBvcG92ZXItYmFzZS5jbGFzcyc7XG5pbXBvcnQgeyBUZXh0VHlwZVBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXJzL3RleHQtdHlwZS1wb3BvdmVyL3RleHQtdHlwZS1wb3BvdmVyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEljb25UYWJCYXJCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3Qgb2YgdGFiIGVsZW1lbnRzLCB0aGF0IGNhbiByZWNlaXZlIGZvY3VzLlxuICAgICAqIFRoZXJlJ3MgYSBzZXBhcmF0ZSBtYXBwaW5nIGZ1bmN0aW9uIHRvIGdldCBhY3R1YWwgaHRtbCBlbGVtZW50OiBgX2dldFRhYlVJRWxlbWVudEZvY3VzYWJsZWBcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBfdGFiVUlFbGVtZW50czogUXVlcnlMaXN0PHVua25vd24+O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJzdHJhY3QgX3RhYkJhclBvcG92ZXI6IEljb25UYWJCYXJQb3BvdmVyQmFzZTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQSB0YWIgYmFyIGNvbmZpZ3VyYXRpb24gdGhhdCBzdG9yZXMgdGhlIHN0YXRlIG9mIGVhY2ggdGFiLiBCYXNlZCBvbiB0aGlzIGNvbmZpZ3VyYXRpb24sIGEgdGFiIGJhciBpcyByZXByZXNlbnRpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0YWJzOiBJY29uVGFiQmFySXRlbVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRmxhZyByZXByZXNlbnRpbmcgcnRsIG1vZGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlzUnRsOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFzc29jaWF0aW9ucyBmb3IgY29sb3JzIG9mIHRoZSB0YWJzLlxuICAgICAqIElmIGFueSBvZiB0aGUgY29sb3IgYXNzb2NpYXRpb25zIHByb3ZpZGVkLCB0aGV5J2xsIGJlIHJlYWQgYnkgc2NyZWVucmVhZGVyIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBjb2xvclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sb3JBc3NvY2lhdGlvbnM6IFRhYkNvbG9yQXNzb2NpYXRpb25zO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGRlbnNpdHlNb2RlIHNldHRlciB0cmlnZ2VycyB0YWJzIHRvIHJlLWNhbGN1bGF0aW9uIG92ZXJmbG93ZWQgdGFic1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRlbnNpdHlNb2RlKHZhbHVlOiBUYWJEZXN0aW55TW9kZSkge1xuICAgICAgICAvLyBTa2lwIGZpcnN0IHZhbHVlICYmIHZhbHVlIGRvZXNuJ3QgZXF1YWwgdG8gcHJldmlvdXMgb25lXG4gICAgICAgIGlmICh0aGlzLl9kZW5zaXR5TW9kZSAmJiB2YWx1ZSAhPT0gdGhpcy5fZGVuc2l0eU1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGVuc2l0eU1vZGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQ3VycmVudGx5IHNlbGVjdGVkIHRhYiBVbmlxdWUgSUQuICovXG4gICAgQElucHV0KClcbiAgICBzZWxlY3RlZFVpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gc29tZSB0YWIgaXMgc2VsZWN0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJY29uVGFiQmFySXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEljb25UYWJCYXJJdGVtPigpO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gc2VsZWN0ZWQgdGFiIFVuaXF1ZSBJRCBjaGFuZ2VzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkVWlkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNlIHRvIE92ZXJmbG93TGlzdERpcmVjdGl2ZVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoT3ZlcmZsb3dMaXN0RGlyZWN0aXZlKVxuICAgIG92ZXJmbG93RGlyZWN0aXZlOiBPdmVyZmxvd0xpc3REaXJlY3RpdmU7XG5cbiAgICAvKiogSGVhZGVyIGVsZW1lbnQgcmVmZXJlbmNlLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RhYmxpc3QnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBoZWFkZXJFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4dHJhVGFicyQgPSBzaWduYWw8SWNvblRhYkJhckl0ZW1bXT4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfbGFzdFZpc2libGVUYWJJbmRleDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXh0cmFJdGVtcyQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfaW5EeW5hbWljUGFnZSA9ICEhaW5qZWN0KEZEX0RZTkFNSUNfUEFHRSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlbnNpdHlNb2RlOiBUYWJEZXN0aW55TW9kZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveWVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMudGFicyAmJiAhY2hhbmdlcy50YWJzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0VGFicygpO1xuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlclJlY2FsY3VsYXRpb25WaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5pc1J0bCAmJiAhY2hhbmdlcy5pc1J0bC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlclJlY2FsY3VsYXRpb25WaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRUYWJzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHNlbGVjdGVkSXRlbVxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIF9zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbTogSWNvblRhYkJhckl0ZW0sIGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVWlkID0gc2VsZWN0ZWRJdGVtLnVJZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVpZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRVaWQpO1xuICAgICAgICBzZWxlY3RlZEl0ZW0uYmFkZ2UgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfa2V5RG93bkhhbmRsZXIoXG4gICAgICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICAgICAgICB0YWI6IEljb25UYWJCYXJJdGVtIHwgdW5kZWZpbmVkLFxuICAgICAgICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgICAgICAgcG9wb3Zlcj86IFRleHRUeXBlUG9wb3ZlckNvbXBvbmVudFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAodGFiICYmIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RJdGVtKHRhYik7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtSSUdIVF9BUlJPVywgRE9XTl9BUlJPV10pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSAmJiB0YWI/LnN1Ykl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBwb3BvdmVyPy5fb3BlblBvcG92ZXIoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlzUnRsID8gdGhpcy5fZm9jdXNQcmV2aW91c0l0ZW0oY3VycmVudEluZGV4KSA6IHRoaXMuX2ZvY3VzTmV4dEl0ZW0oY3VycmVudEluZGV4KTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0xFRlRfQVJST1csIFVQX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmlzUnRsID8gdGhpcy5fZm9jdXNOZXh0SXRlbShjdXJyZW50SW5kZXgpIDogdGhpcy5fZm9jdXNQcmV2aW91c0l0ZW0oY3VycmVudEluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIGZvY3VzZXMgbmV4dCB0YWIgKi9cbiAgICBfZm9jdXNOZXh0SXRlbShjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0SW5kZXggPSBjdXJyZW50SW5kZXggPT09IHRoaXMudGFicy5sZW5ndGggLSAxID8gMCA6IGN1cnJlbnRJbmRleCArIDE7XG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbShuZXh0SW5kZXgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIGZvY3VzZXMgcHJldmlvdXMgdGFiICovXG4gICAgX2ZvY3VzUHJldmlvdXNJdGVtKGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIC8vIGlmIGN1cnJlbnQgZm9jdXNlZCBlbGVtZW50IGlzIGZpcnN0LCBmb2N1cyB0aGUgbGFzdCBvbmUuIElmIHRhYnMgYXJlIG92ZXJmbG93ZWQsIGZvY3VzIHRoZSBsYXN0IHRhYiBpbiB0aGUgcG9wb3ZlclxuICAgICAgICAgICAgdGhpcy5fZm9jdXNJdGVtKHRoaXMudGFicy5sZW5ndGggLSAxLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzSXRlbShjdXJyZW50SW5kZXggLSAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gdGFiSW5kZXggaW5kZXggb2YgdGhlIHRhYiB0byBhcHBseSBmb2N1c1xuICAgICAqIEBwYXJhbSBmb2N1c0xhc3Qgd2hldGhlciB0byBmb2N1cyBmaXJzdCBvciBsYXN0IGl0ZW0gaW4gdGhlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBfZm9jdXNJdGVtKHRhYkluZGV4OiBudW1iZXIsIGZvY3VzTGFzdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0YWJJbmRleCA+IHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYkJhclBvcG92ZXIuX29wZW5Qb3BvdmVyKGZvY3VzTGFzdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRUYWJVSUVsZW1lbnRGb2N1c2FibGUodGhpcy5fdGFiVUlFbGVtZW50cy5nZXQodGFiSW5kZXgpKT8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtXG4gICAgICogQGRlc2NyaXB0aW9uIHNlbGVjdCBleHRyYSBpdGVtIGluc2lkZSBwb3BvdmVyXG4gICAgICovXG4gICAgX3NlbGVjdEV4dHJhSXRlbShzZWxlY3RlZEl0ZW06IEljb25UYWJCYXJJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhYnMgPSBbLi4udGhpcy50YWJzXTtcbiAgICAgICAgY29uc3QgZGVsZXRlZEl0ZW0gPSB0YWJzLnNwbGljZSh0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4LCAxLCBzZWxlY3RlZEl0ZW0pWzBdIGFzIEljb25UYWJCYXJJdGVtO1xuICAgICAgICB0YWJzLnNwbGljZShzZWxlY3RlZEl0ZW0uaW5kZXgsIDEsIGRlbGV0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy50YWJzID0gdGFicztcbiAgICAgICAgY29uc3QgZXh0cmFUYWJzID0gWy4uLnRoaXMuX2V4dHJhVGFicyQoKV07XG5cbiAgICAgICAgZGVsZXRlZEl0ZW0uaW5kZXggPSBzZWxlY3RlZEl0ZW0uaW5kZXg7XG4gICAgICAgIGRlbGV0ZWRJdGVtLnVJZCA9IGAke2RlbGV0ZWRJdGVtLmluZGV4fWA7XG4gICAgICAgIGNvbnN0IGl0ZW1Ub1BvcG92ZXIgPSBjbG9uZURlZXAoZGVsZXRlZEl0ZW0pO1xuICAgICAgICBkZWxldGVkSXRlbS5oaWRkZW4gPSB0cnVlO1xuICAgICAgICBkZWxldGVkSXRlbS5jc3NDbGFzc2VzLnB1c2goSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUpO1xuXG4gICAgICAgIGxldCBpbmRleEluRXh0cmFJdGVtcztcbiAgICAgICAgdGhpcy5fZXh0cmFUYWJzJCgpLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pbmRleCA9PT0gc2VsZWN0ZWRJdGVtLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgaW5kZXhJbkV4dHJhSXRlbXMgPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2VsZWN0ZWRJdGVtLmluZGV4ID0gdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleDtcbiAgICAgICAgc2VsZWN0ZWRJdGVtLnVJZCA9IGAke3NlbGVjdGVkSXRlbS5pbmRleH1gO1xuICAgICAgICBzZWxlY3RlZEl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0uY29sb3IpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbS5jc3NDbGFzc2VzID0gW2BmZC1pY29uLXRhYi1iYXJfX2l0ZW0tLSR7c2VsZWN0ZWRJdGVtLmNvbG9yfWBdO1xuICAgICAgICB9XG4gICAgICAgIGV4dHJhVGFicy5zcGxpY2UoaW5kZXhJbkV4dHJhSXRlbXMsIDEsIGl0ZW1Ub1BvcG92ZXIpO1xuICAgICAgICB0aGlzLl9leHRyYVRhYnMkLnNldChleHRyYVRhYnMpO1xuXG4gICAgICAgIHRoaXMuX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlclJlY2FsY3VsYXRpb25WaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtKHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gZXh0cmFJdGVtc1xuICAgICAqIEBkZXNjcmlwdGlvbiByZWNhbGN1bGF0ZSBfbmV4dFN0ZXBzIGFuZCBfcHJldlN0ZXBzIGFycmF5IGlmIHdlIGhhdmUgZXh0cmEgaXRlbXNcbiAgICAgKi9cbiAgICBfcmVjYWxjdWxhdGVWaXNpYmxlSXRlbXMoZXh0cmFJdGVtczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2V4dHJhSXRlbXMkLnNldChleHRyYUl0ZW1zID4gMCk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgY29uc3QgdGFicyA9IFsuLi50aGlzLnRhYnNdO1xuICAgICAgICBjb25zdCBleHRyYVRhYnM6IEljb25UYWJCYXJJdGVtW10gPSBbXTtcbiAgICAgICAgdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCA9IHRhYnMubGVuZ3RoIC0gMSAtIGV4dHJhSXRlbXM7XG4gICAgICAgIHRhYnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGl0ZW0uY3NzQ2xhc3NlcyA9IGl0ZW0uY3NzQ2xhc3Nlcy5maWx0ZXIoKGNzc0NsYXNzKSA9PiBjc3NDbGFzcyAhPT0gSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCArIDE7IGkgPCB0YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0YWIgPSB0YWJzW2ldO1xuICAgICAgICAgICAgZXh0cmFUYWJzLnB1c2goY2xvbmVEZWVwKHRhYikpO1xuICAgICAgICAgICAgdGFiLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0YWIuY3NzQ2xhc3Nlcy5wdXNoKElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9leHRyYVRhYnMkLnNldChleHRyYVRhYnMpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1hcHBpbmcgZnVuY3Rpb24gdG8gcmVzb2x2ZSBVSSB0YWIgZWxlbWVudCB0byBpdCdzIGZvY3VzYWJsZSBwYXJ0L2Rlc2NlbmRhbnRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2dldFRhYlVJRWxlbWVudEZvY3VzYWJsZSh0YWJVSUVsZW1lbnQ6IHVua25vd24pOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGFiVUlFbGVtZW50ICYmIHR5cGVvZiB0YWJVSUVsZW1lbnQgPT09ICdvYmplY3QnICYmICduYXRpdmVFbGVtZW50JyBpbiB0YWJVSUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmICgoPEVsZW1lbnRSZWY+dGFiVUlFbGVtZW50KS5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj50YWJVSUVsZW1lbnQpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBnZXQgZm9jdXNhYmxlIHRhYiBlbGVtZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBkZXNjcmlwdGlvbiB0cmlnZ2VyIHJlY2FsY3VsYXRpb24gaXRlbXMsIG5lZWQgdG8gZG8gaXQgYXN5bmNocm9ub3VzbHkgYWZ0ZXIgZG9tIHdhcyByZXJlbmRlcmVkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZSh0YWtlKDEpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5vdmVyZmxvd0RpcmVjdGl2ZSAmJiAhdGhpcy5fZGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXh0cmEgPSB0aGlzLm92ZXJmbG93RGlyZWN0aXZlLmdldEFtb3VudE9mRXh0cmFJdGVtcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKGV4dHJhKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAZGVzY3JpcHRpb24gaW5pdGlhbGl6ZSBzdGF0ZSBvZiB0YWJzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9pbml0VGFicygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5fZmluZEFjdGl2ZVRhYklkKHRoaXMudGFicykgfHwgdGhpcy50YWJzWzBdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVWlkID0gc2VsZWN0ZWRJdGVtPy51SWQ7XG4gICAgICAgIHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggPSB0aGlzLnRhYnMubGVuZ3RoIC0gMTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVpZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRVaWQpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9maW5kQWN0aXZlVGFiSWQodGFiczogSWNvblRhYkJhckl0ZW1bXSk6IEljb25UYWJCYXJJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGFjdGl2ZVRhYjogSWNvblRhYkJhckl0ZW0gfCB1bmRlZmluZWQ7XG4gICAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYnMpIHtcbiAgICAgICAgICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlVGFiID0gdGFiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0YWIuc3ViSXRlbXMpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWIgPSB0aGlzLl9maW5kQWN0aXZlVGFiSWQodGFiLnN1Ykl0ZW1zKTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlVGFiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY3RpdmVUYWI7XG4gICAgfVxufVxuIl19
|