@testgorilla/tgo-ui 2.26.0 → 2.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/button/button.component.d.ts +1 -0
- package/components/checklist/checklist.model.d.ts +1 -0
- package/components/icon/icon.config.d.ts +1 -1
- package/components/tabs/tabs.model.d.ts +1 -0
- package/esm2022/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/components/button/button.component.mjs +14 -3
- package/esm2022/components/checklist/checklist.component.mjs +3 -3
- package/esm2022/components/checklist/checklist.model.mjs +1 -1
- package/esm2022/components/dropdown/dropdown.component.mjs +2 -1
- package/esm2022/components/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/components/icon/icon.config.mjs +5 -1
- package/esm2022/components/scale/scale.component.mjs +2 -2
- package/esm2022/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/components/tabs/tabs.model.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +28 -12
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-filled.svg +11 -0
- package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-in-line.svg +11 -0
|
@@ -240,13 +240,13 @@ export class ButtonComponent {
|
|
|
240
240
|
this.buttonHoverEvent.emit(event);
|
|
241
241
|
this.buttonState = 'hover';
|
|
242
242
|
if (this.shouldChangeFilledStatus && this.iconName) {
|
|
243
|
-
this.iconName = this.iconName
|
|
243
|
+
this.iconName = this.getIconName(this.iconName, '-filled');
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
else {
|
|
247
247
|
this.hover = false;
|
|
248
248
|
if (this.shouldChangeFilledStatus && this.iconName) {
|
|
249
|
-
this.iconName = this.iconName
|
|
249
|
+
this.iconName = this.getIconName(this.iconName, '-in-line');
|
|
250
250
|
}
|
|
251
251
|
this.buttonState = 'default';
|
|
252
252
|
}
|
|
@@ -339,6 +339,17 @@ export class ButtonComponent {
|
|
|
339
339
|
onLabelEllipsisChange(state) {
|
|
340
340
|
this.labelEllipsis = state;
|
|
341
341
|
}
|
|
342
|
+
getIconName(iconName, defaultValue) {
|
|
343
|
+
if (iconName.includes('filled')) {
|
|
344
|
+
return iconName.replace(/filled/, 'in-line');
|
|
345
|
+
}
|
|
346
|
+
else if (iconName.includes('in-line')) {
|
|
347
|
+
return iconName.replace(/in-line/, 'filled');
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
return iconName + defaultValue;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
342
353
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
343
354
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: ButtonComponent, selector: "ui-button", inputs: { size: "size", variant: "variant", label: "label", iconPosition: "iconPosition", justIcon: "justIcon", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth", url: "url", urlTarget: "urlTarget", value: "value", tooltip: "tooltip", isPremium: "isPremium", type: "type", companyColor: "companyColor", buttonBadgeConfig: "buttonBadgeConfig", applicationTheme: "applicationTheme", disabledScaleOnClick: "disabledScaleOnClick", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", ariaLabelledby: "ariaLabelledby", ariaDescribedby: "ariaDescribedby", preventDefault: ["preventDefault", "preventDefault", booleanAttribute], hasBackground: ["hasBackground", "hasBackground", booleanAttribute], tooltipPosition: "tooltipPosition" }, outputs: { buttonClickEvent: "buttonClickEvent", buttonHoverEvent: "buttonHoverEvent" }, host: { properties: { "style.pointer-events": "this.enabled", "attr.btn-variant": "this.variant", "attr.theme": "this.applicationTheme", "style.--color": "this.compColor" } }, viewQueries: [{ propertyName: "tooltipElement", first: true, predicate: ["tooltipElement"], descendants: true }, { propertyName: "buttonElement", first: true, predicate: ["buttonElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #tooltipElement class=\"tooltip\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n></div>\n<div\n class=\"button-wrapper\"\n [ngClass]=\"{ 'full-width': fullWidth, 'rounded-icon': applicationTheme !== 'classic' && iconName && !label, link: !isButtonLink }\"\n>\n <div class=\"button-container\"\n [ngClass]=\"{ 'disabled': disabled, 'button-scale': buttonState === 'pressed' && applicationTheme !== 'classic' && !disabledScaleOnClick }\"\n >\n <span *ngIf=\"isPremium && typeIncluded\" class=\"right-top\">\n <img [attr.src]=\"'/images/premium.svg'\" [alt]=\"'premium-icon'\">\n </span>\n <ui-badge\n id=\"badge\"\n *ngIf=\"buttonBadgeConfig?.badgeType\"\n [rebrandColor]=\"buttonBadgeConfig?.rebrandColor ?? 'brand'\"\n [variant]=\"buttonBadgeConfig!.badgeType!\"\n [label]=\"buttonBadgeConfig?.badgeLabel ?? ''\"\n [notificationsAmount]=\"buttonBadgeConfig?.badgeNotificationAmount ?? 0\"\n class=\"right-top\"\n [ngClass]=\"{ 'badge-primary': buttonBadgeConfig?.badgeType === 'primary', 'badge-notification': buttonBadgeConfig?.badgeType === 'notification' }\"\n ></ui-badge>\n <button\n [style]=\"'--icon-button-size:' + iconButtonSize + 'px'\"\n [ngClass]=\"classCss\"\n [ngStyle]=\"styleCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseleave)=\"buttonHover($event)\"\n (mouseenter)=\"buttonHover($event)\"\n (mousedown)=\"onPressed($event)\"\n (mouseup)=\"onPressed($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n *ngIf=\"isButtonLink\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-disabled]=\"disabled\"\n [type]=\"type\"\n [disableRipple]=\"applicationTheme !== 'classic'\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n [matTooltipPosition]=\"tooltipPosition\"\n #buttonElement\n role=\"button\"\n mat-flat-button>\n <span id=\"describedby\" [style.display]=\"'none'\">\n {{ (isPremium ? (label + ' ' + ('BUTTON.PREMIUM_FEATURE' | uiTranslate | async)) : ariaDescribedby) }}\n </span>\n <span id=\"labelledby\" [style.display]=\"'none'\">\n {{ ariaLabelledby }}\n </span>\n <ng-container *ngIf=\"showSpinner; else icons\">\n <span class=\"spinner-wrapper\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </ng-container>\n <ng-template #icons>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon && !!iconName\">\n <span\n class=\"icon only\"\n role=\"label\"\n >\n <ui-icon\n [color]=\"'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"iconName\"\n [filled]=\"isFilledIcon\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"\n [size]=\"size === 'small' ? '16' : '24'\"\n ></ui-icon>\n </span>\n </span>\n\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"!justIcon\">\n <span\n class=\"icon\"\n *ngIf=\"iconPosition === 'left' && !!iconName\"\n aria-hidden=\"true\"\n >\n <ui-icon\n [color]=\"'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"iconName\"\n [filled]=\"isFilledIcon\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"\n [size]=\"size === 'small' ? '16' : '24'\"\n ></ui-icon>\n </span>\n <span\n *ngIf=\"isLabel\"\n class=\"label\"\n id=\"label\"\n uiEllipseText\n [isMultiline]=\"true\"\n (onChangeTextState)=\"onLabelEllipsisChange($event)\"\n >\n {{ label }}\n </span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!iconName\" aria-hidden=\"true\"><ui-icon\n [color]=\"'inherit'\" [applicationTheme]=\"applicationTheme\" [name]=\"iconName\" [filled]=\"isFilledIcon\"\n [size]=\"size === 'small' ? '16' : '24'\" [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"></ui-icon></span>\n </span>\n </ng-template>\n </button>\n <a\n #buttonElement\n [ngClass]=\"classCss\"\n [ngStyle]=\"styleCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n (mouseleave)=\"buttonHover($event)\"\n (mousedown)=\"onPressed($event)\"\n (mouseup)=\"onPressed($event)\"\n (keydown)=\"onKeydown($event);\"\n (keyup)=\"onKeyup($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"'labelledby-link'\"\n [attr.aria-describedby]=\"'describedby-link'\"\n [attr.aria-disabled]=\"disabled\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n role=\"link\"\n [href]=\"url\"\n [target]=\"urlTarget\"\n mat-flat-button>\n <span id=\"describedby-link\" [style.display]=\"'none'\">\n {{ ariaDescribedby }}\n </span>\n <span id=\"labelledby-link\" [style.display]=\"'none'\">\n {{ ariaLabelledby }}\n </span>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n </a>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host{position:relative}:host ::ng-deep button.cdk-keyboard-focused:not(.text),:host a:focus-visible.cdk-keyboard-focused:not(.text){outline-color:#242424!important;outline-style:solid!important;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}:host ::ng-deep button.icon-button.cdk-keyboard-focused,:host ::ng-deep button.menuTrigger.cdk-keyboard-focused,:host a:focus-visible.icon-button.cdk-keyboard-focused,:host a:focus-visible.menuTrigger.cdk-keyboard-focused{border:unset!important}:host a:focus-visible{border-radius:2px!important}:host .tooltip{position:absolute;top:0;left:0;width:fit-content;height:100%;pointer-events:auto}.rounded-icon button{min-width:unset}.rounded-icon .mdc-button{width:48px!important;min-width:unset}.rounded-icon .mdc-button .icon{margin:0!important}.rounded-icon .big,.rounded-icon .small{padding:0!important}:host{display:flex}:host .button-container{width:100%}:host .button-container.disabled{pointer-events:none}:host .button-container.button-scale{transform:scale(.98)}:host .button-wrapper.full-width{width:100%}:host .button-wrapper ::ng-deep .mdc-button__label,:host .button-wrapper ::ng-deep .icon-label-wrapper{width:100%}:host .button-wrapper ::ng-deep .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal}:host .button-wrapper ::ng-deep button{width:100%}button.mat-mdc-unelevated-button,a.mat-mdc-unelevated-button{font-size:14px;font-weight:600;line-height:normal;letter-spacing:normal}button.mat-mdc-unelevated-button .spinner-wrapper,a.mat-mdc-unelevated-button .spinner-wrapper{display:flex;align-items:center;flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon,a.mat-mdc-unelevated-button .icon{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button .icon.only,a.mat-mdc-unelevated-button .icon.only{align-items:center;flex-flow:column;justify-content:center;margin-left:0}button.mat-mdc-unelevated-button .icon-label-wrapper,a.mat-mdc-unelevated-button .icon-label-wrapper{display:flex;align-items:center;justify-content:center;height:100%}button.mat-mdc-unelevated-button .icon-label-wrapper.center-text,a.mat-mdc-unelevated-button .icon-label-wrapper.center-text{flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon-label-wrapper .label,a.mat-mdc-unelevated-button .icon-label-wrapper .label{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button.big,a.mat-mdc-unelevated-button.big{height:48px;padding:12px 24px}button.mat-mdc-unelevated-button.small,a.mat-mdc-unelevated-button.small{height:38px;padding:7px 11px}button.mat-mdc-unelevated-button.classic-theme.big,a.mat-mdc-unelevated-button.classic-theme.big{height:48px;padding:12px 16px}button.mat-mdc-unelevated-button.small.left .icon,button.mat-mdc-unelevated-button.big.left .icon,a.mat-mdc-unelevated-button.small.left .icon,a.mat-mdc-unelevated-button.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.small.right .icon,button.mat-mdc-unelevated-button.big.right .icon,a.mat-mdc-unelevated-button.small.right .icon,a.mat-mdc-unelevated-button.big.right .icon{margin-left:8px}button.mat-mdc-unelevated-button.small.only-icon .icon,button.mat-mdc-unelevated-button.big.only-icon .icon,a.mat-mdc-unelevated-button.small.only-icon .icon,a.mat-mdc-unelevated-button.big.only-icon .icon{margin-left:0}button.mat-mdc-unelevated-button.primary,button.mat-mdc-unelevated-button.secondary,button.mat-mdc-unelevated-button.ghost,button.mat-mdc-unelevated-button.outlined,button.mat-mdc-unelevated-button.destructive,button.mat-mdc-unelevated-button.tertiary,button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.ghost,a.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.link{min-width:80px}button.mat-mdc-unelevated-button.primary.only-icon,button.mat-mdc-unelevated-button.secondary.only-icon,button.mat-mdc-unelevated-button.ghost.only-icon,button.mat-mdc-unelevated-button.outlined.only-icon,button.mat-mdc-unelevated-button.destructive.only-icon,button.mat-mdc-unelevated-button.tertiary.only-icon,button.mat-mdc-unelevated-button.link.only-icon,a.mat-mdc-unelevated-button.primary.only-icon,a.mat-mdc-unelevated-button.secondary.only-icon,a.mat-mdc-unelevated-button.ghost.only-icon,a.mat-mdc-unelevated-button.outlined.only-icon,a.mat-mdc-unelevated-button.destructive.only-icon,a.mat-mdc-unelevated-button.tertiary.only-icon,a.mat-mdc-unelevated-button.link.only-icon{min-width:1px}button.mat-mdc-unelevated-button.primary.full-width,button.mat-mdc-unelevated-button.secondary.full-width,button.mat-mdc-unelevated-button.ghost.full-width,button.mat-mdc-unelevated-button.outlined.full-width,button.mat-mdc-unelevated-button.destructive.full-width,button.mat-mdc-unelevated-button.tertiary.full-width,button.mat-mdc-unelevated-button.link.full-width,a.mat-mdc-unelevated-button.primary.full-width,a.mat-mdc-unelevated-button.secondary.full-width,a.mat-mdc-unelevated-button.ghost.full-width,a.mat-mdc-unelevated-button.outlined.full-width,a.mat-mdc-unelevated-button.destructive.full-width,a.mat-mdc-unelevated-button.tertiary.full-width,a.mat-mdc-unelevated-button.link.full-width{width:100%;min-width:100%}button.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.ghost.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.ghost.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper{justify-content:center}button.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.primary{background-color:var(--color);color:#fff;border-radius:1000px}button.mat-mdc-unelevated-button.primary-disabled,a.mat-mdc-unelevated-button.primary-disabled{opacity:.75}button.mat-mdc-unelevated-button.primary.classic-theme,a.mat-mdc-unelevated-button.primary.classic-theme{border-radius:4px}button.mat-mdc-unelevated-button.primary.classic-theme:disabled,button.mat-mdc-unelevated-button.primary.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.classic-theme:disabled,a.mat-mdc-unelevated-button.primary.classic-theme:disabled:hover{background-color:#b5ddd5}button.mat-mdc-unelevated-button.primary.light-theme:disabled,button.mat-mdc-unelevated-button.primary.light-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.light-theme:disabled,a.mat-mdc-unelevated-button.primary.light-theme:disabled:hover{background-color:#e9e9e9;color:#666}button.mat-mdc-unelevated-button.primary.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.primary.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#666}button.mat-mdc-unelevated-button.primary.dark-theme:disabled,button.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.dark-theme:disabled,a.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover{background-color:#666;color:#d3d3d3}button.mat-mdc-unelevated-button.primary.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary{border-radius:1000px}button.mat-mdc-unelevated-button.secondary.light-theme,a.mat-mdc-unelevated-button.secondary.light-theme{background-color:#242424;color:#fff}button.mat-mdc-unelevated-button.secondary.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary.light-theme:disabled,button.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.light-theme:disabled,a.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover{opacity:.75;background-color:#e9e9e9;color:#666}button.mat-mdc-unelevated-button.secondary.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3!important}button.mat-mdc-unelevated-button.secondary.dark-theme,a.mat-mdc-unelevated-button.secondary.dark-theme{background-color:#fff;color:#242424}button.mat-mdc-unelevated-button.secondary.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary.dark-theme:disabled,button.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover{opacity:.75;background-color:#666;color:#d3d3d3}button.mat-mdc-unelevated-button.secondary.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.secondary:hover,a.mat-mdc-unelevated-button.secondary:hover{background-color:#666;color:#fff}button.mat-mdc-unelevated-button.secondary:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:hover ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary.classic-theme,a.mat-mdc-unelevated-button.secondary.classic-theme{border-radius:4px;background-color:#ededed;color:#000}button.mat-mdc-unelevated-button.secondary.classic-theme:hover,a.mat-mdc-unelevated-button.secondary.classic-theme:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.secondary.classic-theme:disabled,button.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.secondary.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.secondary.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.outlined{background-color:#fff;color:#000;border-width:1px;border-style:solid;border-color:#000}button.mat-mdc-unelevated-button.outlined:hover,a.mat-mdc-unelevated-button.outlined:hover{background-color:#f6f6f6}button.mat-mdc-unelevated-button.outlined:disabled,button.mat-mdc-unelevated-button.outlined:disabled:hover,a.mat-mdc-unelevated-button.outlined:disabled,a.mat-mdc-unelevated-button.outlined:disabled:hover{color:#ededed;border-color:#ededed}button.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.outlined:focus.cdk-focused,a.mat-mdc-unelevated-button.outlined:focus.cdk-focused{background-color:#e0e0e0}button.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.ghost,a.mat-mdc-unelevated-button.ghost{border-width:1px;border-style:solid;border-radius:1000px}button.mat-mdc-unelevated-button.ghost.light-theme,a.mat-mdc-unelevated-button.ghost.light-theme{background-color:var(--ghost-background);color:#242424;border-color:#242424}button.mat-mdc-unelevated-button.ghost.light-theme.only-icon,a.mat-mdc-unelevated-button.ghost.light-theme.only-icon{width:48px;height:48px;padding:0}button.mat-mdc-unelevated-button.ghost.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost.light-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.ghost.light-theme:hover,a.mat-mdc-unelevated-button.ghost.light-theme:hover{background-color:#f4f4f4}button.mat-mdc-unelevated-button.ghost.dark-theme,a.mat-mdc-unelevated-button.ghost.dark-theme{background-color:transparent;color:#fff;border-color:#fff}button.mat-mdc-unelevated-button.ghost.dark-theme.only-icon,a.mat-mdc-unelevated-button.ghost.dark-theme.only-icon{width:48px;height:48px;padding:0}button.mat-mdc-unelevated-button.ghost.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost.dark-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.ghost.dark-theme:hover,a.mat-mdc-unelevated-button.ghost.dark-theme:hover{background-color:#666}button.mat-mdc-unelevated-button.ghost:disabled,button.mat-mdc-unelevated-button.ghost:disabled:hover,a.mat-mdc-unelevated-button.ghost:disabled,a.mat-mdc-unelevated-button.ghost:disabled:hover{opacity:.5;background-color:transparent}button.mat-mdc-unelevated-button.ghost .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.ghost .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.destructive{border:1px solid #E02800;background-color:#fff;color:#e02800;border-radius:1000px}button.mat-mdc-unelevated-button.destructive:hover,a.mat-mdc-unelevated-button.destructive:hover{background-color:#e02800;color:#fff}button.mat-mdc-unelevated-button.destructive:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive:disabled,button.mat-mdc-unelevated-button.destructive:disabled:hover,a.mat-mdc-unelevated-button.destructive:disabled,a.mat-mdc-unelevated-button.destructive:disabled:hover{border-color:#919191;color:#919191;background:transparent}button.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg{color:#e02800}button.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.destructive.classic-theme,a.mat-mdc-unelevated-button.destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.mat-mdc-unelevated-button.destructive.classic-theme:hover,a.mat-mdc-unelevated-button.destructive.classic-theme:hover{background-color:#8e5655}button.mat-mdc-unelevated-button.destructive.classic-theme:disabled,button.mat-mdc-unelevated-button.destructive.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.destructive.classic-theme:disabled,a.mat-mdc-unelevated-button.destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.mat-mdc-unelevated-button.destructive.classic-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.tertiary{background-color:transparent;color:#46a997}button.mat-mdc-unelevated-button.tertiary:hover,a.mat-mdc-unelevated-button.tertiary:hover{background-color:#f6f6f6;color:#31766a}button.mat-mdc-unelevated-button.tertiary:disabled,button.mat-mdc-unelevated-button.tertiary:disabled:hover,a.mat-mdc-unelevated-button.tertiary:disabled,a.mat-mdc-unelevated-button.tertiary:disabled:hover{opacity:.75;background-color:#fff;color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg{color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.link{background-color:transparent;color:#d410aa;border-radius:0}button.mat-mdc-unelevated-button.link ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.link ::ng-deep .mat-mdc-button-persistent-ripple{display:none}button.mat-mdc-unelevated-button.link span.icon-label-wrapper,a.mat-mdc-unelevated-button.link span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link:hover,a.mat-mdc-unelevated-button.link:hover{color:#a90686!important}button.mat-mdc-unelevated-button.link:active,a.mat-mdc-unelevated-button.link:active{color:#ff54da!important}button.mat-mdc-unelevated-button.link ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.link ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.link:active ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.link:active ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.link:disabled,button.mat-mdc-unelevated-button.link:disabled:hover,a.mat-mdc-unelevated-button.link:disabled,a.mat-mdc-unelevated-button.link:disabled:hover{color:#d3d3d3}button.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.link.classic-theme,a.mat-mdc-unelevated-button.link.classic-theme{background-color:transparent;color:#46a997;border-radius:0}button.mat-mdc-unelevated-button.link.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.link.classic-theme span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link.classic-theme:hover,a.mat-mdc-unelevated-button.link.classic-theme:hover{color:#31766a}button.mat-mdc-unelevated-button.link.classic-theme:disabled,button.mat-mdc-unelevated-button.link.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.link.classic-theme:disabled,a.mat-mdc-unelevated-button.link.classic-theme:disabled:hover{color:#b5ddd5}button.mat-mdc-unelevated-button.link.classic-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link.classic-theme ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.text,a.mat-mdc-unelevated-button.text{background-color:transparent;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text.light-theme,a.mat-mdc-unelevated-button.text.light-theme{color:var(--color)}button.mat-mdc-unelevated-button.text.light-theme:active,a.mat-mdc-unelevated-button.text.light-theme:active,button.mat-mdc-unelevated-button.text.light-theme:hover,a.mat-mdc-unelevated-button.text.light-theme:hover{color:var(--active-color)!important}button.mat-mdc-unelevated-button.text.dark-theme,a.mat-mdc-unelevated-button.text.dark-theme{color:var(--color)}button.mat-mdc-unelevated-button.text.dark-theme:active,a.mat-mdc-unelevated-button.text.dark-theme:active{color:var(--active-color)!important}button.mat-mdc-unelevated-button.text.dark-theme:hover,a.mat-mdc-unelevated-button.text.dark-theme:hover{color:var(--active-color)}button.mat-mdc-unelevated-button.text ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.text ::ng-deep .mat-mdc-button-persistent-ripple{display:none}button.mat-mdc-unelevated-button.text span.icon-label-wrapper,a.mat-mdc-unelevated-button.text span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text:disabled,button.mat-mdc-unelevated-button.text:disabled:hover,a.mat-mdc-unelevated-button.text:disabled,a.mat-mdc-unelevated-button.text:disabled:hover{color:#d3d3d3}button.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.text ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.text:focus ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:focus ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.text:focus-visible ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:focus-visible ::ng-deep .mdc-button__label{border-radius:2px;outline-color:#242424!important;outline-style:solid!important;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}button.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.text.classic-theme,a.mat-mdc-unelevated-button.text.classic-theme{background-color:transparent;color:#000;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.text.classic-theme span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text.classic-theme:hover,a.mat-mdc-unelevated-button.text.classic-theme:hover{color:#000}button.mat-mdc-unelevated-button.text.classic-theme:disabled,button.mat-mdc-unelevated-button.text.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.text.classic-theme:disabled,a.mat-mdc-unelevated-button.text.classic-theme:disabled:hover{color:#888}button.mat-mdc-unelevated-button.text.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text.classic-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.text.classic-theme:focus.cdk-focused,a.mat-mdc-unelevated-button.text.classic-theme:focus.cdk-focused{color:#000}button.mat-mdc-unelevated-button.text.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon,a.mat-mdc-unelevated-button.squareicon{background-color:#ededed;color:#000;min-width:56px}button.mat-mdc-unelevated-button.squareicon:hover,a.mat-mdc-unelevated-button.squareicon:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.squareicon:disabled,button.mat-mdc-unelevated-button.squareicon:disabled:hover,a.mat-mdc-unelevated-button.squareicon:disabled,a.mat-mdc-unelevated-button.squareicon:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused{background-color:#ededed}button.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon .icon-label-wrapper,a.mat-mdc-unelevated-button.squareicon .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.squareicon.left .icon,button.mat-mdc-unelevated-button.squareicon.right .icon,a.mat-mdc-unelevated-button.squareicon.left .icon,a.mat-mdc-unelevated-button.squareicon.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.tab,a.mat-mdc-unelevated-button.tab{background-color:#fff;color:#000;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e0e0e0;border-radius:0}button.mat-mdc-unelevated-button.tab:hover .label,button.mat-mdc-unelevated-button.tab:hover .icon.only,a.mat-mdc-unelevated-button.tab:hover .label,a.mat-mdc-unelevated-button.tab:hover .icon.only{text-decoration:underline}button.mat-mdc-unelevated-button.tab:disabled,button.mat-mdc-unelevated-button.tab:disabled:hover,a.mat-mdc-unelevated-button.tab:disabled,a.mat-mdc-unelevated-button.tab:disabled:hover{color:#888}button.mat-mdc-unelevated-button.tab:disabled .label,button.mat-mdc-unelevated-button.tab:disabled:hover .label,a.mat-mdc-unelevated-button.tab:disabled .label,a.mat-mdc-unelevated-button.tab:disabled:hover .label{text-decoration:none}button.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused{font-weight:700;border-color:#276678}button.mat-mdc-unelevated-button.menuTrigger.classic-theme,a.mat-mdc-unelevated-button.menuTrigger.classic-theme{background:transparent;min-width:24px;height:24px;padding:0}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:hover,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled,button.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:focus.cdk-focused.cdk-mouse-focused{background-color:transparent}button.mat-mdc-unelevated-button.menuTrigger.classic-theme .icon-label-wrapper,a.mat-mdc-unelevated-button.menuTrigger.classic-theme .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.menuTrigger.classic-theme.left .icon,button.mat-mdc-unelevated-button.menuTrigger.classic-theme.right .icon,a.mat-mdc-unelevated-button.menuTrigger.classic-theme.left .icon,a.mat-mdc-unelevated-button.menuTrigger.classic-theme.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.menuCell,a.mat-mdc-unelevated-button.menuCell{background-color:#fff;color:#000;font-weight:400;border-radius:0;min-width:100%;justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell.classic-theme.big.left .icon,a.mat-mdc-unelevated-button.menuCell.classic-theme.big.left .icon{margin-right:16px}button.mat-mdc-unelevated-button.menuCell.big.left .icon,a.mat-mdc-unelevated-button.menuCell.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.menuCell .icon-label-wrapper,a.mat-mdc-unelevated-button.menuCell .icon-label-wrapper{justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell:hover,a.mat-mdc-unelevated-button.menuCell:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuCell:disabled,button.mat-mdc-unelevated-button.menuCell:disabled:hover,a.mat-mdc-unelevated-button.menuCell:disabled,a.mat-mdc-unelevated-button.menuCell:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}.button-wrapper{position:relative;height:fit-content}.button-wrapper[aria-disabled=true]{pointer-events:none}.button-wrapper .menuTrigger:not(.classic-theme),.button-wrapper .icon-button{border:none;border-radius:100%;width:var(--icon-button-size)!important;height:var(--icon-button-size)!important;cursor:pointer;background-color:unset}::ng-deep .button-wrapper .menuTrigger:not(.classic-theme).mat-mdc-unelevated-button:not(:disabled),::ng-deep .button-wrapper .icon-button.mat-mdc-unelevated-button:not(:disabled){background-color:unset}::ng-deep .button-wrapper .menuTrigger:not(.classic-theme).mdc-button,::ng-deep .button-wrapper .icon-button.mdc-button{min-width:var(--icon-button-size)!important}.button-wrapper .menuTrigger:not(.classic-theme) ::ng-deep .mat-mdc-button-touch-target,.button-wrapper .icon-button ::ng-deep .mat-mdc-button-touch-target{height:var(--icon-button-size)!important}.button-wrapper .menuTrigger:not(.classic-theme):disabled,.button-wrapper .icon-button:disabled{pointer-events:none;background:unset}.button-wrapper .menuTrigger:not(.classic-theme):disabled.classic-theme ::ng-deep mat-icon svg,.button-wrapper .icon-button:disabled.classic-theme ::ng-deep mat-icon svg{color:#888}.button-wrapper .menuTrigger:not(.classic-theme):hover,.button-wrapper .icon-button:hover{background-color:#f6f6f6}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:disabled,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:disabled,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .icon-button:not(.has-company-color).light-theme:disabled,.button-wrapper .icon-button:not(.has-company-color).light-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .icon-button:not(.has-company-color).dark-theme:disabled,.button-wrapper .icon-button:not(.has-company-color).dark-theme:disabled:hover ::ng-deep mat-icon svg{color:#919191!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme,.button-wrapper .icon-button:not(.has-company-color).light-theme{color:#242424!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:hover,.button-wrapper .icon-button:not(.has-company-color).light-theme:hover{background-color:#e9e9e9}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:focus.cdk-focused,.button-wrapper .icon-button:not(.has-company-color).light-theme:focus.cdk-focused{border-color:#666}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme,.button-wrapper .icon-button:not(.has-company-color).dark-theme{color:#fff!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:hover,.button-wrapper .icon-button:not(.has-company-color).dark-theme:hover{background-color:#666}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:focus.cdk-focused,.button-wrapper .icon-button:not(.has-company-color).dark-theme:focus.cdk-focused{border-color:#e9e9e9}.button-wrapper .menuTrigger:focus.cdk-focused.cdk-mouse-focused.light-theme{border:none;background-color:#e9e9e9;color:#242424}.button-wrapper .menuTrigger:focus.cdk-focused.cdk-mouse-focused.dark-theme{border:none;background-color:#666;color:#fff}.button-wrapper .right-top{position:absolute;right:-8px;top:-8px;z-index:1}.button-wrapper .right-top.badge-notification{top:-4px;right:0;border:1px solid #ffffff;border-radius:100%}.button-wrapper .right-top.badge-primary{right:-4px}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}:host[btn-variant=link]{display:inline-flex}::ng-deep .link .button-container{display:flex}::ng-deep .link a.mat-mdc-unelevated-button.link{height:unset!important;min-width:unset!important;border-radius:10px}::ng-deep .link a.mat-mdc-unelevated-button.link:active .mdc-button__label{padding:0!important;outline:none!important}::ng-deep .link a.mat-mdc-unelevated-button{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button .mdc-button__label{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big,::ng-deep .link a.mat-mdc-unelevated-button.small{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big .mdc-button__label,::ng-deep .link a.mat-mdc-unelevated-button.small .mdc-button__label{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big .mdc-button__label .icon-label-wrapper{font-size:16px!important;line-height:24px!important}::ng-deep .link a.mat-mdc-unelevated-button.small .mdc-button__label .icon-label-wrapper{font-size:12px!important;line-height:16px!important}::ng-deep .link a.mat-mdc-unelevated-button .mat-mdc-button-touch-target{height:unset!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.BadgeComponent, selector: "ui-badge", inputs: ["label", "icon", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel"] }, { kind: "directive", type: i7.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.UiTranslatePipe, name: "uiTranslate" }] }); }
|
|
344
355
|
}
|
|
@@ -427,4 +438,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
427
438
|
type: HostBinding,
|
|
428
439
|
args: ['style.--color']
|
|
429
440
|
}] } });
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBVTdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQTJORCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBY0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBalA5Rzs7Ozs7V0FLRztRQUNNLFNBQUksR0FBZSxLQUFLLENBQUM7UUFDbEM7Ozs7O1dBS0c7UUFHSCxZQUFPLEdBQWdCLFNBQVMsQ0FBQztRQUVqQzs7OztX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QjtzQkFBekIsTUFBTTtnQkFFd0MsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVF6QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZSAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBCdXR0b25CYWRnZUNvbmZpZyxcbiAgQnV0dG9uQ29sb3IsXG4gIEJ1dHRvbkljb25Qb3NpdGlvbixcbiAgQnV0dG9uU2l6ZSxcbiAgQnV0dG9uU3RhdGUsXG4gIEJ1dHRvblR5cGUsXG4gIEljb25CdXR0b25TaXplLFxuICBMaW5rVXJsVGFyZ2V0XG59IGZyb20gJy4vYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IGFkanVzdExpZ2h0bmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpXG4gIGdldCBlbmFibGVkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBFbGVtZW50JykgdG9vbHRpcEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYnV0dG9uIGhlaWdodFxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uU2l6ZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdiaWcnO1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIHdoaWxlIGluIGFjdGl2ZSBzdGF0ZVxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uQ29sb3J9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5idG4tdmFyaWFudCcpXG4gIEBJbnB1dCgpXG4gIHZhcmlhbnQ6IEJ1dHRvbkNvbG9yID0gJ3ByaW1hcnknO1xuXG4gIC8qKlxuICAgKiBUZXh0IGNvbnRlbnQgdG8gYXBwZWFyIG9uIHRoZSBidXR0b25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogUG9zaXRpb25pbmcgb2YgdGhlIGljb24gKHdoZW4gZXhpc3RhbnQpXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25JY29uUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbj86IEJ1dHRvbkljb25Qb3NpdGlvbiA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBidXR0b24gaGFzIG9ubHkgaWNvbiB3aXRob3V0IHRleHRcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkganVzdEljb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB1aS1pY29uXG4gICAqXG4gICAqIEB0eXBlIHtJY29uTmFtZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvbk5hbWU6IEljb25OYW1lID0gJyc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGxvYWRpbmcgaWNvbiBzaG91bGQgYmUgc2hvd25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIGJ1dHRvbiB3aWR0aFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAvKipcbiAgICogVXJsIG9mIGJ1dHRvbiBpZiBpdCBpcyBhIGxpbmtcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVcmwncyB0YXJnZXQgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAdHlwZSB7QHR5cGUge0xpbmtVcmxUYXJnZXR9fVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmxUYXJnZXQ/OiBMaW5rVXJsVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBCdXR0b24gdmFsdWVcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB0b29sdGlwXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgdG9vbHRpcCB0aGF0IGlzIGRpc3BsYXllZCBvbiBob3Zlci4gUmVxdWlyZWQgZm9yIGljb24tYnV0dG9uIHR5cGVcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgaXNQcmVtaXVtXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaWNvbiB0aGF0IGlzIGRpc3BsYXllZCBmb3IgUHJlbWl1bSBidXR0b25cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzUHJlbWl1bSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLlxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uVHlwZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgKi9cbiAgQElucHV0KCkgdHlwZTogQnV0dG9uVHlwZSA9ICdidXR0b24nO1xuXG4gIC8qKlxuICAgKiBDb2xvciBvZiB0aGUgYnV0dG9uLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgY29tcGFueUNvbG9yOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgLyoqXG4gICAqIENvbmZpZyBmb3IgdGhlIGJ1dHRvbiBiYWRnZSB2YXJpYXRpb25cbiAgICogQHR5cGUge0J1dHRvbkJhZGdlQ29uZmlnfVxuICAgKiBAcHJvcGVydHkgYmFkZ2VUeXBlIFR5cGUgb2YgYmFkZ2Ugb24gdGhlIGJ1dHRvblxuICAgKiBAcHJvcGVydHkgYmFkZ2VMYWJlbCBMYWJlbCB0ZXh0IGZvciB0aGUgYmFkZ2VcbiAgICogQHByb3BlcnR5IGJhZGdlTm90aWZpY2F0aW9uQW1vdW50IFRoZSBhbW91bnQgZm9yIG5vdGlmaWNhdGlvbiBpbiB0aGUgYmFkZ2VcbiAgICovXG4gIEBJbnB1dCgpIGJ1dHRvbkJhZGdlQ29uZmlnOiBCdXR0b25CYWRnZUNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWUgd2hlcmUgYnV0dG9ucyBpcyB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICpcbiAgICogRGlzYWJsZWQgYnV0dG9uIHNjYWxlIG9uIGNsaWNrXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZFNjYWxlT25DbGljayA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgbGFiZWwgaXMgdXNlZCB0byBwcm92aWRlIGFuIGFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYVJlcXVpcmVkID0gZmFsc2U7XG5cblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsbGVkYnkgPSAnJztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYURlc2NyaWJlZGJ5ID0gJyc7XG5cbiAgLyoqXG4gICAqIFByZXZlbnRzIGRlZmF1bHQgYnV0dG9uIGNsaWNrIGJlaGF2aW9yXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcblxuICAvKipcbiAgICogR2hvc3QgdmFyaWFudCB3aXRoIHdoaXRlIGJhY2tncm91bmRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNCYWNrZ3JvdW5kID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldHMgdG9vbHRpcCBwb3NpdGlvblxuICAgKlxuICAgKiBAdHlwZSB7VG9vbHRpcFBvc2l0aW9ufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICdiZWxvdyc7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSBidXR0b25Ib3ZlckV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdidXR0b25FbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIGJ1dHRvbkVsZW1lbnQ6IE1hdEJ1dHRvbjtcblxuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWNvbG9yJylcbiAgZ2V0IGNvbXBDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wYW55Q29sb3I7XG4gIH1cblxuICBjbGFzc0Nzczogc3RyaW5nO1xuICBzdHlsZUNzczogYW55O1xuICBpc0J1dHRvbkxpbms6IGJvb2xlYW47XG4gIGlzTGFiZWw6IGJvb2xlYW47XG4gIGJ1dHRvblN0YXRlOiBCdXR0b25TdGF0ZTtcbiAgaG92ZXIgPSBmYWxzZTtcbiAgaWNvbkJ1dHRvblNpemU6IEljb25CdXR0b25TaXplID0gJzQwJztcbiAgYWxsb3dCdXR0b25UeXBlRm9yUHJlbWl1bTogQnV0dG9uQ29sb3JbXSA9IFsnc2Vjb25kYXJ5JywgJ3ByaW1hcnknLCAnZ2hvc3QnLCAnb3V0bGluZWQnLCAnZGVzdHJ1Y3RpdmUnXTtcbiAgaXNGaWxsZWRJY29uOiBib29sZWFuO1xuICBjb2xvcmVkSWNvbnMgPSBbJ0dvb2dsZS1pbi1saW5lJywgJ0dvb2dsZScsICdHb29nbGUtZmlsbGVkJ107XG4gIGxhYmVsRWxsaXBzaXMgPSBmYWxzZTtcblxuICBnZXQgdHlwZUluY2x1ZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFsbG93QnV0dG9uVHlwZUZvclByZW1pdW0uaW5jbHVkZXModGhpcy52YXJpYW50KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NDc3MgPSB0aGlzLnNldENzc0NsYXNzKCk7XG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB0aGlzLmlzTGFiZWwgPSB0aGlzLnNob3dMYWJlbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXBwbGljYXRpb25UaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3R5cGUnXSkge1xuICAgICAgdGhpcy5pc0J1dHRvbkxpbmsgPSB0aGlzLnNob3dCdXR0b25MaW5rKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydsb2FkaW5nJ10pIHtcbiAgICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3R5cGUnXSB8fFxuICAgICAgY2hhbmdlc1snZnVsbFdpZHRoJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2ljb25OYW1lJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2p1c3RJY29uJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2ljb25Qb3NpdGlvbiddIHx8XG4gICAgICBjaGFuZ2VzWydkaXNhYmxlZCddIHx8XG4gICAgICBjaGFuZ2VzWydjb21wYW55Q29sb3InXSB8fFxuICAgICAgY2hhbmdlc1snYXBwbGljYXRpb25UaGVtZSddXG4gICAgKSB7XG4gICAgICB0aGlzLmNsYXNzQ3NzID0gdGhpcy5zZXRDc3NDbGFzcygpO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3ZhcmlhbnQnXT8uY3VycmVudFZhbHVlID09PSAnaWNvbi1idXR0b24nIHx8IChjaGFuZ2VzWyd2YXJpYW50J10/LmN1cnJlbnRWYWx1ZSA9PT0gJ21lbnVUcmlnZ2VyJyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJykpIHtcbiAgICAgIHRoaXMuaWNvbkJ1dHRvblNpemUgPSB0aGlzLnNldEljb25CdXR0b25TaXplKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc0ZpbGxlZEljb24gPSB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5Jyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9uY2xpY2sgPSBldiA9PiB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nICYmICF0aGlzLnRvb2x0aXApIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgICBbdG9vbHRpcF0gaXMgcmVxdWlyZWQgZm9yIFt0eXBlXSBpY29uLWJ1dHRvbiEnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyAmJiAhdGhpcy5pY29uTmFtZSAmJiAhdGhpcy5sb2FkaW5nICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3VpLWJ1dHRvbiBCdXR0b25Db21wb25lbnRcXG4gIFtpY29uXSBpcyByZXF1aXJlZCBmb3IgW3R5cGVdIGRlc3RydWN0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJldmVudERlZmF1bHQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5idXR0b25DbGlja0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgYnV0dG9uSG92ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJykge1xuICAgICAgdGhpcy5ob3ZlciA9IHRydWU7XG4gICAgICB0aGlzLmJ1dHRvbkhvdmVyRXZlbnQuZW1pdChldmVudCk7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2hvdmVyJztcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb25OYW1lKSB7XG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSB0aGlzLmljb25OYW1lLnJlcGxhY2UoLy1pbi1saW5lfC1maWxsZWQvLCAnJykgKyAnLWZpbGxlZCcgYXMgSWNvbk5hbWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXIgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb25OYW1lKSB7XG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSB0aGlzLmljb25OYW1lLnJlcGxhY2UoLy1pbi1saW5lfC1maWxsZWQvLCAnJykgKyAnLWluLWxpbmUnIGFzIEljb25OYW1lO1xuICAgICAgfVxuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9ICdkZWZhdWx0JztcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICB9XG5cbiAgLy9TaG93IG9yIGhpZGUgbGFiZWxcbiAgc2hvd0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5sb2FkaW5nO1xuICB9XG5cbiAgLy9TZXQgY3NzIGNsYXNzIGFjY29yZGluZyBpbnB1dHNcbiAgc2V0Q3NzQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZnVsbFdpZHRoID8gJ2Z1bGwtd2lkdGgnIDogJyc7XG4gICAgY29uc3QgaGFzSWNvbiA9IHRoaXMuaWNvbk5hbWUgPT09IG51bGwgPyAnJyA6ICdpY29uJztcbiAgICBjb25zdCBqdXN0SWNvbiA9IHRoaXMuanVzdEljb24gfHwgdGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nID8gJ29ubHktaWNvbicgOiAnJztcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSB0aGlzLmljb25Qb3NpdGlvbiA9PT0gdW5kZWZpbmVkID8gJycgOiB0aGlzLmljb25Qb3NpdGlvbjtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgJiYgdGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgPyAncHJpbWFyeS1kaXNhYmxlZCcgOiAnJztcbiAgICBjb25zdCB2YXJpYW50ID0gdGhpcy52YXJpYW50ID09PSAnZ2hvc3QnICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ291dGxpbmVkJyA6IHRoaXMudmFyaWFudDtcbiAgICBjb25zdCBjb21wYW55Q29sb3IgPSB0aGlzLmNvbXBhbnlDb2xvciA/ICdoYXMtY29tcGFueS1jb2xvcicgOiAnJztcbiAgICByZXR1cm4gYCR7dGhpcy5zaXplfSAke2ljb25Qb3NpdGlvbn0gJHt2YXJpYW50fSAke3dpZHRofSAke2hhc0ljb259ICR7anVzdEljb259ICR7ZGlzYWJsZWR9ICR7Y29tcGFueUNvbG9yfSAke3RoaXMuYXBwbGljYXRpb25UaGVtZX0tdGhlbWVgO1xuICB9XG5cbiAgc2V0Q3NzU3R5bGUoKTogYW55IHtcbiAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5kaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiB0aGlzLmJ1dHRvblN0YXRlO1xuICAgIGNvbnN0IHN0eWxlT2JqOiBhbnkgPSB7fTtcblxuICAgIGlmICgodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAndGV4dCcpICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmICh0aGlzLmJ1dHRvblN0YXRlID09PSAnaG92ZXInIHx8IHRoaXMuYnV0dG9uU3RhdGUgPT09ICdwcmVzc2VkJykpIHtcbiAgICAgIHN0eWxlT2JqW3RoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ2JhY2tncm91bmQtY29sb3InIDogJ2NvbG9yJ10gPSBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUpO1xuICAgICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSB7XG4gICAgICAgIHN0eWxlT2JqWyctLWFjdGl2ZS1jb2xvciddID0gdGhpcy5jb21wYW55Q29sb3IgPyBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUpIDogJyM2NjY2NjYnO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyAmJiB0aGlzLmJ1dHRvblN0YXRlICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgIHN0eWxlT2JqW3RoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ2JhY2tncm91bmQtY29sb3InIDogJ2NvbG9yJ10gPSBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUsICdjbGFzc2ljJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmdldENvbXBhbnlDb2xvciAmJiAodGhpcy52YXJpYW50ID09PSAnbGluaycgfHwgdGhpcy52YXJpYW50ID09PSAndGVydGlhcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJykpIHtcbiAgICAgIHN0eWxlT2JqWydjb2xvciddID0gdGhpcy5nZXRDb21wYW55Q29sb3I7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0JhY2tncm91bmQpIHtcbiAgICAgIHN0eWxlT2JqWyctLWdob3N0LWJhY2tncm91bmQnXSA9ICcjZmZmZmZmJztcbiAgICB9XG4gICAgcmV0dXJuIHN0eWxlT2JqO1xuICB9XG5cbiAgLy9TaG93IG9yIGhpZGUgc3Bpbm5lclxuICBnZXQgc2hvd1NwaW5uZXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNOb3RUYWIgPSB0aGlzLnZhcmlhbnQgIT09ICd0YWInO1xuICAgIGNvbnN0IGlzTm90TGluayA9IHRoaXMudmFyaWFudCAhPT0gJ2xpbmsnO1xuICAgIGNvbnN0IGlzTG9hZGluZyA9IHRoaXMubG9hZGluZyA9PT0gdHJ1ZTtcbiAgICByZXR1cm4gaXNMb2FkaW5nICYmIGlzTm90VGFiICYmIGlzTm90TGluaztcbiAgfVxuXG4gIC8vU2hvdyBidXR0b24gd2l0aCA8YnV0dG9uPiBvciA8YT4gdGFnXG4gIHNob3dCdXR0b25MaW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnQgIT09ICdsaW5rJztcbiAgfVxuXG4gIHNldEljb25CdXR0b25TaXplKCk6IEljb25CdXR0b25TaXplIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnYmlnJyA/ICc0MCcgOiB0aGlzLnNpemUgPT09ICdzbWFsbCcgPyAnMjQnIDogJzMyJztcbiAgfVxuXG4gIG9uUHJlc3NlZChldjogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXYudHlwZSA9PT0gJ21vdXNlZG93bicpIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAncHJlc3NlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSB0aGlzLmhvdmVyID8gJ2hvdmVyJyA6ICdkZWZhdWx0JztcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25FbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBnZXQgZ2V0Q29tcGFueUNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGFueUNvbG9yIHx8ICh0aGlzLnZhcmlhbnQgPT09ICd0ZXh0JyA/IHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2RhcmsnID8gJyNmZmZmZmYnIDogJyMyNDI0MjQnIDogKHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJyM0NkE5OTcnIDogJyNENDEwQUEnKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkQ2hhbmdlRmlsbGVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiB0aGlzLnZhcmlhbnQgIT09ICdwcmltYXJ5JyAmJiB0aGlzLnZhcmlhbnQgIT09ICdzZWNvbmRhcnknICYmICF0aGlzLmNvbG9yZWRJY29ucy5pbmNsdWRlcyh0aGlzLmljb25OYW1lKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAncHJlc3NlZCc7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uTGFiZWxFbGxpcHNpc0NoYW5nZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGFiZWxFbGxpcHNpcyA9IHN0YXRlO1xuICB9XG59XG4iLCI8ZGl2ICN0b29sdGlwRWxlbWVudCBjbGFzcz1cInRvb2x0aXBcIlxuICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwID8gdG9vbHRpcCA6IGxhYmVsRWxsaXBzaXMgPyBsYWJlbCA6ICcnXCJcbiAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbj48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJidXR0b24td3JhcHBlclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGgsICdyb3VuZGVkLWljb24nOiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgaWNvbk5hbWUgJiYgIWxhYmVsLCBsaW5rOiAhaXNCdXR0b25MaW5rIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiXG4gICAgICAgW25nQ2xhc3NdPVwieyAnZGlzYWJsZWQnOiBkaXNhYmxlZCwgJ2J1dHRvbi1zY2FsZSc6IGJ1dHRvblN0YXRlID09PSAncHJlc3NlZCcgJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmICFkaXNhYmxlZFNjYWxlT25DbGljayB9XCJcbiAgPlxuICAgICA8c3BhbiAqbmdJZj1cImlzUHJlbWl1bSAmJiB0eXBlSW5jbHVkZWRcIiBjbGFzcz1cInJpZ2h0LXRvcFwiPlxuICAgICA8aW1nIFthdHRyLnNyY109XCInL2ltYWdlcy9wcmVtaXVtLnN2ZydcIiBbYWx0XT1cIidwcmVtaXVtLWljb24nXCI+XG4gICA8L3NwYW4+XG4gICAgPHVpLWJhZGdlXG4gICAgICBpZD1cImJhZGdlXCJcbiAgICAgICpuZ0lmPVwiYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZVwiXG4gICAgICBbcmVicmFuZENvbG9yXT1cImJ1dHRvbkJhZGdlQ29uZmlnPy5yZWJyYW5kQ29sb3IgPz8gJ2JyYW5kJ1wiXG4gICAgICBbdmFyaWFudF09XCJidXR0b25CYWRnZUNvbmZpZyEuYmFkZ2VUeXBlIVwiXG4gICAgICBbbGFiZWxdPVwiYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlTGFiZWwgPz8gJydcIlxuICAgICAgW25vdGlmaWNhdGlvbnNBbW91bnRdPVwiYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlTm90aWZpY2F0aW9uQW1vdW50ID8/IDBcIlxuICAgICAgY2xhc3M9XCJyaWdodC10b3BcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYmFkZ2UtcHJpbWFyeSc6IGJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZVR5cGUgPT09ICdwcmltYXJ5JywgJ2JhZGdlLW5vdGlmaWNhdGlvbic6IGJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZVR5cGUgPT09ICdub3RpZmljYXRpb24nIH1cIlxuICAgID48L3VpLWJhZGdlPlxuICAgIDxidXR0b25cbiAgICAgIFtzdHlsZV09XCInLS1pY29uLWJ1dHRvbi1zaXplOicgKyBpY29uQnV0dG9uU2l6ZSArICdweCdcIlxuICAgICAgW25nQ2xhc3NdPVwiY2xhc3NDc3NcIlxuICAgICAgW25nU3R5bGVdPVwic3R5bGVDc3NcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIChtb3VzZWxlYXZlKT1cImJ1dHRvbkhvdmVyKCRldmVudClcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgKm5nSWY9XCJpc0J1dHRvbkxpbmtcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5J1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieSdcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cImFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJ1wiXG4gICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwID8gdG9vbHRpcCA6IGxhYmVsRWxsaXBzaXMgPyBsYWJlbCA6ICcnXCJcbiAgICAgIFttYXRUb29sdGlwQ2xhc3NdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiXG4gICAgICAjYnV0dG9uRWxlbWVudFxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICBtYXQtZmxhdC1idXR0b24+XG4gICAgICA8c3BhbiBpZD1cImRlc2NyaWJlZGJ5XCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIHt7IChpc1ByZW1pdW0gPyAobGFiZWwgKyAnICcgKyAoJ0JVVFRPTi5QUkVNSVVNX0ZFQVRVUkUnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykpIDogYXJpYURlc2NyaWJlZGJ5KSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gaWQ9XCJsYWJlbGxlZGJ5XCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIHt7IGFyaWFMYWJlbGxlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1NwaW5uZXI7IGVsc2UgaWNvbnNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLXdyYXBwZXJcIj5cbiAgICAgICAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJwb3NpdGlvbi1zcGlubmVyXCIgYXJpYS1sYWJlbD1cImxvYWRpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGRpYW1ldGVyPVwiMjRcIj48L21hdC1zcGlubmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbnM+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24tb25seS13cmFwcGVyXCIgKm5nSWY9XCJqdXN0SWNvbiAmJiAhIWljb25OYW1lXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpY29uIG9ubHlcIlxuICAgICAgICAgIHJvbGU9XCJsYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgW2NvbG9yXT1cIidpbmhlcml0J1wiXG4gICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImljb25OYW1lXCJcbiAgICAgICAgICAgIFtmaWxsZWRdPVwiaXNGaWxsZWRJY29uXCJcbiAgICAgICAgICAgIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnc21hbGwnID8gJzE2JyA6ICcyNCdcIlxuICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInsnY2VudGVyLXRleHQnOiBpY29uTmFtZSA9PT0gJyd9XCIgKm5nSWY9XCIhanVzdEljb25cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImljb25cIlxuICAgICAgICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAnbGVmdCcgJiYgISFpY29uTmFtZVwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCJcbiAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgW25hbWVdPVwiaWNvbk5hbWVcIlxuICAgICAgICAgICAgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgICAgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiXG4gICAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgaWQ9XCJsYWJlbFwiXG4gICAgICAgICAgdWlFbGxpcHNlVGV4dFxuICAgICAgICAgIFtpc011bHRpbGluZV09XCJ0cnVlXCJcbiAgICAgICAgICAob25DaGFuZ2VUZXh0U3RhdGUpPVwib25MYWJlbEVsbGlwc2lzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIiAqbmdJZj1cImljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiAhIWljb25OYW1lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVpLWljb25cbiAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCIgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cImljb25OYW1lXCIgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiPjwvdWktaWNvbj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnV0dG9uPlxuICAgIDxhXG4gICAgICAjYnV0dG9uRWxlbWVudFxuICAgICAgW25nQ2xhc3NdPVwiY2xhc3NDc3NcIlxuICAgICAgW25nU3R5bGVdPVwic3R5bGVDc3NcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIChtb3VzZWVudGVyKT1cImJ1dHRvbkhvdmVyKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpO1wiXG4gICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICAgICAgKm5nSWY9XCIhaXNCdXR0b25MaW5rXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInbGFiZWxsZWRieS1saW5rJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieS1saW5rJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIHJvbGU9XCJsaW5rXCJcbiAgICAgIFtocmVmXT1cInVybFwiXG4gICAgICBbdGFyZ2V0XT1cInVybFRhcmdldFwiXG4gICAgICBtYXQtZmxhdC1idXR0b24+XG4gICAgICA8c3BhbiBpZD1cImRlc2NyaWJlZGJ5LWxpbmtcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgYXJpYURlc2NyaWJlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBpZD1cImxhYmVsbGVkYnktbGlua1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
441
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBVTdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQTJORCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBY0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBalA5Rzs7Ozs7V0FLRztRQUNNLFNBQUksR0FBZSxLQUFLLENBQUM7UUFDbEM7Ozs7O1dBS0c7UUFHSCxZQUFPLEdBQWdCLFNBQVMsQ0FBQztRQUVqQzs7OztX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O3NCQUN4QixLQUFLO2dCQVVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csY0FBYztzQkFBdEIsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLO2dCQU9rQyxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU9FLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTdCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFd0MsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVF6QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZSAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBCdXR0b25CYWRnZUNvbmZpZyxcbiAgQnV0dG9uQ29sb3IsXG4gIEJ1dHRvbkljb25Qb3NpdGlvbixcbiAgQnV0dG9uU2l6ZSxcbiAgQnV0dG9uU3RhdGUsXG4gIEJ1dHRvblR5cGUsXG4gIEljb25CdXR0b25TaXplLFxuICBMaW5rVXJsVGFyZ2V0XG59IGZyb20gJy4vYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IGFkanVzdExpZ2h0bmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpXG4gIGdldCBlbmFibGVkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBFbGVtZW50JykgdG9vbHRpcEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYnV0dG9uIGhlaWdodFxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uU2l6ZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdiaWcnO1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIHdoaWxlIGluIGFjdGl2ZSBzdGF0ZVxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uQ29sb3J9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5idG4tdmFyaWFudCcpXG4gIEBJbnB1dCgpXG4gIHZhcmlhbnQ6IEJ1dHRvbkNvbG9yID0gJ3ByaW1hcnknO1xuXG4gIC8qKlxuICAgKiBUZXh0IGNvbnRlbnQgdG8gYXBwZWFyIG9uIHRoZSBidXR0b25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogUG9zaXRpb25pbmcgb2YgdGhlIGljb24gKHdoZW4gZXhpc3RhbnQpXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25JY29uUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbj86IEJ1dHRvbkljb25Qb3NpdGlvbiA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBidXR0b24gaGFzIG9ubHkgaWNvbiB3aXRob3V0IHRleHRcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkganVzdEljb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB1aS1pY29uXG4gICAqXG4gICAqIEB0eXBlIHtJY29uTmFtZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvbk5hbWU6IEljb25OYW1lID0gJyc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGxvYWRpbmcgaWNvbiBzaG91bGQgYmUgc2hvd25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIGJ1dHRvbiB3aWR0aFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAvKipcbiAgICogVXJsIG9mIGJ1dHRvbiBpZiBpdCBpcyBhIGxpbmtcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVcmwncyB0YXJnZXQgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAdHlwZSB7QHR5cGUge0xpbmtVcmxUYXJnZXR9fVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmxUYXJnZXQ/OiBMaW5rVXJsVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBCdXR0b24gdmFsdWVcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB0b29sdGlwXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgdG9vbHRpcCB0aGF0IGlzIGRpc3BsYXllZCBvbiBob3Zlci4gUmVxdWlyZWQgZm9yIGljb24tYnV0dG9uIHR5cGVcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgaXNQcmVtaXVtXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaWNvbiB0aGF0IGlzIGRpc3BsYXllZCBmb3IgUHJlbWl1bSBidXR0b25cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzUHJlbWl1bSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLlxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uVHlwZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgKi9cbiAgQElucHV0KCkgdHlwZTogQnV0dG9uVHlwZSA9ICdidXR0b24nO1xuXG4gIC8qKlxuICAgKiBDb2xvciBvZiB0aGUgYnV0dG9uLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgY29tcGFueUNvbG9yOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgLyoqXG4gICAqIENvbmZpZyBmb3IgdGhlIGJ1dHRvbiBiYWRnZSB2YXJpYXRpb25cbiAgICogQHR5cGUge0J1dHRvbkJhZGdlQ29uZmlnfVxuICAgKiBAcHJvcGVydHkgYmFkZ2VUeXBlIFR5cGUgb2YgYmFkZ2Ugb24gdGhlIGJ1dHRvblxuICAgKiBAcHJvcGVydHkgYmFkZ2VMYWJlbCBMYWJlbCB0ZXh0IGZvciB0aGUgYmFkZ2VcbiAgICogQHByb3BlcnR5IGJhZGdlTm90aWZpY2F0aW9uQW1vdW50IFRoZSBhbW91bnQgZm9yIG5vdGlmaWNhdGlvbiBpbiB0aGUgYmFkZ2VcbiAgICovXG4gIEBJbnB1dCgpIGJ1dHRvbkJhZGdlQ29uZmlnOiBCdXR0b25CYWRnZUNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWUgd2hlcmUgYnV0dG9ucyBpcyB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICpcbiAgICogRGlzYWJsZWQgYnV0dG9uIHNjYWxlIG9uIGNsaWNrXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZFNjYWxlT25DbGljayA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgbGFiZWwgaXMgdXNlZCB0byBwcm92aWRlIGFuIGFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYVJlcXVpcmVkID0gZmFsc2U7XG5cblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsbGVkYnkgPSAnJztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYURlc2NyaWJlZGJ5ID0gJyc7XG5cbiAgLyoqXG4gICAqIFByZXZlbnRzIGRlZmF1bHQgYnV0dG9uIGNsaWNrIGJlaGF2aW9yXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcblxuICAvKipcbiAgICogR2hvc3QgdmFyaWFudCB3aXRoIHdoaXRlIGJhY2tncm91bmRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNCYWNrZ3JvdW5kID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldHMgdG9vbHRpcCBwb3NpdGlvblxuICAgKlxuICAgKiBAdHlwZSB7VG9vbHRpcFBvc2l0aW9ufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICdiZWxvdyc7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSBidXR0b25Ib3ZlckV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdidXR0b25FbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIGJ1dHRvbkVsZW1lbnQ6IE1hdEJ1dHRvbjtcblxuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWNvbG9yJylcbiAgZ2V0IGNvbXBDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wYW55Q29sb3I7XG4gIH1cblxuICBjbGFzc0Nzczogc3RyaW5nO1xuICBzdHlsZUNzczogYW55O1xuICBpc0J1dHRvbkxpbms6IGJvb2xlYW47XG4gIGlzTGFiZWw6IGJvb2xlYW47XG4gIGJ1dHRvblN0YXRlOiBCdXR0b25TdGF0ZTtcbiAgaG92ZXIgPSBmYWxzZTtcbiAgaWNvbkJ1dHRvblNpemU6IEljb25CdXR0b25TaXplID0gJzQwJztcbiAgYWxsb3dCdXR0b25UeXBlRm9yUHJlbWl1bTogQnV0dG9uQ29sb3JbXSA9IFsnc2Vjb25kYXJ5JywgJ3ByaW1hcnknLCAnZ2hvc3QnLCAnb3V0bGluZWQnLCAnZGVzdHJ1Y3RpdmUnXTtcbiAgaXNGaWxsZWRJY29uOiBib29sZWFuO1xuICBjb2xvcmVkSWNvbnMgPSBbJ0dvb2dsZS1pbi1saW5lJywgJ0dvb2dsZScsICdHb29nbGUtZmlsbGVkJ107XG4gIGxhYmVsRWxsaXBzaXMgPSBmYWxzZTtcblxuICBnZXQgdHlwZUluY2x1ZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFsbG93QnV0dG9uVHlwZUZvclByZW1pdW0uaW5jbHVkZXModGhpcy52YXJpYW50KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NDc3MgPSB0aGlzLnNldENzc0NsYXNzKCk7XG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB0aGlzLmlzTGFiZWwgPSB0aGlzLnNob3dMYWJlbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXBwbGljYXRpb25UaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3R5cGUnXSkge1xuICAgICAgdGhpcy5pc0J1dHRvbkxpbmsgPSB0aGlzLnNob3dCdXR0b25MaW5rKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydsb2FkaW5nJ10pIHtcbiAgICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3R5cGUnXSB8fFxuICAgICAgY2hhbmdlc1snZnVsbFdpZHRoJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2ljb25OYW1lJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2p1c3RJY29uJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2ljb25Qb3NpdGlvbiddIHx8XG4gICAgICBjaGFuZ2VzWydkaXNhYmxlZCddIHx8XG4gICAgICBjaGFuZ2VzWydjb21wYW55Q29sb3InXSB8fFxuICAgICAgY2hhbmdlc1snYXBwbGljYXRpb25UaGVtZSddXG4gICAgKSB7XG4gICAgICB0aGlzLmNsYXNzQ3NzID0gdGhpcy5zZXRDc3NDbGFzcygpO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3ZhcmlhbnQnXT8uY3VycmVudFZhbHVlID09PSAnaWNvbi1idXR0b24nIHx8IChjaGFuZ2VzWyd2YXJpYW50J10/LmN1cnJlbnRWYWx1ZSA9PT0gJ21lbnVUcmlnZ2VyJyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJykpIHtcbiAgICAgIHRoaXMuaWNvbkJ1dHRvblNpemUgPSB0aGlzLnNldEljb25CdXR0b25TaXplKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc0ZpbGxlZEljb24gPSB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5Jyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9uY2xpY2sgPSBldiA9PiB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nICYmICF0aGlzLnRvb2x0aXApIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgICBbdG9vbHRpcF0gaXMgcmVxdWlyZWQgZm9yIFt0eXBlXSBpY29uLWJ1dHRvbiEnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyAmJiAhdGhpcy5pY29uTmFtZSAmJiAhdGhpcy5sb2FkaW5nICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3VpLWJ1dHRvbiBCdXR0b25Db21wb25lbnRcXG4gIFtpY29uXSBpcyByZXF1aXJlZCBmb3IgW3R5cGVdIGRlc3RydWN0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJldmVudERlZmF1bHQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5idXR0b25DbGlja0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgYnV0dG9uSG92ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJykge1xuICAgICAgdGhpcy5ob3ZlciA9IHRydWU7XG4gICAgICB0aGlzLmJ1dHRvbkhvdmVyRXZlbnQuZW1pdChldmVudCk7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2hvdmVyJztcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb25OYW1lKSB7XG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSB0aGlzLmdldEljb25OYW1lKHRoaXMuaWNvbk5hbWUsICctZmlsbGVkJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXIgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb25OYW1lKSB7XG4gICAgICAgIHRoaXMuaWNvbk5hbWUgPSB0aGlzLmdldEljb25OYW1lKHRoaXMuaWNvbk5hbWUsICctaW4tbGluZScpO1xuICAgICAgfVxuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9ICdkZWZhdWx0JztcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICB9XG5cbiAgLy9TaG93IG9yIGhpZGUgbGFiZWxcbiAgc2hvd0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5sb2FkaW5nO1xuICB9XG5cbiAgLy9TZXQgY3NzIGNsYXNzIGFjY29yZGluZyBpbnB1dHNcbiAgc2V0Q3NzQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZnVsbFdpZHRoID8gJ2Z1bGwtd2lkdGgnIDogJyc7XG4gICAgY29uc3QgaGFzSWNvbiA9IHRoaXMuaWNvbk5hbWUgPT09IG51bGwgPyAnJyA6ICdpY29uJztcbiAgICBjb25zdCBqdXN0SWNvbiA9IHRoaXMuanVzdEljb24gfHwgdGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nID8gJ29ubHktaWNvbicgOiAnJztcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSB0aGlzLmljb25Qb3NpdGlvbiA9PT0gdW5kZWZpbmVkID8gJycgOiB0aGlzLmljb25Qb3NpdGlvbjtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgJiYgdGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgPyAncHJpbWFyeS1kaXNhYmxlZCcgOiAnJztcbiAgICBjb25zdCB2YXJpYW50ID0gdGhpcy52YXJpYW50ID09PSAnZ2hvc3QnICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ291dGxpbmVkJyA6IHRoaXMudmFyaWFudDtcbiAgICBjb25zdCBjb21wYW55Q29sb3IgPSB0aGlzLmNvbXBhbnlDb2xvciA/ICdoYXMtY29tcGFueS1jb2xvcicgOiAnJztcbiAgICByZXR1cm4gYCR7dGhpcy5zaXplfSAke2ljb25Qb3NpdGlvbn0gJHt2YXJpYW50fSAke3dpZHRofSAke2hhc0ljb259ICR7anVzdEljb259ICR7ZGlzYWJsZWR9ICR7Y29tcGFueUNvbG9yfSAke3RoaXMuYXBwbGljYXRpb25UaGVtZX0tdGhlbWVgO1xuICB9XG5cbiAgc2V0Q3NzU3R5bGUoKTogYW55IHtcbiAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5kaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiB0aGlzLmJ1dHRvblN0YXRlO1xuICAgIGNvbnN0IHN0eWxlT2JqOiBhbnkgPSB7fTtcblxuICAgIGlmICgodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAndGV4dCcpICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmICh0aGlzLmJ1dHRvblN0YXRlID09PSAnaG92ZXInIHx8IHRoaXMuYnV0dG9uU3RhdGUgPT09ICdwcmVzc2VkJykpIHtcbiAgICAgIHN0eWxlT2JqW3RoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ2JhY2tncm91bmQtY29sb3InIDogJ2NvbG9yJ10gPSBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUpO1xuICAgICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSB7XG4gICAgICAgIHN0eWxlT2JqWyctLWFjdGl2ZS1jb2xvciddID0gdGhpcy5jb21wYW55Q29sb3IgPyBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUpIDogJyM2NjY2NjYnO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyAmJiB0aGlzLmJ1dHRvblN0YXRlICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgIHN0eWxlT2JqW3RoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ2JhY2tncm91bmQtY29sb3InIDogJ2NvbG9yJ10gPSBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUsICdjbGFzc2ljJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmdldENvbXBhbnlDb2xvciAmJiAodGhpcy52YXJpYW50ID09PSAnbGluaycgfHwgdGhpcy52YXJpYW50ID09PSAndGVydGlhcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJykpIHtcbiAgICAgIHN0eWxlT2JqWydjb2xvciddID0gdGhpcy5nZXRDb21wYW55Q29sb3I7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0JhY2tncm91bmQpIHtcbiAgICAgIHN0eWxlT2JqWyctLWdob3N0LWJhY2tncm91bmQnXSA9ICcjZmZmZmZmJztcbiAgICB9XG4gICAgcmV0dXJuIHN0eWxlT2JqO1xuICB9XG5cbiAgLy9TaG93IG9yIGhpZGUgc3Bpbm5lclxuICBnZXQgc2hvd1NwaW5uZXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNOb3RUYWIgPSB0aGlzLnZhcmlhbnQgIT09ICd0YWInO1xuICAgIGNvbnN0IGlzTm90TGluayA9IHRoaXMudmFyaWFudCAhPT0gJ2xpbmsnO1xuICAgIGNvbnN0IGlzTG9hZGluZyA9IHRoaXMubG9hZGluZyA9PT0gdHJ1ZTtcbiAgICByZXR1cm4gaXNMb2FkaW5nICYmIGlzTm90VGFiICYmIGlzTm90TGluaztcbiAgfVxuXG4gIC8vU2hvdyBidXR0b24gd2l0aCA8YnV0dG9uPiBvciA8YT4gdGFnXG4gIHNob3dCdXR0b25MaW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnQgIT09ICdsaW5rJztcbiAgfVxuXG4gIHNldEljb25CdXR0b25TaXplKCk6IEljb25CdXR0b25TaXplIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnYmlnJyA/ICc0MCcgOiB0aGlzLnNpemUgPT09ICdzbWFsbCcgPyAnMjQnIDogJzMyJztcbiAgfVxuXG4gIG9uUHJlc3NlZChldjogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXYudHlwZSA9PT0gJ21vdXNlZG93bicpIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAncHJlc3NlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSB0aGlzLmhvdmVyID8gJ2hvdmVyJyA6ICdkZWZhdWx0JztcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25FbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBnZXQgZ2V0Q29tcGFueUNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGFueUNvbG9yIHx8ICh0aGlzLnZhcmlhbnQgPT09ICd0ZXh0JyA/IHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2RhcmsnID8gJyNmZmZmZmYnIDogJyMyNDI0MjQnIDogKHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJyM0NkE5OTcnIDogJyNENDEwQUEnKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkQ2hhbmdlRmlsbGVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiB0aGlzLnZhcmlhbnQgIT09ICdwcmltYXJ5JyAmJiB0aGlzLnZhcmlhbnQgIT09ICdzZWNvbmRhcnknICYmICF0aGlzLmNvbG9yZWRJY29ucy5pbmNsdWRlcyh0aGlzLmljb25OYW1lKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAncHJlc3NlZCc7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uTGFiZWxFbGxpcHNpc0NoYW5nZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGFiZWxFbGxpcHNpcyA9IHN0YXRlO1xuICB9XG5cbiAgZ2V0SWNvbk5hbWUoaWNvbk5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBJY29uTmFtZSB7XG4gICAgaWYgKGljb25OYW1lLmluY2x1ZGVzKCdmaWxsZWQnKSkge1xuICAgICAgcmV0dXJuIGljb25OYW1lLnJlcGxhY2UoL2ZpbGxlZC8sICdpbi1saW5lJykgYXMgSWNvbk5hbWVcbiAgICB9IGVsc2UgaWYgKGljb25OYW1lLmluY2x1ZGVzKCdpbi1saW5lJykpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZS5yZXBsYWNlKC9pbi1saW5lLywgJ2ZpbGxlZCcpIGFzIEljb25OYW1lXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpY29uTmFtZSArIGRlZmF1bHRWYWx1ZSBhcyBJY29uTmFtZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgI3Rvb2x0aXBFbGVtZW50IGNsYXNzPVwidG9vbHRpcFwiXG4gICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuPjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCJcbiAgW25nQ2xhc3NdPVwieyAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCwgJ3JvdW5kZWQtaWNvbic6IGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiBpY29uTmFtZSAmJiAhbGFiZWwsIGxpbms6ICFpc0J1dHRvbkxpbmsgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcbiAgICAgICBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGRpc2FibGVkLCAnYnV0dG9uLXNjYWxlJzogYnV0dG9uU3RhdGUgPT09ICdwcmVzc2VkJyAmJiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgIWRpc2FibGVkU2NhbGVPbkNsaWNrIH1cIlxuICA+XG4gICAgIDxzcGFuICpuZ0lmPVwiaXNQcmVtaXVtICYmIHR5cGVJbmNsdWRlZFwiIGNsYXNzPVwicmlnaHQtdG9wXCI+XG4gICAgIDxpbWcgW2F0dHIuc3JjXT1cIicvaW1hZ2VzL3ByZW1pdW0uc3ZnJ1wiIFthbHRdPVwiJ3ByZW1pdW0taWNvbidcIj5cbiAgIDwvc3Bhbj5cbiAgICA8dWktYmFkZ2VcbiAgICAgIGlkPVwiYmFkZ2VcIlxuICAgICAgKm5nSWY9XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VUeXBlXCJcbiAgICAgIFtyZWJyYW5kQ29sb3JdPVwiYnV0dG9uQmFkZ2VDb25maWc/LnJlYnJhbmRDb2xvciA/PyAnYnJhbmQnXCJcbiAgICAgIFt2YXJpYW50XT1cImJ1dHRvbkJhZGdlQ29uZmlnIS5iYWRnZVR5cGUhXCJcbiAgICAgIFtsYWJlbF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VMYWJlbCA/PyAnJ1wiXG4gICAgICBbbm90aWZpY2F0aW9uc0Ftb3VudF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgPz8gMFwiXG4gICAgICBjbGFzcz1cInJpZ2h0LXRvcFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdiYWRnZS1wcmltYXJ5JzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ3ByaW1hcnknLCAnYmFkZ2Utbm90aWZpY2F0aW9uJzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ25vdGlmaWNhdGlvbicgfVwiXG4gICAgPjwvdWktYmFkZ2U+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlXT1cIictLWljb24tYnV0dG9uLXNpemU6JyArIGljb25CdXR0b25TaXplICsgJ3B4J1wiXG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VlbnRlcik9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAqbmdJZj1cImlzQnV0dG9uTGlua1wiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnlcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgKGlzUHJlbWl1bSA/IChsYWJlbCArICcgJyArICgnQlVUVE9OLlBSRU1JVU1fRkVBVFVSRScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSkgOiBhcmlhRGVzY3JpYmVkYnkpIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBpZD1cImxhYmVsbGVkYnlcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgYXJpYUxhYmVsbGVkYnkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U3Bpbm5lcjsgZWxzZSBpY29uc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItd3JhcHBlclwiPlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cInBvc2l0aW9uLXNwaW5uZXJcIiBhcmlhLWxhYmVsPVwibG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgZGlhbWV0ZXI9XCIyNFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1vbmx5LXdyYXBwZXJcIiAqbmdJZj1cImp1c3RJY29uICYmICEhaWNvbk5hbWVcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImljb24gb25seVwiXG4gICAgICAgICAgcm9sZT1cImxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCJcbiAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgW25hbWVdPVwiaWNvbk5hbWVcIlxuICAgICAgICAgICAgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgICAgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiXG4gICAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1sYWJlbC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieydjZW50ZXItdGV4dCc6IGljb25OYW1lID09PSAnJ31cIiAqbmdJZj1cIiFqdXN0SWNvblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiAhIWljb25OYW1lXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgIFtjb2xvcl09XCInaW5oZXJpdCdcIlxuICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJpY29uTmFtZVwiXG4gICAgICAgICAgICBbZmlsbGVkXT1cImlzRmlsbGVkSWNvblwiXG4gICAgICAgICAgICBbdXNlRnVsbEljb25OYW1lXT1cInRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCJcbiAgICAgICAgICA+PC91aS1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJpc0xhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD1cImxhYmVsXCJcbiAgICAgICAgICB1aUVsbGlwc2VUZXh0XG4gICAgICAgICAgW2lzTXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIChvbkNoYW5nZVRleHRTdGF0ZSk9XCJvbkxhYmVsRWxsaXBzaXNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmICEhaWNvbk5hbWVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dWktaWNvblxuICAgICAgICAgIFtjb2xvcl09XCInaW5oZXJpdCdcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW25hbWVdPVwiaWNvbk5hbWVcIiBbZmlsbGVkXT1cImlzRmlsbGVkSWNvblwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCIgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCI+PC91aS1pY29uPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9idXR0b24+XG4gICAgPGFcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudCk7XCJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAqbmdJZj1cIiFpc0J1dHRvbkxpbmtcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCA/IHRvb2x0aXAgOiBsYWJlbEVsbGlwc2lzID8gbGFiZWwgOiAnJ1wiXG4gICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgW2hyZWZdPVwidXJsXCJcbiAgICAgIFt0YXJnZXRdPVwidXJsVGFyZ2V0XCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnktbGlua1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhRGVzY3JpYmVkYnkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieS1saW5rXCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIHt7IGFyaWFMYWJlbGxlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -93,11 +93,11 @@ export class ChecklistComponent {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
selectItem(item) {
|
|
96
|
-
if (item.checked || item.disabled || this.selectedItem() === item) {
|
|
96
|
+
if ((item.checked || item.disabled || this.selectedItem() === item) && !item.reselect) {
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
if (this.autocheck()) {
|
|
100
|
-
item.checked = true;
|
|
100
|
+
item.checked = item?.reselect ? !item.checked : true;
|
|
101
101
|
this.items.set([...this.items()]);
|
|
102
102
|
}
|
|
103
103
|
this.selectedItem.set(item);
|
|
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
144
144
|
type: Inject,
|
|
145
145
|
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
146
146
|
}] }] });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jaGVja2xpc3QvY2hlY2tsaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jaGVja2xpc3QvY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4sUUFBUSxFQUNSLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7O0FBbUIzRixNQUFNLE9BQU8sa0JBQWtCO0lBd0Y3QixZQUM2RSxlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUF4RjlHOzs7O1dBSUc7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FB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QUNWLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEyRjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgTW9kZWxTaWduYWwsXG4gIE9wdGlvbmFsLFxuICBjb21wdXRlZCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBJS2V5Ym9hcmRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9rZXlib2FyZC1ldmVudHMubW9kZWwnO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2UubW9kZWwnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IERpdmlkZXJDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHR5cGUgeyBDaGVja2xpc3RJdGVtIH0gZnJvbSAnLi9jaGVja2xpc3QubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1jaGVja2xpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnRNb2R1bGUsXG4gICAgUmFkaW9CdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgRGl2aWRlckNvbXBvbmVudE1vZHVsZSxcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NoZWNrbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2xpc3RDb21wb25lbnQge1xuICAvKipcbiAgICogTGFiZWwgZm9yIHRoZSBjaGVja2xpc3RcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIENoZWNrbGlzdENvbXBvbmVudFxuICAgKi9cbiAgbGFiZWwgPSBpbnB1dCgnJyk7XG5cbiAgLyoqXG4gICAqIEl0ZW1zIGZvciB0aGUgY2hlY2tsaXN0XG4gICAqIEB0eXBlIHtNb2RlbFNpZ25hbDxDaGVja2xpc3RJdGVtW10+fVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tsaXN0Q29tcG9uZW50XG4gICAqL1xuICBpdGVtcyA9IG1vZGVsPENoZWNrbGlzdEl0ZW1bXT4oW10pO1xuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiB0aGVtZVxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIENoZWNrbGlzdENvbXBvbmVudFxuICAgKi9cbiAgYXBwbGljYXRpb25UaGVtZSA9IGlucHV0PEFwcGxpY2F0aW9uVGhlbWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRoZW1lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hcHBsaWNhdGlvblRoZW1lKCkgPz8gdGhpcy5kZWZhdWx0QXBwVGhlbWUpO1xuXG4gIC8qKlxuICAgKiBDb25maXJtIGJ1dHRvbiBsYWJlbFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tsaXN0Q29tcG9uZW50XG4gICAqL1xuICBmb290ZXJCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIENoZWNrbGlzdENvbXBvbmVudFxuICAgKi9cbiAgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKiBAcHJvcGVydHkgbGFuZ3VhZ2VcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tsaXN0Q29tcG9uZW50XG4gICAqL1xuICBsYW5ndWFnZSA9IGlucHV0KExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2UpO1xuXG4gIC8qKlxuICAgKiBBIGJvb2xlYW4gcHJvcGVydHkgdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrbGlzdCBpdGVtcyBzaG91bGQgYmUgYXV0b21hdGljYWxseSBjaGVja2VkLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGF1dG9jaGVjayA9IGlucHV0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVyIHRoYXQgdHJpZ2dlcnMgd2hlbiB0aGUgZm9vdGVyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBFbWl0cyBhIHZvaWQgZXZlbnQuXG4gICAqL1xuICBmb290ZXJCdXR0b25DbGlja2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEFuIG91dHB1dCBldmVudCBlbWl0dGVyIHRoYXQgc2lnbmlmaWVzIHRoZSBjb21wbGV0aW9uIG9mIGEgdGFzayBvciBwcm9jZXNzLlxuICAgKiBUaGlzIGV2ZW50IGRvZXMgbm90IGNhcnJ5IGFueSBwYXlsb2FkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGxldGVkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtIGluIHRoZSBjaGVja2xpc3QuXG4gICAqIFRoaXMgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGBDaGVja2xpc3RJdGVtYCBzdXBwb3J0cyB0d28td2F5IGJpbmRpbmcuXG4gICAqL1xuICBzZWxlY3RlZEl0ZW0gPSBtb2RlbDxDaGVja2xpc3RJdGVtPigpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRJbmRleCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkSXRlbSgpO1xuICAgIHJldHVybiBzZWxlY3RlZEl0ZW0gPyBpdGVtcy5pbmRleE9mKHNlbGVjdGVkSXRlbSkgOiAtMTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHByb2dyZXNzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcygpO1xuICAgIGNvbnN0IHRvdGFsID0gaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGNoZWNrZWQgPSBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQpLmxlbmd0aDtcbiAgICBjb25zdCBwcm9ncmVzc1ZhbHVlID0gTnVtYmVyKCgoY2hlY2tlZCAvIHRvdGFsKSAqIDEwMCkudG9GaXhlZCgwKSk7XG4gICAgaWYgKHByb2dyZXNzVmFsdWUgPT09IDEwMCkge1xuICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvZ3Jlc3NWYWx1ZTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lXG4gICkge31cblxuICBzZWxlY3RJdGVtKGl0ZW06IENoZWNrbGlzdEl0ZW0pIHtcbiAgICBpZiAoaXRlbS5jaGVja2VkIHx8IGl0ZW0uZGlzYWJsZWQgfHwgdGhpcy5zZWxlY3RlZEl0ZW0oKSA9PT0gaXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hdXRvY2hlY2soKSkge1xuICAgICAgaXRlbS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zKCldKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2V0KGl0ZW0pO1xuICB9XG5cbiAga2V5ZG93bkhhbmRsZXIoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpdGVtOiBDaGVja2xpc3RJdGVtKSB7XG4gICAgaWYgKElLZXlib2FyZEV2ZW50LlNQQUNFID09PSAkZXZlbnQua2V5IHx8IElLZXlib2FyZEV2ZW50LkVOVEVSID09PSAkZXZlbnQua2V5KSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbShpdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuY3VycmVudEluZGV4KCk7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMuaXRlbXMoKS5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0odGhpcy5pdGVtcygpW2N1cnJlbnRJbmRleCArIDFdKTtcbiAgICB9XG4gIH1cblxuICBwcmV2KCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuY3VycmVudEluZGV4KCk7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSh0aGlzLml0ZW1zKClbY3VycmVudEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIGZvb3RlckJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb290ZXJCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiQGlmIChsYWJlbCgpKSB7XG48aDQgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKSA/PyBsYWJlbCgpXCI+e3sgbGFiZWwoKSB9fTwvaDQ+XG59XG5cbjx1aS1wcm9ncmVzcy1iYXIgW3Nob3dQZXJjZW50YWdlXT1cInRydWVcIiBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3MoKVwiPjwvdWktcHJvZ3Jlc3MtYmFyPlxuXG48ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgW2F0dHIuYXJpYS1saXZlXT1cIidwb2xpdGUnXCI+XG4gIHt7ICdDT01NT04uUFJPR1JFU1MnIHwgdWlUcmFuc2xhdGU6IHsgcHJvZ3Jlc3M6IHByb2dyZXNzKCkgfSB8IGFzeW5jIH19XG48L2Rpdj5cblxuPHVpLWRpdmlkZXIgc2l6ZT1cInNtYWxsXCIgY29tcGFueUNvbG9yPVwiI2QzZDNkM1wiPiA8L3VpLWRpdmlkZXI+XG5cbjxkaXYgY2xhc3M9XCJjaGVja2xpc3QtY29udGFpbmVyXCIgZGF0YS10ZXN0aWQ9XCJjaGVja2xpc3QtY29udGFpbmVyXCI+XG4gIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgKGl0ZW0udmFsdWUraXRlbS5jaGVja2VkKTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgPGRpdlxuICAgIGRhdGEtdGVzdGlkPVwiY2hlY2tsaXN0LWl0ZW1cIlxuICAgIGNsYXNzPVwiY2hlY2tsaXN0LWl0ZW1cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICBbY2xhc3MuY2hlY2tlZF09XCJpdGVtLmNoZWNrZWRcIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbSA9PT0gc2VsZWN0ZWRJdGVtKCkgJiYgIWF1dG9jaGVjaygpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2l0ZW0tJyArIGl0ZW0udmFsdWVcIlxuICAgIFt0YWJpbmRleF09XCJpdGVtPy5kaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgIChrZXlkb3duKT1cImtleWRvd25IYW5kbGVyKCRldmVudCwgaXRlbSlcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgIDx1aS1pY29uXG4gICAgICAgIFtuYW1lXT1cIml0ZW0uY2hlY2tlZCA/ICdDaGVjay1pbi1saW5lJyA6ICdDaXJjbGUtaW4tbGluZSdcIlxuICAgICAgICBbZmlsbGVkXT1cIml0ZW0uY2hlY2tlZFwiXG4gICAgICAgIGNsYXNzPVwiY2hlY2tlZFwiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cInRoZW1lKClcIlxuICAgICAgICBbc2l6ZV09XCInMTYnXCJcbiAgICAgICAgW2NvbG9yXT1cIml0ZW0uY2hlY2tlZCA/ICd3aGl0ZScgOiBpdGVtLmRpc2FibGVkID8gJyM5MTkxOTEnIDogJ2RhcmsnXCJcbiAgICAgID48L3VpLWljb24+XG4gICAgICA8c3BhbiBbaWRdPVwiJ2l0ZW0tJyArIGl0ZW0udmFsdWVcIiBjbGFzcz1cImxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXRlbS5oYXNMaW5rICYmICFpdGVtLmRpc2FibGVkKSB7XG4gICAgPGRpdiBjbGFzcz1cIm5hdmlnYXRpb25cIj5cbiAgICAgIDx1aS1pY29uXG4gICAgICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgICAgIGNsYXNzPVwibGlua1wiXG4gICAgICAgIFtuYW1lXT1cIidBcnJvdy1jaGV2cm9uLXJpZ2h0LWZpbGxlZCdcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJ0aGVtZSgpXCJcbiAgICAgICAgW3NpemVdPVwiJzI0J1wiXG4gICAgICAgIGNvbG9yPVwicmVicmFuZC1ibGFja1wiXG4gICAgICA+PC91aS1pY29uPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuQGlmIChmb290ZXJCdXR0b25MYWJlbCgpKSB7XG48ZGl2IGNsYXNzPVwiYWN0aW9uLWJ0blwiPlxuICA8dWktYnV0dG9uXG4gICAgZGF0YS10ZXN0aWQ9XCJjaGVja2xpc3QtZm9vdGVyLWJ1dHRvblwiXG4gICAgW2xhYmVsXT1cImZvb3RlckJ1dHRvbkxhYmVsKCkhXCJcbiAgICBbdmFyaWFudF09XCInbGluaydcIlxuICAgIFtjb21wYW55Q29sb3JdPVwiJyMwMDAnXCJcbiAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJmb290ZXJCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvdWktYnV0dG9uPlxuPC9kaXY+XG59XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jaGVja2xpc3QvY2hlY2tsaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jaGVja2xpc3QvY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4sUUFBUSxFQUNSLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7O0FBbUIzRixNQUFNLE9BQU8sa0JBQWtCO0lBd0Y3QixZQUM2RSxlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUF4RjlHOzs7O1dBSUc7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FB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LFdBQ1A7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsU0FBUztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBMkY1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIE1vZGVsU2lnbmFsLFxuICBPcHRpb25hbCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgSUtleWJvYXJkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMva2V5Ym9hcmQtZXZlbnRzLm1vZGVsJztcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tsaXN0SXRlbSB9IGZyb20gJy4vY2hlY2tsaXN0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY2hlY2tsaXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50TW9kdWxlLFxuICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50TW9kdWxlLFxuICAgIEljb25Db21wb25lbnRNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50TW9kdWxlLFxuICAgIERpdmlkZXJDb21wb25lbnRNb2R1bGUsXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIExhYmVsIGZvciB0aGUgY2hlY2tsaXN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBDaGVja2xpc3RDb21wb25lbnRcbiAgICovXG4gIGxhYmVsID0gaW5wdXQoJycpO1xuXG4gIC8qKlxuICAgKiBJdGVtcyBmb3IgdGhlIGNoZWNrbGlzdFxuICAgKiBAdHlwZSB7TW9kZWxTaWduYWw8Q2hlY2tsaXN0SXRlbVtdPn1cbiAgICogQG1lbWJlcm9mIENoZWNrbGlzdENvbXBvbmVudFxuICAgKi9cbiAgaXRlbXMgPSBtb2RlbDxDaGVja2xpc3RJdGVtW10+KFtdKTtcblxuICAvKipcbiAgICogQXBwbGljYXRpb24gdGhlbWVcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBDaGVja2xpc3RDb21wb25lbnRcbiAgICovXG4gIGFwcGxpY2F0aW9uVGhlbWUgPSBpbnB1dDxBcHBsaWNhdGlvblRoZW1lIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSB0aGVtZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXBwbGljYXRpb25UaGVtZSgpID8/IHRoaXMuZGVmYXVsdEFwcFRoZW1lKTtcblxuICAvKipcbiAgICogQ29uZmlybSBidXR0b24gbGFiZWxcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIENoZWNrbGlzdENvbXBvbmVudFxuICAgKi9cbiAgZm9vdGVyQnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBDaGVja2xpc3RDb21wb25lbnRcbiAgICovXG4gIGFyaWFMYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIENoZWNrbGlzdENvbXBvbmVudFxuICAgKi9cbiAgbGFuZ3VhZ2UgPSBpbnB1dChMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlKTtcblxuICAvKipcbiAgICogQSBib29sZWFuIHByb3BlcnR5IHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjaGVja2xpc3QgaXRlbXMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgY2hlY2tlZC5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBhdXRvY2hlY2sgPSBpbnB1dCh0cnVlKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlciB0aGF0IHRyaWdnZXJzIHdoZW4gdGhlIGZvb3RlciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRW1pdHMgYSB2b2lkIGV2ZW50LlxuICAgKi9cbiAgZm9vdGVyQnV0dG9uQ2xpY2tlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBBbiBvdXRwdXQgZXZlbnQgZW1pdHRlciB0aGF0IHNpZ25pZmllcyB0aGUgY29tcGxldGlvbiBvZiBhIHRhc2sgb3IgcHJvY2Vzcy5cbiAgICogVGhpcyBldmVudCBkb2VzIG5vdCBjYXJyeSBhbnkgcGF5bG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBsZXRlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbSBpbiB0aGUgY2hlY2tsaXN0LlxuICAgKiBUaGlzIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBgQ2hlY2tsaXN0SXRlbWAgc3VwcG9ydHMgdHdvLXdheSBiaW5kaW5nLlxuICAgKi9cbiAgc2VsZWN0ZWRJdGVtID0gbW9kZWw8Q2hlY2tsaXN0SXRlbT4oKTtcblxuICByZWFkb25seSBjdXJyZW50SW5kZXggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zKCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZEl0ZW0oKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRJdGVtID8gaXRlbXMuaW5kZXhPZihzZWxlY3RlZEl0ZW0pIDogLTE7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBwcm9ncmVzcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICBjb25zdCB0b3RhbCA9IGl0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBjaGVja2VkID0gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jaGVja2VkKS5sZW5ndGg7XG4gICAgY29uc3QgcHJvZ3Jlc3NWYWx1ZSA9IE51bWJlcigoKGNoZWNrZWQgLyB0b3RhbCkgKiAxMDApLnRvRml4ZWQoMCkpO1xuICAgIGlmIChwcm9ncmVzc1ZhbHVlID09PSAxMDApIHtcbiAgICAgIHRoaXMuY29tcGxldGVkLmVtaXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHByb2dyZXNzVmFsdWU7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZVxuICApIHt9XG5cbiAgc2VsZWN0SXRlbShpdGVtOiBDaGVja2xpc3RJdGVtKSB7XG4gICAgaWYgKChpdGVtLmNoZWNrZWQgfHwgaXRlbS5kaXNhYmxlZCB8fCB0aGlzLnNlbGVjdGVkSXRlbSgpID09PSBpdGVtKSAmJiAhaXRlbS5yZXNlbGVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hdXRvY2hlY2soKSkge1xuICAgICAgaXRlbS5jaGVja2VkID0gaXRlbT8ucmVzZWxlY3QgPyAhaXRlbS5jaGVja2VkIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zKCldKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2V0KGl0ZW0pO1xuICB9XG5cbiAga2V5ZG93bkhhbmRsZXIoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpdGVtOiBDaGVja2xpc3RJdGVtKSB7XG4gICAgaWYgKElLZXlib2FyZEV2ZW50LlNQQUNFID09PSAkZXZlbnQua2V5IHx8IElLZXlib2FyZEV2ZW50LkVOVEVSID09PSAkZXZlbnQua2V5KSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbShpdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuY3VycmVudEluZGV4KCk7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMuaXRlbXMoKS5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0odGhpcy5pdGVtcygpW2N1cnJlbnRJbmRleCArIDFdKTtcbiAgICB9XG4gIH1cblxuICBwcmV2KCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuY3VycmVudEluZGV4KCk7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSh0aGlzLml0ZW1zKClbY3VycmVudEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIGZvb3RlckJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb290ZXJCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiQGlmIChsYWJlbCgpKSB7XG48aDQgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKSA/PyBsYWJlbCgpXCI+e3sgbGFiZWwoKSB9fTwvaDQ+XG59XG5cbjx1aS1wcm9ncmVzcy1iYXIgW3Nob3dQZXJjZW50YWdlXT1cInRydWVcIiBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3MoKVwiPjwvdWktcHJvZ3Jlc3MtYmFyPlxuXG48ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgW2F0dHIuYXJpYS1saXZlXT1cIidwb2xpdGUnXCI+XG4gIHt7ICdDT01NT04uUFJPR1JFU1MnIHwgdWlUcmFuc2xhdGU6IHsgcHJvZ3Jlc3M6IHByb2dyZXNzKCkgfSB8IGFzeW5jIH19XG48L2Rpdj5cblxuPHVpLWRpdmlkZXIgc2l6ZT1cInNtYWxsXCIgY29tcGFueUNvbG9yPVwiI2QzZDNkM1wiPiA8L3VpLWRpdmlkZXI+XG5cbjxkaXYgY2xhc3M9XCJjaGVja2xpc3QtY29udGFpbmVyXCIgZGF0YS10ZXN0aWQ9XCJjaGVja2xpc3QtY29udGFpbmVyXCI+XG4gIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgKGl0ZW0udmFsdWUraXRlbS5jaGVja2VkKTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgPGRpdlxuICAgIGRhdGEtdGVzdGlkPVwiY2hlY2tsaXN0LWl0ZW1cIlxuICAgIGNsYXNzPVwiY2hlY2tsaXN0LWl0ZW1cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICBbY2xhc3MuY2hlY2tlZF09XCJpdGVtLmNoZWNrZWRcIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbSA9PT0gc2VsZWN0ZWRJdGVtKCkgJiYgIWF1dG9jaGVjaygpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2l0ZW0tJyArIGl0ZW0udmFsdWVcIlxuICAgIFt0YWJpbmRleF09XCJpdGVtPy5kaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgIChrZXlkb3duKT1cImtleWRvd25IYW5kbGVyKCRldmVudCwgaXRlbSlcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgIDx1aS1pY29uXG4gICAgICAgIFtuYW1lXT1cIml0ZW0uY2hlY2tlZCA/ICdDaGVjay1pbi1saW5lJyA6ICdDaXJjbGUtaW4tbGluZSdcIlxuICAgICAgICBbZmlsbGVkXT1cIml0ZW0uY2hlY2tlZFwiXG4gICAgICAgIGNsYXNzPVwiY2hlY2tlZFwiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cInRoZW1lKClcIlxuICAgICAgICBbc2l6ZV09XCInMTYnXCJcbiAgICAgICAgW2NvbG9yXT1cIml0ZW0uY2hlY2tlZCA/ICd3aGl0ZScgOiBpdGVtLmRpc2FibGVkID8gJyM5MTkxOTEnIDogJ2RhcmsnXCJcbiAgICAgID48L3VpLWljb24+XG4gICAgICA8c3BhbiBbaWRdPVwiJ2l0ZW0tJyArIGl0ZW0udmFsdWVcIiBjbGFzcz1cImxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXRlbS5oYXNMaW5rICYmICFpdGVtLmRpc2FibGVkKSB7XG4gICAgPGRpdiBjbGFzcz1cIm5hdmlnYXRpb25cIj5cbiAgICAgIDx1aS1pY29uXG4gICAgICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgICAgIGNsYXNzPVwibGlua1wiXG4gICAgICAgIFtuYW1lXT1cIidBcnJvdy1jaGV2cm9uLXJpZ2h0LWZpbGxlZCdcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJ0aGVtZSgpXCJcbiAgICAgICAgW3NpemVdPVwiJzI0J1wiXG4gICAgICAgIGNvbG9yPVwicmVicmFuZC1ibGFja1wiXG4gICAgICA+PC91aS1pY29uPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuQGlmIChmb290ZXJCdXR0b25MYWJlbCgpKSB7XG48ZGl2IGNsYXNzPVwiYWN0aW9uLWJ0blwiPlxuICA8dWktYnV0dG9uXG4gICAgZGF0YS10ZXN0aWQ9XCJjaGVja2xpc3QtZm9vdGVyLWJ1dHRvblwiXG4gICAgW2xhYmVsXT1cImZvb3RlckJ1dHRvbkxhYmVsKCkhXCJcbiAgICBbdmFyaWFudF09XCInbGluaydcIlxuICAgIFtjb21wYW55Q29sb3JdPVwiJyMwMDAnXCJcbiAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJmb290ZXJCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvdWktYnV0dG9uPlxuPC9kaXY+XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2NoZWNrbGlzdC9jaGVja2xpc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tsaXN0SXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ6IGJvb2xlYW47XG4gIGhhc0xpbms/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2NoZWNrbGlzdC9jaGVja2xpc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tsaXN0SXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ6IGJvb2xlYW47XG4gIGhhc0xpbms/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHJlc2VsZWN0PzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -268,6 +268,7 @@ export class DropdownComponent {
|
|
|
268
268
|
else {
|
|
269
269
|
this.matSelect.value = this.matSelect.options.first.value;
|
|
270
270
|
}
|
|
271
|
+
this.onChange(this.matSelect.value);
|
|
271
272
|
}
|
|
272
273
|
else {
|
|
273
274
|
this.matSelect.open();
|
|
@@ -349,4 +350,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
349
350
|
type: HostListener,
|
|
350
351
|
args: ['keydown.tab', ['$event']]
|
|
351
352
|
}] } });
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sSUFBSSxFQUNKLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTcEUsTUFBTSxPQUFPLGlCQUFpQjtJQStKNUIsVUFBVTtRQUNSLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQVlELFlBQzZFLGVBQWlDLEVBQzNGLEdBQXNCLEVBQ1osU0FBb0IsRUFDOUIsU0FBb0IsRUFDcEIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsTUFBYztRQU40QyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDM0YsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FB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c0JBQWpCLEtBQUs7Z0JBU0csVUFBVTtzQkFBbEIsS0FBSztnQkFTRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBVUcsZ0JBQWdCO3NCQUR4QixXQUFXO3VCQUFDLFlBQVk7O3NCQUN4QixLQUFLO2dCQVFHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBR3RCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRG9DaGVjayxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNlbGYsXG4gIHNpZ25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmxvYXRMYWJlbFR5cGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE9wdGlvblR5cGUgfSBmcm9tICcuL2Ryb3Bkb3duLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgYWRqdXN0TGlnaHRuZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0XCI7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHsgSUtleWJvYXJkRXZlbnQgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2tleWJvYXJkLWV2ZW50cy5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIERvQ2hlY2ssIE9uQ2hhbmdlcyB7XG4gIEBIb3N0QmluZGluZygpIGNsYXNzID0gJ3VpLWRyb3Bkb3duJztcblxuICAvKipcbiAgICogVGV4dCBjb250ZW50IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudCBpZiBwcmVzZW50LlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBuYW1lIGF0dHJpYnV0ZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRvIGJlIHNob3duIGlmIG5vIHZhbHVlIGhhcyBiZWVuIHNlbGVjdGVkLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVuaXF1ZSBpZCBvZiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpZD8gPSAnJztcblxuICAvKipcbiAgICogSW5wdXQgdmFsdWVcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGluIGFuIGVycm9yIHN0YXRlLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nW119XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZXJyb3JzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICogRGVmYXVsdDogZmFsc2UuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygb3B0aW9ucy5cbiAgICpcbiAgICogQHR5cGUge09wdGlvblR5cGV9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFsdWVMaXN0OiBPcHRpb25UeXBlW10gPSBbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBzaG91bGQgYmUgYWxsb3dlZCB0byBjbGVhciB0aGUgdmFsdWVzLlxuICAgKiBEZWZhdWx0OiB0cnVlLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGFsbG93IHRoZSB1c2VyIHRvIHNlbGVjdCBtdWx0aXBsZSB2YWx1ZXMgYXQgb25jZS5cbiAgICogRGVmYXVsdDogdHJ1ZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYWxsb3dNdWx0aXBsZVNlbGVjdGlvbj8gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHJlcXVpcmVkLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2hvdyByZXNlcnZlZCBjb250ZW50IGJlbG93IGZvcm0gZmllbGRcbiAgICogQHByb3BlcnR5IHNob3dCb3R0b21Db250ZW50XG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNob3dCb3R0b21Db250ZW50ID0gdHJ1ZTtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRoZW1lJylcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIEhpZGUgaW4gYnVpbGQgZXJyb3JzIGZvciBSZWFjdGl2ZSBGb3Jtc1xuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhpZGVCdWlsdEluRXJyb3JzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEhpZGUgbGFiZWwgaW4gZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGlkZUxhYmVsSW5FcnJvcnMgPSBmYWxzZTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IHRleHRGaWVsZFxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGZpZWxkIHRvIGJlIHVzZWQgYXMgdGhlIGRpc3BsYXkgdGV4dCBpbiB0aGUgZHJvcGRvd24uXG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dEZpZWxkID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB2YWx1ZUZpZWxkXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgZmllbGQgdG8gYmUgdXNlZCBhcyB0aGUgdmFsdWUgaW4gdGhlIGRyb3Bkb3duLlxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlRmllbGQgPSAnJztcblxuICBASW5wdXQoKSBoYXNFcnJvciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb2xvciBvZiB0aGUgb3B0aW9uIGhvdmVyLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb21wYW55Q29sb3I6IHN0cmluZyA9ICcnXG5cbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdtYXRTZWxlY3QnKSBtYXRTZWxlY3Q6IE1hdFNlbGVjdDtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicsIFsnJGV2ZW50J10pXG4gIG9uVGFiUHJlc3MoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRTZWxlY3Q/LmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgb25Ub3VjaCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICApIHtcblxuICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgdGhpcy52YWx1ZUxpc3QgPSBbXTtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlO1xuICBjbGFzc0Vycm9yOiBzdHJpbmc7XG4gIGVycm9yc0xlbmd0aDogYm9vbGVhbjtcbiAgc2hvd0NoZWNrOiBib29sZWFuO1xuICBvcHRpb25TZWxlY3RlZDogYW55O1xuICBrZXlib2FyZEZvY3VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIG1hcmsgY29tcG9uZW50IHZpZXcgYXMgZGlydHkgd2hlbiB0b3VjaGVkIHByb2dyYW1tYXRpY2FsbHkgd2l0aCBtYXJrQXNUb3VjaGVkL21hcmtBbGxBc1RvdWNoZWQgb3IgZXJyb3JzXG4gICAqIHRvIGRpc3BsYXkgdmFsaWRhdGlvbiBlcnJvcnMgdGhhdCBtaWdodCBoYXBwZW4gKGUuZy4gcmVxdWlyZWQpXG4gICAqL1xuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sPy50b3VjaGVkIHx8IHRoaXMubmdDb250cm9sPy5lcnJvcnMpIHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JzTGVuZ3RoID0gdGhpcy5zZXRFcnJvcnNMZW5ndGgoKTtcbiAgICB0aGlzLnNldFN0eWxlVmFyaWFibGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29tcGFueUNvbG9yJ10pIHtcbiAgICAgIHRoaXMuc2V0U3R5bGVWYXJpYWJsZSgpO1xuICAgIH1cbiAgfVxuXG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1hdFNlbGVjdC5fZWxlbWVudFJlZikge1xuICAgICAgdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLm1hdFNlbGVjdC5fZWxlbWVudFJlZikucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgLnN1YnNjcmliZShvcmlnaW4gPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmtleWJvYXJkRm9jdXNlZC5zZXQob3JpZ2luID09PSAna2V5Ym9hcmQnKVxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXRTZWxlY3QuX2hhbmRsZUtleWRvd24gPSB0aGlzLm9uS2V5ZG93bi5iaW5kKHRoaXMpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQgPSBudWxsO1xuICAgIHRoaXMubWF0U2VsZWN0LnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy9TYXZlIHNlbGVjdCB2YWx1ZVxuICBvbkNoYW5nZU9wdGlvbihldmVudDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuZXJyb3JzTGVuZ3RoID0gdGhpcy5zZXRFcnJvcnNMZW5ndGgoKTtcbiAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy9TZXQgZXJyb3JzIGxlbmd0aCBmb3IgdmFsaWRhdGlvblxuICBzZXRFcnJvcnNMZW5ndGgoKTogYm9vbGVhbiB7XG4gICAgaWYgKCEhdGhpcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmVycm9ycy5sZW5ndGggPiAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uQ2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICB9XG5cbiAgb25PcGVuZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQuZW1pdCgpO1xuICAgIHRoaXMuaXNPcGVuLnNldCh0cnVlKTtcbiAgfVxuXG4gIHNldFN0eWxlVmFyaWFibGUoKSB7XG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5jb21wYW55Q29sb3IgPyBhZGp1c3RMaWdodG5lc3ModGhpcy5jb21wYW55Q29sb3IsICdwcmVzc2VkJykgOiAnI0ZGRTZGQSdcbiAgICBjb25zdCBob3ZlciA9IHRoaXMuY29tcGFueUNvbG9yID8gYWRqdXN0TGlnaHRuZXNzKHRoaXMuY29tcGFueUNvbG9yLCAnaG92ZXInKSA6ICcjRkZGMkZDJztcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRBdHRyaWJ1dGUoZG9jdW1lbnQuYm9keSwgJ3N0eWxlJywgYFxuICAgIC0tZHJvcGRvd24tY29sb3Itb3B0aW9uLWFjdGl2ZTogJHthY3RpdmV9O1xuICAgIC0tZHJvcGRvd24tY29sb3Itb3B0aW9uLWhvdmVyOiAke2hvdmVyfWApO1xuICB9XG5cbiAgb25LZXlkb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgkZXZlbnQua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5BUlJPV19ET1dOIHx8ICRldmVudC5rZXkgPT09IElLZXlib2FyZEV2ZW50LkFSUk9XX1VQKSB7XG4gICAgICBpZiAoIXRoaXMubWF0U2VsZWN0LnBhbmVsT3Blbikge1xuICAgICAgICB0aGlzLm1hdFNlbGVjdC5vcGVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLm9wdGlvblNlbGVjdGVkIHx8IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnMuZmlyc3Q7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy50b0FycmF5KCkuaW5kZXhPZihzZWxlY3RlZEl0ZW0pO1xuICAgICAgICBjb25zdCBuZXh0SW5kZXggPSAkZXZlbnQua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5BUlJPV19ET1dOID8gKGluZGV4ICsgMSkgPiB0aGlzLm1hdFNlbGVjdC5vcHRpb25zLmxlbmd0aCAtIDEgPyBpbmRleCA6IChpbmRleCArIDEpIDogaW5kZXggLSAxO1xuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGVkID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy50b0FycmF5KClbbmV4dEluZGV4XTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25TZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMubWF0U2VsZWN0Ll9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5vcHRpb25TZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCgkZXZlbnQua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5TUEFDRSB8fCAkZXZlbnQua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5FTlRFUikpIHtcbiAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvblNlbGVjdGVkKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmFsbG93TXVsdGlwbGVTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0LnZhbHVlID0gdGhpcy5vcHRpb25TZWxlY3RlZC52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0LmNsb3NlKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1hdFNlbGVjdC52YWx1ZSkge1xuICAgICAgICAgICAgICB0aGlzLm1hdFNlbGVjdC52YWx1ZSA9IHRoaXMubWF0U2VsZWN0LnZhbHVlLmluY2x1ZGVzKHRoaXMub3B0aW9uU2VsZWN0ZWQudmFsdWUpID8gdGhpcy5tYXRTZWxlY3QudmFsdWUuZmlsdGVyKCh2YWx1ZTogYW55KSA9PiB2YWx1ZSAhPT0gdGhpcy5vcHRpb25TZWxlY3RlZC52YWx1ZSkgOiBbLi4udGhpcy5tYXRTZWxlY3QudmFsdWUsIHRoaXMub3B0aW9uU2VsZWN0ZWQudmFsdWVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QudmFsdWUgPSBbdGhpcy5vcHRpb25TZWxlY3RlZC52YWx1ZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubWF0U2VsZWN0LnZhbHVlID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy5maXJzdC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoJGV2ZW50LmtleSA9PT0gSUtleWJvYXJkRXZlbnQuSE9NRSkge1xuICAgICAgdGhpcy5tYXRTZWxlY3QuX2tleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgfSBlbHNlIGlmICgkZXZlbnQua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5FTkQpIHtcbiAgICAgIHRoaXMubWF0U2VsZWN0Ll9rZXlNYW5hZ2VyLnNldExhc3RJdGVtQWN0aXZlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgW2NvbG9yXT1cIihlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzICYmIG5nQ29udHJvbD8udG91Y2hlZCApIHx8IGhhc0Vycm9yKSA/ICd3YXJuJyA6ICdhY2NlbnQnXCJcbiAgICBbbmdDbGFzc109XCJ7ICdoaWRlLWJvdHRvbS1jb250ZW50JzogIXNob3dCb3R0b21Db250ZW50LCAnd2l0aG91dC1sYWJlbCc6ICFsYWJlbCwgJ2tleWJvYXJkLWZvY3VzZWQnOiBrZXlib2FyZEZvY3VzZWQoKSwgJ2hhcy1sYWJlbCc6ICEhbGFiZWwgfVwiXG4gID5cbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19ICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgKGNsb3NlZCk9XCJvbkNsb3NlZCgpXCJcbiAgICAgIChvcGVuZWQpPVwib25PcGVuZWQoKVwiXG4gICAgICAjbWF0U2VsZWN0XG4gICAgICBbaWRdPVwiaWQhXCJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cImFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJ1wiXG4gICAgICBbcGFuZWxDbGFzc109XCIndWktZHJvcGRvd24tbGlzdCcgKyAnICcgKyBhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbXVsdGlwbGVdPVwiISFhbGxvd011bHRpcGxlU2VsZWN0aW9uXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZU9wdGlvbigkZXZlbnQpXCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1vcHRpb24tc2VjdGlvblwiICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHZhbHVlTGlzdFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInNlY3Rpb24uc2VjdGlvblRpdGxlXCIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+e3sgc2VjdGlvbi5zZWN0aW9uVGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwic2VjdGlvblwiICNtYXRPcHRpb24gW3ZhbHVlXT1cInZhbHVlRmllbGQgPyBzZWN0aW9uW3ZhbHVlRmllbGRdIDogdGV4dEZpZWxkICYmICF2YWx1ZUZpZWxkID8gc2VjdGlvbiA6IHNlY3Rpb24udmFsdWVcIj5cbiAgICAgICAgICB7eyB0ZXh0RmllbGQgPyBzZWN0aW9uW3RleHRGaWVsZF0gOiBzZWN0aW9uLmRpc3BsYXlWYWx1ZSA/PyBzZWN0aW9uLnZhbHVlIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8dWktYnV0dG9uIFthcmlhTGFiZWxdPVwiKCgnQ09NTU9OLkNMRUFSJykgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAqbmdJZj1cImFsbG93Q2xlYXIgJiYgIW1hdFNlbGVjdC5lbXB0eVwiIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBbanVzdEljb25dPVwidHJ1ZVwiIGNsYXNzPVwiY2xlYXJcIiBbaWNvbk5hbWVdPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0Nsb3NlJyA6ICdDbG9zZS1maWxsZWQnXCIgW2xhYmVsXT1cIigoJ0NPTU1PTi5DTEVBUicpIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCIgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiPjwvdWktYnV0dG9uPlxuICAgIDx1aS1pY29uIGNsYXNzPVwiY2hldnJvbi1pY29uXCIgKm5nSWY9XCIhbWF0U2VsZWN0LnBhbmVsT3BlblwiIHNpemU9XCIyNFwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmFtZV09XCJhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnQXJyb3dfZG93bicgOiAnQXJyb3ctY2hldnJvbi1kb3duLWZpbGxlZCdcIj48L3VpLWljb24+XG4gICAgPHVpLWljb24gY2xhc3M9XCJjaGV2cm9uLWljb25cIiAqbmdJZj1cIm1hdFNlbGVjdC5wYW5lbE9wZW5cIiBzaXplPVwiMjRcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW25hbWVdPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0Fycm93X3VwJyA6ICdBcnJvdy1jaGV2cm9uLXVwLWZpbGxlZCdcIj48L3VpLWljb24+XG4gICAgPG1hdC1oaW50IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgfCBoYXNWYWxpZGF0aW9uRXJyb3IpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JzTGVuZ3RoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvcnNcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzXCI+XG4gICAgICAgICAgPHVpLWljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdFcnJvcicgOiAnRXJyb3ItaW4tbGluZSdcIj48L3VpLWljb24+e3sgZXJyb3IgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHVpLXZhbGlkYXRpb24tZXJyb3IgKm5nSWY9XCJuZ0NvbnRyb2wgJiYgIWhpZGVCdWlsdEluRXJyb3JzXCIgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIiBbbGFiZWxdPVwiaGlkZUxhYmVsSW5FcnJvcnMgPyBudWxsIDogbGFiZWxcIj48L3VpLXZhbGlkYXRpb24tZXJyb3I+XG4gICAgPC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sSUFBSSxFQUNKLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTcEUsTUFBTSxPQUFPLGlCQUFpQjtJQStKNUIsVUFBVTtRQUNSLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQVlELFlBQzZFLGVBQWlDLEVBQzNGLEdBQXNCLEVBQ1osU0FBb0IsRUFDOUIsU0FBb0IsRUFDcEIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsTUFBYztRQU40QyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDM0YsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FB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LEtBQUs7Z0JBUUcsTUFBTTtzQkFBZCxLQUFLO2dCQVNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFTRyxVQUFVO3NCQUFsQixLQUFLO2dCQVNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFTRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFVRyxnQkFBZ0I7c0JBRHhCLFdBQVc7dUJBQUMsWUFBWTs7c0JBQ3hCLEtBQUs7Z0JBUUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVFHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRWlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFHdEIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBEb0NoZWNrLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2VsZixcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGbG9hdExhYmVsVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgT3B0aW9uVHlwZSB9IGZyb20gJy4vZHJvcGRvd24ubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBhZGp1c3RMaWdodG5lc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHMvY29sb3ItY29udHJhc3RcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9hMTF5XCI7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XG5pbXBvcnQgeyBJS2V5Ym9hcmRFdmVudCB9IGZyb20gXCIuLi8uLi9tb2RlbHMva2V5Ym9hcmQtZXZlbnRzLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRG9DaGVjaywgT25DaGFuZ2VzIHtcbiAgQEhvc3RCaW5kaW5nKCkgY2xhc3MgPSAndWktZHJvcGRvd24nO1xuXG4gIC8qKlxuICAgKiBUZXh0IGNvbnRlbnQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50IGlmIHByZXNlbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw/ID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IG5hbWUgYXR0cmlidXRlXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdG8gYmUgc2hvd24gaWYgbm8gdmFsdWUgaGFzIGJlZW4gc2VsZWN0ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIGlkIG9mIHRoZSBlbGVtZW50LlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlkPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YWx1ZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgaW4gYW4gZXJyb3Igc3RhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBlcnJvcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogTGlzdCBvZiBvcHRpb25zLlxuICAgKlxuICAgKiBAdHlwZSB7T3B0aW9uVHlwZX1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZUxpc3Q6IE9wdGlvblR5cGVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB1c2VyIHNob3VsZCBiZSBhbGxvd2VkIHRvIGNsZWFyIHRoZSB2YWx1ZXMuXG4gICAqIERlZmF1bHQ6IHRydWUuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsbG93Q2xlYXIgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYWxsb3cgdGhlIHVzZXIgdG8gc2VsZWN0IG11bHRpcGxlIHZhbHVlcyBhdCBvbmNlLlxuICAgKiBEZWZhdWx0OiB0cnVlLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbGxvd011bHRpcGxlU2VsZWN0aW9uPyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgcmVxdWlyZWQuXG4gICAqIERlZmF1bHQ6IGZhbHNlLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaG93IHJlc2VydmVkIGNvbnRlbnQgYmVsb3cgZm9ybSBmaWVsZFxuICAgKiBAcHJvcGVydHkgc2hvd0JvdHRvbUNvbnRlbnRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2hvd0JvdHRvbUNvbnRlbnQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogSGlkZSBpbiBidWlsZCBlcnJvcnMgZm9yIFJlYWN0aXZlIEZvcm1zXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGlkZUJ1aWx0SW5FcnJvcnMgPSBmYWxzZTtcblxuICAvKipcbiAgICogSGlkZSBsYWJlbCBpbiBlcnJvcnNcbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBoaWRlTGFiZWxJbkVycm9ycyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgdGV4dEZpZWxkXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgZmllbGQgdG8gYmUgdXNlZCBhcyB0aGUgZGlzcGxheSB0ZXh0IGluIHRoZSBkcm9wZG93bi5cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0ZXh0RmllbGQgPSAnJztcblxuICAvKipcbiAgICogQHByb3BlcnR5IHZhbHVlRmllbGRcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBmaWVsZCB0byBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBpbiB0aGUgZHJvcGRvd24uXG4gICAqIEBtZW1iZXJvZiBEcm9wZG93bkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFsdWVGaWVsZCA9ICcnO1xuXG4gIEBJbnB1dCgpIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBvcHRpb24gaG92ZXIuXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRHJvcGRvd25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNvbXBhbnlDb2xvcjogc3RyaW5nID0gJydcblxuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ21hdFNlbGVjdCcpIG1hdFNlbGVjdDogTWF0U2VsZWN0O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24udGFiJywgWyckZXZlbnQnXSlcbiAgb25UYWJQcmVzcygpOiB2b2lkIHtcbiAgICB0aGlzLm1hdFNlbGVjdD8uY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICkge1xuXG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICB0aGlzLnZhbHVlTGlzdCA9IFtdO1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGU7XG4gIGNsYXNzRXJyb3I6IHN0cmluZztcbiAgZXJyb3JzTGVuZ3RoOiBib29sZWFuO1xuICBzaG93Q2hlY2s6IGJvb2xlYW47XG4gIG9wdGlvblNlbGVjdGVkOiBhbnk7XG4gIGtleWJvYXJkRm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWFyayBjb21wb25lbnQgdmlldyBhcyBkaXJ0eSB3aGVuIHRvdWNoZWQgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG1hcmtBc1RvdWNoZWQvbWFya0FsbEFzVG91Y2hlZCBvciBlcnJvcnNcbiAgICogdG8gZGlzcGxheSB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IG1pZ2h0IGhhcHBlbiAoZS5nLiByZXF1aXJlZClcbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5uZ0NvbnRyb2w/LmVycm9ycykge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvcnNMZW5ndGggPSB0aGlzLnNldEVycm9yc0xlbmd0aCgpO1xuICAgIHRoaXMuc2V0U3R5bGVWYXJpYWJsZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb21wYW55Q29sb3InXSkge1xuICAgICAgdGhpcy5zZXRTdHlsZVZhcmlhYmxlKCk7XG4gICAgfVxuICB9XG5cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWF0U2VsZWN0Ll9lbGVtZW50UmVmKSB7XG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMubWF0U2VsZWN0Ll9lbGVtZW50UmVmKS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAuc3Vic2NyaWJlKG9yaWdpbiA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMua2V5Ym9hcmRGb2N1c2VkLnNldChvcmlnaW4gPT09ICdrZXlib2FyZCcpXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICB0aGlzLm1hdFNlbGVjdC5faGFuZGxlS2V5ZG93biA9IHRoaXMub25LZXlkb3duLmJpbmQodGhpcyk7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZCA9IG51bGw7XG4gICAgdGhpcy5tYXRTZWxlY3QudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvL1NhdmUgc2VsZWN0IHZhbHVlXG4gIG9uQ2hhbmdlT3B0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgdGhpcy5lcnJvcnNMZW5ndGggPSB0aGlzLnNldEVycm9yc0xlbmd0aCgpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvL1NldCBlcnJvcnMgbGVuZ3RoIGZvciB2YWxpZGF0aW9uXG4gIHNldEVycm9yc0xlbmd0aCgpOiBib29sZWFuIHtcbiAgICBpZiAoISF0aGlzLmVycm9ycykge1xuICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzLmxlbmd0aCA+IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gIH1cblxuICBvbk9wZW5lZCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XG4gICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgc2V0U3R5bGVWYXJpYWJsZSgpIHtcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmNvbXBhbnlDb2xvciA/IGFkanVzdExpZ2h0bmVzcyh0aGlzLmNvbXBhbnlDb2xvciwgJ3ByZXNzZWQnKSA6ICcjRkZFNkZBJ1xuICAgIGNvbnN0IGhvdmVyID0gdGhpcy5jb21wYW55Q29sb3IgPyBhZGp1c3RMaWdodG5lc3ModGhpcy5jb21wYW55Q29sb3IsICdob3ZlcicpIDogJyNGRkYyRkMnO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldEF0dHJpYnV0ZShkb2N1bWVudC5ib2R5LCAnc3R5bGUnLCBgXG4gICAgLS1kcm9wZG93bi1jb2xvci1vcHRpb24tYWN0aXZlOiAke2FjdGl2ZX07XG4gICAgLS1kcm9wZG93bi1jb2xvci1vcHRpb24taG92ZXI6ICR7aG92ZXJ9YCk7XG4gIH1cblxuICBvbktleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC5rZXkgPT09IElLZXlib2FyZEV2ZW50LkFSUk9XX0RPV04gfHwgJGV2ZW50LmtleSA9PT0gSUtleWJvYXJkRXZlbnQuQVJST1dfVVApIHtcbiAgICAgIGlmICghdGhpcy5tYXRTZWxlY3QucGFuZWxPcGVuKSB7XG4gICAgICAgIHRoaXMubWF0U2VsZWN0Lm9wZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMub3B0aW9uU2VsZWN0ZWQgfHwgdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy5maXJzdDtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1hdFNlbGVjdC5vcHRpb25zLnRvQXJyYXkoKS5pbmRleE9mKHNlbGVjdGVkSXRlbSk7XG4gICAgICAgIGNvbnN0IG5leHRJbmRleCA9ICRldmVudC5rZXkgPT09IElLZXlib2FyZEV2ZW50LkFSUk9XX0RPV04gPyAoaW5kZXggKyAxKSA+IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIC0gMSA/IGluZGV4IDogKGluZGV4ICsgMSkgOiBpbmRleCAtIDE7XG4gICAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQgPSB0aGlzLm1hdFNlbGVjdC5vcHRpb25zLnRvQXJyYXkoKVtuZXh0SW5kZXhdO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvblNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5tYXRTZWxlY3QuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzLm9wdGlvblNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoKCRldmVudC5rZXkgPT09IElLZXlib2FyZEV2ZW50LlNQQUNFIHx8ICRldmVudC5rZXkgPT09IElLZXlib2FyZEV2ZW50LkVOVEVSKSkge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9uU2VsZWN0ZWQpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuYWxsb3dNdWx0aXBsZVNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QudmFsdWUgPSB0aGlzLm9wdGlvblNlbGVjdGVkLnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QuY2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0LnZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0LnZhbHVlID0gdGhpcy5tYXRTZWxlY3QudmFsdWUuaW5jbHVkZXModGhpcy5vcHRpb25TZWxlY3RlZC52YWx1ZSkgPyB0aGlzLm1hdFNlbGVjdC52YWx1ZS5maWx0ZXIoKHZhbHVlOiBhbnkpID0+IHZhbHVlICE9PSB0aGlzLm9wdGlvblNlbGVjdGVkLnZhbHVlKSA6IFsuLi50aGlzLm1hdFNlbGVjdC52YWx1ZSwgdGhpcy5vcHRpb25TZWxlY3RlZC52YWx1ZV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLm1hdFNlbGVjdC52YWx1ZSA9IFt0aGlzLm9wdGlvblNlbGVjdGVkLnZhbHVlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tYXRTZWxlY3QudmFsdWUgPSB0aGlzLm1hdFNlbGVjdC5vcHRpb25zLmZpcnN0LnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5tYXRTZWxlY3QudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoJGV2ZW50LmtleSA9PT0gSUtleWJvYXJkRXZlbnQuSE9NRSkge1xuICAgICAgdGhpcy5tYXRTZWxlY3QuX2tleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgfSBlbHNlIGlmICgkZXZlbnQua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5FTkQpIHtcbiAgICAgIHRoaXMubWF0U2VsZWN0Ll9rZXlNYW5hZ2VyLnNldExhc3RJdGVtQWN0aXZlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgW2NvbG9yXT1cIihlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzICYmIG5nQ29udHJvbD8udG91Y2hlZCApIHx8IGhhc0Vycm9yKSA/ICd3YXJuJyA6ICdhY2NlbnQnXCJcbiAgICBbbmdDbGFzc109XCJ7ICdoaWRlLWJvdHRvbS1jb250ZW50JzogIXNob3dCb3R0b21Db250ZW50LCAnd2l0aG91dC1sYWJlbCc6ICFsYWJlbCwgJ2tleWJvYXJkLWZvY3VzZWQnOiBrZXlib2FyZEZvY3VzZWQoKSwgJ2hhcy1sYWJlbCc6ICEhbGFiZWwgfVwiXG4gID5cbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19ICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgKGNsb3NlZCk9XCJvbkNsb3NlZCgpXCJcbiAgICAgIChvcGVuZWQpPVwib25PcGVuZWQoKVwiXG4gICAgICAjbWF0U2VsZWN0XG4gICAgICBbaWRdPVwiaWQhXCJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cImFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJ1wiXG4gICAgICBbcGFuZWxDbGFzc109XCIndWktZHJvcGRvd24tbGlzdCcgKyAnICcgKyBhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbXVsdGlwbGVdPVwiISFhbGxvd011bHRpcGxlU2VsZWN0aW9uXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZU9wdGlvbigkZXZlbnQpXCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1vcHRpb24tc2VjdGlvblwiICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHZhbHVlTGlzdFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInNlY3Rpb24uc2VjdGlvblRpdGxlXCIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+e3sgc2VjdGlvbi5zZWN0aW9uVGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwic2VjdGlvblwiICNtYXRPcHRpb24gW3ZhbHVlXT1cInZhbHVlRmllbGQgPyBzZWN0aW9uW3ZhbHVlRmllbGRdIDogdGV4dEZpZWxkICYmICF2YWx1ZUZpZWxkID8gc2VjdGlvbiA6IHNlY3Rpb24udmFsdWVcIj5cbiAgICAgICAgICB7eyB0ZXh0RmllbGQgPyBzZWN0aW9uW3RleHRGaWVsZF0gOiBzZWN0aW9uLmRpc3BsYXlWYWx1ZSA/PyBzZWN0aW9uLnZhbHVlIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8dWktYnV0dG9uIFthcmlhTGFiZWxdPVwiKCgnQ09NTU9OLkNMRUFSJykgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIiAqbmdJZj1cImFsbG93Q2xlYXIgJiYgIW1hdFNlbGVjdC5lbXB0eVwiIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBbanVzdEljb25dPVwidHJ1ZVwiIGNsYXNzPVwiY2xlYXJcIiBbaWNvbk5hbWVdPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0Nsb3NlJyA6ICdDbG9zZS1maWxsZWQnXCIgW2xhYmVsXT1cIigoJ0NPTU1PTi5DTEVBUicpIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCIgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiPjwvdWktYnV0dG9uPlxuICAgIDx1aS1pY29uIGNsYXNzPVwiY2hldnJvbi1pY29uXCIgKm5nSWY9XCIhbWF0U2VsZWN0LnBhbmVsT3BlblwiIHNpemU9XCIyNFwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmFtZV09XCJhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnQXJyb3dfZG93bicgOiAnQXJyb3ctY2hldnJvbi1kb3duLWZpbGxlZCdcIj48L3VpLWljb24+XG4gICAgPHVpLWljb24gY2xhc3M9XCJjaGV2cm9uLWljb25cIiAqbmdJZj1cIm1hdFNlbGVjdC5wYW5lbE9wZW5cIiBzaXplPVwiMjRcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW25hbWVdPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0Fycm93X3VwJyA6ICdBcnJvdy1jaGV2cm9uLXVwLWZpbGxlZCdcIj48L3VpLWljb24+XG4gICAgPG1hdC1oaW50IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgfCBoYXNWYWxpZGF0aW9uRXJyb3IpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JzTGVuZ3RoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvcnNcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzXCI+XG4gICAgICAgICAgPHVpLWljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdFcnJvcicgOiAnRXJyb3ItaW4tbGluZSdcIj48L3VpLWljb24+e3sgZXJyb3IgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHVpLXZhbGlkYXRpb24tZXJyb3IgKm5nSWY9XCJuZ0NvbnRyb2wgJiYgIWhpZGVCdWlsdEluRXJyb3JzXCIgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIiBbbGFiZWxdPVwiaGlkZUxhYmVsSW5FcnJvcnMgPyBudWxsIDogbGFiZWxcIj48L3VpLXZhbGlkYXRpb24tZXJyb3I+XG4gICAgPC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|