@agorapulse/ui-components 18.0.20 → 18.0.22

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.
Files changed (33) hide show
  1. package/agorapulse-ui-components-18.0.22.tgz +0 -0
  2. package/esm2022/badge/badge.component.mjs +3 -3
  3. package/esm2022/button/button.component.mjs +4 -4
  4. package/esm2022/counter/counter.component.mjs +3 -3
  5. package/esm2022/icon-button/icon-button.component.mjs +5 -3
  6. package/esm2022/infobox/infobox.component.mjs +3 -3
  7. package/esm2022/nav-selector/nav-selector.component.mjs +3 -3
  8. package/esm2022/social-button/social-button.component.mjs +6 -6
  9. package/esm2022/split-button/split-button.component.mjs +3 -3
  10. package/esm2022/status/status.component.mjs +3 -3
  11. package/esm2022/tag/tag.component.mjs +3 -3
  12. package/fesm2022/agorapulse-ui-components-badge.mjs +2 -2
  13. package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -1
  14. package/fesm2022/agorapulse-ui-components-button.mjs +3 -3
  15. package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -1
  16. package/fesm2022/agorapulse-ui-components-counter.mjs +2 -2
  17. package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -1
  18. package/fesm2022/agorapulse-ui-components-icon-button.mjs +4 -2
  19. package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -1
  20. package/fesm2022/agorapulse-ui-components-infobox.mjs +2 -2
  21. package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
  22. package/fesm2022/agorapulse-ui-components-nav-selector.mjs +2 -2
  23. package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
  24. package/fesm2022/agorapulse-ui-components-social-button.mjs +5 -5
  25. package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -1
  26. package/fesm2022/agorapulse-ui-components-split-button.mjs +2 -2
  27. package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
  28. package/fesm2022/agorapulse-ui-components-status.mjs +2 -2
  29. package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -1
  30. package/fesm2022/agorapulse-ui-components-tag.mjs +2 -2
  31. package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -1
  32. package/package.json +7 -7
  33. package/agorapulse-ui-components-18.0.20.tgz +0 -0
@@ -133,7 +133,7 @@ export class NavSelectorComponent {
133
133
  }
134
134
  }
