@norwegian/core-components 6.43.0 → 6.44.0

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.
@@ -32,7 +32,7 @@ export class CampaignHeaderComponent extends NasComponentBase {
32
32
  return 'var(--primary-base-color)';
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CampaignHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CampaignHeaderComponent, selector: "nas-campaign-header", inputs: { title: "title", source: "source", description: "description", microButtonModel: "microButtonModel", gradient: "gradient" }, usesInheritance: true, ngImport: i0, template: "<div>\n <div *ngIf=\"microButtonModel\" [nasClass]=\"getClass('micro-button')\">\n <nas-micro-button primary icon=\"left--light\" [model]=\"microButtonModel\"></nas-micro-button>\n </div>\n <header [nasClass]=\"gradient ? getClass('gradient-header') : getClass('header')\"\n [style.--bg-image]=\"getBackgroundImage()\" [style.background-color]=\"getBackgroundColor()\">\n <div [nasClass]=\"getClass('content')\">\n <h1 [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <div [nasClass]=\"getClass('description')\">\n <ng-container *ngIf=\"description; else descriptionContent\">{{description}}</ng-container>\n <ng-template #descriptionContent>\n <ng-content select=\"[description]\"></ng-content>\n </ng-template>\n </div>\n </div>\n </header>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}:host{--primary-base-color: #d81939}.nas-campaign-header{max-width:820px;margin:24px auto 36px}.nas-campaign-header__header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat}@media (min-width: 640px){.nas-campaign-header__header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__gradient-header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;background:linear-gradient(180deg,rgba(0,50,81,0) 0%,rgba(0,50,81,.8) 100%),var(--bg-image, none),lightgray 50%/cover no-repeat}@media (min-width: 640px){.nas-campaign-header__gradient-header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__micro-button{position:absolute;padding:16px}@media (min-width: 640px){.nas-campaign-header__micro-button{padding:32px}}.nas-campaign-header__content{flex-grow:2}.nas-campaign-header__title{font-size:28px;color:#fff;padding:0 16px 8px;margin:unset!important}@media (min-width: 640px){.nas-campaign-header__title{font-size:50px;line-height:56px;padding:0 32px 16px}}.nas-campaign-header__description{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff;font-size:16px;line-height:26px;padding:0 16px 16px}@media (min-width: 640px){.nas-campaign-header__description{padding:0 32px 32px;font-size:18px;line-height:26px}}.nas-campaign-header--small{margin-bottom:24px}.nas-campaign-header--small .nas-campaign-header__title{font-size:24px;line-height:30px}.nas-campaign-header--small .nas-campaign-header__header{height:auto;background-image:none;border-bottom:2px solid #003251}::ng-deep .nas-micro-button--text{border-bottom:none;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.MicroButtonComponent, selector: "nas-micro-button", inputs: ["icon", "iconType", "href", "target", "primary", "secondary", "white", "disabled", "canContinueOnDisabled", "iconLeft", "trackingvalue", "ariaLabel", "tabindex", "type"], outputs: ["clickChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CampaignHeaderComponent, selector: "nas-campaign-header", inputs: { title: "title", source: "source", description: "description", microButtonModel: "microButtonModel", gradient: "gradient" }, usesInheritance: true, ngImport: i0, template: "<div>\n <div *ngIf=\"microButtonModel\" [nasClass]=\"getClass('micro-button')\">\n <nas-micro-button primary icon=\"left--light\" [model]=\"microButtonModel\"></nas-micro-button>\n </div>\n <header [nasClass]=\"gradient ? getClass('gradient-header') : getClass('header')\"\n [style.--bg-image]=\"getBackgroundImage()\" [style.background-color]=\"getBackgroundColor()\">\n <div [nasClass]=\"getClass('content')\">\n <h1 [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <div [nasClass]=\"getClass('description')\">\n <ng-container *ngIf=\"description; else descriptionContent\">{{description}}</ng-container>\n <ng-template #descriptionContent>\n <ng-content select=\"[description]\"></ng-content>\n </ng-template>\n </div>\n </div>\n </header>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}:host{--primary-base-color: #d81939}.nas-campaign-header{max-width:820px;margin:24px auto 36px}.nas-campaign-header__header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat}@media (min-width: 640px){.nas-campaign-header__header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__gradient-header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;background:linear-gradient(180deg,rgba(0,50,81,0) 0%,rgba(0,50,81,.8) 100%),var(--bg-image, none),lightgray 50%/cover no-repeat}@media (min-width: 640px){.nas-campaign-header__gradient-header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__micro-button{position:absolute;padding:16px}@media (min-width: 640px){.nas-campaign-header__micro-button{padding:32px}}.nas-campaign-header__content{flex-grow:2}.nas-campaign-header__title{font-size:28px;color:#fff;padding:0 16px 8px;margin:unset!important}@media (min-width: 640px){.nas-campaign-header__title{font-size:50px;line-height:56px;padding:0 32px 16px}}.nas-campaign-header__description{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff;font-size:16px;line-height:26px;padding:0 16px 16px}@media (min-width: 640px){.nas-campaign-header__description{padding:0 32px 32px;font-size:18px;line-height:26px}}.nas-campaign-header--small{margin-bottom:24px}.nas-campaign-header--small .nas-campaign-header__title{font-size:24px;line-height:30px}.nas-campaign-header--small .nas-campaign-header__header{height:auto;background-image:none;border-bottom:2px solid #003251}::ng-deep .nas-micro-button--text{border-bottom:none;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.MicroButtonComponent, selector: "nas-micro-button", inputs: ["icon", "iconType", "href", "target", "primary", "secondary", "white", "disabled", "iconLeft", "trackingvalue", "ariaLabel", "tabindex", "type"], outputs: ["clickChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CampaignHeaderComponent, decorators: [{
38
38
  type: Component,
@@ -50,7 +50,6 @@ export class MicroButtonComponent extends NasComponentBase {
50
50
  this.exists(this.primary) && 'primary',
51
51
  this.exists(this.secondary) && 'secondary',
52
52
  this.exists(this.white) && 'white',
53
- this.exists(this.disabled) && 'disabled',
54
53
  this.exists(this.iconLeft) && 'reversed',
55
54
  (!this.exists(this.primary) && !this.exists(this.secondary) && !this.exists(this.white)) && 'primary',
56
55
  ];
@@ -65,11 +64,11 @@ export class MicroButtonComponent extends NasComponentBase {
65
64
  this.clickChange.emit(event);
66
65
  }
67
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MicroButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: MicroButtonComponent, selector: "nas-micro-button", inputs: { icon: "icon", iconType: "iconType", href: "href", target: "target", primary: "primary", secondary: "secondary", white: "white", disabled: "disabled", canContinueOnDisabled: "canContinueOnDisabled", iconLeft: "iconLeft", trackingvalue: "trackingvalue", ariaLabel: "ariaLabel", tabindex: "tabindex", type: "type" }, outputs: { clickChange: "clickChange" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [attr.disabled]=\"disabled\" [href]=\"href\" [target]=\"target\"\n [disabled]=\"disabled\" [attr.disabled]=\"disabled\" [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button *ngIf=\"!href\" [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"disabled\" [attr.disabled]=\"disabled\"\n [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\"\n (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: MicroButtonComponent, selector: "nas-micro-button", inputs: { icon: "icon", iconType: "iconType", href: "href", target: "target", primary: "primary", secondary: "secondary", white: "white", disabled: "disabled", iconLeft: "iconLeft", trackingvalue: "trackingvalue", ariaLabel: "ariaLabel", tabindex: "tabindex", type: "type" }, outputs: { clickChange: "clickChange" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [href]=\"href\" [target]=\"target\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\" (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
68
  }
70
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MicroButtonComponent, decorators: [{
71
70
  type: Component,
72
- args: [{ selector: 'nas-micro-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [attr.disabled]=\"disabled\" [href]=\"href\" [target]=\"target\"\n [disabled]=\"disabled\" [attr.disabled]=\"disabled\" [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button *ngIf=\"!href\" [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"disabled\" [attr.disabled]=\"disabled\"\n [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\"\n (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"] }]
71
+ args: [{ selector: 'nas-micro-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [href]=\"href\" [target]=\"target\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\" (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"] }]
73
72
  }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
74
73
  type: Input
75
74
  }], iconType: [{
@@ -86,8 +85,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
86
85
  type: Input
87
86
  }], disabled: [{
88
87
  type: Input
89
- }], canContinueOnDisabled: [{
90
- type: Input
91
88
  }], iconLeft: [{
92
89
  type: Input
93
90
  }], trackingvalue: [{
@@ -101,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
101
98
  }], clickChange: [{
102
99
  type: Output
103
100
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbWljcm8tYnV0dG9uL21pY3JvLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21pY3JvLWJ1dHRvbi9taWNyby1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFFL0I7OztHQUdHO0FBT0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQStJeEQ7UUFDRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQXRINUI7Ozs7OztVQU1FO1FBQ08sV0FBTSxHQUFHLE9BQU8sQ0FBQztRQTBGMUI7Ozs7Ozs7U0FPQztRQUNRLFNBQUksR0FBRyxRQUFRLENBQUM7UUFFekI7Ozs7Ozs7V0FPRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQU0xQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3BELG1CQUFjLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBSHpELENBQUM7SUFLRCxJQUFJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU87WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxTQUFTO1NBQ3RHLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdCLEVBQUUsU0FBZTtRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUVoRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBWTtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQTNLVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiw0YkNsQmpDLDAxQ0E0QmM7OzJGRFZELG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTswRUFRdEMsSUFBSTtzQkFBWixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csSUFBSTtzQkFBWixLQUFLO2dCQVNHLE1BQU07c0JBQWQsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUs7Z0JBV0csU0FBUztzQkFBakIsS0FBSztnQkFXRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFVRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFXRyxhQUFhO3NCQUFyQixLQUFLO2dCQVVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBVUcsUUFBUTtzQkFBaEIsS0FBSztnQkFVRyxJQUFJO3NCQUFaLEtBQUs7Z0JBVUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBOb3J3ZWdpYW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NNb2RlbCwgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIGFsZXJ0IENvbXBvbmVudCB8IEJ1dHRvbnMgYW5kIEluZGljYXRvcnNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLW1pY3JvLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9taWNyby1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taWNyby1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWljcm9CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgaWNvbiBvbiB0aGUgaW5wdXRcbiAgICovXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIHRoZSB0eXBlIG9mIGljb24gb24gdGhlIGlucHV0XG4gICAqL1xuICBASW5wdXQoKSBpY29uVHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgICogQHByb3BlcnR5IElucHV0XG4gICAgKiBAZGVzY3JpcHRpb25cbiAgICAqIFN0cmluZyB0byBzdXBwb3J0IGhyZWYuXG4gICAgKiBDYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgb3RoZXIgcHJvcGVydGllcy5cbiAgICAqXG4gICAgKiBAZXhhbXBsZVxuICAgICogPG5hcy1taWNyby1idXR0b24gW2hyZWZdPVwiaHR0cDovL3d3dy5ub3J3ZWdpYW4uY29tXCI+Q2xpY2sgb24gbWUhPC9uYXMtbWljcm8tYnV0dG9uPlxuICAgICovXG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICogQHByb3BlcnR5IElucHV0XG4gICogQGRlc2NyaXB0aW9uXG4gICogVGhlIHRhcmdldCBhdHRyaWJ1dGUgc3BlY2lmaWVzIHdoZXJlIHRvIG9wZW4gdGhlIGxpbmsuXG4gICogQGV4YW1wbGVcbiAgKiA8bmFzLWJ1dHRvbiBsaW5rIGhyZWY9XCJodHRwczovL3d3dy5ub3J3ZWdpYW4uY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q2xpY2sgb24gbWUhPC9uYXMtYnV0dG9uPlxuICAqL1xuICBASW5wdXQoKSB0YXJnZXQgPSAnX3NlbGYnO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IHByaW1hcnkgc3R5bGUgb2YgYnV0dG9uIChibHVlKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1taWNyby1idXR0b24gcHJpbWFyeT5DbGljayBvbiBtZSE8L25hcy1taWNyby1idXR0b24+XG4gICAqL1xuICBASW5wdXQoKSBwcmltYXJ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIHNldCBzZWNvbmRhcnkgc3R5bGUgb2YgYnV0dG9uICh0cmFuc3BhcmVudCB3aXRoIGJvcmRlcikuXG4gICAqIFByaW1hcnkgaXMgZGVmYXVsdCBzdHlsZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1taWNyby1idXR0b24gc2Vjb25kYXJ5PkNsaWNrIG9uIG1lITwvbmFzLW1pY3JvLWJ1dHRvbj5cbiAgICovXG4gIEBJbnB1dCgpIHNlY29uZGFyeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBzZXQgd2hpdGUgc3R5bGUgb2YgYnV0dG9uICh3aGl0ZSkuXG4gICAqIFByaW1hcnkgaXMgZGVmYXVsdCBzdHlsZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1taWNyby1idXR0b24gc2Vjb25kYXJ5PkNsaWNrIG9uIG1lITwvbmFzLW1pY3JvLWJ1dHRvbj5cbiAgICovXG4gIEBJbnB1dCgpIHdoaXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIHNldCBkaXNhYmxlZCBzdGF0ZSBvZiBidXR0b24gKHdoaXRlKS5cbiAgICogUHJpbWFyeSBpcyBkZWZhdWx0IHN0eWxlLlxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEJvb2xlYW4gdG8gb3ZlcnJpZGUgZGlzYWJsZWQuIEJ1dHRvbiB3aWxsIGJlIGNsaWNrYWJsZSBldmVuIHRob3VnaCBkaXNhYmxlZCBpcyBzZXQuXG4gKlxuICogQGV4YW1wbGVcbiAqIDxuYXMtYnV0dG9uIGNhbkNvbnRpbnVlT25EaXNhYmxlZD5DbGljayBvbiBtZSE8L25hcy1idXR0b24+XG4gKi9cbiAgQElucHV0KCkgY2FuQ29udGludWVPbkRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgKiBAcHJvcGVydHkgSW5wdXRcbiAgKiBAZGVzY3JpcHRpb25cbiAgKiBUbyBzZXQgdGhlIGljb24gb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGJ1dHRvblxuICAqL1xuICBASW5wdXQoKSBpY29uTGVmdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICogQHByb3BlcnR5IElucHV0XG4gICogQGRlc2NyaXB0aW9uXG4gICogU3RyaW5nIHRvIGJlIHRyYWNrZWQgYnkgZS54LiBHVE0gb2cgR0EuXG4gICogQ2FuIGJlIGNvbWJpbmVkIHdpdGggYWxsIG90aGVyIHByb3BlcnRpZXMuXG4gICpcbiAgKiBAZXhhbXBsZVxuICAqIDxuYXMtYnV0dG9uIFt0cmFja2luZ1ZhbHVlXT1cInRyYWNraW5nVmFsdWVcIj5DbGljayBvbiBtZSE8L25hcy1idXR0b24+XG4gICovXG4gIEBJbnB1dCgpIHRyYWNraW5ndmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogU3RyaW5nIHRvIHNldCBhcmlhIGxhYmVsIG9uIGJ1dHRvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogPG5hcy1idXR0b24gW2FyaWFMYWJlbF09XCIndGhpcyBpcyBteSBhcmlhIGxhYmVsJ1wiPkNsaWNrIG9uIG1lITwvbmFzLWJ1dHRvbj5cbiAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogTnVtYmVyIHRvIHNldCBjdXN0b20gdGFiIGluZGV4IG9uIGJ1dHRvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogPG5hcy1idXR0b24gW3RhYkluZGV4XT1cIjEwXCI+Q2xpY2sgb24gbWUhPC9uYXMtYnV0dG9uPlxuICovXG4gIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogU3RyaW5nIHRvIHNldCBidXR0b24gdHlwZS4gRGVmYXVsdCB2YWx1ZSBpcyBcImJ1dHRvblwiLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmFzLWJ1dHRvbiBbdHlwZV09XCInc3VibWl0J1wiPkNsaWNrIG9uIG1lITwvbmFzLWJ1dHRvbj5cbiAqL1xuICBASW5wdXQoKSB0eXBlID0gJ2J1dHRvbic7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIENoYW5nZSBldmVudCB3aGVuIGNsaWNraW5nIG9uIGJ1dHRvbi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1idXR0b24gKGNsaWNrQ2hhbmdlKT1cIm15RnVuY3Rpb24oKVwiPkNsaWNrIG9uIG1lITwvbmFzLWJ1dHRvbj5cbiAgICovXG4gIEBPdXRwdXQoKSBjbGlja0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1taWNyby1idXR0b24nKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhY2tpbmdFdmVudFNvdXJjZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgdHJhY2tpbmdFdmVudCQgPSB0aGlzLnRyYWNraW5nRXZlbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZ2V0IG1vZGlmaWVycygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5leGlzdHModGhpcy5wcmltYXJ5KSAmJiAncHJpbWFyeScsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnNlY29uZGFyeSkgJiYgJ3NlY29uZGFyeScsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLndoaXRlKSAmJiAnd2hpdGUnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkgJiYgJ2Rpc2FibGVkJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuaWNvbkxlZnQpICYmICdyZXZlcnNlZCcsXG4gICAgICAoIXRoaXMuZXhpc3RzKHRoaXMucHJpbWFyeSkgJiYgIXRoaXMuZXhpc3RzKHRoaXMuc2Vjb25kYXJ5KSAmJiAhdGhpcy5leGlzdHModGhpcy53aGl0ZSkpICYmICdwcmltYXJ5JyxcbiAgICBdO1xuICB9XG5cbiAgZ2V0Q2xhc3NlcyhlbGVtZW50Pzogc3RyaW5nLCBtb2RpZmllcnM/OiBhbnkpOiBBcnJheTxDbGFzc01vZGVsPiB7XG4gICAgY29uc3QgY2xhc3NlcyA9IG5ldyBBcnJheTxDbGFzc01vZGVsPigpO1xuICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldENsYXNzKGVsZW1lbnQsIG1vZGlmaWVycykpO1xuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBlbWl0VHJhY2tpbmdBbmRDbGlja0V2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudHJhY2tpbmdFdmVudFNvdXJjZS5uZXh0KHRoaXMudHJhY2tpbmd2YWx1ZSk7XG4gICAgdGhpcy5jbGlja0NoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImhyZWY7IGVsc2UgYnV0dG9uVGVtcGxhdGVcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoKVwiPlxuICA8YSBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnJywgbW9kaWZpZXJzKVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2hyZWZdPVwiaHJlZlwiIFt0YXJnZXRdPVwidGFyZ2V0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFthdHRyLnR5cGVdPVwidHlwZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnY29udGVudCcsIGV4aXN0cyhpY29uTGVmdCkgJiYgJ3JldmVyc2UnKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaWNvbicpXCIgKm5nSWY9XCJpY29uIHx8IGljb25UeXBlXCI+XG4gICAgICAgIDxuYXMtaWNvbiBbaWNvbl09XCJpY29uXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9hPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XG4gIDxidXR0b24gI2J1dHRvbiAqbmdJZj1cIiFocmVmXCIgW25hc0NsYXNzXT1cImdldENsYXNzZXMoJycsIG1vZGlmaWVycylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIudHlwZV09XCJ0eXBlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIiBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgKGNsaWNrKT1cImVtaXRUcmFja2luZ0FuZENsaWNrRXZlbnQoJGV2ZW50KVwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnY29udGVudCcsIGV4aXN0cyhpY29uTGVmdCkgJiYgJ3JldmVyc2UnKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaWNvbicpXCIgKm5nSWY9XCJpY29uIHx8IGljb25UeXBlXCI+XG4gICAgICAgIDxuYXMtaWNvbiBbaWNvbl09XCJpY29uXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbWljcm8tYnV0dG9uL21pY3JvLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21pY3JvLWJ1dHRvbi9taWNyby1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFFL0I7OztHQUdHO0FBT0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQXFJeEQ7UUFDRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQTVHNUI7Ozs7OztVQU1FO1FBQ08sV0FBTSxHQUFHLE9BQU8sQ0FBQztRQWdGMUI7Ozs7Ozs7U0FPQztRQUNRLFNBQUksR0FBRyxRQUFRLENBQUM7UUFFekI7Ozs7Ozs7V0FPRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQU0xQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3BELG1CQUFjLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBSHpELENBQUM7SUFLRCxJQUFJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU87WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVTtZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksU0FBUztTQUN0RyxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQixFQUFFLFNBQWU7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFaEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQVk7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0FoS1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsNFlDbEJqQyx5dkNBMEJjOzsyRkRSRCxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07MEVBUXRDLElBQUk7c0JBQVosS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQVdHLElBQUk7c0JBQVosS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBVUcsT0FBTztzQkFBZixLQUFLO2dCQVdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBV0csS0FBSztzQkFBYixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFXRyxhQUFhO3NCQUFyQixLQUFLO2dCQVVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBVUcsUUFBUTtzQkFBaEIsS0FBSztnQkFVRyxJQUFJO3NCQUFaLEtBQUs7Z0JBVUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBOb3J3ZWdpYW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NNb2RlbCwgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIGFsZXJ0IENvbXBvbmVudCB8IEJ1dHRvbnMgYW5kIEluZGljYXRvcnNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLW1pY3JvLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9taWNyby1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taWNyby1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWljcm9CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgaWNvbiBvbiB0aGUgaW5wdXRcbiAgICovXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIHRoZSB0eXBlIG9mIGljb24gb24gdGhlIGlucHV0XG4gICAqL1xuICBASW5wdXQoKSBpY29uVHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgICogQHByb3BlcnR5IElucHV0XG4gICAgKiBAZGVzY3JpcHRpb25cbiAgICAqIFN0cmluZyB0byBzdXBwb3J0IGhyZWYuXG4gICAgKiBDYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgb3RoZXIgcHJvcGVydGllcy5cbiAgICAqXG4gICAgKiBAZXhhbXBsZVxuICAgICogPG5hcy1taWNyby1idXR0b24gW2hyZWZdPVwiaHR0cDovL3d3dy5ub3J3ZWdpYW4uY29tXCI+Q2xpY2sgb24gbWUhPC9uYXMtbWljcm8tYnV0dG9uPlxuICAgICovXG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICogQHByb3BlcnR5IElucHV0XG4gICogQGRlc2NyaXB0aW9uXG4gICogVGhlIHRhcmdldCBhdHRyaWJ1dGUgc3BlY2lmaWVzIHdoZXJlIHRvIG9wZW4gdGhlIGxpbmsuXG4gICogQGV4YW1wbGVcbiAgKiA8bmFzLWJ1dHRvbiBsaW5rIGhyZWY9XCJodHRwczovL3d3dy5ub3J3ZWdpYW4uY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q2xpY2sgb24gbWUhPC9uYXMtYnV0dG9uPlxuICAqL1xuICBASW5wdXQoKSB0YXJnZXQgPSAnX3NlbGYnO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gc2V0IHByaW1hcnkgc3R5bGUgb2YgYnV0dG9uIChibHVlKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1taWNyby1idXR0b24gcHJpbWFyeT5DbGljayBvbiBtZSE8L25hcy1taWNyby1idXR0b24+XG4gICAqL1xuICBASW5wdXQoKSBwcmltYXJ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIHNldCBzZWNvbmRhcnkgc3R5bGUgb2YgYnV0dG9uICh0cmFuc3BhcmVudCB3aXRoIGJvcmRlcikuXG4gICAqIFByaW1hcnkgaXMgZGVmYXVsdCBzdHlsZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1taWNyby1idXR0b24gc2Vjb25kYXJ5PkNsaWNrIG9uIG1lITwvbmFzLW1pY3JvLWJ1dHRvbj5cbiAgICovXG4gIEBJbnB1dCgpIHNlY29uZGFyeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBzZXQgd2hpdGUgc3R5bGUgb2YgYnV0dG9uICh3aGl0ZSkuXG4gICAqIFByaW1hcnkgaXMgZGVmYXVsdCBzdHlsZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1taWNyby1idXR0b24gc2Vjb25kYXJ5PkNsaWNrIG9uIG1lITwvbmFzLW1pY3JvLWJ1dHRvbj5cbiAgICovXG4gIEBJbnB1dCgpIHdoaXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCb29sZWFuIHRvIHNldCBkaXNhYmxlZCBzdGF0ZSBvZiBidXR0b24gKHdoaXRlKS5cbiAgICogUHJpbWFyeSBpcyBkZWZhdWx0IHN0eWxlLlxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAqIEBkZXNjcmlwdGlvblxuICAqIFRvIHNldCB0aGUgaWNvbiBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgYnV0dG9uXG4gICovXG4gIEBJbnB1dCgpIGljb25MZWZ0PzogYm9vbGVhbjtcblxuICAvKipcbiAgKiBAcHJvcGVydHkgSW5wdXRcbiAgKiBAZGVzY3JpcHRpb25cbiAgKiBTdHJpbmcgdG8gYmUgdHJhY2tlZCBieSBlLnguIEdUTSBvZyBHQS5cbiAgKiBDYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgb3RoZXIgcHJvcGVydGllcy5cbiAgKlxuICAqIEBleGFtcGxlXG4gICogPG5hcy1idXR0b24gW3RyYWNraW5nVmFsdWVdPVwidHJhY2tpbmdWYWx1ZVwiPkNsaWNrIG9uIG1lITwvbmFzLWJ1dHRvbj5cbiAgKi9cbiAgQElucHV0KCkgdHJhY2tpbmd2YWx1ZT86IHN0cmluZztcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBTdHJpbmcgdG8gc2V0IGFyaWEgbGFiZWwgb24gYnV0dG9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmFzLWJ1dHRvbiBbYXJpYUxhYmVsXT1cIid0aGlzIGlzIG15IGFyaWEgbGFiZWwnXCI+Q2xpY2sgb24gbWUhPC9uYXMtYnV0dG9uPlxuICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBOdW1iZXIgdG8gc2V0IGN1c3RvbSB0YWIgaW5kZXggb24gYnV0dG9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmFzLWJ1dHRvbiBbdGFiSW5kZXhdPVwiMTBcIj5DbGljayBvbiBtZSE8L25hcy1idXR0b24+XG4gKi9cbiAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlcjtcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBTdHJpbmcgdG8gc2V0IGJ1dHRvbiB0eXBlLiBEZWZhdWx0IHZhbHVlIGlzIFwiYnV0dG9uXCIuXG4gKlxuICogQGV4YW1wbGVcbiAqIDxuYXMtYnV0dG9uIFt0eXBlXT1cIidzdWJtaXQnXCI+Q2xpY2sgb24gbWUhPC9uYXMtYnV0dG9uPlxuICovXG4gIEBJbnB1dCgpIHR5cGUgPSAnYnV0dG9uJztcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2hhbmdlIGV2ZW50IHdoZW4gY2xpY2tpbmcgb24gYnV0dG9uLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLWJ1dHRvbiAoY2xpY2tDaGFuZ2UpPVwibXlGdW5jdGlvbigpXCI+Q2xpY2sgb24gbWUhPC9uYXMtYnV0dG9uPlxuICAgKi9cbiAgQE91dHB1dCgpIGNsaWNrQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLW1pY3JvLWJ1dHRvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFja2luZ0V2ZW50U291cmNlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICB0cmFja2luZ0V2ZW50JCA9IHRoaXMudHJhY2tpbmdFdmVudFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICBnZXQgbW9kaWZpZXJzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLnByaW1hcnkpICYmICdwcmltYXJ5JyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc2Vjb25kYXJ5KSAmJiAnc2Vjb25kYXJ5JyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMud2hpdGUpICYmICd3aGl0ZScsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmljb25MZWZ0KSAmJiAncmV2ZXJzZWQnLFxuICAgICAgKCF0aGlzLmV4aXN0cyh0aGlzLnByaW1hcnkpICYmICF0aGlzLmV4aXN0cyh0aGlzLnNlY29uZGFyeSkgJiYgIXRoaXMuZXhpc3RzKHRoaXMud2hpdGUpKSAmJiAncHJpbWFyeScsXG4gICAgXTtcbiAgfVxuXG4gIGdldENsYXNzZXMoZWxlbWVudD86IHN0cmluZywgbW9kaWZpZXJzPzogYW55KTogQXJyYXk8Q2xhc3NNb2RlbD4ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBuZXcgQXJyYXk8Q2xhc3NNb2RlbD4oKTtcbiAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRDbGFzcyhlbGVtZW50LCBtb2RpZmllcnMpKTtcblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgZW1pdFRyYWNraW5nQW5kQ2xpY2tFdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRyYWNraW5nRXZlbnRTb3VyY2UubmV4dCh0aGlzLnRyYWNraW5ndmFsdWUpO1xuICAgIHRoaXMuY2xpY2tDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJocmVmOyBlbHNlIGJ1dHRvblRlbXBsYXRlXCIgW25hc0NsYXNzXT1cImdldENsYXNzKClcIj5cbiAgPGEgW25hc0NsYXNzXT1cImdldENsYXNzZXMoJycsIG1vZGlmaWVycylcIiBbaHJlZl09XCJocmVmXCIgW3RhcmdldF09XCJ0YXJnZXRcIiBbZGlzYWJsZWRdPVwiZXhpc3RzKGRpc2FibGVkKVwiIFthdHRyLnR5cGVdPVwidHlwZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIiBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnY29udGVudCcsIGV4aXN0cyhpY29uTGVmdCkgJiYgJ3JldmVyc2UnKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaWNvbicpXCIgKm5nSWY9XCJpY29uIHx8IGljb25UeXBlXCI+XG4gICAgICAgIDxuYXMtaWNvbiBbaWNvbl09XCJpY29uXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9hPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XG4gIDxidXR0b24gI2J1dHRvbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnJywgbW9kaWZpZXJzKVwiIFtkaXNhYmxlZF09XCJleGlzdHMoZGlzYWJsZWQpXCIgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCIgKGNsaWNrKT1cImVtaXRUcmFja2luZ0FuZENsaWNrRXZlbnQoJGV2ZW50KVwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnY29udGVudCcsIGV4aXN0cyhpY29uTGVmdCkgJiYgJ3JldmVyc2UnKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaWNvbicpXCIgKm5nSWY9XCJpY29uIHx8IGljb25UeXBlXCI+XG4gICAgICAgIDxuYXMtaWNvbiBbaWNvbl09XCJpY29uXCIgW3R5cGVdPVwiaWNvblR5cGVcIj48L25hcy1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19
@@ -152,6 +152,29 @@ export class PassengerSelectComponent extends NasComponentBase {
152
152
  }
153
153
  }
154
154
  }
155
+ if (passengers.type === PassengerType.YoungAdult || passengers.type === PassengerType.Youth) {
156
+ const youngAdult = this.passengers.find(x => x.type === PassengerType.YoungAdult);
157
+ const youth = this.passengers.find(x => x.type === PassengerType.Youth);
158
+ if (youngAdult && youth) {
159
+ if (passengers.type === PassengerType.Youth && youth.count > 0) {
160
+ if (youngAdult.formGroup && youth.formControlName && youngAdult.count !== 0) {
161
+ youngAdult.formGroup.get(youth.formControlName).patchValue(0);
162
+ }
163
+ youngAdult.count = 0;
164
+ }
165
+ if (passengers.type === PassengerType.YoungAdult) {
166
+ youth.count = youngAdult.count > 0 ? 0 : youth.count;
167
+ if (youth.formGroup && youth.formControlName && youngAdult.formGroup && youngAdult.formControlName) {
168
+ if (this.minAdultCount && youngAdult.count === 0) {
169
+ youth.formGroup.get(youth.formControlName).patchValue(this.minAdultCount);
170
+ }
171
+ else if (youth.count > 0) {
172
+ youth.formGroup.get(youth.formControlName).patchValue(0);
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
155
178
  this.setTotalCount();
156
179
  this.passengersChange.emit(this.passengers);
157
180
  }
@@ -228,6 +251,16 @@ export class PassengerSelectComponent extends NasComponentBase {
228
251
  return min;
229
252
  }
230
253
  }
254
+ else if (passengers.type === PassengerType.Youth && youngAdult) {
255
+ const min = !this.minAdultCount ? 0 : this.minAdultCount;
256
+ if (passengers.type === PassengerType.Youth && youth.count < min && youngAdult.count === 0) {
257
+ passengers.count = min;
258
+ return min;
259
+ }
260
+ if (passengers.type === PassengerType.Youth && youth.formGroup && youth.formControlName) {
261
+ return min;
262
+ }
263
+ }
231
264
  else if (!adult && passengers.type === PassengerType.Youth) {
232
265
  const min = !this.minAdultCount ? 0 : this.minAdultCount;
233
266
  return min;
@@ -375,4 +408,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
375
408
  }], focusOnPrevious: [{
376
409
  type: Output
377
410
  }] } });
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRTlFOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUF1STVEO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFsSWhDOzs7O1VBSUU7UUFDTyxlQUFVLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUF1R25EOzs7O1VBSUU7UUFDUSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUV4RTs7OztVQUlFO1FBQ1EsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhEOzs7O1VBSUU7UUFDUSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFJcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFD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RUFLSSxZQUFZO3NCQUEvQyxZQUFZO3VCQUFDLG9CQUFvQjtnQkFVekIsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSztnQkFTRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQU9HLFdBQVc7c0JBQXBCLE1BQU07Z0JBT0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBOb3J3ZWdpYW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZHJlbixcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFzc2VuZ2VyVHlwZSB9IGZyb20gJy4vZW51bXMvcGFzc2VuZ2VyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQYXNzZW5nZXJzTW9kZWwgfSBmcm9tICcuL21vZGVscy9wYXNzZW5nZXJzLm1vZGVsJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcbmltcG9ydCB7IE51bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vbnVtYmVyLWZpZWxkL251bWJlci1maWVsZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFBhc3NlbmdlciBTZWxlY3QgQ29tcG9uZW50IHwgRnVuY3Rpb25hbFxuKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1wYXNzZW5nZXItc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3Nlbmdlci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzZW5nZXItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGFzc2VuZ2VyU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGRyZW4oTnVtYmVyRmllbGRDb21wb25lbnQpIG51bWJlckZpZWxkcyE6IFF1ZXJ5TGlzdDxOdW1iZXJGaWVsZENvbXBvbmVudD47XG5cbiAgdG90YWxDb3VudDogbnVtYmVyO1xuICBpc0dyb3VwQm9va2luZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBhcnJheSBvZiBkaWZmZXJlbnQgcGFzc2VuZ2VyIHR5cGVzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQuXG4gICovXG4gIEBJbnB1dCgpIHBhc3NlbmdlcnMgPSBuZXcgQXJyYXk8UGFzc2VuZ2Vyc01vZGVsPigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSB0b3RhbCBtYXhpbXVtIGFtb3VudCBvZiBwYXNzZW5nZXJzLlxuICAqL1xuICBASW5wdXQoKSBtYXhQYXhDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBtaW5pbXVtIGFtb3VudCBvZiBhZHVsdHMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuXG4gICovXG4gIEBJbnB1dCgpIG1pbkFkdWx0Q291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbGltaXQgZm9yIHdoZW4gdGhlIHRvdGFsIGFtb3VudCBvZiBwYXNzZW5nZXJzIGV4Y2VlZHMgdG8gYmUgYSBncm91cCBib29raW5nLlxuICAqL1xuICBASW5wdXQoKSBncm91cEJvb2tpbmdMaW1pdDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgdGl0bGUgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkcm9wZG93bi5cbiAgKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuICAqL1xuICBASW5wdXQoKSBhZHVsdHNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgZm9yIHRoZSBjaGlsZHJlbiBwYXNzZW5nZXIgdHlwZS5cbiAgKi9cbiAgQElucHV0KCkgY2hpbGRyZW5MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCBmb3IgdGhlIGluZmFudHMgcGFzc2VuZ2VyIHR5cGUuXG4gICAqL1xuICBASW5wdXQoKSBpbmZhbnRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuKi9cbiAgQElucHV0KCkgeW91dGhzTGFiZWw6IHN0cmluZztcblxuLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiovXG4gIEBJbnB1dCgpIHlvdW5nQWR1bHRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIHRoYXQgd2lsbCBhcHBlYXIgd2hlbiB0b3RhbCBudW1iZXIgb2Ygc2VsZWN0ZWQgcGFzc2VuZ2VycyBleGNlZWRzIHRoZSBncm91cCBib29raW5nIGxpbWl0XG4gICovXG4gIEBJbnB1dCgpIGdyb3VwQm9va2luZ0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBUklBIGxhYmVsIGZvciB0aGUgc3VidHJhY3QgYnV0dG9ucy5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsU3VidHJhY3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBUklBIGxhYmVsIGZvciB0aGUgYWRkIGJ1dHRvbnMuXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxBZGQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgcGFzc2VuZ2Vyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8UGFzc2VuZ2Vyc01vZGVsPj4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPbk5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPblByZXZpb3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1wYXNzZW5nZXItc2VsZWN0Jyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldFRvdGFsQ291bnQoKTtcbiAgfVxuXG4gIGdldExhYmVsKHR5cGU6IFBhc3NlbmdlclR5cGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkFkdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hZHVsdHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5DaGlsZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5MYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5JbmZhbnQ6XG4gICAgICAgIHJldHVybiB0aGlzLmluZmFudHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5Zb3V0aDpcbiAgICAgICAgcmV0dXJuIHRoaXMueW91dGhzTGFiZWw7XG4gICAgICBjYXNlIFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMueW91bmdBZHVsdHNMYWJlbDtcbiAgICB9XG4gIH1cblxuICBrZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMucGFzc2VuZ2Vycy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5udW1iZXJGaWVsZHMuZmlyc3QuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVtpbmRleCArIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy50b0FycmF5KClbdGhpcy5wYXNzZW5nZXJzLmxlbmd0aCAtIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy50b0FycmF5KClbaW5kZXggLSAxXS5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGhpcy5mb2N1c09uTmV4dC5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzT25QcmV2aW91cy5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXNzZW5nZXJzQ291bnQocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgcGFzc2VuZ2Vycy5jb3VudCA9IGNvdW50O1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCkge1xuICAgICAgaWYgKHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkpIHtcbiAgICAgICAgY29uc3QgaW5mYW50c0NvdW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KS5jb3VudDtcbiAgICAgICAgaWYgKGluZmFudHNDb3VudCA+IHBhc3NlbmdlcnMuY291bnQgJiYgdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICAgIGNvbnN0IGluZmFudCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCk7XG5cbiAgICAgICAgICBpZiAoaW5mYW50KSB7XG4gICAgICAgICAgICBpbmZhbnQuY291bnQgPSBwYXNzZW5nZXJzLmNvdW50O1xuXG4gICAgICAgICAgICBpZiAoaW5mYW50LmZvcm1Hcm91cCAmJiBpbmZhbnQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICAgIGluZmFudC5mb3JtR3JvdXAuZ2V0KGluZmFudC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoaW5mYW50LmNvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5DaGlsZCk7XG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiBjaGlsZCkge1xuICAgICAgICBpZiAoIHBhc3NlbmdlcnMuY291bnQgPT09IDAgJiYgY2hpbGQpIHtcblxuICAgICAgICAgIGlmIChjaGlsZCkge1xuICAgICAgICAgICAgY2hpbGQuY291bnQgPSAwO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGQuZm9ybUdyb3VwICYmIGNoaWxkLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgICBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBpZiAodGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICBjb25zdCBpbmZhbnRzQ291bnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpLmNvdW50O1xuICAgICAgICBpZiAoaW5mYW50c0NvdW50ID4gcGFzc2VuZ2Vycy5jb3VudCAmJiB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgICAgY29uc3QgaW5mYW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KTtcblxuICAgICAgICAgIGlmIChpbmZhbnQpIHtcbiAgICAgICAgICAgIGluZmFudC5jb3VudCA9IHBhc3NlbmdlcnMuY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChpbmZhbnQuZm9ybUdyb3VwICYmIGluZmFudC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mYW50LmZvcm1Hcm91cC5nZXQoaW5mYW50LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZShpbmZhbnQuY291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgfHwgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBhZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KTtcbiAgICAgIGNvbnN0IHlvdXRoID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuXG4gICAgICBpZiAoYWR1bHQgJiYgeW91dGgpIHtcbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiBhZHVsdC5jb3VudCA+IDApIHtcbiAgICAgICAgICBpZiAoeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3V0aC5jb3VudCAhPT0gMCkge1xuICAgICAgICAgICAgeW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHlvdXRoLmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgICAgICBhZHVsdC5jb3VudCA9IHlvdXRoLmNvdW50ID4gMCA/IDAgOiBhZHVsdC5jb3VudDsgXG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUgJiYgeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3V0aC5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICBhZHVsdC5mb3JtR3JvdXAuZ2V0KGFkdWx0LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSh0aGlzLm1pbkFkdWx0Q291bnQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZXRUb3RhbENvdW50KCk7XG4gICAgdGhpcy5wYXNzZW5nZXJzQ2hhbmdlLmVtaXQodGhpcy5wYXNzZW5nZXJzKTtcbiAgfVxuXG4gIGdldE1heChwYXNzZW5nZXJzOiBQYXNzZW5nZXJzTW9kZWwpOiBudW1iZXIge1xuICAgIGNvbnN0IGFkdWx0cyA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KTtcbiAgICBjb25zdCB5b3V0aHMgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpIHtcbiAgICAgIGlmIChhZHVsdHMgJiYgYWR1bHRzLmNvdW50ID4gMCkge1xuICAgICAgICBpZiAoIWFkdWx0cy5mb3JtR3JvdXAgfHwgIWFkdWx0cy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gYWR1bHRzLmNvdW50O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWR1bHRzRm9ybUNvbnRyb2wgPSBhZHVsdHMuZm9ybUdyb3VwLmdldChhZHVsdHMuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIWFkdWx0c0Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgcmV0dXJuIGFkdWx0cy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhZHVsdHNGb3JtQ29udHJvbC52YWx1ZSBhcyBudW1iZXI7XG4gICAgICB9IFxuICAgICAgXG4gICAgICBpZiAoeW91dGhzICYmIHlvdXRocy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCF5b3V0aHMuZm9ybUdyb3VwIHx8ICF5b3V0aHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHlvdXRocy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHlvdXRoc0Zvcm1Db250cm9sID0geW91dGhzLmZvcm1Hcm91cC5nZXQoeW91dGhzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCF5b3V0aHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiB5b3V0aHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geW91dGhzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA8PSAwKSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgKHlvdXRocyAmJiB5b3V0aHMuY291bnQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuXG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQgJiYgdGhpcy50b3RhbENvdW50IDwgMTApIHsgXG4gICAgICBpZihhZHVsdHMgJiYgeW91bmdBZHVsdCkge1xuICAgICAgICBpZihhZHVsdHMuY291bnQgPD0gMCkge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZih5b3V0aHMgJiYgeW91bmdBZHVsdCkge1xuICAgICAgICBpZih5b3V0aHMuY291bnQgPD0gMCkge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5tYXhQYXhDb3VudCkge1xuXG4gICAgICBpZiAoIXBhc3NlbmdlcnMuZm9ybUdyb3VwIHx8ICFwYXNzZW5nZXJzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICByZXR1cm4gcGFzc2VuZ2Vycy5jb3VudDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGFzc2VuZ2Vyc0Zvcm1Db250cm9sID0gcGFzc2VuZ2Vycy5mb3JtR3JvdXAuZ2V0KHBhc3NlbmdlcnMuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgaWYgKCFwYXNzZW5nZXJzRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuIHBhc3NlbmdlcnMuY291bnQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXNzZW5nZXJzRm9ybUNvbnRyb2wudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heFBheENvdW50O1xuICAgIH1cbiAgfVxuXG4gIGdldE1pbihwYXNzZW5nZXJzOiBQYXNzZW5nZXJzTW9kZWwpOiBudW1iZXIge1xuICAgIGNvbnN0IGFkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpO1xuICAgIGNvbnN0IHlvdXRoID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuICAgIGNvbnN0IHlvdW5nQWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KTtcblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgeW91dGgpIHtcbiAgICAgIGNvbnN0IG1pbiA9ICF0aGlzLm1pbkFkdWx0Q291bnQgPyAwIDogdGhpcy5taW5BZHVsdENvdW50O1xuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiBhZHVsdC5jb3VudCA8IG1pbiAmJiB5b3V0aC5jb3VudCA9PT0gMCkge1xuICAgICAgICBwYXNzZW5nZXJzLmNvdW50ID0gbWluO1xuICAgICAgICByZXR1cm4gbWluO1xuICAgICAgfVxuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiBhZHVsdC5mb3JtR3JvdXAgJiYgYWR1bHQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWR1bHQgJiYgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgeW91bmdBZHVsdCkge1xuICAgICAgaWYoeW91bmdBZHVsdC5jb3VudCA+IDApIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5taW5BZHVsdENvdW50O1xuICAgIH0gZWxzZSBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQgJiYgYWR1bHQpIHtcbiAgICAgIGlmKGFkdWx0LmNvdW50ID4gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfSAgZWxzZSBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KSB7XG4gICAgICByZXR1cm4gdGhpcy5taW5BZHVsdENvdW50O1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb3RhbENvdW50KCkge1xuICAgIGNvbnN0IGFkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpO1xuICAgIGNvbnN0IHlvdXRoID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuICAgIGNvbnN0IHlvdW5nQWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KTtcbiAgICBjb25zdCBjaGlsZCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkNoaWxkKTtcblxuICAgIGxldCBhZHVsdENvdW50ID0gMDtcbiAgICBsZXQgeW91dGhDb3VudCA9IDA7XG4gICAgbGV0IHlvdW5nQWR1bHRDb3VudCA9IDA7XG4gICAgbGV0IGNoaWxkQ291bnQgPSAwO1xuXG4gICAgaWYgKGFkdWx0KSB7XG5cbiAgICAgIGlmICghYWR1bHQuZm9ybUdyb3VwIHx8ICFhZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgYWR1bHRDb3VudCA9IGFkdWx0LmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYWR1bHRzQ29udHJvbCA9IGFkdWx0LmZvcm1Hcm91cC5nZXQoYWR1bHQuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIWFkdWx0c0NvbnRyb2wpIHtcbiAgICAgICAgICBhZHVsdENvdW50ID0gYWR1bHQuY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWR1bHRDb3VudCA9IGFkdWx0c0NvbnRyb2wudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoeW91dGgpIHtcbiAgICAgIGlmICgheW91dGguZm9ybUdyb3VwIHx8ICF5b3V0aC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgeW91dGhDb3VudCA9IHlvdXRoLmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeW91dGhzQ29udHJvbCA9IHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIXlvdXRoc0NvbnRyb2wpIHtcbiAgICAgICAgICB5b3V0aENvdW50ID0geW91dGguY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeW91dGhDb3VudCA9IHlvdXRoc0NvbnRyb2wudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoeW91bmdBZHVsdCkge1xuICAgICAgaWYgKCF5b3VuZ0FkdWx0LmZvcm1Hcm91cCB8fCAheW91bmdBZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgeW91bmdBZHVsdENvdW50ID0geW91bmdBZHVsdC5jb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHlvdW5nQWR1bHRzQ29udHJvbCA9IHlvdW5nQWR1bHQuZm9ybUdyb3VwLmdldCh5b3VuZ0FkdWx0LmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCF5b3VuZ0FkdWx0c0NvbnRyb2wpIHtcbiAgICAgICAgICB5b3VuZ0FkdWx0Q291bnQgPSB5b3VuZ0FkdWx0LmNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHlvdW5nQWR1bHRDb3VudCA9IHlvdW5nQWR1bHRzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGlsZCkge1xuICAgICAgaWYgKCFjaGlsZC5mb3JtR3JvdXAgfHwgIWNoaWxkLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICBjaGlsZENvdW50ID0gY2hpbGQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjaGlsZHNDb250cm9sID0gY2hpbGQuZm9ybUdyb3VwLmdldChjaGlsZC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghY2hpbGRzQ29udHJvbCkge1xuICAgICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjaGlsZENvdW50ID0gY2hpbGRzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudG90YWxDb3VudCA9IGFkdWx0Q291bnQgKyBjaGlsZENvdW50ICsgeW91dGhDb3VudCArIHlvdW5nQWR1bHRDb3VudDtcblxuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sR3JvdXBCb29raW5nKSB7XG4gICAgICBjb25zdCBncm91cEJvb2tpbmdDb250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmcpO1xuXG4gICAgICB0aGlzLmlzR3JvdXBCb29raW5nID0gdGhpcy50b3RhbENvdW50ID49IHRoaXMuZ3JvdXBCb29raW5nTGltaXQ7XG5cbiAgICAgIGlmICh0aGlzLmdyb3VwQm9va2luZ0xpbWl0IDwgMSkge1xuICAgICAgICB0aGlzLmlzR3JvdXBCb29raW5nID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChncm91cEJvb2tpbmdDb250cm9sLnZhbHVlICE9PSB0aGlzLmlzR3JvdXBCb29raW5nKSB7XG4gICAgICAgIGdyb3VwQm9va2luZ0NvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLmlzR3JvdXBCb29raW5nKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZ3JvdXBCb29raW5nTGltaXQpIHtcbiAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSB0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5ncm91cEJvb2tpbmdMaW1pdDtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCI8aDIgKm5nSWY9XCJ0aXRsZVwiXG4gIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnLCBpc0dyb3VwQm9va2luZyAmJiAnZ3JvdXAtYm9va2luZycpXCI+e3t0aXRsZX19PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXBCb29raW5nXCI+OlxuICAgIDxkaXY+e3tncm91cEJvb2tpbmdMYWJlbH19PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9oMj5cbjx1bCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xpc3QnKVwiPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFzc2VuZ2VyczsgaW5kZXggYXMgY291bnRcIlxuICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdC1pdGVtJylcIj5cbiAgICA8bGFiZWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbCcpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiPnt7Z2V0TGFiZWwoaXRlbS50eXBlKX19PC9sYWJlbD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZm9ybUdyb3VwIHx8ICFpdGVtLmZvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgICAgIDxuYXMtbnVtYmVyLWZpZWxkIGNvbXBhY3RcbiAgICAgICAgc3BhY2VsZXNzXG4gICAgICAgIHNpbXBsZVxuICAgICAgICBbYXJpYUxhYmVsXT1cImdldExhYmVsKGl0ZW0udHlwZSlcIlxuICAgICAgICBbYXJpYUxhYmVsU3VidHJhY3RdPVwiYXJpYUxhYmVsU3VidHJhY3RcIlxuICAgICAgICBbYXJpYUxhYmVsQWRkXT1cImFyaWFMYWJlbEFkZFwiXG4gICAgICAgIFtudW1iZXJdPVwiaXRlbS5jb3VudFwiXG4gICAgICAgIFttYXhdPVwiZ2V0TWF4KGl0ZW0pXCJcbiAgICAgICAgW21pbl09XCJnZXRNaW4oaXRlbSlcIlxuICAgICAgICAobnVtYmVyQ2hhbmdlKT1cInNldFBhc3NlbmdlcnNDb3VudChpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwia2V5RG93bigkZXZlbnQsIGNvdW50KVwiPjwvbmFzLW51bWJlci1maWVsZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgICAgIDxuYXMtbnVtYmVyLWZpZWxkIGNvbXBhY3RcbiAgICAgICAgc3BhY2VsZXNzXG4gICAgICAgIHNpbXBsZVxuICAgICAgICBbYXJpYUxhYmVsXT1cImdldExhYmVsKGl0ZW0udHlwZSlcIlxuICAgICAgICBbYXJpYUxhYmVsU3VidHJhY3RdPVwiYXJpYUxhYmVsU3VidHJhY3RcIlxuICAgICAgICBbYXJpYUxhYmVsQWRkXT1cImFyaWFMYWJlbEFkZFwiXG4gICAgICAgIFtuYXNGb3JtR3JvdXBdPVwiaXRlbS5mb3JtR3JvdXBcIlxuICAgICAgICBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uZm9ybUNvbnRyb2xOYW1lXCJcbiAgICAgICAgW251bWJlcl09XCJpdGVtLmZvcm1Hcm91cD8uZ2V0KGl0ZW0uZm9ybUNvbnRyb2xOYW1lKT8udmFsdWVcIlxuICAgICAgICBbbWF4XT1cImdldE1heChpdGVtKVwiXG4gICAgICAgIFttaW5dPVwiZ2V0TWluKGl0ZW0pXCJcbiAgICAgICAgKGtleWRvd24pPVwia2V5RG93bigkZXZlbnQsIGNvdW50KVwiXG4gICAgICAgIChudW1iZXJDaGFuZ2UpPVwic2V0UGFzc2VuZ2Vyc0NvdW50KGl0ZW0sICRldmVudClcIj48L25hcy1udW1iZXItZmllbGQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cbjwvdWw+Il19
411
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QvcGFzc2VuZ2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRTlFOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUF1STVEO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFsSWhDOzs7O1VBSUU7UUFDTyxlQUFVLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUF1R25EOzs7O1VBSUU7UUFDUSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUV4RTs7OztVQUlFO1FBQ1EsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhEOzs7O1VBSUU7UUFDUSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFJcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFD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QUF6QixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSztnQkFTRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQU9HLFdBQVc7c0JBQXBCLE1BQU07Z0JBT0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBOb3J3ZWdpYW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZHJlbixcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFzc2VuZ2VyVHlwZSB9IGZyb20gJy4vZW51bXMvcGFzc2VuZ2VyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQYXNzZW5nZXJzTW9kZWwgfSBmcm9tICcuL21vZGVscy9wYXNzZW5nZXJzLm1vZGVsJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcbmltcG9ydCB7IE51bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vbnVtYmVyLWZpZWxkL251bWJlci1maWVsZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFBhc3NlbmdlciBTZWxlY3QgQ29tcG9uZW50IHwgRnVuY3Rpb25hbFxuKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1wYXNzZW5nZXItc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3Nlbmdlci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzZW5nZXItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGFzc2VuZ2VyU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGRyZW4oTnVtYmVyRmllbGRDb21wb25lbnQpIG51bWJlckZpZWxkcyE6IFF1ZXJ5TGlzdDxOdW1iZXJGaWVsZENvbXBvbmVudD47XG5cbiAgdG90YWxDb3VudDogbnVtYmVyO1xuICBpc0dyb3VwQm9va2luZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBhcnJheSBvZiBkaWZmZXJlbnQgcGFzc2VuZ2VyIHR5cGVzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQuXG4gICovXG4gIEBJbnB1dCgpIHBhc3NlbmdlcnMgPSBuZXcgQXJyYXk8UGFzc2VuZ2Vyc01vZGVsPigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSB0b3RhbCBtYXhpbXVtIGFtb3VudCBvZiBwYXNzZW5nZXJzLlxuICAqL1xuICBASW5wdXQoKSBtYXhQYXhDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBtaW5pbXVtIGFtb3VudCBvZiBhZHVsdHMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuXG4gICovXG4gIEBJbnB1dCgpIG1pbkFkdWx0Q291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbGltaXQgZm9yIHdoZW4gdGhlIHRvdGFsIGFtb3VudCBvZiBwYXNzZW5nZXJzIGV4Y2VlZHMgdG8gYmUgYSBncm91cCBib29raW5nLlxuICAqL1xuICBASW5wdXQoKSBncm91cEJvb2tpbmdMaW1pdDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgdGl0bGUgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkcm9wZG93bi5cbiAgKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuICAqL1xuICBASW5wdXQoKSBhZHVsdHNMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgZm9yIHRoZSBjaGlsZHJlbiBwYXNzZW5nZXIgdHlwZS5cbiAgKi9cbiAgQElucHV0KCkgY2hpbGRyZW5MYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCBmb3IgdGhlIGluZmFudHMgcGFzc2VuZ2VyIHR5cGUuXG4gICAqL1xuICBASW5wdXQoKSBpbmZhbnRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAqIEBwcm9wZXJ0eSBJbnB1dFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGxhYmVsIGZvciB0aGUgYWR1bHRzIHBhc3NlbmdlciB0eXBlLlxuKi9cbiAgQElucHV0KCkgeW91dGhzTGFiZWw6IHN0cmluZztcblxuLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiovXG4gIEBJbnB1dCgpIHlvdW5nQWR1bHRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIHRoYXQgd2lsbCBhcHBlYXIgd2hlbiB0b3RhbCBudW1iZXIgb2Ygc2VsZWN0ZWQgcGFzc2VuZ2VycyBleGNlZWRzIHRoZSBncm91cCBib29raW5nIGxpbWl0XG4gICovXG4gIEBJbnB1dCgpIGdyb3VwQm9va2luZ0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBUklBIGxhYmVsIGZvciB0aGUgc3VidHJhY3QgYnV0dG9ucy5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsU3VidHJhY3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBUklBIGxhYmVsIGZvciB0aGUgYWRkIGJ1dHRvbnMuXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxBZGQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgcGFzc2VuZ2Vyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8UGFzc2VuZ2Vyc01vZGVsPj4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPbk5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgcGFzc2VuZ2VyIHNlbGVjdGlvbiBjaGFuZ2UgaXMgcGVyZm9ybWVkLlxuICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPblByZXZpb3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1wYXNzZW5nZXItc2VsZWN0Jyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldFRvdGFsQ291bnQoKTtcbiAgfVxuXG4gIGdldExhYmVsKHR5cGU6IFBhc3NlbmdlclR5cGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkFkdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hZHVsdHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5DaGlsZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5MYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5JbmZhbnQ6XG4gICAgICAgIHJldHVybiB0aGlzLmluZmFudHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5Zb3V0aDpcbiAgICAgICAgcmV0dXJuIHRoaXMueW91dGhzTGFiZWw7XG4gICAgICBjYXNlIFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMueW91bmdBZHVsdHNMYWJlbDtcbiAgICB9XG4gIH1cblxuICBrZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMucGFzc2VuZ2Vycy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5udW1iZXJGaWVsZHMuZmlyc3QuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVtpbmRleCArIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy50b0FycmF5KClbdGhpcy5wYXNzZW5nZXJzLmxlbmd0aCAtIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy50b0FycmF5KClbaW5kZXggLSAxXS5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGhpcy5mb2N1c09uTmV4dC5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzT25QcmV2aW91cy5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXNzZW5nZXJzQ291bnQocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgcGFzc2VuZ2Vycy5jb3VudCA9IGNvdW50O1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCkge1xuICAgICAgaWYgKHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkpIHtcbiAgICAgICAgY29uc3QgaW5mYW50c0NvdW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KS5jb3VudDtcbiAgICAgICAgaWYgKGluZmFudHNDb3VudCA+IHBhc3NlbmdlcnMuY291bnQgJiYgdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICAgIGNvbnN0IGluZmFudCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCk7XG5cbiAgICAgICAgICBpZiAoaW5mYW50KSB7XG4gICAgICAgICAgICBpbmZhbnQuY291bnQgPSBwYXNzZW5nZXJzLmNvdW50O1xuXG4gICAgICAgICAgICBpZiAoaW5mYW50LmZvcm1Hcm91cCAmJiBpbmZhbnQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICAgIGluZmFudC5mb3JtR3JvdXAuZ2V0KGluZmFudC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoaW5mYW50LmNvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5DaGlsZCk7XG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiBjaGlsZCkge1xuICAgICAgICBpZiAoIHBhc3NlbmdlcnMuY291bnQgPT09IDAgJiYgY2hpbGQpIHtcblxuICAgICAgICAgIGlmIChjaGlsZCkge1xuICAgICAgICAgICAgY2hpbGQuY291bnQgPSAwO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGQuZm9ybUdyb3VwICYmIGNoaWxkLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgICBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBpZiAodGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICBjb25zdCBpbmZhbnRzQ291bnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpLmNvdW50O1xuICAgICAgICBpZiAoaW5mYW50c0NvdW50ID4gcGFzc2VuZ2Vycy5jb3VudCAmJiB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgICAgY29uc3QgaW5mYW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KTtcblxuICAgICAgICAgIGlmIChpbmZhbnQpIHtcbiAgICAgICAgICAgIGluZmFudC5jb3VudCA9IHBhc3NlbmdlcnMuY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChpbmZhbnQuZm9ybUdyb3VwICYmIGluZmFudC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mYW50LmZvcm1Hcm91cC5nZXQoaW5mYW50LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZShpbmZhbnQuY291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgfHwgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBhZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KTtcbiAgICAgIGNvbnN0IHlvdXRoID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuXG4gICAgICBpZiAoYWR1bHQgJiYgeW91dGgpIHtcbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiBhZHVsdC5jb3VudCA+IDApIHtcbiAgICAgICAgICBpZiAoeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3V0aC5jb3VudCAhPT0gMCkge1xuICAgICAgICAgICAgeW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHlvdXRoLmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgICAgICBhZHVsdC5jb3VudCA9IHlvdXRoLmNvdW50ID4gMCA/IDAgOiBhZHVsdC5jb3VudDsgXG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUgJiYgeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3V0aC5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICBhZHVsdC5mb3JtR3JvdXAuZ2V0KGFkdWx0LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSh0aGlzLm1pbkFkdWx0Q291bnQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0IHx8IHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIHlvdXRoKSB7XG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPiAwKSB7XG4gICAgICAgICAgaWYgKHlvdW5nQWR1bHQuZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3VuZ0FkdWx0LmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3VuZ0FkdWx0LmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB5b3VuZ0FkdWx0LmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCkge1xuICAgICAgICAgIHlvdXRoLmNvdW50ID0geW91bmdBZHVsdC5jb3VudCA+IDAgPyAwIDogeW91dGguY291bnQ7IFxuICAgICAgICAgIFxuICAgICAgICAgIGlmICh5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lICYmIHlvdW5nQWR1bHQuZm9ybUdyb3VwICYmIHlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5taW5BZHVsdENvdW50ICYmIHlvdW5nQWR1bHQuY291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgeW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUodGhpcy5taW5BZHVsdENvdW50KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoeW91dGguY291bnQgPiAwKSB7XG4gICAgICAgICAgICAgIHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0VG90YWxDb3VudCgpO1xuICAgIHRoaXMucGFzc2VuZ2Vyc0NoYW5nZS5lbWl0KHRoaXMucGFzc2VuZ2Vycyk7XG4gIH1cblxuICBnZXRNYXgocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBjb25zdCBhZHVsdHMgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGhzID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuICAgIGNvbnN0IHlvdW5nQWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KTtcblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSB7XG4gICAgICBpZiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCFhZHVsdHMuZm9ybUdyb3VwIHx8ICFhZHVsdHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGFkdWx0cy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkdWx0c0Zvcm1Db250cm9sID0gYWR1bHRzLmZvcm1Hcm91cC5nZXQoYWR1bHRzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFhZHVsdHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiBhZHVsdHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWR1bHRzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfSBcbiAgICAgIFxuICAgICAgaWYgKHlvdXRocyAmJiB5b3V0aHMuY291bnQgPiAwKSB7XG4gICAgICAgIGlmICgheW91dGhzLmZvcm1Hcm91cCB8fCAheW91dGhzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgIHJldHVybiB5b3V0aHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB5b3V0aHNGb3JtQ29udHJvbCA9IHlvdXRocy5mb3JtR3JvdXAuZ2V0KHlvdXRocy5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91dGhzRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICByZXR1cm4geW91dGhzLmNvdW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHlvdXRoc0Zvcm1Db250cm9sLnZhbHVlIGFzIG51bWJlcjtcbiAgICAgIH1cblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgKGFkdWx0cyAmJiBhZHVsdHMuY291bnQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmICh5b3V0aHMgJiYgeW91dGhzLmNvdW50IDw9IDApKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcblxuICAgIH0gZWxzZSBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkNoaWxkICYmIHRoaXMudG90YWxDb3VudCA8IDEwKSB7IFxuICAgICAgaWYoYWR1bHRzICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgICAgaWYoYWR1bHRzLmNvdW50IDw9IDApIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYoeW91dGhzICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgICAgaWYoeW91dGhzLmNvdW50IDw9IDApIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50b3RhbENvdW50ID49IHRoaXMubWF4UGF4Q291bnQpIHtcblxuICAgICAgaWYgKCFwYXNzZW5nZXJzLmZvcm1Hcm91cCB8fCAhcGFzc2VuZ2Vycy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3NlbmdlcnMuY291bnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhc3NlbmdlcnNGb3JtQ29udHJvbCA9IHBhc3NlbmdlcnMuZm9ybUdyb3VwLmdldChwYXNzZW5nZXJzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmICghcGFzc2VuZ2Vyc0Zvcm1Db250cm9sKSB7XG4gICAgICAgIHJldHVybiBwYXNzZW5nZXJzLmNvdW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VuZ2Vyc0Zvcm1Db250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhQYXhDb3VudDtcbiAgICB9XG4gIH1cblxuICBnZXRNaW4ocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBjb25zdCBhZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KTtcbiAgICBjb25zdCB5b3V0aCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKTtcbiAgICBjb25zdCB5b3VuZ0FkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCk7XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIHlvdXRoKSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgYWR1bHQuY291bnQgPCBtaW4gJiYgeW91dGguY291bnQgPT09IDApIHtcbiAgICAgICAgcGFzc2VuZ2Vycy5jb3VudCA9IG1pbjtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICAgIH1cbiAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgYWR1bHQuZm9ybUdyb3VwICYmIGFkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICByZXR1cm4gbWluO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgIGNvbnN0IG1pbiA9ICF0aGlzLm1pbkFkdWx0Q291bnQgPyAwIDogdGhpcy5taW5BZHVsdENvdW50O1xuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3V0aC5jb3VudCA8IG1pbiAmJiB5b3VuZ0FkdWx0LmNvdW50ID09PSAwKSB7XG4gICAgICAgIHBhc3NlbmdlcnMuY291bnQgPSBtaW47XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoICYmIHlvdXRoLmZvcm1Hcm91cCAmJiB5b3V0aC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFhZHVsdCAmJiBwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGNvbnN0IG1pbiA9ICF0aGlzLm1pbkFkdWx0Q291bnQgPyAwIDogdGhpcy5taW5BZHVsdENvdW50O1xuICAgICAgcmV0dXJuIG1pbjtcbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiB5b3VuZ0FkdWx0KSB7XG4gICAgICBpZih5b3VuZ0FkdWx0LmNvdW50ID4gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCAmJiBhZHVsdCkge1xuICAgICAgaWYoYWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9ICBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHNldFRvdGFsQ291bnQoKSB7XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgIGNvbnN0IGNoaWxkID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQpO1xuXG4gICAgbGV0IGFkdWx0Q291bnQgPSAwO1xuICAgIGxldCB5b3V0aENvdW50ID0gMDtcbiAgICBsZXQgeW91bmdBZHVsdENvdW50ID0gMDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IDA7XG5cbiAgICBpZiAoYWR1bHQpIHtcblxuICAgICAgaWYgKCFhZHVsdC5mb3JtR3JvdXAgfHwgIWFkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICBhZHVsdENvdW50ID0gYWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhZHVsdHNDb250cm9sID0gYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghYWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIGFkdWx0Q291bnQgPSBhZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZHVsdENvdW50ID0gYWR1bHRzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh5b3V0aCkge1xuICAgICAgaWYgKCF5b3V0aC5mb3JtR3JvdXAgfHwgIXlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB5b3V0aENvdW50ID0geW91dGguY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB5b3V0aHNDb250cm9sID0geW91dGguZm9ybUdyb3VwLmdldCh5b3V0aC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91dGhzQ29udHJvbCkge1xuICAgICAgICAgIHlvdXRoQ291bnQgPSB5b3V0aC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5b3V0aENvdW50ID0geW91dGhzQ29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh5b3VuZ0FkdWx0KSB7XG4gICAgICBpZiAoIXlvdW5nQWR1bHQuZm9ybUdyb3VwIHx8ICF5b3VuZ0FkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB5b3VuZ0FkdWx0Q291bnQgPSB5b3VuZ0FkdWx0LmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeW91bmdBZHVsdHNDb250cm9sID0geW91bmdBZHVsdC5mb3JtR3JvdXAuZ2V0KHlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIXlvdW5nQWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIHlvdW5nQWR1bHRDb3VudCA9IHlvdW5nQWR1bHQuY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeW91bmdBZHVsdENvdW50ID0geW91bmdBZHVsdHNDb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkKSB7XG4gICAgICBpZiAoIWNoaWxkLmZvcm1Hcm91cCB8fCAhY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZC5jb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkc0NvbnRyb2wgPSBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFjaGlsZHNDb250cm9sKSB7XG4gICAgICAgICAgY2hpbGRDb3VudCA9IGNoaWxkLmNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZHNDb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50b3RhbENvdW50ID0gYWR1bHRDb3VudCArIGNoaWxkQ291bnQgKyB5b3V0aENvdW50ICsgeW91bmdBZHVsdENvdW50O1xuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmcpIHtcbiAgICAgIGNvbnN0IGdyb3VwQm9va2luZ0NvbnRyb2wgPSB0aGlzLm5hc0Zvcm1Hcm91cC5nZXQodGhpcy5uYXNGb3JtQ29udHJvbEdyb3VwQm9va2luZyk7XG5cbiAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSB0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5ncm91cEJvb2tpbmdMaW1pdDtcblxuICAgICAgaWYgKHRoaXMuZ3JvdXBCb29raW5nTGltaXQgPCAxKSB7XG4gICAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwQm9va2luZ0NvbnRyb2wudmFsdWUgIT09IHRoaXMuaXNHcm91cEJvb2tpbmcpIHtcbiAgICAgICAgZ3JvdXBCb29raW5nQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMuaXNHcm91cEJvb2tpbmcpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5ncm91cEJvb2tpbmdMaW1pdCkge1xuICAgICAgdGhpcy5pc0dyb3VwQm9va2luZyA9IHRoaXMudG90YWxDb3VudCA+PSB0aGlzLmdyb3VwQm9va2luZ0xpbWl0O1xuICAgIH1cblxuICB9XG5cbn1cbiIsIjxoMiAqbmdJZj1cInRpdGxlXCJcbiAgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScsIGlzR3JvdXBCb29raW5nICYmICdncm91cC1ib29raW5nJylcIj57e3RpdGxlfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cEJvb2tpbmdcIj46XG4gICAgPGRpdj57e2dyb3VwQm9va2luZ0xhYmVsfX08L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2gyPlxuPHVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdCcpXCI+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYXNzZW5nZXJzOyBpbmRleCBhcyBjb3VudFwiXG4gICAgW25hc0NsYXNzXT1cImdldENsYXNzKCdsaXN0LWl0ZW0nKVwiPlxuICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRMYWJlbChpdGVtLnR5cGUpXCI+e3tnZXRMYWJlbChpdGVtLnR5cGUpfX08L2xhYmVsPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5mb3JtR3JvdXAgfHwgIWl0ZW0uZm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW251bWJlcl09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgW21heF09XCJnZXRNYXgoaXRlbSlcIlxuICAgICAgICBbbWluXT1cImdldE1pbihpdGVtKVwiXG4gICAgICAgIChudW1iZXJDaGFuZ2UpPVwic2V0UGFzc2VuZ2Vyc0NvdW50KGl0ZW0sICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCI+PC9uYXMtbnVtYmVyLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW25hc0Zvcm1Hcm91cF09XCJpdGVtLmZvcm1Hcm91cFwiXG4gICAgICAgIFtuYXNGb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5mb3JtQ29udHJvbE5hbWVcIlxuICAgICAgICBbbnVtYmVyXT1cIml0ZW0uZm9ybUdyb3VwPy5nZXQoaXRlbS5mb3JtQ29udHJvbE5hbWUpPy52YWx1ZVwiXG4gICAgICAgIFttYXhdPVwiZ2V0TWF4KGl0ZW0pXCJcbiAgICAgICAgW21pbl09XCJnZXRNaW4oaXRlbSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCJcbiAgICAgICAgKG51bWJlckNoYW5nZSk9XCJzZXRQYXNzZW5nZXJzQ291bnQoaXRlbSwgJGV2ZW50KVwiPjwvbmFzLW51bWJlci1maWVsZD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuPC91bD4iXX0=
@@ -3497,6 +3497,29 @@ class PassengerSelectComponent extends NasComponentBase {
3497
3497
  }
3498
3498
  }
3499
3499
  }
3500
+ if (passengers.type === PassengerType.YoungAdult || passengers.type === PassengerType.Youth) {
3501
+ const youngAdult = this.passengers.find(x => x.type === PassengerType.YoungAdult);
3502
+ const youth = this.passengers.find(x => x.type === PassengerType.Youth);
3503
+ if (youngAdult && youth) {
3504
+ if (passengers.type === PassengerType.Youth && youth.count > 0) {
3505
+ if (youngAdult.formGroup && youth.formControlName && youngAdult.count !== 0) {
3506
+ youngAdult.formGroup.get(youth.formControlName).patchValue(0);
3507
+ }
3508
+ youngAdult.count = 0;
3509
+ }
3510
+ if (passengers.type === PassengerType.YoungAdult) {
3511
+ youth.count = youngAdult.count > 0 ? 0 : youth.count;
3512
+ if (youth.formGroup && youth.formControlName && youngAdult.formGroup && youngAdult.formControlName) {
3513
+ if (this.minAdultCount && youngAdult.count === 0) {
3514
+ youth.formGroup.get(youth.formControlName).patchValue(this.minAdultCount);
3515
+ }
3516
+ else if (youth.count > 0) {
3517
+ youth.formGroup.get(youth.formControlName).patchValue(0);
3518
+ }
3519
+ }
3520
+ }
3521
+ }
3522
+ }
3500
3523
  this.setTotalCount();
3501
3524
  this.passengersChange.emit(this.passengers);
3502
3525
  }
@@ -3573,6 +3596,16 @@ class PassengerSelectComponent extends NasComponentBase {
3573
3596
  return min;
3574
3597
  }
3575
3598
  }
3599
+ else if (passengers.type === PassengerType.Youth && youngAdult) {
3600
+ const min = !this.minAdultCount ? 0 : this.minAdultCount;
3601
+ if (passengers.type === PassengerType.Youth && youth.count < min && youngAdult.count === 0) {
3602
+ passengers.count = min;
3603
+ return min;
3604
+ }
3605
+ if (passengers.type === PassengerType.Youth && youth.formGroup && youth.formControlName) {
3606
+ return min;
3607
+ }
3608
+ }
3576
3609
  else if (!adult && passengers.type === PassengerType.Youth) {
3577
3610
  const min = !this.minAdultCount ? 0 : this.minAdultCount;
3578
3611
  return min;
@@ -12939,7 +12972,6 @@ class MicroButtonComponent extends NasComponentBase {
12939
12972
  this.exists(this.primary) && 'primary',
12940
12973
  this.exists(this.secondary) && 'secondary',
12941
12974
  this.exists(this.white) && 'white',
12942
- this.exists(this.disabled) && 'disabled',
12943
12975
  this.exists(this.iconLeft) && 'reversed',
12944
12976
  (!this.exists(this.primary) && !this.exists(this.secondary) && !this.exists(this.white)) && 'primary',
12945
12977
  ];
@@ -12954,11 +12986,11 @@ class MicroButtonComponent extends NasComponentBase {
12954
12986
  this.clickChange.emit(event);
12955
12987
  }
12956
12988
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MicroButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12957
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: MicroButtonComponent, selector: "nas-micro-button", inputs: { icon: "icon", iconType: "iconType", href: "href", target: "target", primary: "primary", secondary: "secondary", white: "white", disabled: "disabled", canContinueOnDisabled: "canContinueOnDisabled", iconLeft: "iconLeft", trackingvalue: "trackingvalue", ariaLabel: "ariaLabel", tabindex: "tabindex", type: "type" }, outputs: { clickChange: "clickChange" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [attr.disabled]=\"disabled\" [href]=\"href\" [target]=\"target\"\n [disabled]=\"disabled\" [attr.disabled]=\"disabled\" [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button *ngIf=\"!href\" [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"disabled\" [attr.disabled]=\"disabled\"\n [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\"\n (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12989
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: MicroButtonComponent, selector: "nas-micro-button", inputs: { icon: "icon", iconType: "iconType", href: "href", target: "target", primary: "primary", secondary: "secondary", white: "white", disabled: "disabled", iconLeft: "iconLeft", trackingvalue: "trackingvalue", ariaLabel: "ariaLabel", tabindex: "tabindex", type: "type" }, outputs: { clickChange: "clickChange" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [href]=\"href\" [target]=\"target\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\" (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12958
12990
  }
12959
12991
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MicroButtonComponent, decorators: [{
12960
12992
  type: Component,
12961
- args: [{ selector: 'nas-micro-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [attr.disabled]=\"disabled\" [href]=\"href\" [target]=\"target\"\n [disabled]=\"disabled\" [attr.disabled]=\"disabled\" [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button *ngIf=\"!href\" [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"disabled\" [attr.disabled]=\"disabled\"\n [attr.type]=\"type\" [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\"\n (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"] }]
12993
+ args: [{ selector: 'nas-micro-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"href; else buttonTemplate\" [nasClass]=\"getClass()\">\n <a [nasClass]=\"getClasses('', modifiers)\" [href]=\"href\" [target]=\"target\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </a>\n</div>\n\n<ng-template #buttonTemplate>\n <button #button [nasClass]=\"getClasses('', modifiers)\" [disabled]=\"exists(disabled)\" [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel\" [attr.tabindex]=\"tabindex\" (click)=\"emitTrackingAndClickEvent($event)\">\n <span [nasClass]=\"getClass('content', exists(iconLeft) && 'reverse')\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <span [nasClass]=\"getClass('icon')\" *ngIf=\"icon || iconType\">\n <nas-icon [icon]=\"icon\" [type]=\"iconType\"></nas-icon>\n </span>\n </span>\n </button>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-micro-button{display:flex;width:-webkit-max-content;width:max-content;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;border-bottom:0;height:32px}.nas-micro-button[disabled]{cursor:default;pointer-events:none;color:#6f6f6f}.nas-micro-button--primary{color:#fff;background-color:#15273f}.nas-micro-button--primary:hover,.nas-micro-button--primary:focus{color:#fff;background-color:#0a2033}.nas-micro-button--primary:active{color:#fff;background:#071622}.nas-micro-button--primary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--primary[disabled]{background-color:#e3e3e3}.nas-micro-button--secondary{color:#15273f;background-color:transparent;padding:4px 12px;border:2px solid #15273F}.nas-micro-button--secondary:hover,.nas-micro-button--secondary:focus{color:#0a2033;background-color:transparent}.nas-micro-button--secondary:active{color:#071622;background:transparent}.nas-micro-button--secondary:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button--secondary:hover{border-color:#0a2033}.nas-micro-button--secondary:active{border-color:#071622}.nas-micro-button--secondary[disabled]{border:2px solid #e3e3e3}.nas-micro-button--white{color:#15273f;background-color:#fff}.nas-micro-button--white:hover,.nas-micro-button--white:focus{color:#15273f;background-color:#f9f9f9}.nas-micro-button--white:active{color:#15273f;background:#EBF4FF}.nas-micro-button--white:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-micro-button__content{display:flex;justify-content:center;gap:4px}.nas-micro-button__content--reverse{flex-direction:row-reverse}.nas-micro-button__icon{transform:scale(.75)}.nas-micro-button ::ng-deep .nas-icon-small{margin:-3px 0 0}\n"] }]
12962
12994
  }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
12963
12995
  type: Input
12964
12996
  }], iconType: [{
@@ -12975,8 +13007,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
12975
13007
  type: Input
12976
13008
  }], disabled: [{
12977
13009
  type: Input
12978
- }], canContinueOnDisabled: [{
12979
- type: Input
12980
13010
  }], iconLeft: [{
12981
13011
  type: Input
12982
13012
  }], trackingvalue: [{
@@ -13041,7 +13071,7 @@ class CampaignHeaderComponent extends NasComponentBase {
13041
13071
  return 'var(--primary-base-color)';
13042
13072
  }
13043
13073
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CampaignHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13044
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CampaignHeaderComponent, selector: "nas-campaign-header", inputs: { title: "title", source: "source", description: "description", microButtonModel: "microButtonModel", gradient: "gradient" }, usesInheritance: true, ngImport: i0, template: "<div>\n <div *ngIf=\"microButtonModel\" [nasClass]=\"getClass('micro-button')\">\n <nas-micro-button primary icon=\"left--light\" [model]=\"microButtonModel\"></nas-micro-button>\n </div>\n <header [nasClass]=\"gradient ? getClass('gradient-header') : getClass('header')\"\n [style.--bg-image]=\"getBackgroundImage()\" [style.background-color]=\"getBackgroundColor()\">\n <div [nasClass]=\"getClass('content')\">\n <h1 [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <div [nasClass]=\"getClass('description')\">\n <ng-container *ngIf=\"description; else descriptionContent\">{{description}}</ng-container>\n <ng-template #descriptionContent>\n <ng-content select=\"[description]\"></ng-content>\n </ng-template>\n </div>\n </div>\n </header>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}:host{--primary-base-color: #d81939}.nas-campaign-header{max-width:820px;margin:24px auto 36px}.nas-campaign-header__header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat}@media (min-width: 640px){.nas-campaign-header__header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__gradient-header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;background:linear-gradient(180deg,rgba(0,50,81,0) 0%,rgba(0,50,81,.8) 100%),var(--bg-image, none),lightgray 50%/cover no-repeat}@media (min-width: 640px){.nas-campaign-header__gradient-header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__micro-button{position:absolute;padding:16px}@media (min-width: 640px){.nas-campaign-header__micro-button{padding:32px}}.nas-campaign-header__content{flex-grow:2}.nas-campaign-header__title{font-size:28px;color:#fff;padding:0 16px 8px;margin:unset!important}@media (min-width: 640px){.nas-campaign-header__title{font-size:50px;line-height:56px;padding:0 32px 16px}}.nas-campaign-header__description{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff;font-size:16px;line-height:26px;padding:0 16px 16px}@media (min-width: 640px){.nas-campaign-header__description{padding:0 32px 32px;font-size:18px;line-height:26px}}.nas-campaign-header--small{margin-bottom:24px}.nas-campaign-header--small .nas-campaign-header__title{font-size:24px;line-height:30px}.nas-campaign-header--small .nas-campaign-header__header{height:auto;background-image:none;border-bottom:2px solid #003251}::ng-deep .nas-micro-button--text{border-bottom:none;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: MicroButtonComponent, selector: "nas-micro-button", inputs: ["icon", "iconType", "href", "target", "primary", "secondary", "white", "disabled", "canContinueOnDisabled", "iconLeft", "trackingvalue", "ariaLabel", "tabindex", "type"], outputs: ["clickChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13074
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CampaignHeaderComponent, selector: "nas-campaign-header", inputs: { title: "title", source: "source", description: "description", microButtonModel: "microButtonModel", gradient: "gradient" }, usesInheritance: true, ngImport: i0, template: "<div>\n <div *ngIf=\"microButtonModel\" [nasClass]=\"getClass('micro-button')\">\n <nas-micro-button primary icon=\"left--light\" [model]=\"microButtonModel\"></nas-micro-button>\n </div>\n <header [nasClass]=\"gradient ? getClass('gradient-header') : getClass('header')\"\n [style.--bg-image]=\"getBackgroundImage()\" [style.background-color]=\"getBackgroundColor()\">\n <div [nasClass]=\"getClass('content')\">\n <h1 [nasClass]=\"getClass('title')\">{{ title }}</h1>\n <div [nasClass]=\"getClass('description')\">\n <ng-container *ngIf=\"description; else descriptionContent\">{{description}}</ng-container>\n <ng-template #descriptionContent>\n <ng-content select=\"[description]\"></ng-content>\n </ng-template>\n </div>\n </div>\n </header>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}:host{--primary-base-color: #d81939}.nas-campaign-header{max-width:820px;margin:24px auto 36px}.nas-campaign-header__header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat}@media (min-width: 640px){.nas-campaign-header__header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__gradient-header{display:flex;align-items:flex-end;height:250px;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;background:linear-gradient(180deg,rgba(0,50,81,0) 0%,rgba(0,50,81,.8) 100%),var(--bg-image, none),lightgray 50%/cover no-repeat}@media (min-width: 640px){.nas-campaign-header__gradient-header{padding-left:0;background-size:cover;height:300px}}.nas-campaign-header__micro-button{position:absolute;padding:16px}@media (min-width: 640px){.nas-campaign-header__micro-button{padding:32px}}.nas-campaign-header__content{flex-grow:2}.nas-campaign-header__title{font-size:28px;color:#fff;padding:0 16px 8px;margin:unset!important}@media (min-width: 640px){.nas-campaign-header__title{font-size:50px;line-height:56px;padding:0 32px 16px}}.nas-campaign-header__description{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff;font-size:16px;line-height:26px;padding:0 16px 16px}@media (min-width: 640px){.nas-campaign-header__description{padding:0 32px 32px;font-size:18px;line-height:26px}}.nas-campaign-header--small{margin-bottom:24px}.nas-campaign-header--small .nas-campaign-header__title{font-size:24px;line-height:30px}.nas-campaign-header--small .nas-campaign-header__header{height:auto;background-image:none;border-bottom:2px solid #003251}::ng-deep .nas-micro-button--text{border-bottom:none;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: MicroButtonComponent, selector: "nas-micro-button", inputs: ["icon", "iconType", "href", "target", "primary", "secondary", "white", "disabled", "iconLeft", "trackingvalue", "ariaLabel", "tabindex", "type"], outputs: ["clickChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13045
13075
  }
13046
13076
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CampaignHeaderComponent, decorators: [{
13047
13077
  type: Component,