135
135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorComponent, deps: [{ token: i1.NavSelectorState }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
136
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorComponent, isStandalone: true, selector: "ap-nav-selector", inputs: { navSelectorEntries: { classPropertyName: "navSelectorEntries", publicName: "navSelectorEntries", isSignal: true, isRequired: true, transformFunction: null }, translatedTexts: { classPropertyName: "translatedTexts", publicName: "translatedTexts", isSignal: true, isRequired: true, transformFunction: null }, multipleModeEnabled: { classPropertyName: "multipleModeEnabled", publicName: "multipleModeEnabled", isSignal: true, isRequired: false, transformFunction: null }, detailsDisplayedLimit: { classPropertyName: "detailsDisplayedLimit", publicName: "detailsDisplayedLimit", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null }, forceExpanded: { classPropertyName: "forceExpanded", publicName: "forceExpanded", isSignal: true, isRequired: false, transformFunction: null }, selectedEntryUids: { classPropertyName: "selectedEntryUids", publicName: "selectedEntryUids", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectedEntryUids: "selectedEntryUidsChange", onExpansionStateChange: "onExpansionStateChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown.arrowDown": "onArrowDown($event)", "keydown.arrowUp": "onArrowUp($event)", "window:resize": "onWindowResize()" }, properties: { "class.minified": "!navSelectorState.expanded()", "class.embedded": "embedded()" } }, providers: [NavSelectorState, withSymbols(apArrowExpand, apArrowReduce, apSearch)], queries: [{ propertyName: "headerProjection", first: true, predicate: ["header"], descendants: true, isSignal: true }, { propertyName: "footerProjection", first: true, predicate: ["footer"], descendants: true, isSignal: true }, { propertyName: "leafActionProjection", predicate: ["leafAction"], isSignal: true }], ngImport: i0, template: "<nav [@expand]=\"expansionState()\" [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let footerProjectionNotNull = footerProjection();\n\n @if (navSelectorState.expandedAfterDelay()) {\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n\n <button\n type=\"button\"\n class=\"expand-button expanded\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-reduce\" />\n </button>\n }\n\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n class=\"nav-selector-search\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"$any(entry)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n } @else {\n <div class=\"nav-selector__header\">\n <button\n type=\"button\"\n class=\"expand-button\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-expand\" />\n </button>\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-icon-button (onClick)=\"onMinifiedSearchClicked()\" type=\"stroked\" role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n </div>\n\n <div class=\"nav-selector__content\" role=\"tree\" [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"entry\" />\n }\n </div>\n }\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n }\n</nav>\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;width:100%;max-width:224px;min-width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded){max-width:250px;min-width:250px}}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;width:100%;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__header .nav-selector-search{width:100%}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;overflow:auto}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs) var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"], dependencies: [{ kind: "component", type: NavSelectorLeafComponent, selector: "ap-nav-selector-leaf", inputs: ["leaf"] }, { kind: "component", type: NavSelectorGroupComponent, selector: "ap-nav-selector-group", inputs: ["group"] }, { kind: "component", type: NavSelectorCategoryComponent, selector: "ap-nav-selector-category", inputs: ["category"] }, { kind: "component", type: InputSearchComponent, selector: "ap-input-search", inputs: ["id", "placeholder", "clearable"], outputs: ["focus", "blur", "keyup"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
136
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorComponent, isStandalone: true, selector: "ap-nav-selector", inputs: { navSelectorEntries: { classPropertyName: "navSelectorEntries", publicName: "navSelectorEntries", isSignal: true, isRequired: true, transformFunction: null }, translatedTexts: { classPropertyName: "translatedTexts", publicName: "translatedTexts", isSignal: true, isRequired: true, transformFunction: null }, multipleModeEnabled: { classPropertyName: "multipleModeEnabled", publicName: "multipleModeEnabled", isSignal: true, isRequired: false, transformFunction: null }, detailsDisplayedLimit: { classPropertyName: "detailsDisplayedLimit", publicName: "detailsDisplayedLimit", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null }, forceExpanded: { classPropertyName: "forceExpanded", publicName: "forceExpanded", isSignal: true, isRequired: false, transformFunction: null }, selectedEntryUids: { classPropertyName: "selectedEntryUids", publicName: "selectedEntryUids", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectedEntryUids: "selectedEntryUidsChange", onExpansionStateChange: "onExpansionStateChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown.arrowDown": "onArrowDown($event)", "keydown.arrowUp": "onArrowUp($event)", "window:resize": "onWindowResize()" }, properties: { "class.minified": "!navSelectorState.expanded()", "class.embedded": "embedded()" } }, providers: [NavSelectorState, withSymbols(apArrowExpand, apArrowReduce, apSearch)], queries: [{ propertyName: "headerProjection", first: true, predicate: ["header"], descendants: true, isSignal: true }, { propertyName: "footerProjection", first: true, predicate: ["footer"], descendants: true, isSignal: true }, { propertyName: "leafActionProjection", predicate: ["leafAction"], isSignal: true }], ngImport: i0, template: "<nav [@expand]=\"expansionState()\" [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let footerProjectionNotNull = footerProjection();\n\n @if (navSelectorState.expandedAfterDelay()) {\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n\n <button\n type=\"button\"\n class=\"expand-button expanded\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-reduce\" />\n </button>\n }\n\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n class=\"nav-selector-search\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"$any(entry)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n } @else {\n <div class=\"nav-selector__header\">\n <button\n type=\"button\"\n class=\"expand-button\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-expand\" />\n </button>\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-icon-button (onClick)=\"onMinifiedSearchClicked()\" type=\"stroked\" role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n </div>\n\n <div class=\"nav-selector__content\" role=\"tree\" [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"entry\" />\n }\n </div>\n }\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n }\n</nav>\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;flex-grow:1;width:100%;max-width:224px;min-width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded){max-width:250px;min-width:250px}}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;width:100%;flex-grow:1;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__header .nav-selector-search{width:100%}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;overflow:auto}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs) var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"], dependencies: [{ kind: "component", type: NavSelectorLeafComponent, selector: "ap-nav-selector-leaf", inputs: ["leaf"] }, { kind: "component", type: NavSelectorGroupComponent, selector: "ap-nav-selector-group", inputs: ["group"] }, { kind: "component", type: NavSelectorCategoryComponent, selector: "ap-nav-selector-category", inputs: ["category"] }, { kind: "component", type: InputSearchComponent, selector: "ap-input-search", inputs: ["id", "placeholder", "clearable"], outputs: ["focus", "blur", "keyup"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
137
137
  trigger('expand', [
138
138
  state('expanded', style({ width: '100%' })),
139
139
  state('minified', style({ width: '64px' })),
@@ -171,6 +171,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
171
171
  // Force animation to do not be with 100% instantly
172
172
  keyframes([style({ width: '64px' }), style({ width: '50%' }), style({ width: '100%' })]))),
173
173
  ]),
174
- ], template: "<nav [@expand]=\"expansionState()\" [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let footerProjectionNotNull = footerProjection();\n\n @if (navSelectorState.expandedAfterDelay()) {\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n\n <button\n type=\"button\"\n class=\"expand-button expanded\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-reduce\" />\n </button>\n }\n\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n class=\"nav-selector-search\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"$any(entry)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n } @else {\n <div class=\"nav-selector__header\">\n <button\n type=\"button\"\n class=\"expand-button\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-expand\" />\n </button>\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-icon-button (onClick)=\"onMinifiedSearchClicked()\" type=\"stroked\" role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n </div>\n\n <div class=\"nav-selector__content\" role=\"tree\" [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"entry\" />\n }\n </div>\n }\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n }\n</nav>\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;width:100%;max-width:224px;min-width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded){max-width:250px;min-width:250px}}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;width:100%;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__header .nav-selector-search{width:100%}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;overflow:auto}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs) var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"] }]
174
+ ], template: "<nav [@expand]=\"expansionState()\" [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let footerProjectionNotNull = footerProjection();\n\n @if (navSelectorState.expandedAfterDelay()) {\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n\n <button\n type=\"button\"\n class=\"expand-button expanded\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-reduce\" />\n </button>\n }\n\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n class=\"nav-selector-search\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"$any(entry)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n } @else {\n <div class=\"nav-selector__header\">\n <button\n type=\"button\"\n class=\"expand-button\"\n (click)=\"navSelectorState.toggleExpanded()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"arrow-expand\" />\n </button>\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n <ap-icon-button (onClick)=\"onMinifiedSearchClicked()\" type=\"stroked\" role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n </div>\n\n <div class=\"nav-selector__content\" role=\"tree\" [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div class=\"entry\" [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf [leaf]=\"entry\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group [group]=\"entry\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category [category]=\"entry\" />\n }\n </div>\n }\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n }\n</nav>\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;flex-grow:1;width:100%;max-width:224px;min-width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded){max-width:250px;min-width:250px}}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;width:100%;flex-grow:1;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__header .nav-selector-search{width:100%}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;overflow:auto}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs) var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"] }]
175
175
  }], ctorParameters: () => [{ type: i1.NavSelectorState }, { type: i0.ElementRef }] });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy9uYXYtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixlQUFlLEVBQ2YsTUFBTSxFQUVOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFFOUUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBMkNyQixNQUFNLE9BQU8sb0JBQW9CO0lBNkJsQjtJQUNDO0lBN0JaLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7SUFDMUQsZUFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQThCLENBQUM7SUFDL0QsbUJBQW1CLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTVDLHFCQUFxQixHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxRQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRWpDOztPQUVHO0lBQ0gsYUFBYSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUV0QyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7SUFFL0MsZ0JBQWdCLEdBQUcsWUFBWSxDQUF1QixRQUFRLENBQUMsQ0FBQztJQUNoRSxnQkFBZ0IsR0FBRyxZQUFZLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBRWhFLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFdEUsb0JBQW9CLEdBQUcsZUFBZSxDQUF1QixZQUFZLENBQUMsQ0FBQztJQUUzRSxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFOUYsc0JBQXNCLEdBQUcsTUFBTSxFQUF5QixDQUFDO0lBRXpELFlBQVksR0FBRyxnQkFBZ0IsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUVoRCxZQUNXLGdCQUFrQyxFQUNqQyxFQUFjO1FBRGYscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBRXRCLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0MsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztnQkFDMUcsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7Z0JBQzVHLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDM0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FDckMsR0FBRyxFQUFFO1lBQ0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN6RCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNYLElBQUksb0JBQW9CLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7b0JBQ3BFLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6QyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQ0QsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQzFCLENBQUM7UUFFRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN4RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9DLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2pHLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQztvQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkYsQ0FBQztnQkFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNULHlIQUF5SDtvQkFDekgsOEVBQThFO29CQUM5RSxPQUFPLENBQUMsS0FBSyxDQUFDLDZEQUE2RCxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNoRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7b0JBQ3ZILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xHLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDakcsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDO29CQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRixDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1QseUhBQXlIO29CQUN6SCw4RUFBOEU7b0JBQzlFLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUVBQWlFLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3BGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztvQkFDdkgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDbEcsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQzt1R0F4SVEsb0JBQW9COzJGQUFwQixvQkFBb0Isby9DQXpCbEIsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxvVkM5Q3RGLDAzSkFxSEEsODJKRGhGUSx3QkFBd0IsbUZBQ3hCLHlCQUF5QixxRkFDekIsNEJBQTRCLDJGQUM1QixvQkFBb0IsNElBQ3BCLFdBQVcsK1ZBQ1gsZUFBZSxzSEFDZixtQkFBbUIsOE9BQ25CLGdCQUFnQixzSUFXUjtZQUNSLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ2QsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsVUFBVSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUMvRSxVQUFVLENBQ04sc0JBQXNCLEVBQ3RCLE9BQU8sQ0FDSCxrQ0FBa0M7Z0JBQ2xDLG1EQUFtRDtnQkFDbkQsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMzRixDQUNKO2FBQ0osQ0FBQztTQUNMOzsyRkFFUSxvQkFBb0I7a0JBekNoQyxTQUFTOytCQUNJLGlCQUFpQixjQUdmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDbkIsYUFDVSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQzVFO3dCQUNGLGtCQUFrQixFQUFFLDhCQUE4Qjt3QkFDbEQsa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsSUFBSSxFQUFFLE1BQU07d0JBQ1oscUJBQXFCLEVBQUUscUJBQXFCO3dCQUM1QyxtQkFBbUIsRUFBRSxtQkFBbUI7d0JBQ3hDLGlCQUFpQixFQUFFLGtCQUFrQjtxQkFDeEMsY0FDVzt3QkFDUixPQUFPLENBQUMsUUFBUSxFQUFFOzRCQUNkLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7NEJBQzNDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7NEJBQzNDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQzs0QkFDL0UsVUFBVSxDQUNOLHNCQUFzQixFQUN0QixPQUFPLENBQ0gsa0NBQWtDOzRCQUNsQyxtREFBbUQ7NEJBQ25ELFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDM0YsQ0FDSjt5QkFDSixDQUFDO3FCQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvaWNvbi1idXR0b24nO1xuaW1wb3J0IHsgSW5wdXRTZWFyY2hDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2lucHV0LXNlYXJjaCc7XG5pbXBvcnQgeyBhcEFycm93RXhwYW5kLCBhcEFycm93UmVkdWNlLCBhcFNlYXJjaCwgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBhbmltYXRlLCBrZXlmcmFtZXMsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgY29udGVudENoaWxkLFxuICAgIGNvbnRlbnRDaGlsZHJlbixcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBvdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JFbnRyeSwgTmF2U2VsZWN0b3JUcmFuc2xhdGVkVGV4dHMgfSBmcm9tICcuL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckNhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi9uYXYtc2VsZWN0b3ItY2F0ZWdvcnkvbmF2LXNlbGVjdG9yLWNhdGVnb3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3Rvckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9uYXYtc2VsZWN0b3ItZ3JvdXAvbmF2LXNlbGVjdG9yLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZDb21wb25lbnQgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmL25hdi1zZWxlY3Rvci1sZWFmLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclN0YXRlIH0gZnJvbSAnLi9uYXYtc2VsZWN0b3Iuc3RhdGUnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JBY2Nlc3NpYmlsaXR5IH0gZnJvbSAnLi91dGlscy9uYXYtc2VsZWN0b3IuYWNjZXNzaWJpbGl0eSc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5hdi1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkNvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JHcm91cENvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JDYXRlZ29yeUNvbXBvbmVudCxcbiAgICAgICAgSW5wdXRTZWFyY2hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgICAgIEljb25CdXR0b25Db21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtOYXZTZWxlY3RvclN0YXRlLCB3aXRoU3ltYm9scyhhcEFycm93RXhwYW5kLCBhcEFycm93UmVkdWNlLCBhcFNlYXJjaCldLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5taW5pZmllZF0nOiAnIW5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKScsXG4gICAgICAgICdbY2xhc3MuZW1iZWRkZWRdJzogJ2VtYmVkZGVkKCknLFxuICAgICAgICByb2xlOiAndHJlZScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24pJzogJ29uQXJyb3dEb3duKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dVcCknOiAnb25BcnJvd1VwKCRldmVudCknLFxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ29uV2luZG93UmVzaXplKCknLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdleHBhbmQnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IHdpZHRoOiAnMTAwJScgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ21pbmlmaWVkJywgc3R5bGUoeyB3aWR0aDogJzY0cHgnIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkID0+IG1pbmlmaWVkJywgYW5pbWF0ZSgnMjUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMywgMSknKSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICdtaW5pZmllZCA9PiBleHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJyxcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yY2UgYW5pbWF0aW9uIHRvIGRvIG5vdCBiZSB3aXRoIDEwMCUgaW5zdGFudGx5XG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbc3R5bGUoeyB3aWR0aDogJzY0cHgnIH0pLCBzdHlsZSh7IHdpZHRoOiAnNTAlJyB9KSwgc3R5bGUoeyB3aWR0aDogJzEwMCUnIH0pXSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckNvbXBvbmVudCB7XG4gICAgbmF2U2VsZWN0b3JFbnRyaWVzID0gaW5wdXQucmVxdWlyZWQ8TmF2U2VsZWN0b3JFbnRyeVtdPigpO1xuICAgIHRyYW5zbGF0ZWRUZXh0cyA9IGlucHV0LnJlcXVpcmVkPE5hdlNlbGVjdG9yVHJhbnNsYXRlZFRleHRzPigpO1xuICAgIG11bHRpcGxlTW9kZUVuYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBkZXRhaWxzRGlzcGxheWVkTGltaXQgPSBpbnB1dDxudW1iZXI+KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtcbiAgICBlbWJlZGRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBuYXYgc2VsZWN0b3Igd2lsbCBiZSBleHBhbmRlZCBieSBkZWZhdWx0LiBFdmVuIGlmIHRoZSB3aWR0aCBvZiB0aGUgc2NyZWVuIGlzIHNtYWxsZXIgdGhhbiAxMjgwcHguXG4gICAgICovXG4gICAgZm9yY2VFeHBhbmRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHNlbGVjdGVkRW50cnlVaWRzID0gbW9kZWwucmVxdWlyZWQ8c3RyaW5nW10+KCk7XG5cbiAgICBoZWFkZXJQcm9qZWN0aW9uID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignaGVhZGVyJyk7XG4gICAgZm9vdGVyUHJvamVjdGlvbiA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2Zvb3RlcicpO1xuXG4gICAgZGlzcGxheUZvb3RlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZm9vdGVyUHJvamVjdGlvbigpICE9PSB1bmRlZmluZWQpO1xuXG4gICAgbGVhZkFjdGlvblByb2plY3Rpb24gPSBjb250ZW50Q2hpbGRyZW48VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdsZWFmQWN0aW9uJyk7XG5cbiAgICBleHBhbnNpb25TdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKSA/ICdleHBhbmRlZCcgOiAnbWluaWZpZWQnKSk7XG5cbiAgICBvbkV4cGFuc2lvblN0YXRlQ2hhbmdlID0gb3V0cHV0PHsgZXhwYW5kZWQ6IGJvb2xlYW4gfT4oKTtcblxuICAgIGNvbXBvbmVudFVpZCA9IGBuYXYtc2VsZWN0b3ItJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBuYXZTZWxlY3RvclN0YXRlOiBOYXZTZWxlY3RvclN0YXRlLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIG5hdlNlbGVjdG9yU3RhdGUucmVnaXN0ZXJPblNlbGVjdGVkVWlkc0NoYW5nZShzZWxlY3RlZFVpZHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNJbml0ID0gISF0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChpc0luaXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRW50cnlVaWRzLnNldChzZWxlY3RlZFVpZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmVtYmVkZGVkKCkgJiYgIXRoaXMuZm9yY2VFeHBhbmRlZCgpICYmIGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggPCAxMjAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXhwYW5zaW9uU3RhdGVDaGFuZ2UuZW1pdCh7IGV4cGFuZGVkOiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKSB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG11bHRpcGxlTW9kZUVuYWJsZWQgPSB0aGlzLm11bHRpcGxlTW9kZUVuYWJsZWQoKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld0VudHJpZXMgPSB0aGlzLm5hdlNlbGVjdG9yRW50cmllcygpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudXBkYXRlTXVsdGlNb2RlRW5hYmxlZChtdWx0aXBsZU1vZGVFbmFibGVkKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubmF2U2VsZWN0b3JTdGF0ZS5lbnRyaWVzKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5pbml0RW50cmllcyhuZXdFbnRyaWVzLCB0aGlzLnNlbGVjdGVkRW50cnlVaWRzKCksIHRoaXMuZGV0YWlsc0Rpc3BsYXllZExpbWl0KCkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS51cGRhdGVFbnRyaWVzKG5ld0VudHJpZXMsIHRoaXMuc2VsZWN0ZWRFbnRyeVVpZHMoKSwgdGhpcy5kZXRhaWxzRGlzcGxheWVkTGltaXQoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZXRhaWxzRGlzcGxheWVkTGltaXQgPSB0aGlzLmRldGFpbHNEaXNwbGF5ZWRMaW1pdCgpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMubmF2U2VsZWN0b3JTdGF0ZS51cGRhdGVEZXRhaWxzRGlzcGxheWVkTGltaXQoZGV0YWlsc0Rpc3BsYXllZExpbWl0KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxlYWZBY3Rpb25Qcm9qZWN0aW9uRWZmZWN0ID0gZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlYWZBY3Rpb25Qcm9qZWN0aW9uID0gdGhpcy5sZWFmQWN0aW9uUHJvamVjdGlvbigpO1xuICAgICAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQWN0aW9uUHJvamVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnVwZGF0ZUxlYWZBY3Rpb24odGhpcy5sZWFmQWN0aW9uUHJvamVjdGlvbigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWZBY3Rpb25Qcm9qZWN0aW9uRWZmZWN0LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgbWFudWFsQ2xlYW51cDogdHJ1ZSB9XG4gICAgICAgICk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRW50cnlVaWRzID0gdGhpcy5zZWxlY3RlZEVudHJ5VWlkcygpO1xuICAgICAgICAgICAgY29uc3QgaXNJbml0ID0gISF0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpLmxlbmd0aDtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiBpc0luaXQgJiYgdGhpcy5uYXZTZWxlY3RvclN0YXRlLm9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkRW50cnlVaWRzKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHRzID0gdGhpcy50cmFuc2xhdGVkVGV4dHMoKTtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudXBkYXRlVGV4dHModHJhbnNsYXRlZFRleHRzKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTWluaWZpZWRTZWFyY2hDbGlja2VkKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudG9nZ2xlRXhwYW5kZWQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKS5mb2N1cygpKTtcbiAgICB9XG5cbiAgICBvbkFycm93RG93bihldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubmF2LXNlbGVjdG9yX19jb250ZW50JykuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLm9uQXJyb3dEb3duKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJ0cmVlaXRlbVwiXVt0YWJpbmRleD1cIjBcIl0nKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGZvY3VzIGZhaWxzIGl0IG1lYW4gd2UgZG8gbm90IGhhdmUgYW4gZW50cnkgd2l0aCB0YWJpbmRleCAwLCBzbyB3ZSB3aWxsIG5vdCBiZSBhYmxlIHRvIGZvY3VzIGFueSBlbnRyeSBhbnltb3JlLlxuICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSByZXNldCBpbiB0aGlzIGNhc2UgYnkgcmVidWlsZGluZyB0aGUgZW50cmllcyBhbmQgcmVzZXR0aW5nIHRoZSBmb2N1cy5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignW05hdiBzZWxlY3Rvcl0gRmFpbGVkIHRvIGZvY3VzIHRoZSBuZXh0IGVudHJ5LCByZXNldHRpbmcuLi4nLCBlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnVwZGF0ZUVudHJpZXModGhpcy5uYXZTZWxlY3RvckVudHJpZXMoKSwgdGhpcy5zZWxlY3RlZEVudHJ5VWlkcygpLCB0aGlzLmRldGFpbHNEaXNwbGF5ZWRMaW1pdCgpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLmVudHJpZXMudXBkYXRlKGVudHJpZXMgPT4gTmF2U2VsZWN0b3JBY2Nlc3NpYmlsaXR5LnJlc2V0Rm9jdXMoZW50cmllcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd1VwKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3JfX2NvbnRlbnQnKS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUub25BcnJvd1VwKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJ0cmVlaXRlbVwiXVt0YWJpbmRleD1cIjBcIl0nKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGZvY3VzIGZhaWxzIGl0IG1lYW4gd2UgZG8gbm90IGhhdmUgYW4gZW50cnkgd2l0aCB0YWJpbmRleCAwLCBzbyB3ZSB3aWxsIG5vdCBiZSBhYmxlIHRvIGZvY3VzIGFueSBlbnRyeSBhbnltb3JlLlxuICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSByZXNldCBpbiB0aGlzIGNhc2UgYnkgcmVidWlsZGluZyB0aGUgZW50cmllcyBhbmQgcmVzZXR0aW5nIHRoZSBmb2N1cy5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignW05hdiBzZWxlY3Rvcl0gRmFpbGVkIHRvIGZvY3VzIHRoZSBwcmV2aW91cyBlbnRyeSwgcmVzZXR0aW5nLi4uJywgZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS51cGRhdGVFbnRyaWVzKHRoaXMubmF2U2VsZWN0b3JFbnRyaWVzKCksIHRoaXMuc2VsZWN0ZWRFbnRyeVVpZHMoKSwgdGhpcy5kZXRhaWxzRGlzcGxheWVkTGltaXQoKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5lbnRyaWVzLnVwZGF0ZShlbnRyaWVzID0+IE5hdlNlbGVjdG9yQWNjZXNzaWJpbGl0eS5yZXNldEZvY3VzKGVudHJpZXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCAxMjgwKSB7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUubWluaWZ5KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmF2IFtAZXhwYW5kXT1cImV4cGFuc2lvblN0YXRlKClcIiBbY2xhc3MuZW1iZWRkZWRdPVwiZW1iZWRkZWQoKVwiPlxuICAgIEBsZXQgaGVhZGVyUHJvamVjdGlvbk5vdE51bGwgPSBoZWFkZXJQcm9qZWN0aW9uKCk7XG4gICAgQGxldCBmb290ZXJQcm9qZWN0aW9uTm90TnVsbCA9IGZvb3RlclByb2plY3Rpb24oKTtcblxuICAgIEBpZiAobmF2U2VsZWN0b3JTdGF0ZS5leHBhbmRlZEFmdGVyRGVsYXkoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19oZWFkZXJcIj5cbiAgICAgICAgICAgIEBpZiAoIWVtYmVkZGVkKCkpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgzXCI+e3sgdHJhbnNsYXRlZFRleHRzKCkudGl0bGUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1idXR0b24gZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2U2VsZWN0b3JTdGF0ZS50b2dnbGVFeHBhbmRlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cImFycm93LXJlZHVjZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgQGlmIChoZWFkZXJQcm9qZWN0aW9uTm90TnVsbCkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyUHJvamVjdGlvbk5vdE51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQ6IG5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKVxuICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGFwLWlucHV0LXNlYXJjaFxuICAgICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRVaWQgKyAnX3NlYXJjaCdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yLXNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZWRUZXh0cygpLnNlYXJjaFBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJuYXZTZWxlY3RvclN0YXRlLnNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJuYXZTZWxlY3RvclN0YXRlLnNlYXJjaC5zZXQoJGV2ZW50ID8/ICcnKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yX19jb250ZW50XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm5hdlNlbGVjdG9yU3RhdGUuaXNNdWx0aXBsZU1vZGVFbmFibGVkKClcIlxuICAgICAgICAgICAgcm9sZT1cInRyZWVcIj5cbiAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIG5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpOyB0cmFjayBlbnRyeS51aWQpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCFlbnRyeS5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW2NsYXNzLmZvbGRlcl09XCJlbnRyeS50eXBlID09PSAnR1JPVVAnIHx8IGVudHJ5LnR5cGUgPT09ICdDQVRFR09SWSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZW50cnkudHlwZSA9PT0gJ0xFQUYnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmIFtsZWFmXT1cImVudHJ5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVudHJ5LnR5cGUgPT09ICdHUk9VUCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWdyb3VwIFtncm91cF09XCJlbnRyeVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChlbnRyeS50eXBlID09PSAnQ0FURUdPUlknKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1jYXRlZ29yeSBbY2F0ZWdvcnldPVwiJGFueShlbnRyeSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKG5hdlNlbGVjdG9yU3RhdGUubm9SZXN1bHRzKCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcmVzdWx0XCI+e3sgdHJhbnNsYXRlZFRleHRzKCkubm9SZXN1bHRzIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoZGlzcGxheUZvb3RlcigpICYmIGZvb3RlclByb2plY3Rpb25Ob3ROdWxsKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19mb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclByb2plY3Rpb25Ob3ROdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBuYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkKClcbiAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19oZWFkZXJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1idXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXZTZWxlY3RvclN0YXRlLnRvZ2dsZUV4cGFuZGVkKClcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiYXJyb3ctZXhwYW5kXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmIChoZWFkZXJQcm9qZWN0aW9uTm90TnVsbCkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyUHJvamVjdGlvbk5vdE51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQ6IG5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKVxuICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGFwLWljb24tYnV0dG9uIChvbkNsaWNrKT1cIm9uTWluaWZpZWRTZWFyY2hDbGlja2VkKClcIiB0eXBlPVwic3Ryb2tlZFwiIHJvbGU9XCJzZWFyY2hcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2VhcmNoXCIgLz5cbiAgICAgICAgICAgIDwvYXAtaWNvbi1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtc2VsZWN0b3JfX2NvbnRlbnRcIiByb2xlPVwidHJlZVwiIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm5hdlNlbGVjdG9yU3RhdGUuaXNNdWx0aXBsZU1vZGVFbmFibGVkKClcIj5cbiAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIG5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpOyB0cmFjayBlbnRyeS51aWQpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCFlbnRyeS5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW2NsYXNzLmZvbGRlcl09XCJlbnRyeS50eXBlID09PSAnR1JPVVAnIHx8IGVudHJ5LnR5cGUgPT09ICdDQVRFR09SWSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZW50cnkudHlwZSA9PT0gJ0xFQUYnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmIFtsZWFmXT1cImVudHJ5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVudHJ5LnR5cGUgPT09ICdHUk9VUCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWdyb3VwIFtncm91cF09XCJlbnRyeVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChlbnRyeS50eXBlID09PSAnQ0FURUdPUlknKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1jYXRlZ29yeSBbY2F0ZWdvcnldPVwiZW50cnlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoZGlzcGxheUZvb3RlcigpICYmIGZvb3RlclByb2plY3Rpb25Ob3ROdWxsKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19mb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclByb2plY3Rpb25Ob3ROdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBuYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkKClcbiAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbjwvbmF2PlxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy9uYXYtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixlQUFlLEVBQ2YsTUFBTSxFQUVOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFFOUUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBMkNyQixNQUFNLE9BQU8sb0JBQW9CO0lBNkJsQjtJQUNDO0lBN0JaLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7SUFDMUQsZUFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQThCLENBQUM7SUFDL0QsbUJBQW1CLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTVDLHFCQUFxQixHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxRQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRWpDOztPQUVHO0lBQ0gsYUFBYSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUV0QyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7SUFFL0MsZ0JBQWdCLEdBQUcsWUFBWSxDQUF1QixRQUFRLENBQUMsQ0FBQztJQUNoRSxnQkFBZ0IsR0FBRyxZQUFZLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBRWhFLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFdEUsb0JBQW9CLEdBQUcsZUFBZSxDQUF1QixZQUFZLENBQUMsQ0FBQztJQUUzRSxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFOUYsc0JBQXNCLEdBQUcsTUFBTSxFQUF5QixDQUFDO0lBRXpELFlBQVksR0FBRyxnQkFBZ0IsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUVoRCxZQUNXLGdCQUFrQyxFQUNqQyxFQUFjO1FBRGYscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBRXRCLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0MsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztnQkFDMUcsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7Z0JBQzVHLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDM0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FDckMsR0FBRyxFQUFFO1lBQ0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN6RCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNYLElBQUksb0JBQW9CLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7b0JBQ3BFLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6QyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQ0QsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQzFCLENBQUM7UUFFRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN4RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9DLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2pHLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQztvQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkYsQ0FBQztnQkFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNULHlIQUF5SDtvQkFDekgsOEVBQThFO29CQUM5RSxPQUFPLENBQUMsS0FBSyxDQUFDLDZEQUE2RCxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNoRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7b0JBQ3ZILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xHLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDakcsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDO29CQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRixDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1QseUhBQXlIO29CQUN6SCw4RUFBOEU7b0JBQzlFLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUVBQWlFLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3BGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztvQkFDdkgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDbEcsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQzt1R0F4SVEsb0JBQW9COzJGQUFwQixvQkFBb0Isby9DQXpCbEIsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxvVkM5Q3RGLDAzSkFxSEEsczRKRGhGUSx3QkFBd0IsbUZBQ3hCLHlCQUF5QixxRkFDekIsNEJBQTRCLDJGQUM1QixvQkFBb0IsNElBQ3BCLFdBQVcsK1ZBQ1gsZUFBZSxzSEFDZixtQkFBbUIsOE9BQ25CLGdCQUFnQixzSUFXUjtZQUNSLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ2QsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsVUFBVSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUMvRSxVQUFVLENBQ04sc0JBQXNCLEVBQ3RCLE9BQU8sQ0FDSCxrQ0FBa0M7Z0JBQ2xDLG1EQUFtRDtnQkFDbkQsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMzRixDQUNKO2FBQ0osQ0FBQztTQUNMOzsyRkFFUSxvQkFBb0I7a0JBekNoQyxTQUFTOytCQUNJLGlCQUFpQixjQUdmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDbkIsYUFDVSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQzVFO3dCQUNGLGtCQUFrQixFQUFFLDhCQUE4Qjt3QkFDbEQsa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsSUFBSSxFQUFFLE1BQU07d0JBQ1oscUJBQXFCLEVBQUUscUJBQXFCO3dCQUM1QyxtQkFBbUIsRUFBRSxtQkFBbUI7d0JBQ3hDLGlCQUFpQixFQUFFLGtCQUFrQjtxQkFDeEMsY0FDVzt3QkFDUixPQUFPLENBQUMsUUFBUSxFQUFFOzRCQUNkLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7NEJBQzNDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7NEJBQzNDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQzs0QkFDL0UsVUFBVSxDQUNOLHNCQUFzQixFQUN0QixPQUFPLENBQ0gsa0NBQWtDOzRCQUNsQyxtREFBbUQ7NEJBQ25ELFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDM0YsQ0FDSjt5QkFDSixDQUFDO3FCQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvaWNvbi1idXR0b24nO1xuaW1wb3J0IHsgSW5wdXRTZWFyY2hDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2lucHV0LXNlYXJjaCc7XG5pbXBvcnQgeyBhcEFycm93RXhwYW5kLCBhcEFycm93UmVkdWNlLCBhcFNlYXJjaCwgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBhbmltYXRlLCBrZXlmcmFtZXMsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgY29udGVudENoaWxkLFxuICAgIGNvbnRlbnRDaGlsZHJlbixcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBvdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JFbnRyeSwgTmF2U2VsZWN0b3JUcmFuc2xhdGVkVGV4dHMgfSBmcm9tICcuL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckNhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi9uYXYtc2VsZWN0b3ItY2F0ZWdvcnkvbmF2LXNlbGVjdG9yLWNhdGVnb3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3Rvckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9uYXYtc2VsZWN0b3ItZ3JvdXAvbmF2LXNlbGVjdG9yLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZDb21wb25lbnQgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmL25hdi1zZWxlY3Rvci1sZWFmLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclN0YXRlIH0gZnJvbSAnLi9uYXYtc2VsZWN0b3Iuc3RhdGUnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JBY2Nlc3NpYmlsaXR5IH0gZnJvbSAnLi91dGlscy9uYXYtc2VsZWN0b3IuYWNjZXNzaWJpbGl0eSc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5hdi1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkNvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JHcm91cENvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JDYXRlZ29yeUNvbXBvbmVudCxcbiAgICAgICAgSW5wdXRTZWFyY2hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgICAgIEljb25CdXR0b25Db21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtOYXZTZWxlY3RvclN0YXRlLCB3aXRoU3ltYm9scyhhcEFycm93RXhwYW5kLCBhcEFycm93UmVkdWNlLCBhcFNlYXJjaCldLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5taW5pZmllZF0nOiAnIW5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKScsXG4gICAgICAgICdbY2xhc3MuZW1iZWRkZWRdJzogJ2VtYmVkZGVkKCknLFxuICAgICAgICByb2xlOiAndHJlZScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24pJzogJ29uQXJyb3dEb3duKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dVcCknOiAnb25BcnJvd1VwKCRldmVudCknLFxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ29uV2luZG93UmVzaXplKCknLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdleHBhbmQnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IHdpZHRoOiAnMTAwJScgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ21pbmlmaWVkJywgc3R5bGUoeyB3aWR0aDogJzY0cHgnIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkID0+IG1pbmlmaWVkJywgYW5pbWF0ZSgnMjUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMywgMSknKSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICdtaW5pZmllZCA9PiBleHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJyxcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yY2UgYW5pbWF0aW9uIHRvIGRvIG5vdCBiZSB3aXRoIDEwMCUgaW5zdGFudGx5XG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbc3R5bGUoeyB3aWR0aDogJzY0cHgnIH0pLCBzdHlsZSh7IHdpZHRoOiAnNTAlJyB9KSwgc3R5bGUoeyB3aWR0aDogJzEwMCUnIH0pXSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckNvbXBvbmVudCB7XG4gICAgbmF2U2VsZWN0b3JFbnRyaWVzID0gaW5wdXQucmVxdWlyZWQ8TmF2U2VsZWN0b3JFbnRyeVtdPigpO1xuICAgIHRyYW5zbGF0ZWRUZXh0cyA9IGlucHV0LnJlcXVpcmVkPE5hdlNlbGVjdG9yVHJhbnNsYXRlZFRleHRzPigpO1xuICAgIG11bHRpcGxlTW9kZUVuYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBkZXRhaWxzRGlzcGxheWVkTGltaXQgPSBpbnB1dDxudW1iZXI+KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtcbiAgICBlbWJlZGRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBuYXYgc2VsZWN0b3Igd2lsbCBiZSBleHBhbmRlZCBieSBkZWZhdWx0LiBFdmVuIGlmIHRoZSB3aWR0aCBvZiB0aGUgc2NyZWVuIGlzIHNtYWxsZXIgdGhhbiAxMjgwcHguXG4gICAgICovXG4gICAgZm9yY2VFeHBhbmRlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHNlbGVjdGVkRW50cnlVaWRzID0gbW9kZWwucmVxdWlyZWQ8c3RyaW5nW10+KCk7XG5cbiAgICBoZWFkZXJQcm9qZWN0aW9uID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignaGVhZGVyJyk7XG4gICAgZm9vdGVyUHJvamVjdGlvbiA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2Zvb3RlcicpO1xuXG4gICAgZGlzcGxheUZvb3RlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZm9vdGVyUHJvamVjdGlvbigpICE9PSB1bmRlZmluZWQpO1xuXG4gICAgbGVhZkFjdGlvblByb2plY3Rpb24gPSBjb250ZW50Q2hpbGRyZW48VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdsZWFmQWN0aW9uJyk7XG5cbiAgICBleHBhbnNpb25TdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKSA/ICdleHBhbmRlZCcgOiAnbWluaWZpZWQnKSk7XG5cbiAgICBvbkV4cGFuc2lvblN0YXRlQ2hhbmdlID0gb3V0cHV0PHsgZXhwYW5kZWQ6IGJvb2xlYW4gfT4oKTtcblxuICAgIGNvbXBvbmVudFVpZCA9IGBuYXYtc2VsZWN0b3ItJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBuYXZTZWxlY3RvclN0YXRlOiBOYXZTZWxlY3RvclN0YXRlLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIG5hdlNlbGVjdG9yU3RhdGUucmVnaXN0ZXJPblNlbGVjdGVkVWlkc0NoYW5nZShzZWxlY3RlZFVpZHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNJbml0ID0gISF0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChpc0luaXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRW50cnlVaWRzLnNldChzZWxlY3RlZFVpZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmVtYmVkZGVkKCkgJiYgIXRoaXMuZm9yY2VFeHBhbmRlZCgpICYmIGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggPCAxMjAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXhwYW5zaW9uU3RhdGVDaGFuZ2UuZW1pdCh7IGV4cGFuZGVkOiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKSB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG11bHRpcGxlTW9kZUVuYWJsZWQgPSB0aGlzLm11bHRpcGxlTW9kZUVuYWJsZWQoKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld0VudHJpZXMgPSB0aGlzLm5hdlNlbGVjdG9yRW50cmllcygpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudXBkYXRlTXVsdGlNb2RlRW5hYmxlZChtdWx0aXBsZU1vZGVFbmFibGVkKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubmF2U2VsZWN0b3JTdGF0ZS5lbnRyaWVzKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5pbml0RW50cmllcyhuZXdFbnRyaWVzLCB0aGlzLnNlbGVjdGVkRW50cnlVaWRzKCksIHRoaXMuZGV0YWlsc0Rpc3BsYXllZExpbWl0KCkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS51cGRhdGVFbnRyaWVzKG5ld0VudHJpZXMsIHRoaXMuc2VsZWN0ZWRFbnRyeVVpZHMoKSwgdGhpcy5kZXRhaWxzRGlzcGxheWVkTGltaXQoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZXRhaWxzRGlzcGxheWVkTGltaXQgPSB0aGlzLmRldGFpbHNEaXNwbGF5ZWRMaW1pdCgpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMubmF2U2VsZWN0b3JTdGF0ZS51cGRhdGVEZXRhaWxzRGlzcGxheWVkTGltaXQoZGV0YWlsc0Rpc3BsYXllZExpbWl0KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxlYWZBY3Rpb25Qcm9qZWN0aW9uRWZmZWN0ID0gZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlYWZBY3Rpb25Qcm9qZWN0aW9uID0gdGhpcy5sZWFmQWN0aW9uUHJvamVjdGlvbigpO1xuICAgICAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQWN0aW9uUHJvamVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnVwZGF0ZUxlYWZBY3Rpb24odGhpcy5sZWFmQWN0aW9uUHJvamVjdGlvbigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWZBY3Rpb25Qcm9qZWN0aW9uRWZmZWN0LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgbWFudWFsQ2xlYW51cDogdHJ1ZSB9XG4gICAgICAgICk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRW50cnlVaWRzID0gdGhpcy5zZWxlY3RlZEVudHJ5VWlkcygpO1xuICAgICAgICAgICAgY29uc3QgaXNJbml0ID0gISF0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpLmxlbmd0aDtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiBpc0luaXQgJiYgdGhpcy5uYXZTZWxlY3RvclN0YXRlLm9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkRW50cnlVaWRzKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHRzID0gdGhpcy50cmFuc2xhdGVkVGV4dHMoKTtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudXBkYXRlVGV4dHModHJhbnNsYXRlZFRleHRzKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTWluaWZpZWRTZWFyY2hDbGlja2VkKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudG9nZ2xlRXhwYW5kZWQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKS5mb2N1cygpKTtcbiAgICB9XG5cbiAgICBvbkFycm93RG93bihldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubmF2LXNlbGVjdG9yX19jb250ZW50JykuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLm9uQXJyb3dEb3duKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJ0cmVlaXRlbVwiXVt0YWJpbmRleD1cIjBcIl0nKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGZvY3VzIGZhaWxzIGl0IG1lYW4gd2UgZG8gbm90IGhhdmUgYW4gZW50cnkgd2l0aCB0YWJpbmRleCAwLCBzbyB3ZSB3aWxsIG5vdCBiZSBhYmxlIHRvIGZvY3VzIGFueSBlbnRyeSBhbnltb3JlLlxuICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSByZXNldCBpbiB0aGlzIGNhc2UgYnkgcmVidWlsZGluZyB0aGUgZW50cmllcyBhbmQgcmVzZXR0aW5nIHRoZSBmb2N1cy5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignW05hdiBzZWxlY3Rvcl0gRmFpbGVkIHRvIGZvY3VzIHRoZSBuZXh0IGVudHJ5LCByZXNldHRpbmcuLi4nLCBlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnVwZGF0ZUVudHJpZXModGhpcy5uYXZTZWxlY3RvckVudHJpZXMoKSwgdGhpcy5zZWxlY3RlZEVudHJ5VWlkcygpLCB0aGlzLmRldGFpbHNEaXNwbGF5ZWRMaW1pdCgpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLmVudHJpZXMudXBkYXRlKGVudHJpZXMgPT4gTmF2U2VsZWN0b3JBY2Nlc3NpYmlsaXR5LnJlc2V0Rm9jdXMoZW50cmllcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd1VwKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3JfX2NvbnRlbnQnKS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUub25BcnJvd1VwKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJ0cmVlaXRlbVwiXVt0YWJpbmRleD1cIjBcIl0nKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGZvY3VzIGZhaWxzIGl0IG1lYW4gd2UgZG8gbm90IGhhdmUgYW4gZW50cnkgd2l0aCB0YWJpbmRleCAwLCBzbyB3ZSB3aWxsIG5vdCBiZSBhYmxlIHRvIGZvY3VzIGFueSBlbnRyeSBhbnltb3JlLlxuICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSByZXNldCBpbiB0aGlzIGNhc2UgYnkgcmVidWlsZGluZyB0aGUgZW50cmllcyBhbmQgcmVzZXR0aW5nIHRoZSBmb2N1cy5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignW05hdiBzZWxlY3Rvcl0gRmFpbGVkIHRvIGZvY3VzIHRoZSBwcmV2aW91cyBlbnRyeSwgcmVzZXR0aW5nLi4uJywgZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS51cGRhdGVFbnRyaWVzKHRoaXMubmF2U2VsZWN0b3JFbnRyaWVzKCksIHRoaXMuc2VsZWN0ZWRFbnRyeVVpZHMoKSwgdGhpcy5kZXRhaWxzRGlzcGxheWVkTGltaXQoKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5lbnRyaWVzLnVwZGF0ZShlbnRyaWVzID0+IE5hdlNlbGVjdG9yQWNjZXNzaWJpbGl0eS5yZXNldEZvY3VzKGVudHJpZXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCAxMjgwKSB7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUubWluaWZ5KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmF2IFtAZXhwYW5kXT1cImV4cGFuc2lvblN0YXRlKClcIiBbY2xhc3MuZW1iZWRkZWRdPVwiZW1iZWRkZWQoKVwiPlxuICAgIEBsZXQgaGVhZGVyUHJvamVjdGlvbk5vdE51bGwgPSBoZWFkZXJQcm9qZWN0aW9uKCk7XG4gICAgQGxldCBmb290ZXJQcm9qZWN0aW9uTm90TnVsbCA9IGZvb3RlclByb2plY3Rpb24oKTtcblxuICAgIEBpZiAobmF2U2VsZWN0b3JTdGF0ZS5leHBhbmRlZEFmdGVyRGVsYXkoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19oZWFkZXJcIj5cbiAgICAgICAgICAgIEBpZiAoIWVtYmVkZGVkKCkpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgzXCI+e3sgdHJhbnNsYXRlZFRleHRzKCkudGl0bGUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1idXR0b24gZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2U2VsZWN0b3JTdGF0ZS50b2dnbGVFeHBhbmRlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cImFycm93LXJlZHVjZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgQGlmIChoZWFkZXJQcm9qZWN0aW9uTm90TnVsbCkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyUHJvamVjdGlvbk5vdE51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQ6IG5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKVxuICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGFwLWlucHV0LXNlYXJjaFxuICAgICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRVaWQgKyAnX3NlYXJjaCdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yLXNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZWRUZXh0cygpLnNlYXJjaFBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJuYXZTZWxlY3RvclN0YXRlLnNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJuYXZTZWxlY3RvclN0YXRlLnNlYXJjaC5zZXQoJGV2ZW50ID8/ICcnKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yX19jb250ZW50XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm5hdlNlbGVjdG9yU3RhdGUuaXNNdWx0aXBsZU1vZGVFbmFibGVkKClcIlxuICAgICAgICAgICAgcm9sZT1cInRyZWVcIj5cbiAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIG5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpOyB0cmFjayBlbnRyeS51aWQpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCFlbnRyeS5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW2NsYXNzLmZvbGRlcl09XCJlbnRyeS50eXBlID09PSAnR1JPVVAnIHx8IGVudHJ5LnR5cGUgPT09ICdDQVRFR09SWSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZW50cnkudHlwZSA9PT0gJ0xFQUYnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmIFtsZWFmXT1cImVudHJ5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVudHJ5LnR5cGUgPT09ICdHUk9VUCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWdyb3VwIFtncm91cF09XCJlbnRyeVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChlbnRyeS50eXBlID09PSAnQ0FURUdPUlknKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1jYXRlZ29yeSBbY2F0ZWdvcnldPVwiJGFueShlbnRyeSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKG5hdlNlbGVjdG9yU3RhdGUubm9SZXN1bHRzKCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcmVzdWx0XCI+e3sgdHJhbnNsYXRlZFRleHRzKCkubm9SZXN1bHRzIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoZGlzcGxheUZvb3RlcigpICYmIGZvb3RlclByb2plY3Rpb25Ob3ROdWxsKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19mb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclByb2plY3Rpb25Ob3ROdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBuYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkKClcbiAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19oZWFkZXJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuZC1idXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXZTZWxlY3RvclN0YXRlLnRvZ2dsZUV4cGFuZGVkKClcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiYXJyb3ctZXhwYW5kXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmIChoZWFkZXJQcm9qZWN0aW9uTm90TnVsbCkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyUHJvamVjdGlvbk5vdE51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQ6IG5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKVxuICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGFwLWljb24tYnV0dG9uIChvbkNsaWNrKT1cIm9uTWluaWZpZWRTZWFyY2hDbGlja2VkKClcIiB0eXBlPVwic3Ryb2tlZFwiIHJvbGU9XCJzZWFyY2hcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2VhcmNoXCIgLz5cbiAgICAgICAgICAgIDwvYXAtaWNvbi1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtc2VsZWN0b3JfX2NvbnRlbnRcIiByb2xlPVwidHJlZVwiIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm5hdlNlbGVjdG9yU3RhdGUuaXNNdWx0aXBsZU1vZGVFbmFibGVkKClcIj5cbiAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIG5hdlNlbGVjdG9yU3RhdGUuZW50cmllcygpOyB0cmFjayBlbnRyeS51aWQpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCFlbnRyeS5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW2NsYXNzLmZvbGRlcl09XCJlbnRyeS50eXBlID09PSAnR1JPVVAnIHx8IGVudHJ5LnR5cGUgPT09ICdDQVRFR09SWSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZW50cnkudHlwZSA9PT0gJ0xFQUYnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmIFtsZWFmXT1cImVudHJ5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVudHJ5LnR5cGUgPT09ICdHUk9VUCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWdyb3VwIFtncm91cF09XCJlbnRyeVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChlbnRyeS50eXBlID09PSAnQ0FURUdPUlknKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1jYXRlZ29yeSBbY2F0ZWdvcnldPVwiZW50cnlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoZGlzcGxheUZvb3RlcigpICYmIGZvb3RlclByb2plY3Rpb25Ob3ROdWxsKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yX19mb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclByb2plY3Rpb25Ob3ROdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBuYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkKClcbiAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbjwvbmF2PlxuIl19
@@ -73,7 +73,7 @@ export class SocialButtonComponent {
73
73
  bluesky: {
74
74
  default: 'bluesky',
75
75
  stroked: 'bluesky-official',
76
- }
76
+ },
77
77
  };
78
78
  constructor(symbolRegistry) {
79
79
  this.symbolRegistry = symbolRegistry;
@@ -95,7 +95,7 @@ export class SocialButtonComponent {
95
95
  apThreadsOfficial,
96
96
  apThreadsWhiteOfficial,
97
97
  apBluesky,
98
- apBlueskyOfficial
98
+ apBlueskyOfficial,
99
99
  ]);
100
100
  }
101
101
  focused = false;
@@ -123,13 +123,13 @@ export class SocialButtonComponent {
123
123
  }
124
124
  }
125
125
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SocialButtonComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: SocialButtonComponent, isStandalone: true, selector: "ap-social-button", inputs: { ariaLabel: "ariaLabel", disabled: ["disabled", "disabled", booleanAttribute], name: "name", loading: "loading", network: "network", buttonType: "buttonType" }, outputs: { click: "click", focus: "focus", blur: "blur" }, host: { listeners: { "window:keyup.space": "onSpaceKeyUp($event)" }, properties: { "attr.disabled": "disabled || null" } }, providers: [], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true }], hostDirectives: [{ directive: i2.BaseButtonDirective }], ngImport: i0, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\">\n <span>Button text</span>\n </ng-content>\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: SocialButtonComponent, isStandalone: true, selector: "ap-social-button", inputs: { ariaLabel: "ariaLabel", disabled: ["disabled", "disabled", booleanAttribute], name: "name", loading: "loading", network: "network", buttonType: "buttonType" }, outputs: { click: "click", focus: "focus", blur: "blur" }, host: { listeners: { "window:keyup.space": "onSpaceKeyUp($event)" }, properties: { "attr.disabled": "loading || disabled || null" } }, providers: [], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true }], hostDirectives: [{ directive: i2.BaseButtonDirective }], ngImport: i0, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
127
127
  }
128
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SocialButtonComponent, decorators: [{
129
129
  type: Component,
130
130
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-social-button', standalone: true, imports: [SymbolComponent, LoaderComponent], providers: [], encapsulation: ViewEncapsulation.None, hostDirectives: [BaseButtonDirective], host: {
131
- '[attr.disabled]': 'disabled || null',
132
- }, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\">\n <span>Button text</span>\n </ng-content>\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"] }]
131
+ '[attr.disabled]': 'loading || disabled || null',
132
+ }, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"] }]
133
133
  }], ctorParameters: () => [{ type: i1.SymbolRegistry }], propDecorators: { buttonElement: [{
134
134
  type: ViewChild,
135
135
  args: ['button']
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
161
161
  type: HostListener,
162
162
  args: ['window:keyup.space', ['$event']]
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc29jaWFsLWJ1dHRvbi9zcmMvc29jaWFsLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc29jaWFsLWJ1dHRvbi9zcmMvc29jaWFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZUFBZSxHQUVsQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBZ0MvQixNQUFNLE9BQU8scUJBQXFCO0lBZ0ZWO0lBL0VYLG1CQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUzRSxhQUFhLENBQWlDO0lBRTFELFNBQVMsR0FBRyxFQUFFLENBQUM7SUFJ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QUFJO3FCQUNqQjtnQkFFUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0ksS0FBSztzQkFBZCxNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBdUdQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBCYXNlQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gICAgYXBCbHVlc2t5LFxuICAgIGFwQmx1ZXNreU9mZmljaWFsLFxuICAgIGFwRmFjZWJvb2ssXG4gICAgYXBHb29nbGVNeUJ1c2luZXNzSWNvbixcbiAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICBhcEluc3RhZ3JhbU91dGxpbmUsXG4gICAgYXBMaW5rZWRpbixcbiAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgYXBQaW50ZXJlc3RJY29uLFxuICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgYXBUaHJlYWRzT2ZmaWNpYWwsXG4gICAgYXBUaHJlYWRzV2hpdGVPZmZpY2lhbCxcbiAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgIGFwVGlrdG9rV2hpdGVPZmZpY2lhbCxcbiAgICBhcFhPZmZpY2lhbCxcbiAgICBhcFhXaGl0ZU9mZmljaWFsLFxuICAgIGFwWW91dHViZSxcbiAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgU3ltYm9sUmVnaXN0cnksXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5cbnR5cGUgU2VydmljZSA9XG4gICAgfCAnZmFjZWJvb2snXG4gICAgfCAnaW5zdGFncmFtJ1xuICAgIHwgJ3R3aXR0ZXInXG4gICAgfCAnbGlua2VkaW4nXG4gICAgfCAneW91dHViZSdcbiAgICB8ICd0aWt0b2snXG4gICAgfCAnZ29vZ2xlJ1xuICAgIHwgJ2dvb2dsZU15QnVzaW5lc3MnXG4gICAgfCAnbWljcm9zb2Z0J1xuICAgIHwgJ3BpbnRlcmVzdCdcbiAgICB8ICdYJ1xuICAgIHwgJ3RocmVhZHMnXG4gICAgfCAnYmx1ZXNreSc7XG50eXBlIFNvY2lhbEJ1dHRvblR5cGUgPSAnZGVmYXVsdCcgfCAnc3Ryb2tlZCc7XG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLXNvY2lhbC1idXR0b24nLFxuICAgIHN0eWxlVXJsczogWycuL3NvY2lhbC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtTeW1ib2xDb21wb25lbnQsIExvYWRlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc29jaWFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0RGlyZWN0aXZlczogW0Jhc2VCdXR0b25EaXJlY3RpdmVdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBTb2NpYWxCdXR0b25Db21wb25lbnQge1xuICAgIHJlYWRvbmx5IGJhc2VCdXR0b25EaXJlY3RpdmU6IEJhc2VCdXR0b25EaXJlY3RpdmUgPSBpbmplY3QoQmFzZUJ1dHRvbkRpcmVjdGl2ZSwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gICAgQFZpZXdDaGlsZCgnYnV0dG9uJykgYnV0dG9uRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsID0gJyc7XG4gICAgQElucHV0KHtcbiAgICAgICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICAgIH0pXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIG5hbWUgPSAnJztcbiAgICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KCkgbmV0d29yazogU2VydmljZSA9ICdmYWNlYm9vayc7XG4gICAgQElucHV0KCkgYnV0dG9uVHlwZTogU29jaWFsQnV0dG9uVHlwZSA9ICdkZWZhdWx0JztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBmb2N1czogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBzeW1ib2xJZFBlck5ldHdvcms6IFJlY29yZDxTZXJ2aWNlLCBSZWNvcmQ8U29jaWFsQnV0dG9uVHlwZSwgc3RyaW5nPj4gPSB7XG4gICAgICAgIGZhY2Vib29rOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnZmFjZWJvb2snLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ2ZhY2Vib29rLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgaW5zdGFncmFtOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnaW5zdGFncmFtLW91dGxpbmUnLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ2luc3RhZ3JhbS1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR3aXR0ZXI6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICd4LXdoaXRlLW9mZmljaWFsJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICd4LW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgWDoge1xuICAgICAgICAgICAgZGVmYXVsdDogJ3gtd2hpdGUtb2ZmaWNpYWwnLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBsaW5rZWRpbjoge1xuICAgICAgICAgICAgZGVmYXVsdDogJ2xpbmtlZGluJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICdsaW5rZWRpbi1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHlvdXR1YmU6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICd5b3V0dWJlJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICd5b3V0dWJlLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgdGlrdG9rOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAndGlrdG9rLXdoaXRlLW9mZmljaWFsJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICd0aWt0b2stb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBnb29nbGU6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdnb29nbGUtaWNvbicsXG4gICAgICAgICAgICBzdHJva2VkOiAnZ29vZ2xlLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgbWljcm9zb2Z0OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnbWljcm9zb2Z0LWljb24nLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ21pY3Jvc29mdC1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIGdvb2dsZU15QnVzaW5lc3M6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdnb29nbGUtbXktYnVzaW5lc3MtaWNvbicsXG4gICAgICAgICAgICBzdHJva2VkOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGludGVyZXN0OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAncGludGVyZXN0LWljb24nLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ3BpbnRlcmVzdC1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHRocmVhZHM6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICd0aHJlYWRzLXdoaXRlLW9mZmljaWFsJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICd0aHJlYWRzLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgYmx1ZXNreToge1xuICAgICAgICAgICAgZGVmYXVsdDogJ2JsdWVza3knLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ2JsdWVza3ktb2ZmaWNpYWwnLFxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwRmFjZWJvb2ssXG4gICAgICAgICAgICBhcExpbmtlZGluLFxuICAgICAgICAgICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgICAgICAgICAgYXBZb3V0dWJlT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmUsXG4gICAgICAgICAgICBhcEluc3RhZ3JhbU91dGxpbmUsXG4gICAgICAgICAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgICAgICAgICAgYXBUaWt0b2tXaGl0ZU9mZmljaWFsLFxuICAgICAgICAgICAgYXBQaW50ZXJlc3RJY29uLFxuICAgICAgICAgICAgYXBQaW50ZXJlc3RPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwWE9mZmljaWFsLFxuICAgICAgICAgICAgYXBYV2hpdGVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwR29vZ2xlTXlCdXNpbmVzc0ljb24sXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGhyZWFkc09mZmljaWFsLFxuICAgICAgICAgICAgYXBUaHJlYWRzV2hpdGVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwQmx1ZXNreSxcbiAgICAgICAgICAgIGFwQmx1ZXNreU9mZmljaWFsXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIG9uQ2xpY2tIYW5kbGUoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbGljay5lbWl0KCRldmVudCk7XG4gICAgICAgIHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgdGhpcy5ibHVyLmVtaXQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkJsdXJIYW5kbGUoJGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJsdXIuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNIYW5kbGUoJGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9jdXMuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cC5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgb25TcGFjZUtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgI2J1dHRvblxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIFtjbGFzcy5zdHJva2VkXT1cImJ1dHRvblR5cGUgPT09ICdzdHJva2VkJ1wiXG4gICAgW2NsYXNzLmZhY2Vib29rXT1cIm5ldHdvcmsgPT09ICdmYWNlYm9vaydcIlxuICAgIFtjbGFzcy50d2l0dGVyXT1cIm5ldHdvcmsgPT09ICd0d2l0dGVyJ1wiXG4gICAgW2NsYXNzLnhdPVwibmV0d29yayA9PT0gJ1gnXCJcbiAgICBbY2xhc3MuaW5zdGFncmFtXT1cIm5ldHdvcmsgPT09ICdpbnN0YWdyYW0nXCJcbiAgICBbY2xhc3MubGlua2VkaW5dPVwibmV0d29yayA9PT0gJ2xpbmtlZGluJ1wiXG4gICAgW2NsYXNzLnlvdXR1YmVdPVwibmV0d29yayA9PT0gJ3lvdXR1YmUnXCJcbiAgICBbY2xhc3MudGlrdG9rXT1cIm5ldHdvcmsgPT09ICd0aWt0b2snXCJcbiAgICBbY2xhc3MubWljcm9zb2Z0XT1cIm5ldHdvcmsgPT09ICdtaWNyb3NvZnQnXCJcbiAgICBbY2xhc3MuZ29vZ2xlLW15LWJ1c2luZXNzXT1cIm5ldHdvcmsgPT09ICdnb29nbGVNeUJ1c2luZXNzJ1wiXG4gICAgW2NsYXNzLmdvb2dsZV09XCJuZXR3b3JrID09PSAnZ29vZ2xlJ1wiXG4gICAgW2NsYXNzLnBpbnRlcmVzdF09XCJuZXR3b3JrID09PSAncGludGVyZXN0J1wiXG4gICAgW2NsYXNzLnRocmVhZHNdPVwibmV0d29yayA9PT0gJ3RocmVhZHMnXCJcbiAgICBbY2xhc3MuYmx1ZXNreV09XCJuZXR3b3JrID09PSAnYmx1ZXNreSdcIlxuICAgIFtjbGFzcy5sb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIuaWRdPVwiYmFzZUJ1dHRvbkRpcmVjdGl2ZS5ob3N0SWRcIlxuICAgIFthdHRyLmRhdGEtdGVzdF09XCJiYXNlQnV0dG9uRGlyZWN0aXZlLmhvc3REYXRhVGVzdCA/PyBuYW1lXCJcbiAgICBbYXR0ci50eXBlXT1cImJhc2VCdXR0b25EaXJlY3RpdmUuaG9zdFR5cGVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQudG9TdHJpbmcoKVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2tIYW5kbGUoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXNIYW5kbGUoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwib25CbHVySGFuZGxlKCRldmVudClcIj5cbiAgICBAaWYgKCFsb2FkaW5nKSB7XG4gICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICBbc3ltYm9sSWRdPVwic3ltYm9sSWRQZXJOZXR3b3JrW25ldHdvcmtdW2J1dHRvblR5cGVdXCIgLz5cbiAgICB9XG4gICAgQGlmIChsb2FkaW5nKSB7XG4gICAgICAgIDxhcC1sb2FkZXJcbiAgICAgICAgICAgIFtjb2xvcl09XCJidXR0b25UeXBlID09PSAnZGVmYXVsdCcgPyAnd2hpdGUnIDogbmV0d29ya1wiXG4gICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMTZcIiAvPlxuICAgIH1cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcGFuXCI+XG4gICAgICAgIDxzcGFuPkJ1dHRvbiB0ZXh0PC9zcGFuPlxuICAgIDwvbmctY29udGVudD5cbjwvYnV0dG9uPlxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc29jaWFsLWJ1dHRvbi9zcmMvc29jaWFsLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc29jaWFsLWJ1dHRvbi9zcmMvc29jaWFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZUFBZSxHQUVsQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBZ0MvQixNQUFNLE9BQU8scUJBQXFCO0lBZ0ZWO0lBL0VYLG1CQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUzRSxhQUFhLENBQWlDO0lBRTFELFNBQVMsR0FBRyxFQUFFLENBQUM7SUFJeEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUlqQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ0QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixPQUFPLEdBQVksVUFBVSxDQUFDO0lBQzlCLFVBQVUsR0FBcUIsU0FBUyxDQUFDO0lBRWxELDREQUE0RDtJQUNsRCxLQUFLLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDL0QsNERBQTREO0lBQ2xELEtBQUssR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMvRCw0REFBNEQ7SUFDbEQsSUFBSSxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTlELGtCQUFrQixHQUFzRDtRQUNwRSxRQUFRLEVBQUU7WUFDTixPQUFPLEVBQUUsVUFBVTtZQUNuQixPQUFPLEVBQUUsbUJBQW1CO1NBQy9CO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixPQUFPLEVBQUUsb0JBQW9CO1NBQ2hDO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixPQUFPLEVBQUUsWUFBWTtTQUN4QjtRQUNELENBQUMsRUFBRTtZQUNDLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsT0FBTyxFQUFFLFlBQVk7U0FDeEI7UUFDRCxRQUFRLEVBQUU7WUFDTixPQUFPLEVBQUUsVUFBVTtZQUNuQixPQUFPLEVBQUUsbUJBQW1CO1NBQy9CO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFLGtCQUFrQjtTQUM5QjtRQUNELE1BQU0sRUFBRTtZQUNKLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsT0FBTyxFQUFFLGlCQUFpQjtTQUM3QjtRQUNELE1BQU0sRUFBRTtZQUNKLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLE9BQU8sRUFBRSxpQkFBaUI7U0FDN0I7UUFDRCxTQUFTLEVBQUU7WUFDUCxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE9BQU8sRUFBRSxvQkFBb0I7U0FDaEM7UUFDRCxnQkFBZ0IsRUFBRTtZQUNkLE9BQU8sRUFBRSx5QkFBeUI7WUFDbEMsT0FBTyxFQUFFLDZCQUE2QjtTQUN6QztRQUNELFNBQVMsRUFBRTtZQUNQLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsT0FBTyxFQUFFLG9CQUFvQjtTQUNoQztRQUNELE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsT0FBTyxFQUFFLGtCQUFrQjtTQUM5QjtRQUNELE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE9BQU8sRUFBRSxrQkFBa0I7U0FDOUI7S0FDSixDQUFDO0lBRUYsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1lBQ2hDLFVBQVU7WUFDVixVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixTQUFTO1lBQ1Qsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLHNCQUFzQjtZQUN0QixTQUFTO1lBQ1QsaUJBQWlCO1NBQ3BCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPLEdBQVksS0FBSyxDQUFDO0lBRXpCLGFBQWEsQ0FBQyxNQUFrQjtRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFrQjtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWtCO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFHRCxZQUFZLENBQUMsS0FBb0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNMLENBQUM7dUdBbklRLHFCQUFxQjsyRkFBckIscUJBQXFCLHlIQU9mLGdCQUFnQixrU0FoQnBCLEVBQUUsNExDNURqQix1L0NBd0NBLCt2aUJEbUJjLGVBQWUsc0hBQUUsZUFBZTs7MkZBVWpDLHFCQUFxQjtrQkFmakMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGtCQUFrQixjQUVoQixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLGFBQ2hDLEVBQUUsaUJBRUUsaUJBQWlCLENBQUMsSUFBSSxrQkFDckIsQ0FBQyxtQkFBbUIsQ0FBQyxRQUUvQjt3QkFDRixpQkFBaUIsRUFBRSw2QkFBNkI7cUJBQ25EO21GQUtvQixhQUFhO3NCQUFqQyxTQUFTO3VCQUFDLFFBQVE7Z0JBRVYsU0FBUztzQkFBakIsS0FBSztnQkFJTixRQUFRO3NCQUhQLEtBQUs7dUJBQUM7d0JBQ0gsU0FBUyxFQUFFLGdCQUFnQjtxQkFDOUI7Z0JBS0QsSUFBSTtzQkFISCxLQUFLO3VCQUFDO3dCQUNILFFBQVEsRUFBRSxJQUFJO3FCQUNqQjtnQkFFUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0ksS0FBSztzQkFBZCxNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBdUdQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBCYXNlQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gICAgYXBCbHVlc2t5LFxuICAgIGFwQmx1ZXNreU9mZmljaWFsLFxuICAgIGFwRmFjZWJvb2ssXG4gICAgYXBHb29nbGVNeUJ1c2luZXNzSWNvbixcbiAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICBhcEluc3RhZ3JhbU91dGxpbmUsXG4gICAgYXBMaW5rZWRpbixcbiAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgYXBQaW50ZXJlc3RJY29uLFxuICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgYXBUaHJlYWRzT2ZmaWNpYWwsXG4gICAgYXBUaHJlYWRzV2hpdGVPZmZpY2lhbCxcbiAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgIGFwVGlrdG9rV2hpdGVPZmZpY2lhbCxcbiAgICBhcFhPZmZpY2lhbCxcbiAgICBhcFhXaGl0ZU9mZmljaWFsLFxuICAgIGFwWW91dHViZSxcbiAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgU3ltYm9sUmVnaXN0cnksXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5cbnR5cGUgU2VydmljZSA9XG4gICAgfCAnZmFjZWJvb2snXG4gICAgfCAnaW5zdGFncmFtJ1xuICAgIHwgJ3R3aXR0ZXInXG4gICAgfCAnbGlua2VkaW4nXG4gICAgfCAneW91dHViZSdcbiAgICB8ICd0aWt0b2snXG4gICAgfCAnZ29vZ2xlJ1xuICAgIHwgJ2dvb2dsZU15QnVzaW5lc3MnXG4gICAgfCAnbWljcm9zb2Z0J1xuICAgIHwgJ3BpbnRlcmVzdCdcbiAgICB8ICdYJ1xuICAgIHwgJ3RocmVhZHMnXG4gICAgfCAnYmx1ZXNreSc7XG50eXBlIFNvY2lhbEJ1dHRvblR5cGUgPSAnZGVmYXVsdCcgfCAnc3Ryb2tlZCc7XG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLXNvY2lhbC1idXR0b24nLFxuICAgIHN0eWxlVXJsczogWycuL3NvY2lhbC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtTeW1ib2xDb21wb25lbnQsIExvYWRlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc29jaWFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0RGlyZWN0aXZlczogW0Jhc2VCdXR0b25EaXJlY3RpdmVdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdsb2FkaW5nIHx8IGRpc2FibGVkIHx8IG51bGwnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNvY2lhbEJ1dHRvbkNvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgYmFzZUJ1dHRvbkRpcmVjdGl2ZTogQmFzZUJ1dHRvbkRpcmVjdGl2ZSA9IGluamVjdChCYXNlQnV0dG9uRGlyZWN0aXZlLCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgICBAVmlld0NoaWxkKCdidXR0b24nKSBidXR0b25FbGVtZW50ITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICBASW5wdXQoKSBhcmlhTGFiZWwgPSAnJztcbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgfSlcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gICAgbmFtZSA9ICcnO1xuICAgIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBuZXR3b3JrOiBTZXJ2aWNlID0gJ2ZhY2Vib29rJztcbiAgICBASW5wdXQoKSBidXR0b25UeXBlOiBTb2NpYWxCdXR0b25UeXBlID0gJ2RlZmF1bHQnO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIGNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIGZvY3VzOiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHN5bWJvbElkUGVyTmV0d29yazogUmVjb3JkPFNlcnZpY2UsIFJlY29yZDxTb2NpYWxCdXR0b25UeXBlLCBzdHJpbmc+PiA9IHtcbiAgICAgICAgZmFjZWJvb2s6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdmYWNlYm9vaycsXG4gICAgICAgICAgICBzdHJva2VkOiAnZmFjZWJvb2stb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBpbnN0YWdyYW06IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdpbnN0YWdyYW0tb3V0bGluZScsXG4gICAgICAgICAgICBzdHJva2VkOiAnaW5zdGFncmFtLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgdHdpdHRlcjoge1xuICAgICAgICAgICAgZGVmYXVsdDogJ3gtd2hpdGUtb2ZmaWNpYWwnLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBYOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAneC13aGl0ZS1vZmZpY2lhbCcsXG4gICAgICAgICAgICBzdHJva2VkOiAneC1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmtlZGluOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnbGlua2VkaW4nLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ2xpbmtlZGluLW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgeW91dHViZToge1xuICAgICAgICAgICAgZGVmYXVsdDogJ3lvdXR1YmUnLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ3lvdXR1YmUtb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICB0aWt0b2s6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICd0aWt0b2std2hpdGUtb2ZmaWNpYWwnLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ3Rpa3Rvay1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIGdvb2dsZToge1xuICAgICAgICAgICAgZGVmYXVsdDogJ2dvb2dsZS1pY29uJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICdnb29nbGUtb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBtaWNyb3NvZnQ6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdtaWNyb3NvZnQtaWNvbicsXG4gICAgICAgICAgICBzdHJva2VkOiAnbWljcm9zb2Z0LW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgZ29vZ2xlTXlCdXNpbmVzczoge1xuICAgICAgICAgICAgZGVmYXVsdDogJ2dvb2dsZS1teS1idXNpbmVzcy1pY29uJyxcbiAgICAgICAgICAgIHN0cm9rZWQ6ICdnb29nbGUtbXktYnVzaW5lc3Mtb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBwaW50ZXJlc3Q6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdwaW50ZXJlc3QtaWNvbicsXG4gICAgICAgICAgICBzdHJva2VkOiAncGludGVyZXN0LW9mZmljaWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAgdGhyZWFkczoge1xuICAgICAgICAgICAgZGVmYXVsdDogJ3RocmVhZHMtd2hpdGUtb2ZmaWNpYWwnLFxuICAgICAgICAgICAgc3Ryb2tlZDogJ3RocmVhZHMtb2ZmaWNpYWwnLFxuICAgICAgICB9LFxuICAgICAgICBibHVlc2t5OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnYmx1ZXNreScsXG4gICAgICAgICAgICBzdHJva2VkOiAnYmx1ZXNreS1vZmZpY2lhbCcsXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwRmFjZWJvb2ssXG4gICAgICAgICAgICBhcExpbmtlZGluLFxuICAgICAgICAgICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgICAgICAgICAgYXBZb3V0dWJlT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmUsXG4gICAgICAgICAgICBhcEluc3RhZ3JhbU91dGxpbmUsXG4gICAgICAgICAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgICAgICAgICAgYXBUaWt0b2tXaGl0ZU9mZmljaWFsLFxuICAgICAgICAgICAgYXBQaW50ZXJlc3RJY29uLFxuICAgICAgICAgICAgYXBQaW50ZXJlc3RPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwWE9mZmljaWFsLFxuICAgICAgICAgICAgYXBYV2hpdGVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwR29vZ2xlTXlCdXNpbmVzc0ljb24sXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGhyZWFkc09mZmljaWFsLFxuICAgICAgICAgICAgYXBUaHJlYWRzV2hpdGVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwQmx1ZXNreSxcbiAgICAgICAgICAgIGFwQmx1ZXNreU9mZmljaWFsLFxuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBvbkNsaWNrSGFuZGxlKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuY2xpY2suZW1pdCgkZXZlbnQpO1xuICAgICAgICB0aGlzLmJ1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIHRoaXMuYmx1ci5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgb25CbHVySGFuZGxlKCRldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ibHVyLmVtaXQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkZvY3VzSGFuZGxlKCRldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvY3VzLmVtaXQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAuc3BhY2UnLCBbJyRldmVudCddKVxuICAgIG9uU3BhY2VLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgICNidXR0b25cbiAgICByb2xlPVwiYnV0dG9uXCJcbiAgICBbY2xhc3Muc3Ryb2tlZF09XCJidXR0b25UeXBlID09PSAnc3Ryb2tlZCdcIlxuICAgIFtjbGFzcy5mYWNlYm9va109XCJuZXR3b3JrID09PSAnZmFjZWJvb2snXCJcbiAgICBbY2xhc3MudHdpdHRlcl09XCJuZXR3b3JrID09PSAndHdpdHRlcidcIlxuICAgIFtjbGFzcy54XT1cIm5ldHdvcmsgPT09ICdYJ1wiXG4gICAgW2NsYXNzLmluc3RhZ3JhbV09XCJuZXR3b3JrID09PSAnaW5zdGFncmFtJ1wiXG4gICAgW2NsYXNzLmxpbmtlZGluXT1cIm5ldHdvcmsgPT09ICdsaW5rZWRpbidcIlxuICAgIFtjbGFzcy55b3V0dWJlXT1cIm5ldHdvcmsgPT09ICd5b3V0dWJlJ1wiXG4gICAgW2NsYXNzLnRpa3Rva109XCJuZXR3b3JrID09PSAndGlrdG9rJ1wiXG4gICAgW2NsYXNzLm1pY3Jvc29mdF09XCJuZXR3b3JrID09PSAnbWljcm9zb2Z0J1wiXG4gICAgW2NsYXNzLmdvb2dsZS1teS1idXNpbmVzc109XCJuZXR3b3JrID09PSAnZ29vZ2xlTXlCdXNpbmVzcydcIlxuICAgIFtjbGFzcy5nb29nbGVdPVwibmV0d29yayA9PT0gJ2dvb2dsZSdcIlxuICAgIFtjbGFzcy5waW50ZXJlc3RdPVwibmV0d29yayA9PT0gJ3BpbnRlcmVzdCdcIlxuICAgIFtjbGFzcy50aHJlYWRzXT1cIm5ldHdvcmsgPT09ICd0aHJlYWRzJ1wiXG4gICAgW2NsYXNzLmJsdWVza3ldPVwibmV0d29yayA9PT0gJ2JsdWVza3knXCJcbiAgICBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLmlkXT1cImJhc2VCdXR0b25EaXJlY3RpdmUuaG9zdElkXCJcbiAgICBbYXR0ci5kYXRhLXRlc3RdPVwiYmFzZUJ1dHRvbkRpcmVjdGl2ZS5ob3N0RGF0YVRlc3QgPz8gbmFtZVwiXG4gICAgW2F0dHIudHlwZV09XCJiYXNlQnV0dG9uRGlyZWN0aXZlLmhvc3RUeXBlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkLnRvU3RyaW5nKClcIlxuICAgIChjbGljayk9XCJvbkNsaWNrSGFuZGxlKCRldmVudClcIlxuICAgIChmb2N1cyk9XCJvbkZvY3VzSGFuZGxlKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQmx1ckhhbmRsZSgkZXZlbnQpXCI+XG4gICAgQGlmICghbG9hZGluZykge1xuICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgW3N5bWJvbElkXT1cInN5bWJvbElkUGVyTmV0d29ya1tuZXR3b3JrXVtidXR0b25UeXBlXVwiIC8+XG4gICAgfVxuICAgIEBpZiAobG9hZGluZykge1xuICAgICAgICA8YXAtbG9hZGVyXG4gICAgICAgICAgICBbY29sb3JdPVwiYnV0dG9uVHlwZSA9PT0gJ2RlZmF1bHQnID8gJ3doaXRlJyA6IG5ldHdvcmtcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjE2XCIgLz5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3BhblwiIC8+XG48L2J1dHRvbj5cbiJdfQ==